mirror of
https://gitlab.com/KKlochko/tui-rsync.git
synced 2026-08-20 05:37:43 +00:00
(Added) the configuration to the application.
Moved database file to the user data directory.
This commit is contained in:
@@ -23,4 +23,7 @@
|
|||||||
Added *path checking* function.
|
Added *path checking* function.
|
||||||
** 0.6.1 <2023-03-12 Sun>
|
** 0.6.1 <2023-03-12 Sun>
|
||||||
Added the *dry-run* flag to the *sync one* function.
|
Added the *dry-run* flag to the *sync one* function.
|
||||||
|
** 0.7.0 <2023-03-17 Fri>
|
||||||
|
Added the configuration to the application.
|
||||||
|
Moved database file to the user data directory.
|
||||||
|
|
||||||
|
|||||||
Generated
+17
-1
@@ -75,6 +75,22 @@ files = [
|
|||||||
{file = "peewee-3.15.4.tar.gz", hash = "sha256:2581520c8dfbacd9d580c2719ae259f0637a9e46eda47dfc0ce01864c6366205"},
|
{file = "peewee-3.15.4.tar.gz", hash = "sha256:2581520c8dfbacd9d580c2719ae259f0637a9e46eda47dfc0ce01864c6366205"},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "platformdirs"
|
||||||
|
version = "3.1.1"
|
||||||
|
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
|
||||||
|
category = "main"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
|
{file = "platformdirs-3.1.1-py3-none-any.whl", hash = "sha256:e5986afb596e4bb5bde29a79ac9061aa955b94fca2399b7aaac4090860920dd8"},
|
||||||
|
{file = "platformdirs-3.1.1.tar.gz", hash = "sha256:024996549ee88ec1a9aa99ff7f8fc819bb59e2c3477b410d90a16d32d6e707aa"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)"]
|
||||||
|
test = ["appdirs (==1.4.4)", "covdefaults (>=2.2.2)", "pytest (>=7.2.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pyfzf"
|
name = "pyfzf"
|
||||||
version = "0.3.1"
|
version = "0.3.1"
|
||||||
@@ -145,4 +161,4 @@ test = ["black (>=22.3.0,<23.0.0)", "coverage (>=6.2,<7.0)", "isort (>=5.0.6,<6.
|
|||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.0"
|
lock-version = "2.0"
|
||||||
python-versions = "^3.10"
|
python-versions = "^3.10"
|
||||||
content-hash = "1cd42aa3f295e2a1c11c491125b55a32bdb6878a9e0f262c068397a6ce941a89"
|
content-hash = "63d5db59d0d54f5818a8274de848b03549d5df693c2310b67743e7e6c9e1968e"
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ rich = "^13.3.1"
|
|||||||
typer = "^0.7.0"
|
typer = "^0.7.0"
|
||||||
peewee = "^3.15.4"
|
peewee = "^3.15.4"
|
||||||
pyfzf = "^0.3.1"
|
pyfzf = "^0.3.1"
|
||||||
|
platformdirs = "^3.1.1"
|
||||||
|
|
||||||
[build-system]
|
[build-system]
|
||||||
requires = ["poetry-core"]
|
requires = ["poetry-core"]
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
from config.app import App
|
||||||
|
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
################################################################################
|
||||||
|
# Copyright (C) 2023 Kostiantyn Klochko <kostya_klochko@ukr.net> #
|
||||||
|
# #
|
||||||
|
# This file is part of tui-rsync. #
|
||||||
|
# #
|
||||||
|
# tui-rsync is free software: you can redistribute it and/or modify it under #
|
||||||
|
# uthe terms of the GNU General Public License as published by the Free #
|
||||||
|
# Software Foundation, either version 3 of the License, or (at your option) #
|
||||||
|
# any later version. #
|
||||||
|
# #
|
||||||
|
# tui-rsync is distributed in the hope that it will be useful, but WITHOUT ANY #
|
||||||
|
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #
|
||||||
|
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more #
|
||||||
|
# details. #
|
||||||
|
# #
|
||||||
|
# You should have received a copy of the GNU General Public License along with #
|
||||||
|
# tui-rsync. If not, see <https://www.gnu.org/licenses/>. #
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
import platformdirs
|
||||||
|
import os
|
||||||
|
|
||||||
|
class App:
|
||||||
|
"""
|
||||||
|
Configuration of the tui-rsync
|
||||||
|
"""
|
||||||
|
__APP_NAME = "tui-rsync"
|
||||||
|
__APP_AUTHOR = "KKlochko"
|
||||||
|
__DB_NAME = "sync.db"
|
||||||
|
|
||||||
|
def get_db_path(self):
|
||||||
|
path = platformdirs.user_data_path(
|
||||||
|
self.__APP_NAME,
|
||||||
|
self.__APP_AUTHOR,
|
||||||
|
self.__DB_NAME
|
||||||
|
)
|
||||||
|
App.safe_create_path(self.get_data_dir())
|
||||||
|
return path
|
||||||
|
|
||||||
|
def get_data_dir(self):
|
||||||
|
return platformdirs.user_data_dir(
|
||||||
|
self.__APP_NAME,
|
||||||
|
self.__APP_AUTHOR,
|
||||||
|
)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def safe_create_path(path):
|
||||||
|
"""
|
||||||
|
Create path's folders if they do not exist
|
||||||
|
"""
|
||||||
|
if not os.path.exists(path):
|
||||||
|
os.makedirs(path)
|
||||||
@@ -18,9 +18,11 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
from peewee import *
|
from peewee import *
|
||||||
|
from config.app import App
|
||||||
import os
|
import os
|
||||||
|
|
||||||
db = SqliteDatabase('sync.db')
|
app = App()
|
||||||
|
db = SqliteDatabase(app.get_db_path())
|
||||||
|
|
||||||
class BaseModel(Model):
|
class BaseModel(Model):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|||||||
Reference in New Issue
Block a user