1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# -----------------------------------------------------------------------------
# Getting Things Gnome! - A personal organizer for the GNOME desktop
# Copyright (c) 2008,2009,2010 Lionel Dricot & Bertrand Rousseau
#
# This program is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation, either version 3 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>.
# -----------------------------------------------------------------------------
"""
Getting Things Gnome! - A personal organizer for the GNOME desktop
==================================================================
:copyright: 2008,2009,2010 Lionel Dricot & Bertrand Rousseau
:license: GNU General Public License, version 3 or later
"""
import sys
from optparse import OptionParser
required_liblarch_api="1.0"
def X_is_running():
from gtk.gdk import Screen
try:
if Screen().get_display():
return True
except RuntimeError:
pass
return False
def import_liblarch():
""" Check if liblarch is installed and is compatible
If not, provide information how to obtain the newest version """
git_cmd= "git clone git://github.com/liblarch/liblarch.git ../liblarch"
try:
import liblarch
toreturn = True
except:
sys.path.append("../liblarch/")
try:
import liblarch
toreturn = True
except:
print "GTG requires liblarch but liblarch is not installed."
print "To install liblarch, run the following command in the current folder:"
print "\n"
print " %s" %git_cmd
print "\n"
print "More informations about liblarch: https://live.gnome.org/liblarch/"
toreturn = False
if toreturn and not liblarch.is_compatible(required_liblarch_api):
print "Your liblarch copy has its API at version %s" %liblarch.api
print "but your GTG copy need liblarch API version %s" %required_liblarch_api
print ""
print "You may fix that by downloading the last version of liblarch with:"
print " %s"%git_cmd
toreturn = False
return toreturn
try:
parser = OptionParser()
parser.add_option('-b', '--boot-test', action='store_true', dest='boot_test',
help="Exit immediately after completing boot-up actions", default=False)
parser.add_option('-c', '--no-crash-handler', action='store_true', dest='no_crash_handler',
help="Disable the automatic crash handler", default=False)
parser.add_option('-d', '--debug', action='store_true', dest='debug',
help="Enable debug output", default=False)
parser.add_option('-v', '--version', action='store_true', dest='version_and_exit',
help="Print GTG's version number", default=False)
(options, args) = parser.parse_args()
if options.version_and_exit:
from GTG import info
print "gtg (Getting Things Gnome!) %s" %(info.VERSION)
print
print "For more information: %s" %(info.URL)
sys.exit(0)
elif not X_is_running():
print "Could not open X display"
sys.exit(1)
elif import_liblarch():
import GTG.gtg
sys.exit(GTG.gtg.main(options, args))
except KeyboardInterrupt:
sys.exit(1)
|