mirror of
http://gitea.phreedom.club/localhost_frssoft/pleroma-cli
synced 2024-11-26 06:41:28 +00:00
Compare commits
5 commits
60ff687f24
...
49ebf083e1
Author | SHA1 | Date | |
---|---|---|---|
localhost_frssoft | 49ebf083e1 | ||
localhost_frssoft | e91e401a4a | ||
localhost_frssoft | 6e8d823726 | ||
localhost_frssoft | 599e776b4b | ||
localhost_frssoft | 5436687c43 |
|
@ -13,12 +13,13 @@
|
|||
| | | |
|
||||
| | | |---content
|
||||
| | | |---status-id.json
|
||||
| | | |---reblog.id
|
||||
| | | |---media_attachments.m3u8
|
||||
| |... |--- ...
|
||||
|...
|
||||
```
|
||||
На данный момент статусы теперь линкуются из папки all_statuses/$instance, где содержатся не сгруппированные посты
|
||||
Время папок с постами соотвествует постам
|
||||
Время файлов внутри папки с постом ([status_id]) соответствует времени поста
|
||||
|
||||
|
||||
## Что доступно:
|
||||
|
@ -35,9 +36,15 @@ touch favourite
|
|||
touch share
|
||||
```
|
||||
|
||||
### Ответ на пост
|
||||
Чтобы ответить на пост нужно в папке с постом создать файл message и написать туда свой ответ, затем создать файл reply
|
||||
|
||||
### Чтение
|
||||
Учитывая то, что каждый пост-статус это файл, то вы можете вывести все посты за раз например так:
|
||||
```
|
||||
# Сортированный вывод текcтов всех постов в хронологическом порядке
|
||||
cat $(/bin/ls all_statuses/instance.example/*/content --sort=time) | less
|
||||
|
||||
# все тексты постов
|
||||
cat all_statuses/instance.example/*/content
|
||||
|
||||
|
|
|
@ -804,7 +804,7 @@ delete_api_status()
|
|||
write_api_status()
|
||||
{
|
||||
if [ -n "$mediaattach" ]; then
|
||||
media=$(upload_api_media | jj id)
|
||||
media=$mediaattach
|
||||
post_request --url "$instance_point"/statuses \
|
||||
--data-urlencode "status@$1" \
|
||||
--data-raw "content_type=$content_type" \
|
||||
|
@ -831,7 +831,7 @@ edit_api_status()
|
|||
upload_api_media()
|
||||
{
|
||||
post_request --url "$instance_point"/media \
|
||||
--form "file=$mediaattach"
|
||||
--form "file=$1"
|
||||
}
|
||||
|
||||
write_status_menu()
|
||||
|
@ -996,18 +996,39 @@ if [ "$daemon_mode" = 'yes' ]; then
|
|||
statuses_auto_update &
|
||||
while true; do
|
||||
sleep 5
|
||||
statuses_to_fav=$(/bin/ls $main_basedir/all_statuses/$instance/*/favourite 2>/dev/null)
|
||||
statuses_to_share=$(/bin/ls $main_basedir/all_statuses/$instance/*/share 2>/dev/null)
|
||||
if [ -n "$statuses_to_fav" ]; then
|
||||
status_id=$(dirname "$statuses_to_fav" | sed 's/.*\///g')
|
||||
favorite_api_status $status_id
|
||||
rm $statuses_to_fav
|
||||
for file_func in favourite share reply; do
|
||||
statuses_file_action=$(/bin/ls $main_basedir/all_statuses/$instance/*/$file_func 2>/dev/null)
|
||||
if [ -n "$statuses_file_action" ]; then
|
||||
dir_status=$(dirname "$statuses_file_action")
|
||||
if [ -f "$dir_status/reblog.id" ]; then
|
||||
status_id=$(cat $dir_status/reblog.id)
|
||||
else
|
||||
status_id=$(echo $dir_status | sed 's/.*\///g')
|
||||
fi
|
||||
if [ -n "$statuses_to_share" ]; then
|
||||
status_id=$(dirname "$statuses_to_share" | sed 's/.*\///g')
|
||||
share_api_status $status_id
|
||||
rm $statuses_to_share
|
||||
|
||||
case $file_func in
|
||||
'favourite') favorite_api_status "$status_id" ; rm "$statuses_file_action" ;;
|
||||
'share') share_api_status $status_id ; rm "$statuses_file_action" ;;
|
||||
'reply')
|
||||
replyto=$status_id
|
||||
if [ -d "$dir_status/attachments" ]; then
|
||||
attach_id=''
|
||||
echo "Uploading attachments..."
|
||||
for attach in "$dir_status"/attachments/*; do
|
||||
attach_id=$(upload_api_media "@$attach" | jj id)
|
||||
attach_id="${attach_id},"
|
||||
echo $attach_id
|
||||
done
|
||||
mediaattach=$(echo $attach_id | sed 's/,$//g')
|
||||
echo $mediaattach
|
||||
fi
|
||||
|
||||
write_api_status $dir_status/message
|
||||
rm "$statuses_file_action"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@ for i in $ids; do
|
|||
# Fields
|
||||
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')
|
||||
reblog=$(echo "$json" | jj -l "#[id=$i].reblog.id")
|
||||
|
||||
chmod 711 "$main_basedir"/all_statuses/$instance/$status_id
|
||||
|
||||
|
@ -21,8 +22,12 @@ for i in $ids; do
|
|||
if [ -n "$status_media_attachments" ]; then
|
||||
echo "$status_media_attachments" > "$main_basedir"/all_statuses/$instance/$status_id/media_attachments.m3u8
|
||||
fi
|
||||
if [ -n "$reblog" ]; then
|
||||
echo "$reblog" > "$main_basedir"/all_statuses/$instance/$status_id/reblog.id
|
||||
fi
|
||||
|
||||
chmod 600 "$main_basedir"/all_statuses/$instance/$status_id/*
|
||||
touch -d "$status_date" "$main_basedir"/all_statuses/$instance/$status_id
|
||||
touch -d "$status_date" "$main_basedir"/all_statuses/$instance/$status_id/*
|
||||
done
|
||||
|
||||
export ids
|
||||
|
|
Loading…
Reference in a new issue