categories will be exported as a separate column and stored in the database with a tiny json object at the end of the description. they are supressed from view in the google docs description column but will be added back on import |
||
|---|---|---|
| .taguette_gdocs | ||
| README.md | ||
| taguette-export_tags_to_csv.py | ||
| taguette-update_tags_from_sheet.py | ||
Step 0: Setup
If you have not already done so, please edit the file .taguette_gdocs in this
directory. You must enter ever variable marked with "CHANGME." You only need to
do this once.
In order to not commit your changes into git, you can run this command:
git update-index --assume-unchanged .taguette_gdocs
I also create a directory called taguette_backups like:
mkdir taguette_backups
Step 1: Backing things up
Do this every time before you run the script:
sudo systemctl stop taguette
BACKUP_FILE="taguette-snapshot-$(date +%Y%m%d-%H%M%S).sqlite3"
sudo cp /var/lib/taguette/taguette.sqlite3 "taguette_backups/$BACKUP_FILE"
cp "taguette_backups/$BACKUP_FILE" ./taguette-working.sqlite3
The first line shuts down Taguette. The second line just creates the backup
file name. The third and fourth lines will create a new backup file and copy the
backup file into the ./taguette-working.sqlite3.
Step 2a: Import from Google Sheets into the database
If everything is setup well, you should just need to run:
python3 taguette-update_tags_from_sheet.py
Check for errors! If you don't see any, you will need to copy the database back like:
sudo cp ./taguette-working.sqlite3 /var/lib/taguette/taguette.sqlite3
sudo chown taguette:taguette /var/lib/taguette/taguette.sqlite3
Step 2b: Exporting from the database
Exporting tags should be as easy as:
python3 taguette-export_tags_to_csv.py > exported_tags.tsv
This will create a new file called exported_tags.tsv which you can manually
move into the spreadsheet.
Step 3: Restarting Taguette
Once everything looks good, go ahead and restart Taguette like:
sudo systemctl start taguette
You can check it with systemctl status taguette but keep in mind it takes
some time startup.