add support for registries #2

Merged
g1n merged 3 commits from r1k/twtxt-c:main into main 2021-07-08 15:44:23 +00:00
1 changed files with 61 additions and 1 deletions

62
twtxt-c
View File

@ -26,7 +26,21 @@ Commands:
tweet Append a new tweet to your twtxt file. tweet Append a new tweet to your twtxt file.
unfollow Remove an existing source from your... unfollow Remove an existing source from your...
view Show feed of given source. view Show feed of given source.
registry Show registers\n" reg list Show registers
reg add Add your twtxt to registry
reg users List users on the registry
reg twts Fetch recent tweets from registry
reg mentions search for mentions by url
reg tag Search for tags
"
}
read_config () {
declare -A v=()
while read -r var value; do
v[$var]=$value
done < $config/registry
} }
case $1 in case $1 in
-h | --help) -h | --help)
@ -45,6 +59,7 @@ case $1 in
read -p "URL to twtxt [https://example.com/twtxt.txt]: " url read -p "URL to twtxt [https://example.com/twtxt.txt]: " url
url=${url:-"https://example.com/twtxt.txt"} url=${url:-"https://example.com/twtxt.txt"}
printf "[twtxt]\n nick = %s\n twtfile = %s\n url = %s\n" "$nick" "$path_to_twtxt" "$url" >> $config/config printf "[twtxt]\n nick = %s\n twtfile = %s\n url = %s\n" "$nick" "$path_to_twtxt" "$url" >> $config/config
printf "https://twtxt.envs.net/api/plain/\nhttps://twtxt.tilde.institute/api/plain/\n" > $config/registry
;; ;;
tweet) tweet)
export config=/home/$USER/.config/twtxt-c/config export config=/home/$USER/.config/twtxt-c/config
@ -53,6 +68,51 @@ case $1 in
view) view)
curl $2 2>/dev/null | grep -v "#" | awk 'BEGIN { FS = "\t" } ; {print $2}' curl $2 2>/dev/null | grep -v "#" | awk 'BEGIN { FS = "\t" } ; {print $2}'
;; ;;
reg)
case $2 in
list)
cat /home/$USER/.config/twtxt-c/registry
;;
add)
config=/home/$USER/.config/twtxt-c/
declare -A v=()
while read -r line; do
var=$(echo $line | awk '{print $1}' )
value=$(echo $line | awk '{print $3}' )
v[$var]=$value
done < $config/config
req="https://twtxt.tilde.institute/api/plain/users?url=${v[url]}&nickname=${v[nick]}"
req2="https://twtxt.envs.net/api/plain/users?url=${v[url]}&nickname=${v[nick]}"
echo "post these requests:"
echo "curl -X POST $req"
echo "curl -X POST $req2"
#curl -X POST $req
#curl -X POST $req2
# I have commented the actual curl request so that I accidentally re-register myself during testing
;;
users)
curl 'https://twtxt.tilde.institute/api/plain/users'
curl 'https://twtxt.envs.net/api/plain/users' ;;
twts)
curl 'https://twtxt.tilde.institute/api/plain/tweets'
curl 'https://twtxt.envs.net/api/plain/tweets'
;;
mentions)
url=$3
req="https://twtxt.tilde.institute/api/plain/mentions?url=$url"
req2="https://twtxt.envs.net/api/plain/mentions?url=$url"
curl $req
curl $req2
;;
tag)
tag=$3
req="https://twtxt.tilde.institute/api/plain/tags/$tag"
req2="https://twtxt.envs.net/api/plain/tags/$tag"
curl $req
curl $req2
;;
esac ;;
*) *)
printf "Work in progress\n" ;; printf "Work in progress\n" ;;
esac esac