Shellcheck
Shellcheck is a haskell program that points out common points in shell scripts that can lead to error. I just followed its advice.
This commit is contained in:
parent
e8d0ddb269
commit
c68d139a47
58
opml/opml.sh
58
opml/opml.sh
|
@ -3,7 +3,7 @@
|
|||
|
||||
_whoami="opml.sh"
|
||||
_npc="<barista>"
|
||||
_readlinkpls=$(readlink -f $0)
|
||||
_readlinkpls=$(readlink -f "$0")
|
||||
_whereami=$(dirname "$_readlinkpls")
|
||||
_wheresauce="$_whereami/urls"
|
||||
_wheremug="$_whereami/mug.of.opml"
|
||||
|
@ -35,7 +35,7 @@ __mousse=" </outline>"
|
|||
__latte=" </body>\n</opml>"
|
||||
|
||||
an() {
|
||||
test -f $_wheresauce || (echo "$_npc sauce or it won't happen" && exit 1)
|
||||
test -f "$_wheresauce" || (echo "$_npc sauce or it won't happen" && exit 1)
|
||||
test -z "$1" || __twinkle="$1"
|
||||
test -z "$2" || __barista="$2"
|
||||
test -z "$3" || __pail="$3"
|
||||
|
@ -46,51 +46,51 @@ an() {
|
|||
echo -e "$_npc okay, it'll take a few minutes, why don't you get a cuppa in
|
||||
the meantime? oh wait ..."
|
||||
echo "$_npc *grabs a mug*"
|
||||
echo -e "$__an" >$_wheremug.tmp
|
||||
sed -i "s/{{twinkle}}/$__twinkle/g" $_wheremug.tmp
|
||||
sed -i "s/{{when_picked}}/$_when_picked/g" $_wheremug.tmp
|
||||
sed -i "s/{{when_tasted}}/$_when_tasted/g" $_wheremug.tmp
|
||||
sed -i "s/{{barista}}/$__barista/g" $_wheremug.tmp
|
||||
sed -i "s/{{pail}}/$__pail/g" $_wheremug.tmp
|
||||
sed -i "s|{{lid}}|$__lid|g" $_wheremug.tmp
|
||||
echo -e "$__an" >"$_wheremug.tmp"
|
||||
sed -i "s/{{twinkle}}/$__twinkle/g" "$_wheremug.tmp"
|
||||
sed -i "s/{{when_picked}}/$_when_picked/g" "$_wheremug.tmp"
|
||||
sed -i "s/{{when_tasted}}/$_when_tasted/g" "$_wheremug.tmp"
|
||||
sed -i "s/{{barista}}/$__barista/g" "$_wheremug.tmp"
|
||||
sed -i "s/{{pail}}/$__pail/g" "$_wheremug.tmp"
|
||||
sed -i "s|{{lid}}|$__lid|g" "$_wheremug.tmp"
|
||||
}
|
||||
|
||||
orange_pecan_mousse() {
|
||||
# Feeds
|
||||
first_kat="true"
|
||||
while read lime; do
|
||||
while read -r lime; do
|
||||
is_kat=$(echo "$lime" | awk '{ print substr($0, 1, 1) }' | grep '\[')
|
||||
is_char=$(echo "$lime" | awk '{ print substr($0, 1, 1) }' | grep -E '\[|#')
|
||||
|
||||
# Category
|
||||
if [ -n "$is_kat" ] && [ "$first_kat" == "false" ]; then
|
||||
echo -e "$__mousse" >>$_wheremug.tmp
|
||||
echo -e "$__mousse" >>"$_wheremug.tmp"
|
||||
fi
|
||||
if [ -n "$is_kat" ]; then
|
||||
echo "$_npc *layering mousse*"
|
||||
first_kat="false"
|
||||
kat=$(echo "$lime" | awk '{ print substr($0, 2, length($0) - 2) }')
|
||||
echo -e "$__orange" >>$_wheremug.tmp
|
||||
sed -i "s/{{kat}}/$kat/" $_wheremug.tmp
|
||||
echo -e "$__orange" >>"$_wheremug.tmp"
|
||||
sed -i "s/{{kat}}/$kat/" "$_wheremug.tmp"
|
||||
fi
|
||||
|
||||
# Feed URL
|
||||
test -n "$is_char" || seed=$(echo "$lime" | awk '{ print $1 }')
|
||||
if [ ! -z "$seed" ]; then
|
||||
if [ -n "$seed" ]; then
|
||||
# Protocol
|
||||
echo -e "$_npc *sprinkling* $seed"
|
||||
is_jam=$(echo "$seed" | awk '{ print substr($0, 1, 4) }' | grep 'gem')
|
||||
is_gob=$(echo "$seed" | awk '{ print substr($0, 1, 4) }' | grep 'gop')
|
||||
if [ -n "$is_jam" ]; then
|
||||
seed=$(echo "$seed" | sed "s|gemini://|$_jam_proxy|")
|
||||
seed="${seed/gemini:\/\//$_jam_proxy}"
|
||||
elif [ -n "$is_gob" ]; then
|
||||
seed=$(echo "$seed" | sed "s|gopher://|$_gob_proxy|")
|
||||
seed="${seed/gopher:\/\//$_gob_proxy}"
|
||||
fi
|
||||
germ=$(curl -Ls "$seed")
|
||||
|
||||
is_rss=$(echo -e "$germ" | grep -m 1 "<rss")
|
||||
# Atom
|
||||
if [ ! -n "$is_rss" ]; then
|
||||
if [ -z "$is_rss" ]; then
|
||||
# Select the first instance of the opening tag, mark the closing tag,
|
||||
# trim off everything after and before the tags, clean inner html
|
||||
sprinkle=$(echo -e "$germ" | grep -m 1 "<title" |
|
||||
|
@ -113,37 +113,37 @@ orange_pecan_mousse() {
|
|||
# Guess the website URL from the feed URL to avoid parsing
|
||||
# strings with multiple link tags and no newline delimiters,
|
||||
# some feeds don't provide full paths
|
||||
if [ ! -n "$is_rss" ] || [ "$pearl" == "/" ] || [ "$pearl" == "./" ]; then
|
||||
if [ -z "$is_rss" ] || [ "$pearl" == "/" ] || [ "$pearl" == "./" ]; then
|
||||
bs=$(basename "$seed")
|
||||
pearl=$(echo -e "$seed" | sed "s/$bs//")
|
||||
fi
|
||||
test -z "$luncheon" && luncheon="No description available"
|
||||
|
||||
echo -e "$__pecan" >>$_wheremug.tmp
|
||||
sed -i "s|{{sprinkle}}|$sprinkle|g" $_wheremug.tmp
|
||||
sed -i "s|{{seed}}|$seed|g" $_wheremug.tmp
|
||||
sed -i "s|{{pearl}}|$pearl|g" $_wheremug.tmp
|
||||
sed -i "s|{{luncheon}}|$luncheon|g" $_wheremug.tmp
|
||||
echo -e "$__pecan" >>"$_wheremug.tmp"
|
||||
sed -i "s|{{sprinkle}}|$sprinkle|g" "$_wheremug.tmp"
|
||||
sed -i "s|{{seed}}|$seed|g" "$_wheremug.tmp"
|
||||
sed -i "s|{{pearl}}|$pearl|g" "$_wheremug.tmp"
|
||||
sed -i "s|{{luncheon}}|$luncheon|g" "$_wheremug.tmp"
|
||||
sprinkle=""
|
||||
pearl=""
|
||||
luncheon=""
|
||||
fi
|
||||
done <$_wheresauce
|
||||
done <"$_wheresauce"
|
||||
if [ "$first_kat" == "false" ]; then
|
||||
echo -e "$__mousse" >>$_wheremug.tmp
|
||||
echo -e "$__mousse" >>"$_wheremug.tmp"
|
||||
fi
|
||||
}
|
||||
|
||||
latte() {
|
||||
# Closing
|
||||
echo -e "$__latte" >>$_wheremug.tmp
|
||||
mv $_wheremug.tmp $_wheremug
|
||||
if [ -f $_wheremug ]; then
|
||||
echo -e "$__latte" >>"$_wheremug.tmp"
|
||||
mv "$_wheremug.tmp" "$_wheremug"
|
||||
if [ -f "$_wheremug" ]; then
|
||||
echo "$_npc your OPML is ready, enjoy!"
|
||||
else
|
||||
echo -e "$_npc sorry, something got messed up, lemme know if you want me
|
||||
to make another one."
|
||||
rm -r $_wheremug.tmp
|
||||
rm -r "$_wheremug.tmp"
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue