Видео смотреть бесплатно

Смотреть 18 лет видео

Официальный сайт nokia 24/7/365

Смотреть видео бесплатно

ladykosha 12.01.2011 21:36

How-to`sКак из скрипта получить орг-модное расписание :)

Мой кусочек счастья :) Некоторое время назад у меня была мысль слать себе расписание на день письмом, и теперь я могу к ней вернуться. Возможность получить это самое расписание из скрипта я искала долго, но мне не приходило в голову искать в разделе Hacking. Вроде как не по чину. А тут вдруг раз, и нашла. Расписание (agenda) и список тудушек, и прочее полезное вполне можно получить из скрипта и в скрипт :)

Да, на всякий случай. Это для тех, кто пользуется емаксом, и конкретно замечательным планировщиком, тудушником, учётчиком времени... в общем, org-mode.

org-batch-agenda - создаёт расписание и выводит его на STDOUT. Принимает строку как параметр.

Строка длиной в один символ воспринимается как выбор одной из org-agenda-custom-commands, то есть соответствует клавишам, которые предлагается нажать на выбор после "C-c a". "a" - для собственно расписания, "t" - для списка todo, "L' - список событий по времени, "#" - "застрявшие" проекты... В общем, тут простор, смотрите сами, настраивайте, ежели что.

Например, emacs -batch -l ~/.emacs.d/init.el -eval '(org-batch-agenda "t")' - выведет список дел, которые неплохо бы сделать. Если не обидится на что-нибудь по пути. Мне довольно много из конфига вычистить пришлось. Хорошо, что я сразу под это дело отдельный файл завела. :)

Если параметр длиннее одного символа, то emacs будет искать совпадающие теги. + добавляет тег, - исключает. Не очень представляю, как это использовать в мирной жизни. Ну-у, предположим, я ищу, что собиралась купить, когда пойду на :рынок:, но чтоб это было не :еда: - вдруг ещё что надо, а я только про еду и помню. Затем распечатать, или ещё что, неважно.
Заодно вот и причина, по которой в теги нельзя слова с дефисами, увы...
emacs -batch -l ~/.emacs.d/init.el -eval '(org-batch-agenda "+рынок-еда")'

Всякие параметры можно задавать прямо в той же команде:
emacs -batch -l ~/.emacs.d/init.el -eval '(org-batch-agenda "a" org-agenda-ndays 20 org-agenda-include-diary nil org-agenda-files (quote ("~/org/rabota_blin.org" "~/org/sessia.org")))'
Хе, хорошо, что я это просто придумала, а то аж страшно стало. Расписание на 20 дней строго из двух названных файлов, и без содержимого diary.

А ещё есть 'org-batch-agenda-csv', которая также на STDOUT выдаёт всё то же, но уже как csv, то есть - поля, разделённые запятыми. Категория, заголовок, тип, тудушное ключевое слово (если есть), метки (включая унаследованные), дату (если из-за неё выбрано), время (аналогично), ещё какую-то строку (кажется, если отсчитывается промежуток до дедлайна, он будет тут), приоритет установленный, приоритет посчитанный. Самое оно скрипту скормить :)

http://orgmode.org/org.html#Extracting-agenda-information - подробнее, понятнее и на английском. :)

И, кстати, про отдельный конфиг для таких случаев. При старте emacs обычно загружается уйма всего, большая часть которой в этом конкретном случае не нужна. Чтоб не запускать лишнего, конфиги стоит чистить. И что-то вычищается непосредственно из пользовательского конфига, что-то - нет. Править конфиги глобальные нам ни к чему, в остальное-то время результат нас устраивает.
Так вот, у emacs есть опция --no-site-file. Но чтобы при её использовании всё заработало, мне пришлось добавить в конфиг, в начало, строчки
1
2
(load "/usr/share/emacs23/site-lisp/debian-startup.elc")
(load "/etc/emacs/site-start.d/50org-mode.el")

Первая - загружает что-то полезное, без чего всё обижалось (разумеется, у меня дебиан и emacs23. :)) Вторая - чтоб сам орг-мод запустился. А то кто мне инфу отдавать будет? :)


Тэги: batch emacs org-mode
+ 11 -
Похожие Поделиться

lastta 13.01.2011 12:26 #
+ 0 -
holy shit! 0_O
cppmm 13.01.2011 19:02 #
+ 0 -
Круть.
Если бы я не использовал vim и стандартные средства linux, обязательно бы поставил себе emacs. ;)
ladykosha 13.01.2011 21:33 #
+ 0 -
Приятно услышать такую похвалу. :)

И любопытно, какие именно средства используете для "упорядочения жизни" :)
cppmm 13.01.2011 21:53 #
+ 0 -
Для текста, конфигов и программирования - vim.
Периодические задачи - crontab.
Заметки и задачи на будущее - поднятый на собственном серваке redmine.
Ну и электронка(свой почтовый сервак со своей же рассылкой).
ladykosha 13.01.2011 22:12 #
+ 0 -
Ага, спасибо. Ну, redmine я пока ставить не собиралась. А про рассылку статеечки с опытом использования случайно нет? :)
cppmm 13.01.2011 22:23 #
+ 0 -
Ну, я тут работаю над подборочкой, которая всю мою домашнюю сеть описывет, но пока ещё готового варианта нет. :)
ladykosha 13.01.2011 22:30 #
+ 0 -
Буду ждать :)
f_evgeny 13.01.2011 21:39 #
+ 2 -
Да будь я хоть негром преклонных годов,
И то б, без унынья и лени,
Emacs бы я выучил только за то,
Чтоб пользоваться ихним оргмоде!
cppmm 13.01.2011 21:54 #
+ 1 -
И варить кофе!
le087 13.01.2011 19:19 #
+ 2 -
ИМХО org-mode в emacs мегакавай - няшней не бывает, но как и сам emacs, для адекватного использования требует курения мануалов в затяжку и без фильтра (на оффсайте org-mode есть отличнийшая документация для этого). Сам пользуюсь только наверно сотой частью, и то по первости вставляло, особенно как таблички скачут там. Люблю emacs =)

Спасибо за статью.
f_evgeny 13.01.2011 21:40 #
+ 0 -
А там еще в таблицах и считать можно и просто!
ladykosha 13.01.2011 22:37 #
+ 0 -
Кстати, у меня это совсем неосвоенная возможность. То ли потому, что нет задачи, то ли задачи нет, потому что не освоено :)
f_evgeny 14.01.2011 10:55 #
+ 1 -
Попрбуй, это не просто а очень просто:
пусть таблица в один ряд
В первой клетке пишем 2
Во второй клетке пишем 2
В третьей клетке пишем :=@1$1*@1$2
Получается:
Пишем: | 2 | 2 |:=@1$1*@1$2 |
Результат: | 2 | 2 | 4 |
Меняем в первой клетке 2 на 3, нажимаем C-u C-c C-c
Получаем: | 3 | 2 | 6 |
Можно делать формулы для столбцов, например
То же самое с подсчетом для текущего ряда | 2 | 2 |:=$1*$2 |
В общем можно много чего делать


ladykosha 16.01.2011 14:20 #
+ 1 -
Попробовала. Понравилось. :) Осталось придумать, зачем мне это пригодится :)
f_evgeny 16.01.2011 15:00 #
+ 0 -
Ну, я например вставляю таблички подсчета расходов прямо в месячные записи,
Например:
* За ноябрь
| Что | Сумма | Дата | Счет | SSKF | Примечание |
| | | оплаты | | | |
|-----------+---------+------------------+------+------+------------|
| Teledema | 108.8 | <2010-12-28 Втр> | | | |
| TTS | 30 | <2010-12-28 Втр> | | | |
| Sugardas | 28 | <2010-11-26 Птн> | | | |
| VBust | 220.72 | <2010-12-28 Втр> | | | |
| Lift | 38.62 | | | | |
| VE Услуги | 629.90 | | | | |
| RST | 140.4 | | | | |
| RST МОП | 12.31 | | | | |
|-----------+---------+------------------+------+------+------------|
| | 1208.75 | | | | |
#+TBLFM: @11$2=vsum(@3..@10)
f_evgeny 16.01.2011 15:02 #
+ 0 -
Пардон, нужно вот так:

* За ноябрь
| Что | Сумма | Дата | Счет | SSKF | Примечание |
| | | оплаты | | | |
|-----------+---------+------------------+------+------+------------|
| Teledema | 108.8 | <2010-12-28 Втр> | | | |
| TTS | 30 | <2010-12-28 Втр> | | | |
| Sugardas | 28 | <2010-11-26 Птн> | | | |
| VBust | 220.72 | <2010-12-28 Втр> | | | |
| Lift | 38.62 | | | | |
| VE Услуги | 629.90 | | | | |
| RST | 140.4 | | | | |
| RST МОП | 12.31 | | | | |
|-----------+---------+------------------+------+------+------------|
| | 1208.75 | | | | |
#+TBLFM: @11$2=vsum(@3..@10)

ladykosha 16.01.2011 15:37 #
+ 0 -
Спасибо за пример. Пожалуй, у меня есть очень близкое применение. :)

К слову, первый вариант таблицы здесь не смотрится, но для использования тоже вполне удобен, его достаточно вставить в любимый емакс и сказать "C-c C-c" (оно же - "M-x org-table-align"). :)

А ещё я осознала, что Вы живёте относительно недалеко от моего родного города. Я - калининградка, хотя и живу сейчас в Москве. Жителей Литвы воспринимаю как соседей-земляков. :)

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн