Advertisement
Guest User

Untitled

a guest
Nov 20th, 2014
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. '''
  2. Skrip sehari2....
  3. Mls rename manual, biar rapi dan lebih cepat...
  4. Skrip ini akan merename semua file gambar (recursive) dalam folder Images
  5. nama file akan sesuai dengan nama folder dimana file berada.
  6.  
  7. mis. Images/Fotoku/gambar.jpg
  8. jadinya
  9. Images/Fotoku/
  10.  - Fotoku (01).jpg
  11.  - Fotoku (02).jpg
  12.  - Fotoku (03).jpg
  13.  - Fotoku (04).jpg
  14.  dst
  15. '''
  16.  
  17. import os, e32
  18. ur=lambda x:x.encode('utf-8')
  19.  
  20. class Renamer:
  21.  IMGEXT=['.jpg', '.jpeg', '.png',
  22. '.gif', '.bmp']           # ekstensi gambar
  23.  DIR='E:\\Images'     # folder
  24.  SKIP=['_palbtn']     # folder yg tidak diproses / skip (default)
  25.  
  26.  def __init__(self,skip_dir=[]):
  27.   if len(skip_dir) > 0:
  28.    self.SKIPPED=self.SKIP + skip_dir
  29.  
  30.  def ren(self,arg,dname,names):
  31.   n=1 # counter mulai dari 01 dst
  32.   for i in os.listdir(dname):
  33.    fp=os.path.join(dname,i)
  34.    ext = os.path.splitext(fp)[1].lower() # ekstensi file
  35.  
  36.    fd = os.path.split(os.path.dirname(fp))[1].strip() # nama folder
  37.  
  38.    if os.path.isfile(fp) and ext in self.IMGEXT:
  39.     ext=ext.replace('.jpeg','.jpg')
  40.     X=[i.lower() for i in self.SKIPPED]
  41.     if fd.lower() not in X:
  42.  
  43.      # nama baru
  44.      new_name=os.path.join(dname, '%s%s (%02d)%s' % (arg,fd,n,ext))
  45.      try:
  46.       os.rename(fp,new_name)
  47.       if not arg:
  48.        #print 'Rename..', os.path.basename(new_name)
  49.       n+=1
  50.      except Exception, err:
  51.       #print err
  52.       pass
  53.      e32.ao_sleep(1E-04)
  54.  
  55.  def run(self):
  56.   ''' 2x proses rename disini, pertama adalah untuk menyamakan semua namanya (ke nama sementara) baru kemudian direname secara urut. '''
  57.  
  58.   self.DIR=ur(self.DIR)
  59.   print 'Renaming....'
  60.   os.path.walk(self.DIR,self.ren,'IMG_') # sementara
  61.  
  62.   os.path.walk(self.DIR,self.ren,'') # final
  63.  
  64.  
  65. if __name__=='__main__':
  66.  import time
  67.  skip=['Images','Jepret'] # rename semua sub/direktori selain ini (sesuaikan sendiri)
  68.  try:
  69.   start=time.time()
  70.   ap=Renamer(skip)
  71.   ap.run()
  72.   print
  73.   print 'Selesai!'
  74.   print 'Waktu: (%.2f sec.)' %(time.time() - start)
  75.  except Exception,err:
  76.   print err
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement