From 5390073b9aab92d6dbd601593a116e05fd55ccdb Mon Sep 17 00:00:00 2001 From: kaotisk Date: Fri, 1 Sep 2023 09:42:41 +0300 Subject: [new] ak-news read command --- bin/ak-news | 240 +++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 132 insertions(+), 108 deletions(-) (limited to 'bin') diff --git a/bin/ak-news b/bin/ak-news index 5103371..c020d1a 100755 --- a/bin/ak-news +++ b/bin/ak-news @@ -9,90 +9,90 @@ logit(){ } if [ ! -d $ZNEWSDIR ]; then - mkdir $ZNEWSDIR + mkdir $ZNEWSDIR if [ "$?" == 0 ]; then logit "[INFO]" "$ZNEWSDIR created" else - logit "[ERROR]" "$ZNEWSDIR couldn't be created" + logit "[ERROR]" "$ZNEWSDIR couldn't be created" exit 1 fi else - logit "[INFO]" "$ZNEWSDIR found" + logit "[INFO]" "$ZNEWSDIR found" fi cd $ZNEWSDIR create(){ - TEMP="$(ak-tempassin)" + TEMP="$(ak-tempassin)" cd $TEMP cd - curpath="$(pwd)" - export NEWS_FILE="$(date +%Y%m%d_%H%M%S)" - vi $NEWS_FILE - echo "Renaming..." - TITLE="$(head -n 1 $NEWS_FILE)" - TO_FILE=$NEWS_FILE-$(echo $TITLE | tr '[:upper:]' '[:lower:]' | sed -e 's/ /\_/g' ) - IPFS_FILE=$(ak-ipfs-add $NEWS_FILE) - mv $NEWS_FILE $ZNEWSDIR/$TO_FILE - sed -e 's,Qm.*,'"$IPFS_FILE"',g' $ZNEWSDIR/README - add $TO_FILE - echo "Adding to git repo..." - cd $ZNEWSDIR - # rm -rf $TEMP + curpath="$(pwd)" + export NEWS_FILE="$(date +%Y%m%d_%H%M%S)" + vi $NEWS_FILE + echo "Renaming..." + TITLE="$(head -n 1 $NEWS_FILE)" + TO_FILE=$NEWS_FILE-$(echo $TITLE | tr '[:upper:]' '[:lower:]' | sed -e 's/ /\_/g' ) + IPFS_FILE=$(ak-ipfs-add $NEWS_FILE) + mv $NEWS_FILE $ZNEWSDIR/$TO_FILE + sed -e 's,Qm.*,'"$IPFS_FILE"',g' $ZNEWSDIR/README + add $TO_FILE + echo "Adding to git repo..." + cd $ZNEWSDIR + # rm -rf $TEMP } index(){ - FILES="$(ls -1 $ZNEWSDIR)" - i=0 - for FILE in $FILES - do - DATE=$(echo $FILE | cut -d - -f 1 | awk '{print $1}') - TITLE=$(head -n 1 $ZNEWSDIR/$FILE) + FILES="$(ls -1 $ZNEWSDIR)" + i=0 + for FILE in $FILES + do + DATE=$(echo $FILE | cut -d - -f 1 | awk '{print $1}') + TITLE=$(head -n 1 $ZNEWSDIR/$FILE) IPFS_HASH=$(ak-ipfs-addn $ZNEWSDIR/$FILE) - echo $i \| $IPFS_HASH \| $DATE \| $TITLE - let i+=1 - done + echo $i \| $IPFS_HASH \| $DATE \| $TITLE + let i+=1 + done } title(){ echo $PROGRAM } import(){ - echo "#TODO" - if [ ! -z $1 ] - then - if [ ! -d "$1" ] - then - echo $1 - echo "Folder does not exist" - exit 4 - else - echo "Folder $1 exists" - fl="$(ls -1 $1)" - for f in $fl - do - echo $1 $f - add2 "$1/$f" - done - fi - else - echo "No value" - exit 6 - fi - exit 224 + echo "#TODO" + if [ ! -z $1 ] + then + if [ ! -d "$1" ] + then + echo $1 + echo "Folder does not exist" + exit 4 + else + echo "Folder $1 exists" + fl="$(ls -1 $1)" + for f in $fl + do + echo $1 $f + add2 "$1/$f" + done + fi + else + echo "No value" + exit 6 + fi + exit 224 } add2(){ TEMP="$(ak-tempassin)" cd $TEMP - if [ -f $1 ]; then - FILE="$1" - cp $FILE $ZNEWSDIR - echo "Adding news from " $FILE - DATETIME=$(echo $FILE | cut -d - -f 1 | awk '{print $1}') - TITLE=$(head -n 1 $FILE) - FILE_IPFS_HASH=$(ak-ipfs-add $FILE) - FILE_SIGN_FILE=$FILE".asc" - gpg2 --homedir $AK_GPGHOME --detach-sign --sign-with $AK_FINGERPRINT --armor --output $FILE_SIGN_FILE $FILE - FILE_SIGNATURE=$(ak-ipfs-add $FILE_SIGN_FILE) - cat > data < data < data < data < #TODO" - echo "add Creates a data file from the news file you point to" - echo "create Vim is going to pop up, you will write and save your" - echo " newsletter and it's going to be saved" - exit 0 + echo "#TODO" + echo "All you need to know is that there are two options available:" + echo "help Prints this help message" + echo "local-index Prints an indexed table of your news files" + echo "import #TODO" + echo "add Creates a data file from the news file you point to" + echo "create Vim is going to pop up, you will write and save your" + echo " newsletter and it's going to be saved" + exit 0 +} +akNewsRead(){ + ak-enter -l 1 $1 > temp + if [ $? -ne 0 ] + then + echo error + exit 22 + fi + module="`cat temp | jq -r '.[].module'`" + action="`cat temp | jq -r '.[].action'`" + data="`cat temp | jq -r '.[].data'`" + linkToText="`cat temp | jq -r ".[].$data.ipfs"`" + + if [ "$module" == "news" ] && [ "$action" == "add" ] + then + + ak-ipfs-cat $linkToText + else + ak-logthis "[ERROR]" "Not a news block." + echo "[ERROR] Not a news block." + exit 1 + fi + rm temp } title if [ ! -z $1 ]; then - case $1 in - help) usage; exit;; - local-index) index; exit;; - import) import $2; exit;; - add) add2 $2; exit;; - create) create; exit;; - * ) usage;; - esac + case $1 in + help) usage; exit;; + local-index) index; exit;; + import) import $2; exit;; + add) add2 $2; exit;; + create) create; exit;; + read) akNewsRead $2; exit;; + * ) usage;; + esac else usage fi -- cgit v1.2.3