untar.py
Go to the documentation of this file.
00001 #!/usr/bin/env python
00002 
00003 import sys, os, time
00004 
00005 
00006 def untar(path=None):
00007     basename_list = []
00008     if path == None:
00009         path = '.'
00010     list = os.listdir(path)
00011     for i in list:
00012         basename_list.append(FileNames(i, i.split('.')[0]))
00013     for j in basename_list:
00014         command = 'mkdir ' + j.bn + '; cd ' + j.bn + '; tar xvvf ../' + j.fn + '; cd ..'
00015         print command;
00016         os.system(command)
00017         
00018 def tar(path=None, keys = []):
00019     pcdlist = []
00020     if path == None:
00021         path = '.'
00022     list = os.listdir(path)
00023     for file in list:
00024         append = True
00025         for k in keys:
00026             if file.find(k) == -1:
00027                 append = False
00028                 break;
00029         if append == True:
00030             pcdlist.append(file)
00031     objects_list = []
00032     for file in pcdlist:
00033         if file.split('_')[0] not in objects_list:
00034             objects_list.append(file.split('_')[0])
00035     print 'objects_list: ', objects_list, '\n'
00036     tar_str = ''
00037     for obj in objects_list:
00038         for file in pcdlist:
00039             if file.find(obj) != -1:
00040                 tar_str += ' ' + file
00041         if 'delimited'in keys and not 'denoised' in keys and not 'rotated' in keys :
00042             command = 'tar cjf ' + obj +  '.delimited.pcd.tar.bz2' + tar_str
00043         elif  'delimited' in keys and 'denoised' in keys and not 'rotated' in keys:
00044             command = 'tar cjf ' + obj +  '.delimited.denoised.pcd.tar.bz2' + tar_str
00045         elif 'delimited' in keys and 'denoised' in keys and 'rotated' in keys:
00046             command = 'tar cjf ' + obj +  '.delimited.denoised.rotated.pcd.tar.bz2' + tar_str
00047         elif 'pcd' in keys:
00048             command = 'tar cjf ' + obj +  '.pcd.tar.bz2' + tar_str
00049         elif 'png' in keys:
00050             command = 'tar cjf ' + obj +  '.png.tar.bz2' + tar_str
00051         elif 'delimited'in keys and 'rotated' in keys :
00052             command = 'tar cjf ' + obj +  '.delimited.rotated.pcd.tar.bz2' + tar_str
00053         else:
00054             print "Unknown arguments!!"
00055             quit(0)
00056         os.system(command)
00057         tar_str = ''
00058         print 'obj: ', obj, 'command: ', command, '\n'
00059 
00060 def rename_to_fixed_prec(path=None):
00061     pcdlist = []
00062     if path == None:
00063         path = '.'
00064     list = os.listdir(path)
00065     for file in list:
00066         nr_old = file.split('_')[1]
00067         nr_new = '%04.d' %int(nr_old)
00068         file_renamed=file.replace(nr_old, nr_new)
00069         command = 'mv ' + file + ' ' + file_renamed
00070         print "moving: ", command, "\n"
00071         os.system(command)
00072 
00073 def find_missing (key, path=None):
00074     angles = ['-180', '0180', '-150', '0150', '-120', '0120',  '-090', '0090', '-060', '0060', '-030', '0030', '0000']
00075     s_a = set(angles)
00076     if path == None:
00077         path = '.'
00078     dir_list = os.listdir(path)
00079     f=open('missing.log', 'a+')
00080     print 'dir list', dir_list
00081     for dir in dir_list:
00082         file_list = os.listdir(dir)
00083         angle_list = []
00084         for file in file_list:
00085             if file.find(key) != -1:
00086                 #print "file", file
00087                 angle_list.append (str(file.split('_')[1]))
00088                 #print 'angle', angle
00089         if s_a.difference(set(angle_list)).__len__() != 0:
00090            # print s_a, 'del\n', set(angle_list)
00091            # print 'diff', s_a.difference(set(angle_list))
00092             f.write(file.split('_')[0] + ' ')
00093             f.write(str(s_a.difference(set(angle_list))) + '\n')
00094     f.close()
00095 
00096 header = """<tr> \n <th>Object</th> \n <th>Img</th> \n <th>PCD-Delimited</th>
00097 <th>PCD-Rotated</th> \n <th>PCD-Full</th> \n <th>Raw</th> \n <th>Img-ROI</th> \n </tr> \n"""
00098 
00099 def create_html(prefix, suffix, file, path=None):
00100     f = open(file, 'w')
00101     if path == None:
00102         path = '.'
00103     list = os.listdir(path)
00104     list.sort()
00105     f.write('<table border="1">\n')
00106     f.write(header)
00107     for file in list:
00108         if file[-3:] == suffix:
00109             name = file.split('.')[0]
00110             f.write('<tr>\n')
00111             f.write('\t<td>' + name + '</td>\n')
00112             f.write('\t<td><img src=' + prefix + '/thumbs/' + name + '.png/></td>\n')
00113             f.write('\t<td><a href="' + prefix + '/pcds-delimited/' + name + '.delimited.pcd.tar.bz2">' + 'download</a></td>\n')
00114             f.write('\t<td><a href="' + prefix + '/pcds-rotated/' + name + '.delimited.rotated.pcd.tar.bz2">' + 'download</a></td>\n')
00115             f.write('\t<td><a href="' + prefix + '/pcds-full/' + name + '.pcd.tar.bz2">' + 'download</a></td>\n')
00116             f.write('\t<td><a href="' + prefix + '/raw/' + name + '.tar.bz2">' + 'download</a></td>\n')
00117             f.write('\t<td><a href="' + prefix + '/images-roi/' + name + '.png.tar.bz2">' + 'download</a></td>\n')
00118             f.write('</tr>\n')
00119     f.write('</table>')
00120     f.close
00121     
00122 class FileNames:
00123     def __init__(self, fullname, basename):
00124         self.fn = fullname
00125         self.bn = basename
00126 
00127 
00128 if __name__ == "__main__":
00129     if sys.argv[1] == '0':
00130         untar()
00131     elif  sys.argv[1] == 'r':
00132         rename_to_fixed_prec()
00133     elif  sys.argv[1] == 'f':
00134         find_missing(sys.argv[2], None)
00135     elif  sys.argv[1] == 'html':
00136         create_html(sys.argv[2], sys.argv[3], sys.argv[4])
00137     else:
00138         keys = sys.argv[1:]
00139         tar(None, keys)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Friends Defines


player_log_actarray
Author(s): Radu Bogdan Rusu
autogenerated on Thu May 23 2013 18:58:38