From 7cd2d610b13de3b964b6cbe44673b3b77a0c435a Mon Sep 17 00:00:00 2001 From: Keith Edmunds Date: Sun, 13 Feb 2022 17:34:20 +0000 Subject: [PATCH] playlist.tracks now association object plus refactoring --- app/models.py | 33 +++++--- test_models.py | 209 +++++++++++++++++++++++++++++-------------------- 2 files changed, 146 insertions(+), 96 deletions(-) diff --git a/app/models.py b/app/models.py index 9d8462a..a897958 100644 --- a/app/models.py +++ b/app/models.py @@ -6,6 +6,7 @@ import re import sqlalchemy from datetime import datetime +from sqlalchemy.ext.associationproxy import association_proxy from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import ( Boolean, @@ -19,7 +20,7 @@ from sqlalchemy import ( ) from sqlalchemy.exc import IntegrityError from sqlalchemy.orm.exc import MultipleResultsFound, NoResultFound -from sqlalchemy.orm import relationship, sessionmaker, scoped_session +from sqlalchemy.orm import backref, relationship, sessionmaker, scoped_session from app.config import Config from app.log import DEBUG, ERROR @@ -61,6 +62,18 @@ class NoteColours(Base): is_casesensitive = Column(Boolean, default=False, index=False) order = Column(Integer, index=True) + def __init__(self, session, substring, colour, enabled=True, + is_regex=False, is_casesensitive=False, order=0): + self.substring = substring + self.colour = colour + self.enabled = enabled + self.is_regex = is_regex + self.is_casesensitive = is_casesensitive + self.order = order + + session.add(self) + session.commit() + def __repr__(self): return ( f"