Manage note colours from database
This commit is contained in:
parent
1de7cefe72
commit
53899b3a24
28
app/model.py
28
app/model.py
@ -1,6 +1,8 @@
|
|||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
|
|
||||||
import os.path
|
import os.path
|
||||||
|
import re
|
||||||
|
|
||||||
import sqlalchemy
|
import sqlalchemy
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
@ -44,9 +46,10 @@ class NoteColours(Base):
|
|||||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||||
substring = Column(String(256), index=False)
|
substring = Column(String(256), index=False)
|
||||||
hexcolour = Column(String(6), index=False)
|
hexcolour = Column(String(6), index=False)
|
||||||
enabled = Column(Boolean, default=True, index=False)
|
enabled = Column(Boolean, default=True, index=True)
|
||||||
is_regex = Column(Boolean, default=False, index=False)
|
is_regex = Column(Boolean, default=False, index=False)
|
||||||
is_casesensitive = Column(Boolean, default=False, index=False)
|
is_casesensitive = Column(Boolean, default=False, index=False)
|
||||||
|
order = Column(Integer, index=True)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return (
|
return (
|
||||||
@ -61,9 +64,26 @@ class NoteColours(Base):
|
|||||||
Currently ignore is_regex and is_casesensitive
|
Currently ignore is_regex and is_casesensitive
|
||||||
"""
|
"""
|
||||||
|
|
||||||
for rec in session.query(NoteColours).all():
|
for rec in (
|
||||||
if rec.substring in text:
|
session.query(NoteColours)
|
||||||
return '#' + rec.hexcolour
|
.filter(NoteColours.enabled == True)
|
||||||
|
.order_by(NoteColours.order)
|
||||||
|
.all()
|
||||||
|
):
|
||||||
|
if rec.is_regex:
|
||||||
|
if rec.is_casesensitive:
|
||||||
|
p = re.compile(rec.substring)
|
||||||
|
else:
|
||||||
|
p = re.compile(rec.substring, re.IGNORECASE)
|
||||||
|
if p.match(text):
|
||||||
|
return '#' + rec.hexcolour
|
||||||
|
else:
|
||||||
|
if rec.is_casesensitive:
|
||||||
|
if rec.substring in text:
|
||||||
|
return '#' + rec.hexcolour
|
||||||
|
else:
|
||||||
|
if rec.substring.lower() in text.lower():
|
||||||
|
return '#' + rec.hexcolour
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user