Repository :
http://git.fedorahosted.org/cgit/
On branch : master
---------------------------------------------------------------
commit 293b75476ca2b76139401c336f29e250cfa1c222
Author: Matt Domsch <matt(a)domsch.com>
Date: Fri Dec 6 23:35:22 2013 -0600
import datetime, not datetime.datetime
Modules get confused when one bit of code (say, model.py) imports
datetime.datetime (the 'type'), while other code (say, umdl) imports
datetime (the module). It leads to runtime error:
AttributeError: type object 'datetime.datetime' has no attribute
'datetime'
Change all imports to import the module, not the type, and fix all callers.
---------------------------------------------------------------
mirrorlist-server/mirrorlist_client.wsgi | 1 -
mirrorlist-server/test/server_tester.py | 10 +++++-----
server/crawler_perhost | 10 +++++-----
server/mirrormanager/model.py | 14 +++++++-------
4 files changed, 17 insertions(+), 18 deletions(-)
diff --git a/mirrorlist-server/mirrorlist_client.wsgi
b/mirrorlist-server/mirrorlist_client.wsgi
index 8855595..5f49cda 100755
--- a/mirrorlist-server/mirrorlist_client.wsgi
+++ b/mirrorlist-server/mirrorlist_client.wsgi
@@ -17,7 +17,6 @@ from string import zfill, atoi, strip, replace
from paste.wsgiwrappers import *
import gzip
import cStringIO
-from datetime import datetime, timedelta
socketfile = '/var/run/mirrormanager/mirrorlist_server.sock'
select_timeout = 60 # seconds
diff --git a/mirrorlist-server/test/server_tester.py
b/mirrorlist-server/test/server_tester.py
index 8b28e37..16d4663 100755
--- a/mirrorlist-server/test/server_tester.py
+++ b/mirrorlist-server/test/server_tester.py
@@ -7,7 +7,7 @@
import socket, os
import cPickle as pickle
from string import zfill, atoi
-from datetime import datetime
+import datetime
socketfile = '/var/run/mirrormanager/mirrorlist_server.sock'
@@ -17,9 +17,9 @@ connectTime = None
def do_mirrorlist(d):
try:
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
- start = datetime.utcnow()
+ start = datetime.datetime.utcnow()
s.connect(socketfile)
- end = datetime.utcnow()
+ end = datetime.datetime.utcnow()
except:
raise
@@ -77,7 +77,7 @@ while True:
client_ip = u"%s.%s.%s.%s" % (random.randint(0,255), random.randint(0,255),
random.randint(0,255), random.randint(0,255))
d['client_ip'] = client_ip
- start = datetime.utcnow()
+ start = datetime.datetime.utcnow()
result = do_mirrorlist(d)
- end = datetime.utcnow()
+ end = datetime.datetime.utcnow()
print "[%s] connect: %s total: %s" % (pid, connectTime, (end-start))
diff --git a/server/crawler_perhost b/server/crawler_perhost
index cf3c936..c470621 100755
--- a/server/crawler_perhost
+++ b/server/crawler_perhost
@@ -3,7 +3,7 @@ __requires__ = 'TurboGears[future]'
import pkg_resources
pkg_resources.require("TurboGears")
-from datetime import datetime
+import datetime
import ftplib
from ftplib import FTP
import hashlib
@@ -332,7 +332,7 @@ def sync_hcds(host, host_category_dirs):
stats = dict(up2date = 0, not_up2date = 0, unchanged = 0,
unknown = 0, newdir = 0, deleted_on_master = 0)
current_hcds = {}
- now = datetime.utcnow()
+ now = datetime.datetime.utcnow()
host.lastCrawled = now
keys = host_category_dirs.keys()
keys = sorted(keys, key = lambda t: t[1].name)
@@ -488,13 +488,13 @@ def try_percategory(trydirs, url, host_category_dirs, hc, host,
categoryPrefixLe
if not url.endswith('/'):
url += '/'
- rsync_start_time = datetime.utcnow()
+ rsync_start_time = datetime.datetime.utcnow()
try:
result, listing = run_rsync(url, '--no-motd')
except:
logger.warning('Failed to run rsync.', exc_info = True)
return False
- rsync_stop_time = datetime.utcnow()
+ rsync_stop_time = datetime.datetime.utcnow()
msg = "rsync time: %s" % str(rsync_stop_time - rsync_start_time)
logger.info(msg)
if result == 10:
@@ -648,7 +648,7 @@ Date: %s
def mark_not_up2date(exc, host, reason="Unknown"):
host.set_not_up2date()
- host.lastCrawled = datetime.utcnow()
+ host.lastCrawled = datetime.datetime.utcnow()
msg = "Host marked not up2date: %s" % reason
logger.warning(msg)
if exc is not None:
diff --git a/server/mirrormanager/model.py b/server/mirrormanager/model.py
index da67f2c..0c72672 100644
--- a/server/mirrormanager/model.py
+++ b/server/mirrormanager/model.py
@@ -2,7 +2,7 @@ from sqlobject import *
from sqlobject.converters import sqlrepr
from sqlobject.sqlbuilder import RLIKE, AND, OR, INNERJOINOn
from turbogears import identity, config
-from datetime import datetime
+import datetime
import time
from string import strip
import IPy
@@ -43,7 +43,7 @@ class Site(SQLObject):
private = BoolCol(default=False)
admin_active = BoolCol(default=True)
user_active = BoolCol(default=True)
- createdAt = DateTimeCol(default=datetime.utcnow())
+ createdAt = DateTimeCol(default=datetime.datetime.utcnow())
createdBy = UnicodeCol(default=None)
# allow all sites to pull from me
allSitesCanPullFromMe = BoolCol(default=False)
@@ -323,7 +323,7 @@ class Host(SQLObject):
def _set_config(self, config):
# really, we don't store the config anymore
self._config = None
- self.lastCheckedIn = datetime.utcnow()
+ self.lastCheckedIn = datetime.datetime.utcnow()
def checkin(self, config):
message = self._uploaded_config(config)
@@ -605,7 +605,7 @@ class HostStats(SQLObject):
class sqlmeta:
cacheValues = False
host = ForeignKey('Host')
- _timestamp = DateTimeCol(default=datetime.utcnow())
+ _timestamp = DateTimeCol(default=datetime.datetime.utcnow())
type = UnicodeCol(default=None)
data = PickleCol(default=None)
@@ -988,7 +988,7 @@ class Visit(SQLObject):
visit_key = StringCol(length=40, alternateID=True,
alternateMethodName="by_visit_key")
- created = DateTimeCol(default=datetime.now)
+ created = DateTimeCol(default=datetime.datetime.now)
expiry = DateTimeCol()
def lookup_visit(cls, visit_key):
@@ -1017,7 +1017,7 @@ class Group(SQLObject):
group_name = UnicodeCol(length=16, alternateID=True,
alternateMethodName="by_group_name")
display_name = UnicodeCol(length=255)
- created = DateTimeCol(default=datetime.now)
+ created = DateTimeCol(default=datetime.datetime.now)
# collection of all users belonging to this group
users = RelatedJoin("User", intermediateTable="user_group",
@@ -1044,7 +1044,7 @@ class User(SQLObject):
alternateMethodName="by_email_address")
display_name = UnicodeCol(length=255)
password = UnicodeCol(length=40)
- created = DateTimeCol(default=datetime.now)
+ created = DateTimeCol(default=datetime.datetime.now)
# groups this user belongs to
groups = RelatedJoin("Group", intermediateTable="user_group",