wgetpaste: детальное описание

Вступление

В предыдущем посте я рассказал об незаменимой вещи - утилите wgetpaste (скачать). (Кстати, ее автором является почтенный камрад Zlin, известный многим психам фанатам kde4 trunk в Gentoo). Ну, рассказал - это громко сказано. Скорее просто сказал :) Особо не было времени описать ее настройки. Сейчас попробуем рассмотреть этот шедевр более пристально.

Обзор возможностей и настройка

Итак, при более детальном изучении оказалось, что утилитка ооочень вкусная. Я попробую описать различные опции и сразу же отметить, как это настроить в конфиге, поэтому давайте сразу условимся - конфиг храним тут: ~/.wgetpaste.conf

Выбор сервиса

Для начала посмотрим, куда умеет постить файлы/строки wgetpaste:

 solshark@solshark ~ $ wgetpaste -S
Services supported: (case sensitive):
   Name:   | Url:
   ========|=================
    ca     | http://pastebin.ca/
   *dpaste | http://dpaste.com/
    osl    | http://pastebin.osuosl.org/
    rafb   | http://rafb.net/paste/

Как видим, выбран сервис dpaste. Допустим, этот сервис нравится не всем. Открываем конфиг, добавляем строку

DEFAULT_SERVICE="rafb"

Начиная с этого момента wgetpaste будет использовать указанный вами сервис. Все просто и понятно:

 solshark@solshark ~ $ wgetpaste -S
Services supported: (case sensitive):
   Name:   | Url:
   ========|=================
    ca     | http://pastebin.ca/
    dpaste | http://dpaste.com/
    osl    | http://pastebin.osuosl.org/
   *rafb   | http://rafb.net/paste/

Если же вам нужно изменить сервис только для одного сеанса расшаривания, то можно использовать опцию -s:

$ wgetpaste -s osl /dev/urandom

К слову, с сервисом osl wgetpaste на самом деле не работает. Там CAPTCHA. Сразу уточню - все дальнейшие действия я буду выполнять с сервисом dpaste.

Выбор языка

Аналогичным образом можно изменить язык, на котором написанно сообщение/файл, который вы пытаетесь расшарить. (Если вдруг на эту статью наткнется кто-то далекий от специфики pastebin, уточняю - речь не идет о переводе с одного языка на другой (с латыни на пайтон). Эта опция подскажет сервису pastebin какую подсветку синтаксиса нужно использовать).

Просмотреть список всех доступных (для указанного сервиса) языков можно командой wgetpaste -L:

 solshark@solshark ~ $ wgetpaste -L
Languages supported by dpaste: http://dpaste.com/ (case sensitive):
    Apache Config
    Bash
    CSS
    Diff
    Django Template/HTML
    Haskell
    JavaScript
   *Plain Text
    Python
    Python Interactive/Traceback
    Ruby
    Ruby HTML (ERB)
    SQL
    XML

Переопределить язык можно опцией -l либо следующей строкой конфига:

DEFAULT_LANGUAGE="Python"

ВНИМАНИЕ: доступность или недоступность того или иного языка зависит от выбранного сервиса.

Прочие настройки

Думаю, общий способ конфигурирования этой петрушки понятен и типичен. Чтобы не вдаваться в детали, предлагаю вашему вниманию таблицу дополнительных опций:

Опция Описание Значение по-умолчанию Строка в конфигурационном файле
-d Description - описание объекта который, вы постите stdin или имя файла n/a
-n nick - под каким юзернеймом постить имя пользователя, под которым вы залогинились DEFAULT_NICK="LOR"
-e expiration - как долго хранить опубликованную запись. Возможные значения зависят от выбранного сервиса. 30 дней DEFAULT_EXPIRATION="30 days after last view"

Тюнинх

Можно настроить wgetpaste для использования специфических параметров для конкретного сервиса. Делается это очень просто. К названию переменной добавляем название сервиса:

DEFAULT_SERVICE="dpaste"
DEFAULT_LANGUAGE="Python"
DEFAULT_NICK="pontecorvo"
DEFAULT_EXPIRATION="30 days"

DEFAULT_LANGUAGE_osl="Ada"
DEFAULT_NICK_osl="pontecorvo"
DEFAULT_EXPIRATION_osl="1 day"

DEFAULT_LANGUAGE_ca="Lua"
DEFAULT_NICK_ca="pontecorvo"
DEFAULT_EXPIRATION_ca="1 hour"

Работа с буфером обмена

Да, это чудище может работать не только с файлами, но и с буфером обмена. Нам понадобится пакет xclip:

emerge -av xclip

На а дальше все просто. Копируете нужный текст в буфер обмена и

wgetpaste -x

Для того, чтобы ссылка с результатом автоматически помещалась в буфер обмена после выполнения операции расшаривания используем опцию -X.

Публикуем вывод команды

Тоже иногда бывает полезно. Опция -c <команда> позволяет опубликовать отлуп от команды:

wgetpaste -c cal

Gentoo-features

Специально для гентушников есть еще две приятные опции:

-i : добавить к публикуемому тексту вывод emerge --info

-I : опубликовать только emerge --info

Рекомендация (и скриншотег)

Лично я в целях автоматизации сделал следующее:

solshark@solshark ~ $ cat ~/.bashrc | grep alias
alias shareclip='wgetpaste -x -X'

Получилась команда, которая публикует буфер обмена и возвращает URL результата. Можно ее вызывать из терминала, можно повесить на хоткей. Очень круто. Всем рекоменую. А вот так я это использую в повседневной жизни:

Конечно же, это Kate :)

Конечно же, это Kate :)

Запись опубликована в рубрике Разное, Функциональность с тэгами , . Создать закладку наpermalink. Оставить комментарийили trackback:Trackback URL.

3 комментариев

  1. Опубликован 30 июня 2010 в 22:50 | Прямая ссылка

    Интересная заметка! Добавил в закладки!

    Теперь код постить где надо будет проще :) )

  2. pimiento
    Опубликован 14 октября 2010 в 12:21 | Прямая ссылка

    А как добавить свою пасту? А то что-то там нету pastebin.org. Я пробовал дописать в /usr/bin/wgetpaste, но устал думать и так и не сделал

    • solshark
      Опубликован 14 октября 2010 в 12:39 | Прямая ссылка

      Другого пути нет – только редактировать сам скрипт. Надо думать :)

Оставить комментарий

Ваш e-mail никогда не будет опубликован или передан третьим лицам.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>