mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 03:53:32 +01:00
py-run.mk, python-tools.sh: Re-add files necessary for jw-client-devops-web
jw-client-devops-web needs py-run.mk and python-tools.sh, add them. Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
1a0eb42191
commit
d7d4ffa640
2 changed files with 105 additions and 0 deletions
24
make/py-run.mk
Normal file
24
make/py-run.mk
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
include $(JWBDIR)/make/defs.mk
|
||||||
|
include $(JWBDIR)/make/py-defs.mk
|
||||||
|
#include $(JWBDIR)/make/scripts-targets.mk
|
||||||
|
#include $(JWBDIR)/make/rules.mk
|
||||||
|
|
||||||
|
EXE ?= $(firstword $(wildcard main.py runme.py test.py *.py))
|
||||||
|
EXE_ARGS ?=
|
||||||
|
|
||||||
|
all:
|
||||||
|
install:
|
||||||
|
clean:
|
||||||
|
distclean:
|
||||||
|
test:
|
||||||
|
|
||||||
|
run:
|
||||||
|
$(PYTHON) $(EXE) $(EXE_ARGS)
|
||||||
|
|
||||||
|
run.sh:
|
||||||
|
echo -e "#!/bin/bash\n\nexport PYTHONPATH=$(PYTHONPATH)\nset -x\nexec $(PYTHON) $(EXE)" '"$$@"' > $@.tmp
|
||||||
|
chmod 755 $@.tmp
|
||||||
|
mv $@.tmp $@
|
||||||
|
clean-run-sh:
|
||||||
|
rm -f run.sh
|
||||||
|
clean: clean-run-sh
|
||||||
81
scripts/python-tools.sh
Normal file
81
scripts/python-tools.sh
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
cat <<-EOT
|
||||||
|
|
||||||
|
usage $myname [-e sed-extract-command] [-m module] file.py ...
|
||||||
|
|
||||||
|
EOT
|
||||||
|
[ "$1" ] && exit $1
|
||||||
|
}
|
||||||
|
|
||||||
|
module_path()
|
||||||
|
{
|
||||||
|
if [ "$module" ]; then
|
||||||
|
echo $module.$1
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
echo $1
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd_create_init()
|
||||||
|
{
|
||||||
|
local import_submodules=0
|
||||||
|
local e f files base extracted module_path
|
||||||
|
local del="-------------------------- generated by $myname"
|
||||||
|
echo "# >> $del >>"
|
||||||
|
echo "from pkgutil import extend_path"
|
||||||
|
echo "from typing import Iterable"
|
||||||
|
echo "__path__ = extend_path(__path__, __name__) # type: ignore" # was "type Iterable[str]"
|
||||||
|
files="$*"
|
||||||
|
for f in $files; do
|
||||||
|
test -d $f && continue
|
||||||
|
base=${f##*/}
|
||||||
|
base=${base%.py}
|
||||||
|
if [ "$sed_extract_command" ]; then
|
||||||
|
#echo running $sed_extract_command on $f
|
||||||
|
extracted=`sed "$sed_extract_command" $f`
|
||||||
|
#extracted="$sed_extract_command"
|
||||||
|
for e in $extracted; do
|
||||||
|
echo "from `module_path $base` import $e"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [ "$import_submodules" = 1 ]; then
|
||||||
|
for f in $files; do
|
||||||
|
[ -f $f/__init__.py ] && echo "import `module_path $f` as $f"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
echo "# << $del <<"
|
||||||
|
}
|
||||||
|
|
||||||
|
# --------------------- here we go
|
||||||
|
|
||||||
|
myname=`basename $0`
|
||||||
|
|
||||||
|
eval set -- `getopt -o 'he:m:' "$@"`
|
||||||
|
while [ "$1" != -- ]; do
|
||||||
|
case $1 in
|
||||||
|
-e)
|
||||||
|
sed_extract_command="$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-m)
|
||||||
|
module=$2
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-h)
|
||||||
|
usage 0;;
|
||||||
|
*)
|
||||||
|
echo unknown argument $1
|
||||||
|
usage 1;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
|
||||||
|
cmd=cmd_${1//-/_}
|
||||||
|
shift
|
||||||
|
|
||||||
|
eval $cmd $*
|
||||||
Loading…
Add table
Add a link
Reference in a new issue