# Copyright (C) 2006 The Trustees of Princeton University
#
-from types import StringTypes
-try:
- from hashlib import md5
-except ImportError:
- from md5 import md5
+from hashlib import md5
import time
from random import Random
import re
else:
# Generate a somewhat unique 8 character salt string
salt = str(time.time()) + str(Random().random())
- salt = md5(salt).hexdigest()[:8]
- return crypt.crypt(password.encode(self.api.encoding), magic + salt + "$")
+ salt = md5(salt.encode()).hexdigest()[:8]
+ return crypt.crypt(password, magic + salt + "$")
validate_date_created = Row.validate_timestamp
validate_last_updated = Row.validate_timestamp
view = "view_persons"
for tagname in self.tag_columns:
- view= "%s left join %s using (%s)"%(view,Person.tagvalue_view_name(tagname),
+ view= "%s left join %s using (%s)"%(view, Person.tagvalue_view_name(tagname),
Person.primary_key)
sql = "SELECT %s FROM %s WHERE deleted IS False" % \
- (", ".join(list(self.columns.keys())+list(self.tag_columns.keys())),view)
+ (", ".join(list(self.columns.keys())+list(self.tag_columns.keys())), view)
if person_filter is not None:
if isinstance(person_filter, (list, tuple, set)):
# Separate the list into integers and strings
ints = [x for x in person_filter if isinstance(x, int)]
- strs = [x for x in person_filter if isinstance(x, StringTypes)]
+ strs = [x for x in person_filter if isinstance(x, str)]
person_filter = Filter(Person.fields, {'person_id': ints, 'email': strs})
sql += " AND (%s) %s" % person_filter.sql(api, "OR")
elif isinstance(person_filter, dict):
- allowed_fields=dict(list(Person.fields.items())+list(Person.tags.items()))
+ allowed_fields = dict(list(Person.fields.items())+list(Person.tags.items()))
person_filter = Filter(allowed_fields, person_filter)
sql += " AND (%s) %s" % person_filter.sql(api, "AND")
- elif isinstance (person_filter, StringTypes):
- person_filter = Filter(Person.fields, {'email':person_filter})
+ elif isinstance (person_filter, str):
+ person_filter = Filter(Person.fields, {'email': person_filter})
sql += " AND (%s) %s" % person_filter.sql(api, "AND")
elif isinstance (person_filter, int):
- person_filter = Filter(Person.fields, {'person_id':person_filter})
+ person_filter = Filter(Person.fields, {'person_id': person_filter})
sql += " AND (%s) %s" % person_filter.sql(api, "AND")
else:
raise PLCInvalidArgument("Wrong person filter %r"%person_filter)