#! /usr/bin/python2 def day_smeidb_mv_cam ( doy_dir, cam, frms ): if len(frms) > 0: cam_dir = os.path.join( doy_dir, cam ) if not os.path.exists( cam_dir): print 'make', cam_dir os.mkdir( cam_dir ) for frm in frms: new_frm = os.path.join( cam_dir, (os.path.split(frm))[1] ) os.rename( frm, new_frm ) return import sys, string, os import argv_split args = argv_split.args( sys.argv ) narg = len(args) if len(args) == 1: top = '/sea2/db' else: top = args[1] doys = os.listdir(top) doys.sort() for doy in doys: # Loop over all yr-doy combinations doy_dir = os.path.join( top, doy) if string.find(doy,'200') == -1: # Skips the 'lost+found' directory print 'skip', doy_dir continue print doy_dir tods = os.listdir( doy_dir ) tods.sort() if len(tods) == 0: # Should never happen print 'illegal empty subdir', doy_dir sys.exit() frm_c1 = [] frm_c2 = [] frm_c3 = [] for tod in tods: # Loop over all time of days 00,04,08,12,16,20 # List of frames in each of the 4-hour subdirectories tod_dir = os.path.join( doy_dir, tod ) frms = os.listdir( tod_dir ) frms.sort() if len(frms) == 0: # Should never happen print 'illegal empty subdir', tod_dir sys.exit() for frm in frms: full_frm = os.path.join( tod_dir, frm ) # Collect frames for each camera separately if string.find(frm,'c1') == 0: frm_c1.append(full_frm) elif string.find(frm,'c2') == 0: frm_c2.append(full_frm) elif string.find(frm,'c3') == 0: frm_c3.append(full_frm) else: print 'bad frame:', full_frm sys.exit() day_smeidb_mv_cam( doy_dir, 'c1', frm_c1 ) day_smeidb_mv_cam( doy_dir, 'c2', frm_c2 ) day_smeidb_mv_cam( doy_dir, 'c3', frm_c3 ) for tod in tods: tod_dir = os.path.join( doy_dir, tod ) if os.path.exists( tod_dir): if len( os.listdir( tod_dir ) ) == 0: print 'remove', tod_dir os.rmdir( tod_dir ) else: print 'subdir not yet empty:', tod_dir sys.exit() sys.exit()