geeks4change / spex
There is no license information available for the latest version (1.0.x-dev) of this package.
Extract time reports from SuperProductivity backups.
1.0.x-dev
2021-11-26 18:11 UTC
Requires
- ext-posix: *
- doctrine/common: ^3.1
- symfony/console: ^5.2
- symfony/property-access: ^5.2
- symfony/property-info: ^5.2
- symfony/serializer: ^5.2
This package is auto-updated.
Last update: 2024-12-11 15:41:48 UTC
README
Helps with time logs from SuperProductivity.
This has some hard-coded assumptions, like SuperProductivity running as Snap on Ubuntu.
1a) (Preferred) Install globally and safe via bin-plugin
# (If not already done) Add global bin dir for ubuntu to your $PATH
>>~/.profile echo -e "\nPATH=$(composer global config bin-dir --absolute --quiet):\$PATH"
source ~/.profile
# (If not already done) Require the bin plugin globally.
composer global require bamarni/composer-bin-plugin
# For package separation, this should be the only thing required outside a bin.
# Require spex in its bin.
composer global bin spex require geeks4change/spex
1b) Install in a project dir
Do composer require geeks4change/spex
, then run bin/spex
/ bin/spex-sync
2) Query
# Show help
spex
# Query by User, Week, Project, Day, Task.
spex uwpdt
# Filter by user, week, project-prefix.
spex t -u merlin -w+0-3 -p g4c
# Query synced data.
spex ut -f
# Show debug data
spex t -v
3a) Set up sync from existing repo
mkdir -p ~/.local/share/spex
cd ~/.local/share/spex
git clone git@remote:my/repo data
touch "data/$USER.json.age""
# If you have another repo, too:
# git clone git@remote:other/repo other
3b) Set up sync from scratch
# If you do not have a ssh key, do `ssh-keygen -t rsa`
# You can add other dirs besides "data".
mkdir -p ~/.local/share/spex/data
cd -p ~/.local/share/spex/data
## Change as needed
echo "project-prefix1" >project-prefixes.txt
echo "project-prefix2" >>project-prefixes.txt
cat ~/.ssh/id_rsa.pub >authorized_keys.txt
cat ~/some/other/id_rsa.pub >>authorized_keys.txt
touch "$USER.json.age"
git init && git add . && git commit -m Init
git remote add origin git@remote:my/repo
4) Prepare sync by installing 'rage'
Install rage encryption tool from release:
# Go to releases and use latest!
wget https://github.com/str4d/rage/releases/download/v0.5.1/rage_0.5.1_amd64.deb
sudo apt install rage_0.5.1_amd64.deb
5) Do the sync
# This will pull, sync, commit, and push.
spex-sync