dotx 2.0.2__tar.gz → 2.0.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dotx-2.0.4/MANIFEST.in +1 -0
- {dotx-2.0.2/src/dotx.egg-info → dotx-2.0.4}/PKG-INFO +1 -1
- {dotx-2.0.2 → dotx-2.0.4}/pyproject.toml +1 -1
- dotx-2.0.4/src/dotx/__init__.py +11 -0
- {dotx-2.0.2 → dotx-2.0.4}/src/dotx/cli.py +4 -2
- dotx-2.0.4/src/dotx/installed-schema.sql +23 -0
- {dotx-2.0.2 → dotx-2.0.4/src/dotx.egg-info}/PKG-INFO +1 -1
- {dotx-2.0.2 → dotx-2.0.4}/src/dotx.egg-info/SOURCES.txt +2 -0
- dotx-2.0.2/src/dotx/__init__.py +0 -8
- {dotx-2.0.2 → dotx-2.0.4}/LICENSE +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/README.md +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/setup.cfg +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/src/dotx/database.py +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/src/dotx/ignore.py +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/src/dotx/install.py +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/src/dotx/options.py +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/src/dotx/plan.py +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/src/dotx/uninstall.py +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/src/dotx.egg-info/dependency_links.txt +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/src/dotx.egg-info/entry_points.txt +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/src/dotx.egg-info/requires.txt +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/src/dotx.egg-info/top_level.txt +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/tests/test_cli.py +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/tests/test_cli_database.py +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/tests/test_ignore.py +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/tests/test_ignore_rules.py +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/tests/test_install.py +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/tests/test_options.py +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/tests/test_plan.py +0 -0
- {dotx-2.0.2 → dotx-2.0.4}/tests/test_uninstall.py +0 -0
dotx-2.0.4/MANIFEST.in
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
include src/dotx/installed-schema.sql
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"""dotx - A command-line tool to install a link-farm to your dotfiles."""
|
|
2
|
+
|
|
3
|
+
from importlib.metadata import version, metadata, PackageNotFoundError
|
|
4
|
+
|
|
5
|
+
try:
|
|
6
|
+
__version__ = version("dotx")
|
|
7
|
+
__metadata__ = metadata("dotx")
|
|
8
|
+
__homepage__ = __metadata__.get("Home-page") or "https://github.com/wolf/dotx"
|
|
9
|
+
except PackageNotFoundError:
|
|
10
|
+
__version__ = "unknown"
|
|
11
|
+
__homepage__ = "https://github.com/wolf/dotx"
|
|
@@ -22,7 +22,7 @@ import click
|
|
|
22
22
|
import typer
|
|
23
23
|
from loguru import logger
|
|
24
24
|
|
|
25
|
-
from dotx import __version__
|
|
25
|
+
from dotx import __version__, __homepage__
|
|
26
26
|
from dotx.database import InstallationDB
|
|
27
27
|
from dotx.install import plan_install
|
|
28
28
|
from dotx.options import set_option
|
|
@@ -31,7 +31,9 @@ from dotx.uninstall import plan_uninstall
|
|
|
31
31
|
|
|
32
32
|
# Create the Typer app
|
|
33
33
|
app = typer.Typer(
|
|
34
|
-
help="Manage a link farm: (un)install groups of links from source packages."
|
|
34
|
+
help="Manage a link farm: (un)install groups of links from source packages.",
|
|
35
|
+
no_args_is_help=True,
|
|
36
|
+
epilog=f"dotx version {__version__} | {__homepage__}",
|
|
35
37
|
)
|
|
36
38
|
|
|
37
39
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
-- Database schema for dotx installation tracking
|
|
2
|
+
|
|
3
|
+
-- Track installed files and directories
|
|
4
|
+
CREATE TABLE IF NOT EXISTS installations (
|
|
5
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
6
|
+
package_name TEXT NOT NULL, -- Absolute path to source package
|
|
7
|
+
target_path TEXT NOT NULL UNIQUE, -- Absolute path to installed file (must be unique)
|
|
8
|
+
link_type TEXT NOT NULL, -- 'file', 'directory', 'created_dir'
|
|
9
|
+
installed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
-- Indexes for efficient queries
|
|
13
|
+
CREATE INDEX IF NOT EXISTS idx_package_name ON installations(package_name);
|
|
14
|
+
-- Note: idx_target_path is redundant with UNIQUE constraint, which creates an index
|
|
15
|
+
|
|
16
|
+
-- Metadata key-value store
|
|
17
|
+
CREATE TABLE IF NOT EXISTS metadata (
|
|
18
|
+
key TEXT PRIMARY KEY,
|
|
19
|
+
value TEXT NOT NULL
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
-- Initialize schema version
|
|
23
|
+
INSERT OR IGNORE INTO metadata (key, value) VALUES ('schema_version', '1');
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
LICENSE
|
|
2
|
+
MANIFEST.in
|
|
2
3
|
README.md
|
|
3
4
|
pyproject.toml
|
|
4
5
|
src/dotx/__init__.py
|
|
@@ -6,6 +7,7 @@ src/dotx/cli.py
|
|
|
6
7
|
src/dotx/database.py
|
|
7
8
|
src/dotx/ignore.py
|
|
8
9
|
src/dotx/install.py
|
|
10
|
+
src/dotx/installed-schema.sql
|
|
9
11
|
src/dotx/options.py
|
|
10
12
|
src/dotx/plan.py
|
|
11
13
|
src/dotx/uninstall.py
|
dotx-2.0.2/src/dotx/__init__.py
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|