From 41a02bf5e8abdf8ae0359c019ca0b4bc9fac1e41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Thu, 13 Feb 2025 12:17:57 +0100 Subject: [PATCH] feat: make user and host configurable --- rm-sync.sh | 164 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 107 insertions(+), 57 deletions(-) diff --git a/rm-sync.sh b/rm-sync.sh index 23731a0..82df977 100755 --- a/rm-sync.sh +++ b/rm-sync.sh @@ -1,65 +1,115 @@ #!/usr/bin/env bash -set -e +set -euo pipefail -user=root -host=10.11.99.1 +user="root" +host="10.11.99.1" + +args=() + +print_help() { + echo "Usage: script.sh [options] [PDF files...]" + echo "" + echo "Options:" + echo " --user Specify the username (default: root)" + echo " --host 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'" +} dir="$(mktemp -d)" -pdf_fname="$1" -pdf_docname="$(basename "$1" .pdf)" -document_uuid="$(uuidgen)" - -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 - } -}" - -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" +for pdf_fname in "$@"; do + process_pdf "$pdf_fname" done -scp -rp "$dir/$document_uuid".* $user@$host:/home/root/.local/share/remarkable/xochitl/ +echo "Restarting xochitl" ssh "$user@$host" systemctl restart xochitl +echo "Done"