diff options
Diffstat (limited to 'postgresqleu/util')
-rw-r--r-- | postgresqleu/util/admin.py | 2 | ||||
-rw-r--r-- | postgresqleu/util/backendforms.py | 9 | ||||
-rw-r--r-- | postgresqleu/util/backendlookups.py | 4 | ||||
-rw-r--r-- | postgresqleu/util/backendviews.py | 10 | ||||
-rw-r--r-- | postgresqleu/util/db.py | 6 | ||||
-rw-r--r-- | postgresqleu/util/diffablemodel.py | 6 | ||||
-rw-r--r-- | postgresqleu/util/forms.py | 12 | ||||
-rw-r--r-- | postgresqleu/util/magic.py | 2 | ||||
-rwxr-xr-x | postgresqleu/util/misc/baseinvoice.py | 2 | ||||
-rw-r--r-- | postgresqleu/util/payment/adyen.py | 4 | ||||
-rw-r--r-- | postgresqleu/util/validators.py | 2 | ||||
-rw-r--r-- | postgresqleu/util/widgets.py | 2 |
12 files changed, 31 insertions, 30 deletions
diff --git a/postgresqleu/util/admin.py b/postgresqleu/util/admin.py index f40db7c4..bd2edb8f 100644 --- a/postgresqleu/util/admin.py +++ b/postgresqleu/util/admin.py @@ -1,7 +1,7 @@ class SelectableWidgetAdminFormMixin(object): def __init__(self, *args, **kwargs): super(SelectableWidgetAdminFormMixin, self).__init__(*args, **kwargs) - for fn in self.Meta.widgets.keys(): + for fn in list(self.Meta.widgets.keys()): self.fields[fn].widget.can_add_related = False self.fields[fn].widget.can_change_related = False self.fields[fn].widget.can_delete_related = False diff --git a/postgresqleu/util/backendforms.py b/postgresqleu/util/backendforms.py index 4a1c8587..982f6b30 100644 --- a/postgresqleu/util/backendforms.py +++ b/postgresqleu/util/backendforms.py @@ -6,6 +6,7 @@ from postgresqleu.util.forms import ConcurrentProtectedModelForm from postgresqleu.util.widgets import HtmlDateInput import datetime +from functools import reduce class _NewFormDataField(django.forms.Field): @@ -74,7 +75,7 @@ class BackendForm(ConcurrentProtectedModelForm): if missing: raise Exception("ERROR: fields %s are not in a fieldset" % ", ".join(missing)) - for k, v in self.fields.items(): + for k, v in list(self.fields.items()): # Adjust widgets if isinstance(v, django.forms.fields.DateField): v.widget = HtmlDateInput() @@ -93,7 +94,7 @@ class BackendForm(ConcurrentProtectedModelForm): MaxValueValidator(self.conference.enddate), ]) - for field, vattype in self.vat_fields.items(): + for field, vattype in list(self.vat_fields.items()): self.fields[field].widget.attrs['class'] = 'backend-vat-field backend-vat-{0}-field'.format(vattype) for field in self.readonly_fields: @@ -103,7 +104,7 @@ class BackendForm(ConcurrentProtectedModelForm): if not self.selectize_multiple_fields: return - for field, lookup in self.selectize_multiple_fields.items(): + for field, lookup in list(self.selectize_multiple_fields.items()): # If this is a postback of a selectize field, it may contain ids that are not currently # stored in the field. They must still be among the *allowed* values of course, which # are handled by the existing queryset on the field. @@ -114,7 +115,7 @@ class BackendForm(ConcurrentProtectedModelForm): vals = [o.pk for o in getattr(self.instance, field).all()] else: vals = [] - if 'data' in kwargs and unicode(field) in kwargs['data']: + if 'data' in kwargs and str(field) in kwargs['data']: vals.extend([int(x) for x in kwargs['data'].getlist(field)]) self.fields[field].widget.attrs['data-selecturl'] = lookup.url self.fields[field].queryset = self.fields[field].queryset.filter(pk__in=set(vals)) diff --git a/postgresqleu/util/backendlookups.py b/postgresqleu/util/backendlookups.py index bf877e1a..44b1b2fb 100644 --- a/postgresqleu/util/backendlookups.py +++ b/postgresqleu/util/backendlookups.py @@ -44,14 +44,14 @@ class GeneralAccountLookup(LookupBase): @property def label_from_instance(self): - return lambda x: u'{0} {1} ({2})'.format(x.first_name, x.last_name, x.username) + return lambda x: '{0} {1} ({2})'.format(x.first_name, x.last_name, x.username) @classmethod def get_values(self, query): return [ { 'id': u.id, - 'value': u'{0} {1} ({2})'.format(u.first_name, u.last_name, u.username), + 'value': '{0} {1} ({2})'.format(u.first_name, u.last_name, u.username), 'email': u.email, } for u in User.objects.filter( diff --git a/postgresqleu/util/backendviews.py b/postgresqleu/util/backendviews.py index 13bc187b..c6696571 100644 --- a/postgresqleu/util/backendviews.py +++ b/postgresqleu/util/backendviews.py @@ -80,7 +80,7 @@ def backend_process_form(request, urlname, formclass, id, cancel_url='../', save instance = instancemaker() # Set initial values on newly created instance, if any are set - for k, v in formclass.get_initial().items(): + for k, v in list(formclass.get_initial().items()): setattr(instance, k, v) else: if bypass_conference_filter: @@ -100,8 +100,8 @@ def backend_process_form(request, urlname, formclass, id, cancel_url='../', save if to_delete: to_delete = [d for d in flatten_list(to_delete[0]) if d._meta.model_name not in formclass.auto_cascade_delete_to] if to_delete: - pieces = [unicode(to_delete[n]) for n in range(0, min(5, len(to_delete))) if not isinstance(to_delete[n], list)] - extra_error = u"This {0} cannot be deleted. It would have resulted in the following other objects also being deleted: {1}".format(formclass.Meta.model._meta.verbose_name, u', '.join(pieces)) + pieces = [str(to_delete[n]) for n in range(0, min(5, len(to_delete))) if not isinstance(to_delete[n], list)] + extra_error = "This {0} cannot be deleted. It would have resulted in the following other objects also being deleted: {1}".format(formclass.Meta.model._meta.verbose_name, ', '.join(pieces)) else: messages.info(request, "{0} {1} deleted.".format(formclass.Meta.model._meta.verbose_name.capitalize(), instance)) instance.delete() @@ -176,7 +176,7 @@ def backend_process_form(request, urlname, formclass, id, cancel_url='../', save 'helplink': form.helplink, 'allow_delete': allow_delete and instance.pk, 'adminurl': adminurl, - 'linked': [(url, handler, handler.get_list(form.instance)) for url, handler in form.linked_objects.items() if form.instance], + 'linked': [(url, handler, handler.get_list(form.instance)) for url, handler in list(form.linked_objects.items()) if form.instance], }) @@ -350,7 +350,7 @@ def backend_handle_copy_previous(request, formclass, restpieces, conference): sourceconf = get_authenticated_conference(request, confid=sourceconfid) if request.method == "POST": - idlist = sorted([int(k[2:]) for k, v in request.POST.items() if k.startswith('c_') and v == '1']) + idlist = sorted([int(k[2:]) for k, v in list(request.POST.items()) if k.startswith('c_') and v == '1']) if formclass.copy_transform_form: # First validate the transform form transform_form = formclass.copy_transform_form(conference, sourceconf, data=request.POST) diff --git a/postgresqleu/util/db.py b/postgresqleu/util/db.py index 2af6661b..34630db8 100644 --- a/postgresqleu/util/db.py +++ b/postgresqleu/util/db.py @@ -17,7 +17,7 @@ def exec_to_dict(query, params=None): curs = connection.cursor() curs.execute(query, params) columns = [col[0] for col in curs.description] - return [dict(zip(columns, row))for row in curs.fetchall()] + return [dict(list(zip(columns, row)))for row in curs.fetchall()] def exec_to_scalar(query, params=None): @@ -41,7 +41,7 @@ def exec_to_keyed_dict(query, params=None): curs = connection.cursor() curs.execute(query, params) columns = [col[0] for col in curs.description] - return {r[columns[0]]: r for r in (dict(zip(columns, row))for row in curs.fetchall())} + return {r[columns[0]]: r for r in (dict(list(zip(columns, row)))for row in curs.fetchall())} def exec_to_grouped_dict(query, params=None): @@ -57,7 +57,7 @@ def exec_to_grouped_dict(query, params=None): full[last] = curr curr = [] last = row[0] - curr.append(dict(zip(columns, row[1:]))) + curr.append(dict(list(zip(columns, row[1:])))) if last: full[last] = curr return full diff --git a/postgresqleu/util/diffablemodel.py b/postgresqleu/util/diffablemodel.py index 94ad3e5f..5e31f6d7 100644 --- a/postgresqleu/util/diffablemodel.py +++ b/postgresqleu/util/diffablemodel.py @@ -16,16 +16,16 @@ class DiffableModel(object): manytomanyfieldnames = [f.name for f in self._meta.many_to_many] d1 = self.__initial d2 = self._dict - diffs = dict([(k, (v, d2[k])) for k, v in d1.items() if v != d2[k]]) + diffs = dict([(k, (v, d2[k])) for k, v in list(d1.items()) if v != d2[k]]) # Foreign key lookups - for k, v in diffs.items(): + for k, v in list(diffs.items()): if type(self._meta.get_field(k)) is django.db.models.fields.related.ForeignKey: # If it's a foreign key, look up the name again on ourselves. # Since we only care about the *new* value, it's easy enough. diffs[k] = (v[0], getattr(self, k)) # Many to many lookups if hasattr(self, 'map_manytomany_for_diff'): - for k, v in diffs.items(): + for k, v in list(diffs.items()): if k in manytomanyfieldnames and k in self.map_manytomany_for_diff: # Try to show the display name instead here newvalue = getattr(self, self.map_manytomany_for_diff[k]) diff --git a/postgresqleu/util/forms.py b/postgresqleu/util/forms.py index c89db491..7218f864 100644 --- a/postgresqleu/util/forms.py +++ b/postgresqleu/util/forms.py @@ -3,7 +3,7 @@ from django.forms import ValidationError from django.core.signing import Signer, BadSignature from django.contrib.postgres.fields import ArrayField -import cPickle +import pickle import base64 from itertools import groupby @@ -19,10 +19,10 @@ class ConcurrentProtectedModelForm(forms.ModelForm): def _filter_initial(self): # self.initial will include things given in the URL after ?, so filter it to # only include items that are actually form fields. - return {k: v for k, v in self.initial.items() if k in self.fields.keys()} + return {k: v for k, v in list(self.initial.items()) if k in list(self.fields.keys())} def update_protected_fields(self): - self.fields['_validator'].initial = Signer().sign(base64.urlsafe_b64encode(cPickle.dumps(self._filter_initial(), -1))) + self.fields['_validator'].initial = Signer().sign(base64.urlsafe_b64encode(pickle.dumps(self._filter_initial(), -1))) def __init__(self, *args, **kwargs): r = super(ConcurrentProtectedModelForm, self).__init__(*args, **kwargs) @@ -43,15 +43,15 @@ class ConcurrentProtectedModelForm(forms.ModelForm): try: s = Signer().unsign(self.cleaned_data['_validator']) b = base64.urlsafe_b64decode(s.encode('utf8')) - d = cPickle.loads(b) - for k, v in d.items(): + d = pickle.loads(b) + for k, v in list(d.items()): if i[k] != v: raise ValidationError("Concurrent modification of field {0}. Please reload the form and try again.".format(k)) except BadSignature: raise ValidationError("Form has been tampered with!") except TypeError: raise ValidationError("Bad serialized form state") - except cPickle.UnpicklingError: + except pickle.UnpicklingError: raise ValidationError("Bad serialized python form state") return data diff --git a/postgresqleu/util/magic.py b/postgresqleu/util/magic.py index d971720c..a264b9cb 100644 --- a/postgresqleu/util/magic.py +++ b/postgresqleu/util/magic.py @@ -1,4 +1,4 @@ -from __future__ import absolute_import + import magic # Globally load and cache the magicdb diff --git a/postgresqleu/util/misc/baseinvoice.py b/postgresqleu/util/misc/baseinvoice.py index 406559eb..f66deb55 100755 --- a/postgresqleu/util/misc/baseinvoice.py +++ b/postgresqleu/util/misc/baseinvoice.py @@ -91,7 +91,7 @@ class PDFBase(object): self._draw_multiline_aligned(self.sendertext, cm(2), cm(23.5), cm(9), cm(4)) - self._draw_multiline_aligned(u"To:\n%s" % self.recipient, + self._draw_multiline_aligned("To:\n%s" % self.recipient, cm(11), cm(23.5), cm(9), cm(4)) p = self.canvas.beginPath() diff --git a/postgresqleu/util/payment/adyen.py b/postgresqleu/util/payment/adyen.py index 8813f762..797da46e 100644 --- a/postgresqleu/util/payment/adyen.py +++ b/postgresqleu/util/payment/adyen.py @@ -24,10 +24,10 @@ def _escapeVal(val): def calculate_signature(param): - param = OrderedDict(sorted(param.items(), key=lambda t: t[0])) + param = OrderedDict(sorted(list(param.items()), key=lambda t: t[0])) if 'merchantSig' in param: del param['merchantSig'] - str = ':'.join(map(_escapeVal, param.keys() + param.values())) + str = ':'.join(map(_escapeVal, list(param.keys()) + list(param.values()))) hm = hmac.new(binascii.a2b_hex(settings.ADYEN_SIGNKEY), str, hashlib.sha256) diff --git a/postgresqleu/util/validators.py b/postgresqleu/util/validators.py index adda510c..1b6bfeb3 100644 --- a/postgresqleu/util/validators.py +++ b/postgresqleu/util/validators.py @@ -67,7 +67,7 @@ def validate_json_structure(config, structure): raise ValidationError("Keys {0} are not allowed".format(", ".join(["->".join(path + [m]) for m in extra]))) # Keys are correct, validate datatypes - for k, v in config.items(): + for k, v in list(config.items()): fullkey = "->".join(path + [k]) # Dicts don't have __name__ if type(structure[k]) == dict: diff --git a/postgresqleu/util/widgets.py b/postgresqleu/util/widgets.py index 071d09aa..bb12e74e 100644 --- a/postgresqleu/util/widgets.py +++ b/postgresqleu/util/widgets.py @@ -33,7 +33,7 @@ class RequiredFileUploadWidget(forms.FileInput): output.append('</a><br/>') output.append("Upload new file: ") output.append(super(RequiredFileUploadWidget, self).render(name, value, attrs)) - return mark_safe(u''.join(output)) + return mark_safe(''.join(output)) class PrettyPrintJsonWidget(forms.Textarea): |