Changeset 3541
- Timestamp:
- 04/22/08 10:20:45 (7 months ago)
- Files:
-
- reschedulescript/0.11/reschedule.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
reschedulescript/0.11/reschedule.py
r2827 r3541 28 28 parser.add_option("-c", "--commit", default=False, action='store_true', 29 29 help="commit changes to table") 30 parser.add_option("-C", "--comment", default=False, action='store_true', 31 help="include 'Rescheduled from YYYY/MM/DD to YYYY/MM/DD' comments") 32 parser.add_option("-v", "--verbose", default=False, action='store_true', 33 help="show SQL") 30 34 31 35 return parser … … 53 57 conn = dbmod.connect(dsn=connectString) 54 58 curs = conn.cursor() 55 fDue, fName, fNew = range(3) # names of fields, fNew to be derived later 56 curs.execute('select due, name from %smilestone order by due' % opt.schema) 59 60 fDue, fName, fComp, fNew = range(4) 61 # names of fields, fNew to be derived later 62 63 curs.execute('select due, name, completed from %smilestone order by due' 64 % opt.schema) 57 65 res = [list(i) for i in curs.fetchall()] 58 66 … … 68 76 setattr(opt, o, ts(time.strptime(getattr(opt, o), fmt))) 69 77 78 comp = [] 70 79 for i in res: 71 i.append( float(i[fDue]-opt.old) / (res[-1][fDue]-opt.old) * 72 (opt.end - opt.start) + opt.start); 73 print '%s -> %s: %s' % (ds(i[fDue]), ds(i[fNew]), i[fName]) 80 if i[fComp]: 81 comp.append('%s due %s, completed %s' 82 % (i[fName],ds(i[fDue]),ds(i[fComp]))) 83 else: 84 i.append( float(i[fDue]-opt.old) / (res[-1][fDue]-opt.old) * 85 (opt.end - opt.start) + opt.start); 86 print '%s -> %s: %s' % (ds(i[fDue]), ds(i[fNew]), i[fName]) 74 87 75 if opt.commit:76 88 q = ( "update %smilestone set due = %d where name='%s'" 77 89 % (opt.schema, int(i[fNew]), i[fName])) 78 curs.execute(q) 90 if opt.verbose: print q 91 if opt.commit: 92 curs.execute(q) 93 if opt.comment: 94 q = ( "update %smilestone set description = description || " 95 "'\\n\\nRescheduled from %s to %s' where name='%s'" 96 % (opt.schema, ds(i[fDue]), ds(i[fNew]), i[fName])) 97 if opt.verbose: print q 98 if opt.commit: 99 curs.execute(q) 79 100 80 101 if opt.commit: 81 102 conn.commit() 82 103 104 if comp: 105 print ('Completed milestones unchanged:\n%s' 106 % '\n'.join([' '+i for i in comp])) 107 83 108 if __name__ == '__main__': 84 109
