upgrade middleware classes and run 2to3 on apps/profile/

This commit is contained in:
Jonathan Math 2020-06-17 00:40:16 -04:00
parent 861f0175d9
commit 7112b19f18
2 changed files with 46 additions and 9 deletions

View file

@ -12,6 +12,9 @@ from apps.statistics.rstats import round_time
from utils import json_functions as json
class LastSeenMiddleware(object):
def __init__(self, get_response):
self.get_response = get_response
def process_response(self, request, response):
if ((request.path == '/' or
request.path.startswith('/reader/refresh_feeds') or
@ -38,6 +41,9 @@ class LastSeenMiddleware(object):
return response
class DBProfilerMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def process_request(self, request):
setattr(request, 'activated_segments', [])
if ((request.path.startswith('/reader/feed') or
@ -85,7 +91,7 @@ class DBProfilerMiddleware:
r = redis.Redis(connection_pool=settings.REDIS_STATISTICS_POOL)
pipe = r.pipeline()
minute = round_time(round_to=60)
for db, duration in db_times.items():
for db, duration in list(db_times.items()):
key = "DB:%s%s:%s" % (prefix, db, minute.strftime('%s'))
pipe.incr("%s:c" % key)
pipe.expireat("%s:c" % key, (minute + datetime.timedelta(days=2)).strftime("%s"))
@ -96,6 +102,9 @@ class DBProfilerMiddleware:
class SQLLogToConsoleMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def activated(self, request):
return (settings.DEBUG_QUERIES or
(hasattr(request, 'activated_segments') and
@ -242,23 +251,48 @@ SIMPSONS_QUOTES = [
]
class SimpsonsMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def process_response(self, request, response):
quote = random.choice(SIMPSONS_QUOTES)
source = quote[0].replace(' ', '-')
response["X-%s" % source] = quote[1]
return response
def __call__(self, request):
response = self.get_response(request)
return response
class ServerHostnameMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def process_response(self, request, response):
response["X-gunicorn-server"] = settings.SERVER_NAME
return response
def __call__(self, request):
response = self.get_response(request)
return response
class TimingMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def process_request(self, request):
setattr(request, 'start_time', time.time())
def __call__(self, request):
response = self.get_response(request)
return response
BANNED_USER_AGENTS = (
'feed reader-background',
'missing',
@ -268,6 +302,9 @@ BANNED_USERNAMES = (
)
class UserAgentBanMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def process_request(self, request):
user_agent = request.environ.get('HTTP_USER_AGENT', 'missing').lower()

View file

@ -11,7 +11,7 @@ from django.http import HttpResponse, HttpResponseRedirect
from django.contrib.sites.models import Site
from django.contrib.auth.models import User
from django.contrib.admin.views.decorators import staff_member_required
from django.core.urlresolvers import reverse
from django.urls import reverse
from django.shortcuts import render
from django.core.mail import mail_admins
from django.conf import settings
@ -46,7 +46,7 @@ def set_preference(request):
new_preferences = request.POST
preferences = json.decode(request.user.profile.preferences)
for preference_name, preference_value in new_preferences.items():
for preference_name, preference_value in list(new_preferences.items()):
if preference_value in ['true','false']: preference_value = True if preference_value == 'true' else False
if preference_name in SINGLE_FIELD_PREFS:
setattr(request.user.profile, preference_name, preference_value)
@ -164,7 +164,7 @@ def set_account_settings(request):
form.save()
code = 1
else:
message = form.errors[form.errors.keys()[0]][0]
message = form.errors[list(form.errors.keys())[0]][0]
payload = {
"username": request.user.username,
@ -186,7 +186,7 @@ def set_view_setting(request):
view_settings = json.decode(request.user.profile.view_settings)
setting = view_settings.get(feed_id, {})
if isinstance(setting, basestring): setting = {'v': setting}
if isinstance(setting, str): setting = {'v': setting}
if feed_view_setting: setting['v'] = feed_view_setting
if feed_order_setting: setting['o'] = feed_order_setting
if feed_read_filter_setting: setting['r'] = feed_read_filter_setting
@ -210,7 +210,7 @@ def clear_view_setting(request):
view_settings = json.decode(request.user.profile.view_settings)
new_view_settings = {}
removed = 0
for feed_id, view_setting in view_settings.items():
for feed_id, view_setting in list(view_settings.items()):
if view_setting_type == 'layout' and 'l' in view_setting:
del view_setting['l']
removed += 1
@ -476,7 +476,7 @@ def payment_history(request):
"created_date": user.date_joined,
"last_seen_date": user.profile.last_seen_on,
"last_seen_ip": user.profile.last_seen_ip,
"timezone": unicode(user.profile.timezone),
"timezone": str(user.profile.timezone),
"stripe_id": user.profile.stripe_id,
"paypal_email": user.profile.latest_paypal_email,
"profile": user.profile,
@ -521,9 +521,9 @@ def refund_premium(request):
user = User.objects.get(pk=user_id)
try:
refunded = user.profile.refund_premium(partial=partial)
except stripe.InvalidRequestError, e:
except stripe.InvalidRequestError as e:
refunded = e
except PayPalAPIResponseError, e:
except PayPalAPIResponseError as e:
refunded = e
return {'code': 1 if refunded else -1, 'refunded': refunded}