feat: make user and host configurable
This commit is contained in:
parent
a31ac1ee90
commit
41a02bf5e8
1 changed files with 107 additions and 57 deletions
164
rm-sync.sh
164
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 <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)"
|
||||
|
||||
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"
|
||||
|
|
Loading…
Reference in a new issue