aboutsummaryrefslogtreecommitdiff
path: root/office/python-gcalcli
diff options
context:
space:
mode:
authorDavid Woodfall <dave@dawoodfall.net>2010-08-15 18:26:41 -0400
committerErik Hanson <erik@slackbuilds.org>2010-08-15 20:53:42 -0500
commita05fa2202051bfd7a18316cb8c44ea5186e0c1c1 (patch)
tree86885b7723abd8d2c9f3cc9446a484a4ea2fc99b /office/python-gcalcli
parent9e525cd959305260027eb0184c0d03bef5df32cd (diff)
office/python-gcalcli: Added (cli google calander application)
Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
Diffstat (limited to 'office/python-gcalcli')
-rw-r--r--office/python-gcalcli/HOWTO159
-rw-r--r--office/python-gcalcli/README30
-rw-r--r--office/python-gcalcli/feedPrefix-fix.diff11
-rw-r--r--office/python-gcalcli/python-gcalcli.SlackBuild68
-rw-r--r--office/python-gcalcli/python-gcalcli.info10
-rw-r--r--office/python-gcalcli/slack-desc19
6 files changed, 297 insertions, 0 deletions
diff --git a/office/python-gcalcli/HOWTO b/office/python-gcalcli/HOWTO
new file mode 100644
index 000000000000..c884ca8910e1
--- /dev/null
+++ b/office/python-gcalcli/HOWTO
@@ -0,0 +1,159 @@
+gcalcli HowTo (taken from gcalcli wiki)
+
+How to use gcalcli...
+
+Login Information
+You can provide gcalcli with your Google Calendar login information either by editing the top of the script itself, using the --user and --pw arguments, or using the config file. In any case make sure you protect the information.
+
+HTTP Proxy Support
+
+gcalcli will automatically work with an HTTP Proxy simply by setting up some environment variables:
+
+ http_proxy
+ https_proxy
+ proxy-username
+ proxy-password
+Note that these environment variables must be lowercase and beware the usage of the dashes vs underscores.
+
+Config File
+
+gcalcli is able to read default configuration information from a config file. This file is location at '~/.gcalclirc' and must be formatted as follows:
+
+ [gcalcli]
+ <config-item>: <value>
+ <config-item>: <value>
+ ...
+The available config items are the same as those that can be specified on the command line. Note that any value specified on the command line overrides the config file.
+
+ user: <username>
+ pw: <password>
+ cals: <type>
+ details: <true|false>
+ ignore-started: <true|false>
+ width: <width>
+ cal-owner-color: <color>
+ cal-editor-color: <color>
+ cal-contributor-color: <color>
+ cal-read-color: <color>
+ cal-freebusy-color: <color>
+ date-color: <color>
+ border-color: <color>
+
+'gcalcli' event popup reminders using cron
+Run gcalcli using cron and generate xmessage-like popups for reminders.
+ % crontab -e
+Then add the following line:
+ */10 * * * * gcalcli remind
+
+'gcalcli' agenda on your root desktop
+Put your agenda on your desktop using Conky. Add the following to your .conkyrc:
+ ${execi 300 gcalcli --nc agenda}
+To also get a graphical calendar that shows the next three weeks add:
+ ${execi 300 gcalcli --nc --cals=owner calw 3}
+
+'gcalcli' agenda integration with 'screen'
+Put your next event in your 'screen' hardstatus line. First add a cron job that will dump you agenda to a text file:
+ % crontab -e
+Then add the following line:
+ */5 * * * * gcalcli --nc --ignore-started agenda "`date`" > /tmp/gcalcli_agenda.txt
+Next create a simple shell script that will extract the first agenda line. Let's call this script 'screen_agenda':
+ #!/bin/bash
+ head -2 /tmp/gcalcli_agenda.txt | tail -1
+Next configure screen's hardstatus line to gather data from a backtick command. Of course your hardstatus line is most likely very different than this (Mine is!):
+ backtick 1 60 60 screen_agenda
+ hardstatus "[ %1` ]"
+
+'gcalcli' Usage
+Usage:
+
+gcalcli [options] command [command args]
+
+ Options:
+
+ --help this usage text
+
+ --config <file> config file to read (default is '~/.gcalclirc')
+
+ --user <username> google username
+
+ --pw <password> password
+
+ --cals=[all, 'calendars' to work with (default is all calendars)
+ default, - default (your default main calendar)
+ owner, - owner (your owned calendars)
+ editor, - editor (editable calendar)
+ contributor, - contributor (non-owner but able to edit)
+ read, - read (read only calendars)
+ freebusy] - freebusy (only free/busy info visible)
+
+ --cal=<name> 'calendar' to work with (default is all calendars)
+ - you can specify a calendar by name or by using a
+ regular expression to match multiple calendars
+ - you can use multiple '--cal' arguments on the
+ command line
+
+ --details show all event details (i.e. length, location,
+ reminders, contents)
+
+ --ignore-started ignore old or already started events
+ - when used with the 'agenda' command, ignore events
+ that have already started and are in-progress with
+ respect to the specified [start] time
+ - when used with the 'search' command, ignore events
+ that have already occurred and only show future
+ events
+
+ --width the number of characters to use for each column in
+ the 'cal' command output (default is 10)
+
+ --nc don't use colors
+
+ --cal-owner-color specify the colors used for the calendars and dates
+ --cal-editor-color each of these argument requires a <color> argument
+ --cal-contributor-color which must be one of [ default, black, brightblack,
+ --cal-read-color red, brightred, green, brightgreen, yellow,
+ --cal-freebusy-color brightyellow, blue, brightblue, magenta,
+ --date-color brightmagenta, cyan, brightcyan, white,
+ --border-color brightwhite ]
+
+ Commands:
+
+ list list all calendars
+
+ search <text> search for events
+ - only matches whole words
+
+ agenda [start] [end] get an agenda for a time period
+ - start time default is 12am today
+ - end time default is 5 days from start
+ - example time strings:
+ '9/24/2007'
+ 'Sep 24 2007 3:30pm'
+ '2007-09-24T15:30'
+ '2007-09-24T15:30-8:00'
+ '20070924T15'
+ '8am'
+
+ calw <weeks> [start] get a week based agenda in a nice calendar format
+ - weeks is the number of weeks to display
+ - start time default is beginning of this week
+ - note that all events for the week(s) are displayed
+
+ calm [start] get a month agenda in a nice calendar format
+ - start time default is the beginning of this month
+ - note that all events for the month are displayed
+ and only one month will be displayed
+
+ quick <text> quick add an event to default calendar
+ - example:
+ 'Dinner with Eric 7pm tomorrow'
+ '5pm 10/31 Trick or Treat'
+
+ remind <mins> <command> execute command if event occurs within <mins>
+ minutes time ('%s' in <command> is replaced with
+ event start time and title text)
+ - <minutes> default is 10
+ - default command:
+ 'gxmessage -display :0 -center \
+ -title "Ding, Ding, Ding!" %s'
+
diff --git a/office/python-gcalcli/README b/office/python-gcalcli/README
new file mode 100644
index 000000000000..c5e3e7e7482c
--- /dev/null
+++ b/office/python-gcalcli/README
@@ -0,0 +1,30 @@
+gcalcli is a Python application that allows you to access your Google
+Calendar from a command line. It's easy to get your agenda, search
+for events, and quickly add new events. Additionally gcalcli can be
+used as a reminder service to execute any application you want.
+
+Requirements: gdata, python-dateutil, and python-elementtree.
+
+Features:
+
+list your calendars
+show an agenda using a specified start/end time and date
+graphical calendar display (my paying homage to the remind application)
+search for past and/or future calendar events
+"quick add" new calendar events to your default calendar
+run as a cron job and execute a command for reminders
+work against specific calendars (by calendar type or calendar name regex)
+config file support for specifying program defaults
+colored output and unicode character support
+easy integration within shell scripts, cron, screen, conky, etc
+
+Not (Yet) Supported:
+
+import meeting.ics Outlook events
+add (non-quick) events with ability to set reminders, repeat, guests, etc
+configurable reminders (i.e. 30 mins before event every 5 mins)
+offline mode working from cached data
+
+The HOWTO here explains options in detail. Taken from:
+http://code.google.com/p/gcalcli/wiki/HowTo
+
diff --git a/office/python-gcalcli/feedPrefix-fix.diff b/office/python-gcalcli/feedPrefix-fix.diff
new file mode 100644
index 000000000000..3a059432ae23
--- /dev/null
+++ b/office/python-gcalcli/feedPrefix-fix.diff
@@ -0,0 +1,11 @@
+--- a/gcalcli 2007-10-13 18:44:57.000000000 +0000
++++ b/gcalcli 2010-08-12 03:05:45.000000000 +0000
+@@ -223,7 +223,7 @@
+ allCals = None
+ workCals = []
+ now = datetime.now(tzlocal())
+- feedPrefix = 'http://www.google.com/calendar/feeds/'
++ feedPrefix = 'https?://www.google.com/calendar/feeds/'
+ agendaLength = 5
+ username = ''
+ password = ''
diff --git a/office/python-gcalcli/python-gcalcli.SlackBuild b/office/python-gcalcli/python-gcalcli.SlackBuild
new file mode 100644
index 000000000000..452797e9c1bb
--- /dev/null
+++ b/office/python-gcalcli/python-gcalcli.SlackBuild
@@ -0,0 +1,68 @@
+#!/bin/sh
+
+# Slackware build script for gcalcli
+# Copyright 2010 David Woodfall <dave@dawoodfall.net>
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PRGNAM=python-gcalcli
+SRCNAM=gcalcli
+VERSION=${VERSION:-1.4}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/usr/bin $OUTPUT
+cd $PKG
+tar xvf $CWD/$SRCNAM-$VERSION.tgz
+patch -p1 --verbose < $CWD/feedPrefix-fix.diff
+mv gcalcli usr/bin
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ $CWD/README $CWD/HOWTO \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/office/python-gcalcli/python-gcalcli.info b/office/python-gcalcli/python-gcalcli.info
new file mode 100644
index 000000000000..fb2e3a41486b
--- /dev/null
+++ b/office/python-gcalcli/python-gcalcli.info
@@ -0,0 +1,10 @@
+PRGNAM="python-gcalcli"
+VERSION="1.4"
+HOMEPAGE="http://code.google.com/p/gcalcli/"
+DOWNLOAD="http://gcalcli.googlecode.com/files/gcalcli-1.4.tgz"
+MD5SUM="6f01ff01750e06083857347e2a5f11f8"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+MAINTAINER="David Woodfall"
+EMAIL="dave@dawoodfall.net"
+APPROVED="dsomero"
diff --git a/office/python-gcalcli/slack-desc b/office/python-gcalcli/slack-desc
new file mode 100644
index 000000000000..c7a15827eae5
--- /dev/null
+++ b/office/python-gcalcli/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+python-gcalcli: gcalcli ( command line google calander application )
+python-gcalcli:
+python-gcalcli: gcalcli is a Python application that allows you to access your Google
+python-gcalcli: Calendar from a command line. It's easy to get your agenda, search
+python-gcalcli: for events, and quickly add new events. Additionally gcalcli can be
+python-gcalcli: used as a reminder service to execute any application you want.
+python-gcalcli:
+python-gcalcli: Homepage: http://code.google.com/p/gcalcli/
+python-gcalcli:
+python-gcalcli:
+python-gcalcli: