-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: shell-daemons
action: commit
revision:
path_from:
revision_from: efccad5d3b9c71c3c2e46d62ddc44a28b581b0a9:
path_to:
revision_to:

git.thebackupbox.net

shell-daemons

git://git.thebackupbox.net/shell-daemons

commit efccad5d3b9c71c3c2e46d62ddc44a28b581b0a9
Author: epoch <epoch@hack.thebackupbox.net>
Date:   Mon Aug 9 11:45:01 2021 +0000

    added some helpful other ways of running mime-type, like setting, unsetting, and verbose for the new multi-file ability so you can tell what file it is.

diff --git a/mime-type b/mime-type

index ed08b436636610238a87c2524cc34fc7891fefe4..

index ..4bd2c07cefb847c0e147747496f0747daedbd814 100755

--- a/mime-type
+++ b/mime-type
@@ -1,44 +1,75 @@
-#!/bin/sh
+#!/usr/bin/env bash
 ### first, we need to get the default value. whatever file --mime-type tells us.
 ### then, we can override that with extension based lookups
 ### last, we check if the file has an extended attribute and use that if it does.
 export LANG=C.UTF-8
-MIME_TYPE="$(file --mime-type -L -b "$1")"
-EXT="$(printf '%s\n' "$1" | grep '\.' | rev | cut -d. -f1 | rev)"
-#printf 'type: %s ext: %s\n' $MIME_TYPE $EXT
-### extension based overrides go here
-  if [ "$EXT" = "♊︎" ];then
-    MIME_TYPE="text/gemini"
-  fi
-  if [ "$EXT" = "css" ];then
-    MIME_TYPE="text/css"
-  fi
-  if [ "$EXT" = "txt" ];then
-    MIME_TYPE="text/plain"
-  fi
-  if [ "$EXT" = "sh" ];then
-    MIME_TYPE="text/plain"
-  fi
-  if [ "$EXT" = "js" ];then
-    MIME_TYPE="text/javascript"
-  fi
-  if [ "$EXT" = "svg" ];then
-    MIME_TYPE="image/svg+xml"
-  fi
-  if [ "$EXT" = "hackvr" ];then
-    MIME_TYPE="application/hackvr"
-  fi
-  if [ "$EXT" = "img" ];then
-    MIME_TYPE="application/x86-image"
-  fi
-  if [ "$EXT" = "gmi" ];then
-    MIME_TYPE="text/gemini"
+if [ "$1" = "-h" -o "$1" = "" ];then
+  printf "usage: mime-type [-v] files...\n"
+  printf "       mime-type [-s|--set] file mime-type\n"
+  printf "       mime-type [-u|--unset] file\n"
+  exit 0;
+fi
+
+if [ "$1" = "-s" -o "$1" = "--set" ];then
+  shift
+  setfattr -n user.mime-type -v "$2" "$1"
+  exit 0
+fi
+
+if [ "$1" = "-u" -o "$1" = "--unset" ];then
+  shift
+  setfattr -x user.mime-type "$1"
+  exit 0
+fi
+
+if [ "$1" = "-v" -o "$1" = "--verbose" ];then
+  shift
+  verbose=1
+fi
+
+while [ "$1" ];do
+  MIME_TYPE="$(file --mime-type -L -b "$1")"
+  EXT="$(printf '%s\n' "$1" | grep '\.' | rev | cut -d. -f1 | rev)"
+  #printf 'type: %s ext: %s\n' $MIME_TYPE $EXT
+  ### extension based overrides go here
+    if [ "$EXT" = "♊︎" ];then
+      MIME_TYPE="text/gemini"
+    fi
+    if [ "$EXT" = "css" ];then
+      MIME_TYPE="text/css"
+    fi
+    if [ "$EXT" = "txt" ];then
+      MIME_TYPE="text/plain"
+    fi
+    if [ "$EXT" = "sh" ];then
+      MIME_TYPE="text/plain"
+    fi
+    if [ "$EXT" = "js" ];then
+      MIME_TYPE="text/javascript"
+    fi
+    if [ "$EXT" = "svg" ];then
+      MIME_TYPE="image/svg+xml"
+    fi
+    if [ "$EXT" = "hackvr" ];then
+      MIME_TYPE="application/hackvr"
+    fi
+    if [ "$EXT" = "img" ];then
+      MIME_TYPE="application/x86-image"
+    fi
+    if [ "$EXT" = "gmi" ];then
+      MIME_TYPE="text/gemini"
+    fi
+    if [ "$EXT" = "irc" ];then
+      MIME_TYPE="text/irc"
+    fi
+  ### derp
+  if getfattr -n user.mime-type "$1" >/dev/null 2>&1;then
+    MIME_TYPE="$(getfattr --only-values -n user.mime-type "$1" 2>/dev/null)"
   fi
-  if [ "$EXT" = "irc" ];then
-    MIME_TYPE="text/irc"
+  if [ "$verbose" = "1" ];then
+    printf "%s: %s\n" "$1" "${MIME_TYPE}"
+  else
+    printf "%s\n" "${MIME_TYPE}"
   fi
-### derp
-if getfattr -n user.mime-type "$1" >/dev/null 2>&1;then
-  MIME_TYPE="$(getfattr --only-values -n user.mime-type "$1" 2>/dev/null)"
-fi
-printf "%s\n" "${MIME_TYPE}"
+  shift
+done

-----END OF PAGE-----

-- Response ended

-- Page fetched on Sun Jun 2 11:56:43 2024