fix some type hints
This commit is contained in:
parent
a69fc2ac4b
commit
7d1388df30
12 changed files with 36 additions and 48 deletions
|
@ -237,7 +237,7 @@ SITE_INFO = {
|
|||
"sentry_dsn": None,
|
||||
}
|
||||
|
||||
REDIRECT_URIS = SITE_INFO["site_url"] + "/users/OAuth2_login/"
|
||||
REDIRECT_URIS = f'{SITE_INFO["site_url"]}/users/OAuth2_login/'
|
||||
# if you are creating new site, use
|
||||
# REDIRECT_URIS = SITE_INFO["site_url"] + "/account/login/oauth"
|
||||
|
||||
|
@ -386,11 +386,11 @@ SEARCH_INDEX_NEW_ONLY = False
|
|||
# MEILISEARCH_KEY = 'deadbeef'
|
||||
|
||||
# SEARCH_BACKEND = "TYPESENSE"
|
||||
# TYPESENSE_CONNECTION = {
|
||||
# "api_key": "xyz",
|
||||
# "nodes": [{"host": "localhost", "port": "8108", "protocol": "http"}],
|
||||
# "connection_timeout_seconds": 2,
|
||||
# }
|
||||
TYPESENSE_CONNECTION = {
|
||||
"api_key": "xyz",
|
||||
"nodes": [{"host": "localhost", "port": "8108", "protocol": "http"}],
|
||||
"connection_timeout_seconds": 2,
|
||||
}
|
||||
|
||||
SEARCH_BACKEND = None
|
||||
|
||||
|
@ -410,7 +410,8 @@ DISABLE_MODEL_SIGNAL = False # disable index and social feeds during importing/
|
|||
# SILKY_MAX_RESPONSE_BODY_SIZE = 1024 # If response body>1024 bytes, ignore
|
||||
# SILKY_INTERCEPT_PERCENT = 10
|
||||
|
||||
DISCORD_WEBHOOKS = {}
|
||||
DISCORD_WEBHOOKS = {"user-report": None}
|
||||
|
||||
|
||||
NINJA_PAGINATION_PER_PAGE = 20
|
||||
OAUTH2_PROVIDER = {
|
||||
|
|
|
@ -22,7 +22,7 @@ from common.api import api
|
|||
from users.views import login
|
||||
|
||||
urlpatterns = [
|
||||
# path("api/", api.urls), # type: ignore
|
||||
path("api/", api.urls), # type: ignore
|
||||
path("login/", login),
|
||||
path("markdownx/", include("markdownx.urls")),
|
||||
path("account/", include("users.urls")),
|
||||
|
|
|
@ -205,7 +205,7 @@ def search_item_legacy(
|
|||
query = query.strip()
|
||||
if not query:
|
||||
return 400, {"message": "Invalid query"}
|
||||
result = Indexer.search(query, page=1, category=category)
|
||||
result = Indexer.search(query, page=1, categories=[category])
|
||||
return 200, {"items": result.items}
|
||||
|
||||
|
||||
|
|
|
@ -246,8 +246,8 @@ class Item(SoftDeleteMixin, PolymorphicModel):
|
|||
url_path = "item" # subclass must specify this
|
||||
type = None # subclass must specify this
|
||||
parent_class = None # subclass may specify this to allow create child item
|
||||
category = None # subclass must specify this
|
||||
demonstrative = None # subclass must specify this
|
||||
category: ItemCategory | None = None # subclass must specify this
|
||||
demonstrative: str | None = None # subclass must specify this
|
||||
uid = models.UUIDField(default=uuid.uuid4, editable=False, db_index=True)
|
||||
title = models.CharField(_("标题"), max_length=1000, default="")
|
||||
brief = models.TextField(_("简介"), blank=True, default="")
|
||||
|
|
|
@ -10,11 +10,11 @@ import json
|
|||
import logging
|
||||
import re
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Callable
|
||||
from typing import Callable, Type
|
||||
|
||||
import django_rq
|
||||
|
||||
from .models import ExternalResource, IdealIdTypes, IdType, Item
|
||||
from .models import ExternalResource, IdealIdTypes, IdType, Item, SiteName
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -38,10 +38,10 @@ class AbstractSite:
|
|||
Abstract class to represent a site
|
||||
"""
|
||||
|
||||
SITE_NAME = None
|
||||
ID_TYPE = None
|
||||
WIKI_PROPERTY_ID = "P0undefined0"
|
||||
DEFAULT_MODEL = None
|
||||
SITE_NAME: SiteName | None = None
|
||||
ID_TYPE: IdType | None = None
|
||||
WIKI_PROPERTY_ID: str | None = "P0undefined0"
|
||||
DEFAULT_MODEL: Type[Item] | None = None
|
||||
URL_PATTERNS = [r"\w+://undefined/(\d+)"]
|
||||
|
||||
@classmethod
|
||||
|
@ -57,7 +57,7 @@ class AbstractSite:
|
|||
return False
|
||||
|
||||
@classmethod
|
||||
def id_to_url(cls, id_value):
|
||||
def id_to_url(cls, id_value: str):
|
||||
return "https://undefined/" + id_value
|
||||
|
||||
@classmethod
|
||||
|
|
|
@ -7,7 +7,7 @@ from django.utils import timezone
|
|||
from loguru import logger
|
||||
|
||||
from catalog.models import *
|
||||
from journal.models import Comment, ItemCategory, ShelfMember, query_item_category
|
||||
from journal.models import Comment, ShelfMember, query_item_category
|
||||
|
||||
MAX_ITEMS_PER_PERIOD = 12
|
||||
MIN_MARKS = 2
|
||||
|
|
|
@ -69,7 +69,7 @@ class PageNumberPagination(NinjaPageNumberPagination):
|
|||
|
||||
api = NinjaAPI(
|
||||
auth=OAuthAccessTokenAuth(),
|
||||
title=settings.SITE_INFO["site_name"] + " API",
|
||||
title=f'{settings.SITE_INFO["site_name"]} API',
|
||||
version="1.0.0",
|
||||
description=f"{settings.SITE_INFO['site_name']} API <hr/><a href='{settings.SITE_INFO['site_url']}'>Learn more</a>",
|
||||
)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
from django import template
|
||||
from django.shortcuts import reverse
|
||||
from django.urls import reverse
|
||||
|
||||
from journal.models import Collection, Like
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import re
|
||||
|
||||
from django.db import models
|
||||
from django.shortcuts import reverse
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from markdown import markdown
|
||||
from markdownx.models import MarkdownxField
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
from django.conf import settings
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
from mastodon.api import get_instance_info
|
||||
from mastodon.models import MastodonApplication
|
||||
from users.models import User
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = "Find wrong sites"
|
||||
|
||||
def handle(self, *args, **options):
|
||||
for site in MastodonApplication.objects.all():
|
||||
d = site.domain_name
|
||||
login_domain = (
|
||||
d.strip().lower().split("//")[-1].split("/")[0].split("@")[-1]
|
||||
)
|
||||
domain, version = get_instance_info(login_domain)
|
||||
if d != domain:
|
||||
print(f"{d} should be {domain}")
|
||||
for u in User.objects.filter(mastodon_site=d, is_active=True):
|
||||
u.mastodon_site = domain
|
||||
print(f"fixing {u}")
|
||||
u.save()
|
|
@ -7,3 +7,13 @@ indent=2
|
|||
|
||||
[tool.isort]
|
||||
profile = "black"
|
||||
|
||||
[tool.mypy]
|
||||
exclude = [
|
||||
'^neodb/',
|
||||
'^legacy/',
|
||||
]
|
||||
plugins = ["mypy_django_plugin.main"]
|
||||
|
||||
[tool.django-stubs]
|
||||
django_settings_module = "boofilsic.settings"
|
||||
|
|
|
@ -8,6 +8,7 @@ ActivityManager generates chronological view for user and, in future, ActivitySt
|
|||
|
||||
import logging
|
||||
from functools import cached_property
|
||||
from typing import Type
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import models
|
||||
|
@ -125,8 +126,8 @@ class DataSignalManager:
|
|||
|
||||
|
||||
class DefaultActivityProcessor:
|
||||
model = None
|
||||
template = None
|
||||
model: Type[Piece]
|
||||
template: ActivityTemplate
|
||||
|
||||
def __init__(self, action_object):
|
||||
self.action_object = action_object
|
||||
|
|
Loading…
Add table
Reference in a new issue