Downloading Conseil

svn checkout http://conseil.fritalk.com/svn/conseil

conseil has the following dependancies : python-mechanize

launch it with : "python conseil.py"

---

Reading/Writing an XML Conseil file

Session and bookmarks in Conseil are stored in a plain XML file. In this file tabulation (\t) and newline (\n) are ignored.

The root node is the <store>. The <store> contains only <bookmark> nodes. (as many as needed). Bookmark node has two mandatory attributes : title and type. Title is the "nice" title of the bookmark. Type is the type of the bookmark according to the following rule :

  • type="1" : direct bug number
    • the <bookmark> node must have a <bug> child. The <bug> child has a text child containing only an integer.
    • if any, other childs are ignored
  • type="2" : simple search
    • the <bookmark> node must have a <search> child. The <search> child has a text child containing the search terms.
    • if any, other childs are ignored
  • type="3" : specific product search
    • the <bookmark> node must have a <search> child. The <search> child has a text child containing the search terms.
    • the <bookmark> node must have a <product> child. The <product> child has a text child containing the product.
    • if any, other childs are ignored

Example :

<?xml version="1.0" ?>
<store>
	<bookmark title="bug #42" type="1">
		<bug>42</bug>
	</bookmark>
        <bookmark title="my long search" type="2">
		<search>microsoft has majority</search>
	</bookmark>
	<bookmark title="Evo's 2 bugs" type="3">
		<search>imap filter</search>
		<product>evolution</product>
	</bookmark>
</store>

In future version, Conseil will support other type of searches. Also, <store> will support a bts attribute.


Make Conseil compatible with my own BTS

It's really easy. You simply have to implement a protocol file for your BTS. see protocol_dummy for an example. A complete documentation will come soon.


Make Conseil use a given stored login/pass

It's really easy too. You simply have to implement an auth file. See auth_dummy for an example.