Skip to content

Commit 9d15982

Browse files
Dels (#75)
1 parent 0d33006 commit 9d15982

11 files changed

Lines changed: 21 additions & 36 deletions

File tree

calendar_backend/google_engine/event_from_db.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from calendar_backend.settings import get_settings
77
from calendar_backend.methods.utils import get_lessons_by_group_from_date
88
from calendar_backend.models import Event, Group
9-
from .event import create_google_calendar_event, Event
9+
from .event import create_google_calendar_event
1010

1111
settings = get_settings()
1212
logger = logging.getLogger(__name__)
@@ -19,7 +19,7 @@ async def create_google_events_from_db(group_id: int, session: Session) -> list[
1919
"""
2020
group, _ = Group.get(group_id, session=session)
2121
group_lessons: list[Event] = await get_lessons_by_group_from_date(group, datetime.date.today())
22-
list_of_lessons: list[Event] = []
22+
list_of_lessons = []
2323
time_zone = "+03:00"
2424
logger.debug(f"Getting list of subjects for {group}...")
2525
for lesson in group_lessons:

calendar_backend/google_engine/service.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import googleapiclient.discovery
55
from sqlalchemy.exc import NoResultFound
66
from googleapiclient.discovery import build
7-
from google.oauth2.credentials import Credentials
87
from calendar_backend.models import Credentials
98
from calendar_backend.settings import get_settings
109
from fastapi_sqlalchemy import db

calendar_backend/methods/utils.py

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -69,17 +69,6 @@ async def get_lecturer_lessons_in_daterange(
6969
return events_list
7070

7171

72-
async def create_group_list(session: Session) -> list:
73-
groups: list[Group] = session.query(Group).filter().all()
74-
return [f"{row.number}, {row.name}" if row.name else f"{row.number}" for row in groups]
75-
76-
77-
async def check_group_existing(session: Session, group_num: str) -> bool:
78-
if session.query(Group).filter(Group.number == group_num).one_or_none():
79-
return True
80-
return False
81-
82-
8372
async def upload_lecturer_photo(lecturer_id: int, session: Session, file: UploadFile = File(...)) -> Photo:
8473
lecturer = Lecturer.get(lecturer_id, session=session)
8574
random_string = ''.join(random.choice(string.ascii_letters) for _ in range(32))

calendar_backend/models/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
import re
44
from enum import Enum
55

6-
from sqlalchemy import Column, Integer, and_, not_
6+
from sqlalchemy import Column, Integer, not_
77
from sqlalchemy.exc import NoResultFound
88
from sqlalchemy.ext.declarative import as_declarative, declared_attr
9-
from sqlalchemy.orm import Query, RelationshipProperty, Session
9+
from sqlalchemy.orm import Query, Session
1010

1111
from calendar_backend.exceptions import ObjectNotFound
1212

calendar_backend/routes/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ async def not_found_error(request: starlette.requests.Request, exc: ObjectNotFou
6060

6161

6262
@app.exception_handler(ForbiddenAction)
63-
async def not_found_error(request: starlette.requests.Request, exc: ForbiddenAction):
63+
async def forbidden_action(request: starlette.requests.Request, exc: ForbiddenAction):
6464
return JSONResponse({"error": exc.args[0], "request": request.path_params}, status_code=403)
6565

6666

calendar_backend/routes/event/event.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@
1010
from calendar_backend.exceptions import NotEnoughCriteria
1111
from calendar_backend.methods import auth, list_calendar
1212
from calendar_backend.models import Room, Lecturer, Event, EventsLecturers, EventsRooms, Group
13-
from calendar_backend.routes.models.base import Base
13+
from calendar_backend.routes.models import EventGet
1414
from calendar_backend.routes.models.event import (
15-
EventGet,
1615
EventPatch,
1716
EventPost,
1817
GetListEvent,
@@ -31,7 +30,7 @@ async def get_event_by_id(id: int) -> EventGet:
3130

3231
async def _get_timetable(start: date, end: date, group_id, lecturer_id, room_id, detail, limit, offset):
3332
if bool(group_id) + bool(lecturer_id) + bool(room_id) != 1:
34-
raise NotEnoughCriteria(f"Exactly one argument group_id, lecturer_id or room_id required")
33+
raise NotEnoughCriteria("Exactly one argument group_id, lecturer_id or room_id required")
3534
events = Event.get_all(session=db.session).filter(
3635
Event.start_ts >= start,
3736
Event.end_ts < end,

calendar_backend/routes/gcal.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,10 @@
1515
from googleapiclient.discovery import build, UnknownApiNameOrVersion
1616
from pydantic.types import Json
1717

18-
from calendar_backend.methods import utils
19-
from calendar_backend.settings import get_settings
2018
from calendar_backend.google_engine import create_calendar_with_timetable
2119
from calendar_backend.google_engine import get_calendar_service_from_token
22-
from calendar_backend.models import Credentials
20+
from calendar_backend.models import Credentials, Group
21+
from calendar_backend.settings import get_settings
2322

2423
gcal = APIRouter(tags=["Utils: Google"])
2524
settings = get_settings()
@@ -40,7 +39,8 @@ def get_flow(state=""):
4039

4140
@gcal.get("/")
4241
async def home(request: Request):
43-
groups = await utils.create_group_list(db.session)
42+
groups = [f"{row.number}, {row.name}" if row.name else f"{row.number}"
43+
for row in db.session.query(Group).filter().all()]
4444
return templates.TemplateResponse(
4545
"index.html",
4646
{"request": request, "groups": groups},
@@ -53,7 +53,7 @@ async def get_user_flow(state: str):
5353
user_flow = get_flow(state)
5454
return RedirectResponse(user_flow.authorization_url()[0])
5555
else:
56-
logger.info(f"Missing google service credentials")
56+
logger.info("Missing google service credentials")
5757
return HTTPException(502, "Connection to google failed")
5858

5959

@@ -64,7 +64,8 @@ async def get_credentials(
6464
scope: str,
6565
state: str,
6666
):
67-
groups = await utils.create_group_list(db.session)
67+
groups = [f"{row.number}, {row.name}" if row.name else f"{row.number}"
68+
for row in db.session.query(Group).filter().all()]
6869
scope = scope.split(unquote("%20"))
6970
group = state
7071
flow = get_flow()

calendar_backend/routes/group/group.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from fastapi import APIRouter, HTTPException, Depends
44
from fastapi_sqlalchemy import db
55

6-
from calendar_backend.methods import utils, auth
6+
from calendar_backend.methods import auth
77
from calendar_backend.models import Group
88
from calendar_backend.routes.models import GroupGet, GroupPost, GroupPatch, GetListGroup
99
from calendar_backend.settings import get_settings
@@ -37,7 +37,7 @@ async def get_groups(query: str = "", limit: int = 10, offset: int = 0) -> GetLi
3737

3838
@group_router.post("/", response_model=GroupGet)
3939
async def create_group(group: GroupPost, _: auth.User = Depends(auth.get_current_user)) -> GroupGet:
40-
if await utils.check_group_existing(db.session, group.number):
40+
if db.session.query(Group).filter(Group.number == group.number).one_or_none():
4141
raise HTTPException(status_code=423, detail="Already exists")
4242
return GroupGet.from_orm(Group.create(**group.dict(), session=db.session))
4343

@@ -49,8 +49,8 @@ async def patch_group(
4949
_: auth.User = Depends(auth.get_current_user),
5050
) -> GroupGet:
5151
if (
52-
bool(query := Group.get_all(session=db.session).filter(Group.number == group_inp.number).one_or_none())
53-
and query.id != id
52+
bool(query := Group.get_all(session=db.session).filter(Group.number == group_inp.number).one_or_none()) and
53+
query.id != id
5454
):
5555
raise HTTPException(status_code=423, detail="Already exists")
5656
return GroupGet.from_orm(Group.update(id, **group_inp.dict(exclude_unset=True), session=db.session))

calendar_backend/routes/models/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from .base import LecturerGet, CommentLecturer, CommentEventGet, EventGet, GroupGet, RoomGet
22
from .lecturer import (
3-
LecturerGet,
43
LecturerPost,
54
LecturerPatch,
65
LecturerPhotos,
@@ -13,5 +12,5 @@
1312
Action,
1413
)
1514
from .room import RoomPost, RoomPatch, RoomEvents, GetListRoom
16-
from .event import EventPost, EventPatch, Event, GetListEvent, CommentEventGet, EventComments
15+
from .event import EventPost, EventPatch, Event, GetListEvent, EventComments
1716
from .group import GroupPost, GroupPatch, GroupEvents, GetListGroup

calendar_backend/routes/models/event.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import datetime
22

3-
from .base import Base, RoomGet, GroupGet, CommentEventGet, LecturerGet, EventGet
3+
from .base import Base, RoomGet, GroupGet, CommentEventGet, LecturerGet
44

55

66
class EventPatch(Base):

0 commit comments

Comments
 (0)