|
2 years ago | |
---|---|---|
src/transpose | 2 years ago | |
tests | 2 years ago | |
.flake8 | 2 years ago | |
.gitignore | 2 years ago | |
.pre-commit-config.yaml | 2 years ago | |
LICENSE | 2 years ago | |
README.md | 2 years ago | |
pyproject.toml | 2 years ago |
A tool for moving and symlinking directories to a central location
I've been using linux as my main machine for a while and wanted a central directory to backup as backing up my entire HOME
directory was a mess. I found moving directories and symlinking worked great. I created a simple project when learning python (I called symlinker) and used it for a while but found it annoying to configure and work with.
I recently found I could use a tool like this for a SteamDeck and decided to start from scratch with better code and easier to use.
This is the current result, although it still needs a lot of work as I'm sure I'm not doing things particularly well.
Can be installed via pip. For instance, from within a virtualenv:
python -m venv .venv
. .venv/bin/activate
pip install .
There are a few environment variables that can be defined to override defaults
TRANSPOSE_STORE_PATH="$XDG_DATA_HOME/transpose"
TRANSPOSE_CACHE_FILENAME=".transpose.json"
Storing a directory will:
target
to $STORE_PATH/{name}
target
to $STORE_PATH/{name}
$STORE_PATH/{name}/.transpose.json
to store the original target pathtranspose store "My Documents" /home/user/Documents
The above will (assuming using all the defaults):
/home/user/Documents
to $XDG_DATA_HOME/transpose/My Documents
/home/user/Documents
to $XDG_DATA_HOME/transpose/My Documents
Restoring a directory will:
original_path
of the cache file, $STORE_PATH/{name}/.transpose.json
original_path
transpose restore "/home/user/.local/share/transpose/My Documents"
The above will (assuming all the defaults):
/home/user/Documents
(from cache file)$XDG_DATA_HOME/transpose/My Documents
to /home/user/Documents
This will recreate the symlink based on the cache file within the directory.
This is most useful when moving the stored directory.
transpose apple "/home/user/.local/share/transpose/My Documents"