mirror of
https://gitlab.com/KKlochko/tui-rsync.git
synced 2026-08-12 17:57:43 +00:00
(Updated) groups source creation.
This commit is contained in:
@@ -135,10 +135,8 @@ class Group(BaseModel):
|
||||
label=label,
|
||||
sources=[],
|
||||
)
|
||||
for source_label in source_labels:
|
||||
# continue:
|
||||
src = Source.get(label=source_label)
|
||||
group_src, _ = GroupSource.get_or_create(group=group, source=src)
|
||||
|
||||
GroupSource.create_group_sources(group, source_labels)
|
||||
group.save()
|
||||
return group
|
||||
|
||||
@@ -158,6 +156,21 @@ class GroupSource(BaseModel):
|
||||
group = ForeignKeyField(Group, backref='sources')
|
||||
source = ForeignKeyField(Source)
|
||||
|
||||
@staticmethod
|
||||
def create_group_source(group:Group, source_label:str) -> bool:
|
||||
"""
|
||||
Return group-source created status
|
||||
"""
|
||||
src = Source.get(label=source_label)
|
||||
group_src, created = GroupSource.get_or_create(group=group, source=src)
|
||||
group_src.save()
|
||||
return created
|
||||
|
||||
@staticmethod
|
||||
def create_group_sources(group:Group, source_labels:list[str]):
|
||||
for source_label in source_labels:
|
||||
GroupSource.create_group_source(group, source_label)
|
||||
|
||||
def create_tables():
|
||||
with db:
|
||||
tables = [
|
||||
@@ -179,6 +192,10 @@ def all_labels():
|
||||
return Source.select(Source.label)
|
||||
|
||||
def all_labels_except(labels):
|
||||
if labels == None:
|
||||
return all_labels()
|
||||
if len(labels) == 0:
|
||||
return all_labels()
|
||||
with db:
|
||||
return Source.select(Source.label).where(Source.label.not_in(labels))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user