gcalcli - Google Calendar command line interface ChangeLog

HOWTO


# gcalcli
# =======
# This will cover installing gcalcli and all required Python modules

# Prerequisites for everything below:
# Python 2.x
# setuptools


# ElementTree 1.27 preview
# ========================
# Get it
cd
test -f installed/elementtree-1.2.7-20070827-preview.zip &&
mv installed/elementtree-1.2.7-20070827-preview.zip .
test ! -f elementtree-1.2.7-20070827-preview.zip &&
wget http://effbot.org/media/downloads/elementtree-1.2.7-20070827-preview.zip

# Extract it
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "elementtree-*" -exec rm -r {} \;
unzip ~/elementtree-1.2.7-20070827-preview.zip
cd elementtree-1.2.7-20070827-preview
test $UID = 0 && chown -R root:root .

# Build it
python setup.py build

# Become root to install it
su

# Install it
python setup.py install

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# Become yourself again
exit

# Save tarball for later
cd
mkdir -p -m 0700 installed
rm -f installed/elementtree-*.zip
mv elementtree-1.2.7-20070827-preview.zip installed/


# GData 2.0.18
# ============
# Get it
cd
test -f installed/gdata-2.0.18.tar.gz &&
mv installed/gdata-2.0.18.tar.gz .
test ! -f gdata-2.0.18.tar.gz &&
wget http://gdata-python-client.googlecode.com/files/gdata-2.0.18.tar.gz

# Extract it
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "gdata-*" -exec rm -r {} \;
tar xzvf ~/gdata-2.0.18.tar.gz
cd gdata-2.0.18
test $UID = 0 && chown -R root:root .

# Build it
python setup.py build

# Become root to install it
su

# Install it
python setup.py install

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# Become yourself again
exit

# Save tarball for later
cd
mkdir -p -m 0700 installed
rm -f installed/gdata-*.tar.gz
mv gdata-2.0.18.tar.gz installed/


# python-dateutil 1.5
# ===================
# Prerequisites:
# Python < 3.0
# (there is a python-dateutil 2.x for Python 3.x)

# Get it
cd
test -f installed/python-dateutil-1.5.tar.gz &&
mv installed/python-dateutil-1.5.tar.gz .
test ! -f python-dateutil-1.5.tar.gz &&
wget http://labix.org/download/python-dateutil/python-dateutil-1.5.tar.gz

# Extract it
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "python-dateutil-*" -exec rm -r {} \;
tar xzvf ~/python-dateutil-1.5.tar.gz
cd python-dateutil-1.5
test $UID = 0 && chown -R root:root .

# Build it
python setup.py build

# Become root to install it
su

# Install it
python setup.py install

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# Become yourself again
exit

# Save tarball for later
cd
mkdir -p -m 0700 installed
rm -f installed/python-dateutil-*.tar.gz
mv python-dateutil-1.5.tar.gz installed/


# VObject 0.8.1c
# ==============
# VObject is optional - it gives you ics/vcal importing

# Prerequisites:
# Python >= 2.4
# dateutil >= 1.1 (above)

# Get it
cd
test -f installed/vobject-0.8.1c.tar.gz &&
mv -f installed/vobject-0.8.1c.tar.gz .
test ! -f vobject-0.8.1c.tar.gz &&
wget http://vobject.skyhouseconsulting.com/vobject-0.8.1c.tar.gz

# Extract it
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "vobject-*" -exec rm -r {} \;
tar xzvf ~/vobject-0.8.1c.tar.gz
cd vobject-0.8.1c
test $UID = 0 && chown -R root:root .

# Become root to install it
su

# Install it
python setup.py install

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# Become yourself again
exit

# Save tarball for later
cd
mkdir -p -m 0700 installed
rm -f installed/vobject-*.tar.*
mv vobject-0.8.1c.tar.gz installed/


# parsedatetime
# =============
# parsedatetime is optional - it gives you fuzzy dates/times like "now",
# "today", "eod tomorrow", etc.

# Prerequisites:
# Python >= 2.6

# Get it
cd
wget -nc --no-check-certificate -O parsedatetime.tar.gz \
https://github.com/bear/parsedatetime/tarball/master

# Extract it
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "bear-parsedatetime-*" -exec rm -r {} \;
find -maxdepth 1 -type d -name "parsedatetime-*" -exec rm -r {} \;
tar xzvf ~/parsedatetime.tar.gz
cd bear-parsedatetime-*
test $UID = 0 && chown -R root:root .

# Become root to install it
su

# Install it
python setup.py install

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# Become yourself again
exit

# Save tarball for later
cd
mkdir -p -m 0700 installed
rm -f installed/parsedatetime.tgz installed/parsedatetime.tar.gz
mv parsedatetime.tar.gz installed/


# Google API Client
# =================
# Python 2.5, 2.6, or 2.7

# Install/upgrade using easy_install from setuptools:
su -c "easy_install --upgrade google-api-python-client"


# gcalcli
# =======
# When it was hosted at Google Code (code.google.com), there were version
# numbered tarballs.  Everything is at github now, so without viewing the
# ChangeLog all you'll know is that this is the "master" branch.  As I write
# this, the code is at >= 3.1

# If you want to download a tarball, you can use this URL:
# https://github.com/insanum/gcalcli/tarball/master
#
# ...or you can use Git directly

# Get it
cd
wget -nc --no-check-certificate -O gcalcli.tar.gz \
https://github.com/insanum/gcalcli/tarball/master

# Extract it
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "gcalcli-*" -exec rm -r {} \;
find -maxdepth 1 -type d -name "insanum-gcalcli-*" -exec rm -r {} \;
tar xzvf ~/gcalcli.tar.gz
cd insanum-gcalcli-*
test $UID = 0 && chown -R root:root .

# Become root to install it
su

# Install it
install -o root -g root -m 0755 ./gcalcli /usr/local/bin/

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# If you previously had a ~/.gcalclirc file in your non-root home
# directory with authentication info in there, remove that from it.
# If that was all that was in there, you can remove the whole file.  It
# uses OAuth2 now rather than just storing your username and password in
# there.  The OAuth2 info will end up in ~/.gcalcli_oauth

# The first time you use gcalcli, you will need to enter a code for
# Google to authorize gcalcli.  If you will be using gcalcli directly (not
# via remote ssh) on a computer with a JavaScript-capable browser, run it
# normally and follow the instructions.  If not, run it (any command:
# calw or whatever) with --noauth_local_webserver, which will give you a
# long URL to cut and paste or e-mail to yourself or whatever, then once
# you go there on another computer, it will give you a code in your browser
# to cut and paste back in the terminal for gcalcli.

# In the past, with a first-time installation, I had to fix permissions on
# one file to avoid getting an SSL error when running it as my non-root
# user.  The error was:
#  ssl.SSLError: [Errno 185090050] _ssl.c:340: error:0B084002:x509
#  certificate routines:X509_load_cert_crl_file:system lib
# This took care of it:
chmod 644 /usr/lib*/python*/site-packages/httplib2*/httplib2/cacerts.txt

# gcalcli's use of the Google calendar API has a daily limit.  If you
# (and everyone else) hit that limit, you can get around that by
# setting yourself up at Google, then passing --client_id and
# --client_secret to gcalcli either at the commandline or in ~/.gcalclirc
# See here for details:
# https://github.com/insanum/gcalcli/issues/65
#
# NOTE: On 2015-01-22 I noticed it was not working, tried it with my
# previously created client ID and secret from April 2014 and it would
# not allow me.  Reverted back to using the default id (built in to gcalcli),
# then it worked.  It turned out to be that I did not have anything set
# under APIs & auth -> Consent screen under "EMAIL ADDRESS" or
# "PRODUCT NAME".  After setting those, then it was OK again using my own
# ID.

# Become your non-root user again
exit

# See the built in help:
#   gcalcli --help
# and the Wiki's HowTo for more information:
#   http://code.google.com/p/gcalcli/wiki/HowTo
#   https://github.com/insanum/gcalcli/wiki

# Save the tarball for later
cd
mkdir -p -m 0700 installed
rm -f installed/gcalcli-*.tgz installed/gcalcli.tar.gz
mv gcalcli.tar.gz installed/

List of HOWTOs

Web page itself last updated: 2023-12-20 8:06pm (EDT -0400)
HOWTO last updated: 2015-01-22 12:01pm
Copyright © 2001-2024 Jason Englander. All Rights reserved.
[HTML5]