#!/usr/bin/python2 # bundleedit.py # by Mike Ash # http://www.mikeash.com # Free for all uses, please give attribution if you distribute modifications. import os import sys import tempfile mvpath = '/bin/mv' openpath = '/usr/bin/open' versionControlDir = '.svn' def printUsage(name): print >> sys.stderr, "usage: %s file.rtfd [file2.rtfd ...]" % name def main(args): procname = os.path.split(args[0])[1] if len(args) <= 1: printUsage(procname) return 1 tmpDir = tempfile.mkdtemp(prefix='rogueamoeba_bundleedit_') success = True for arg in args[1:]: svnOrig = os.path.join(arg, versionControlDir) svnNew = os.path.join(tmpDir, versionControlDir) if not os.path.exists( svnOrig ): print >> sys.stderr, "%s: %s does not contain a %s directory" % (procname, arg, versionControlDir) return 1 code = os.spawnl(os.P_WAIT, mvpath, mvpath, svnOrig, svnNew) if code != 0: print >> sys.stderr, "%s exited with code %d" % (mvpath, code) success = False break code = os.spawnl(os.P_WAIT, openpath, openpath, '-W', '-n', arg) if code != 0: print >> sys.stderr, "%s exited with code %d" % (openpath, code) success = False code = os.spawnl(os.P_WAIT, mvpath, mvpath, svnNew, svnOrig) if code != 0: print >> sys.stderr, "%s exited with code %d" % (mvpath, code) success = False if not success: break os.rmdir(tmpDir) return 0 if __name__ == '__main__': sys.exit(main(sys.argv))