diff options
author | Marcin Kuzminski <marcin@python-works.com> | 2012-12-07 02:15:34 +0100 |
---|---|---|
committer | Marcin Kuzminski <marcin@python-works.com> | 2012-12-07 02:15:34 +0100 |
commit | 6eee7121051a34eea8861bd5f75367e00560aa29 (patch) | |
tree | 69d75f1a0d8ef1a7dc7ad3bbdebe2afa4c715e39 | |
parent | f84bbebe44337f185b1261397b2b6a58da932e83 (diff) |
python2.5 safe parsing of datetime string with microseconds
--HG--
branch : beta
-rw-r--r-- | rhodecode/tests/functional/test_admin.py | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/rhodecode/tests/functional/test_admin.py b/rhodecode/tests/functional/test_admin.py index 4bb9c8e9..57ed6688 100644 --- a/rhodecode/tests/functional/test_admin.py +++ b/rhodecode/tests/functional/test_admin.py @@ -17,15 +17,28 @@ class TestAdminController(TestController): def setup_class(cls): UserLog.query().delete() Session().commit() + + def strptime(val): + fmt = '%Y-%m-%d %H:%M:%S' + if '.' not in val: + return datetime.datetime.strptime(val, fmt) + + nofrag, frag = val.split(".") + date = datetime.datetime.strptime(nofrag, fmt) + + frag = frag[:6] # truncate to microseconds + frag += (6 - len(frag)) * '0' # add 0s + return date.replace(microsecond=int(frag)) + with open(os.path.join(FIXTURES, 'journal_dump.csv')) as f: for row in csv.DictReader(f): ul = UserLog() for k, v in row.iteritems(): v = safe_unicode(v) if k == 'action_date': - v = datetime.datetime.strptime(v, '%Y-%m-%d %H:%M:%S.%f') + v = strptime(v) if k in ['user_id', 'repository_id']: - #nullable due to FK problems + # nullable due to FK problems v = None setattr(ul, k, v) Session().add(ul) @@ -134,4 +147,4 @@ class TestAdminController(TestController): self.log_user() response = self.app.get(url(controller='admin/admin', action='index', filter='date:20121020')) - response.mustcontain('17 entries')
\ No newline at end of file + response.mustcontain('17 entries') |