#!/usr/bin/env python '''Duplicates files usage: dup file(s) - Duplicates files, creating new files with the names name_copy# Where # is a number from nothing to infinity. If name_copy already exists as a filename, this program will try name_copy2, name_copy3, etc. until it finds a filename that is not already taken.''' import sys,os,header if __name__ == "__main__": if len(sys.argv) == 1: print __doc__ sys.exit() if '-h' in sys.argv or '-help' in sys.argv or '--help' in sys.argv: print __doc__ sys.exit() else: filelist = header.read_cmdline(sys.argv[1:]) for filename in filelist: newfile = filename + '_copy' i = 2 while os.path.exists(newfile): newfile = filename + '_copy%d' %i i = i + 1 os.system("cp -r %s %s" %(filename,newfile))
alldata = header.read_database(RECENTDATA) alldata.reverse() # most recent (last entry) is first if len(sys.argv) == 1 or sys.argv[1] == 'h': if len(alldata) == 0: print "No recent files!" sys.exit() header.print_database(alldata) choice=raw_input("Choose: ") docs = [] if choice != "": filelist = header.read_range(choice.split(),len(alldata)) docs = [alldata[i]['fullpath'] for i in filelist] if len(docs) == 0: # User did not select any recent documents os.system('$GODIR/lf.py') else: mimetypes,docs = find_mimetypes(docs) open_files(mimetypes,docs) else: if sys.argv[1] == '-': # read filenames from a pipe junk = [a.strip() for a in sys.stdin.readlines()] # strip of \n chars docs = header.read_cmdline(junk) else: docs = header.read_cmdline(sys.argv[1:]) mimetypes,docs = find_mimetypes(docs) open_files(mimetypes,docs)
print "No sync locations" sys.exit() if len(sys.argv) == 1: header.print_database(data,shownum=False) sys.exit() flag = sys.argv[1] if flag == 'h': header.print_database(data,shownum=False) sys.exit() elif flag == 'a': # add namelist = [s['name'] for s in data] location = sys.argv[-1] docs = header.read_cmdline(sys.argv[2:-1]) newlist = [] asource = {'name' : '', 'path' : ''} for f in docs: junk,name = os.path.split(f) if name in namelist: print '"%s" already defined. Skipping' %name else: asource['name'] = name asource['path'] = location newlist.append(asource.copy()) header.write_database(newlist,syncFile) elif flag in ('d','u','x'): if len(sys.argv) < 3: docs = list_syncs(data)