Linux -- это интересно

Imgur Bash Script Uploader + GUI


Рубрика: Интернет ПО -> Графика
Метки: | | | |
Просмотров: 4069

Bash скрипт + GUI для загрузки изображений на Imgur.com


Bash Script Uploader (imgur script) — официальный Bash скрипт (сценарий) для хостинга изображений Imgur.com от Барта Нагеля (Bart Nagel).

Bash — это усовершенствованная и модернизированная вариация командной оболочки Bourne spell, являющаяся одной из наиболее популярных современных разновидностей командной оболочки UNIX (наиболее часто используется в среде Linux, в качестве предустановленной командной оболочки).

Но повседневное использование Bash скриптов не всегда (и не всем) может оказаться удобным, поэтому для них очень часто пишутся графические интерфейсы (GUI).

Пример такого интерфейса Yad GUI для Bash Script Uploader (автор Stu90):

#!/bin/bash 
###GUI for imgur script by Bart Nagel <bart@tremby.net>### 
###upload local image to www.imgur.com image hosting service### 
##Stu90### 
# 
  ### root password for user fido ### 
  [ "`whoami`" != "root" ] && exec sudo -A ${0} ${@} 
TEXT=" Select an image to upload to www.imgur.com " 
NAME="Imgur upload" 
VER="0.1" 
GUI1=$(yad --title="$NAME $VER" --text="$TEXT" --form --field="Image:FL" --button="gtk-quit:1" --button="gtk-ok:0") 
BUTTON=$? 
   if [ "$GUI1" = "" ]; then 
   echo "Exiting" && exit 
   fi 
case $BUTTON in 
0) 
GETIMG="`echo $GUI1 | cut -d '|' -f 1`" 
echo "$GETIMG" 
# API Key provided by Alan@imgur.com 
apikey="b3625162d3418ac51a9ee805b1840452" 
# upload the image 
response=$(curl -F "key=$apikey" -H "Expect: " -F "image=@$GETIMG" \ 
        http://imgur.com/api/upload.xml 2>/dev/null) 
# the "Expect: " header is to get around a problem when using this through the 
# Squid proxy. Not sure if it's a Squid bug or what. 
if [ $? -ne 0 ]; then 
        echo "Upload failed" >&2 
        exit 2 
elif [ $(echo $response | grep -c "<error_msg>") -gt 0 ]; then 
        echo "Error message from imgur:" >&2 
        echo $response | sed -r 's/.*<error_msg>(.*)<\/error_msg>.*/\1/' >&2 
        exit 3 
fi 
# parse the response and output our stuff 
url=$(echo $response | sed -r 's/.*<original_image>(.*)<\/original_image>.*/\1/') 
deleteurl=$(echo $response | sed -r 's/.*<delete_page>(.*)<\/delete_page>.*/\1/') 
echo $url 
echo "Delete page: $deleteurl" >&2 
##thumb nail image## 
url1="` echo $url |  cut -d "." -f -3 `" 
format="` echo $url |  cut -d "." -f 4- `" 
urlthumb="$url1"l."$format" 
##imge links gui## 
GUI2=$(yad --title="$NAME $VER" --text=" Cut and paste one of the image options from the boxes below " --form \ 
--field="Forum Thumb" "[IMG]$urlthumb[/IMG]" \ 
--field="Forum Full" "[IMG]$url[/IMG]" \ 
--field="Direct URL" "$url" \ 
--field="Delete page" "$deleteurl" \ 
--button="gtk-quit") 
   if [ "$GUI2" = "" ]; then 
   echo "Exiting" && exit 
   fi 
;; 
    
1) 
    echo "Quit selected - Exiting" && exit 
;; 
esac

Графические диалоги для Imgur Uploader основаны на использовании Yad, это улучшенный вариант Zenity (graphical dialog boxes from shell scripts), а для использования достаточно сохранить его под любым именем (например imgurbashgui), сделать его "исполняемым" (в свойствах файла) и положить в:

/usr/bin/ или /root/my-applications/bin/

Из диалогов Yad GUI Imgur Uploader можно более удобно скопировать ссылки на изображения для вставки на форум, блог, отправки по электронной почте и пр...

Imgur Service Menu ещё один модифицированный скрипт для хостинга изображений Imgur.com, являющийся форком Bash Script Uploader, созданным для более простого использования его возможностей и более тесной интеграции с KDE (а именно для Kubuntu).

После установки Imgur Service Menu интегрируется в контекстное меню файловых менеджеров Dolphin, Konqueror и Krusader (а так же интегрируется и с большинством других файловых менеджеров, таких как Nautilus, Thunar, PCManFM и пр...).

Изображение открытое из Imgur Service Menu загружается на Imgur.com, о процессе извещают полупрозрачные всплывающие диалоги, а ссылка на загруженное изображение автоматически копируется в буфер обмена...

Так же вся история загрузок сохраняется в текстовом файле: ~/.imgur_history

Страница Bart's Imgur на github.com

Комментариев: 2 RSS

The original version of this now has a new home at https://github.com/tremby/imgur.sh. Pull requests welcome, and a link to there would be greatly appreciated. Thanks!

к сожалению imgur испортился, первый раз даже по прямой ссылке показывает в своём блоке

Оставьте комментарий!
Используйте нормальные имена.Войти через loginza
Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



 
(обязательно)