Skip to content

Commit cb64535

Browse files
authored
Merge pull request #213 from ErezBinyamin/master
Bug fixes and formatting
2 parents 2e6ed2d + 89f69bb commit cb64535

File tree

1 file changed

+19
-21
lines changed

1 file changed

+19
-21
lines changed

share/adapters/oeis.sh

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -68,25 +68,27 @@ oeis() (
6868
ID="A$(printf '%06d' ${ID})"
6969
URL+="/${ID}"
7070
curl $URL 2>/dev/null > $DOC
71-
# Print ID, description, and sequence
72-
printf "ID: ${ID}\n"
73-
get_desc
74-
printf "\n"
75-
get_seq ${MAX_TERMS}
76-
printf "\n"
7771
# Print Code Sample
7872
if [[ ${LANGUAGE^^} == ':LIST' ]]
7973
then
8074
rm -f ${TMP}/list
81-
grep -q 'MAPLE' $DOC && printf "maple\n" >> $TMP/list
82-
grep -q 'MATHEMATICA' $DOC && printf "mathematica\n" >> $TMP/list
83-
parse_code "PROG.*CROSSREFS" \
75+
grep -q 'MAPLE' $DOC && printf 'maple\n' >> $TMP/list
76+
grep -q 'MATHEMATICA' $DOC && printf 'mathematica\n' >> $TMP/list
77+
parse_code 'PROG.*CROSSREFS' \
8478
| grep -o '^(.*)' \
8579
| sed 's/ .*//g' \
8680
| tr -d '()' \
8781
| sort -u >> $TMP/list
88-
[ $(wc -c < $TMP/list) -ne 0 ] && cat ${TMP}/list || printf "No code snippets available.\n"
89-
elif [ $# -gt 1 ]
82+
[ $(wc -c < $TMP/list) -ne 0 ] && cat ${TMP}/list || printf 'No code snippets available.\n'
83+
return 0
84+
fi
85+
# Print ID, description, and sequence
86+
printf "ID: ${ID}\n"
87+
get_desc
88+
printf '\n'
89+
get_seq ${MAX_TERMS}
90+
printf '\n'
91+
if [ $# -gt 1 ]
9092
then
9193
if [[ ${LANGUAGE^^} == 'MAPLE' ]] && grep -q 'MAPLE' $DOC
9294
then
@@ -105,24 +107,20 @@ oeis() (
105107
> ${TMP}/code_snippet
106108
else
107109
# PROG section contains more code samples (Non Mathematica or Maple)
108-
parse_code "PROG.*CROSSREFS" \
110+
parse_code 'PROG.*CROSSREFS' \
109111
| sed '/PROG/d; /CROSSREFS/d' \
110112
> ${TMP}/prog
111113
# Print out code sample for specified language
112114
rm -f ${TMP}/code_snippet
113-
awk -v tgt="${LANGUAGE^^}" -F'[()]' '/^\(/{f=(tgt==$2)} f' ${TMP}/prog > ${TMP}/code_snippet
114-
L="${LANGUAGE:0:1}"
115-
LANGUAGE="${LANGUAGE:1}"
116-
LANGUAGE="${L^^}${LANGUAGE,,}"
117-
[ $(wc -c < $TMP/code_snippet) -eq 0 ] && awk -v tgt="${LANGUAGE}" -F'[()]' '/^\(/{f=(tgt==$2)} f' ${TMP}/prog > ${TMP}/code_snippet
115+
awk -v tgt="${LANGUAGE^^}" -F'[()]' '/^\(/{f=(tgt==toupper($2))} f' ${TMP}/prog > ${TMP}/code_snippet
118116
fi
119117
# Print code snippet with 4-space indent to enable colorization
120118
if [ $(wc -c < $TMP/code_snippet) -ne 0 ]
121119
then
122120
printf "${LANGUAGE}"
123121
cat ${TMP}/code_snippet \
124122
| sed "s/(${LANGUAGE^^})/\n/; s/(${LANGUAGE})/\n/;" \
125-
| sed 's/^/ /'
123+
| sed 's/^/ /'
126124
else
127125
printf "${LANGUAGE^^} unavailable. Use :list to view available languages.\n"
128126
fi
@@ -146,12 +144,12 @@ oeis() (
146144
for i in ${!ID[@]}
147145
do
148146
printf "${ID[$i]}: ${DESC[$i]}\n"
149-
echo ${SEQ[$i]}
150-
printf "\n"
147+
printf "${SEQ[$i]}\n\n"
151148
done
152149
fi
150+
grep 'results, too many to show. Please refine your search.' /tmp/oeis/doc.html | sed -e 's/<[^>]*>//g; s/^[ \t]*//'
153151
# Print URL for user
154-
printf "\nLink to source: ${URL}\n"
152+
printf "\n[${URL}]\n" | rev | sed 's/,//' | rev
155153
)
156154
157155
oeis $@

0 commit comments

Comments
 (0)