2015-05-07 12:34:17 -04:00
|
|
|
from os import utime
|
|
|
|
from time import strptime
|
|
|
|
from calendar import timegm
|
2014-07-24 07:16:50 -04:00
|
|
|
from conf import hook
|
|
|
|
|
2014-08-08 01:54:08 -04:00
|
|
|
""" Pre-Test Hook: LocalFiles
|
|
|
|
This is a pre-test hook used to generate the specific environment before a test
|
|
|
|
is run. The LocalFiles hook creates the files which should exist on disk before
|
|
|
|
invoking Wget.
|
|
|
|
"""
|
|
|
|
|
2014-07-24 07:16:50 -04:00
|
|
|
|
|
|
|
@hook()
|
|
|
|
class LocalFiles:
|
|
|
|
def __init__(self, local_files):
|
|
|
|
self.local_files = local_files
|
|
|
|
|
|
|
|
def __call__(self, _):
|
|
|
|
for f in self.local_files:
|
|
|
|
with open(f.name, 'w') as fp:
|
|
|
|
fp.write(f.content)
|
2015-05-07 12:34:17 -04:00
|
|
|
if f.timestamp is not None:
|
|
|
|
tstamp = timegm(strptime(f.timestamp, '%Y-%m-%d %H:%M:%S'))
|
|
|
|
atime = tstamp
|
|
|
|
mtime = tstamp
|
|
|
|
utime(f.name, (atime, mtime))
|