##// END OF EJS Templates
Add localtime to HDFWriter
Juan C. Espinoza -
r1536:9fdd3d044144
parent child
Show More
@@ -1,3 +1,4
1 from email.utils import localtime
1 import os
2 import os
2 import time
3 import time
3 import datetime
4 import datetime
@@ -376,7 +377,7 class HDFWriter(Operation):
376 for key, value in kwargs.items():
377 for key, value in kwargs.items():
377 setattr(obj, key, value)
378 setattr(obj, key, value)
378
379
379 def setup(self, path=None, blocksPerFile=10, metadataList=None, dataList=None, setType=None, description=None,type_data=None,**kwargs):
380 def setup(self, path=None, blocksPerFile=10, metadataList=None, dataList=None, setType=None, description=None,type_data=None, localtime=True, **kwargs):
380 self.path = path
381 self.path = path
381 self.blocksPerFile = blocksPerFile
382 self.blocksPerFile = blocksPerFile
382 self.metadataList = metadataList
383 self.metadataList = metadataList
@@ -396,6 +397,10 class HDFWriter(Operation):
396 'R' : 7,
397 'R' : 7,
397 }
398 }
398
399
400 if localtime:
401 self.getDateTime = datetime.datetime.fromtimestamp
402 else:
403 self.getDateTime = datetime.datetime.utcfromtimestamp
399
404
400 self.description = description
405 self.description = description
401 self.type_data=type_data
406 self.type_data=type_data
@@ -403,7 +408,6 class HDFWriter(Operation):
403 if self.metadataList is None:
408 if self.metadataList is None:
404 self.metadataList = self.dataOut.metadata_list
409 self.metadataList = self.dataOut.metadata_list
405
410
406 tableList = []
407 dsList = []
411 dsList = []
408
412
409 for i in range(len(self.dataList)):
413 for i in range(len(self.dataList)):
@@ -433,8 +437,9 class HDFWriter(Operation):
433
437
434 def timeFlag(self):
438 def timeFlag(self):
435 currentTime = self.dataOut.utctime
439 currentTime = self.dataOut.utctime
436 timeTuple = time.localtime(currentTime)
440 dt = self.getDateTime(currentTime)
437 dataDay = timeTuple.tm_yday
441
442 dataDay = int(dt.strftime('%j'))
438
443
439 if self.lastTime is None:
444 if self.lastTime is None:
440 self.lastTime = currentTime
445 self.lastTime = currentTime
@@ -456,7 +461,7 class HDFWriter(Operation):
456
461
457 def run(self, dataOut, path, blocksPerFile=10, metadataList=None,
462 def run(self, dataOut, path, blocksPerFile=10, metadataList=None,
458 dataList=[], setType=None, description={}, mode= None,
463 dataList=[], setType=None, description={}, mode= None,
459 type_data=None, Reset = False,**kwargs):
464 type_data=None, Reset = False, localtime=True, **kwargs):
460
465
461 if Reset:
466 if Reset:
462 self.isConfig = False
467 self.isConfig = False
@@ -470,7 +475,8 class HDFWriter(Operation):
470 if not(self.isConfig):
475 if not(self.isConfig):
471 self.setup(path=path, blocksPerFile=blocksPerFile,
476 self.setup(path=path, blocksPerFile=blocksPerFile,
472 metadataList=metadataList, dataList=dataList,
477 metadataList=metadataList, dataList=dataList,
473 setType=setType, description=description,type_data=type_data,**kwargs)
478 setType=setType, description=description,type_data=type_data,
479 localtime=localtime, **kwargs)
474
480
475 self.isConfig = True
481 self.isConfig = True
476 self.setNextFile()
482 self.setNextFile()
@@ -483,18 +489,13 class HDFWriter(Operation):
483 ext = self.ext
489 ext = self.ext
484 path = self.path
490 path = self.path
485 setFile = self.setFile
491 setFile = self.setFile
486 type_data = self.type_data
487
492
488 timeTuple = time.localtime(self.dataOut.utctime)
493 dt = self.getDateTime(self.dataOut.utctime)
489
494
490 if self.setType == 'weather':
495 if self.setType == 'weather':
491 subfolder = '%4.4d-%2.2d-%2.2dT%2.2d-00-00' % (timeTuple.tm_year,
496 subfolder = dt.strftime('%Y-%m-%dT%H-00-00')
492 timeTuple.tm_mon,
493 timeTuple.tm_mday,
494 timeTuple.tm_hour,
495 )
496 else:
497 else:
497 subfolder = 'd%4.4d%3.3d' % (timeTuple.tm_year,timeTuple.tm_yday)
498 subfolder = dt.strftime('d%Y%j')
498
499
499 fullpath = os.path.join(path, subfolder)
500 fullpath = os.path.join(path, subfolder)
500
501
@@ -520,8 +521,8 class HDFWriter(Operation):
520 if self.setType is None:
521 if self.setType is None:
521 setFile += 1
522 setFile += 1
522 file = '%s%4.4d%3.3d%03d%s' % (self.optchar,
523 file = '%s%4.4d%3.3d%03d%s' % (self.optchar,
523 timeTuple.tm_year,
524 dt.year,
524 timeTuple.tm_yday,
525 int(dt.strftime('%j')),
525 setFile,
526 setFile,
526 ext )
527 ext )
527 elif self.setType == "weather":
528 elif self.setType == "weather":
@@ -541,22 +542,22 class HDFWriter(Operation):
541
542
542 file = '%s_%2.2d%2.2d%2.2d_%2.2d%2.2d%2.2d_%s%2.1f_%s%s' % (
543 file = '%s_%2.2d%2.2d%2.2d_%2.2d%2.2d%2.2d_%s%2.1f_%s%s' % (
543 'SOPHY',
544 'SOPHY',
544 timeTuple.tm_year,
545 dt.year,
545 timeTuple.tm_mon,
546 dt.month,
546 timeTuple.tm_mday,
547 dt.day,
547 timeTuple.tm_hour,
548 dt.hour,
548 timeTuple.tm_min,
549 dt.minute,
549 timeTuple.tm_sec,
550 dt.second,
550 ang_type,
551 ang_type,
551 ang_,
552 ang_,
552 self.weather_var,
553 self.weather_var,
553 ext )
554 ext )
554
555
555 else:
556 else:
556 setFile = timeTuple.tm_hour*60+timeTuple.tm_min
557 setFile = dt.hour*60+dt.minute
557 file = '%s%4.4d%3.3d%04d%s' % (self.optchar,
558 file = '%s%4.4d%3.3d%04d%s' % (self.optchar,
558 timeTuple.tm_year,
559 dt.year,
559 timeTuple.tm_yday,
560 int(dt.strftime('%j')),
560 setFile,
561 setFile,
561 ext )
562 ext )
562
563
General Comments 0
You need to be logged in to leave comments. Login now