migrated to poetry; updated all packages

This commit is contained in:
2023-10-13 12:01:01 +02:00
parent c4b54357f7
commit 6e2fa6c101
19 changed files with 92 additions and 878 deletions

View File

@@ -8,9 +8,10 @@ import logging
from sqlalchemy import MetaData, CheckConstraint
from sqlalchemy.exc import IntegrityError
from datetime import datetime, timedelta
from datetime import datetime
from backend import db, app, login_manager
from backend import db
from backend.models.recorder_model import Recorder
from backend.tools.scrape_rooms import scrape_rooms
logger = logging.getLogger("lrc."+__name__)
@@ -28,7 +29,7 @@ class Room(db.Model):
building_name = db.Column(db.Unicode(63), unique=False, nullable=True)
building_number = db.Column(db.Unicode(63), unique=False, nullable=True)
recorder = db.relationship('Recorder', uselist=False, back_populates='room') # one-to-one relation (uselist=False)
recorder = db.relationship(Recorder, uselist=False, back_populates='room') # one-to-one relation (uselist=False)
__table_args__ = (
CheckConstraint('length(name) > 2',
@@ -36,7 +37,7 @@ class Room(db.Model):
)
def __init__(self, **kwargs):
super(Room, self).__init__(**kwargs)
db.Model.__init__(self, **kwargs)
@staticmethod
def get_by_name(name):

View File

@@ -4,10 +4,10 @@ Example user model and related models
"""
import json
from sqlalchemy.orm import relation
from sqlalchemy import MetaData
from backend import db, app, login_manager
from backend.models.recorder_model import Recorder
from backend.config import Config
from backend.models.post_model import Post
from backend.models.example_model import ExampleDataItem
@@ -84,8 +84,8 @@ class User(UserMixin, db.Model):
email = db.Column(db.String(120), nullable=False, index=True, unique=True)
lang = db.Column(db.Unicode(32), index=False, unique=False)
timezone = db.Column(db.Unicode(63), index=False, unique=False)
posts = db.relationship('Post', backref='author', lazy='dynamic')
example_data_item = db.relationship('ExampleDataItem', backref='owner')
posts = db.relationship(Post, backref='author', lazy='dynamic')
example_data_item = db.relationship(ExampleDataItem, backref='owner')
example_data_item_id = db.Column(db.ForeignKey(ExampleDataItem.id))
about_me = db.Column(db.Unicode(255))
role = db.Column(db.Unicode(63))
@@ -109,7 +109,7 @@ class User(UserMixin, db.Model):
backref=db.backref('followers', lazy='dynamic'),
lazy='dynamic')
favorite_recorders = db.relationship('Recorder', secondary=user_favorite_recorders_table)
favorite_recorders = db.relationship(Recorder, secondary=user_favorite_recorders_table)
def __init__(self, **kwargs):
super(User, self).__init__(**kwargs)
@@ -447,6 +447,13 @@ class Group(db.Model):
permissions = db.relationship('Permission', secondary=group_permission_table, back_populates='groups')
def __init__(self, **kwargs):
#get permissions from kwargs and make Permission objects out of them
permissions = kwargs.pop("permissions", [])
if permissions is not None:
for p in permissions:
permission = Permission(name=p)
if permission is not None:
self.permissions.append(permission)
super(Group, self).__init__(**kwargs)
@staticmethod
@@ -494,15 +501,16 @@ def insert_initial_users(*args, **kwargs):
db.session.commit()
@event.listens_for(Group.__table__, 'after_create')
def insert_initial_groups(*args, **kwargs):
for g in app.config.get("GROUPS", []):
db.session.add(Group(**g))
db.session.commit()
@event.listens_for(Permission.__table__, 'after_create')
def insert_initial_permissions(*args, **kwargs):
for p in app.config.get("PERMISSIONS", []):
db.session.add(Permission(name=p))
db.session.commit()
@event.listens_for(Group.__table__, 'after_create')
def insert_initial_groups(*args, **kwargs):
for g in app.config.get("GROUPS", []):
db.session.add(Group(**g))
db.session.commit()