Added linting and got tests passing

This commit is contained in:
2026-05-12 13:26:56 +10:00
parent ca62ed693a
commit cfd6d45189
13 changed files with 53 additions and 48 deletions
+1 -3
View File
@@ -1,5 +1,5 @@
from django.test import TestCase
from interface import models, utils
from interface import models
from django.contrib.auth.models import User
from django.utils import timezone
from datetime import timedelta
@@ -16,7 +16,6 @@ class AccessTestCase(TestCase):
@classmethod
def setUpTestData(cls):
cls.users = {}
for details in cls.USERS:
cls.users[details["username"]] = User.objects.create_user(**details)
@@ -42,7 +41,6 @@ class AccessTestCase(TestCase):
return
def test_protected_views(self):
self.assertAccess({x: False for x in self.PROTECTED_URLS})
if "admin" in self.users:
+1 -1
View File
@@ -1,6 +1,7 @@
from django.urls import path
from django.contrib.auth import views as auth_views
from django.views.generic.base import RedirectView
from django.conf import settings
from . import views
@@ -69,7 +70,6 @@ urlpatterns = [
),
]
from django.conf import settings
if settings.DEBUG:
from django.views.static import serve
+6 -7
View File
@@ -1,20 +1,19 @@
from django.shortcuts import resolve_url
from django.core.signing import Signer
from django.core.exceptions import SuspiciousOperation
import logging
signer = Signer()
import logging
logger = logging.getLogger(__name__)
def sign_data(data, l=None):
def sign_data(data, length=None):
sig = signer.sign(data)
p = len(data) + 1
if l:
l += p
return sig[p:l]
pos = len(data) + 1
if length:
length += pos
return sig[pos:length]
def signed_url(name, **kwargs):
+1 -2
View File
@@ -345,12 +345,11 @@ class Work(models.Model):
@property
def identifier(self):
if self.code:
return self.code
composer = self.composer or "Anon"
composer = re.sub("[^\w]", "", composer)
composer = re.sub(r"[^\w]", "", composer)
words = self.name.split()
work = words[0][:3]
+4 -5
View File
@@ -1,4 +1,5 @@
from collections import namedtuple
import re
GENERAL = """
mvmt Movement
@@ -195,8 +196,8 @@ class MusicTag(namedtuple("MusicTag", ("name", "variant"), defaults=[None])):
@property
def tag(self):
l = self.name.lower()
return MUSIC_TAG_BY_NAME.get(l, l)
lc = self.name.lower()
return MUSIC_TAG_BY_NAME.get(lc, lc)
@property
def is_general(self):
@@ -232,9 +233,7 @@ class MusicTag(namedtuple("MusicTag", ("name", "variant"), defaults=[None])):
return self.name
import re
PATTERNS = [re.compile("([A-Za-z]+)[_\- ]*(\d+)"), re.compile("([A-Za-z]+)()")]
PATTERNS = [re.compile(r"([A-Za-z]+)[_\- ]*(\d+)"), re.compile(r"([A-Za-z]+)()")]
def auto_tag(filename):
@@ -1,7 +1,7 @@
from interface.tests import AccessTestCase
from byostorage.user import UserStorage
from . import models
from library import models
import tempfile
import json
+8
View File
@@ -0,0 +1,8 @@
from doctest import DocTestSuite
from library import music_tags
def load_tests(loader, tests, ignore):
tests.addTests(DocTestSuite(music_tags))
return tests
+2 -2
View File
@@ -477,7 +477,7 @@ class WorkAddDocumentView(CollectionMixin, CreateView):
doc.sections.create(tag=inst.abbreviate())
if self.request.headers["Accept"] == "application/json":
filename = os.path.basename(doc.upload.name)
os.path.basename(doc.upload.name)
return JsonResponse(
{
"message": "created",
@@ -541,7 +541,7 @@ class DocumentAnnotateView(DocumentMixin, DetailView):
for tag, start, end in data:
# pages.sort()
# end = pages[-1] if len(pages) > 1 else None
o = self.object.sections.create(tag=tag, start=start, end=end)
self.object.sections.create(tag=tag, start=start, end=end)
return HttpResponse(status=204)
+17 -19
View File
@@ -1,3 +1,20 @@
from interface.views import AuthorizedResourceMixin
from rest_framework import serializers
from rest_framework.exceptions import APIException
from rest_framework import generics
from library.models import Collection, Work, Document, Section, WorkMeta
import requests
import urllib
import shutil
import os.path
from django.db import transaction
from django.core.files.uploadedfile import TemporaryUploadedFile
"""
Views relating to importing and exporting collection items
"""
@@ -33,22 +50,6 @@ class WorkExportView(EnsembleMixin, WorkMixin, View):
"""
from interface.views import AuthorizedResourceMixin
from rest_framework import serializers
from rest_framework.exceptions import APIException
from library.models import Collection, Work, Document, Section, WorkMeta
import requests
import urllib
import shutil
import os.path
from django.db import transaction
from django.core.files.uploadedfile import TemporaryUploadedFile
class WorkMetaSerializer(serializers.ModelSerializer):
class Meta:
@@ -176,9 +177,6 @@ class CollectionSerializer(serializers.Serializer):
return Collection.objects.get(pk=collection)
from rest_framework import generics
class CollectionExportView(AuthorizedResourceMixin, generics.RetrieveAPIView):
serializer_class = CollectionSerializer
+3 -3
View File
@@ -1,6 +1,6 @@
try:
from .local_settings import *
from .local_settings import * # noqa
except ImportError:
from .default_settings import *
from .default_settings import * # noqa
INSTALLED_APPS += POLYPHONIC_MODULES
INSTALLED_APPS += POLYPHONIC_MODULES # type: ignore #noqa
+1 -1
View File
@@ -15,7 +15,7 @@ Including another URLconf
"""
from django.contrib import admin
from django.urls import path, re_path, include
from django.urls import path, include
urlpatterns = [
path("admin/", admin.site.urls),