📦➔🦋 Store and retrieve files on the Atmosphere
34
fork

Configure Feed

Select the types of activity you want to include in your feed.

at dev 178 lines 8.0 kB view raw
1#!/usr/bin/env bash 2 3function atfile.something_broke() { 4 prog_not_installed_placeholder="(Not Installed)" 5 6 function atfile.something_broke.print_envvar() { 7 # shellcheck disable=SC2154 8 variable_name="${_envvar_prefix}_$1" 9 variable_default="$2" 10 11 unset output 12 13 output="$variable_name: $(atfile.util.get_envvar "$variable_name" "$variable_default")" 14 [[ -n "$variable_default" ]] && output+=" [$variable_default]" 15 16 echo -e "$output" 17 } 18 19 function atfile.something_broke.print_prog_version() { 20 prog="$1" 21 version_arg="$2" 22 head="$3" 23 24 [[ -z "$head" ]] && head="1" 25 [[ -z "$version_arg" ]] && version_arg="--version" 26 27 if [ -x "$(command -v "$prog")" ]; then 28 version_output="$(eval "$prog $version_arg 2>&1")" 29 if [[ $head == 0 ]]; then 30 echo -e "$version_output" 31 else 32 echo -e "$version_output" | head -n "$head" | sed "s/$prog //g" 33 fi 34 else 35 echo "$prog_not_installed_placeholder" 36 fi 37 } 38 39 # shellcheck disable=SC2154 40 if [[ $_output_json == 1 ]]; then 41 atfile.die "Command not available as JSON" 42 fi 43 44 unset cut_version 45 unset md5sum_version 46 unset sed_version 47 finger_record="$(atfile.util.get_finger_record 1)" 48 git_version="$(atfile.something_broke.print_prog_version "git")" 49 hostname_version="$(atfile.something_broke.print_prog_version "hostname")" 50 mediainfo_version="$(atfile.something_broke.print_prog_version "mediainfo" "--version" 0)" 51 52 # shellcheck disable=SC2154 53 if [[ $_os == "linux-musl" ]]; then 54 md5sum_version="$(atfile.something_broke.print_prog_version "md5sum" "--help")" 55 # TODO: cut, sed 56 else 57 cut_version="$(atfile.something_broke.print_prog_version "cut")" 58 md5sum_version="$(atfile.something_broke.print_prog_version "md5sum")" 59 sed_version="$(atfile.something_broke.print_prog_version "sed")" 60 fi 61 62 if [[ "$cut_version" != "$prog_not_installed_placeholder" ]]; then 63 if [[ "$cut_version" == *GNU* ]]; then 64 cut_version="$(echo "$cut_version" | cut -d " " -f 3) (GNU)" 65 else 66 cut_version="(Unsupported)" 67 fi 68 fi 69 70 if [[ "$git_version" != "$prog_not_installed_placeholder" ]]; then 71 git_version="$(echo "$git_version" | cut -d " " -f 2)" 72 fi 73 74 if [[ "$hostname_version" != "$prog_not_installed_placeholder" ]]; then 75 if [[ "$hostname_version" == *net-tools* ]]; then 76 hostname_version="$(echo "$hostname_version" | cut -d " " -f 2) (net-tools)" 77 fi 78 fi 79 80 if [[ "$md5sum_version" != "$prog_not_installed_placeholder" ]]; then 81 if [[ "$md5sum_version" == *GNU* ]]; then 82 md5sum_version="$(echo "$md5sum_version" | cut -d " " -f 3) (GNU)" 83 elif [[ "$md5sum_version" == *BusyBox* ]]; then 84 md5sum_version="$(echo "$md5sum_version" | cut -d " " -f 1 | cut -d "v" -f 2) (BusyBox)" 85 else 86 md5sum_version="(Unsupported)" 87 fi 88 fi 89 90 if [[ "$mediainfo_version" != "$prog_not_installed_placeholder" ]]; then 91 mediainfo_version="$(echo "$mediainfo_version" | grep "MediaInfoLib" | cut -d "v" -f 2)" 92 fi 93 94 if [[ "$sed_version" != "$prog_not_installed_placeholder" ]]; then 95 if [[ "$sed_version" == *GNU* ]]; then 96 sed_version="$(echo "$sed_version" | cut -d " " -f 3) (GNU)" 97 else 98 sed_version="(Unsupported)" 99 fi 100 fi 101 102 debug_output="$_name 103↳ Version: $_version 104↳ UAS: $(atfile.util.get_uas) 105↳ Path: $_prog_path 106Variables 107$(atfile.something_broke.print_envvar "DEBUG") 108$(atfile.something_broke.print_envvar "DEVEL") 109$(atfile.something_broke.print_envvar "DEVEL_DIR") 110${_envvar_prefix}_DEVEL_DIST_PASSWORD: $([[ -n $(atfile.util.get_envvar "${_envvar_prefix}_DEVEL_DIST_PASSWORD") ]] && echo "(Set)") 111$(atfile.something_broke.print_envvar "DEVEL_DIST_USERNAME" "$_devel_dist_username_default") 112$(atfile.something_broke.print_envvar "DEVEL_ENABLE_PIPING" "0") 113$(atfile.something_broke.print_envvar "DEVEL_ENABLE_PUBLISH" "$_devel_enable_publish_default") 114$(atfile.something_broke.print_envvar "DEVEL_ENTRY") 115${_envvar_prefix}_DEVEL_INCLUDES: 116$(for s in "${ATFILE_DEVEL_INCLUDES[@]}"; do echo "$s"; done) 117$(atfile.something_broke.print_envvar "DEVEL_SOURCE") 118$(atfile.something_broke.print_envvar "DISABLE_AUTH_CHECK" "$_disable_auth_check_default") 119$(atfile.something_broke.print_envvar "DISABLE_NI_EXIFTOOL" "$_disable_ni_exiftool_default") 120$(atfile.something_broke.print_envvar "DISABLE_NI_MD5SUM" "$_disable_ni_md5sum_default") 121$(atfile.something_broke.print_envvar "DISABLE_NI_MEDIAINFO" "$_disable_ni_mediainfo_default") 122$(atfile.something_broke.print_envvar "DISABLE_SETUP_DIR_CREATION" "$_disable_setup_dir_creation_default") 123$(atfile.something_broke.print_envvar "DISABLE_UNSUPPORTED_OS_WARN" "$_disable_unsupported_os_warn") 124$(atfile.something_broke.print_envvar "DISABLE_UPDATE_CHECKING" "$_disable_update_checking_default") 125$(atfile.something_broke.print_envvar "DISABLE_UPDATE_COMMAND" "$_disable_update_command_default") 126$(atfile.something_broke.print_envvar "ENABLE_FINGERPRINT" "$_enable_fingerprint_default") 127$(atfile.something_broke.print_envvar "ENABLE_UPDATE_GIT_CLOBBER" "$_enable_update_git_clobber") 128$(atfile.something_broke.print_envvar "ENDPOINT_APPVIEW" "$_endpoint_appview_default") 129$(atfile.something_broke.print_envvar "ENDPOINT_JETSTREAM" "$_endpoint_jetstream_default") 130$(atfile.something_broke.print_envvar "ENDPOINT_PDS") 131$(atfile.something_broke.print_envvar "ENDPOINT_PDSLS" "$_endpoint_pdsls_default") 132$(atfile.something_broke.print_envvar "ENDPOINT_PLC_DIRECTORY" "$_endpoint_plc_directory_default") 133$(atfile.something_broke.print_envvar "ENDPOINT_SOCIAL_APP" "$_endpoint_social_app_default") 134$(atfile.something_broke.print_envvar "FMT_BLOB_URL" "$_fmt_blob_url_default") 135$(atfile.something_broke.print_envvar "FMT_OUT_FILE" "$_fmt_out_file_default") 136$(atfile.something_broke.print_envvar "FORCE_META_AUTHOR") 137$(atfile.something_broke.print_envvar "FORCE_META_DID") 138$(atfile.something_broke.print_envvar "FORCE_META_REPO") 139$(atfile.something_broke.print_envvar "FORCE_META_YEAR") 140$(atfile.something_broke.print_envvar "FORCE_NOW") 141$(atfile.something_broke.print_envvar "FORCE_OS") 142$(atfile.something_broke.print_envvar "FORCE_VERSION") 143$(atfile.something_broke.print_envvar "MAX_LIST" "$_max_list_default") 144$(atfile.something_broke.print_envvar "OUTPUT_JSON" "$_output_json_default") 145$(atfile.something_broke.print_envvar "PATH_CONF" "$_path_envvar") 146$(atfile.something_broke.print_envvar "PATH_HOOK_POST_START") 147$(atfile.something_broke.print_envvar "PATH_HOOK_PRE_EXIT") 148$(atfile.something_broke.print_envvar "PATH_HOOK_PRE_START") 149${_envvar_prefix}_PASSWORD: $([[ -n $(atfile.util.get_envvar "${_envvar_prefix}_PASSWORD") ]] && echo "(Set)") 150$(atfile.something_broke.print_envvar "USERNAME") 151Paths 152↳ Blobs: $_path_blobs_tmp 153↳ Cache: $_path_cache 154↳ Config: $_path_envvar 155Environment 156↳ OS: $_os ($(echo "$finger_record" | jq -r ".os")) 157↳ Shell: $SHELL 158↳ Path: $PATH 159↳ CI: $_ci 160Deps 161↳ Bash: $BASH_VERSION 162↳ curl: $(atfile.something_broke.print_prog_version "curl" "--version" | cut -d " " -f 1) 163↳ cut: $cut_version 164↳ ExifTool: $(atfile.something_broke.print_prog_version "exiftool" "-ver") 165↳ Git: $git_version 166↳ hostname: $hostname_version 167↳ jq: $(atfile.something_broke.print_prog_version "jq" | sed -e "s|jq-||g") 168↳ md5sum: $md5sum_version 169↳ MediaInfo: $mediainfo_version 170↳ sed: $sed_version 171Misc. 172↳ Checksum: $([[ "$md5sum_version" != "$prog_not_installed_placeholder" ]] && md5sum "$_prog_path" || echo "(?)") 173↳ Dimensions: $(atfile.util.get_term_cols) Cols / $(atfile.util.get_term_rows) Rows 174↳ Now: $_now 175↳ Sudo: $SUDO_USER" 176 177 atfile.say "$debug_output" 178}