GTG

lp:~gtg-contributors/gtg/dbus-server

Created by Paul Natsuo Kishimoto and last modified

This branch includes the new DBus interface to GTG.

It includes the changes made in these other branches:
lp:~gtg-contributors/gtg/code-layout-2
lp:~gtg-contributors/gtg/new-date-class
lp:~gtg-user/gtg/liblarch_migration

A test suite is included. To try out the server, do the following:

$ bzr branch lp:~gtg-contributors/gtg/dbus-server
$ export TARGET="$PWD/dbus-server/data/org.gnome.GTG.service"
$ sudo ln -s $TARGET /usr/share/dbus-1/services/org.gnome.GTG.service

Then, edit the file data/org.gnome.GTG.service so that the third line ("Exec=...") contains the full path to the "gtg" executable you've just branched (don't delete the "--daemon" argument!). After this, any attempt to access the "org.gnome.GTG" bus will start the code in the dbus-server branch.

Since the daemon is not attached to any console, logging information is provided in ~/.local/share/gtg/daemon.log.

Get this branch:
bzr branch lp:~gtg-contributors/gtg/dbus-server
Members of Gtg contributors can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Gtg contributors
Project:
GTG
Status:
Abandoned

Recent revisions

862. By Paul Natsuo Kishimoto

 * Create the directory for the daemon.log file, if it doesn't exist.

861. By Paul Natsuo Kishimoto

 * Begin removing direct backend calls (Requester) in GTG/gtk.

860. By Paul Natsuo Kishimoto

 * Move the Task- and Tag-specific filters from GTG.tools.liblarch to
   GTG.core.filters, which subclasses FiltersBank. liblarch no longer
   imports from GTG.core.

859. By Paul Natsuo Kishimoto

 * Use XDG location for logging file, instead of hardcoded string.

858. By Paul Natsuo Kishimoto

DBus server passes most of its tests (the ones that are written).

 * New daemon_control script.
 * client.py: fix some DBus method names, be smarter about recreating the
   server interface.
 * gtg.py: put the Requester back so we can force it to relinquish the
   bus name on shutdown.
 * core/
   * datastore.py: new_task() does less now that task_factory() adds to
     tree.
   * dbus.py: let users import SessionBus, for convenience.
   * requester.py: claim and release the GTG bus.
   * tagstore.py: dbus.service.BusName was used wrongly.
   * task.py: dbus.service.BusName was used wrongly. Privatize _modified.
 * tests/
   * __init__.py: reformat.
   * test_dbus.py: update tests to match actual DBus API.
   * test_liblarch.py: get_node() raises KeyError on a bad ID, now.
 * tools/liblarch/__init__.py: remove unused redefinition of
   _passthrough.

856. By Paul Natsuo Kishimoto

Chasing down exceptions in daemon startup/shutdown; client improvements.

 * client.py: New tree_from_json() method. Improve Task proxy so it can
   be used in a liblarch tree.
 * backends/: use task.id instead of get_id().
 * core/
   * datastore.py: Default argument for get_task(). Try to prevent root
     node from being stored (doesn't seem to work).
   * requester.py: Default argument for get_task().
   * task.py: Privatize the _title attribute, add new-style property to
     replace.

855. By Paul Natsuo Kishimoto

 * The daemon can now be started and stopped with: "import GTG.client;
   GTG.client.Client(); c.ping(); c.shutdown()"!
 * gtg.py: the server doesn't need a requester.
 * core/
   * datastore.py: Let some exceptions bubble up. In task_factory(),
     add the node to the tree right away so the tree can keep track of
     any pending relationships.
   * firstrun_tasks.py: replace old-style IDs with UUIDs, comment hint.
   * requester.py: Method to get the tasks JSON. Now the Client just has
     to pick this up, very close...
   * tagstore.py: Tag IDs are now UUIDs. A separate index is kept for
     tag names, and get_tag() still expects the tag name.
   * task.py: Task IDs are now UUIDs.
 * tools/
   * liblarch/tree.py: Syntax fixes. In add_node(), another reason *not*
     to add the node as a child of the root is if it is part of a pending
     relationship.
   * taskxml.py: don't deal with the UUID separately.

854. By Paul Natsuo Kishimoto

 * client.py: Syntax fixes. Don't use the dbus.service.BusName object in
   client-side code; that doesn't seem to work.
 * dbus.py: fewer exports.
 * requester.py: shutdown() and ping() DBus methods.
 * task.py: new liblarch _get_id() for Task.
 * gtg.py: fake a signal to trigger the cleanup method.
 * tree.py: log the exception message before raising it in get_node().

853. By Paul Natsuo Kishimoto

 * Sync.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:~gtg/gtg/old-trunk
This branch contains Public information 
Everyone can see this information.