#!/usr/bin/env bash set -euo pipefail 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)" for pdf_fname in "$@"; do process_pdf "$pdf_fname" done echo "Restarting xochitl" ssh "$user@$host" systemctl restart xochitl echo "Done"