This is an automated email from the ASF dual-hosted git repository. brondsem pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/allura.git
commit 83d264c13155e8e64fb03331042774b9974de572 Author: Dave Brondsema <[email protected]> AuthorDate: Thu Aug 3 13:00:04 2023 -0400 [#8516] misc type annotations --- Allura/allura/controllers/discuss.py | 4 ++-- Allura/allura/model/artifact.py | 4 +++- Allura/allura/model/discuss.py | 16 ++++++++-------- ForgeBlog/forgeblog/main.py | 2 +- ForgeDiscussion/forgediscussion/controllers/forum.py | 5 +++-- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/Allura/allura/controllers/discuss.py b/Allura/allura/controllers/discuss.py index f095518c3..43478c9b3 100644 --- a/Allura/allura/controllers/discuss.py +++ b/Allura/allura/controllers/discuss.py @@ -171,8 +171,8 @@ class ThreadsController(BaseController, metaclass=h.ProxiedAttrMeta): class ThreadController(BaseController, FeedController, metaclass=h.ProxiedAttrMeta): - M = h.attrproxy('_discussion_controller', 'M') - W = h.attrproxy('_discussion_controller', 'W') + M: ModelConfig = h.attrproxy('_discussion_controller', 'M') + W: WidgetConfig = h.attrproxy('_discussion_controller', 'W') ThreadController = h.attrproxy( '_discussion_controller', 'ThreadController') PostController = h.attrproxy('_discussion_controller', 'PostController') diff --git a/Allura/allura/model/artifact.py b/Allura/allura/model/artifact.py index d84baf287..3527b1d48 100644 --- a/Allura/allura/model/artifact.py +++ b/Allura/allura/model/artifact.py @@ -14,6 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. +from __future__ import annotations import logging from collections import defaultdict @@ -50,6 +51,7 @@ import six if typing.TYPE_CHECKING: from ming.odm.mapper import Query + from allura.model import BaseAttachment log = logging.getLogger(__name__) @@ -466,7 +468,7 @@ class Artifact(MappedClass, SearchIndexable): def attachments(self): return self._get_attachments() - def _get_attachments(self, unique_files_only=True, include_thumbnails=False): + def _get_attachments(self, unique_files_only=True, include_thumbnails=False) -> list[BaseAttachment]: if hasattr(self, '_attachments'): atts = self._attachments else: diff --git a/Allura/allura/model/discuss.py b/Allura/allura/model/discuss.py index fabd9b7f0..24288966d 100644 --- a/Allura/allura/model/discuss.py +++ b/Allura/allura/model/discuss.py @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. - +from __future__ import annotations import os import logging from datetime import datetime @@ -87,11 +87,11 @@ class Discussion(Artifact, ActivityObject): return 'discussion %s' % self.name @classmethod - def thread_class(cls): + def thread_class(cls) -> Thread: return cls.threads.related @classmethod - def post_class(cls): + def post_class(cls) -> Post: return cls.posts.related @classmethod @@ -256,11 +256,11 @@ class Thread(Artifact, ActivityObject): continue @classmethod - def discussion_class(cls): + def discussion_class(cls) -> Discussion: return cls.discussion.related @classmethod - def post_class(cls): + def post_class(cls) -> Post: return cls.posts.related @classmethod @@ -491,7 +491,7 @@ class PostHistory(Snapshot): artifact_id = ForeignIdProperty('Post') @classmethod - def post_class(cls): + def post_class(cls) -> Post: return cls.artifact_id.related def original(self): @@ -623,11 +623,11 @@ class Post(Message, VersionedArtifact, ActivityObject, ReactableArtifact): return result @classmethod - def discussion_class(cls): + def discussion_class(cls) -> Discussion: return cls.discussion.related @classmethod - def thread_class(cls): + def thread_class(cls) -> Thread: return cls.thread.related @classmethod diff --git a/ForgeBlog/forgeblog/main.py b/ForgeBlog/forgeblog/main.py index 3e57cd5e9..91c597a57 100644 --- a/ForgeBlog/forgeblog/main.py +++ b/ForgeBlog/forgeblog/main.py @@ -375,7 +375,7 @@ class BlogAttachmentsController(AttachmentsController): class PostController(BaseController, FeedController): - def __init__(self, post): + def __init__(self, post: BM.BlogPost): self.post = post self.attachment = BlogAttachmentsController(self.post) diff --git a/ForgeDiscussion/forgediscussion/controllers/forum.py b/ForgeDiscussion/forgediscussion/controllers/forum.py index 9d7e343a2..953d40dd0 100644 --- a/ForgeDiscussion/forgediscussion/controllers/forum.py +++ b/ForgeDiscussion/forgediscussion/controllers/forum.py @@ -33,6 +33,7 @@ from allura import model as M from allura.lib.security import has_access, require_access from allura.lib.decorators import require_post from allura.controllers import DiscussionController, ThreadController, PostController, ModerationController +from allura.controllers import discuss as controllers_discuss from allura.lib.widgets import discuss as DW from allura.lib.widgets.subscriptions import SubscribeForm @@ -51,14 +52,14 @@ class pass_validator: pass_validator = pass_validator() -class ModelConfig: +class ModelConfig(controllers_discuss.ModelConfig): Discussion = DM.Forum Thread = DM.ForumThread Post = DM.ForumPost Attachment = M.DiscussionAttachment -class WidgetConfig: +class WidgetConfig(controllers_discuss.WidgetConfig): # Forms subscription_form = DW.SubscriptionForm() subscribe_form = SubscribeForm()
