3
"""Cross-platform os tools: files/directories manipulations
9
ostools.py copytodir FILES... DIR
10
copy files to specified directory
12
ostools.py copytree FILES... DIR
13
copy files to specified directory keeping relative paths
15
ostools.py remove [FILES...] [DIRS...]
16
remove files or directories (recursive)
25
if not os.path.exists(dirname):
27
if not os.path.isdir(dirname):
28
print "Error: Destination is not a directory", dirname
45
if cmd == 'copytodir':
47
print "Usage: ostools.py copytodir FILES... DIR"
50
retcode = makedir(argv.pop())
55
for possible_glob in argv:
56
files += glob.glob(possible_glob)
59
dest = os.path.join(todir, os.path.basename(src))
60
shutil.copy(src, dest)
61
print "Copied:", src, "=>", dest
67
print "Usage: ostools.py copytree FILES... DIR"
70
retcode = makedir(argv.pop())
75
for possible_glob in argv:
76
files += glob.glob(possible_glob)
80
dest = os.path.join(todir, relative_path)
81
dest_dir = os.path.dirname(dest)
82
retcode = makedir(dest_dir)
85
shutil.copy(src, dest)
86
print "Copied:", src, "=>", dest
92
print "Usage: ostools.py remove [FILES...] [DIRS...]"
96
for possible_glob in argv:
97
filesdirs += glob.glob(possible_glob)
103
elif os.path.isfile(i):
107
print "Not found:", i
111
if cmd == "basename":
113
print "Usage: ostools.py basename [PATH | URL]"
117
print os.path.basename(path)
122
print "Usage: ostools.py makedir DIR"
125
retcode = makedir(argv.pop())
135
if __name__ == "__main__":