[tor-commits] [stem/master] Replace calls to datetime.datetime.strptime() with stem.util.str_tools._parse_timestamp()
atagar at torproject.org
atagar at torproject.org
Sun Nov 23 00:13:20 UTC 2014
commit b1ffbb8827ea55e68a13ced877a9e44d83a8e22b
Author: Ossi Herrala <oherrala at gmail.com>
Date: Thu Nov 20 23:04:02 2014 +0200
Replace calls to datetime.datetime.strptime() with stem.util.str_tools._parse_timestamp()
---
stem/control.py | 3 +--
stem/descriptor/networkstatus.py | 9 ++++-----
stem/descriptor/router_status_entry.py | 3 +--
stem/descriptor/server_descriptor.py | 3 +--
stem/descriptor/tordnsel.py | 8 +++-----
stem/response/events.py | 7 +++----
6 files changed, 13 insertions(+), 20 deletions(-)
diff --git a/stem/control.py b/stem/control.py
index d815fcc..320fcab 100644
--- a/stem/control.py
+++ b/stem/control.py
@@ -221,7 +221,6 @@ If you're fine with allowing your script to raise exceptions then this can be mo
import calendar
import collections
-import datetime
import inspect
import io
import os
@@ -1273,7 +1272,7 @@ class Controller(BaseController):
used = self.get_info('accounting/bytes')
left = self.get_info('accounting/bytes-left')
- interval_end = datetime.datetime.strptime(interval_end, '%Y-%m-%d %H:%M:%S')
+ interval_end = stem.util.str_tools._parse_timestamp(interval_end)
used_read, used_written = [int(val) for val in used.split(' ', 1)]
left_read, left_written = [int(val) for val in left.split(' ', 1)]
diff --git a/stem/descriptor/networkstatus.py b/stem/descriptor/networkstatus.py
index 1e516d3..6a15caf 100644
--- a/stem/descriptor/networkstatus.py
+++ b/stem/descriptor/networkstatus.py
@@ -49,7 +49,6 @@ For more information see :func:`~stem.descriptor.__init__.DocumentHandler`...
DirectoryAuthority - Directory authority as defined in a v3 network status document
"""
-import datetime
import io
import stem.descriptor.router_status_entry
@@ -417,7 +416,7 @@ class NetworkStatusDocumentV2(NetworkStatusDocument):
self.server_versions.append(version_str)
elif keyword == 'published':
try:
- self.published = datetime.datetime.strptime(value, '%Y-%m-%d %H:%M:%S')
+ self.published = stem.util.str_tools._parse_timestamp(value)
except ValueError:
if validate:
raise ValueError("Version 2 network status document's 'published' time wasn't parsable: %s" % value)
@@ -699,7 +698,7 @@ class _DocumentHeader(object):
raise ValueError("A network status document's consensus-method must be an integer, but was '%s'" % value)
elif keyword in ('published', 'valid-after', 'fresh-until', 'valid-until'):
try:
- date_value = datetime.datetime.strptime(value, '%Y-%m-%d %H:%M:%S')
+ date_value = stem.util.str_tools._parse_timestamp(value)
if keyword == 'published':
self.published = date_value
@@ -1362,7 +1361,7 @@ class KeyCertificate(Descriptor):
# "dir-key-expires" YYYY-MM-DD HH:MM:SS
try:
- date_value = datetime.datetime.strptime(value, '%Y-%m-%d %H:%M:%S')
+ date_value = stem.util.str_tools._parse_timestamp(value)
if keyword == 'dir-key-published':
self.published = date_value
@@ -1498,7 +1497,7 @@ class BridgeNetworkStatusDocument(NetworkStatusDocument):
published_line = published_line.split(' ', 1)[1].strip()
try:
- self.published = datetime.datetime.strptime(published_line, '%Y-%m-%d %H:%M:%S')
+ self.published = stem.util.str_tools._parse_timestamp(published_line)
except ValueError:
if validate:
raise ValueError("Bridge network status document's 'published' time wasn't parsable: %s" % published_line)
diff --git a/stem/descriptor/router_status_entry.py b/stem/descriptor/router_status_entry.py
index 75ad646..3dd9026 100644
--- a/stem/descriptor/router_status_entry.py
+++ b/stem/descriptor/router_status_entry.py
@@ -21,7 +21,6 @@ sources...
import base64
import binascii
-import datetime
import stem.exit_policy
import stem.prereq
@@ -523,7 +522,7 @@ def _parse_r_line(desc, value, validate, include_digest = True):
try:
published = '%s %s' % (r_comp[3], r_comp[4])
- desc.published = datetime.datetime.strptime(published, '%Y-%m-%d %H:%M:%S')
+ desc.published = stem.util.str_tools._parse_timestamp(published)
except ValueError:
if validate:
raise ValueError("Publication time time wasn't parsable: r %s" % value)
diff --git a/stem/descriptor/server_descriptor.py b/stem/descriptor/server_descriptor.py
index c1fed66..e92f0e0 100644
--- a/stem/descriptor/server_descriptor.py
+++ b/stem/descriptor/server_descriptor.py
@@ -34,7 +34,6 @@ etc). This information is provided from a few sources...
import base64
import codecs
-import datetime
import hashlib
import re
@@ -460,7 +459,7 @@ class ServerDescriptor(Descriptor):
# "published" YYYY-MM-DD HH:MM:SS
try:
- self.published = datetime.datetime.strptime(value, '%Y-%m-%d %H:%M:%S')
+ self.published = stem.util.str_tools._parse_timestamp(value)
except ValueError:
if validate:
raise ValueError("Published line's time wasn't parsable: %s" % line)
diff --git a/stem/descriptor/tordnsel.py b/stem/descriptor/tordnsel.py
index 72b3806..951b72f 100644
--- a/stem/descriptor/tordnsel.py
+++ b/stem/descriptor/tordnsel.py
@@ -10,8 +10,6 @@ exit list files.
TorDNSEL - Exit list provided by TorDNSEL
"""
-import datetime
-
import stem.util.connection
import stem.util.str_tools
import stem.util.tor_tools
@@ -89,13 +87,13 @@ class TorDNSEL(Descriptor):
self.fingerprint = value
elif keyword == 'Published':
try:
- self.published = datetime.datetime.strptime(value, '%Y-%m-%d %H:%M:%S')
+ self.published = stem.util.str_tools._parse_timestamp(value)
except ValueError:
if validate:
raise ValueError("Published time wasn't parsable: %s" % value)
elif keyword == 'LastStatus':
try:
- self.last_status = datetime.datetime.strptime(value, '%Y-%m-%d %H:%M:%S')
+ self.last_status = stem.util.str_tools._parse_timestamp(value)
except ValueError:
if validate:
raise ValueError("LastStatus time wasn't parsable: %s" % value)
@@ -110,7 +108,7 @@ class TorDNSEL(Descriptor):
raise ValueError('Unexpected block content: %s' % block_content)
try:
- date = datetime.datetime.strptime(date, '%Y-%m-%d %H:%M:%S')
+ date = stem.util.str_tools._parse_timestamp(date)
self.exit_addresses.append((address, date))
except ValueError:
if validate:
diff --git a/stem/response/events.py b/stem/response/events.py
index 0df830b..92dd281 100644
--- a/stem/response/events.py
+++ b/stem/response/events.py
@@ -1,7 +1,6 @@
# Copyright 2012-2014, Damian Johnson and The Tor Project
# See LICENSE for licensing information
-import datetime
import io
import re
import time
@@ -190,12 +189,12 @@ class AddrMapEvent(Event):
self.expiry = None
else:
try:
- self.expiry = datetime.datetime.strptime(self.expiry, '%Y-%m-%d %H:%M:%S')
+ self.expiry = stem.util.str_tools._parse_timestamp(self.expiry)
except ValueError:
raise stem.ProtocolError('Unable to parse date in ADDRMAP event: %s' % self)
if self.utc_expiry is not None:
- self.utc_expiry = datetime.datetime.strptime(self.utc_expiry, '%Y-%m-%d %H:%M:%S')
+ self.utc_expiry = stem.util.str_tools._parse_timestamp(self.utc_expiry)
if self.cached is not None:
if self.cached == 'YES':
@@ -487,7 +486,7 @@ class ClientsSeenEvent(Event):
def _parse(self):
if self.start_time is not None:
- self.start_time = datetime.datetime.strptime(self.start_time, '%Y-%m-%d %H:%M:%S')
+ self.start_time = stem.util.str_tools._parse_timestamp(self.start_time)
if self.locales is not None:
locale_to_count = {}
More information about the tor-commits
mailing list