NCCOOS Trac Projects: Top | Web | Platforms | Processing | Viz | Sprints | Sandbox | (Wind)

root/pyglider/trunk/pyglider/dbdcopy.py

Revision 487 (checked in by haines, 12 years ago)


  • Property svn:executable set to
Line 
1 """Copy latest glider bindary data (bd) files received in specific glider from-glider directory to localuser realtime directory.
2
3
4    Usage: python sbdcopy.py glidername filetype
5
6       input path
7          /var/opt/gmc/gliders/{glider}/from-glider/*.{filetype}
8       output path
9          /home/localuser/realtime/{glider}/{filetype}/*.{filetype}
10         
11    Inputs:
12      glidername [ramses | pelagia]
13      filetype [sbd | tbd | dbd | ...]
14
15    Example usage:   python dbdcopy.py ramses sbd
16          /var/opt/gmc/gliders/ramses/sbd/*.sbd
17          all new *.sbd will be copied to:
18          /home/localuser/realtime/ramses/sbd/*.sbd
19       
20 """
21
22 import sys
23 import os
24 import glob
25 import shutil
26 import errno
27
28 if __name__ == "__main__":
29     try:
30         glider = sys.argv[1]
31         filetype = sys.argv[2]
32
33         gmc_dir = "/var/opt/gmc/gliders"
34         local_dir = "/home/localuser/realtime"
35
36         # from-glider (fg)
37         fg_dir = os.path.join(gmc_dir, glider,"from-glider")
38         fg_files= glob.glob1(fg_dir, "*." + filetype)
39         # localuser
40         bd_dir = os.path.join(local_dir, glider, filetype)
41         bd_files = glob.glob1(bd_dir, "*." + filetype)
42  
43         s = set(fg_files) - set(bd_files)
44         files = list(s)
45         files.sort()
46         if files:
47             for f in files:
48                 infile = os.path.join(fg_dir, f)
49                 outfile = os.path.join(bd_dir, f)
50                 rc = shutil.copy2(infile, outfile) # copy file and file stat
51                 if rc:
52                     raise IOError("shutil.copy2 return code: " + str(rc))
53                 else:
54                     print " ... Copied ", infile
55         else:
56             print "Nothing to copy"
57            
58     except:
59         print __doc__
Note: See TracBrowser for help on using the browser.