Skip to content

Commit

Permalink
Django 1.11 fixes.
Browse files Browse the repository at this point in the history
* Fixes for empty site installs.
  • Loading branch information
audaciouscode committed May 12, 2017
1 parent e3a9ead commit 59027f9
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 39 deletions.
6 changes: 6 additions & 0 deletions models.py
Expand Up @@ -392,6 +392,9 @@ def last_upload(self):
def last_upload_status(self):
upload = self.last_upload()

if upload is None:
return "danger"

now = timezone.now()

diff = now - upload
Expand All @@ -406,6 +409,9 @@ def last_upload_status(self):
def config_last_fetched_status(self):
upload = self.config_last_fetched

if upload is None:
return "danger"

now = timezone.now()

diff = now - upload
Expand Down
33 changes: 22 additions & 11 deletions templatetags/purple_robot.py
Expand Up @@ -30,7 +30,8 @@ def render(self, context):
except AttributeError:
pass

return render_to_string('tag_pr_device_custom_sidebar_unknown.html')
return render_to_string('tag_pr_device_custom_sidebar_unknown.html', \
context=context.flatten(), request=context.request)


@register.tag(name="pr_device_custom_navbar")
Expand All @@ -48,7 +49,8 @@ def render(self, context):
except AttributeError:
pass

return render_to_string('tag_pr_device_custom_navbar_default.html', context)
return render_to_string('tag_pr_device_custom_navbar_default.html', \
context=context.flatten(), request=context.request)


@register.tag(name="pr_home_custom_console")
Expand All @@ -66,7 +68,8 @@ def render(self, context):
except AttributeError:
pass

return render_to_string('tag_pr_home_custom_console_unknown.html')
return render_to_string('tag_pr_home_custom_console_unknown.html', \
context=context.flatten(), request=context.request)


@register.tag(name="pr_device_custom_console")
Expand All @@ -84,7 +87,8 @@ def render(self, context):
except AttributeError:
pass

return render_to_string('tag_pr_device_custom_console_unknown.html')
return render_to_string('tag_pr_device_custom_console_unknown.html', \
context=context.flatten(), request=context.request)


@register.tag(name="pr_group_table")
Expand Down Expand Up @@ -112,7 +116,8 @@ def render(self, context):
else:
context['device_group_devices'] = list(PurpleRobotDevice.objects.filter(device_group=None).order_by('name', 'device_id')) # pylint: disable=line-too-long

return render_to_string('tag_pr_group_table.html', context)
return render_to_string('tag_pr_group_table.html', context=context.flatten(), \
request=context.request)


@register.tag(name="pr_timestamp_ago")
Expand Down Expand Up @@ -157,7 +162,8 @@ def render(self, context):
context['ago'] = ago_str
context['date'] = date_obj

return render_to_string('tag_pr_date_ago.html', context)
return render_to_string('tag_pr_date_ago.html', context=context.flatten(), \
request=context.request)


@register.tag(name="pr_date_ago")
Expand Down Expand Up @@ -200,7 +206,8 @@ def render(self, context):
context['ago'] = ago_str
context['date'] = date_obj

return render_to_string('tag_pr_date_ago.html', context)
return render_to_string('tag_pr_date_ago.html', context=context.flatten(), \
request=context.request)


@register.tag(name="pr_human_duration")
Expand Down Expand Up @@ -236,7 +243,8 @@ def render(self, context):
context['human_duration'] = ago_str
context['seconds'] = seconds_obj

return render_to_string('tag_pr_human_duration.html', context)
return render_to_string('tag_pr_human_duration.html', context=context.flatten(), \
request=context.request)


@register.tag(name="pr_frequency")
Expand Down Expand Up @@ -292,7 +300,8 @@ def render(self, context):
context['value'] = value
context['tooltip'] = tooltip

return render_to_string('tag_pr_frequency.html', context)
return render_to_string('tag_pr_frequency.html', context=context.flatten(), \
request=context.request)


@register.tag(name="pr_device_alerts")
Expand Down Expand Up @@ -320,7 +329,8 @@ def render(self, context):
context['value'] = 0
context['tooltip'] = 'No alerts.'

return render_to_string('tag_pr_device_alerts.html', context)
return render_to_string('tag_pr_device_alerts.html', context=context.flatten(), \
request=context.request)

alerts = PurpleRobotAlert.objects.filter(user_id=user_id, dismissed=None).order_by('-severity') # pylint: disable=line-too-long

Expand Down Expand Up @@ -350,7 +360,8 @@ def render(self, context):
context['value'] = alerts.count()
context['tooltip'] = tooltip

return render_to_string('tag_pr_device_alerts.html', context)
return render_to_string('tag_pr_device_alerts.html', context=context.flatten(), \
request=context.request)


@register.tag(name="pr_data_size")
Expand Down
69 changes: 41 additions & 28 deletions views.py
Expand Up @@ -13,8 +13,7 @@
from django.contrib.admin.views.decorators import staff_member_required
from django.core.urlresolvers import reverse
from django.http import HttpResponse, UnreadablePostError
from django.shortcuts import render_to_response, get_object_or_404, redirect
from django.template import RequestContext
from django.shortcuts import render, get_object_or_404, redirect
from django.utils import timezone
from django.views.decorators.cache import never_cache
from django.views.decorators.csrf import csrf_exempt
Expand Down Expand Up @@ -199,17 +198,17 @@ def log_event(request):
@staff_member_required
@never_cache
def test_report(request, slug):
context = RequestContext(request)
context = {}

context['test'] = get_object_or_404(PurpleRobotTest, slug=slug)

return render_to_response('purple_robot_test.html', context)
return render(request, 'purple_robot_test.html', context)


@staff_member_required
@never_cache
def tests_by_user(request, user_id):
context = RequestContext(request)
context = {}

context['tests'] = PurpleRobotTest.objects.filter(user_id=user_id)
context['user_id'] = user_id
Expand All @@ -220,13 +219,13 @@ def tests_by_user(request, user_id):
if test.active and test.passes() is False:
context['success'] = False

return render_to_response('purple_robot_tests.html', context)
return render(request, 'purple_robot_tests.html', context)


@staff_member_required
@never_cache
def tests_all(request):
context = RequestContext(request)
context = {}

context['tests'] = PurpleRobotTest.objects.order_by('-last_updated')
context['user_id'] = 'All'
Expand All @@ -237,18 +236,18 @@ def tests_all(request):
if test.active and test.passes() is False:
context['success'] = False

return render_to_response('purple_robot_tests.html', context)
return render(request, 'purple_robot_tests.html', context)


@staff_member_required
@never_cache
def pr_home(request):
context = RequestContext(request)
context = {}

context['device_groups'] = PurpleRobotDeviceGroup.objects.all()
context['unattached_devices'] = PurpleRobotDevice.objects.filter(device_group=None)

return render_to_response('purple_robot_home.html', context)
return render(request, 'purple_robot_home.html', context)


@staff_member_required
Expand All @@ -268,13 +267,13 @@ def pr_device(request, device_id): # pylint: disable=unused-argument
except KeyError:
context['pr_show_notes'] = True

return render_to_response('purple_robot_device.html', context)
return render(request, 'purple_robot_device.html', context)


@staff_member_required
@never_cache
def pr_device_probe(request, device_id, probe_name):
context = RequestContext(request)
context = {}

context['device'] = PurpleRobotDevice.objects.get(device_id=device_id)
context['probe_name'] = probe_name
Expand All @@ -294,13 +293,13 @@ def pr_device_probe(request, device_id, probe_name):
except KeyError:
context['pr_show_notes'] = True

return render_to_response('purple_robot_device_probe.html', context)
return render(request, 'purple_robot_device_probe.html', context)


@staff_member_required
@never_cache
def pr_by_probe(request): # pylint: disable=unused-argument
return render_to_response('purple_robot_probe.html')
return render(request, 'purple_robot_probe.html')


@staff_member_required
Expand All @@ -323,10 +322,10 @@ def pr_by_user(request):

users[user_id] = user_dict

context = RequestContext(request)
context = {}
context['users'] = users

return render_to_response('purple_robot_user.html', context)
return render(request, 'purple_robot_user.html', context)


@staff_member_required
Expand Down Expand Up @@ -433,7 +432,7 @@ def fetch_export_file(request, job_pk): # pylint: disable=unused-argument
@staff_member_required
@never_cache
def create_export_job(request):
context = RequestContext(request)
context = {}

context['form'] = ExportJobForm()

Expand Down Expand Up @@ -471,7 +470,7 @@ def create_export_job(request):
else:
context['form'] = form

return render_to_response('purple_robot_export.html', context)
return render(request, 'purple_robot_export.html', context)


@staff_member_required
Expand Down Expand Up @@ -550,7 +549,7 @@ def pr_configurations(request): # pylint: disable=unused-argument

context['configurations'] = PurpleRobotConfiguration.objects.all()

return render_to_response('purple_robot_configurations.html', context)
return render(request, 'purple_robot_configurations.html', context)


@staff_member_required
Expand All @@ -560,7 +559,7 @@ def pr_configuration(request, config_id): # pylint: disable=unused-argument

context['config'] = get_object_or_404(PurpleRobotConfiguration, slug=config_id)

return render_to_response('purple_robot_configuration.html', context)
return render(request, 'purple_robot_configuration.html', context)


@staff_member_required
Expand Down Expand Up @@ -599,7 +598,7 @@ def pr_add_note(request):


@never_cache
def pr_status(request): # pylint: disable=unused-argument, too-many-branches, too-many-statements
def pr_status(request): # pylint: disable=unused-argument, too-many-branches, too-many-statements, too-many-locals
context = {}

context['server_performance'] = fetch_performance_samples('system', 'server_performance')
Expand All @@ -617,7 +616,12 @@ def pr_status(request): # pylint: disable=unused-argument, too-many-branches, to
context['pending_mirror_ages'] = fetch_performance_samples('system', 'pending_mirror_ages')
context['pending_ingest_ages'] = fetch_performance_samples('system', 'pending_ingest_ages')

context['payload_uploads'] = fetch_performance_samples('system', 'payload_uploads')[-1]['counts']
samples = fetch_performance_samples('system', 'payload_uploads')

context['payload_uploads'] = []

if samples:
context['payload_uploads'] = samples[-1]['counts']

context['timezone'] = settings.TIME_ZONE

Expand All @@ -629,7 +633,10 @@ def pr_status(request): # pylint: disable=unused-argument, too-many-branches, to

week_ago = timezone.now() - datetime.timedelta(days=7)

upload_seconds = (arrow.get(context['uploads_today'][-1]['sample_date']).datetime.astimezone(here_tz) - start_today).total_seconds()
upload_seconds = 0

if context['uploads_today']:
upload_seconds = (arrow.get(context['uploads_today'][-1]['sample_date']).datetime.astimezone(here_tz) - start_today).total_seconds()

context['now'] = now
context['start_today'] = start_today
Expand All @@ -644,7 +651,10 @@ def pr_status(request): # pylint: disable=unused-argument, too-many-branches, to
context['upload_seconds'] = upload_seconds
context['uploads_today'] = arrow.get(context['uploads_today'][-1]['sample_date']).datetime.astimezone(here_tz) # c['uploads_today'][-1]['sample_date']

upload_seconds = (arrow.get(context['uploads_hour'][-1]['sample_date']).datetime.astimezone(here_tz) - start_hour).total_seconds()
upload_seconds = 0

if context['uploads_hour']:
upload_seconds = (arrow.get(context['uploads_hour'][-1]['sample_date']).datetime.astimezone(here_tz) - start_hour).total_seconds()

context['upload_hour_count'] = '-'
context['upload_hour_rate'] = '-'
Expand Down Expand Up @@ -679,8 +689,11 @@ def pr_status(request): # pylint: disable=unused-argument, too-many-branches, to
if arrow.get(item['sample_date']).datetime >= start_hour:
hour_items.append(item['num_extracted'] / (item['extraction_time'] + item['query_time']))

context['ingest_average_day'] = numpy.mean(day_items)
context['ingest_average_hour'] = numpy.mean(hour_items)
if day_items:
context['ingest_average_day'] = numpy.mean(day_items)

if hour_items:
context['ingest_average_hour'] = numpy.mean(hour_items)

day_items = []
hour_items = []
Expand All @@ -698,7 +711,7 @@ def pr_status(request): # pylint: disable=unused-argument, too-many-branches, to
if hour_items:
context['mirror_average_hour'] = numpy.mean(hour_items)

return render_to_response('purple_robot_status.html', context)
return render(request, 'purple_robot_status.html', context)


@staff_member_required
Expand All @@ -717,4 +730,4 @@ def pr_users(request): # pylint: disable=unused-argument

context['phantoms'] = phantoms

return render_to_response('purple_robot_users.html', context)
return render(request, 'purple_robot_users.html', context)

0 comments on commit 59027f9

Please sign in to comment.