Mercurial > ec-dotfiles
annotate bin/dumpshot @ 243:3167e31f8f01
[tcsh] Sanity tester.
| author | Edho Arief <edho@myconan.net> | 
|---|---|
| date | Thu, 03 Nov 2011 15:55:44 +0700 | 
| 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]) | 
