Skip to content

Instantly share code, notes, and snippets.

@adibenc
Created October 16, 2019 09:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adibenc/633ee50b02a3e072afc78fd51fa5d54d to your computer and use it in GitHub Desktop.
Save adibenc/633ee50b02a3e072afc78fd51fa5d54d to your computer and use it in GitHub Desktop.
sh bookmark generator in py
import string
"""
sort of meta-programming generator
likethis
function dibch(){
echo "
1 /media/c/
2 /media/c/play/
"
read in1
echo in-$in1
if [ $in1 = 1 ];then
cd /media/c/
elif [ $in1 = 2 ];then
cd /media/c/play/
fi
}
"""
def generatebookmark(infile,name="f"):
file1=infile
f=open(file1,'r')
cmds=f.read()
cmds=cmds.split('\n')
# example
cmdlist=""
generated=""
n=1
for i in cmds:
if i=="" or i==" ":
break
cmdlist+="{} {}".format(n,i)
cmdlist+="\n"
if i[0] == "#":
i=i[1:]
if i[0] in string.punctuation:
i="echo 1"
if n==1:
generated+="if [ $in1 = 1 ];then\n\t{}\n".format(i)
else:
generated+="elif [ $in1 = {} ];then\n\t{}\n".format(n,i)
# if n==len(i):
# generated+="fi"
n+=1
generated+="fi"
echo1="echo \"{}\"\n".format(cmdlist)
cmd="""\
read in1
echo in-$in1
{}
""".format(generated)
isi="{} {}".format(echo1,cmd)
function1="""function {}(){{
{}
}}
""".format(name,isi)
functions=function1
call="""{}""".format(name)
out="{}\n{}".format(functions,call)
return out
# pass
a=generatebookmark('auto','f')
print(a)
# s1="%s",('\n')
# print(s1)
#echo choosen - $1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment