"""
Put files into the LeoShadow subfolder.
Usage:
1. convert.py <filename> LeoShadow x
This copy file <filename> into the subfolder leoShadow,
adds the prefix, and creates an empty file at the
current location.
After restarting Leo, <filename> will be re-created without
annotations.
2. convert -all LeoShadow x
Apply 'convert.py <filename> LeoShadow x' to all .py files.
Must be run in the directory with the .py files.
x is the prefix specified the for mod_shadow plugin.
"""
import os, sys, shutil
def convert(filename, leoFolder, prefix):
if not os.path.exists(leoFolder):
os.mkdir(leoFolder)
assert os.path.exists(leoFolder)
else:
assert os.path.isdir(leoFolder)
dir, name = os.path.split(filename)
newname = os.path.join(dir, leoFolder, prefix + name)
if os.path.exists(newname):
return
print "Putting", filename, "into the shadow folder", leoFolder
os.rename(filename, newname)
f = open(filename, "w")
f.close()
if __name__ == '__main__':
scriptname, filename, leoFolder, prefix = sys.argv
if filename == '-all':
for filename in os.listdir("."):
rest, extension = os.path.splitext(filename)
if extension == '.py':
if (extension not in ['.leo', '.pyc'] and
not filename.startswith("convert")):
if os.path.isfile(filename):
convert(filename, leoFolder, prefix)
else:
convert(filename, leoFolder, prefix)
|