rename err to bash-bear
[distro-setup] / brc2
diff --git a/brc2 b/brc2
index 3f62206fe633c812068b552d83d6d6d1e67120c5..af4d8082aaa92268c4f0f9daa5e10e6501be15c5 100644 (file)
--- a/brc2
+++ b/brc2
@@ -439,22 +439,19 @@ astudio() {
 # Convert brains file path to url and vice versa
 # usage: brains [URL_OR_PATH]
 brains() {
-  _iki-convert '(/a)?/f/brains' brains.fsf.org/wiki "$@"
+  _iki-convert brains.fsf.org/wiki "$@"
 }
 glue() {
-  _iki-convert '(/a)?/f/gluestick' gluestick.office.fsf.org "$@"
+  _iki-convert gluestick.office.fsf.org "$@"
 }
 
-# usage: $0 REPO_PATH [URL_OR_PATH]
+# usage: see above
 _iki-convert() {
-  local url prefix path input err repo_dir dir url_dir url
-  repo_dir="$1"
-  prefix="$2"
-  shift 2
-  err=false
-  if $err; then
-    return 1
-  fi
+  local url url_prefix path input err repo_dir dir url_dir url name
+  url_prefix="$1"
+  name="${url_prefix%%.*}"
+  repo_dir="/f/$name"
+  shift
   if [[ $1 ]]; then
     input="$*"
   else
@@ -462,7 +459,7 @@ _iki-convert() {
   fi
   case $input in
     http*)
-      path="$repo_dir/${input##http*://"$prefix"/}"
+      path="$repo_dir/${input##http*://"$url_prefix"/}"
       if [[ $path == */ ]]; then
         path=${path%/}.mdwn
       fi
@@ -470,8 +467,8 @@ _iki-convert() {
       ;;
     *)
       path=$(fp "$input")
-      url_dir=$(echo "$path" | sed -r "s,^$repo_dir/,,")
-      url="https://$prefix/$url_dir"
+      url_dir=$(echo "$path" | sed -r "s,^(/a)?$repo_dir/,,")
+      url="https://$url_prefix/$url_dir"
       url="${url%.mdwn}/"
       j echo "$url"
       ;;
@@ -744,7 +741,7 @@ mpvrpc-percent-pos() {
 # q quit
 # ret next
 #
-beetag() {
+beetag()  {
   local last_genre_i fstring tag id char new_item char_i genre tag remove doplay i j random path
   local do_rare_genres read_wait help line lsout tmp ls_line skip_lookback
   local escape_char escaped_input expected_input skip_input_regex right_pad erasable_line seek_sec
@@ -2982,6 +2979,35 @@ prof-recent-local() {
   done
 }
 
+prof-sort() {
+  case $HOSTNAME in
+    kd)
+      prof-recent-sort
+      ;;
+    *)
+      ssh b8.nz prof-recent-sort
+      ;;
+  esac
+}
+
+prof-recent-sort() {
+  local d dates date files f
+  # consider making the day count passed by parameter. note: this works: $(date -d '2 day ago' +%Y_%m_%d)
+  dates=("$(date +%Y_%m_%d)" "$(date -d '1 day ago' +%Y_%m_%d)" )
+  files=()
+  for d in /d/p/profanity/chatlogs/iank_at_fsf.org/!(rooms); do
+    for date in ${dates[@]}; do
+      f=$d/$date.log
+      if [[ -e $f ]]; then
+        files+=($f)
+      fi
+    done
+  done
+  for f in "${files[@]}"; do
+    sed "s/\$/ $f/" $f
+  done | sort
+}
+
 
 # usage: debvm DEBIAN_VERSION RAM_MB
 debvm() {
@@ -4062,13 +4088,18 @@ fi
 # rg with respecting vcs ignore files
 rgv() {
   ret=0
+  # settings that are turned off for pipes, keep them on.
+  # Found by searching for "terminal" in --help
+  # --heading
+  # -n
+  #
   # -. = search dotfiles
   # -z = search zipped files
   # -i = case insensitive
   # -M = max columns
   # --no-messages because of annoying errors on broken symlinks
   # --no-ignore-parent because i have /a/.git which ignores almost everything under it.
-  command rg -. -z --no-messages -i -M 900 --no-ignore-parent -g '!.git' -g '!auto-save-list' -g '!.savehist' "$@" || ret=$?
+  command rg -n --heading -. -z --no-messages -i -M 900 --no-ignore-parent -g '!.git' -g '!auto-save-list' -g '!.savehist' "$@" || ret=$?
   return $ret
 }