G1Kodi is publishing local Kodi movies as PLAYER G1Voeu RSS feed any other Kodi could add as new source. ex : https://ipfs.copylaradio.com/ipfs/QmSJYf4uTj3NmqovSFZpBZuUhSS8j9FXKKnAjUMuVE896k

This commit is contained in:
fred 2023-07-03 16:35:27 +02:00
parent 8708c2cb50
commit c9eb4eb2e4
3 changed files with 121 additions and 3 deletions

118
ASTROBOT/G1Kodi.sh Executable file
View File

@ -0,0 +1,118 @@
#!/bin/bash
########################################################################
# Version: 0.5
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
########################################################################
# PAD COCODING : https://pad.p2p.legal/s/G1Kodi
########################################################################
MY_PATH="`dirname \"$0\"`" # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
ME="${0##*/}"
. "${MY_PATH}/../tools/my.sh"
echo "(✜‿‿✜) G1Kodi : Get Kodi database from ~/.kodi/userdata/Database/MyVideos116.db
export movie to RSS (ex : http://ipfs.localhost:8080/ipfs/QmSJYf4uTj3NmqovSFZpBZuUhSS8j9FXKKnAjUMuVE896k)"
echo "$ME RUNNING"
########################################################################
# KODI SERVICE
########################################################################
########################################################################
INDEX="$1"
[[ ! ${INDEX} ]] && INDEX="$HOME/.zen/game/players/.current/ipfs/moa/index.html"
[[ ! -s ${INDEX} ]] && echo "ERROR - Please provide path to source TW index.html" && exit 1
[[ ! -s ${INDEX} ]] && echo "ERROR - Fichier TW absent. ${INDEX}" && exit 1
PLAYER="$2"
[[ ! ${PLAYER} ]] && PLAYER="$(cat ~/.zen/game/players/.current/.player 2>/dev/null)"
[[ ! ${PLAYER} ]] && echo "ERROR - Please provide PLAYER" && exit 1
ASTRONAUTENS=$(ipfs key list -l | grep -w ${PLAYER} | cut -d ' ' -f1)
[[ ! ${ASTRONAUTENS} ]] && echo "ERROR - Clef IPNS ${PLAYER} introuvable!" && exit 1
G1PUB=$(cat ~/.zen/game/players/${PLAYER}/.g1pub)
[[ ! $G1PUB ]] && echo "ERROR - G1PUB ${PLAYER} VIDE" && exit 1
# Extract tag=tube from TW
MOATS="$3"
[[ ! ${MOATS} ]] && MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
###################################################################
## CREATE APP NODE PLAYER PUBLICATION DIRECTORY
###################################################################
mkdir -p $HOME/.zen/tmp/${IPFSNODEID}/G1Kodi/${PLAYER}/
mkdir -p $HOME/.zen/game/players/${PLAYER}/G1Kodi/
mkdir -p $HOME/.zen/tmp/${MOATS}
echo "EXPORT Kodi Wish for ${PLAYER}"
m -f ~/.zen/game/players/${PLAYER}/G1Kodi/Kodi.json
tiddlywiki --load ${INDEX} \
--output ~/.zen/game/players/${PLAYER}/G1Kodi \
--render '.' 'Kodi.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' 'Kodi'
[[ ! -s ~/.zen/game/players/${PLAYER}/G1Kodi/Kodi.json ]] && echo "AUCUN G1VOEU KODI - EXIT -" && exit 0
WISH=$(cat ~/.zen/game/players/${PLAYER}/G1Kodi/Kodi.json | jq -r '.[].wish')
WISHNS=$(cat ~/.zen/game/players/${PLAYER}/G1Kodi/Kodi.json | jq -r '.[].wishns')
echo ${myIPFS}${WISHNS}
echo "=========== ( ◕‿◕) (◕‿◕ ) =============="
## EXTRACT MOVIE FILES LIST
sqlite3 -csv ~/.kodi/userdata/Database/MyVideos116.db 'select c00, c01, c22 from movie' > ~/.zen/tmp/${PLAYER}.movie.csv
[[ ! -s ~/.zen/tmp/${PLAYER}.movie.csv ]] && echo "EMPTY KODI MOVIE DATABASE - EXIT -" && exit 0
#################################
## PREPARE RSS XML
echo '<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>Astroport Kodi</title>
<description>Astroport Kodi Movies RSS feed</description>
<link>http://astroport.copylaradio.com</link>
<copyright>2020 Astroport.com All rights reserved</copyright>
<lastBuildDate>Mon, 6 Sep 2020 00:01:00 +0000</lastBuildDate>
<pubDate>Sun, 6 Sep 2020 16:20:00 +0000</pubDate>
<ttl>1800</ttl>' > $HOME/.zen/tmp/${MOATS}/movie.rss
while read LINE
do
TITLE=$(echo $LINE | csvcut -c 1)
DESC=$(echo $LINE | csvcut -c 2)
SOURCE=$(echo $LINE | csvcut -c 3)
echo "$TITLE"
## ADD MOVIE TO IPFS
#~ <item>
#~ <title>Delicatessen</title>
#~ <description>La vie des étranges habitants d'un immeuble de banlieue qui se dresse dans un immense terrain vague et qui tous vont se fournir chez le boucher-charcutier, à l'enseigne « Delicatessen ».</description>
#~ <link>http://ipfs.localhost:8080/ipfs/QmfVuhDo4kEk5eh5EULfZGxiWqrrCcHBehojgPF6kiq8r3/Delicatessen.mp4</link>
#~ <pubDate>Sun, 6 Sep 2022 16:20:00 +0000</pubDate>
#~ </item>
echo '
<item>
<title>'$TITLE'</title>
<description>'$DESC'</description>
<link>'$SOURCE'</link>
<pubDate>Sun, 1 Sep 2020 20:12:00 +0000</pubDate>
</item>
' >> $HOME/.zen/tmp/${MOATS}/movie.rss
done < ~/.zen/tmp/${PLAYER}.movie.csv
echo '</channel>
</rss>' >> $HOME/.zen/tmp/${MOATS}/movie.rss
IPRSS=$(ipfs add -q $HOME/.zen/tmp/${MOATS}/movie.rss)
ipfs name publish -k $WISH /ipfs/$IPRSS
echo "=========== ( ◕‿◕) (◕‿◕ ) =============="
rm -Rf $HOME/.zen/tmp/${MOATS}
exit 0

View File

@ -11,8 +11,8 @@ ME="${0##*/}"
. "${MY_PATH}/../tools/my.sh"
CESIUM="https://g1.data.le-sou.org"
GCHANGE="https://data.gchange.fr"
CESIUM=${myCESIUM}
GCHANGE=${myGCHANGE}
echo "(✜‿‿✜) G1PalPay : Receiving & Relaying payments to emails found in comment"
echo "$ME RUNNING"

View File

@ -44,7 +44,7 @@ echo "#############################################"
echo "######### INSTALL BASE & PYTHON3 PACKAGE ####"
echo "#############################################"
for i in git make cmake fail2ban npm netcat-traditional ncdu chromium inotify-tools curl net-tools libsodium* libcurl4-openssl-dev python3-pip python3-setuptools python3-wheel python3-dotenv python3-gpg python3-jwcrypto python3-brotli mpack; do
for i in git make cmake fail2ban npm netcat-traditional ncdu chromium csvkit inotify-tools curl net-tools libsodium* libcurl4-openssl-dev python3-pip python3-setuptools python3-wheel python3-dotenv python3-gpg python3-jwcrypto python3-brotli mpack; do
if [ $(dpkg-query -W -f='${Status}' $i 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
echo ">>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Installation $i <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
sudo apt install -y $i