115 lines
2.7 KiB
Bash
Executable file
115 lines
2.7 KiB
Bash
Executable file
#!/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 <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'"
|
|
}
|
|
|
|
dir="$(mktemp -d)"
|
|
|
|
for pdf_fname in "$@"; do
|
|
process_pdf "$pdf_fname"
|
|
done
|
|
|
|
echo "Restarting xochitl"
|
|
ssh "$user@$host" systemctl restart xochitl
|
|
echo "Done"
|