Skip to content

Commit

Permalink
chore: formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
dantetemplar committed Oct 23, 2024
1 parent 6355a93 commit b323563
Show file tree
Hide file tree
Showing 43 changed files with 96 additions and 100 deletions.
3 changes: 2 additions & 1 deletion alembic/env.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@
fileConfig(config.config_file_name)

# Read settings YAML file
import os # noqa: E402
from pathlib import Path # noqa: E402

from yaml import safe_load # noqa: E402
import os # noqa: E402

app_settings_path = os.getenv("SETTINGS_PATH", "settings.yaml")
app_settings = safe_load(Path(app_settings_path).read_text())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
# ruff: noqa: E501
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa

from alembic import op

# revision identifiers, used by Alembic.
revision: str = "8ff07476cbc4"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
# ruff: noqa: E501
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa

from alembic import op

# revision identifiers, used by Alembic.
revision: str = "cba1388a6e8f"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
# ruff: noqa: E501
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa

from alembic import op

# revision identifiers, used by Alembic.
revision: str = "6f44af938cdf"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
# ruff: noqa: E501
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa

from alembic import op

# revision identifiers, used by Alembic.
revision: str = "a5e80abc2e66"
Expand Down
2 changes: 1 addition & 1 deletion alembic/versions/_2024_09_13_16_39_moodle_authtoken.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
# ruff: noqa: E501
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa

from alembic import op

# revision identifiers, used by Alembic.
revision: str = "65da8a75e495"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,11 @@
# ruff: noqa: E501
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql

from alembic import op

# revision identifiers, used by Alembic.
revision: str = "6b17213f3f14"
down_revision: Union[str, None] = "65da8a75e495"
Expand Down
2 changes: 2 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,6 @@ lint.ignore = [
# wildcard imports are fine
"F403",
"F405",
"PLR"
]
lint.extend-select = ["I", "UP", "PL"]
2 changes: 1 addition & 1 deletion scripts/alembic_auto_migrations.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import sys
import pathlib
import sys

import alembic.config

Expand Down
2 changes: 1 addition & 1 deletion scripts/migrate_users_from_account_to_events.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ async def main():

type_adapter = TypeAdapter(list[InputUser])

with open(args.input_file, "r") as file:
with open(args.input_file) as file:
data = file.read()
users = type_adapter.validate_json(data)

Expand Down
3 changes: 2 additions & 1 deletion src/api/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,10 @@
app.include_router(router_users)

if settings.environment == Environment.DEVELOPMENT:
from src.logging_ import logger
import logging

from src.logging_ import logger

logger.warn("Enable sqlalchemy logging")
logging.basicConfig()
logging.getLogger("sqlalchemy.engine").setLevel(logging.INFO)
Expand Down
5 changes: 3 additions & 2 deletions src/api/lifespan.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@


async def setup_repositories() -> SQLAlchemyStorage:
from src.modules.users.repository import user_repository
from src.modules.event_groups.repository import event_group_repository
from src.modules.tags.repository import tag_repository
from src.modules.innohassle_accounts import innohassle_accounts
from src.modules.tags.repository import tag_repository
from src.modules.users.repository import user_repository

# ------------------- Repositories Dependencies -------------------

Expand All @@ -28,6 +28,7 @@ async def setup_repositories() -> SQLAlchemyStorage:

def setup_predefined_data_from_file():
import json

from src.modules.predefined.storage import JsonPredefinedUsers
from src.modules.predefined.utils import setup_predefined_data_from_object

Expand Down
2 changes: 1 addition & 1 deletion src/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import os
from pathlib import Path

from src.config_schema import Settings, Environment
from src.config_schema import Environment, Settings

settings_path = os.getenv("SETTINGS_PATH", "settings.yaml")
settings: Settings = Settings.from_yaml(Path(settings_path))
4 changes: 2 additions & 2 deletions src/config_schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from typing import Optional

import yaml
from pydantic import BaseModel, SecretStr, ConfigDict
from pydantic import BaseModel, ConfigDict, SecretStr


class Environment(StrEnum):
Expand Down Expand Up @@ -67,7 +67,7 @@ class Settings(SettingsEntityModel):

@classmethod
def from_yaml(cls, path: Path) -> "Settings":
with open(path, "r", encoding="utf-8") as f:
with open(path, encoding="utf-8") as f:
yaml_config: dict = yaml.safe_load(f)
yaml_config.pop("$schema", None)

Expand Down
2 changes: 1 addition & 1 deletion src/exceptions.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import ClassVar, Any
from typing import Any, ClassVar

from fastapi import HTTPException
from starlette import status
Expand Down
4 changes: 2 additions & 2 deletions src/logging_.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import inspect
import logging.config
import os
from typing import Dict, Any
from typing import Any, Dict

import fastapi.routing
import yaml
Expand All @@ -18,7 +18,7 @@ def filter(self, record: logging.LogRecord) -> bool:
return True


with open("logging.yaml", "r") as f:
with open("logging.yaml") as f:
config = yaml.safe_load(f)
logging.config.dictConfig(config)

Expand Down
9 changes: 5 additions & 4 deletions src/modules/crud.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
__all__ = ["AbstractCRUDRepository", "CRUDFactory"]

from abc import abstractmethod, ABCMeta
from typing import Type, TypeVar, Generic
from abc import ABCMeta, abstractmethod
from typing import Generic, Type, TypeVar

from pydantic import BaseModel as PydanticModel
from sqlalchemy import or_, and_, ColumnElement
from sqlalchemy import ColumnElement, and_, or_
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.sql.base import ExecutableOption

Expand Down Expand Up @@ -71,7 +71,8 @@ def CRUDFactory(
UpdateScheme: Type[UpdateType] = None,
get_options: tuple[ExecutableOption, ...] = (),
) -> AbstractCRUDRepository[CreateType, ViewType, UpdateType]:
from sqlalchemy import delete, insert, select, update as sql_update
from sqlalchemy import delete, insert, select
from sqlalchemy import update as sql_update
from sqlalchemy.dialects.postgresql import insert as postgres_insert
from sqlalchemy.inspection import inspect

Expand Down
13 changes: 6 additions & 7 deletions src/modules/event_groups/repository.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
__all__ = ["SqlEventGroupRepository", "event_group_repository"]

from typing import Optional, cast, Iterable
from typing import Iterable, Optional, cast

from sqlalchemy import select, update, delete
from sqlalchemy import delete, select, update
from sqlalchemy.dialects.postgresql import insert
from sqlalchemy.ext.asyncio import AsyncSession

from src.modules.crud import CRUDFactory, AbstractCRUDRepository
from src.modules.ownership import setup_ownership_method
from src.modules.ownership import OwnershipEnum
from src.modules.crud import AbstractCRUDRepository, CRUDFactory
from src.modules.event_groups.schemas import (
CreateEventGroupWithoutTags,
ViewEventGroup,
CreateEventGroup,
CreateEventGroupWithoutTags,
UpdateEventGroup,
ViewEventGroup,
)
from src.modules.ownership import OwnershipEnum, setup_ownership_method
from src.storages.sql import SQLAlchemyStorage
from src.storages.sql.models import EventGroup

Expand Down
7 changes: 3 additions & 4 deletions src/modules/event_groups/routes.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,19 @@

import aiofiles
import icalendar
from fastapi import APIRouter
from fastapi import UploadFile, HTTPException, Body
from fastapi import APIRouter, Body, HTTPException, UploadFile
from sqlalchemy.exc import IntegrityError
from starlette.responses import JSONResponse

from src.api.dependencies import VERIFY_PARSER_DEPENDENCY
from src.exceptions import (
EventGroupNotFoundException,
EventGroupWithMissingPath,
IncorrectCredentialsException,
ForbiddenException,
IncorrectCredentialsException,
)
from src.modules.event_groups.repository import event_group_repository
from src.modules.event_groups.schemas import ViewEventGroup, ListEventGroupsResponse, CreateEventGroup, UpdateEventGroup
from src.modules.event_groups.schemas import CreateEventGroup, ListEventGroupsResponse, UpdateEventGroup, ViewEventGroup
from src.modules.parse.utils import locate_ics_by_path

router = APIRouter(prefix="/event-groups", tags=["Event Groups"])
Expand Down
6 changes: 3 additions & 3 deletions src/modules/event_groups/schemas.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
]

import datetime
from typing import Optional, Iterable
from typing import Iterable, Optional

from pydantic import BaseModel, Field, ConfigDict, field_validator
from pydantic import BaseModel, ConfigDict, Field, field_validator

from src.modules.tags.schemas import ViewTag, CreateTag
from src.modules.tags.schemas import CreateTag, ViewTag


class CreateEventGroupWithoutTags(BaseModel):
Expand Down
4 changes: 2 additions & 2 deletions src/modules/events/repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@

from src.modules.crud import CRUDFactory
from src.modules.events.schemas import (
AddEventPatch,
CreateEvent,
UpdateEvent,
UpdateEventPatch,
ViewEvent,
AddEventPatch,
ViewEventPatch,
UpdateEventPatch,
)
from src.storages.sql import SQLAlchemyStorage
from src.storages.sql.models import Event, EventPatch
Expand Down
2 changes: 1 addition & 1 deletion src/modules/events/schemas.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from typing import Optional

from icalendar import vRecur
from pydantic import BaseModel, Field, field_validator, ConfigDict
from pydantic import BaseModel, ConfigDict, Field, field_validator


class CreateEvent(BaseModel):
Expand Down
11 changes: 5 additions & 6 deletions src/modules/ics/routes.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
from urllib.parse import unquote

from fastapi import APIRouter
from fastapi import HTTPException
from starlette.responses import FileResponse, StreamingResponse, Response
from fastapi import APIRouter, HTTPException
from starlette.responses import FileResponse, Response, StreamingResponse

from src.api.dependencies import CURRENT_USER_ID_DEPENDENCY
from src.config import settings
from src.exceptions import EventGroupNotFoundException, ObjectNotFound, ForbiddenException
from src.exceptions import EventGroupNotFoundException, ForbiddenException, ObjectNotFound
from src.modules.event_groups.repository import event_group_repository
from src.modules.ics.utils import (
generate_ics_from_url,
get_moodle_ics,
get_personal_event_groups_ics,
get_personal_sport_ics,
get_personal_music_room_ics,
get_moodle_ics,
get_personal_sport_ics,
)
from src.modules.parse.utils import locate_ics_by_path
from src.modules.users.linked import LinkedCalendarView
Expand Down
4 changes: 2 additions & 2 deletions src/modules/ics/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ async def generate_ics_from_url(url: str, headers: dict = None) -> AsyncGenerato

async def _generate_ics_from_multiple(user: ViewUser, *ics: Path) -> AsyncGenerator[bytes, None]:
async def _async_read_schedule(ics_path: Path):
async with aiofiles.open(ics_path, "r") as f:
async with aiofiles.open(ics_path) as f:
content = await f.read()
_cal = icalendar.Calendar.from_ical(content)
return _cal
Expand Down Expand Up @@ -176,7 +176,7 @@ async def get_personal_sport_ics(user: ViewUser) -> bytes:
def _training_to_vevent(training: Training) -> icalendar.Event:
string_to_hash = str(training.extendedProps.id)
hash_ = crc32(string_to_hash.encode("utf-8"))
uid = "sport-%x@innohassle.ru" % abs(hash_)
uid = f"sport-{abs(hash_):x}@innohassle.ru"

vevent = icalendar.Event()
vevent.add("uid", uid)
Expand Down
2 changes: 1 addition & 1 deletion src/modules/ownership.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from enum import StrEnum

from pydantic import BaseModel, field_validator, ConfigDict
from pydantic import BaseModel, ConfigDict, field_validator
from sqlalchemy import delete
from sqlalchemy.dialects.postgresql import insert
from sqlalchemy.ext.asyncio import AsyncSession
Expand Down
6 changes: 3 additions & 3 deletions src/modules/parse/bootcamp.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import datetime
import re
from typing import Generator
from zlib import crc32

import icalendar
from pydantic import BaseModel, Field, ConfigDict, field_validator
from zlib import crc32
from pydantic import BaseModel, ConfigDict, Field, field_validator

from src.modules.parse.utils import get_color

Expand Down Expand Up @@ -76,7 +76,7 @@ def get_uid(self) -> str:
else:
string_to_hash = str(("bootcamp", self.summary, self.location, self.dtstart))
hash_ = crc32(string_to_hash.encode("utf-8"))
return "%x#bootcamp@innohassle.ru" % abs(hash_)
return f"{abs(hash_):x}#bootcamp@innohassle.ru"

def get_vevent(self) -> icalendar.Event:
"""
Expand Down
4 changes: 2 additions & 2 deletions src/modules/parse/cleaning.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ def get_uid(self) -> str:
string_to_hash = str(("cleaning", self.summary, self.location, self.date.isoformat()))
hash_ = crc32(string_to_hash.encode("utf-8"))

return "%x#cleaning@innohassle.ru" % abs(hash_)
return f"{abs(hash_):x}#cleaning@innohassle.ru"

def get_vevent(self) -> icalendar.Event:
"""
Expand Down Expand Up @@ -126,7 +126,7 @@ def get_uid(self) -> str:
"""
string_to_hash = str(("linen", self.summary, self.location))
hash_ = crc32(string_to_hash.encode("utf-8"))
return "%x#linen@innohassle.ru" % abs(hash_)
return f"{abs(hash_):x}#linen@innohassle.ru"

def get_vevent(self) -> icalendar.Event:
"""
Expand Down
Loading

0 comments on commit b323563

Please sign in to comment.