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