spica.wrk.ru

Balancer Friendica
Выкачал сейчас bash-скриптом архив своих топикстартовых сообщений из #Juick . Первое сообщение 11.02.2009. всего 2093 сообщения. Надо теперь ещё выдернуть картинки, все ветки обсуждений, все рекомендации и все комменты в чужих тредах :) И всё это сохранить для теста в формате #Flatnesy .
Bal Mastodon
@balancer Выкачал вдогонку все фоточки. Не густо, 208 штук, 36Мб.
ma1uta mastodon
@balancer а можно оттуда-нибудь стянуть этот скрипт?
Balancer Friendica
В сыром виде оно так (при трансляции в Мастодонт форматирование потеряется, но можно будет понять, поалагаю — но лучше по ссылке на Френдику сходить будет :D )

#!/bin/bash

echo -n > mid.txt

while true; do
URL='http://api.juick.com/messages?uname=Balancer'

MID=$(cat mid.txt)
if [[ "$MID" != "" ]]; then
URL="$URL&before_mid=$MID"
fi

echo $URL

wget -q $URL -O last-$MID.json

for S in $(jq -cr '. []| @base64' last-$MID.json); do
UNAME=$(echo $S | base64 --decode | jq -r .user.uname)
MID=$(echo $S | base64 --decode | jq -r .mid)
if [[ "$MID" == "" ]]; then
echo "$S" > error.json
exit
fi

mkdir -p $UNAME
echo $S | base64 --decode | jq . > $UNAME/$MID.json
echo -n "$UNAME [$MID]: "
echo $S | base64 --decode | jq -r .timestamp
touch -d $(echo $S | base64 --decode | jq -r .updated) $UNAME/$MID.json
echo $MID > mid.txt
done

echo ...
sleep 2

done



Тут имя пользователя хардкод в базовой ссылке.
Balancer Friendica
А вот — утягивание картинок из сообщений, утянутых предыдущим скриптом:

#!/bin/bash

for F in Balancer/*.json; do
IMG=$(jq -r .photo.medium $F)

if [[ "$IMG" == "null" ]]; then
continue
fi

if [[ "$IMG" == "" ]]; then
continue
fi

if [ ! -e "Balancer/images/$(basename $IMG)" ]; then
wget $IMG -P Balancer/images
fi

touch -d $(jq -r .updated $F) "Balancer/images/$(basename $IMG)"
done



Тут харкод имени юзера в трёх местах.

Ещё надо бы сделать утягивание все комментариев и тредов с ними :)
ma1uta mastodon
@balancer спасибо!
@ma1uta @balancer с удовольствием воспользуюсь. (Надеюсь сработает). Спасибо тебе большое! 👍