Mercurial > ec-dotfiles
annotate bin/dumpshot @ 453:c3bfb45757e9
FreeBSD grep is GNU grep. Well, up to 9.x.
author | Edho Arief <edho@myconan.net> |
---|---|
date | Fri, 15 Feb 2013 18:18:18 +0900 |
parents | 06ab5f0f9c28 |
children |
rev | line source |
---|---|
100
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
2 |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
3 import sys, os, re |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
4 |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
5 def is_shotfile(inpath): |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
6 finpath = os.path.basename(inpath) |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
7 return (finpath[-4:] == ".png") and (finpath[:4] == "shot") |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
8 |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
9 def main(source_files, targetdir): |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
10 max_shot=0 |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
11 try: |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
12 current_files=os.listdir(targetdir) |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
13 for current_file in current_files: |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
14 if is_shotfile(current_file): |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
15 file_shot = int(re.findall("\d+", current_file)[0]) |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
16 if file_shot > max_shot: |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
17 max_shot = file_shot |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
18 for source_file in source_files: |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
19 if is_shotfile(source_file): |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
20 max_shot += 1 |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
21 target_file = os.path.join(targetdir, "shot%04d.png" % max_shot) |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
22 print "Moving: %s => %s" % (source_file, target_file) |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
23 os.rename(source_file, target_file) |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
24 except: |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
25 print "(%s: %s)" % (sys.exc_type, sys.exc_value) |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
26 |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
27 if __name__ == "__main__": |
06ab5f0f9c28
dumpshot: mindlessly dumps shot*.png files produced by mplayer.
Edho Prima Arief <edho@myconan.net>
parents:
diff
changeset
|
28 main(sys.argv[2:], sys.argv[1]) |