8 from datetime
import tzinfo
9 from cement.core
import foundation
10 from datetime
import datetime
13 from sys
import stdout
14 from sys
import stderr
23 from time
import sleep
29 logger = logging.getLogger(
'test')
30 logger.setLevel(logging.DEBUG)
33 ch = logging.StreamHandler()
34 ch.setLevel(logging.DEBUG)
37 formatter = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s')
40 ch.setFormatter(formatter)
55 if fileName.rfind(ext) > 0:
57 f = open(fileName,
'r') 58 lineList = f.readlines() 61 for rawPubdate
in lineList:
62 if rawPubdate.find(
'%pubdate%') < 0:
64 d = DateTimeType.parse(s)
66 print(
'fail: ' + str(s))
76 for period
in [
'years',
'months',
'days',
'hours',
'minutes']:
77 for testStr
in [
'22 ' + period +
' left',
'23 ' + period +
' left']:
78 print(
'=======\ninput: ' + str(testStr))
79 d = DateTimeType.parse(testStr,
True, logger,
True)
81 print(
'parse: ' + str(d.isoformat(
' ')))
86 if __name__ ==
'__main__':
88 app = foundation.CementApp(
'DateTimeType')
90 app.add_arg(
'-f',
'--file', action=
'store', metavar=
'input_file', help=
'input file with date list')
91 app.add_arg(
'-d',
'--dir', action=
'store', metavar=
'input_file', help=
'input directory name with files dates')
94 fileName = app.pargs.file
95 dirName = app.pargs.dir
98 if dirName
is not None:
99 files = os.listdir(dirName)
100 for inputFile
in files:
103 elif fileName
is not None:
246 s =
'Oct 4, 2017 \u2022\n \t 4:00 pm |\n \t\t (0) \n \t\t by Barry Schwartz \n \t\n\t\t\t\t\t\t\t \n\t\t\t \n\t\t \t\t \n\t\t\t \n\t\t \t\t\t\t\t\t\t\n \t| Filed Under Search Forum Recap' 252 d = DateTimeType.parse(s,
True, logger,
True)
254 print(
'parse: ' + str(d.isoformat(
' ')))
257 d, timezone = DateTimeType.split(d)
258 print(
'datetime: ' + str(d.isoformat(
' ')) +
' timezone: ' + str(timezone))
def testExecution(fileName, ext='.list')