Advertisement
Guest User

Untitled

a guest
Dec 6th, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. #!/usr/bin/env python
  2. from os import path
  3. from shutil import copyfile
  4. import os
  5. import sys
  6. import csv
  7.  
  8. NAMECOLUMN = 4
  9.  
  10. def unpack(srcdir, dstdir):
  11. files = {};
  12. for filename in os.listdir(srcdir):
  13. if not path.isfile(path.join(srcdir, filename)): continue
  14. base, ext = filename.split('.')
  15. if base.find('-'):
  16. start, end = base.split('-')
  17. for i in range(int(start), int(end)+1):
  18. name = i+'.'+ext
  19. files[i] = name
  20. else:
  21. files[int(base)] = filename
  22. for i, v in files.iteritems():
  23. copyfile(path.join(srcdir, v), path.join(dstdir, v))
  24. return files
  25.  
  26. def rename(src, files, srcdir, dstdir):
  27. missing = []
  28. with open(src, 'rb') as cvsfile:
  29. cvsreader = cvs.reader(cvsfile, delimeter=' ');
  30. num = 1
  31. for row in cvsreader:
  32. if not num in files:
  33. missing.append(num)
  34. continue
  35. base, ext = files[num].split('.')
  36. src = path.join(srcdir, files[num])
  37. dst = path.join(dstdir, row[NAMECOLUMN]+'.'+ext)
  38. copyfile(src, dst)
  39. return missing
  40.  
  41. def main():
  42. cvsfile = sys.argv[1]
  43. dirname = sys.argv[2] if len(sys.argv)>2 or os.getcwd()
  44. udir = path.join(srcdir, 'unpacked')
  45. rdir = path.join(srcdir, 'renamed')
  46. files = unpack(dirname, udir)
  47. missing = rename(cvsfile, files, udir, rdir)
  48. if len(missing):
  49. print 'Missing: '+missing
  50.  
  51. if __name__ == "__main__":
  52. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement