From c42ee2eb28c9ec8d310587219f59c316a9b337bf Mon Sep 17 00:00:00 2001 From: thomasabishop Date: Fri, 17 Jan 2025 17:48:04 +0000 Subject: [PATCH] fix: tag export functionality --- db/eolas.db | Bin 1572864 -> 1572864 bytes setup.py | 26 +++++++++++++------------- src/services/database_service.py | 1 - src/services/tag_service.py | 8 +++++--- 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/db/eolas.db b/db/eolas.db index 157d5299d36a7a86579eb8a655f628d96784674a..2472c7094dd2462ad62e4002e4790795ffc3c400 100644 GIT binary patch delta 4339 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 diff --git a/setup.py b/setup.py index 1cace18..d9d02b2 100644 --- a/setup.py +++ b/setup.py @@ -1,14 +1,14 @@ -from setuptools import find_packages, setup +# from setuptools import find_packages, setup -setup( - name="eolas-db", - version="0.1", - packages=find_packages(where="src"), - package_dir={"": "src"}, - install_requires=["python-frontmatter", "termcolor"], - entry_points={ - "console_scripts": [ - "eolas-db=cli:main", - ], - }, -) +# setup( +# name="eolas-db", +# version="0.1", +# packages=find_packages(where="src"), +# package_dir={"": "src"}, +# install_requires=["python-frontmatter", "termcolor"], +# entry_points={ +# "console_scripts": [ +# "eolas-db=cli:main", +# ], +# }, +# ) diff --git a/src/services/database_service.py b/src/services/database_service.py index ee5c116..f603c63 100644 --- a/src/services/database_service.py +++ b/src/services/database_service.py @@ -21,7 +21,6 @@ class DatabaseService: print(colored("INFO Created database directory", "blue")) self.connection = sqlite3.connect(f"{self.db_path}/{self.db_name}.db") self.connection.execute("PRAGMA foreign_keys = ON") - print(colored("INFO Database connection established", "blue")) return self.connection except Exception as e: diff --git a/src/services/tag_service.py b/src/services/tag_service.py index d9193d4..46c176f 100644 --- a/src/services/tag_service.py +++ b/src/services/tag_service.py @@ -1,3 +1,5 @@ +import json + from services.sqlite_service import SqliteService @@ -7,12 +9,12 @@ class TagService(SqliteService): def __retrieve_entries_for_tag(self, tag): entries = self._query("SELECT * FROM entries_tags WHERE tag_name = ?", (tag,)) - return sorted([entry[0] for entry in entries]) + return sorted([entry[0] for entry in entries], key=str.lower) def export_tags(self): tags = self._query("SELECT * FROM tags") - tags = sorted([tag[0] for tag in tags]) + tags = sorted([tag[0] for tag in tags], key=str.lower) tag_dict = {} for tag in tags: tag_dict[tag] = self.__retrieve_entries_for_tag(tag) - return tag_dict + print(json.dumps(tag_dict))