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
|
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# -----------------------------------------------------------------------------
# Getting Things Gnome! - A personal organizer for the GNOME desktop
# Copyright (c) 2008,2009 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/>.
# -----------------------------------------------------------------------------
"""
This script create a new task and launch the editor to display it. GTG should be running
"""
import re
import sys
import dbus
import cgi
import getopt
from GTG import _
def get_task(title, body) :
#We will connect on the session bus
bus = dbus.SessionBus()
liste = bus.list_names()
busname = "org.GTG"
remote_object = bus.get_object(busname,"/org/GTG")
timi = dbus.Interface(remote_object,dbus_interface="org.GTG")
#Calling the method
timi.open_new_task(title, body)
def usage():
print _("Usage: %s [-i | --interactive] [-h | --help]") % sys.argv[0]
if __name__ == '__main__':
interactive = False
#Command line options handling
try:
opts, args = getopt.getopt(sys.argv[1:], "hi", ["help", "interactive"])
except getopt.GetoptError, err:
# print help information and exit:
print str(err) # will print something like "option -a not recognized"
usage()
sys.exit(2)
for o, a in opts:
if o in ("-i", "--interactive"):
interactive = True
elif o in ("-h", "--help"):
usage()
sys.exit()
else:
assert False, "unhandled option"
title = " ".join(args)
if interactive:
optlist, args = getopt.getopt(args, 'i::')
body = sys.stdin.read()
subject_regex = re.compile("^Subject: (.*)$", re.M | re.I)
if subject_regex.search(body):
subject = subject_regex.findall(body)[0]
title = title + ": " + subject
else:
body = ""
get_task(title, cgi.escape(body))
|