Автоматично завантажуємо скріншот на сайт

Дуже, ну дуже часто ми робимо скріншоти і хочемо їх комусь показати. Найчастіше це вирішується встановленням якоїсь програми. Але я ж програміст, я напишую свій супер скрипт. В цьому пості я розкажу як я зекономив 36 МБ  замінивши їх 15 рядками коду.

Особисто я раніше робив скрін, відкривав сайт minus.com і завантажував туди свій скрін. Дуже довга процедура

Дальше почав гуглити всякі проги. Знайшов shutter вбив в терміналі команду apt-get install shutter і побачив After this operation, 36.8 MB of additional disk space will be used.

Це просто труба. 36 мб) Взагалі прога прикольна але мені всього навсього треба просто завантажувати скріншоти в нет і давати посилання. Однис словом написав я свою приблуду.

imgur.screenshot(){
  imagePath="/tmp/`date +%I:%M:%S`.png";
  rm -rf $imagePath;
  gnome-screenshot -a -f $imagePath;
  if [ ! -f $imagePath ] ; then
    echo "No file " ;
    return 1;
  fi
 
  imageUrl=`curl -s -F "image=@$imagePath" -F "key=486690f872c678126a2c09a9e196ce1b" https://imgur.com/api/upload.xml | grep -E -o "<original_image>(.)*" | grep -E -o "http://i.imgur.com/[^<]*"`;
  firefox $imageUrl;
  echo "$imageUrl" | xclip -selection c;
 
  return 1;
}

Коротко що вона робить:

  1. запускає gnome-screenshot з параметрами (вказує що потрібно виділити область і зберегти скрін у файл)
  2. загрузити на imgur.com
  3. відкрити firefox з урлкою нашого скріншоту
  4. скопіювати урл скріншоту в буфер обміну

Вуаля. Всім хорошого кодінгу