initial commit
[public/postgresql-toys.git] / renumber.py
1 # Copyright 2012 Svenne Krap
2 #
3 # this script renumbers files in the format nnnn_XXXXXXX.sql ,
4 # where nnnn is a series of digits (0-9) and XXXX is any string
5 #
6 # first parameter is the first number to renumber
7 # second paramter is the amount to renumber it (negatives work too)
8 # third parameter decides between dry-run (0) and actual doing work (1)
9 #
10 # License: ASL 2.0
11
12 import os
13 import sys
14 if len(sys.argv) < 4: 
15         print "Renumber.py, Svenne Krap 2012"
16         print
17         print "renumber.py <first-renumber> <rename-offset> <do-actual-work>"
18         sys.exit()
19
20 renumber_from = int(sys.argv[1])
21 renumber_amount = int(sys.argv[2])
22 doit = int(sys.argv[3])
23
24
25 files = os.listdir('.')
26 files.sort()
27 if renumber_amount > 0: files.reverse()
28
29 for file in files:
30         if not file.endswith(".sql"): continue
31         if file.find("_") == -1: continue
32         numstr = file.split("_")[0]
33         digits = len(numstr)
34         numint = int(numstr)
35         if numint < renumber_from: continue 
36         newname = file.replace(numstr + "_", (("%0" + str(digits) + "i") % (numint + renumber_amount)) + "_" )
37         if doit == 1:
38                 os.rename(file,newname)
39         else:
40                 print file, "=>",  newname