Skip to main content

A customizable calendar program meant for use in terminals

Project description

kvigall is a calendar program capable of showing calendars created from scripts that you create. If there’s a site that you often check for upcoming events, you can create a script that crawls and parses this site. By converting your resulted data into a format understandable by kvigall, you can then view the info in a calendar.

kvigall currently has two calendars:

  • one using curses (default)
  • one just printing to the terminal (called ‘text’)

kvigall caches events to make loading faster and easier. This also makes it possible to read events from a script that depends on a connection to the internet even if there is no connection.

License

kvigall is free software under the terms of the GNU General Public License version 3 (or any later version). The author of kvigall is Niels Serup, contactable at ns@metanohi.org. This is version 0.1.0 of the program.

External libraries included with kvigall are GPL-compatible.

Installing

Way #1

Just run this (requires that you have python-setuptools installed):

$ sudo easy_install kvigall

Way #2

Get the newest version of kvigall at http://metanohi.org/projects/kvigall/ or at http://pypi.python.org/pypi/kvigall

Extract the downloaded file and run this in a terminal:

$ sudo python setup.py install

Dependencies

Python 2.5+ is probably a requirement.

Optional extras

If present, kvigall will use these Python modules:

qvikconfig
termcolor
htmlentitiesdecode

(Copies of qvikconfig, termcolor and htmlentitiesdecode are included in the kvigall distribution, so you’ll be fine without downloading them yourselves.)

setproctitle

Using

To use kvigall after installation, run kvigall. To get an impression of its options, run kvigall --help.

kvigall works by using mods. These mods are ordinary Python programs. Every mod must have a Connector class with a get_kvigall_events function returning a list of kvigall events (by importing Event from kvigall.various). If you create a script called simple_mod.py and place it in your scripts directory ($HOME/.kvigall by default), you can call it from kvigall by running kvigall simple_mod.

This distribution includes a basic simple_mod.py, which can be used as a base when developing new mods. Other mods are available on the internet; see http://metanohi.org/projects/kvigall/mods/ for a list of some of the downloadable and usable mods in existence.

kvigall can use config files instead of just command line options. All of these options can be overridden on the command line. It is possible to have several config files, using different ones for different purposes. Run kvigall --help for available config file options and their equivalent command line options. A config file might look like this:

default scripts = simple_mod # Using simple_mod.py
frontend = curses:navigate # Use the default frontend, but make it
                           # begin in navigate-mode instead of command-mode
#frontend = text # I want the plain text frontend
#styling = false # *really* plain text
date format = '%A, %m/%d-%Y' # e.g. Friday, 08/27-2010
start date = ++0 # If today has no events, search for an eventful date
                 # in the future
#update after = 1d # I want a longer-lasting cache
#start date = 2010, 01, 01 # instead of today
#start empty = true # nah, don't show anything at startup
#verbose = false # I hate errors, don't print 'em
#color errors = false # no colored errors

Your main config file should be called “kvigall.config” and saved in the same directory as your scripts. All text after the ‘#’ character is comment-matter.

Built-in frontends

kvigall comes with two frontends: a text-based one and a curses-based one. To get an impression on how these frontends work, enter “help” when running either of them. This command will display a help message.

Developing

kvigall is written in Python and uses Git for branches. To get the latest branch, get it from gitorious.org like this:

$ git clone git://gitorious.org/kvigall/kvigall.git

A number of kvigall mods can be fetched using git as well:

$ git clone git://gitorious.org/kvigall/kvigall-mods.git

The future/TODOs

This is an incomplete list of what isn’t perfect yet.

  • The current way of saving caches is crude. It uses too many files and should be improved.
  • There is no support for user-created frontends. This should be fixed.

This document

Copyright (C) 2010 Niels Serup

Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.

Project details


Release history Release notifications

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
kvigall-0.1.0.tar.gz (72.4 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page