rm-sync/rm-sync.sh

116 lines
2.7 KiB
Bash
Raw Permalink Normal View History

2025-02-13 11:57:23 +01:00
#!/usr/bin/env bash
2025-02-13 12:17:57 +01:00
set -euo pipefail
2025-02-13 11:57:23 +01:00
2025-02-13 12:17:57 +01:00
user="root"
host="10.11.99.1"
args=()
print_help() {
echo "Usage: script.sh [options] [PDF files...]"
echo ""
echo "Options:"
echo " --user <username> Specify the username (default: root)"
echo " --host <hostname> Specify the host (default: 10.11.99.1)"
echo " --help, -h Display this help message"
echo ""
echo "PDF files:"
echo " List of PDF files to be processed"
}
while [[ "$#" -gt 0 ]]; do
case $1 in
--user) user="$2"; shift ;;
--host) host="$2"; shift ;;
--help|-h) print_help; exit 0 ;;
*) args+=("$1") ;;
esac
shift
done
set -- "${args[@]}"
if [[ "$#" -eq 0 ]]; then
print_help
exit
fi
process_pdf() {
local pdf_fname
local metadata_body
local pdf_docname
local document_uuid
local content_body
pdf_fname="$1"
pdf_docname="$(basename "$pdf_fname" .pdf)"
document_uuid="$(uuidgen)"
echo "Preparing '$pdf_fname'"
cat "$pdf_fname" > "${dir}/${document_uuid}.pdf"
metadata_body="{
\"deleted\": false,
\"lastModified\": \"$(date -u +"%s")000\",
\"metadatamodified\": false,
\"modified\": false,
\"parent\": \"\",
\"pinned\": false,
\"synced\": true,
\"type\": \"DocumentType\",
\"version\": 1,
\"visibleName\": \"${pdf_docname}\"
}"
content_body="{
\"extraMetadata\": {
},
\"fileType\": \"pdf\",
\"fontName\": \"\",
\"lastOpenedPage\": 0,
\"lineHeight\": -1,
\"margins\": 100,
\"orientation\": \"portrait\",
\"pageCount\": 1,
\"pages\": [
],
\"textScale\": 1,
\"transform\": {
\"m11\": 1,
\"m12\": 0,
\"m13\": 0,
\"m21\": 0,
\"m22\": 1,
\"m23\": 0,
\"m31\": 0,
\"m32\": 0,
\"m33\": 1
}
}"
local pagedata_body=""
echo "$metadata_body" > "${dir}/${document_uuid}.metadata"
echo "$content_body" > "${dir}/${document_uuid}.content"
echo "$pagedata_body" > "${dir}/${document_uuid}.pagedata"
for subdir in "" ".cache" ".highlight" ".textconversion" ".thumbnails"; do
mkdir "$dir/$document_uuid$subdir"
done
echo "Copying '$pdf_fname' as '$pdf_docname'"
scp -rq "$dir/$document_uuid".* "$user@$host:/home/root/.local/share/remarkable/xochitl/"
echo "Done transferring '$pdf_fname' as '$pdf_docname'"
}
2025-02-13 11:57:23 +01:00
dir="$(mktemp -d)"
2025-02-13 12:17:57 +01:00
for pdf_fname in "$@"; do
process_pdf "$pdf_fname"
2025-02-13 11:57:23 +01:00
done
2025-02-13 12:17:57 +01:00
echo "Restarting xochitl"
2025-02-13 12:06:37 +01:00
ssh "$user@$host" systemctl restart xochitl
2025-02-13 12:17:57 +01:00
echo "Done"