7 EDITOR = os.environ.get('EDITOR', 'vim')
10 return md5.new(file(filename,'r').read()).hexdigest()
18 if os.path.exists('DIAGMODE') : mode = "diag"
19 if os.path.exists('PRODMODE'): mode = "prod"
20 if os.path.exists('.hg'):
26 print "Unable to determine DIAGMODE or PRODMODE. Please touch appropriate file in run-dir"
30 files = os.listdir('.')
35 for i in range(1,len(files) + 1):
38 if f.endswith(".sql"):
42 if sys.argv[1] in ["current","c"]:
44 if len(lastfile) == 0:
48 elif sys.argv[1] in ["next","n"]:
50 if len(sys.argv) == 3:
53 print "I need description as third argument"
58 first = lastfile[:lastfile.find("_")]
62 number = int(first[:-1])
66 editfile = "%05u_%s.sql" % (number,input)
68 editfile = sys.argv[1].strip()
69 if not (os.path.exists(editfile) and os.path.isfile(editfile) ):
73 if editfile.find("_") == -1:
74 print "Malformed filename"
77 first = editfile[:editfile.find("_")]
82 number = int(first[:-1])
90 if len(editfile) ==0: sys.exit(0)
92 before_md5 = md5file(editfile)
93 exitcode = os.system('%s %s' % (EDITOR, editfile))
94 after_md5 = md5file(editfile)
96 if (after_md5 != "" and before_md5 != after_md5):
98 os.system("rundb %s" % (number,))
100 os.system("rundb %s" % (editfile,))
103 os.system("hg add " + editfile)
104 print "Run mercurial ? (Yes [A]uto, Yes [M]anual, No)"
106 while c not in ['a','m','n']:
107 c = sys.stdin.read(1).lower()
111 os.system("hg ci -m `date +auto%Y%m%d%H%M%S`")