-- 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:
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
--- 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