Index: pyglider/trunk/pyglider/dbdcopy.py =================================================================== --- (revision ) +++ pyglider/trunk/pyglider/dbdcopy.py (revision 475) @@ -1,0 +1,59 @@ +"""Copy latest glider bindary data (bd) files received in specific glider from-glider directory to localuser realtime directory. + + + Usage: python sbdcopy.py glidername filetype + + input path + /var/opt/gmc/gliders/{glider}/from-glider/*.{filetype} + output path + /home/localuser/realtime/{glider}/{filetype}/*.{filetype} + + Inputs: + glidername [ramses | pelagia] + filetype [sbd | tbd | dbd | ...] + + Example usage: python dbdcopy.py ramses sbd + /var/opt/gmc/gliders/ramses/sbd/*.sbd + all new *.sbd will be copied to: + /home/localuser/realtime/ramses/sbd/*.sbd + +""" + +import sys +import os +import glob +import shutil +import errno + +if __name__ == "__main__": + try: + glider = sys.argv[1] + filetype = sys.argv[2] + + gmc_dir = "/var/opt/gmc/gliders" + local_dir = "/home/localuser/realtime" + + # from-glider (fg) + fg_dir = os.path.join(gmc_dir, glider,"from-glider") + fg_files= glob.glob1(fg_dir, "*." + filetype) + # localuser + bd_dir = os.path.join(local_dir, glider, filetype) + bd_files = glob.glob1(bd_dir, "*." + filetype) + + s = set(fg_files) - set(bd_files) + files = list(s) + files.sort() + if files: + for f in files: + infile = os.path.join(fg_dir, f) + outfile = os.path.join(bd_dir, f) + rc = shutil.copyfile(infile, outfile) + if rc: + raise IOError("shutil.copyfile return code: " + str(rc)) + else: + print " ... Copied ", infile + else: + print "Nothing to copy" + + except: + print __doc__