diff --git a/infoscreen/admin.py b/infoscreen/admin.py index d7b314c..5b2bce0 100644 --- a/infoscreen/admin.py +++ b/infoscreen/admin.py @@ -1,10 +1,9 @@ """Admin site registers.""" from django.contrib import admin -from infoscreen.models import Rotation, InfoItem, InfoInstance -from infoscreen.models import ImageInfoItem, ExternalImageInfoItem, ABBInfoItem -from infoscreen.models import ExternalWebsiteInfoItem -from infoscreen.models import VideoInfoItem +from infoscreen.models import ( + Rotation, InfoItem, InfoInstance, ImageInfoItem, + ExternalImageInfoItem, ABBInfoItem, ExternalWebsiteInfoItem, VideoInfoItem) # Register your models here. admin.site.register(Rotation) diff --git a/infoscreen/views/admin_views.py b/infoscreen/views/admin_views.py index b8de20f..4163dc3 100644 --- a/infoscreen/views/admin_views.py +++ b/infoscreen/views/admin_views.py @@ -6,6 +6,7 @@ from django.views.decorators.csrf import ensure_csrf_cookie from django.views.decorators.http import require_http_methods from django.contrib.contenttypes.models import ContentType from django.contrib.auth.decorators import permission_required, login_required +from django.db import DatabaseError from infoscreen.models import UploadFileForm import sikweb.settings as settings @@ -14,14 +15,10 @@ import logging import threading import requests -from infoscreen.models import Rotation, InfoItem, InfoInstance -from infoscreen.models import (ABBInfoItem, ExternalImageInfoItem, - ImageInfoItem, SossoInfoItem, HslInfoItem) -from infoscreen.models import EventInfoItem -from infoscreen.models import ExternalWebsiteInfoItem -from infoscreen.models import ImageUploadForm -from infoscreen.models import ApyInfoItem -from infoscreen.models import VideoInfoItem +from infoscreen.models import ( + Rotation, InfoItem, InfoInstance, ABBInfoItem, ExternalImageInfoItem, + ImageInfoItem, SossoInfoItem, HslInfoItem, EventInfoItem, + ExternalWebsiteInfoItem, ImageUploadForm, ApyInfoItem, VideoInfoItem) @login_required(login_url='/admin/login') @@ -41,7 +38,7 @@ def create_item_generator(model): def create_item(request, *args, **kwargs): try: data = json.loads(request.body.decode("utf-8")) - except ValueError: + except json.JSONDecodeError: return HttpResponseBadRequest( '{"status":"failure","error":"invalid json supplied"}') try: @@ -71,7 +68,7 @@ def delete_item_generator(model): try: item.delete() return HttpResponse('{"status":"success"}') - except: + except DatabaseError: resp = HttpResponse('{"error" : "could not delete item"}') resp.status_code = 500 return resp @@ -97,7 +94,7 @@ def delete_info_item(request, *args, **kwargs): try: item.delete() return HttpResponse('{"status":"success"}') - except: + except DatabaseError: resp = HttpResponse('{"error" : "could not delete item"}') resp.status_code = 500 return resp @@ -145,14 +142,14 @@ def create_rotation(request, *args, **kwargs): """Create rotation.""" try: data = json.loads(request.body.decode("utf-8")) - except: + except json.JSONDecodeError: return HttpResponse('{"error": "bad post body!"}', status=400) try: name = data["name"] Rotation.objects.create(name=name) resp = HttpResponse(status=200) - except: + except DatabaseError: resp = HttpResponse( '{"error" : "could not create rotation!"}', status=400) @@ -171,7 +168,7 @@ def delete_rotation(request, *args, **kwargs): try: Rotation.objects.filter(id=id).delete() resp = HttpResponse(status=200) - except: + except DatabaseError: resp = HttpResponse( '{"error" : "could not delete rotation!"}', status=400) diff --git a/infoscreen/views/public_views.py b/infoscreen/views/public_views.py index b7c8b6a..9a7ac85 100644 --- a/infoscreen/views/public_views.py +++ b/infoscreen/views/public_views.py @@ -2,6 +2,7 @@ from django.shortcuts import render from django.http import HttpResponse, JsonResponse, HttpResponseBadRequest from django.views.decorators.http import require_http_methods from django.conf import settings +from django.db import DatabaseError from infoscreen.models import Rotation, InfoItem, InfoInstance from infoscreen.hsl_fetcher import fetch as hsl_fetch @@ -23,7 +24,7 @@ def default(request, *args, **kwargs): """Try getting first rotation item.""" try: first = Rotation.objects.all()[0].id - except: + except DatabaseError: first = 0 return index(request, first, *args, **kwargs)