From e3844feb454adeacb11707e8c29b4958a493b59c Mon Sep 17 00:00:00 2001 From: localhost_frssoft Date: Sat, 6 Aug 2022 00:41:28 +0300 Subject: [PATCH] Added autoupdate statuses; fixed timestamp for statuses dirs --- pleroma-cli.sh | 16 +++++++++++++++- utils/extract_fields_statuses.sh | 2 +- utils/statuses2files.sh | 2 ++ utils/statuses2files_acct.sh | 1 + 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/pleroma-cli.sh b/pleroma-cli.sh index 1a28473..8bc66c0 100755 --- a/pleroma-cli.sh +++ b/pleroma-cli.sh @@ -979,8 +979,21 @@ custom_manual_api_request() done } -if [ "$1" = '--daemon' ]; then +statuses_auto_update() +{ + while true; do + echo "Updating statuses..." + timeline='home' + export instance + timeline_api | ./utils/statuses2files.sh + echo "Waiting..." + sleep 30 + done +} + +if [ "$daemon_mode" = 'yes' ]; then echo "Daemon mode started; files listening..." + statuses_auto_update & while true; do sleep 5 statuses_to_fav=$(/bin/ls $main_basedir/all_statuses/$instance/*/favourite 2>/dev/null) @@ -997,6 +1010,7 @@ if [ "$1" = '--daemon' ]; then fi done fi + menu_write_status='Write status' menu_timeline='Timelines' notif='Notifications' diff --git a/utils/extract_fields_statuses.sh b/utils/extract_fields_statuses.sh index 3e5ee38..54b2139 100755 --- a/utils/extract_fields_statuses.sh +++ b/utils/extract_fields_statuses.sh @@ -14,7 +14,6 @@ for i in $ids; do status_media_attachments=$(echo "$json" | jj -l "#[id=$i].media_attachments.#.url" | tr -d '"\v') chmod 711 "$main_basedir"/all_statuses/$instance/$status_id - touch -d "$status_date" "$main_basedir"/all_statuses/$instance/$status_id if [ -n "$content" ]; then echo "$content" > "$main_basedir"/all_statuses/$instance/$status_id/content @@ -23,6 +22,7 @@ for i in $ids; do echo "$status_media_attachments" > "$main_basedir"/all_statuses/$instance/$status_id/media_attachments.m3u8 fi chmod 600 "$main_basedir"/all_statuses/$instance/$status_id/* + touch -d "$status_date" "$main_basedir"/all_statuses/$instance/$status_id done export ids diff --git a/utils/statuses2files.sh b/utils/statuses2files.sh index 26097ae..9bd9e87 100755 --- a/utils/statuses2files.sh +++ b/utils/statuses2files.sh @@ -15,7 +15,9 @@ for i in $ids; do ids=$(echo "$ids" | sed -E "s/.?$i.?//g") continue fi + status_date=$(echo "$json" | jj "#[id=$1].created_at") mkdir -m 711 -p "$main_basedir"/all_statuses/$instance/$i + touch -d "$status_date" "$main_basedir"/all_statuses/$instance/$i echo "$json" | jj -p "#[id=$i]" > "$main_basedir"/all_statuses/$instance/$i/$i.json done diff --git a/utils/statuses2files_acct.sh b/utils/statuses2files_acct.sh index f79ea88..2528f1c 100755 --- a/utils/statuses2files_acct.sh +++ b/utils/statuses2files_acct.sh @@ -17,6 +17,7 @@ for i in $ids; do mkdir -m 711 -p "$main_basedir"/statuses/$instance/$acct if [ -n "$status_id" ]; then ln -s -r "$main_basedir"/all_statuses/$instance/$status_id "$main_basedir"/statuses/$instance/$acct/$status_id + touch --reference "$main_basedir"/all_statuses/$instance/$status_id "$main_basedir"/statuses/$instance/$acct/$status_id fi done