diff --git a/utils/extract_fields_statuses.sh b/utils/extract_fields_statuses.sh index f6f2999..3e5ee38 100755 --- a/utils/extract_fields_statuses.sh +++ b/utils/extract_fields_statuses.sh @@ -1,30 +1,29 @@ #!/bin/sh # Extract fields from statuses -check_ids=$(echo "$main_basedir"/statuses/$instance/*/*.json) -if [ ! -n "$check_ids" ]; then - exit 0 -fi -for i in "$main_basedir"/statuses/$instance/*/*.json; do +json=$(cat) + +for i in $ids; do # Required fields - status_id=$(jj -i $i 'id') - status_date=$(jj -i $i 'created_at') + status_id=$(echo "$json" | jj "#[id=$i].id") + status_date=$(echo "$json" | jj "#[id=$i].created_at") # Fields - content=$(jj -i $i content | "$main_basedir"/utils/html_to_txt_render) - status_media_attachments=$(jj -i $i -l 'media_attachments.#.url' | tr -d '"\v') + content=$(echo "$json" | jj "#[id=$i].content" | "$main_basedir"/utils/html_to_txt_render) + status_media_attachments=$(echo "$json" | jj -l "#[id=$i].media_attachments.#.url" | tr -d '"\v') - chmod 711 "$main_basedir"/statuses/$instance/$status_id - touch -d "$status_date" "$main_basedir"/statuses/$instance/$status_id + 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"/statuses/$instance/$status_id/content + echo "$content" > "$main_basedir"/all_statuses/$instance/$status_id/content fi if [ -n "$status_media_attachments" ]; then - echo "$status_media_attachments" > "$main_basedir"/statuses/$instance/$status_id/media_attachments.m3u8 + echo "$status_media_attachments" > "$main_basedir"/all_statuses/$instance/$status_id/media_attachments.m3u8 fi - chmod 600 "$main_basedir"/statuses/$instance/$status_id/* + chmod 600 "$main_basedir"/all_statuses/$instance/$status_id/* done -"$main_basedir"/utils/statuses2files_acct.sh +export ids +echo "$json" | "$main_basedir"/utils/statuses2files_acct.sh diff --git a/utils/statuses2files.sh b/utils/statuses2files.sh index 3e2d84a..26097ae 100755 --- a/utils/statuses2files.sh +++ b/utils/statuses2files.sh @@ -4,18 +4,20 @@ json="$(cat)" ids=$(echo "$json" | jj -l '#.id' | sed 's/"//g') -if [ ! -d "$main_basedir/statuses/$instance" ]; then - mkdir -p "$main_basedir/statuses/$instance" -fi +mkdir -p "$main_basedir/all_statuses/$instance" +mkdir -p "$main_basedir/statuses/$instance" for i in $ids; do - if [ -f "$main_basedir"/statuses/$instance/$i/$i.json ]; then + if [ -f "$main_basedir"/all_statuses/$instance/$i/$i.json ]; then + ids=$(echo "$ids" | sed -E "s/.?$i.?//g") continue - elif [ -d "$main_basedir"/statuses/$instance/*/$i ]; then + elif [ -d "$main_basedir"/all_statuses/$instance/*/$i ]; then + ids=$(echo "$ids" | sed -E "s/.?$i.?//g") continue fi - mkdir -m 711 -p "$main_basedir"/statuses/$instance/$i - echo "$json" | jj -p "#[id=$i]" > "$main_basedir"/statuses/$instance/$i/$i.json + mkdir -m 711 -p "$main_basedir"/all_statuses/$instance/$i + echo "$json" | jj -p "#[id=$i]" > "$main_basedir"/all_statuses/$instance/$i/$i.json done -"$main_basedir"/utils/extract_fields_statuses.sh +export ids +echo "$json" | "$main_basedir"/utils/extract_fields_statuses.sh diff --git a/utils/statuses2files_acct.sh b/utils/statuses2files_acct.sh index cb131e9..f79ea88 100755 --- a/utils/statuses2files_acct.sh +++ b/utils/statuses2files_acct.sh @@ -9,12 +9,14 @@ # | |--- ... # |... -for i in "$main_basedir"/statuses/$instance/*/*.json; do - status_id=$(jj -i $i 'id') - acct=$(jj -i $i 'account.acct') +json=$(cat) + +for i in $ids; do + status_id=$i + acct=$(echo "$json" | jj "#[id=$i].account.acct") mkdir -m 711 -p "$main_basedir"/statuses/$instance/$acct if [ -n "$status_id" ]; then - mv "$main_basedir"/statuses/$instance/$status_id "$main_basedir"/statuses/$instance/$acct + ln -s -r "$main_basedir"/all_statuses/$instance/$status_id "$main_basedir"/statuses/$instance/$acct/$status_id fi done