mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-20 19:41:34 +01:00
office/python-gcalcli: Added (cli google calander application)
Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
This commit is contained in:
parent
9e525cd959
commit
a05fa22020
6 changed files with 297 additions and 0 deletions
159
office/python-gcalcli/HOWTO
Normal file
159
office/python-gcalcli/HOWTO
Normal file
|
@ -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'
|
||||
|
30
office/python-gcalcli/README
Normal file
30
office/python-gcalcli/README
Normal file
|
@ -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
|
||||
|
11
office/python-gcalcli/feedPrefix-fix.diff
Normal file
11
office/python-gcalcli/feedPrefix-fix.diff
Normal file
|
@ -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 = ''
|
68
office/python-gcalcli/python-gcalcli.SlackBuild
Normal file
68
office/python-gcalcli/python-gcalcli.SlackBuild
Normal file
|
@ -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}
|
10
office/python-gcalcli/python-gcalcli.info
Normal file
10
office/python-gcalcli/python-gcalcli.info
Normal file
|
@ -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"
|
19
office/python-gcalcli/slack-desc
Normal file
19
office/python-gcalcli/slack-desc
Normal file
|
@ -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:
|
Loading…
Reference in a new issue