worktimer/README.org
2014-05-16 13:31:20 +04:00

3.5 KiB
Raw Blame History

README

Программа написана на Scheme (реализация - GNU Guile) и предназначена для учета рабочего времени. Применяется следующим образом:

Начало работы над задачей:

$ worktimer.scm start [НАЗВАНИЕ_ЗАДАЧИ]

Название задачи может состоять из нескольких частей, разделенных символом прямого слэша. Части названия - это элементы иерархии задачи, например, название проекта, название подпроекта, задача, подзадача и т.д. Программа учитывает иерархическую структуру задач и вычисляет время задач, как сумму времен подзадач.

Пример:

$ worktimer.scm start uberproject/website/design

Стартует отсчет времени на подзадачу "design" задачи "website" проекта "uberproject". Уровни вложенности не ограничены. Если команде start не передать агрумент, то будет запущена последняя задача.

Остановить отсчет времени можно командой stop:

$ worktimer.scm stop

или запустив новую задачу:

$ worktimer.scm start uberproject/website/programming

По команде report выводится отчет по всем проектам и задачам:

$ worktimer.scm report
--- REPORT
Overall: 00:03:45
  uberproject: 00:03:45
    website: 00:03:45
      programming: 00:02:34
      design: 00:01:11

--- LAST STOPPED TASK
uberproject/website/programming: [2014-04-18 09:47:04] - [2014-04-18 09:49:38] - 00:02:34

Как видно, общее время работы над проектом составило 3 минуты и 45 секунд, из которых на дизайн сайта ушло 1 минута 11 секунд, а на программирование 2 минуты 34 секунды.

Команда report может иметь параметры:

  • day [DATE] - отчет по текущему дню или по дате DATE;
  • week [DATE] - отчет по текущей неделе или по неделе, в которую входит день DATE;
  • month [DATE] - отчет по текущему месяцу или по месяцу, в который входит день DATE;

Кроме того, параметром команды report может быть название проекта, например:

$ worktimer.scm report uberproject/website
--- REPORT
Overall: 00:03:45
  uberproject: 00:03:45
    website: 00:03:45

--- LAST STOPPED TASK
uberproject/website/programming: [2014-04-18 09:47:04] - [2014-04-18 09:49:38] - 00:02:34

При запуске программы без аргументов выводится имя текущей задачи и текущий таймер:

$ worktimer.scm
uberproject/website/programming: 00:02:51