diff --git a/services/cache.py b/cache/cache.py similarity index 99% rename from services/cache.py rename to cache/cache.py index 8ecc8b62..7042d9f5 100644 --- a/services/cache.py +++ b/cache/cache.py @@ -7,9 +7,9 @@ from orm.author import Author, AuthorFollower from orm.topic import Topic, TopicFollower from orm.shout import Shout, ShoutAuthor, ShoutTopic from services.db import local_session -from services.encoders import CustomJSONEncoder -from services.rediscache import redis -from services.logger import root_logger as logger +from utils.encoders import CustomJSONEncoder +from cache.rediscache import redis +from utils.logger import root_logger as logger DEFAULT_FOLLOWS = { "topics": [], diff --git a/services/memorycache.py b/cache/memorycache.py similarity index 100% rename from services/memorycache.py rename to cache/memorycache.py diff --git a/services/precache.py b/cache/precache.py similarity index 96% rename from services/precache.py rename to cache/precache.py index eff9d3fe..8471c0b2 100644 --- a/services/precache.py +++ b/cache/precache.py @@ -6,11 +6,11 @@ from orm.author import Author, AuthorFollower from orm.shout import Shout, ShoutAuthor, ShoutTopic from orm.topic import Topic, TopicFollower from resolvers.stat import get_with_stat -from services.cache import cache_author, cache_topic +from cache.cache import cache_author, cache_topic from services.db import local_session -from services.encoders import CustomJSONEncoder -from services.logger import root_logger as logger -from services.rediscache import redis +from utils.encoders import CustomJSONEncoder +from utils.logger import root_logger as logger +from cache.rediscache import redis async def precache_authors_followers(author_id, session): diff --git a/services/rediscache.py b/cache/rediscache.py similarity index 100% rename from services/rediscache.py rename to cache/rediscache.py diff --git a/services/revalidator.py b/cache/revalidator.py similarity index 93% rename from services/revalidator.py rename to cache/revalidator.py index d735b376..50213858 100644 --- a/services/revalidator.py +++ b/cache/revalidator.py @@ -1,6 +1,6 @@ import asyncio -from services.logger import root_logger as logger -from services.cache import get_cached_author, cache_author, cache_topic, get_cached_topic +from utils.logger import root_logger as logger +from cache.cache import get_cached_author, cache_author, cache_topic, get_cached_topic class CacheRevalidationManager: diff --git a/services/triggers.py b/cache/triggers.py similarity index 97% rename from services/triggers.py rename to cache/triggers.py index 13acb778..444fc2e7 100644 --- a/services/triggers.py +++ b/cache/triggers.py @@ -3,8 +3,8 @@ from orm.author import Author, AuthorFollower from orm.reaction import Reaction from orm.shout import Shout, ShoutAuthor from orm.topic import Topic, TopicFollower -from services.revalidator import revalidation_manager -from services.logger import root_logger as logger +from cache.revalidator import revalidation_manager +from utils.logger import root_logger as logger def after_update_handler(mapper, connection, target): diff --git a/services/unread.py b/cache/unread.py similarity index 94% rename from services/unread.py rename to cache/unread.py index 29c3e1f8..f887440f 100644 --- a/services/unread.py +++ b/cache/unread.py @@ -1,6 +1,6 @@ import json -from services.rediscache import redis +from cache.rediscache import redis async def get_unread_counter(chat_id: str, author_id: int) -> int: diff --git a/main.py b/main.py index 4f7ad996..09fb37e8 100644 --- a/main.py +++ b/main.py @@ -8,14 +8,14 @@ from starlette.applications import Starlette from starlette.routing import Route from services.exception import ExceptionHandlerMiddleware -from services.precache import precache_data -from services.rediscache import redis from services.schema import resolvers from services.search import search_service from services.sentry import start_sentry from services.viewed import ViewedStorage from services.webhook import WebhookEndpoint -from services.revalidator import revalidation_manager +from cache.precache import precache_data +from cache.rediscache import redis +from cache.revalidator import revalidation_manager from settings import DEV_SERVER_PID_FILE_NAME, MODE import_module("resolvers") diff --git a/orm/notification.py b/orm/notification.py index 5ef3377d..c81bc530 100644 --- a/orm/notification.py +++ b/orm/notification.py @@ -7,7 +7,7 @@ from sqlalchemy.orm import relationship from orm.author import Author from services.db import Base, engine -from services.logger import root_logger as logger +from utils.logger import root_logger as logger class NotificationEntity(Enumeration): diff --git a/resolvers/__init__.py b/resolvers/__init__.py index ddd1efef..c44fef47 100644 --- a/resolvers/__init__.py +++ b/resolvers/__init__.py @@ -49,7 +49,7 @@ from resolvers.topic import ( get_topics_by_author, get_topics_by_community, ) -from services.triggers import events_register +from cache.triggers import events_register events_register() diff --git a/resolvers/author.py b/resolvers/author.py index 983d88f7..34f2a0bd 100644 --- a/resolvers/author.py +++ b/resolvers/author.py @@ -8,7 +8,7 @@ from orm.shout import ShoutAuthor, ShoutTopic from orm.topic import Topic from resolvers.stat import get_with_stat from services.auth import login_required -from services.cache import ( +from cache.cache import ( cache_author, get_cached_author, get_cached_author_by_user_id, @@ -17,7 +17,7 @@ from services.cache import ( get_cached_follower_topics, ) from services.db import local_session -from services.logger import root_logger as logger +from utils.logger import root_logger as logger from services.schema import mutation, query diff --git a/resolvers/editor.py b/resolvers/editor.py index 05932170..f61ce441 100644 --- a/resolvers/editor.py +++ b/resolvers/editor.py @@ -12,10 +12,10 @@ from orm.topic import Topic from resolvers.follower import follow, unfollow from resolvers.stat import get_with_stat from services.auth import login_required -from services.cache import cache_author, cache_topic +from cache.cache import cache_author, cache_topic from services.db import local_session -from services.diff import apply_diff, get_diff -from services.logger import root_logger as logger +from utils.diff import apply_diff, get_diff +from utils.logger import root_logger as logger from services.notify import notify_shout from services.schema import mutation, query from services.search import search_service diff --git a/resolvers/follower.py b/resolvers/follower.py index a9e83e97..80e61e2e 100644 --- a/resolvers/follower.py +++ b/resolvers/follower.py @@ -10,7 +10,7 @@ from orm.shout import Shout, ShoutReactionsFollower from orm.topic import Topic, TopicFollower from resolvers.stat import get_with_stat from services.auth import login_required -from services.cache import cache_author, cache_topic, get_cached_follower_authors, get_cached_follower_topics +from cache.cache import cache_author, cache_topic, get_cached_follower_authors, get_cached_follower_topics from services.db import local_session from services.notify import notify_follower from services.schema import mutation, query diff --git a/resolvers/notifier.py b/resolvers/notifier.py index 9cc50149..0505db5f 100644 --- a/resolvers/notifier.py +++ b/resolvers/notifier.py @@ -12,7 +12,7 @@ from orm.notification import Notification, NotificationAction, NotificationEntit from orm.shout import Shout from services.auth import login_required from services.db import local_session -from services.logger import root_logger as logger +from utils.logger import root_logger as logger from services.schema import mutation, query diff --git a/resolvers/reaction.py b/resolvers/reaction.py index 12e9b5ad..952414da 100644 --- a/resolvers/reaction.py +++ b/resolvers/reaction.py @@ -14,7 +14,7 @@ from resolvers.follower import follow from resolvers.stat import update_author_stat from services.auth import add_user_role, login_required from services.db import local_session -from services.logger import root_logger as logger +from utils.logger import root_logger as logger from services.notify import notify_reaction from services.schema import mutation, query from services.viewed import ViewedStorage diff --git a/resolvers/reader.py b/resolvers/reader.py index 8ea42958..55489ce8 100644 --- a/resolvers/reader.py +++ b/resolvers/reader.py @@ -19,7 +19,7 @@ from resolvers.reaction import add_reaction_stat_columns from resolvers.topic import get_topics_random from services.auth import login_required from services.db import local_session -from services.logger import root_logger as logger +from utils.logger import root_logger as logger from services.schema import query from services.search import search_text from services.viewed import ViewedStorage diff --git a/resolvers/stat.py b/resolvers/stat.py index 6ac9807c..6d27b8b2 100644 --- a/resolvers/stat.py +++ b/resolvers/stat.py @@ -7,9 +7,9 @@ from orm.author import Author, AuthorFollower from orm.reaction import Reaction, ReactionKind from orm.shout import Shout, ShoutAuthor, ShoutTopic from orm.topic import Topic, TopicFollower -from services.cache import cache_author +from cache.cache import cache_author from services.db import local_session -from services.logger import root_logger as logger +from utils.logger import root_logger as logger def add_topic_stat_columns(q): diff --git a/resolvers/topic.py b/resolvers/topic.py index 1f0ef596..dfb1b27c 100644 --- a/resolvers/topic.py +++ b/resolvers/topic.py @@ -5,10 +5,10 @@ from orm.shout import ShoutTopic from orm.topic import Topic from resolvers.stat import get_with_stat from services.auth import login_required -from services.cache import get_cached_topic_authors, get_cached_topic_by_slug, get_cached_topic_followers +from cache.cache import get_cached_topic_authors, get_cached_topic_by_slug, get_cached_topic_followers from services.db import local_session -from services.logger import root_logger as logger -from services.memorycache import cache_region +from utils.logger import root_logger as logger +from cache.memorycache import cache_region from services.schema import mutation, query diff --git a/server.py b/server.py index 531a3b3c..d74fd22d 100644 --- a/server.py +++ b/server.py @@ -3,7 +3,7 @@ import subprocess from granian.constants import Interfaces from granian.server import Granian -from services.logger import root_logger as logger +from utils.logger import root_logger as logger from settings import PORT diff --git a/services/auth.py b/services/auth.py index 84b784e4..8d9b2982 100644 --- a/services/auth.py +++ b/services/auth.py @@ -3,8 +3,8 @@ from functools import wraps import httpx from resolvers.stat import get_with_stat -from services.cache import get_cached_author_by_user_id -from services.logger import root_logger as logger +from cache.cache import get_cached_author_by_user_id +from utils.logger import root_logger as logger from settings import ADMIN_SECRET, AUTH_URL diff --git a/services/db.py b/services/db.py index 95c96d83..e55f3829 100644 --- a/services/db.py +++ b/services/db.py @@ -10,7 +10,7 @@ from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import Session, configure_mappers from sqlalchemy.sql.schema import Table -from services.logger import root_logger as logger +from utils.logger import root_logger as logger from settings import DB_URL # from sqlalchemy_searchable import make_searchable diff --git a/services/notify.py b/services/notify.py index f5cf28e0..9d3c215d 100644 --- a/services/notify.py +++ b/services/notify.py @@ -2,8 +2,8 @@ import json from orm.notification import Notification from services.db import local_session -from services.logger import root_logger as logger -from services.rediscache import redis +from utils.logger import root_logger as logger +from cache.rediscache import redis def save_notification(action: str, entity: str, payload): diff --git a/services/search.py b/services/search.py index c16270a8..48c855db 100644 --- a/services/search.py +++ b/services/search.py @@ -5,8 +5,8 @@ import os from opensearchpy import OpenSearch -from services.encoders import CustomJSONEncoder -from services.rediscache import redis +from utils.encoders import CustomJSONEncoder +from cache.rediscache import redis # Set redis logging level to suppress DEBUG messages logger = logging.getLogger("search") diff --git a/services/webhook.py b/services/webhook.py index 73967bbd..fd98fdf6 100644 --- a/services/webhook.py +++ b/services/webhook.py @@ -10,7 +10,7 @@ from starlette.responses import JSONResponse from orm.author import Author from resolvers.stat import get_with_stat -from services.cache import cache_author +from cache.cache import cache_author from services.db import local_session diff --git a/services/diff.py b/utils/diff.py similarity index 100% rename from services/diff.py rename to utils/diff.py diff --git a/services/encoders.py b/utils/encoders.py similarity index 100% rename from services/encoders.py rename to utils/encoders.py diff --git a/services/logger.py b/utils/logger.py similarity index 100% rename from services/logger.py rename to utils/logger.py