From 509f26836b77dcc491ee49d3269099a5d9773988 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 3 Jul 2020 07:50:04 -0400 Subject: [PATCH 1/8] Added links in bibliography --- share/adapters/oeis.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/share/adapters/oeis.sh b/share/adapters/oeis.sh index fc5136a..eb3ee45 100755 --- a/share/adapters/oeis.sh +++ b/share/adapters/oeis.sh @@ -102,7 +102,13 @@ oeis() ( do author=$(<<<"$author" sed 's/[]\\\*\(\.[]/\\&/g') sed -i "s|${author}|[${i}]|" ${TMP}/code_snippet - echo "[${i}] [${author}]" | tr -d '_' >> ${TMP}/bibliograpy + author_url='https://oeis.org/wiki/User:'"${author%%,*}" + echo "[${i}] [${author}] [${author_url}]" \ + | tr -d '_' \ + | rev \ + | sed 's/ /_/' \ + | rev \ + >> ${TMP}/bibliograpy let i++ done <${TMP}/authors # Print snippet From 9d7fd2738fe6c63414d31cb787c9cbff04fcb585 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 3 Jul 2020 08:30:37 -0400 Subject: [PATCH 2/8] process sigle letter commands (chmod +x) --- share/adapters/chmod.sh | 87 +++++++++++++++++++++++++++-------------- 1 file changed, 58 insertions(+), 29 deletions(-) diff --git a/share/adapters/chmod.sh b/share/adapters/chmod.sh index 0ddfb89..1470a3f 100755 --- a/share/adapters/chmod.sh +++ b/share/adapters/chmod.sh @@ -54,39 +54,68 @@ chmod_calc(){ fi done # If permission string is given -> calc number - elif [[ ${#1} -eq 9 && $1 =~ ^[r,s,S,t,T,w,x,-]+$ ]] + elif [[ $1 =~ ^[r,s,S,t,T,w,x,-]+$ ]] then - p_s=$1 - num=0 - # Process specials - [[ 'sS' =~ ${p_s:2:1} ]] && setuid='X' && num=$((num+4)) - [[ 'sS' =~ ${p_s:5:1} ]] && setgid='X' && num=$((num+2)) - [[ 'tT' =~ ${p_s:8:1} ]] && sticky='X' && num=$((num+1)) - [ ${num} -gt 0 ] && p_n+="$num" - # Calculate rest of p_n number while populating arrays for table - for (( i=0; i<${#p_s}; i+=0 )) - do + if [[ ${#1} -eq 9 ]] + then + p_s=$1 num=0 - [[ "r-" =~ ${p_s:$i:1} ]] || return 1 - [[ ${p_s:$i:1} == 'r' ]] && R+=('X') || R+=(' ') - [[ ${p_s:$((i++)):1} == 'r' ]] && let num++ - num=$(( num << 1 )) - [[ "w-" =~ ${p_s:$i:1} ]] || return 1 - [[ ${p_s:$i:1} == 'w' ]] && W+=('X') || W+=(' ') - [[ ${p_s:$((i++)):1} == 'w' ]] && let num++ - num=$(( num << 1 )) - if [ $i -lt 6 ] + # Process specials + [[ 'sS' =~ ${p_s:2:1} ]] && setuid='X' && num=$((num+4)) + [[ 'sS' =~ ${p_s:5:1} ]] && setgid='X' && num=$((num+2)) + [[ 'tT' =~ ${p_s:8:1} ]] && sticky='X' && num=$((num+1)) + [ ${num} -gt 0 ] && p_n+="$num" + # Calculate rest of p_n number while populating arrays for table + for (( i=0; i<${#p_s}; i+=0 )) + do + num=0 + [[ "r-" =~ ${p_s:$i:1} ]] || return 1 + [[ ${p_s:$i:1} == 'r' ]] && R+=('X') || R+=(' ') + [[ ${p_s:$((i++)):1} == 'r' ]] && let num++ + num=$(( num << 1 )) + [[ "w-" =~ ${p_s:$i:1} ]] || return 1 + [[ ${p_s:$i:1} == 'w' ]] && W+=('X') || W+=(' ') + [[ ${p_s:$((i++)):1} == 'w' ]] && let num++ + num=$(( num << 1 )) + if [ $i -lt 6 ] + then + [[ "sSx-" =~ ${p_s:$i:1} ]] || return 1 + [[ "sx" =~ ${p_s:$i:1} ]] && X+=('X') || X+=(' ') + [[ "sx" =~ ${p_s:$((i++)):1} ]] && let num++ + else + [[ "tTx-" =~ ${p_s:$i:1} ]] || return 1 + [[ "tx" =~ ${p_s:$i:1} ]] && X+=('X') || X+=(' ') + [[ "tx" =~ ${p_s:$((i++)):1} ]] && let num++ + fi + p_n+="$num" + done + elif [[ $1 =~ ^[r,s,t,w,x]+$ ]] + then + R=(' ' ' ' ' ') + W=(' ' ' ' ' ') + X=(' ' ' ' ' ') + if [[ $1 =~ 'r' ]] then - [[ "sSx-" =~ ${p_s:$i:1} ]] || return 1 - [[ "sx" =~ ${p_s:$i:1} ]] && X+=('X') || X+=(' ') - [[ "sx" =~ ${p_s:$((i++)):1} ]] && let num++ - else - [[ "tTx-" =~ ${p_s:$i:1} ]] || return 1 - [[ "tx" =~ ${p_s:$i:1} ]] && X+=('X') || X+=(' ') - [[ "tx" =~ ${p_s:$((i++)):1} ]] && let num++ + R=('X' 'X' 'X') fi - p_n+="$num" - done + if [[ $1 =~ 'w' ]] + then + W=('X' ' ' ' ') + fi + if [[ $1 =~ 's' ]] + then + setuid='X' + setgid='X' + fi + if [[ $1 =~ 't' ]] + then + sticky='X' + fi + if [[ $1 =~ 'x' ]] + then + X=('X' 'X' 'X') + fi + fi else return 1 fi From 593949fd179ccc7b927a8e7ff4befb8371db094c Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 3 Jul 2020 08:41:41 -0400 Subject: [PATCH 3/8] added permission string to single letter chmod --- share/adapters/chmod.sh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/share/adapters/chmod.sh b/share/adapters/chmod.sh index 1470a3f..37aec8d 100755 --- a/share/adapters/chmod.sh +++ b/share/adapters/chmod.sh @@ -91,30 +91,37 @@ chmod_calc(){ done elif [[ $1 =~ ^[r,s,t,w,x]+$ ]] then + p_s='---------' R=(' ' ' ' ' ') W=(' ' ' ' ' ') X=(' ' ' ' ' ') if [[ $1 =~ 'r' ]] then + p_s=$(echo $p_s | sed 's/./r/1; s/./r/4; s/./r/7;') R=('X' 'X' 'X') fi if [[ $1 =~ 'w' ]] then + p_s=$(echo $p_s | sed 's/./w/2') W=('X' ' ' ' ') fi + if [[ $1 =~ 'x' ]] + then + p_s=$(echo $p_s | sed 's/./x/3; s/./x/6; s/./x/9;') + X=('X' 'X' 'X') + fi if [[ $1 =~ 's' ]] then + [[ ${p_s:2:1} == 'x' ]] && p_s=$(echo $p_s | sed 's/./s/3') || p_s=$(echo $p_s | sed 's/./S/3') + [[ ${p_s:5:1} == 'x' ]] && p_s=$(echo $p_s | sed 's/./s/6') || p_s=$(echo $p_s | sed 's/./S/6') setuid='X' setgid='X' fi if [[ $1 =~ 't' ]] then + [[ ${p_s:8:1} == 'x' ]] && p_s=$(echo $p_s | sed 's/./t/9') || p_s=$(echo $p_s | sed 's/./T/9') sticky='X' fi - if [[ $1 =~ 'x' ]] - then - X=('X' 'X' 'X') - fi fi else return 1 From 2217cc0ca65777c9de70e524388b3f9ae62ba04d Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 3 Jul 2020 08:49:08 -0400 Subject: [PATCH 4/8] added permission number to sigle letter chmod --- share/adapters/chmod.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/share/adapters/chmod.sh b/share/adapters/chmod.sh index 37aec8d..892b66c 100755 --- a/share/adapters/chmod.sh +++ b/share/adapters/chmod.sh @@ -92,36 +92,50 @@ chmod_calc(){ elif [[ $1 =~ ^[r,s,t,w,x]+$ ]] then p_s='---------' + p_n0=0 + p_n1=0 + p_n2=0 + p_n3=0 R=(' ' ' ' ' ') W=(' ' ' ' ' ') X=(' ' ' ' ' ') if [[ $1 =~ 'r' ]] then p_s=$(echo $p_s | sed 's/./r/1; s/./r/4; s/./r/7;') + let p_n1+=4 + let p_n2+=4 + let p_n3+=4 R=('X' 'X' 'X') fi if [[ $1 =~ 'w' ]] then p_s=$(echo $p_s | sed 's/./w/2') + let p_n1+=2 W=('X' ' ' ' ') fi if [[ $1 =~ 'x' ]] then p_s=$(echo $p_s | sed 's/./x/3; s/./x/6; s/./x/9;') + let p_n1+=1 + let p_n2+=1 + let p_n3+=1 X=('X' 'X' 'X') fi if [[ $1 =~ 's' ]] then [[ ${p_s:2:1} == 'x' ]] && p_s=$(echo $p_s | sed 's/./s/3') || p_s=$(echo $p_s | sed 's/./S/3') [[ ${p_s:5:1} == 'x' ]] && p_s=$(echo $p_s | sed 's/./s/6') || p_s=$(echo $p_s | sed 's/./S/6') + let p_n0+=6 setuid='X' setgid='X' fi if [[ $1 =~ 't' ]] then + let p_n0+=1 [[ ${p_s:8:1} == 'x' ]] && p_s=$(echo $p_s | sed 's/./t/9') || p_s=$(echo $p_s | sed 's/./T/9') sticky='X' fi + p_n="${p_n0}${p_n1}${p_n2}${p_n3}" fi else return 1 From 20daf66cf3d9c60bab7f5abeabf92de9e42b1fde Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 3 Jul 2020 08:55:26 -0400 Subject: [PATCH 5/8] added comments, fixed blank table on hiphen error --- share/adapters/chmod.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/share/adapters/chmod.sh b/share/adapters/chmod.sh index 892b66c..9c20edd 100755 --- a/share/adapters/chmod.sh +++ b/share/adapters/chmod.sh @@ -56,6 +56,7 @@ chmod_calc(){ # If permission string is given -> calc number elif [[ $1 =~ ^[r,s,S,t,T,w,x,-]+$ ]] then + # FULL STRING if [[ ${#1} -eq 9 ]] then p_s=$1 @@ -89,6 +90,7 @@ chmod_calc(){ fi p_n+="$num" done + # PARTIAL STRING elif [[ $1 =~ ^[r,s,t,w,x]+$ ]] then p_s='---------' @@ -136,6 +138,8 @@ chmod_calc(){ sticky='X' fi p_n="${p_n0}${p_n1}${p_n2}${p_n3}" + else + return 1 fi else return 1 From b388437ef044c72f709f0d81b80cb77b5998e102 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 7 Jul 2020 20:11:44 -0400 Subject: [PATCH 6/8] Bibliography sources should be names (ignore and consolidate different dates with same name) with links --- share/adapters/oeis.sh | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/share/adapters/oeis.sh b/share/adapters/oeis.sh index eb3ee45..7a76371 100755 --- a/share/adapters/oeis.sh +++ b/share/adapters/oeis.sh @@ -92,8 +92,8 @@ oeis() ( if [[ -f $TMP/code_snippet && $(wc -c < $TMP/code_snippet) -ne 0 ]] then # Get authors - cat ${TMP}/code_snippet \ - | grep -o ' _[A-Z].* [A-Z].*_, [A-Z].*[0-9]' \ + grep -o ' _[A-Z].* [A-Z].*_, [A-Z].*[0-9]' ${TMP}/code_snippet \ + | sed 's/,.*//' \ | sort -u \ > ${TMP}/authors i=1 @@ -101,13 +101,10 @@ oeis() ( while read author do author=$(<<<"$author" sed 's/[]\\\*\(\.[]/\\&/g') - sed -i "s|${author}|[${i}]|" ${TMP}/code_snippet - author_url='https://oeis.org/wiki/User:'"${author%%,*}" + sed -i "s|${author}.*[0-9]|[${i}]|" ${TMP}/code_snippet + author=$(echo $author | tr -d '_\\') + author_url='https://oeis.org/wiki/User:'"$(echo ${author} | tr ' ' '_')" echo "[${i}] [${author}] [${author_url}]" \ - | tr -d '_' \ - | rev \ - | sed 's/ /_/' \ - | rev \ >> ${TMP}/bibliograpy let i++ done <${TMP}/authors From d5fec972422b1b334e231331719c4538bf24d81b Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 7 Jul 2020 20:25:10 -0400 Subject: [PATCH 7/8] new tmp dirs for each instance + self cleanup (avoid collision) --- share/adapters/oeis.sh | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/share/adapters/oeis.sh b/share/adapters/oeis.sh index 7a76371..7c28a3e 100755 --- a/share/adapters/oeis.sh +++ b/share/adapters/oeis.sh @@ -9,8 +9,8 @@ # oeis oeis() ( local URL='https://oeis.org/search?q=' - local TMP=/tmp/oeis - local DOC=/tmp/oeis/doc.html + local TMP=/tmp/oeis_${RANDOM} + local DOC=${TMP}/doc.html local MAX_TERMS_LONG=30 local MAX_TERMS_SHORT=10 mkdir -p $TMP @@ -53,6 +53,7 @@ oeis() ( [[ -f $TMP/section && $(wc -c < $TMP/section) -ne 0 ]] \ && cat ${TMP}/section | sort -u \ || printf 'No code snippets available.\n' + rm -rf $TMP return 0 fi # Print ID @@ -109,8 +110,7 @@ oeis() ( let i++ done <${TMP}/authors # Print snippet - cat ${TMP}/code_snippet \ - | sed 's/^/ /' + sed 's/^/ /' ${TMP}/code_snippet else printf "${SECTION^^} unavailable. Use :list to view available languages.\n" fi @@ -164,6 +164,7 @@ curl cheat.sh/oeis/A2/python # List all available implementations of the A2 OEIS sequence curl cheat.sh/oeis/A2/:list " + rm -rf $TMP return 1 fi # Error statements @@ -178,6 +179,8 @@ curl cheat.sh/oeis/A2/:list | sed 's/,//' \ | rev \ | sed 's/&.*/]/' + rm -rf $TMP + return 0 ) oeis $@ From 5a6a80c8cc8517278848ab3890156ee5fb82a296 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 9 Jul 2020 20:36:54 -0400 Subject: [PATCH 8/8] SuperSandro2000: added mktemp --- share/adapters/oeis.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/adapters/oeis.sh b/share/adapters/oeis.sh index 7c28a3e..d2b64ba 100755 --- a/share/adapters/oeis.sh +++ b/share/adapters/oeis.sh @@ -9,7 +9,7 @@ # oeis oeis() ( local URL='https://oeis.org/search?q=' - local TMP=/tmp/oeis_${RANDOM} + local TMP=$(mktemp -d oeis.XXXXXXX) local DOC=${TMP}/doc.html local MAX_TERMS_LONG=30 local MAX_TERMS_SHORT=10