mirror of
https://github.com/TagStudioDev/TagStudio.git
synced 2026-05-26 02:32:28 +00:00
Compare commits
13 Commits
29db19c038
...
849b41fee8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
849b41fee8 | ||
|
|
5e94d93a31 | ||
|
|
6108ccbf70 | ||
|
|
c69b7f9362 | ||
|
|
3778c8c0d2 | ||
|
|
740ae0da92 | ||
|
|
00ccc96dad | ||
|
|
7913af836a | ||
|
|
b082c52971 | ||
|
|
3ee59b1dd8 | ||
|
|
398d5a4eed | ||
|
|
cf506b7f03 | ||
|
|
a3c27b9ee1 |
@@ -1170,29 +1170,35 @@ class Library:
|
||||
session.commit()
|
||||
return True
|
||||
|
||||
def remove_tag(self, tag_id: int) -> bool:
|
||||
def remove_tag(self, tag_id: int):
|
||||
with Session(self.engine, expire_on_commit=False) as session:
|
||||
try:
|
||||
session.execute(delete(TagAlias).where(TagAlias.tag_id == tag_id))
|
||||
session.execute(delete(TagEntry).where(TagEntry.tag_id == tag_id))
|
||||
session.execute(
|
||||
delete(TagParent).where(
|
||||
or_(TagParent.child_id == tag_id, TagParent.parent_id == tag_id)
|
||||
)
|
||||
)
|
||||
session.execute(
|
||||
aliases = session.scalars(select(TagAlias).where(TagAlias.tag_id == tag_id))
|
||||
for alias in aliases:
|
||||
session.delete(alias)
|
||||
session.flush()
|
||||
|
||||
tag_parents = session.scalars(
|
||||
select(TagParent).where(TagParent.parent_id == tag_id)
|
||||
).all()
|
||||
for tag_parent in tag_parents:
|
||||
session.delete(tag_parent)
|
||||
session.flush()
|
||||
|
||||
disam_stmt = (
|
||||
update(Tag)
|
||||
.where(Tag.disambiguation_id == tag_id)
|
||||
.values(disambiguation_id=None)
|
||||
)
|
||||
session.execute(delete(Tag).where(Tag.id == tag_id))
|
||||
session.execute(disam_stmt)
|
||||
session.flush()
|
||||
|
||||
session.query(Tag).filter_by(id=tag_id).delete()
|
||||
session.commit()
|
||||
|
||||
except IntegrityError as e:
|
||||
logger.error(e)
|
||||
session.rollback()
|
||||
return False
|
||||
return True
|
||||
|
||||
def update_field_position(
|
||||
self,
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
"drop_import.duplicates_choice.plural": "Τα παρακάτω αρχεία {count} ταιριάζουν μονοπάτια αρχείων που υπάρχουν ήδη στη βιβλιοθήκη.",
|
||||
"drop_import.duplicates_choice.singular": "Το παρακάτω αρχείο ταιριάζει με ένα μονοπάτι αρχείου που υπάρχει ήδη στη βιβλιοθήκη.",
|
||||
"drop_import.progress.label.initial": "Εισαγωγή νέων αρχείων...",
|
||||
"drop_import.progress.label.plural": "Εισαγωγή νέων αρχείων...\n{count} Αρχεία Εισήχθησαν.{suffix}",
|
||||
"drop_import.progress.label.plural": "Εισαγωγή νέων αρχείων...\n{count} Αρχεία Εισήχθησαν.{Suffix}",
|
||||
"drop_import.progress.label.singular": "Εισαγωγή νέων αρχείων...\n1 Αρχείο εισήχθη.{suffix}",
|
||||
"drop_import.progress.window_title": "Εισαγωγή αρχείων",
|
||||
"drop_import.title": "Αντικρουόμενα αρχεία(s)",
|
||||
|
||||
Reference in New Issue
Block a user