Skip to main content

exclock is a cui extended timer.

Project description

PyPI PyPI - Python Version PyPI - Downloads https://gitlab.com/yassu/exclock/badges/master/pipeline.svg https://gitlab.com/yassu/exclock/badges/master/coverage.svg PyPI - License

exclock is a cui extended timer.

Required

  • vlc

  • xmessage or terminal-notifier(If you use mac, I recommend terminal-notifier)

How to install

$ pip install exclock

Usage

$ exclock [options] {clock-filename}

Features

  • Sound an alarm at a specified time.

  • Sound the alarm after the specified time has elapsed.

  • You can flexibly set the alarm.

Options

  • –version: show program’s version number and exit

  • -h, –help: show this help message and exit

  • -l, –list: show clock names in your PC and exit

  • -t, –time: Time which spends until or to specified

  • -r, –ring-filename: Sound-filename which used for ringing with -t, –time option. Note that you can use EXCLOCK_RING_FILENAME system variable if you often indicate ring-filename option.

  • –trace, –traceback: show traceback

How to sound an alarm at a specified time

Enter

$ exclock -t {time}

format command.

Where time is given in the {hour}:{min} or {hour}:{min}:{sec} format.

Ex.

$ exclock -t "1:00"
$ exclock -t "1:00:20"

How to sound the alarm after the specified time has elapsed

Enter

$ exclock -t {time}

format command.

Where time is given in the {sec}, {sec}s, {min}m or {min}m{sec}s.

Ex.

$ exclock -t 3
$ exclock -t 3s
$ exclock -t 2m
$ exclock -t 2m3s

How to flexibly set the alarm

Enter

$ exclock {clock-filename}

format command. Although {clock-filename} can be omitted as descrived below.

clock-file should be a file in json5 format.

Official page for json5 format is Here.

clock file format

{
  "title": "title(optional)",
  "sounds": {
    "time1": {
      "message": "message1",
      "sound_filename": "sound_filename1",
    },
    "time2":{
    "message": "message2",
    "sound_filename": "sound_filename2",
    },
    ...
  },
  "loop": loop_number(optional)
}
  • title(Optional): string which be used for notification. Then the property is computed from clock-filename if this option is not indicated.

  • sounds: dictionary from time to dictionary which includes message and sound_filename.

    • time format is “{sec}”, “{sec}s”, “{min}m” or “{min}m{sec}s” format.

    • message is a string which be used for notification and terminal output. Then message is replaced by “{count}” to number of how many times execute.

    • sound_filename is a string which be used for play the sound.

  • loop(Option): number of iterations for above clock timer. If this is nil, this means repeatation a number of times. Default value is 1.

There are sample files in sample dir in gitlab.

How to omit clock filename

Clock filename can be omitted for some case.

Rules are

  • If extension of clock filename is .json5, extension can be omitted(ex: pomodoro.json5 => pomodoro).

  • If dir is in the specified directory(~/.config/exclock/clock/ or environment variable EXCLOCK_CLOCK_DIR), dir is omitted (ex: ~/.config/exclock/clock/abc.json5 => abc).

  • Buitin clock file can be accessed. There are in sample dir in gitlab (ex: 3m or pomodoro).

How to omit sound filename

Sound filename can be omitted for some case.

Rules are

  • If dir is in the specified directory(~/.config/exclock/sound/ or environment variable EXCLOCK_SOUND_DIR), dir is omitted (ex: ~/.config/exclock/sound/abc.mp3 => abc.mp3).

  • Buitin sound file can be accessed. There are in sample sound dir in gitlab (ex: silent.mp3 or ring.mp3).

LICENSE

Apache 2.0

Todo

  • [-] exclock/sound/ring.mp3もしくはexclock/sound/ring.wavがあったら それをringに使うようにする

  • [-] システムでデフォルトで使われている音声ファイル名をclock_fileに埋め込めるようにする

  • [x] システムでデフォルトで使われている音声ファイルをデフォルトで使うようにする

  • [ ] add tests to main function

  • [x] add Type for main function

  • [x] split main function

  • [x] default value of loop to 1

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exclock-0.2.6.1.tar.gz (70.2 kB view details)

Uploaded Source

Built Distribution

exclock-0.2.6.1-py3-none-any.whl (69.4 kB view details)

Uploaded Python 3

File details

Details for the file exclock-0.2.6.1.tar.gz.

File metadata

  • Download URL: exclock-0.2.6.1.tar.gz
  • Upload date:
  • Size: 70.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.9 CPython/3.7.0 Darwin/19.3.0

File hashes

Hashes for exclock-0.2.6.1.tar.gz
Algorithm Hash digest
SHA256 3179fee442214f33650689661f2c646ad92e9f28a845140f655fa7b0d1b37be7
MD5 aa232782f42016cb667db840619736bd
BLAKE2b-256 8972a8c3d1ef6f1ec29621e793951b2a6a16c73607391b7a3b1ea33fd3e20549

See more details on using hashes here.

File details

Details for the file exclock-0.2.6.1-py3-none-any.whl.

File metadata

  • Download URL: exclock-0.2.6.1-py3-none-any.whl
  • Upload date:
  • Size: 69.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.9 CPython/3.7.0 Darwin/19.3.0

File hashes

Hashes for exclock-0.2.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 490811bbaa437fa4f2c43ac2897a2cf146ddd15430ebe6b7b050585175ecac81
MD5 0d2af8091713b3c77da65a971bdf33b5
BLAKE2b-256 0f8d8d3fedc633a49a71c297f97b90ae6796b937d9adacd77cbc3c8d9f40ab8c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page