Skip to content

Commit

Permalink
Remove syntax for Python < 3.6
Browse files Browse the repository at this point in the history
This change removes some remaining Python 2 and Python < 3.6 syntax. These
changes were applied with `pyupgrade --py36-plus`.
  • Loading branch information
BenSturmfels committed Sep 8, 2023
1 parent c2baa76 commit c7deb10
Show file tree
Hide file tree
Showing 40 changed files with 173 additions and 201 deletions.
1 change: 0 additions & 1 deletion profiling/construct_api_calls.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#!/usr/bin/env python
#-*- coding:utf-8 -*-

import os
import sys
Expand Down
1 change: 0 additions & 1 deletion profiling/extract_api_calls.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#!/usr/bin/env python
#-*- coding:utf-8 -*-

import os
import sys
Expand Down
1 change: 0 additions & 1 deletion requirements-to-freeze.txt
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@ requests

nose>=1.3.7
django-nose
mock
mock_django
responses
django-debug-toolbar>3
Expand Down
1 change: 0 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ importlib-metadata==4.13.0
jmespath==1.0.1
kombu==5.2.4
Markdown==2.6.11
mock==5.0.1
mock-django==0.6.10
nose==1.3.7
oauthlib==3.2.2
Expand Down
2 changes: 0 additions & 2 deletions src/project/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@


# This will make sure the app is always imported when
# Django starts so that shared_task will use this app.
from .celery import app as celery_app
2 changes: 0 additions & 2 deletions src/project/celery.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@

from __future__ import absolute_import, unicode_literals
import os
import sys
from os.path import abspath, join
Expand Down
4 changes: 1 addition & 3 deletions src/project/twinkie.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-

from django.conf import settings
from wsgiref.headers import Headers
from wsgiref.handlers import format_date_time
Expand All @@ -9,7 +7,7 @@
log = getLogger(__name__)


class ExpiresMiddleware (object):
class ExpiresMiddleware:
"""WSGI middleware that intercepts calls to the static files
directory, as defined by the STATIC_URL setting, and serves those files.
"""
Expand Down
2 changes: 1 addition & 1 deletion src/remote_client_user/middleware.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ def get_authed_user(request):
return user


class RemoteClientMiddleware(object):
class RemoteClientMiddleware:
def process_request(self, request):
user = get_authed_user(request)

Expand Down
24 changes: 12 additions & 12 deletions src/sa_api_v2/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ def render(self, name, value, attrs=None):
except ValueError:
# If we cannot, then we should still display the value
pass
return super(PrettyAceWidget, self).render(name, value, attrs=attrs)
return super().render(name, value, attrs=attrs)


BaseGeoAdmin = admin.OSMGeoAdmin if settings.USE_GEODB else admin.ModelAdmin
Expand All @@ -98,14 +98,14 @@ def submitter_name(self, obj):
return obj.submitter.username if obj.submitter else None

def get_queryset(self, request):
qs = super(SubmittedThingAdmin, self).get_queryset(request)
qs = super().get_queryset(request)
user = request.user
if not user.is_superuser:
qs = qs.filter(dataset__owner=user)
return qs

def get_form(self, request, obj=None, **kwargs):
FormWithJSONCleaning = super(SubmittedThingAdmin, self).get_form(request, obj=obj, **kwargs)
FormWithJSONCleaning = super().get_form(request, obj=obj, **kwargs)

def clean_json_blob(form):
data = form.cleaned_data['data']
Expand Down Expand Up @@ -223,7 +223,7 @@ class WebhookAdmin(admin.ModelAdmin):
# list_filter = ('name',)

def get_queryset(self, request):
qs = super(WebhookAdmin, self).get_queryset(request)
qs = super().get_queryset(request)
user = request.user
if not user.is_superuser:
qs = qs.filter(dataset__owner=user)
Expand All @@ -246,7 +246,7 @@ def clear_cache(self, request, obj):

def clone_dataset(self, request, obj):
siblings = models.DataSet.objects.filter(owner=obj.owner)
slugs = set([ds.slug for ds in siblings])
slugs = {ds.slug for ds in siblings}

for uniquifier in itertools.count(2):
unique_slug = '-'.join([obj.slug, str(uniquifier)])
Expand Down Expand Up @@ -275,7 +275,7 @@ def api_path(self, instance):
api_path.allow_tags = True

def get_queryset(self, request):
qs = super(DataSetAdmin, self).get_queryset(request)
qs = super().get_queryset(request)
user = request.user
if not user.is_superuser:
qs = qs.filter(owner=user)
Expand All @@ -286,7 +286,7 @@ def get_form(self, request, obj=None, **kwargs):
# user should be assumed to be owned by themselves.
if not request.user.is_superuser:
self.exclude = (self.exclude or ()) + ('owner',)
return super(DataSetAdmin, self).get_form(request, obj, **kwargs)
return super().get_form(request, obj, **kwargs)

def save_model(self, request, obj, form, change):
# Set the current user as the owner if the object has no owner and the
Expand All @@ -295,7 +295,7 @@ def save_model(self, request, obj, form, change):
if not user.is_superuser:
if obj.owner_id is None:
obj.owner = user
super(DataSetAdmin, self).save_model(request, obj, form, change)
super().save_model(request, obj, form, change)


class PlaceAdmin(SubmittedThingAdmin):
Expand Down Expand Up @@ -338,15 +338,15 @@ class ActionAdmin(admin.ModelAdmin):

# Pre-Django 1.6
def queryset(self, request):
qs = super(ActionAdmin, self).queryset(request)
qs = super().queryset(request)
user = request.user
if not user.is_superuser:
qs = qs.filter(thing__dataset__owner=user)
return qs.select_related('submitter', 'thing', 'thing__place')

# Django 1.6+
def get_queryset(self, request):
qs = super(ActionAdmin, self).get_queryset(request)
qs = super().get_queryset(request)
user = request.user
if not user.is_superuser:
qs = qs.filter(thing__dataset__owner=user)
Expand Down Expand Up @@ -380,7 +380,7 @@ class Media:
)

def get_queryset(self, request):
qs = super(GroupAdmin, self).get_queryset(request)
qs = super().get_queryset(request)
user = request.user
if not user.is_superuser:
qs = qs.filter(dataset__owner=user)
Expand All @@ -401,7 +401,7 @@ class UserAdmin(BaseUserAdmin):
)

def get_queryset(self, request):
qs = super(UserAdmin, self).get_queryset(request)
qs = super().get_queryset(request)
user = request.user
if not user.is_superuser:
# Only show users that have contributed to the owner's datasets
Expand Down
2 changes: 1 addition & 1 deletion src/sa_api_v2/apikey/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class Media:
)

def get_queryset(self, request):
qs = super(ApiKeyAdmin, self).get_queryset(request)
qs = super().get_queryset(request)
user = request.user
if not user.is_superuser:
qs = qs.filter(dataset__owner=user)
Expand Down
2 changes: 1 addition & 1 deletion src/sa_api_v2/apikey/auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
KEY_HEADER = 'HTTP_X_SHAREABOUTS_KEY'


class APIKeyBackend(object):
class APIKeyBackend:
"""
Django authentication backend purely by API key.
"""
Expand Down
4 changes: 2 additions & 2 deletions src/sa_api_v2/apikey/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ def clone_related(self, onto):
permission.clone(overrides={'key': onto})

def get_ignore_fields(self, ModelClass):
fields = super(ApiKey, self).get_ignore_fields(ModelClass)
fields = super().get_ignore_fields(ModelClass)
# Do not copy over the actual key value
if ModelClass == ApiKey:
fields.add('key')
Expand All @@ -87,7 +87,7 @@ def get_ignore_fields(self, ModelClass):
def save(self, *args, **kwargs):
if self.logged_ip == '':
self.logged_ip = None
return super(ApiKey, self).save(*args, **kwargs)
return super().save(*args, **kwargs)


def create_data_permissions(sender, instance, created, **kwargs):
Expand Down
2 changes: 1 addition & 1 deletion src/sa_api_v2/auth_backends.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ class CachedModelBackend (ModelBackend):
def get_user(self, user_id):
user = UserCache.get_instance(user_id=user_id)
if user is None:
user = super(CachedModelBackend, self).get_user(user_id)
user = super().get_user(user_id)
UserCache.set_instance(user, user_id=user_id)
return user
24 changes: 12 additions & 12 deletions src/sa_api_v2/cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# A sentinel object to differentiate from None
Undefined = object()

class CacheBuffer (object):
class CacheBuffer:
def __init__(self, initial_buffer=None):
# When we get a value from the remote cache, it goes in to the buffer
# so that we can retrieve it quickly on our next try.
Expand Down Expand Up @@ -45,7 +45,7 @@ def get_many(self, keys):

# TODO: Is this what's supposed to happen? get_many returns None for
# each key that wasn't found?
all_results = dict([(key, Undefined) for key in set(keys) - set(results.keys())])
all_results = {key: Undefined for key in set(keys) - set(results.keys())}
self.buffer.update(all_results)
return results

Expand Down Expand Up @@ -165,7 +165,7 @@ def reset(self):
cache_buffer = CacheBuffer()


class Cache (object):
class Cache:
"""
The base class for objects responsible for caching Shareabouts data
structure information
Expand Down Expand Up @@ -285,7 +285,7 @@ def get_serialized_data_keys(self, inst_key):
meta_key = self.get_serialized_data_meta_key(inst_key)
if meta_key is not None:
keys = cache_buffer.get(meta_key)
return (keys or set()) | set([meta_key])
return (keys or set()) | {meta_key}
else:
return set()

Expand All @@ -301,7 +301,7 @@ def clear_instance(self, obj):
#Serialized data keys
data_keys = self.get_serialized_data_keys(obj)
# Collect other related keys
other_keys = self.get_other_keys(**params) | set([self.get_instance_params_key(obj.pk)])
other_keys = self.get_other_keys(**params) | {self.get_instance_params_key(obj.pk)}
# Clear all the keys
self.clear_keys(*(prefixed_keys | data_keys | other_keys))

Expand Down Expand Up @@ -336,7 +336,7 @@ def get_request_prefixes(cls, **params):

@classmethod
def get_other_keys(cls, **params):
return set([cls.get_instance_key(**params)])
return {cls.get_instance_key(**params)}


class DataSetCache (Cache):
Expand Down Expand Up @@ -384,7 +384,7 @@ def get_instance_params(self, dataset_obj):
# == Cache invalidation
def get_request_prefixes(self, **params):
owner, dataset = list(map(params.get, ('owner_username', 'dataset_slug')))
prefixes = super(DataSetCache, self).get_request_prefixes(**params)
prefixes = super().get_request_prefixes(**params)

instance_path = reverse('dataset-detail', args=[owner, dataset])
collection_path = reverse('dataset-list', args=[owner])
Expand All @@ -393,7 +393,7 @@ def get_request_prefixes(self, **params):
return prefixes

def get_other_keys(self, **params):
return set([self.get_instance_key(**params), self.get_permissions_key(**params)])
return {self.get_instance_key(**params), self.get_permissions_key(**params)}


class PlaceCache (Cache):
Expand All @@ -411,7 +411,7 @@ def get_instance_params(self, place_obj):

def get_request_prefixes(self, **params):
owner, dataset, place = list(map(params.get, ('owner_username', 'dataset_slug', 'place_id')))
prefixes = super(PlaceCache, self).get_request_prefixes(**params)
prefixes = super().get_request_prefixes(**params)

instance_path = reverse('place-detail', args=[owner, dataset, place])
collection_path = reverse('place-list', args=[owner, dataset])
Expand Down Expand Up @@ -447,7 +447,7 @@ def get_other_keys(self, **params):

def get_request_prefixes(self, **params):
owner, dataset, place, submission_set_name, submission = list(map(params.get, ['owner_username', 'dataset_slug', 'place_id', 'submission_set_name', 'submission_id']))
prefixes = super(SubmissionCache, self).get_request_prefixes(**params)
prefixes = super().get_request_prefixes(**params)

# TODO: it's pretty clear that a developer should be able to register
# a URL with or cache key or prefix or something to be cleared. How
Expand Down Expand Up @@ -516,7 +516,7 @@ def get_instance_params(self, attachment_obj):
return params

def get_request_prefixes(self, **params):
prefixes = super(AttachmentCache, self).get_request_prefixes(**params)
prefixes = super().get_request_prefixes(**params)
if params['thing_type'] == 'submission':
return prefixes | self.get_submission_attachment_request_prefixes(**params)
else:
Expand Down Expand Up @@ -563,4 +563,4 @@ def get_other_keys(self, **params):
thing_serialized_data_keys = self.place_cache.get_serialized_data_keys(thing_id)

# Union the two sets
return set([thing_attachments_key]) | thing_serialized_data_keys
return {thing_attachments_key} | thing_serialized_data_keys
4 changes: 2 additions & 2 deletions src/sa_api_v2/cors/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ class Media:
)

def get_queryset(self, request):
qs = super(OriginAdmin, self).get_queryset(request)
qs = super().get_queryset(request)
user = request.user
if not user.is_superuser:
qs = qs.filter(dataset__owner=user)
Expand All @@ -31,6 +31,6 @@ def get_queryset(self, request):
def save_model(self, request, obj, form, change):
if obj.logged_ip == '':
obj.logged_ip = None
super(OriginAdmin, self).save_model(request, obj, form, change)
super().save_model(request, obj, form, change)

admin.site.register(Origin, OriginAdmin)
2 changes: 1 addition & 1 deletion src/sa_api_v2/cors/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ def clone_related(self, onto):
def save(self, *args, **kwargs):
if self.logged_ip == '':
self.logged_ip = None
return super(Origin, self).save(*args, **kwargs)
return super().save(*args, **kwargs)


def create_data_permissions(sender, instance, created, **kwargs):
Expand Down
7 changes: 2 additions & 5 deletions src/sa_api_v2/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
# -*- coding: utf-8 -*-


from django.db import models, migrations
import sa_api_v2.models.caching
import django.contrib.gis.db.models.fields
Expand Down Expand Up @@ -324,7 +321,7 @@ class Migration(migrations.Migration):
),
migrations.AlterUniqueTogether(
name='group',
unique_together=set([('name', 'dataset')]),
unique_together={('name', 'dataset')},
),
migrations.AddField(
model_name='datasnapshot',
Expand All @@ -334,7 +331,7 @@ class Migration(migrations.Migration):
),
migrations.AlterUniqueTogether(
name='dataset',
unique_together=set([('owner', 'slug')]),
unique_together={('owner', 'slug')},
),
migrations.AddField(
model_name='dataindex',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
# -*- coding: utf-8 -*-


from django.db import models, migrations


Expand Down
3 changes: 0 additions & 3 deletions src/sa_api_v2/migrations/0003_django18_upgrade.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
# -*- coding: utf-8 -*-


from django.db import migrations, models
import sa_api_v2.models.profiles
import django.core.validators
Expand Down
2 changes: 0 additions & 2 deletions src/sa_api_v2/migrations/0004_django_19_updates.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.13 on 2019-06-07 22:56
from __future__ import unicode_literals

import django.core.validators
from django.db import migrations, models
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.28 on 2020-02-29 16:58
from __future__ import unicode_literals

import django.contrib.auth.validators
from django.db import migrations, models
Expand Down
Loading

0 comments on commit c7deb10

Please sign in to comment.