diff --git a/src/doc/Makefile b/src/doc/Makefile
deleted file mode 100644
index f8c7cfe..0000000
--- a/src/doc/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-SRC=$(wildcard *.txt)
-HTMLFRAGMENT=$(addsuffix .html, $(basename $(SRC)))
-
-.SUFFIXES:
-
-.PHONY: all clean
-
-all: html code epydoc
-# make -C ./build/code all
-# make -C ./build/test all
-# make -C ./build all
-
-html: $(HTMLFRAGMENT)
-
-%.html: %.txt
- ./rst2html.py --stylesheet ./build/style.css $< > ./build/$@
-
-code:
- ./code2html
-
-epydoc:
- ./epydoc.sh
-
-clean:
- make -C ./build clean
-
diff --git a/src/doc/build/Makefile b/src/doc/build/Makefile
deleted file mode 100644
index a825b9e..0000000
--- a/src/doc/build/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-.PHONY: clean
-.SUFFIXES:
-
-clean:
- rm -f *.html
- rm -f api/*.html
- make -C ./pydoc/ clean
diff --git a/src/doc/build/api/Readme b/src/doc/build/api/Readme
deleted file mode 100644
index 8623c0e..0000000
--- a/src/doc/build/api/Readme
+++ /dev/null
@@ -1 +0,0 @@
-API's directory
diff --git a/src/doc/build/architecture.dia b/src/doc/build/architecture.dia
deleted file mode 100644
index 35adb7e..0000000
Binary files a/src/doc/build/architecture.dia and /dev/null differ
diff --git a/src/doc/build/architecture.png b/src/doc/build/architecture.png
deleted file mode 100644
index fecefa0..0000000
Binary files a/src/doc/build/architecture.png and /dev/null differ
diff --git a/src/doc/build/default.css b/src/doc/build/default.css
deleted file mode 100644
index 8625c0e..0000000
--- a/src/doc/build/default.css
+++ /dev/null
@@ -1,1080 +0,0 @@
-body,body.editor,body.body {
- font: 110% "Times New Roman", Arial, Verdana, Helvetica, serif;
- background: White;
- color: Black;
-}
-
-a, a.reference {
- text-decoration: none;
-}
-a[href]:hover { text-decoration: underline; }
-
-img {
- border: none;
- vertical-align: middle;
-}
-
-p, div.text {
- text-align: left;
- line-height: 1.5em;
- margin: 0.5em 0em 0em 0em;
-}
-
-
-
-p a:active {
- color: Red;
- background-color: transparent;
-}
-
-p img {
- border: 0;
- margin: 0;
-}
-
-img.inlinephoto {
- padding: 0;
- padding-right: 1em;
- padding-top: 0.7em;
- float: left;
-}
-
-hr {
- clear: both;
- height: 1px;
- color: #8CACBB;
- background-color: transparent;
-}
-
-
-ul {
- line-height: 1.5em;
- /*list-style-image: url("bullet.gif"); */
- margin-left: 1.5em;
- padding:0;
-}
-
-ol {
- line-height: 1.5em;
- margin-left: 1.5em;
- padding:0;
-}
-
-ul a, ol a {
- text-decoration: underline;
-}
-
-dl {
-}
-
-dt {
- font-weight: bold;
-}
-
-dd {
- line-height: 1.5em;
- margin-bottom: 1em;
-}
-
-blockquote {
- font-family: Times, "Times New Roman", serif;
- font-style: italic;
- font-size: 120%;
-}
-
-code {
- color: Black;
- /*background-color: #dee7ec;*/
- background-color: #cccccc;
-}
-
-pre {
- padding: 1em;
- border: 1px solid #8cacbb;
- color: Black;
- background-color: #dee7ec;
- background-color: #cccccc;
- overflow: auto;
-}
-
-
-.netscape4 {
- display: none;
-}
-
-/* main page styles */
-
-/*a[href]:hover { color: black; text-decoration: underline; }
-a[href]:link { color: black; text-decoration: underline; }
-a[href] { color: black; text-decoration: underline; }
-*/
-
-span.menu_selected {
- color: black;
- font: 140% Verdana, Helvetica, Arial, sans-serif;
- text-decoration: none;
- padding-right: 0.3em;
- background-color: #cccccc;
-}
-
-
-a.menu {
- /*color: #3ba6ec; */
- font: 140% Verdana, Helvetica, Arial, sans-serif;
- text-decoration: none;
- padding-right: 0.3em;
-}
-
-a.menu[href]:visited, a.menu[href]:link{
- /*color: #3ba6ec; */
- font: 140% Verdana, Helvetica, Arial, sans-serif;
- text-decoration: none;
-}
-
-a.menu[href]:hover {
- /*color: black;*/
-}
-
-div.project_title{
- /*border-spacing: 20px;*/
- font: 160% Verdana, Helvetica, Arial, sans-serif;
- color: #3ba6ec;
- vertical-align: middle;
- padding-bottom: 0.3em;
-}
-
-a.wikicurrent {
- font: 100% Verdana, Helvetica, Arial, sans-serif;
- color: #3ba6ec;
- vertical-align: middle;
-}
-
-
-table.body {
- border: 0;
- /*padding: 0;
- border-spacing: 0px;
- border-collapse: separate;
- */
-}
-
-td.page-header-left {
- padding: 5px;
- /*border-bottom: 1px solid #444444;*/
-}
-
-td.page-header-top {
- padding: 0;
-
- /*border-bottom: 1px solid #444444;*/
-}
-
-td.sidebar {
- padding: 1 0 0 1;
-}
-
-td.sidebar p.classblock {
- padding: 0 5 0 5;
- margin: 1 1 1 1;
- border: 1px solid #444444;
- background-color: #eeeeee;
-}
-
-td.sidebar p.userblock {
- padding: 0 5 0 5;
- margin: 1 1 1 1;
- border: 1px solid #444444;
- background-color: #eeeeff;
-}
-
-td.content {
- padding: 1 5 1 5;
- vertical-align: top;
- width: 100%;
-}
-
-p.ok-message {
- background-color: #22bb22;
- padding: 5 5 5 5;
- color: white;
- font-weight: bold;
-}
-p.error-message {
- background-color: #bb2222;
- padding: 5 5 5 5;
- color: white;
- font-weight: bold;
-}
-
-p:first-child {
- margin: 0 ;
- padding: 0;
-}
-
-/* style for forms */
-table.form {
- padding: 2;
- border-spacing: 0px;
- border-collapse: separate;
-}
-
-table.form th {
- color: #333388;
- text-align: right;
- vertical-align: top;
- font-weight: normal;
-}
-table.form th.header {
- font-weight: bold;
- background-color: #eeeeff;
- text-align: left;
-}
-
-table.form th.required {
- font-weight: bold;
-}
-
-table.form td {
- color: #333333;
- empty-cells: show;
- vertical-align: top;
-}
-
-table.form td.optional {
- font-weight: bold;
- font-style: italic;
-}
-
-table.form td.html {
- color: #777777;
-}
-
-/* style for lists */
-table.list {
- border-spacing: 0px;
- border-collapse: separate;
- vertical-align: top;
- padding-top: 0;
- width: 100%;
-}
-
-table.list th {
- padding: 0 4 0 4;
- color: #404070;
- background-color: #eeeeff;
- border-right: 1px solid #404070;
- border-top: 1px solid #404070;
- border-bottom: 1px solid #404070;
- vertical-align: top;
- empty-cells: show;
-}
-table.list th a[href]:hover { color: #404070 }
-table.list th a[href]:link { color: #404070 }
-table.list th a[href] { color: #404070 }
-table.list th.group {
- background-color: #f4f4ff;
- text-align: center;
- font-size: 120%;
-}
-
-table.list td {
- padding: 0 4 0 4;
- border: 0 2 0 2;
- border-right: 1px solid #404070;
- color: #404070;
- background-color: white;
- vertical-align: top;
- empty-cells: show;
-}
-
-table.list tr.normal td {
- background-color: white;
- white-space: nowrap;
-}
-
-table.list tr.alt td {
- background-color: #efefef;
- white-space: nowrap;
-}
-
-table.list td:first-child {
- border-left: 1px solid #404070;
- border-right: 1px solid #404070;
-}
-
-table.list th:first-child {
- border-left: 1px solid #404070;
- border-right: 1px solid #404070;
-}
-
-table.list tr.navigation th {
- text-align: right;
-}
-table.list tr.navigation th:first-child {
- border-right: none;
- text-align: left;
-}
-
-
-/* style for message displays */
-table.messages {
- border-spacing: 0px;
- border-collapse: separate;
- width: 100%;
-}
-
-table.messages th.header{
- padding-top: 10px;
- border-bottom: 1px solid gray;
- font-weight: bold;
- background-color: white;
- color: #707040;
-}
-
-table.messages th {
- font-weight: bold;
- color: black;
- text-align: left;
- border-bottom: 1px solid #afafaf;
-}
-
-table.messages td {
- font-family: monospace;
- background-color: #efefef;
- border-bottom: 1px solid #afafaf;
- color: black;
- empty-cells: show;
- border-right: 1px solid #afafaf;
- vertical-align: top;
- padding: 2 5 2 5;
-}
-
-table.messages td:first-child {
- border-left: 1px solid #afafaf;
- border-right: 1px solid #afafaf;
-}
-
-/* style for file displays */
-table.files {
- border-spacing: 0px;
- border-collapse: separate;
- width: 100%;
-}
-
-table.files th.header{
- padding-top: 10px;
- border-bottom: 1px solid gray;
- font-weight: bold;
- background-color: white;
- color: #707040;
-}
-
-table.files th {
- border-bottom: 1px solid #afafaf;
- font-weight: bold;
- text-align: left;
-}
-
-table.files td {
- font-family: monospace;
- empty-cells: show;
-}
-
-/* style for history displays */
-table.history {
- border-spacing: 0px;
- border-collapse: separate;
- width: 100%;
-}
-
-table.history th.header{
- padding-top: 10px;
- border-bottom: 1px solid gray;
- font-weight: bold;
- background-color: white;
- color: #707040;
- font-size: 100%;
-}
-
-table.history th {
- border-bottom: 1px solid #afafaf;
- font-weight: bold;
- text-align: left;
- font-size: 90%;
-}
-
-table.history td {
- font-size: 90%;
- vertical-align: top;
- empty-cells: show;
-}
-
-
-/* style for class list */
-table.classlist {
- border-spacing: 0px;
- border-collapse: separate;
- width: 100%;
-}
-
-table.classlist th.header{
- padding-top: 10px;
- border-bottom: 1px solid gray;
- font-weight: bold;
- background-color: white;
- color: #707040;
-}
-
-table.classlist th {
- font-weight: bold;
- text-align: left;
-}
-
-
-/* style for class help display */
-table.classhelp {
- border-spacing: 0px;
- border-collapse: separate;
- width: 100%;
-}
-
-table.classhelp th {
- font-weight: bold;
- text-align: left;
- color: #707040;
-}
-
-table.classhelp td {
- padding: 2 2 2 2;
- border: 1px solid black;
- text-align: left;
- vertical-align: top;
- empty-cells: show;
-}
-
-
-/* style for "other" displays */
-table.otherinfo {
- border-spacing: 0px;
- border-collapse: separate;
- width: 100%;
-}
-
-table.otherinfo th.header{
- padding-top: 10px;
- border-bottom: 1px solid gray;
- font-weight: bold;
- background-color: white;
- color: #707040;
-}
-
-table.otherinfo th {
- border-bottom: 1px solid #afafaf;
- font-weight: bold;
- text-align: left;
-}
-
-input {
- border: 1px solid #8cacbb;
- color: Black;
- background-color: white;
- vertical-align: middle;
- margin-bottom: 1px; /* IE bug fix */
- padding: 0.1em;
-}
-
-select {
- border: 1px solid #8cacbb;
- color: Black;
- background-color: white;
- vertical-align: middle;
- margin-bottom: 1px; /* IE bug fix */
- padding: 0.1em;
-}
-
-
-a.nonexistent {
- color: #FF2222;
-}
-a.nonexistent:visited {
- color: #FF2222;
-}
-a.external {
- color: #AA6600;
-}
-
-/*
-dl,ul,ol {
- margin-top: 1pt;
-}
-tt,pre {
- font-family: Lucida Console,Courier New,Courier,monotype;
- font-size: 12pt;
-}
-pre.code {
- margin-top: 8pt;
- margin-bottom: 8pt;
- background-color: #FFFFEE;
- white-space:pre;
- border-style:solid;
- border-width:1pt;
- border-color:#999999;
- color:#111111;
- padding:5px;
- width:100%;
-}
-*/
-div.diffold {
- background-color: #FFFF80;
- border-style:none;
- border-width:thin;
- width:100%;
-}
-div.diffnew {
- background-color: #80FF80;
- border-style:none;
- border-width:thin;
- width:100%;
-}
-div.message {
- margin-top: 6pt;
- background-color: #E8FFE8;
- border-style:solid;
- border-width:1pt;
- border-color:#999999;
- color:#440000;
- padding:5px;
- width:100%;
-}
-strong.highlight {
- background-color: #FFBBBB;
-/* as usual, NetScape fucks up with innocent CSS
- border-color: #FFAAAA;
- border-style: solid;
- border-width: 1pt;
-*/
-}
-
-table.navibar {
- background-color: #C8C8C8;
- border-spacing: 3px;
-}
-td.navibar {
- background-color: #E8E8E8;
- vertical-align: top;
- text-align: right;
- padding: 0px;
-}
-
-div.pagename {
- font-size: 140%;
- color: blue;
- text-align: center;
- font-weight: bold;
- background-color: white;
- padding: 0 ;
-}
-
-a.wikiaction, input.wikiaction {
- color: black;
- text-decoration: None;
- text-align: center;
- color: black;
- /*border: 1px solid #3ba6ec; */
- margin: 4px;
- padding: 5;
- padding-bottom: 0;
- white-space: nowrap;
-}
-
-a.wikiaction[href]:hover {
- color: black;
- text-decoration: none;
- /*background-color: #dddddd; */
-}
-
-span.wikiuserpref {
- padding-top: 1em;
- font-size: 120%;
-}
-
-div.wikitrail {
- vertical-align: bottom;
- /*font-size: -1;*/
- padding-top: 1em;
- display: none;
-}
-
-div.wikiaction {
- vertical-align: middle;
- /*border-bottom: 1px solid #8cacbb;*/
- padding-bottom:1em;
- text-align: left;
- width: 100%;
-}
-
-div.wikieditmenu {
- text-align: right;
-}
-
-form.wikiedit {
- border: 1px solid #8cacbb;
- background-color: #f0f0f0;
- background-color: #fabf00;
- padding: 1em;
- padding-right: 0em;
-}
-
-div.legenditem {
- padding-top: 0.5em;
- padding-left: 0.3em;
-}
-
-span.wikitoken {
- background-color: #eeeeee;
-}
-
-
-div#contentspace h1:first-child, div.heading:first-child {
- padding-top: 0;
- margin-top: 0;
-}
-div#contentspace h2:first-child {
- padding-top: 0;
- margin-top: 0;
-}
-
-/* heading and paragraph text */
-
-div.heading, h1 {
- font-family: Verdana, Helvetica, Arial, sans-serif;
- background-color: #58b3ef;
- background-color: #FFFFFF;
- /*color: #4893cf;*/
- color: black;
- padding-top: 1.0em;
- padding-bottom:0.2em;
- text-align: left;
- margin-top: 0em;
- /*margin-bottom:8pt;*/
- font-weight: bold;
- font-size: 115%;
- border-bottom: 1px solid #8CACBB;
-}
-
-
-h1, h2, h3, h4, h5, h6 {
- color: orange;
- clear: left;
- font: 100% Verdana, Helvetica, Arial, sans-serif;
- margin: 0;
- padding-left: 0em;
- padding-top: 1em;
- padding-bottom: 0.2em;
- /*border-bottom: 1px solid #8CACBB;*/
-}
-/* h1,h2 { padding-top: 0; }*/
-
-
-h1 { font-size: 145%; }
-h2 { font-size: 135%; }
-h3 { font-size: 125%; }
-h4 { font-size: 120%; }
-h5 { font-size: 110%; }
-h6 { font-size: 80%; }
-
-h1 a { text-decoration: None;}
-
-div.exception {
- background-color: #bb2222;
- padding: 5 5 5 5;
- color: white;
- font-weight: bold;
-}
-pre.exception {
- font-size: 110%;
- padding: 1em;
- border: 1px solid #8cacbb;
- color: Black;
- background-color: #dee7ec;
- background-color: #cccccc;
-}
-
-/* defines for navgiation bar (documentation) */
-
-
-div.direntry {
- padding-top: 0.3em;
- padding-bottom: 0.3em;
- margin-right: 1em;
- font-weight: bold;
- background-color: #dee7ec;
- font-size: 110%;
-}
-
-div.fileentry {
- font-family: Verdana, Helvetica, Arial, sans-serif;
- padding-bottom: 0.3em;
- white-space: nowrap;
- line-height: 150%;
-}
-
-a.fileentry {
- white-space: nowrap;
-}
-
-
-span.left {
- text-align: left;
-}
-span.right {
- text-align: right;
-}
-
-div.navbar {
- /*margin: 0;*/
- font-size: 80% /*smaller*/;
- font-weight: bold;
- text-align: left;
- /* position: fixed; */
- top: 100pt;
- left: 0pt; /* auto; */
- width: 120pt;
- /* right: auto;
- right: 0pt; 2em; */
-}
-
-
-div.history a {
- /* font-size: 70%; */
-}
-
-div.wikiactiontitle {
- font-weight: bold;
-}
-
-/* REST defines */
-
-div.document {
- margin: 0;
-}
-
-h1.title {
- margin: 0;
- margin-bottom: 0.5em;
-}
-
-td.toplist {
- vertical-align: top;
-}
-
-img#pyimg {
- position: absolute;
- top: 4px;
- left: 4px;
-}
-
-div#navspace {
- position: absolute;
- top: 130px;
- left: 11px;
- font-size: 100%;
- width: 150px;
- overflow: hidden; /* scroll; */
-}
-
-div#metaspace {
- position: absolute;
- top: 40px;
- left: 170px;
-}
-
-div#errorline {
- position: relative;
- top: 5px;
- float: right;
-}
-
-div#contentspace {
- position: absolute;
- /* font: 120% "Times New Roman", serif;*/
- font: 110% Verdana, Helvetica, Arial, sans-serif;
- top: 130px;
- left: 170px;
- margin-right: 5px;
-}
-
-div#menubar {
-/* width: 400px; */
- float: left;
-}
-
-/* for the documentation page */
-div#docinfoline {
- position: relative;
- top: 5px;
- left: 0px;
-
- /*background-color: #dee7ec; */
- padding: 5pt;
- padding-bottom: 1em;
- color: black;
- /*border-width: 1pt;
- border-style: solid;*/
-
-}
-
-div#docnavlist {
- /*background-color: #dee7ec; */
- padding: 5pt;
- padding-bottom: 2em;
- color: black;
- border-width: 1pt;
- /*border-style: solid;*/
-}
-
-
-/* text markup */
-
-div.listtitle {
- color: Black;
- clear: left;
- font: 120% Verdana, Helvetica, Arial, sans-serif;
- margin: 0;
- padding-left: 0em;
- padding-top: 0em;
- padding-bottom: 0.2em;
- margin-right: 0.5em;
- border-bottom: 1px solid #8CACBB;
-}
-
-div.actionbox h3 {
- padding-top: 0;
- padding-right: 0.5em;
- padding-left: 0.5em;
- background-color: #fabf00;
- text-align: center;
- border: 1px solid black; /* 8cacbb; */
-}
-
-div.actionbox a {
- display: block;
- padding-bottom: 0.5em;
- padding-top: 0.5em;
- margin-left: 0.5em;
-}
-
-div.actionbox a.history {
- display: block;
- padding-bottom: 0.5em;
- padding-top: 0.5em;
- margin-left: 0.5em;
- font-size: 90%;
-}
-
-div.actionbox {
- margin-bottom: 2em;
- padding-bottom: 1em;
- overflow: hidden; /* scroll; */
-}
-
-/* taken from docutils (oh dear, a bit senseless) */
-ol.simple, ul.simple {
- margin-bottom: 1em }
-
-ol.arabic {
- list-style: decimal }
-
-ol.loweralpha {
- list-style: lower-alpha }
-
-ol.upperalpha {
- list-style: upper-alpha }
-
-ol.lowerroman {
- list-style: lower-roman }
-
-ol.upperroman {
- list-style: upper-roman }
-
-
-/*
-:Author: David Goodger
-:Contact: goodger@users.sourceforge.net
-:date: $Date: 2003/01/22 22:26:48 $
-:version: $Revision: 1.29 $
-:copyright: This stylesheet has been placed in the public domain.
-
-Default cascading style sheet for the HTML output of Docutils.
-*/
-/*
-.first {
- margin-top: 0 }
-
-.last {
- margin-bottom: 0 }
-
-a.toc-backref {
- text-decoration: none ;
- color: black }
-
-dd {
- margin-bottom: 0.5em }
-
-div.abstract {
- margin: 2em 5em }
-
-div.abstract p.topic-title {
- font-weight: bold ;
- text-align: center }
-
-div.attention, div.caution, div.danger, div.error, div.hint,
-div.important, div.note, div.tip, div.warning {
- margin: 2em ;
- border: medium outset ;
- padding: 1em }
-
-div.attention p.admonition-title, div.caution p.admonition-title,
-div.danger p.admonition-title, div.error p.admonition-title,
-div.warning p.admonition-title {
- color: red ;
- font-weight: bold ;
- font-family: sans-serif }
-
-div.hint p.admonition-title, div.important p.admonition-title,
-div.note p.admonition-title, div.tip p.admonition-title {
- font-weight: bold ;
- font-family: sans-serif }
-
-div.dedication {
- margin: 2em 5em ;
- text-align: center ;
- font-style: italic }
-
-div.dedication p.topic-title {
- font-weight: bold ;
- font-style: normal }
-
-div.figure {
- margin-left: 2em }
-
-div.footer, div.header {
- font-size: smaller }
-
-div.system-messages {
- margin: 5em }
-
-div.system-messages h1 {
- color: red }
-
-div.system-message {
- border: medium outset ;
- padding: 1em }
-
-div.system-message p.system-message-title {
- color: red ;
- font-weight: bold }
-
-div.topic {
- margin: 2em }
-
-h1.title {
- text-align: center ;
- color: orange}
-
-h2.subtitle {
- color: orange;
- text-align: center }
-
-hr {
- width: 75% }
-
-p.caption {
- font-style: italic }
-
-p.credits {
- font-style: italic ;
- font-size: smaller }
-
-p.label {
- white-space: nowrap }
-
-p.topic-title {
- font-weight: bold }
-
-pre.address {
- margin-bottom: 0 ;
- margin-top: 0 ;
- font-family: serif ;
- font-size: 100% }
-
-pre.line-block {
- font-family: serif ;
- font-size: 100% }
-
-pre.literal-block, pre.doctest-block {
- margin-left: 2em ;
- margin-right: 2em ;
- background-color: #eeeeee }
-
-span.classifier {
- font-family: sans-serif ;
- font-style: oblique }
-
-span.classifier-delimiter {
- font-family: sans-serif ;
- font-weight: bold }
-
-span.interpreted {
- font-family: sans-serif }
-
-span.option {
- white-space: nowrap }
-
-span.option-argument {
- font-style: italic }
-
-span.pre {
- white-space: pre }
-
-span.problematic {
- color: red }
-
-table {
- margin-top: 0.5em ;
- margin-bottom: 0.5em }
-
-table.citation {
- border-left: solid thin gray ;
- padding-left: 0.5ex }
-
-table.docinfo {
- margin: 2em 4em }
-
-table.footnote {
- border-left: solid thin black ;
- padding-left: 0.5ex }
-
-td, th {
- padding-left: 0.5em ;
- padding-right: 0.5em ;
- vertical-align: top }
-
-th.docinfo-name, th.field-name {
- font-weight: bold ;
- text-align: left ;
- white-space: nowrap }
-
-h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
- font-size: 100% }
-
-tt {
- background-color: #eeeeee }
-
-ul.auto-toc {
- list-style-type: none }
-*/
-
-div.section {
- margin-top: 1.0em ;
-}
diff --git a/src/doc/build/docutils.css b/src/doc/build/docutils.css
deleted file mode 100644
index f03e03d..0000000
--- a/src/doc/build/docutils.css
+++ /dev/null
@@ -1,255 +0,0 @@
-.first {
- margin-top: 0 ! important }
-
-.last {
- margin-bottom: 0 ! important }
-
-.hidden {
- display: none }
-
-a.toc-backref {
- text-decoration: none ;
- color: inherit }
-
-blockquote.epigraph {
- margin: 2em 5em }
-
-dl.docutils dd {
- margin-bottom: 0.5em }
-
-dl.docutils dt {
- font-weight: bold }
-
-dl dt { line-height: 150% }
-
-div.abstract {
- margin: 2em 5em }
-
-div.abstract p.topic-title {
- font-weight: bold ;
- text-align: center }
-
-div.admonition, div.attention, div.caution, div.danger, div.error,
-div.hint, div.important, div.note, div.tip, div.warning {
- margin: 2em ;
- border: medium outset ;
- padding: 1em }
-
-div.admonition p.admonition-title, div.hint p.admonition-title,
-div.important p.admonition-title, div.note p.admonition-title,
-div.tip p.admonition-title {
- font-weight: bold ;
- font-family: sans-serif }
-
-div.attention p.admonition-title, div.caution p.admonition-title,
-div.danger p.admonition-title, div.error p.admonition-title,
-div.warning p.admonition-title {
- color: red ;
- font-weight: bold ;
- font-family: sans-serif }
-
-div.compound .compound-first, div.compound .compound-middle {
- margin-bottom: 0.5em }
-
-div.compound .compound-last, div.compound .compound-middle {
- margin-top: 0.5em }
-
-div.dedication {
- margin: 2em 5em ;
- text-align: center ;
- font-style: italic }
-
-div.dedication p.topic-title {
- font-weight: bold ;
- font-style: normal }
-
-div.document {
- width: 600px ;
- margin-left: 5em ;
- margin-right: 5em }
-
-div.figure {
- margin-left: 2em }
-
-div.footer, div.header {
- font-size: smaller }
-
-div.line-block {
- display: block ;
- margin-top: 1em ;
- margin-bottom: 1em }
-
-div.line-block div.line-block {
- margin-top: 0 ;
- margin-bottom: 0 ;
- margin-left: 1.5em }
-
-div.sidebar {
- margin-left: 1em ;
- border: medium outset ;
- padding: 1em ;
- background-color: #ffffee ;
- width: 40% ;
- float: right ;
- clear: right }
-
-div.sidebar p.rubric {
- font-family: sans-serif ;
- font-size: medium }
-
-div.system-messages {
- margin: 5em }
-
-div.system-messages h1 {
- color: red }
-
-div.system-message {
- border: medium outset ;
- padding: 1em }
-
-div.system-message p.system-message-title {
- color: red ;
- font-weight: bold }
-
-div.topic {
- margin: 2em }
-
-h1, h2, h3, h4, h5 {
- font-family: sans-serif ;
- line-height: 150% ;
- color: orange} /* #666 } */
-
-h1.title {
- text-align: center
- }
-h2.subtitle {
- text-align: center }
-
-hr.docutils {
- width: 75% }
-
-ol.simple, ul.simple {
- margin-bottom: 1em }
-
-ol.arabic {
- list-style: decimal }
-
-ol.loweralpha {
- list-style: lower-alpha }
-
-ol.upperalpha {
- list-style: upper-alpha }
-
-ol.lowerroman {
- list-style: lower-roman }
-
-ol.upperroman {
- list-style: upper-roman }
-
-p.attribution {
- text-align: right ;
- margin-left: 50% }
-
-p.caption {
- font-style: italic }
-
-p.credits {
- font-style: italic ;
- font-size: smaller }
-
-p.label {
- white-space: nowrap }
-
-p.rubric {
- font-weight: bold ;
- font-size: larger ;
- color: maroon ;
- text-align: center }
-
-p.sidebar-title {
- font-family: sans-serif ;
- font-weight: bold ;
- font-size: larger }
-
-p.sidebar-subtitle {
- font-family: sans-serif ;
- font-weight: bold }
-
-p.topic-title {
- font-weight: bold }
-
-pre.address {
- margin-bottom: 0 ;
- margin-top: 0 ;
- font-family: serif ;
- font-size: 100% }
-
-pre.line-block {
- font-family: serif ;
- font-size: 100% }
-
-pre.literal-block, pre.doctest-block {
- margin-left: 2em ;
- margin-right: 2em ;
- font-size: small ;
- background-color: #eeeeee }
-
-span.classifier {
- font-family: sans-serif ;
- font-style: oblique }
-
-span.classifier-delimiter {
- font-family: sans-serif ;
- font-weight: bold }
-
-span.interpreted {
- font-family: sans-serif }
-
-span.option {
- white-space: nowrap }
-
-span.option-argument {
- font-style: italic }
-
-span.pre {
- white-space: pre }
-
-span.problematic {
- color: red }
-
-table.citation {
- border-left: solid thin gray }
-
-table.docinfo {
- /* float: right ; */
- margin: 2em 4em ;
- color: #666 }
-
-table.docutils {
- margin-top: 0.5em ;
- margin-bottom: 0.5em }
-
-table.footnote {
- border-left: solid thin black }
-
-table.docutils td, table.docutils th,
-table.docinfo td, table.docinfo th {
- padding-left: 0.5em ;
- padding-right: 0.5em ;
- vertical-align: top }
-
-th.docinfo-name, th.field-name {
- font-weight: bold ;
- text-align: right ;
- white-space: nowrap }
-
-h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
-h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
- font-size: 100% }
-
-tt.docutils {
- background-color: #eeeeee }
-
-ul.auto-toc {
- list-style-type: none }
-
diff --git a/src/doc/build/pydoc/Makefile b/src/doc/build/pydoc/Makefile
deleted file mode 100644
index 612cb8f..0000000
--- a/src/doc/build/pydoc/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-.PHONY: clean
-.SUFFIXES:
-
-clean:
- rm -f *.html
diff --git a/src/doc/build/pydoc/api-objects.txt b/src/doc/build/pydoc/api-objects.txt
deleted file mode 100644
index c9ed6ab..0000000
--- a/src/doc/build/pydoc/api-objects.txt
+++ /dev/null
@@ -1,377 +0,0 @@
-tiramisu tiramisu-module.html
-tiramisu.__package__ tiramisu-module.html#__package__
-tiramisu.autolib tiramisu.autolib-module.html
-tiramisu.autolib.calculate tiramisu.autolib-module.html#calculate
-tiramisu.autolib.special_owners tiramisu.autolib-module.html#special_owners
-tiramisu.autolib.__package__ tiramisu.autolib-module.html#__package__
-tiramisu.autolib.calc_factory tiramisu.autolib-module.html#calc_factory
-tiramisu.autolib.special_owner_factory tiramisu.autolib-module.html#special_owner_factory
-tiramisu.basetype tiramisu.basetype-module.html
-tiramisu.basetype.modes tiramisu.basetype-module.html#modes
-tiramisu.basetype.__package__ tiramisu.basetype-module.html#__package__
-tiramisu.config tiramisu.config-module.html
-tiramisu.config.__package__ tiramisu.config-module.html#__package__
-tiramisu.config.special_owner_factory tiramisu.autolib-module.html#special_owner_factory
-tiramisu.config.make_dict tiramisu.config-module.html#make_dict
-tiramisu.config.apply_requires tiramisu.option-module.html#apply_requires
-tiramisu.error tiramisu.error-module.html
-tiramisu.error.__package__ tiramisu.error-module.html#__package__
-tiramisu.option tiramisu.option-module.html
-tiramisu.option.__package__ tiramisu.option-module.html#__package__
-tiramisu.option.reverse_actions tiramisu.option-module.html#reverse_actions
-tiramisu.option.group_types tiramisu.option-module.html#group_types
-tiramisu.option.apply_requires tiramisu.option-module.html#apply_requires
-tiramisu.option.available_actions tiramisu.option-module.html#available_actions
-tiramisu.tool tiramisu.tool-module.html
-tiramisu.tool.apply_requires tiramisu.option-module.html#apply_requires
-tiramisu.tool.__package__ tiramisu.tool-module.html#__package__
-tiramisu.tool.reverse_from_paths tiramisu.tool-module.html#reverse_from_paths
-tiramisu.basetype.DisabledBaseType tiramisu.basetype.DisabledBaseType-class.html
-tiramisu.basetype.DisabledBaseType.enable tiramisu.basetype.DisabledBaseType-class.html#enable
-tiramisu.basetype.DisabledBaseType.disable tiramisu.basetype.DisabledBaseType-class.html#disable
-tiramisu.basetype.DisabledBaseType.disabled tiramisu.basetype.DisabledBaseType-class.html#disabled
-tiramisu.basetype.DisabledBaseType._is_disabled tiramisu.basetype.DisabledBaseType-class.html#_is_disabled
-tiramisu.basetype.HiddenBaseType tiramisu.basetype.HiddenBaseType-class.html
-tiramisu.basetype.HiddenBaseType.hide tiramisu.basetype.HiddenBaseType-class.html#hide
-tiramisu.basetype.HiddenBaseType.show tiramisu.basetype.HiddenBaseType-class.html#show
-tiramisu.basetype.HiddenBaseType._is_hidden tiramisu.basetype.HiddenBaseType-class.html#_is_hidden
-tiramisu.basetype.HiddenBaseType.hidden tiramisu.basetype.HiddenBaseType-class.html#hidden
-tiramisu.basetype.ModeBaseType tiramisu.basetype.ModeBaseType-class.html
-tiramisu.basetype.ModeBaseType.set_mode tiramisu.basetype.ModeBaseType-class.html#set_mode
-tiramisu.basetype.ModeBaseType.mode tiramisu.basetype.ModeBaseType-class.html#mode
-tiramisu.basetype.ModeBaseType.get_mode tiramisu.basetype.ModeBaseType-class.html#get_mode
-tiramisu.config.Config tiramisu.config.Config-class.html
-tiramisu.config.Config.set tiramisu.config.Config-class.html#set
-tiramisu.config.Config.unwrap_from_name tiramisu.config.Config-class.html#unwrap_from_name
-tiramisu.config.Config.cfgimpl_unfreeze tiramisu.config.Config-class.html#cfgimpl_unfreeze
-tiramisu.config.Config._validate tiramisu.config.Config-class.html#_validate
-tiramisu.config.Config.__str__ tiramisu.config.Config-class.html#__str__
-tiramisu.config.Config.cfgimpl_set_owner tiramisu.config.Config-class.html#cfgimpl_set_owner
-tiramisu.config.Config.getkey tiramisu.config.Config-class.html#getkey
-tiramisu.config.Config._cfgimpl_mandatory tiramisu.config.Config-class.html#_cfgimpl_mandatory
-tiramisu.config.Config.unwrap_from_path tiramisu.config.Config-class.html#unwrap_from_path
-tiramisu.config.Config.__init__ tiramisu.config.Config-class.html#__init__
-tiramisu.config.Config._validate_duplicates tiramisu.config.Config-class.html#_validate_duplicates
-tiramisu.config.Config._cfgimpl_owner tiramisu.config.Config-class.html#_cfgimpl_owner
-tiramisu.config.Config.__getattr__ tiramisu.config.Config-class.html#__getattr__
-tiramisu.config.Config._cfgimpl_hidden tiramisu.config.Config-class.html#_cfgimpl_hidden
-tiramisu.config.Config.iter_groups tiramisu.config.Config-class.html#iter_groups
-tiramisu.config.Config.get_warnings tiramisu.config.Config-class.html#get_warnings
-tiramisu.config.Config.cfgimpl_update tiramisu.config.Config-class.html#cfgimpl_update
-tiramisu.config.Config.override tiramisu.config.Config-class.html#override
-tiramisu.config.Config.setoption tiramisu.config.Config-class.html#setoption
-tiramisu.config.Config.__ne__ tiramisu.config.Config-class.html#__ne__
-tiramisu.config.Config.cfgimpl_disable tiramisu.config.Config-class.html#cfgimpl_disable
-tiramisu.config.Config.__hash__ tiramisu.config.Config-class.html#__hash__
-tiramisu.config.Config.get tiramisu.config.Config-class.html#get
-tiramisu.config.Config._cfgimpl_get_toplevel tiramisu.config.Config-class.html#_cfgimpl_get_toplevel
-tiramisu.config.Config._cfgimpl_build tiramisu.config.Config-class.html#_cfgimpl_build
-tiramisu.config.Config.__setattr__ tiramisu.config.Config-class.html#__setattr__
-tiramisu.config.Config.is_frozen tiramisu.config.Config-class.html#is_frozen
-tiramisu.config.Config.__iter__ tiramisu.config.Config-class.html#__iter__
-tiramisu.config.Config._cfgimpl_toplevel tiramisu.config.Config-class.html#_cfgimpl_toplevel
-tiramisu.config.Config._cfgimpl_get_home_by_path tiramisu.config.Config-class.html#_cfgimpl_get_home_by_path
-tiramisu.config.Config._cfgimpl_mode tiramisu.config.Config-class.html#_cfgimpl_mode
-tiramisu.config.Config.cfgimpl_read_write tiramisu.config.Config-class.html#cfgimpl_read_write
-tiramisu.config.Config.__eq__ tiramisu.config.Config-class.html#__eq__
-tiramisu.config.Config.__dir__ tiramisu.config.Config-class.html#__dir__
-tiramisu.config.Config.getpaths tiramisu.config.Config-class.html#getpaths
-tiramisu.config.Config.cfgimpl_set_mode tiramisu.config.Config-class.html#cfgimpl_set_mode
-tiramisu.config.Config.cfgimpl_hide tiramisu.config.Config-class.html#cfgimpl_hide
-tiramisu.config.Config.cfgimpl_show tiramisu.config.Config-class.html#cfgimpl_show
-tiramisu.config.Config._cfgimpl_frozen tiramisu.config.Config-class.html#_cfgimpl_frozen
-tiramisu.config.Config._cfgimpl_disabled tiramisu.config.Config-class.html#_cfgimpl_disabled
-tiramisu.config.Config.__delattr__ tiramisu.config.Config-class.html#__delattr__
-tiramisu.config.Config.add_warning tiramisu.config.Config-class.html#add_warning
-tiramisu.config.Config.cfgimpl_enable tiramisu.config.Config-class.html#cfgimpl_enable
-tiramisu.config.Config.cfgimpl_freeze tiramisu.config.Config-class.html#cfgimpl_freeze
-tiramisu.config.Config.cfgimpl_read_only tiramisu.config.Config-class.html#cfgimpl_read_only
-tiramisu.error.AmbigousOptionError tiramisu.error.AmbigousOptionError-class.html
-tiramisu.error.ConfigError tiramisu.error.ConfigError-class.html
-tiramisu.error.ConflictConfigError tiramisu.error.ConflictConfigError-class.html
-tiramisu.error.DisabledOptionError tiramisu.error.DisabledOptionError-class.html
-tiramisu.error.HiddenOptionError tiramisu.error.HiddenOptionError-class.html
-tiramisu.error.MandatoryError tiramisu.error.MandatoryError-class.html
-tiramisu.error.MethodCallError tiramisu.error.MethodCallError-class.html
-tiramisu.error.ModeOptionError tiramisu.error.ModeOptionError-class.html
-tiramisu.error.NoMatchingOptionFound tiramisu.error.NoMatchingOptionFound-class.html
-tiramisu.error.NotFoundError tiramisu.error.NotFoundError-class.html
-tiramisu.error.RequiresError tiramisu.error.RequiresError-class.html
-tiramisu.error.SpecialOwnersError tiramisu.error.SpecialOwnersError-class.html
-tiramisu.option.ArbitraryOption tiramisu.option.ArbitraryOption-class.html
-tiramisu.basetype.HiddenBaseType.show tiramisu.basetype.HiddenBaseType-class.html#show
-tiramisu.option.ArbitraryOption._validate tiramisu.option.ArbitraryOption-class.html#_validate
-tiramisu.option.Option.getkey tiramisu.option.Option-class.html#getkey
-tiramisu.basetype.DisabledBaseType.disabled tiramisu.basetype.DisabledBaseType-class.html#disabled
-tiramisu.option.Option.setowner tiramisu.option.Option-class.html#setowner
-tiramisu.basetype.DisabledBaseType._is_disabled tiramisu.basetype.DisabledBaseType-class.html#_is_disabled
-tiramisu.option.ArbitraryOption.__init__ tiramisu.option.ArbitraryOption-class.html#__init__
-tiramisu.option.Option.is_mandatory tiramisu.option.Option-class.html#is_mandatory
-tiramisu.basetype.ModeBaseType.set_mode tiramisu.basetype.ModeBaseType-class.html#set_mode
-tiramisu.basetype.HiddenBaseType._is_hidden tiramisu.basetype.HiddenBaseType-class.html#_is_hidden
-tiramisu.basetype.HiddenBaseType.hidden tiramisu.basetype.HiddenBaseType-class.html#hidden
-tiramisu.basetype.DisabledBaseType.enable tiramisu.basetype.DisabledBaseType-class.html#enable
-tiramisu.option.Option.setoption tiramisu.option.Option-class.html#setoption
-tiramisu.basetype.DisabledBaseType.disable tiramisu.basetype.DisabledBaseType-class.html#disable
-tiramisu.option.Option.getcallback tiramisu.option.Option-class.html#getcallback
-tiramisu.basetype.HiddenBaseType.hide tiramisu.basetype.HiddenBaseType-class.html#hide
-tiramisu.option.Option.validate tiramisu.option.Option-class.html#validate
-tiramisu.option.Option.freeze tiramisu.option.Option-class.html#freeze
-tiramisu.basetype.ModeBaseType.get_mode tiramisu.basetype.ModeBaseType-class.html#get_mode
-tiramisu.option.Option._frozen tiramisu.option.Option-class.html#_frozen
-tiramisu.option.Option.getdoc tiramisu.option.Option-class.html#getdoc
-tiramisu.option.Option.is_multi tiramisu.option.Option-class.html#is_multi
-tiramisu.option.ArbitraryOption.getdefault tiramisu.option.ArbitraryOption-class.html#getdefault
-tiramisu.option.Option.unfreeze tiramisu.option.Option-class.html#unfreeze
-tiramisu.basetype.ModeBaseType.mode tiramisu.basetype.ModeBaseType-class.html#mode
-tiramisu.option.Option.getcallback_params tiramisu.option.Option-class.html#getcallback_params
-tiramisu.option.BoolOption tiramisu.option.BoolOption-class.html
-tiramisu.basetype.HiddenBaseType.show tiramisu.basetype.HiddenBaseType-class.html#show
-tiramisu.option.BoolOption._validate tiramisu.option.BoolOption-class.html#_validate
-tiramisu.option.BoolOption.opt_type tiramisu.option.BoolOption-class.html#opt_type
-tiramisu.option.Option.getkey tiramisu.option.Option-class.html#getkey
-tiramisu.basetype.DisabledBaseType.disabled tiramisu.basetype.DisabledBaseType-class.html#disabled
-tiramisu.option.Option.setowner tiramisu.option.Option-class.html#setowner
-tiramisu.basetype.DisabledBaseType._is_disabled tiramisu.basetype.DisabledBaseType-class.html#_is_disabled
-tiramisu.option.Option.__init__ tiramisu.option.Option-class.html#__init__
-tiramisu.option.Option.is_mandatory tiramisu.option.Option-class.html#is_mandatory
-tiramisu.basetype.ModeBaseType.set_mode tiramisu.basetype.ModeBaseType-class.html#set_mode
-tiramisu.basetype.HiddenBaseType._is_hidden tiramisu.basetype.HiddenBaseType-class.html#_is_hidden
-tiramisu.basetype.HiddenBaseType.hidden tiramisu.basetype.HiddenBaseType-class.html#hidden
-tiramisu.basetype.DisabledBaseType.enable tiramisu.basetype.DisabledBaseType-class.html#enable
-tiramisu.option.Option.setoption tiramisu.option.Option-class.html#setoption
-tiramisu.basetype.DisabledBaseType.disable tiramisu.basetype.DisabledBaseType-class.html#disable
-tiramisu.option.Option.getcallback tiramisu.option.Option-class.html#getcallback
-tiramisu.basetype.HiddenBaseType.hide tiramisu.basetype.HiddenBaseType-class.html#hide
-tiramisu.option.Option.validate tiramisu.option.Option-class.html#validate
-tiramisu.option.Option.freeze tiramisu.option.Option-class.html#freeze
-tiramisu.basetype.ModeBaseType.get_mode tiramisu.basetype.ModeBaseType-class.html#get_mode
-tiramisu.option.Option._frozen tiramisu.option.Option-class.html#_frozen
-tiramisu.option.Option.getdoc tiramisu.option.Option-class.html#getdoc
-tiramisu.option.Option.is_multi tiramisu.option.Option-class.html#is_multi
-tiramisu.option.Option.getdefault tiramisu.option.Option-class.html#getdefault
-tiramisu.option.Option.unfreeze tiramisu.option.Option-class.html#unfreeze
-tiramisu.basetype.ModeBaseType.mode tiramisu.basetype.ModeBaseType-class.html#mode
-tiramisu.option.Option.getcallback_params tiramisu.option.Option-class.html#getcallback_params
-tiramisu.option.ChoiceOption tiramisu.option.ChoiceOption-class.html
-tiramisu.basetype.HiddenBaseType.show tiramisu.basetype.HiddenBaseType-class.html#show
-tiramisu.option.ChoiceOption._validate tiramisu.option.ChoiceOption-class.html#_validate
-tiramisu.option.ChoiceOption.opt_type tiramisu.option.ChoiceOption-class.html#opt_type
-tiramisu.option.Option.getkey tiramisu.option.Option-class.html#getkey
-tiramisu.basetype.DisabledBaseType.disabled tiramisu.basetype.DisabledBaseType-class.html#disabled
-tiramisu.option.Option.setowner tiramisu.option.Option-class.html#setowner
-tiramisu.basetype.DisabledBaseType._is_disabled tiramisu.basetype.DisabledBaseType-class.html#_is_disabled
-tiramisu.option.ChoiceOption.__init__ tiramisu.option.ChoiceOption-class.html#__init__
-tiramisu.option.Option.is_mandatory tiramisu.option.Option-class.html#is_mandatory
-tiramisu.basetype.ModeBaseType.set_mode tiramisu.basetype.ModeBaseType-class.html#set_mode
-tiramisu.basetype.HiddenBaseType._is_hidden tiramisu.basetype.HiddenBaseType-class.html#_is_hidden
-tiramisu.basetype.HiddenBaseType.hidden tiramisu.basetype.HiddenBaseType-class.html#hidden
-tiramisu.basetype.DisabledBaseType.enable tiramisu.basetype.DisabledBaseType-class.html#enable
-tiramisu.option.ChoiceOption.setoption tiramisu.option.ChoiceOption-class.html#setoption
-tiramisu.basetype.DisabledBaseType.disable tiramisu.basetype.DisabledBaseType-class.html#disable
-tiramisu.option.Option.getcallback tiramisu.option.Option-class.html#getcallback
-tiramisu.basetype.HiddenBaseType.hide tiramisu.basetype.HiddenBaseType-class.html#hide
-tiramisu.option.Option.validate tiramisu.option.Option-class.html#validate
-tiramisu.option.Option.freeze tiramisu.option.Option-class.html#freeze
-tiramisu.basetype.ModeBaseType.get_mode tiramisu.basetype.ModeBaseType-class.html#get_mode
-tiramisu.option.Option._frozen tiramisu.option.Option-class.html#_frozen
-tiramisu.option.Option.getdoc tiramisu.option.Option-class.html#getdoc
-tiramisu.option.Option.is_multi tiramisu.option.Option-class.html#is_multi
-tiramisu.option.Option.getdefault tiramisu.option.Option-class.html#getdefault
-tiramisu.option.Option.unfreeze tiramisu.option.Option-class.html#unfreeze
-tiramisu.basetype.ModeBaseType.mode tiramisu.basetype.ModeBaseType-class.html#mode
-tiramisu.option.Option.getcallback_params tiramisu.option.Option-class.html#getcallback_params
-tiramisu.option.FloatOption tiramisu.option.FloatOption-class.html
-tiramisu.basetype.HiddenBaseType.show tiramisu.basetype.HiddenBaseType-class.html#show
-tiramisu.option.FloatOption._validate tiramisu.option.FloatOption-class.html#_validate
-tiramisu.option.FloatOption.opt_type tiramisu.option.FloatOption-class.html#opt_type
-tiramisu.option.Option.getkey tiramisu.option.Option-class.html#getkey
-tiramisu.basetype.DisabledBaseType.disabled tiramisu.basetype.DisabledBaseType-class.html#disabled
-tiramisu.option.Option.setowner tiramisu.option.Option-class.html#setowner
-tiramisu.basetype.DisabledBaseType._is_disabled tiramisu.basetype.DisabledBaseType-class.html#_is_disabled
-tiramisu.option.Option.__init__ tiramisu.option.Option-class.html#__init__
-tiramisu.option.Option.is_mandatory tiramisu.option.Option-class.html#is_mandatory
-tiramisu.basetype.ModeBaseType.set_mode tiramisu.basetype.ModeBaseType-class.html#set_mode
-tiramisu.basetype.HiddenBaseType._is_hidden tiramisu.basetype.HiddenBaseType-class.html#_is_hidden
-tiramisu.basetype.HiddenBaseType.hidden tiramisu.basetype.HiddenBaseType-class.html#hidden
-tiramisu.basetype.DisabledBaseType.enable tiramisu.basetype.DisabledBaseType-class.html#enable
-tiramisu.option.FloatOption.setoption tiramisu.option.FloatOption-class.html#setoption
-tiramisu.basetype.DisabledBaseType.disable tiramisu.basetype.DisabledBaseType-class.html#disable
-tiramisu.option.Option.getcallback tiramisu.option.Option-class.html#getcallback
-tiramisu.basetype.HiddenBaseType.hide tiramisu.basetype.HiddenBaseType-class.html#hide
-tiramisu.option.Option.validate tiramisu.option.Option-class.html#validate
-tiramisu.option.Option.freeze tiramisu.option.Option-class.html#freeze
-tiramisu.basetype.ModeBaseType.get_mode tiramisu.basetype.ModeBaseType-class.html#get_mode
-tiramisu.option.Option._frozen tiramisu.option.Option-class.html#_frozen
-tiramisu.option.Option.getdoc tiramisu.option.Option-class.html#getdoc
-tiramisu.option.Option.is_multi tiramisu.option.Option-class.html#is_multi
-tiramisu.option.Option.getdefault tiramisu.option.Option-class.html#getdefault
-tiramisu.option.Option.unfreeze tiramisu.option.Option-class.html#unfreeze
-tiramisu.basetype.ModeBaseType.mode tiramisu.basetype.ModeBaseType-class.html#mode
-tiramisu.option.Option.getcallback_params tiramisu.option.Option-class.html#getcallback_params
-tiramisu.option.IPOption tiramisu.option.IPOption-class.html
-tiramisu.basetype.HiddenBaseType.show tiramisu.basetype.HiddenBaseType-class.html#show
-tiramisu.option.IPOption._validate tiramisu.option.IPOption-class.html#_validate
-tiramisu.option.IPOption.opt_type tiramisu.option.IPOption-class.html#opt_type
-tiramisu.option.Option.getkey tiramisu.option.Option-class.html#getkey
-tiramisu.basetype.DisabledBaseType.disabled tiramisu.basetype.DisabledBaseType-class.html#disabled
-tiramisu.option.Option.setowner tiramisu.option.Option-class.html#setowner
-tiramisu.basetype.DisabledBaseType._is_disabled tiramisu.basetype.DisabledBaseType-class.html#_is_disabled
-tiramisu.option.Option.__init__ tiramisu.option.Option-class.html#__init__
-tiramisu.option.Option.is_mandatory tiramisu.option.Option-class.html#is_mandatory
-tiramisu.basetype.ModeBaseType.set_mode tiramisu.basetype.ModeBaseType-class.html#set_mode
-tiramisu.basetype.HiddenBaseType._is_hidden tiramisu.basetype.HiddenBaseType-class.html#_is_hidden
-tiramisu.basetype.HiddenBaseType.hidden tiramisu.basetype.HiddenBaseType-class.html#hidden
-tiramisu.basetype.DisabledBaseType.enable tiramisu.basetype.DisabledBaseType-class.html#enable
-tiramisu.option.IPOption.setoption tiramisu.option.IPOption-class.html#setoption
-tiramisu.basetype.DisabledBaseType.disable tiramisu.basetype.DisabledBaseType-class.html#disable
-tiramisu.option.Option.getcallback tiramisu.option.Option-class.html#getcallback
-tiramisu.basetype.HiddenBaseType.hide tiramisu.basetype.HiddenBaseType-class.html#hide
-tiramisu.option.Option.validate tiramisu.option.Option-class.html#validate
-tiramisu.option.Option.freeze tiramisu.option.Option-class.html#freeze
-tiramisu.basetype.ModeBaseType.get_mode tiramisu.basetype.ModeBaseType-class.html#get_mode
-tiramisu.option.Option._frozen tiramisu.option.Option-class.html#_frozen
-tiramisu.option.Option.getdoc tiramisu.option.Option-class.html#getdoc
-tiramisu.option.Option.is_multi tiramisu.option.Option-class.html#is_multi
-tiramisu.option.Option.getdefault tiramisu.option.Option-class.html#getdefault
-tiramisu.option.Option.unfreeze tiramisu.option.Option-class.html#unfreeze
-tiramisu.basetype.ModeBaseType.mode tiramisu.basetype.ModeBaseType-class.html#mode
-tiramisu.option.Option.getcallback_params tiramisu.option.Option-class.html#getcallback_params
-tiramisu.option.IntOption tiramisu.option.IntOption-class.html
-tiramisu.basetype.HiddenBaseType.show tiramisu.basetype.HiddenBaseType-class.html#show
-tiramisu.option.IntOption._validate tiramisu.option.IntOption-class.html#_validate
-tiramisu.option.IntOption.opt_type tiramisu.option.IntOption-class.html#opt_type
-tiramisu.option.Option.getkey tiramisu.option.Option-class.html#getkey
-tiramisu.basetype.DisabledBaseType.disabled tiramisu.basetype.DisabledBaseType-class.html#disabled
-tiramisu.option.Option.setowner tiramisu.option.Option-class.html#setowner
-tiramisu.basetype.DisabledBaseType._is_disabled tiramisu.basetype.DisabledBaseType-class.html#_is_disabled
-tiramisu.option.Option.__init__ tiramisu.option.Option-class.html#__init__
-tiramisu.option.Option.is_mandatory tiramisu.option.Option-class.html#is_mandatory
-tiramisu.basetype.ModeBaseType.set_mode tiramisu.basetype.ModeBaseType-class.html#set_mode
-tiramisu.basetype.HiddenBaseType._is_hidden tiramisu.basetype.HiddenBaseType-class.html#_is_hidden
-tiramisu.basetype.HiddenBaseType.hidden tiramisu.basetype.HiddenBaseType-class.html#hidden
-tiramisu.basetype.DisabledBaseType.enable tiramisu.basetype.DisabledBaseType-class.html#enable
-tiramisu.option.IntOption.setoption tiramisu.option.IntOption-class.html#setoption
-tiramisu.basetype.DisabledBaseType.disable tiramisu.basetype.DisabledBaseType-class.html#disable
-tiramisu.option.Option.getcallback tiramisu.option.Option-class.html#getcallback
-tiramisu.basetype.HiddenBaseType.hide tiramisu.basetype.HiddenBaseType-class.html#hide
-tiramisu.option.Option.validate tiramisu.option.Option-class.html#validate
-tiramisu.option.Option.freeze tiramisu.option.Option-class.html#freeze
-tiramisu.basetype.ModeBaseType.get_mode tiramisu.basetype.ModeBaseType-class.html#get_mode
-tiramisu.option.Option._frozen tiramisu.option.Option-class.html#_frozen
-tiramisu.option.Option.getdoc tiramisu.option.Option-class.html#getdoc
-tiramisu.option.Option.is_multi tiramisu.option.Option-class.html#is_multi
-tiramisu.option.Option.getdefault tiramisu.option.Option-class.html#getdefault
-tiramisu.option.Option.unfreeze tiramisu.option.Option-class.html#unfreeze
-tiramisu.basetype.ModeBaseType.mode tiramisu.basetype.ModeBaseType-class.html#mode
-tiramisu.option.Option.getcallback_params tiramisu.option.Option-class.html#getcallback_params
-tiramisu.option.NetmaskOption tiramisu.option.NetmaskOption-class.html
-tiramisu.basetype.HiddenBaseType.show tiramisu.basetype.HiddenBaseType-class.html#show
-tiramisu.option.NetmaskOption._validate tiramisu.option.NetmaskOption-class.html#_validate
-tiramisu.option.NetmaskOption.opt_type tiramisu.option.NetmaskOption-class.html#opt_type
-tiramisu.option.Option.getkey tiramisu.option.Option-class.html#getkey
-tiramisu.basetype.DisabledBaseType.disabled tiramisu.basetype.DisabledBaseType-class.html#disabled
-tiramisu.option.Option.setowner tiramisu.option.Option-class.html#setowner
-tiramisu.basetype.DisabledBaseType._is_disabled tiramisu.basetype.DisabledBaseType-class.html#_is_disabled
-tiramisu.option.Option.__init__ tiramisu.option.Option-class.html#__init__
-tiramisu.option.Option.is_mandatory tiramisu.option.Option-class.html#is_mandatory
-tiramisu.basetype.ModeBaseType.set_mode tiramisu.basetype.ModeBaseType-class.html#set_mode
-tiramisu.basetype.HiddenBaseType._is_hidden tiramisu.basetype.HiddenBaseType-class.html#_is_hidden
-tiramisu.basetype.HiddenBaseType.hidden tiramisu.basetype.HiddenBaseType-class.html#hidden
-tiramisu.basetype.DisabledBaseType.enable tiramisu.basetype.DisabledBaseType-class.html#enable
-tiramisu.option.NetmaskOption.setoption tiramisu.option.NetmaskOption-class.html#setoption
-tiramisu.basetype.DisabledBaseType.disable tiramisu.basetype.DisabledBaseType-class.html#disable
-tiramisu.option.Option.getcallback tiramisu.option.Option-class.html#getcallback
-tiramisu.basetype.HiddenBaseType.hide tiramisu.basetype.HiddenBaseType-class.html#hide
-tiramisu.option.Option.validate tiramisu.option.Option-class.html#validate
-tiramisu.option.Option.freeze tiramisu.option.Option-class.html#freeze
-tiramisu.basetype.ModeBaseType.get_mode tiramisu.basetype.ModeBaseType-class.html#get_mode
-tiramisu.option.Option._frozen tiramisu.option.Option-class.html#_frozen
-tiramisu.option.Option.getdoc tiramisu.option.Option-class.html#getdoc
-tiramisu.option.Option.is_multi tiramisu.option.Option-class.html#is_multi
-tiramisu.option.Option.getdefault tiramisu.option.Option-class.html#getdefault
-tiramisu.option.Option.unfreeze tiramisu.option.Option-class.html#unfreeze
-tiramisu.basetype.ModeBaseType.mode tiramisu.basetype.ModeBaseType-class.html#mode
-tiramisu.option.Option.getcallback_params tiramisu.option.Option-class.html#getcallback_params
-tiramisu.option.Option tiramisu.option.Option-class.html
-tiramisu.basetype.HiddenBaseType.show tiramisu.basetype.HiddenBaseType-class.html#show
-tiramisu.option.Option.getkey tiramisu.option.Option-class.html#getkey
-tiramisu.basetype.DisabledBaseType.disabled tiramisu.basetype.DisabledBaseType-class.html#disabled
-tiramisu.option.Option.setowner tiramisu.option.Option-class.html#setowner
-tiramisu.basetype.DisabledBaseType._is_disabled tiramisu.basetype.DisabledBaseType-class.html#_is_disabled
-tiramisu.option.Option.__init__ tiramisu.option.Option-class.html#__init__
-tiramisu.option.Option.is_mandatory tiramisu.option.Option-class.html#is_mandatory
-tiramisu.basetype.ModeBaseType.set_mode tiramisu.basetype.ModeBaseType-class.html#set_mode
-tiramisu.basetype.HiddenBaseType._is_hidden tiramisu.basetype.HiddenBaseType-class.html#_is_hidden
-tiramisu.basetype.HiddenBaseType.hidden tiramisu.basetype.HiddenBaseType-class.html#hidden
-tiramisu.basetype.DisabledBaseType.enable tiramisu.basetype.DisabledBaseType-class.html#enable
-tiramisu.option.Option.setoption tiramisu.option.Option-class.html#setoption
-tiramisu.basetype.DisabledBaseType.disable tiramisu.basetype.DisabledBaseType-class.html#disable
-tiramisu.option.Option.getcallback tiramisu.option.Option-class.html#getcallback
-tiramisu.basetype.HiddenBaseType.hide tiramisu.basetype.HiddenBaseType-class.html#hide
-tiramisu.option.Option.validate tiramisu.option.Option-class.html#validate
-tiramisu.option.Option.freeze tiramisu.option.Option-class.html#freeze
-tiramisu.basetype.ModeBaseType.get_mode tiramisu.basetype.ModeBaseType-class.html#get_mode
-tiramisu.option.Option._frozen tiramisu.option.Option-class.html#_frozen
-tiramisu.option.Option.getdoc tiramisu.option.Option-class.html#getdoc
-tiramisu.option.Option.is_multi tiramisu.option.Option-class.html#is_multi
-tiramisu.option.Option.getdefault tiramisu.option.Option-class.html#getdefault
-tiramisu.option.Option.unfreeze tiramisu.option.Option-class.html#unfreeze
-tiramisu.basetype.ModeBaseType.mode tiramisu.basetype.ModeBaseType-class.html#mode
-tiramisu.option.Option.getcallback_params tiramisu.option.Option-class.html#getcallback_params
-tiramisu.option.OptionDescription tiramisu.option.OptionDescription-class.html
-tiramisu.option.OptionDescription.show tiramisu.option.OptionDescription-class.html#show
-tiramisu.option.OptionDescription.add_child tiramisu.option.OptionDescription-class.html#add_child
-tiramisu.basetype.DisabledBaseType.disabled tiramisu.basetype.DisabledBaseType-class.html#disabled
-tiramisu.basetype.DisabledBaseType._is_disabled tiramisu.basetype.DisabledBaseType-class.html#_is_disabled
-tiramisu.option.OptionDescription.__init__ tiramisu.option.OptionDescription-class.html#__init__
-tiramisu.option.OptionDescription.hide tiramisu.option.OptionDescription-class.html#hide
-tiramisu.basetype.ModeBaseType.set_mode tiramisu.basetype.ModeBaseType-class.html#set_mode
-tiramisu.option.OptionDescription.get_group_type tiramisu.option.OptionDescription-class.html#get_group_type
-tiramisu.option.OptionDescription.update_child tiramisu.option.OptionDescription-class.html#update_child
-tiramisu.option.OptionDescription.set_group_type tiramisu.option.OptionDescription-class.html#set_group_type
-tiramisu.basetype.HiddenBaseType._is_hidden tiramisu.basetype.HiddenBaseType-class.html#_is_hidden
-tiramisu.basetype.HiddenBaseType.hidden tiramisu.basetype.HiddenBaseType-class.html#hidden
-tiramisu.option.OptionDescription.group_type tiramisu.option.OptionDescription-class.html#group_type
-tiramisu.option.OptionDescription.getpaths tiramisu.option.OptionDescription-class.html#getpaths
-tiramisu.option.OptionDescription.enable tiramisu.option.OptionDescription-class.html#enable
-tiramisu.option.OptionDescription.disable tiramisu.option.OptionDescription-class.html#disable
-tiramisu.option.OptionDescription.getkey tiramisu.option.OptionDescription-class.html#getkey
-tiramisu.basetype.ModeBaseType.get_mode tiramisu.basetype.ModeBaseType-class.html#get_mode
-tiramisu.option.OptionDescription._build tiramisu.option.OptionDescription-class.html#_build
-tiramisu.option.OptionDescription.getdoc tiramisu.option.OptionDescription-class.html#getdoc
-tiramisu.basetype.ModeBaseType.mode tiramisu.basetype.ModeBaseType-class.html#mode
-tiramisu.option.StrOption tiramisu.option.StrOption-class.html
-tiramisu.basetype.HiddenBaseType.show tiramisu.basetype.HiddenBaseType-class.html#show
-tiramisu.option.StrOption._validate tiramisu.option.StrOption-class.html#_validate
-tiramisu.option.StrOption.opt_type tiramisu.option.StrOption-class.html#opt_type
-tiramisu.option.Option.getkey tiramisu.option.Option-class.html#getkey
-tiramisu.basetype.DisabledBaseType.disabled tiramisu.basetype.DisabledBaseType-class.html#disabled
-tiramisu.option.Option.setowner tiramisu.option.Option-class.html#setowner
-tiramisu.basetype.DisabledBaseType._is_disabled tiramisu.basetype.DisabledBaseType-class.html#_is_disabled
-tiramisu.option.Option.__init__ tiramisu.option.Option-class.html#__init__
-tiramisu.option.Option.is_mandatory tiramisu.option.Option-class.html#is_mandatory
-tiramisu.basetype.ModeBaseType.set_mode tiramisu.basetype.ModeBaseType-class.html#set_mode
-tiramisu.basetype.HiddenBaseType._is_hidden tiramisu.basetype.HiddenBaseType-class.html#_is_hidden
-tiramisu.basetype.HiddenBaseType.hidden tiramisu.basetype.HiddenBaseType-class.html#hidden
-tiramisu.basetype.DisabledBaseType.enable tiramisu.basetype.DisabledBaseType-class.html#enable
-tiramisu.option.StrOption.setoption tiramisu.option.StrOption-class.html#setoption
-tiramisu.basetype.DisabledBaseType.disable tiramisu.basetype.DisabledBaseType-class.html#disable
-tiramisu.option.Option.getcallback tiramisu.option.Option-class.html#getcallback
-tiramisu.basetype.HiddenBaseType.hide tiramisu.basetype.HiddenBaseType-class.html#hide
-tiramisu.option.Option.validate tiramisu.option.Option-class.html#validate
-tiramisu.option.Option.freeze tiramisu.option.Option-class.html#freeze
-tiramisu.basetype.ModeBaseType.get_mode tiramisu.basetype.ModeBaseType-class.html#get_mode
-tiramisu.option.Option._frozen tiramisu.option.Option-class.html#_frozen
-tiramisu.option.Option.getdoc tiramisu.option.Option-class.html#getdoc
-tiramisu.option.Option.is_multi tiramisu.option.Option-class.html#is_multi
-tiramisu.option.Option.getdefault tiramisu.option.Option-class.html#getdefault
-tiramisu.option.Option.unfreeze tiramisu.option.Option-class.html#unfreeze
-tiramisu.basetype.ModeBaseType.mode tiramisu.basetype.ModeBaseType-class.html#mode
-tiramisu.option.Option.getcallback_params tiramisu.option.Option-class.html#getcallback_params
-tiramisu.option.SymLinkOption tiramisu.option.SymLinkOption-class.html
-tiramisu.option.SymLinkOption.setoption tiramisu.option.SymLinkOption-class.html#setoption
-tiramisu.option.SymLinkOption.opt_type tiramisu.option.SymLinkOption-class.html#opt_type
-tiramisu.option.SymLinkOption.__init__ tiramisu.option.SymLinkOption-class.html#__init__
-tiramisu.tool.extend tiramisu.tool.extend-class.html
-tiramisu.tool.extend.extend tiramisu.tool.extend-class.html#extend
diff --git a/src/doc/build/pydoc/crarr.png b/src/doc/build/pydoc/crarr.png
deleted file mode 100644
index 26b43c5..0000000
Binary files a/src/doc/build/pydoc/crarr.png and /dev/null differ
diff --git a/src/doc/build/pydoc/epydoc.css b/src/doc/build/pydoc/epydoc.css
deleted file mode 100644
index 1c00695..0000000
--- a/src/doc/build/pydoc/epydoc.css
+++ /dev/null
@@ -1,322 +0,0 @@
-
-
-/* Epydoc CSS Stylesheet
- *
- * This stylesheet can be used to customize the appearance of epydoc's
- * HTML output.
- *
- */
-
-/* Default Colors & Styles
- * - Set the default foreground & background color with 'body'; and
- * link colors with 'a:link' and 'a:visited'.
- * - Use bold for decision list terms.
- * - The heading styles defined here are used for headings *within*
- * docstring descriptions. All headings used by epydoc itself use
- * either class='epydoc' or class='toc' (CSS styles for both
- * defined below).
- */
-body { background: #ffffff; color: #000000; }
-p { margin-top: 0.5em; margin-bottom: 0.5em; }
-a:link { color: #000000; }
-a:visited { color: #404040; }
-dt { font-weight: bold; }
-h1 { font-size: +140%; font-style: italic;
- font-weight: bold; }
-h2 { font-size: +125%; font-style: italic;
- font-weight: bold; }
-h3 { font-size: +110%; font-style: italic;
- font-weight: normal; }
-code { font-size: 100%; }
-/* N.B.: class, not pseudoclass */
-a.link { font-family: monospace; }
-
-/* Page Header & Footer
- * - The standard page header consists of a navigation bar (with
- * pointers to standard pages such as 'home' and 'trees'); a
- * breadcrumbs list, which can be used to navigate to containing
- * classes or modules; options links, to show/hide private
- * variables and to show/hide frames; and a page title (using
- *
). The page title may be followed by a link to the
- * corresponding source code (using 'span.codelink').
- * - The footer consists of a navigation bar, a timestamp, and a
- * pointer to epydoc's homepage.
- */
-h1.epydoc { margin: 0; font-size: +140%; font-weight: bold; }
-h2.epydoc { font-size: +130%; font-weight: bold; }
-h3.epydoc { font-size: +115%; font-weight: bold;
- margin-top: 0.2em; }
-td h3.epydoc { font-size: +115%; font-weight: bold;
- margin-bottom: 0; }
-table.navbar { background: #c0c0c0; color: #000000;
- border: 2px groove #d0d0d0; }
-table.navbar table { color: #000000; }
-th.navbar-select { background: #b0b0b0;
- color: #000000; }
-table.navbar a { text-decoration: none; }
-table.navbar a:link { color: #000000; }
-table.navbar a:visited { color: #404040; }
-span.breadcrumbs { font-size: 85%; font-weight: bold; }
-span.options { font-size: 70%; }
-span.codelink { font-size: 85%; }
-td.footer { font-size: 85%; }
-
-/* Table Headers
- * - Each summary table and details section begins with a 'header'
- * row. This row contains a section title (marked by
- * 'span.table-header') as well as a show/hide private link
- * (marked by 'span.options', defined above).
- * - Summary tables that contain user-defined groups mark those
- * groups using 'group header' rows.
- */
-td.table-header { background: #b0b0b0; color: #000000;
- border: 1px solid #808080; }
-td.table-header table { color: #000000; }
-td.table-header table a:link { color: #000000; }
-td.table-header table a:visited { color: #404040; }
-span.table-header { font-size: 120%; font-weight: bold; }
-th.group-header { background: #e0e0e0; color: #000000;
- text-align: left; font-style: italic;
- font-size: 115%;
- border: 1px solid #808080; }
-
-/* Summary Tables (functions, variables, etc)
- * - Each object is described by a single row of the table with
- * two cells. The left cell gives the object's type, and is
- * marked with 'code.summary-type'. The right cell gives the
- * object's name and a summary description.
- * - CSS styles for the table's header and group headers are
- * defined above, under 'Table Headers'
- */
-table.summary { border-collapse: collapse;
- background: #f0f0f0; color: #000000;
- border: 1px solid #808080;
- margin-bottom: 0.5em; }
-td.summary { border: 1px solid #808080; }
-code.summary-type { font-size: 85%; }
-table.summary a:link { color: #000000; }
-table.summary a:visited { color: #404040; }
-
-
-/* Details Tables (functions, variables, etc)
- * - Each object is described in its own div.
- * - A single-row summary table w/ table-header is used as
- * a header for each details section (CSS style for table-header
- * is defined above, under 'Table Headers').
- */
-table.details { border-collapse: collapse;
- background: #f0f0f0; color: #000000;
- border: 1px solid #808080;
- margin: .2em 0 0 0; }
-table.details table { color: #000000; }
-table.details a:link { color: #000000; }
-table.details a:visited { color: #404040; }
-
-/* Fields */
-dl.fields { margin-left: 2em; margin-top: 1em;
- margin-bottom: 1em; }
-dl.fields dd ul { margin-left: 0em; padding-left: 0em; }
-dl.fields dd ul li ul { margin-left: 2em; padding-left: 0em; }
-div.fields { margin-left: 2em; }
-div.fields p { margin-bottom: 0.5em; }
-
-/* Index tables (identifier index, term index, etc)
- * - link-index is used for indices containing lists of links
- * (namely, the identifier index & term index).
- * - index-where is used in link indices for the text indicating
- * the container/source for each link.
- * - metadata-index is used for indices containing metadata
- * extracted from fields (namely, the bug index & todo index).
- */
-table.link-index { border-collapse: collapse;
- background: #f0f0f0; color: #000000;
- border: 1px solid #808080; }
-td.link-index { border-width: 0px; }
-table.link-index a:link { color: #000000; }
-table.link-index a:visited { color: #404040; }
-span.index-where { font-size: 70%; }
-table.metadata-index { border-collapse: collapse;
- background: #f0f0f0; color: #000000;
- border: 1px solid #808080;
- margin: .2em 0 0 0; }
-td.metadata-index { border-width: 1px; border-style: solid; }
-table.metadata-index a:link { color: #000000; }
-table.metadata-index a:visited { color: #404040; }
-
-/* Function signatures
- * - sig* is used for the signature in the details section.
- * - .summary-sig* is used for the signature in the summary
- * table, and when listing property accessor functions.
- * */
-.sig-name { color: #606060; }
-.sig-arg { color: #808080; }
-.sig-default { color: #202020; }
-.summary-sig { font-family: monospace; }
-.summary-sig-name { color: #606060; font-weight: bold; }
-table.summary a.summary-sig-name:link
- { color: #606060; font-weight: bold; }
-table.summary a.summary-sig-name:visited
- { color: #606060; font-weight: bold; }
-.summary-sig-arg { color: #606060; }
-.summary-sig-default { color: #181818; }
-
-/* Subclass list
- */
-ul.subclass-list { display: inline; }
-ul.subclass-list li { display: inline; }
-
-/* To render variables, classes etc. like functions */
-table.summary .summary-name { color: #606060; font-weight: bold;
- font-family: monospace; }
-table.summary
- a.summary-name:link { color: #606060; font-weight: bold;
- font-family: monospace; }
-table.summary
- a.summary-name:visited { color: #606060; font-weight: bold;
- font-family: monospace; }
-
-/* Variable values
- * - In the 'variable details' sections, each varaible's value is
- * listed in a 'pre.variable' box. The width of this box is
- * restricted to 80 chars; if the value's repr is longer than
- * this it will be wrapped, using a backslash marked with
- * class 'variable-linewrap'. If the value's repr is longer
- * than 3 lines, the rest will be ellided; and an ellipsis
- * marker ('...' marked with 'variable-ellipsis') will be used.
- * - If the value is a string, its quote marks will be marked
- * with 'variable-quote'.
- * - If the variable is a regexp, it is syntax-highlighted using
- * the re* CSS classes.
- */
-pre.variable { padding: .5em; margin: 0;
- background: #e4e4e4; color: #000000;
- border: 1px solid #888888; }
-.variable-linewrap { color: #404040; font-weight: bold; }
-.variable-ellipsis { color: #404040; font-weight: bold; }
-.variable-quote { color: #404040; font-weight: bold; }
-.variable-group { color: #808080; font-weight: bold; }
-.variable-op { color: #404040; font-weight: bold; }
-.variable-string { color: #606060; }
-.variable-unknown { color: #000000; font-weight: bold; }
-.re { color: #000000; }
-.re-char { color: #606060; }
-.re-op { color: #000000; }
-.re-group { color: #303030; }
-.re-ref { color: #404040; }
-
-/* Base tree
- * - Used by class pages to display the base class hierarchy.
- */
-pre.base-tree { font-size: 80%; margin: 0; }
-
-/* Frames-based table of contents headers
- * - Consists of two frames: one for selecting modules; and
- * the other listing the contents of the selected module.
- * - h1.toc is used for each frame's heading
- * - h2.toc is used for subheadings within each frame.
- */
-h1.toc { text-align: center; font-size: 105%;
- margin: 0; font-weight: bold;
- padding: 0; }
-h2.toc { font-size: 100%; font-weight: bold;
- margin: 0.5em 0 0 -0.3em; }
-
-/* Syntax Highlighting for Source Code
- * - doctest examples are displayed in a 'pre.py-doctest' block.
- * If the example is in a details table entry, then it will use
- * the colors specified by the 'table pre.py-doctest' line.
- * - Source code listings are displayed in a 'pre.py-src' block.
- * Each line is marked with 'span.py-line' (used to draw a line
- * down the left margin, separating the code from the line
- * numbers). Line numbers are displayed with 'span.py-lineno'.
- * The expand/collapse block toggle button is displayed with
- * 'a.py-toggle' (Note: the CSS style for 'a.py-toggle' should not
- * modify the font size of the text.)
- * - If a source code page is opened with an anchor, then the
- * corresponding code block will be highlighted. The code
- * block's header is highlighted with 'py-highlight-hdr'; and
- * the code block's body is highlighted with 'py-highlight'.
- * - The remaining py-* classes are used to perform syntax
- * highlighting (py-string for string literals, py-name for names,
- * etc.)
- */
-pre.py-doctest { padding: .5em; margin: 1em;
- background: #f0f0f0; color: #000000;
- border: 1px solid #888888; }
-table pre.py-doctest { background: #e4e4e4;
- color: #000000; }
-pre.py-src { border: 2px solid #000000;
- background: #f0f0f0; color: #000000; }
-.py-line { border-left: 2px solid #000000;
- margin-left: .2em; padding-left: .4em; }
-.py-lineno { font-style: italic; font-size: 90%;
- padding-left: .5em; }
-a.py-toggle { text-decoration: none; }
-div.py-highlight-hdr { border-top: 2px solid #000000;
- border-bottom: 2px solid #000000;
- background: #e8e8e8; }
-div.py-highlight { border-bottom: 2px solid #000000;
- background: #e0e0e0; }
-.py-prompt { color: #505050; font-weight: bold;}
-.py-more { color: #505050; font-weight: bold;}
-.py-string { color: #606060; }
-.py-comment { color: #303030; }
-.py-keyword { color: #000000; }
-.py-output { color: #404040; }
-.py-name { color: #000000; }
-.py-name:link { color: #000000 !important; }
-.py-name:visited { color: #000000 !important; }
-.py-number { color: #505050; }
-.py-defname { color: #000000; font-weight: bold; }
-.py-def-name { color: #000000; font-weight: bold; }
-.py-base-class { color: #000000; }
-.py-param { color: #000000; }
-.py-docstring { color: #606060; }
-.py-decorator { color: #404040; }
-/* Use this if you don't want links to names underlined: */
-/*a.py-name { text-decoration: none; }*/
-
-/* Graphs & Diagrams
- * - These CSS styles are used for graphs & diagrams generated using
- * Graphviz dot. 'img.graph-without-title' is used for bare
- * diagrams (to remove the border created by making the image
- * clickable).
- */
-img.graph-without-title { border: none; }
-img.graph-with-title { border: 1px solid #000000; }
-span.graph-title { font-weight: bold; }
-span.graph-caption { }
-
-/* General-purpose classes
- * - 'p.indent-wrapped-lines' defines a paragraph whose first line
- * is not indented, but whose subsequent lines are.
- * - The 'nomargin-top' class is used to remove the top margin (e.g.
- * from lists). The 'nomargin' class is used to remove both the
- * top and bottom margin (but not the left or right margin --
- * for lists, that would cause the bullets to disappear.)
- */
-p.indent-wrapped-lines { padding: 0 0 0 7em; text-indent: -7em;
- margin: 0; }
-.nomargin-top { margin-top: 0; }
-.nomargin { margin-top: 0; margin-bottom: 0; }
-
-/* HTML Log */
-div.log-block { padding: 0; margin: .5em 0 .5em 0;
- background: #f0f0f0; color: #000000;
- border: 1px solid #000000; }
-div.log-error { padding: .1em .3em .1em .3em; margin: 4px;
- background: #b0b0b0; color: #000000;
- border: 1px solid #000000; }
-div.log-warning { padding: .1em .3em .1em .3em; margin: 4px;
- background: #ffffff; color: #000000;
- border: 1px solid #000000; }
-div.log-info { padding: .1em .3em .1em .3em; margin: 4px;
- background: #ffffff; color: #000000;
- border: 1px solid #000000; }
-h2.log-hdr { background: #b0b0b0; color: #000000;
- margin: 0; padding: 0em 0.5em 0em 0.5em;
- border-bottom: 1px solid #000000; font-size: 110%; }
-p.log { font-weight: bold; margin: .5em 0 .5em 0; }
-tr.opt-changed { color: #000000; font-weight: bold; }
-tr.opt-default { color: #606060; }
-pre.log { margin: 0; padding: 0; padding-left: 1em; }
diff --git a/src/doc/build/pydoc/epydoc.js b/src/doc/build/pydoc/epydoc.js
deleted file mode 100644
index e787dbc..0000000
--- a/src/doc/build/pydoc/epydoc.js
+++ /dev/null
@@ -1,293 +0,0 @@
-function toggle_private() {
- // Search for any private/public links on this page. Store
- // their old text in "cmd," so we will know what action to
- // take; and change their text to the opposite action.
- var cmd = "?";
- var elts = document.getElementsByTagName("a");
- for(var i=0; i";
- s += " ";
- for (var i=0; i...
";
- elt.innerHTML = s;
- }
-}
-
-function toggle(id) {
- elt = document.getElementById(id+"-toggle");
- if (elt.innerHTML == "-")
- collapse(id);
- else
- expand(id);
- return false;
-}
-
-function highlight(id) {
- var elt = document.getElementById(id+"-def");
- if (elt) elt.className = "py-highlight-hdr";
- var elt = document.getElementById(id+"-expanded");
- if (elt) elt.className = "py-highlight";
- var elt = document.getElementById(id+"-collapsed");
- if (elt) elt.className = "py-highlight";
-}
-
-function num_lines(s) {
- var n = 1;
- var pos = s.indexOf("\n");
- while ( pos > 0) {
- n += 1;
- pos = s.indexOf("\n", pos+1);
- }
- return n;
-}
-
-// Collapse all blocks that mave more than `min_lines` lines.
-function collapse_all(min_lines) {
- var elts = document.getElementsByTagName("div");
- for (var i=0; i 0)
- if (elt.id.substring(split, elt.id.length) == "-expanded")
- if (num_lines(elt.innerHTML) > min_lines)
- collapse(elt.id.substring(0, split));
- }
-}
-
-function expandto(href) {
- var start = href.indexOf("#")+1;
- if (start != 0 && start != href.length) {
- if (href.substring(start, href.length) != "-") {
- collapse_all(4);
- pos = href.indexOf(".", start);
- while (pos != -1) {
- var id = href.substring(start, pos);
- expand(id);
- pos = href.indexOf(".", pos+1);
- }
- var id = href.substring(start, href.length);
- expand(id);
- highlight(id);
- }
- }
-}
-
-function kill_doclink(id) {
- var parent = document.getElementById(id);
- parent.removeChild(parent.childNodes.item(0));
-}
-function auto_kill_doclink(ev) {
- if (!ev) var ev = window.event;
- if (!this.contains(ev.toElement)) {
- var parent = document.getElementById(this.parentID);
- parent.removeChild(parent.childNodes.item(0));
- }
-}
-
-function doclink(id, name, targets_id) {
- var elt = document.getElementById(id);
-
- // If we already opened the box, then destroy it.
- // (This case should never occur, but leave it in just in case.)
- if (elt.childNodes.length > 1) {
- elt.removeChild(elt.childNodes.item(0));
- }
- else {
- // The outer box: relative + inline positioning.
- var box1 = document.createElement("div");
- box1.style.position = "relative";
- box1.style.display = "inline";
- box1.style.top = 0;
- box1.style.left = 0;
-
- // A shadow for fun
- var shadow = document.createElement("div");
- shadow.style.position = "absolute";
- shadow.style.left = "-1.3em";
- shadow.style.top = "-1.3em";
- shadow.style.background = "#404040";
-
- // The inner box: absolute positioning.
- var box2 = document.createElement("div");
- box2.style.position = "relative";
- box2.style.border = "1px solid #a0a0a0";
- box2.style.left = "-.2em";
- box2.style.top = "-.2em";
- box2.style.background = "white";
- box2.style.padding = ".3em .4em .3em .4em";
- box2.style.fontStyle = "normal";
- box2.onmouseout=auto_kill_doclink;
- box2.parentID = id;
-
- // Get the targets
- var targets_elt = document.getElementById(targets_id);
- var targets = targets_elt.getAttribute("targets");
- var links = "";
- target_list = targets.split(",");
- for (var i=0; i" +
- target[0] + "";
- }
-
- // Put it all together.
- elt.insertBefore(box1, elt.childNodes.item(0));
- //box1.appendChild(box2);
- box1.appendChild(shadow);
- shadow.appendChild(box2);
- box2.innerHTML =
- "Which "+name+" do you want to see documentation for?" +
- "";
- }
- return false;
-}
-
-function get_anchor() {
- var href = location.href;
- var start = href.indexOf("#")+1;
- if ((start != 0) && (start != href.length))
- return href.substring(start, href.length);
- }
-function redirect_url(dottedName) {
- // Scan through each element of the "pages" list, and check
- // if "name" matches with any of them.
- for (var i=0; i-m" or "-c";
- // extract the portion & compare it to dottedName.
- var pagename = pages[i].substring(0, pages[i].length-2);
- if (pagename == dottedName.substring(0,pagename.length)) {
-
- // We've found a page that matches `dottedName`;
- // construct its URL, using leftover `dottedName`
- // content to form an anchor.
- var pagetype = pages[i].charAt(pages[i].length-1);
- var url = pagename + ((pagetype=="m")?"-module.html":
- "-class.html");
- if (dottedName.length > pagename.length)
- url += "#" + dottedName.substring(pagename.length+1,
- dottedName.length);
- return url;
- }
- }
- }
diff --git a/src/doc/build/style.css b/src/doc/build/style.css
deleted file mode 100644
index 28c256e..0000000
--- a/src/doc/build/style.css
+++ /dev/null
@@ -1,32 +0,0 @@
-@import url(docutils.css);
-@import url(default.css);
-a:link {
- color: orange;
- font-weight: bold;
- text-decoration: none;
-}
-a:visited {
- text-decoration: none;
- color: #999999;
-}
-a:hover {
- text-decoration: none;
- color: #999999;
-}
-a:active {
- text-decoration: none;
- color: #999999;
-}
-
-.header {
- color: orange;
- background-color: white;
- padding: 1em;
-}
-.footer {
- color: #666;
- background-color: inherit;
- font-size: 75%;
-}
-
-
diff --git a/src/doc/build/tiramisu.jpeg b/src/doc/build/tiramisu.jpeg
deleted file mode 100644
index 84b391d..0000000
Binary files a/src/doc/build/tiramisu.jpeg and /dev/null differ
diff --git a/src/doc/code2html b/src/doc/code2html
deleted file mode 100755
index 5fbd402..0000000
--- a/src/doc/code2html
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/env python
-import types
-from os.path import join
-from inspect import getsource, getmembers, isclass, isfunction, ismethod, ismodule
-from importlib import import_module
-
-root="./build/api"
-
-# autopath
-
-from os.path import dirname, abspath, join, normpath
-import sys
-
-HERE = dirname(abspath(__file__))
-PATH = normpath(join(HERE, '..', '..'))
-if PATH not in sys.path:
- sys.path.insert(1, PATH)
-
-htmltmpl = """
-
-
-
-{title}
-
-
-
-
-
-
-
-{content}
-
-
-
-"""
-
-def write_source(name, content):
- fh = file(join(root, name)+'.html', 'w')
- fh.write(format_html(name, content))
- fh.close()
-
-def format_html(title, content):
- return htmltmpl.format(title=title, content=content)
-
-def parse_module(module):
- module = import_module(module)
- write_source(module.__name__, getsource(module))
-# classes = [(cls, value) for cls, value in getattr(module, '__dict__').items() if value == types.ClassType]
- classes = getmembers(module, isclass)
- for name, obj in classes:
- write_source(module.__name__ + '.' + name, getsource(obj))
-# methods = [(meth, value) for meth, value in getattr(obj, '__dict__').items() if type(value) == types.MethodType]
- methods = getmembers(obj, ismethod)
- for meth, value in methods:
- write_source(module.__name__ + '.' + name + '.' + meth, getsource(value))
-
- #functions = [(func, value) for func, value in getattr(module, '__dict__').items() if type(value) == types.FunctionType]
- functions = getmembers(module, isfunction)
- for name, obj in functions:
- write_source(module.__name__ + '.' + name, getsource(obj))
-
-def process_modules():
- from glob import glob
- from os.path import abspath, dirname, normpath, splitext, basename
- here = abspath(__file__)
- directory = dirname(here)
- pyfiles = glob(normpath(join(directory, '..', '*.py')))
- for pyf in pyfiles:
- pyf = splitext(basename(pyf))[0]
- modname = 'tiramisu.' + pyf
- if not '__init__' in modname:
- parse_module(modname)
-
- pyfiles = glob(normpath(join(directory, '..', 'test', '*.py')))
- for pyf in pyfiles:
- pyf = splitext(basename(pyf))[0]
- modname = 'tiramisu.test.' + pyf
- if not '__init__' in modname:
- parse_module(modname)
-
-process_modules()
-
diff --git a/src/doc/config.txt b/src/doc/config.txt
deleted file mode 100644
index 9b967d7..0000000
--- a/src/doc/config.txt
+++ /dev/null
@@ -1,158 +0,0 @@
-.. default-role:: literal
-
-=======================
-Configuration Handling
-=======================
-
-:module: :api:`config.py`
-:tests: - :api:`test_config.py`
- - :api:`test_option_setting.py`
-
-Main Assumption
-===============
-
-Configuration option objects :api:`config.Config()` are produced at the
-entry points and handed down to where they are actually used. This keeps
-configuration local but available everywhere and consistent.
-
-`Config` and `Option` objects
-==============================
-
-Configuration option objects can be created in different ways. Let's perform
-very basic `Config` object manipulations:
-
-::
-
- >>> from tiramisu.config import Config
- >>> from tiramisu.option import OptionDescription, BoolOption
- >>> descr = OptionDescription("optgroup", "", [
- ... BoolOption("bool", "", default=False)])
- >>>
- >>> config = Config(descr)
- >>> config.bool
- False
- >>> config.bool = True
- >>> config.bool
- True
-
-Take a look at :api:`test_config.test_base_config()` or
-:api:`test_config.test_base_config_and_groups()`.
-
-
-Accessing the configuration `Option`'s
------------------------------------------
-
-The `Config` object attribute access notation stands for the value of the
-configuration's `Option`. That is, the `Config`'s object attribute is the name
-of the `Option`, and the value is the value accessed by the `__getattr__`
-attribute access mechanism.
-
-If the attribute of the `Config` called by `__getattr__` has not been set before
-(by the classic `__setattr__` mechanism), the default value of the `Option`
-object is returned, and if no `Option` has been declared in the
-`OptionDescription` (that is the schema of the configuration), an
-`AttributeError` is raised.
-
-::
-
- >>> gcdummy = BoolOption('dummy', 'dummy', default=False)
- >>> gcdummy._name
- 'dummy'
- >>> gcdummy.getdefault()
- False
- >>> descr = OptionDescription('tiramisu', '', [gcdummy])
- >>> cfg = Config(descr)
- >>> cfg.dummy
- False
- >>> cfg.dummy = True
- >>> cfg.dummy
- True
- >>> cfg.idontexist
- AttributeError: 'OptionDescription' object has no attribute 'idontexist'
-
-The configuration `Option` objects (in this case the `BoolOption`), are
-organized into a tree into nested `OptionDescription` objects. Every
-option has a name, as does every option group. The parts of the full
-name of the option are separated by dots: e.g.
-``config.optgroup.optname``.
-
-**Can you repeat it, what is the protocol of accessing a config's attribute ?**
-
-1. If the option has not been declared, an `AttributeError` is raised,
-
-2. If an option is declared, but neither a value nor a default value has
- been set, the returned value is `None`,
-
-3. If an option is declared and a default value has been set, but no value
- has been set, the returned value is the default value of the option,
-
-4. If an option is declared, and a value has been set, the returned value is
- the value of the option.
-
-If you do not want to use the pythonic way, that is the attribute access
-way to obtain the value of the configuration option, you can also search
-for it recursively in the whole config namespaces with the ``get()``
-method :
-
-::
-
- >>> config.get('bool')
- True
-
-
-To find the right option, `get()` searches recursively into the whole
-tree. For example, to find an option which is in the `gc` namespace
-there are two possibilites.
-
-If you know the path:
-
-::
-
- >>> config.gc.dummy
- False
-
-If you don't remember the path:
-
-::
-
- >>> config.get('dummy')
- False
-
-Setting the values of the options
-----------------------------------------
-
-An important part of the setting of the configuration consists of setting the
-values of the configuration options. There are different ways of setting values,
-the first one is of course the `__setattr__` method
-
-::
-
- cfg.name = value
-
-wich has the same effect that the "global" `set()` method : it expects that
-the value owner is the default :ref:`glossary#valueowner`
-
-::
-
- cfg.set(name=value)
-
-The global `setoption()` method of the config objects can set a value with a specific owner
-
-::
-
- cfg.setoption('name', value, 'owner')
-
-
-Finally, the local `setoption()` method directly in the `Option` object can be
-used. While the `Option` object refers to his parent, the config knows that the
-value has been changed and no bad side effect won't occur
-
-::
-
- >>> booloption = BoolOption('bool', 'Test boolean option', default=True)
- >>> descr = OptionDescription('descr', '', [booloption])
- >>> cfg = Config(descr)
- >>> booloption.setoption(cfg, False, 'owner')
- >>> cfg.bool
- >>> False
-
diff --git a/src/doc/configapi.txt b/src/doc/configapi.txt
deleted file mode 100644
index d6fe570..0000000
--- a/src/doc/configapi.txt
+++ /dev/null
@@ -1,103 +0,0 @@
-.. default-role:: literal
-
-Config API Details
-==================
-
-:module: :api:`config.py`
-:test cases: - :api:`test_config_api.py`
- - :api:`test_config_big_example.py`
-
-
-The handling of options is split into two parts: the description of
-which options are available, what their possible values and defaults are
-and how they are organized into a tree. A specific choice of options is
-bundled into a configuration object which has a reference to its option
-description (and therefore makes sure that the configuration values
-adhere to the option description).
-
-The configuration object
--------------------------
-
-:api:`config.Config()` object that lives in :api:`config.py` hold the
-choosen values for the options (or the default value for the
-:api:`option.Option()` object, if no choice was made).
-
-A `Config` object is informed by an :api:`option.OptionDescription`
-instance. The attributes of the ``Config`` objects are the names of the
-children of the ``OptionDescription``.
-
-Here are the (useful) methods on ``Config``:
-
- :api:`config.Config.__init__(self, descr, **overrides)`:
- ``descr`` is an instance of :api:`option.OptionDescription` that
- describes the configuration object. ``override`` can be used to
- set different default values (see method ``override``).
-
- :api:`config.Config.override(self, overrides)`:
- override default values. This marks the overridden values as defaults.
- ``overrides`` is a dictionary of path strings to values.
-
- :api:`config.Config.set(self, **kwargs)`:
- "do what I mean"-interface to option setting. Searches all paths
- starting from that config for matches of the optional arguments
- and sets the found option if the match is not ambiguous.
-
- :api:`config.Config.get(self, name)`:
- the behavior is much like the attribute access way, except that
- the search for the option is performed recursively in the whole
- configuration tree.
-
- :api:`config.Config.cfgimpl_read_write()`:
- configuration level `read_write` status, see :doc:`status`
-
- :api:`config.Config.cfgimpl_read_only()`:
- configuration level `read_only` status, see :doc:`status`
-
-Here are some private attributes of a `Config()` object, for a
-comprehension of the internal merchanism:
-
-- `_cfgimpl_descr =` :api:`option.OptionDescription()`,
- e.g. the :ref:`optionapi#schema`
-
-- `_cfgimpl_values` contains the :api:`option.Option()`'s values.
- Yes, the values of the options: remember that the values are stored **inside**
- the :api:`config.Config()` and not in the `Option()`
-
-`_cfgimpl_values` contains something like that
-
-::
-
- {'int': 0, 'wantframework': False, 'objspace': 'std', 'bool': False,
- 'str': 'abc', 'gc': , 'wantref': False}
-
-We can see that values can also be config objects, it's the
-sub-namespaces that are stored in the values as `Config()` objects.
-
-convenience utilities (iteration, exports...)
------------------------------------------------
-
-With this :api:`config.Config()` configuration management entry point,
-it is possible to
-
-- `iter` on config, notice that there is an iteration order wich is
- the order of the :ref:`optionapi#schema` specification entries,
-- compare two configs (equality),
-- export the whole config into a `dict` with :api:`config.make_dict()`,
-- `validate()` an option value into a config, see :doc:`consistency`.
-
-:api:`option.Option()` objects in a config are iterable in the pythonic
-way, that is something like `[(name, value) for name, value in config]`.
-
-To iter on groups in the same manner, use the
-:api:`config.Config.iter_groups()` method wich yields generators too.
-
-**iteration utilities**
-
- :api:`config.Config.__iter__()`
- Pythonesque way of parsing group's ordered options.
-
- :api:`config.Config.iter_groups(group_type=None)`:
- To iter on groups objects only.
- All groups are returned if `group_type` is `None`, otherwise the groups
- can be filtered by categories (families, or whatever).
-
diff --git a/src/doc/consistency.txt b/src/doc/consistency.txt
deleted file mode 100644
index 4b00606..0000000
--- a/src/doc/consistency.txt
+++ /dev/null
@@ -1,104 +0,0 @@
-.. default-role:: literal
-
-The global configuration's consistency
-========================================
-
-:module: :api:`config.py`
-:tests: :api:`test_option_consistency.py`
-
-Option's values type validation
---------------------------------
-
-When a value is set to the option, the value is validated by the
-option's :api:`option.Option()` validator's type.
-
-Notice that if the option is `multi`, that is the `multi` attribute is set to
-`True`, then the validation of the option value accepts a list of values
-of the same type.
-
-Requirements
-------------
-
-Configuration options can specify requirements as parameters at the init
-time, the specification of some links between options or groups allows
-to carry out a dependencies calculation. For example, an option can ben
-hidden if another option has been set with some expected value. This is
-just an example, because the possibilities are hudge.
-
-A requirement is specified using a list of triplets. The first element
-of the triplet gives the path of the option that is required, the second
-element is the value wich is expected to trigger the callback, and the
-third one is the callback's action name (`hide`, `show`...)::
-
- stroption = StrOption('str', 'Test string option', default="abc",
- requires=[('int', 1, 'hide')])
-
-Take a look at an example here
-:api:`test_option_consistency.test_hidden_if_in()`
-
-Config updates
----------------
-
-New configuration options and groups can be dynamically added.
-
-The configuration has to be *updated* after that the description has been
-passed to the Config objet, see:
-
-::
-
- >>> config = Config(descr)
- >>> newoption = BoolOption('newoption', 'dummy twoo', default=False)
- >>> descr.add_child(newoption)
- >>> config.update()
- >>> config.newoption
- False
-
-in
-
-- :api:`test_option_consistency.test_newoption_add_in_descr()`
-- :api:`test_option_consistency.test_newoption_add_in_subdescr()`
-- :api:`test_option_consistency.test_newoption_add_in_config()`
-
-
-Validation upon a whole configuration object
-----------------------------------------------
-
-An option's integrity can be validated towards a whole configuration.
-
-This type of validation is very open. Let's take a use case : an option
-has a certain value, and the value of this option can change the owner
-of another option or option group... Everything is possible.
-
-For example, the configuration paths have to be unique in the
-:ref:`glossary#schema`, the validation is carried out at the
-:api:`config.Config._cfgimpl_build()` time in the
-:api:`config.Config._validate_duplicates()` method.
-
-Other hook are availables to validate upon a whole configuration at any
-time.
-
-.. FIXME : get the validates hooks from the original config pypy's code
-
-Identical option names
-----------------------
-
-If an :api:`option.Option()` happens to be defined twice in the
-:ref:`glossary#schema` (e.g. the :api:`option.OptionDescription()`),
-:that is the two options actually have the same name, an exception is raised.
-
-The calculation is currently carried out in the samespace, for example
-if `config.gc.name` is defined, another option in `gc` with the name
-`name` is **not** allowed, whereas `config.whateverelse.name` is still
-allowed.
-
-.. the calculation was carried out by the requires, wich is not a goog idead
-
- Type constraints with the `multi` type
- ----------------------------------------
-
- By convention, if a multi option has somme requires, the constraints on
- the multi type is in all the OptionGroup (a group has to be `multi`, and
- a multi of the same length).
-
- See :api:`test_option_consistency.test_multi_constraints()`
-
diff --git a/src/doc/eole-report/eolreport/D01AccesVariables.txt b/src/doc/eole-report/eolreport/D01AccesVariables.txt
deleted file mode 100644
index af6f19f..0000000
--- a/src/doc/eole-report/eolreport/D01AccesVariables.txt
+++ /dev/null
@@ -1,82 +0,0 @@
-.. default-role:: literal
-
-.. include:: inc/preambule.txt
-
-Accès aux variables
-====================
-
-Protocole d'accès aux valeurs
--------------------------------
-
-**Créole**
-
-- Si la variable n'a pas été déclarée, une erreur est levée
-- Si la variable a été déclarée, mais qu'aucune valeur n'a été définie, (ni valeur affectée, ni valeur par défaut) la valeur retournée est `[]` ou `""` ou `[""]` ou `["",""]`,
-- Si la variable a été déclarée et qu'une valeur par défaut a été définie, la valeur retournée et la valeur par défaut,
-- Si la variable a été déclarée et qu'une valeur a été définie, la valeur retournée est la valeur de la variable.
-
-**tiramisu**
-
-- Si la variable n'a pas été déclarée, une erreur est levée
-- Si la variable a été déclarée, mais qu'aucune valeur n'a été définie, (ni valeur affectée, ni valeur par défaut) la valeur retournée est `None`,
-- Si la variable a été déclarée et qu'une valeur par défaut a été définie, la valeur retournée et la valeur par défaut,
-- Si la variable a été déclarée et qu'une valeur a été définie, la valeur retournée est la valeur de la variable.
-
-la différence tient au fait de la valeur nulle (`None`) qui a été mal définie
-dès le début dans `Créole`.
-
-Accès Créole par "dictionnaire"
---------------------------------
-
-La définition est dans le `XML`
-
-::
-
-
-
-
-
-Le dictionnaire est chargé dans un `EoleDict()`
-
-::
-
- from creole.cfgparser import EoleDict
- eoldict = EoleDict(...)
-
-Un export dans un dictionnaire est necessaire pour manipuler les données
-
-::
-
- from creole.parsedico import parse_dico
-
- flatdict = parse_dico(eoldict)
-
- assert dico['ip'] == '10.10.1.11'
-
-
-le resultat de l'accès aux données vient de `typeole.EoleVar('ip').get_value()`
-
-
-Accès `tiramisu` par espace de nommage
-----------------------------------------
-
-
-- espaces de nommages ;
-- c'est la configuration qui est responsable de l'accès aux valeurs ;
-- une configuration par accès direct (pas d'export) ;
-- un point d'entrée unique aisément manipulable grâce aux espaces de nommage.
-
-::
-
- from tiramisu.config import Config
- from tiramisu.option import OptionDescription
- subdescr = OptionDescription("creole", [IPOption('ip')])
- descr = OptionDescription("creole", [subdescr])
- config = Config(descr)
- assert config.creole.general.ip == '10.10.1.11'
-
-Les valeurs sont dépendantes **de la configuration** et donc la responsabilité
-des valeurs dépend de la configuration et pas de la variable elle-même.
-
-
-
diff --git a/src/doc/eole-report/eolreport/D02CoherenceVariables.txt b/src/doc/eole-report/eolreport/D02CoherenceVariables.txt
deleted file mode 100644
index fa37aaf..0000000
--- a/src/doc/eole-report/eolreport/D02CoherenceVariables.txt
+++ /dev/null
@@ -1,109 +0,0 @@
-.. default-role:: literal
-
-.. include:: inc/preambule.txt
-
-Cohérence des valeurs des variables
-====================================
-
-type des variables
--------------------
-
-**Créole**
-
-pas d'unicité du type abstrait : `Multivar`, `CreoleVar` et `TypedVar`
-
-- `String`
-- `Ip`
-- `Netmask`
-- `Number`
-- `Boolean`
-- `OuiNon`
-
-**tiramisu**
-
-unicité du type abstrait : `Option()`
-
-pas de nouveau type multivalué, mais un attribut des types existants::
-
- >>> from option import BoolOption
- >>> boolopt = BoolOption('bool', 'description de bool', multi=True)
-
-tous les types Créole, plus
-
-- `SymlinkOption`
-- `CheckOption` qui permet de définir les "oui/non", "On/Off"
-
-Validations suivant l'organisation en familles
------------------------------------------------
-
-**Créole**
-
-**Organisation par accumulation de références sur des dictionnaires (`EoleDict`)**
-
-On peut charger un EoleDict avec des variables qui pointent vers des families
-qui n'existent pas, aucune validation n'est faite (confiance absolument faite au
-moment du chargemzent du XML)
-
-exemple, dans l'espace de nommage racine::
-
-
-
-
-
-::
-
- from creole.parsedico import parse_dico
- flatdict = parse_dico(eoldict)
- dico['adresse_ip_eth0']
- KeyError: 'adresse_ip_eth0'
-
-**Tiramisu**
-
-**Organisation par arborescence.**
-
-Un espace de nommage doit systématiquement être défini, la variable n'est
-accessible **que** par un path.
-
-
-Variables présentes deux fois
--------------------------------
-
-- Créole : pas de validation possible
-- tiramisu : comportement règlable (on autorise l'unicité ou pas)
-
-- dans Créole les valeurs sont **fausses** (c'est la dernière variable qui qui gagne)
-
-Il faut faire confiance au XML
-
-::
-
-
-
- toto
-
-
-
-
- tutu
-
-
-dans `gen_config` la valeur retenue est::
-
- general/adresse_ip_eth0 -> tutu
- services/adresse_ip_eth0 -> tutu
-
-dans `parsedico`, la variable est écrasée::
-
- >>> from creole.parsedico import parse_dico
- >>> d = parse_dico()
- >>> d['adresse_ip_eth0']
- tutu
-
-dans tiramisu::
-
- >>> config.general.adresse_ip_eth0
- toto
- >>> config.services.adresse_ip_eth0
- tutu
-
-
diff --git a/src/doc/eole-report/eolreport/D03ReglesEtats.txt b/src/doc/eole-report/eolreport/D03ReglesEtats.txt
deleted file mode 100644
index 70705f5..0000000
--- a/src/doc/eole-report/eolreport/D03ReglesEtats.txt
+++ /dev/null
@@ -1,113 +0,0 @@
-.. default-role:: literal
-
-.. include:: inc/preambule.txt
-
-Etats et statuts des options de configuration
-================================================
-
-état des variables et lisibilité de l'API
--------------------------------------------
-
-**Creole**
-
-`EoleVar()`
-
-- `get_value()`
-- `get_final_value()`
-- `get_final_value_at_index()`
-- `check_value()`
-- `get_prec_value()`
-- `get_calculated_value()` -> automatique
-
-**tiramisu**
-
-`Option()`
-
-- **aucune API** d'accès à la valeur d'une option au niveau de l'option de configuration
-- `option.getdefault()`
-- `option.setoption(config, value, owner)`
-
-variables "automatiques"
-------------------------------
-
-si `owner` == 'auto', la variable est automatique et la configuration le sait,
-elle lance alors les fonctions de calcul à chaque évaluation
-
-dans Créole, c'est validé aux niveau de la variable par un appel à `eval_func()`
-
-Accès suivant les états de la configuration
---------------------------------------------
-
-- disabled
-- hidden
-- mode (normal/expert)
-- obligatoire (mandatory)
-- ...
-
-- `EoleVar.hidden`
-- `EoleVar.disabled`
-
-pas d'objet `Family` dans Créole donc l'organisation des hiérarchie de
-hidden est opaque
-
-- `EoleDict.families['hidden']` pour avoir accès à l'état d'une famille
-
-dans Tiramisu
-
-- `hidden` au niveau `Option`, `OptionDescription` et **aussi** au niveau de
- la configuration ce qui permet d'avoir des états (inexistant dans `Créole`)
-
-.. maitres/esclaves avec Créole : `mavar.get_slaves()`
-
-
-`hidden_if_in`, `hidden_if_not_in`
--------------------------------------
-
-La notion est généralisée dans tiramisu avec les `requires`.
-
-Dans Créole : très difficile de conserver une cohérence des `hidden_if_in`
-quand il y en a plusieurs.
-
-Dans Tiramisu : validation et levée d'exception si les **requirements** sont
-incohérents, action inverse si aucun requires n'est matché.
-
-exemple de requires
-
-::
-
-
-
-
-
- non
-
-
- oui
-
-
- non
- activer_clam
-
-
-
- non
- activer_clam
-
-
-:résultat: `activer_clam` est visible, c'est la dernière condition qui a raison
-
-avec tiramisu, `activer_clam` **dans les même conditions**, est cachée.
-
-::
-
- >>> activer_clam = StrOption('activer_clam', 'activer clamav',
- requires=[('activer_clam_exim', 'non', 'hide'),
- ('activer_clam_samba', 'non', 'hide'),])
- >>> config.clamav.activer_clam_exim = 'non'
- >>> config.clamav.activer_clam_samba = 'oui'
- >>> config.clamav.activer_clam
- >>> Traceback (most recent call last):
- File "", line 1, in
- HiddenOptionError("trying to access to a hidden option:activer_clam")
- >>>
-
diff --git a/src/doc/eole-report/eolreport/Makefile b/src/doc/eole-report/eolreport/Makefile
deleted file mode 100644
index fbf5816..0000000
--- a/src/doc/eole-report/eolreport/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-
-%.odt: %.txt
- rst2odt --create-links --custom-odt-footer="Page %p% de %P%" --endnotes-end-doc --no-generator --stylesheet=styles.odt $< $@
-
-%.html: %.txt
- rst2html --stylesheet ./build/style.css $< > ./build/$@
-
diff --git a/src/doc/eole-report/eolreport/build/Makefile b/src/doc/eole-report/eolreport/build/Makefile
deleted file mode 100644
index cc5f93b..0000000
--- a/src/doc/eole-report/eolreport/build/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-.PHONY: clean
-.SUFFIXES:
-
-clean:
- rm -f *.html
- rm -f api/*.html
diff --git a/src/doc/eole-report/eolreport/build/default.css b/src/doc/eole-report/eolreport/build/default.css
deleted file mode 100644
index 8625c0e..0000000
--- a/src/doc/eole-report/eolreport/build/default.css
+++ /dev/null
@@ -1,1080 +0,0 @@
-body,body.editor,body.body {
- font: 110% "Times New Roman", Arial, Verdana, Helvetica, serif;
- background: White;
- color: Black;
-}
-
-a, a.reference {
- text-decoration: none;
-}
-a[href]:hover { text-decoration: underline; }
-
-img {
- border: none;
- vertical-align: middle;
-}
-
-p, div.text {
- text-align: left;
- line-height: 1.5em;
- margin: 0.5em 0em 0em 0em;
-}
-
-
-
-p a:active {
- color: Red;
- background-color: transparent;
-}
-
-p img {
- border: 0;
- margin: 0;
-}
-
-img.inlinephoto {
- padding: 0;
- padding-right: 1em;
- padding-top: 0.7em;
- float: left;
-}
-
-hr {
- clear: both;
- height: 1px;
- color: #8CACBB;
- background-color: transparent;
-}
-
-
-ul {
- line-height: 1.5em;
- /*list-style-image: url("bullet.gif"); */
- margin-left: 1.5em;
- padding:0;
-}
-
-ol {
- line-height: 1.5em;
- margin-left: 1.5em;
- padding:0;
-}
-
-ul a, ol a {
- text-decoration: underline;
-}
-
-dl {
-}
-
-dt {
- font-weight: bold;
-}
-
-dd {
- line-height: 1.5em;
- margin-bottom: 1em;
-}
-
-blockquote {
- font-family: Times, "Times New Roman", serif;
- font-style: italic;
- font-size: 120%;
-}
-
-code {
- color: Black;
- /*background-color: #dee7ec;*/
- background-color: #cccccc;
-}
-
-pre {
- padding: 1em;
- border: 1px solid #8cacbb;
- color: Black;
- background-color: #dee7ec;
- background-color: #cccccc;
- overflow: auto;
-}
-
-
-.netscape4 {
- display: none;
-}
-
-/* main page styles */
-
-/*a[href]:hover { color: black; text-decoration: underline; }
-a[href]:link { color: black; text-decoration: underline; }
-a[href] { color: black; text-decoration: underline; }
-*/
-
-span.menu_selected {
- color: black;
- font: 140% Verdana, Helvetica, Arial, sans-serif;
- text-decoration: none;
- padding-right: 0.3em;
- background-color: #cccccc;
-}
-
-
-a.menu {
- /*color: #3ba6ec; */
- font: 140% Verdana, Helvetica, Arial, sans-serif;
- text-decoration: none;
- padding-right: 0.3em;
-}
-
-a.menu[href]:visited, a.menu[href]:link{
- /*color: #3ba6ec; */
- font: 140% Verdana, Helvetica, Arial, sans-serif;
- text-decoration: none;
-}
-
-a.menu[href]:hover {
- /*color: black;*/
-}
-
-div.project_title{
- /*border-spacing: 20px;*/
- font: 160% Verdana, Helvetica, Arial, sans-serif;
- color: #3ba6ec;
- vertical-align: middle;
- padding-bottom: 0.3em;
-}
-
-a.wikicurrent {
- font: 100% Verdana, Helvetica, Arial, sans-serif;
- color: #3ba6ec;
- vertical-align: middle;
-}
-
-
-table.body {
- border: 0;
- /*padding: 0;
- border-spacing: 0px;
- border-collapse: separate;
- */
-}
-
-td.page-header-left {
- padding: 5px;
- /*border-bottom: 1px solid #444444;*/
-}
-
-td.page-header-top {
- padding: 0;
-
- /*border-bottom: 1px solid #444444;*/
-}
-
-td.sidebar {
- padding: 1 0 0 1;
-}
-
-td.sidebar p.classblock {
- padding: 0 5 0 5;
- margin: 1 1 1 1;
- border: 1px solid #444444;
- background-color: #eeeeee;
-}
-
-td.sidebar p.userblock {
- padding: 0 5 0 5;
- margin: 1 1 1 1;
- border: 1px solid #444444;
- background-color: #eeeeff;
-}
-
-td.content {
- padding: 1 5 1 5;
- vertical-align: top;
- width: 100%;
-}
-
-p.ok-message {
- background-color: #22bb22;
- padding: 5 5 5 5;
- color: white;
- font-weight: bold;
-}
-p.error-message {
- background-color: #bb2222;
- padding: 5 5 5 5;
- color: white;
- font-weight: bold;
-}
-
-p:first-child {
- margin: 0 ;
- padding: 0;
-}
-
-/* style for forms */
-table.form {
- padding: 2;
- border-spacing: 0px;
- border-collapse: separate;
-}
-
-table.form th {
- color: #333388;
- text-align: right;
- vertical-align: top;
- font-weight: normal;
-}
-table.form th.header {
- font-weight: bold;
- background-color: #eeeeff;
- text-align: left;
-}
-
-table.form th.required {
- font-weight: bold;
-}
-
-table.form td {
- color: #333333;
- empty-cells: show;
- vertical-align: top;
-}
-
-table.form td.optional {
- font-weight: bold;
- font-style: italic;
-}
-
-table.form td.html {
- color: #777777;
-}
-
-/* style for lists */
-table.list {
- border-spacing: 0px;
- border-collapse: separate;
- vertical-align: top;
- padding-top: 0;
- width: 100%;
-}
-
-table.list th {
- padding: 0 4 0 4;
- color: #404070;
- background-color: #eeeeff;
- border-right: 1px solid #404070;
- border-top: 1px solid #404070;
- border-bottom: 1px solid #404070;
- vertical-align: top;
- empty-cells: show;
-}
-table.list th a[href]:hover { color: #404070 }
-table.list th a[href]:link { color: #404070 }
-table.list th a[href] { color: #404070 }
-table.list th.group {
- background-color: #f4f4ff;
- text-align: center;
- font-size: 120%;
-}
-
-table.list td {
- padding: 0 4 0 4;
- border: 0 2 0 2;
- border-right: 1px solid #404070;
- color: #404070;
- background-color: white;
- vertical-align: top;
- empty-cells: show;
-}
-
-table.list tr.normal td {
- background-color: white;
- white-space: nowrap;
-}
-
-table.list tr.alt td {
- background-color: #efefef;
- white-space: nowrap;
-}
-
-table.list td:first-child {
- border-left: 1px solid #404070;
- border-right: 1px solid #404070;
-}
-
-table.list th:first-child {
- border-left: 1px solid #404070;
- border-right: 1px solid #404070;
-}
-
-table.list tr.navigation th {
- text-align: right;
-}
-table.list tr.navigation th:first-child {
- border-right: none;
- text-align: left;
-}
-
-
-/* style for message displays */
-table.messages {
- border-spacing: 0px;
- border-collapse: separate;
- width: 100%;
-}
-
-table.messages th.header{
- padding-top: 10px;
- border-bottom: 1px solid gray;
- font-weight: bold;
- background-color: white;
- color: #707040;
-}
-
-table.messages th {
- font-weight: bold;
- color: black;
- text-align: left;
- border-bottom: 1px solid #afafaf;
-}
-
-table.messages td {
- font-family: monospace;
- background-color: #efefef;
- border-bottom: 1px solid #afafaf;
- color: black;
- empty-cells: show;
- border-right: 1px solid #afafaf;
- vertical-align: top;
- padding: 2 5 2 5;
-}
-
-table.messages td:first-child {
- border-left: 1px solid #afafaf;
- border-right: 1px solid #afafaf;
-}
-
-/* style for file displays */
-table.files {
- border-spacing: 0px;
- border-collapse: separate;
- width: 100%;
-}
-
-table.files th.header{
- padding-top: 10px;
- border-bottom: 1px solid gray;
- font-weight: bold;
- background-color: white;
- color: #707040;
-}
-
-table.files th {
- border-bottom: 1px solid #afafaf;
- font-weight: bold;
- text-align: left;
-}
-
-table.files td {
- font-family: monospace;
- empty-cells: show;
-}
-
-/* style for history displays */
-table.history {
- border-spacing: 0px;
- border-collapse: separate;
- width: 100%;
-}
-
-table.history th.header{
- padding-top: 10px;
- border-bottom: 1px solid gray;
- font-weight: bold;
- background-color: white;
- color: #707040;
- font-size: 100%;
-}
-
-table.history th {
- border-bottom: 1px solid #afafaf;
- font-weight: bold;
- text-align: left;
- font-size: 90%;
-}
-
-table.history td {
- font-size: 90%;
- vertical-align: top;
- empty-cells: show;
-}
-
-
-/* style for class list */
-table.classlist {
- border-spacing: 0px;
- border-collapse: separate;
- width: 100%;
-}
-
-table.classlist th.header{
- padding-top: 10px;
- border-bottom: 1px solid gray;
- font-weight: bold;
- background-color: white;
- color: #707040;
-}
-
-table.classlist th {
- font-weight: bold;
- text-align: left;
-}
-
-
-/* style for class help display */
-table.classhelp {
- border-spacing: 0px;
- border-collapse: separate;
- width: 100%;
-}
-
-table.classhelp th {
- font-weight: bold;
- text-align: left;
- color: #707040;
-}
-
-table.classhelp td {
- padding: 2 2 2 2;
- border: 1px solid black;
- text-align: left;
- vertical-align: top;
- empty-cells: show;
-}
-
-
-/* style for "other" displays */
-table.otherinfo {
- border-spacing: 0px;
- border-collapse: separate;
- width: 100%;
-}
-
-table.otherinfo th.header{
- padding-top: 10px;
- border-bottom: 1px solid gray;
- font-weight: bold;
- background-color: white;
- color: #707040;
-}
-
-table.otherinfo th {
- border-bottom: 1px solid #afafaf;
- font-weight: bold;
- text-align: left;
-}
-
-input {
- border: 1px solid #8cacbb;
- color: Black;
- background-color: white;
- vertical-align: middle;
- margin-bottom: 1px; /* IE bug fix */
- padding: 0.1em;
-}
-
-select {
- border: 1px solid #8cacbb;
- color: Black;
- background-color: white;
- vertical-align: middle;
- margin-bottom: 1px; /* IE bug fix */
- padding: 0.1em;
-}
-
-
-a.nonexistent {
- color: #FF2222;
-}
-a.nonexistent:visited {
- color: #FF2222;
-}
-a.external {
- color: #AA6600;
-}
-
-/*
-dl,ul,ol {
- margin-top: 1pt;
-}
-tt,pre {
- font-family: Lucida Console,Courier New,Courier,monotype;
- font-size: 12pt;
-}
-pre.code {
- margin-top: 8pt;
- margin-bottom: 8pt;
- background-color: #FFFFEE;
- white-space:pre;
- border-style:solid;
- border-width:1pt;
- border-color:#999999;
- color:#111111;
- padding:5px;
- width:100%;
-}
-*/
-div.diffold {
- background-color: #FFFF80;
- border-style:none;
- border-width:thin;
- width:100%;
-}
-div.diffnew {
- background-color: #80FF80;
- border-style:none;
- border-width:thin;
- width:100%;
-}
-div.message {
- margin-top: 6pt;
- background-color: #E8FFE8;
- border-style:solid;
- border-width:1pt;
- border-color:#999999;
- color:#440000;
- padding:5px;
- width:100%;
-}
-strong.highlight {
- background-color: #FFBBBB;
-/* as usual, NetScape fucks up with innocent CSS
- border-color: #FFAAAA;
- border-style: solid;
- border-width: 1pt;
-*/
-}
-
-table.navibar {
- background-color: #C8C8C8;
- border-spacing: 3px;
-}
-td.navibar {
- background-color: #E8E8E8;
- vertical-align: top;
- text-align: right;
- padding: 0px;
-}
-
-div.pagename {
- font-size: 140%;
- color: blue;
- text-align: center;
- font-weight: bold;
- background-color: white;
- padding: 0 ;
-}
-
-a.wikiaction, input.wikiaction {
- color: black;
- text-decoration: None;
- text-align: center;
- color: black;
- /*border: 1px solid #3ba6ec; */
- margin: 4px;
- padding: 5;
- padding-bottom: 0;
- white-space: nowrap;
-}
-
-a.wikiaction[href]:hover {
- color: black;
- text-decoration: none;
- /*background-color: #dddddd; */
-}
-
-span.wikiuserpref {
- padding-top: 1em;
- font-size: 120%;
-}
-
-div.wikitrail {
- vertical-align: bottom;
- /*font-size: -1;*/
- padding-top: 1em;
- display: none;
-}
-
-div.wikiaction {
- vertical-align: middle;
- /*border-bottom: 1px solid #8cacbb;*/
- padding-bottom:1em;
- text-align: left;
- width: 100%;
-}
-
-div.wikieditmenu {
- text-align: right;
-}
-
-form.wikiedit {
- border: 1px solid #8cacbb;
- background-color: #f0f0f0;
- background-color: #fabf00;
- padding: 1em;
- padding-right: 0em;
-}
-
-div.legenditem {
- padding-top: 0.5em;
- padding-left: 0.3em;
-}
-
-span.wikitoken {
- background-color: #eeeeee;
-}
-
-
-div#contentspace h1:first-child, div.heading:first-child {
- padding-top: 0;
- margin-top: 0;
-}
-div#contentspace h2:first-child {
- padding-top: 0;
- margin-top: 0;
-}
-
-/* heading and paragraph text */
-
-div.heading, h1 {
- font-family: Verdana, Helvetica, Arial, sans-serif;
- background-color: #58b3ef;
- background-color: #FFFFFF;
- /*color: #4893cf;*/
- color: black;
- padding-top: 1.0em;
- padding-bottom:0.2em;
- text-align: left;
- margin-top: 0em;
- /*margin-bottom:8pt;*/
- font-weight: bold;
- font-size: 115%;
- border-bottom: 1px solid #8CACBB;
-}
-
-
-h1, h2, h3, h4, h5, h6 {
- color: orange;
- clear: left;
- font: 100% Verdana, Helvetica, Arial, sans-serif;
- margin: 0;
- padding-left: 0em;
- padding-top: 1em;
- padding-bottom: 0.2em;
- /*border-bottom: 1px solid #8CACBB;*/
-}
-/* h1,h2 { padding-top: 0; }*/
-
-
-h1 { font-size: 145%; }
-h2 { font-size: 135%; }
-h3 { font-size: 125%; }
-h4 { font-size: 120%; }
-h5 { font-size: 110%; }
-h6 { font-size: 80%; }
-
-h1 a { text-decoration: None;}
-
-div.exception {
- background-color: #bb2222;
- padding: 5 5 5 5;
- color: white;
- font-weight: bold;
-}
-pre.exception {
- font-size: 110%;
- padding: 1em;
- border: 1px solid #8cacbb;
- color: Black;
- background-color: #dee7ec;
- background-color: #cccccc;
-}
-
-/* defines for navgiation bar (documentation) */
-
-
-div.direntry {
- padding-top: 0.3em;
- padding-bottom: 0.3em;
- margin-right: 1em;
- font-weight: bold;
- background-color: #dee7ec;
- font-size: 110%;
-}
-
-div.fileentry {
- font-family: Verdana, Helvetica, Arial, sans-serif;
- padding-bottom: 0.3em;
- white-space: nowrap;
- line-height: 150%;
-}
-
-a.fileentry {
- white-space: nowrap;
-}
-
-
-span.left {
- text-align: left;
-}
-span.right {
- text-align: right;
-}
-
-div.navbar {
- /*margin: 0;*/
- font-size: 80% /*smaller*/;
- font-weight: bold;
- text-align: left;
- /* position: fixed; */
- top: 100pt;
- left: 0pt; /* auto; */
- width: 120pt;
- /* right: auto;
- right: 0pt; 2em; */
-}
-
-
-div.history a {
- /* font-size: 70%; */
-}
-
-div.wikiactiontitle {
- font-weight: bold;
-}
-
-/* REST defines */
-
-div.document {
- margin: 0;
-}
-
-h1.title {
- margin: 0;
- margin-bottom: 0.5em;
-}
-
-td.toplist {
- vertical-align: top;
-}
-
-img#pyimg {
- position: absolute;
- top: 4px;
- left: 4px;
-}
-
-div#navspace {
- position: absolute;
- top: 130px;
- left: 11px;
- font-size: 100%;
- width: 150px;
- overflow: hidden; /* scroll; */
-}
-
-div#metaspace {
- position: absolute;
- top: 40px;
- left: 170px;
-}
-
-div#errorline {
- position: relative;
- top: 5px;
- float: right;
-}
-
-div#contentspace {
- position: absolute;
- /* font: 120% "Times New Roman", serif;*/
- font: 110% Verdana, Helvetica, Arial, sans-serif;
- top: 130px;
- left: 170px;
- margin-right: 5px;
-}
-
-div#menubar {
-/* width: 400px; */
- float: left;
-}
-
-/* for the documentation page */
-div#docinfoline {
- position: relative;
- top: 5px;
- left: 0px;
-
- /*background-color: #dee7ec; */
- padding: 5pt;
- padding-bottom: 1em;
- color: black;
- /*border-width: 1pt;
- border-style: solid;*/
-
-}
-
-div#docnavlist {
- /*background-color: #dee7ec; */
- padding: 5pt;
- padding-bottom: 2em;
- color: black;
- border-width: 1pt;
- /*border-style: solid;*/
-}
-
-
-/* text markup */
-
-div.listtitle {
- color: Black;
- clear: left;
- font: 120% Verdana, Helvetica, Arial, sans-serif;
- margin: 0;
- padding-left: 0em;
- padding-top: 0em;
- padding-bottom: 0.2em;
- margin-right: 0.5em;
- border-bottom: 1px solid #8CACBB;
-}
-
-div.actionbox h3 {
- padding-top: 0;
- padding-right: 0.5em;
- padding-left: 0.5em;
- background-color: #fabf00;
- text-align: center;
- border: 1px solid black; /* 8cacbb; */
-}
-
-div.actionbox a {
- display: block;
- padding-bottom: 0.5em;
- padding-top: 0.5em;
- margin-left: 0.5em;
-}
-
-div.actionbox a.history {
- display: block;
- padding-bottom: 0.5em;
- padding-top: 0.5em;
- margin-left: 0.5em;
- font-size: 90%;
-}
-
-div.actionbox {
- margin-bottom: 2em;
- padding-bottom: 1em;
- overflow: hidden; /* scroll; */
-}
-
-/* taken from docutils (oh dear, a bit senseless) */
-ol.simple, ul.simple {
- margin-bottom: 1em }
-
-ol.arabic {
- list-style: decimal }
-
-ol.loweralpha {
- list-style: lower-alpha }
-
-ol.upperalpha {
- list-style: upper-alpha }
-
-ol.lowerroman {
- list-style: lower-roman }
-
-ol.upperroman {
- list-style: upper-roman }
-
-
-/*
-:Author: David Goodger
-:Contact: goodger@users.sourceforge.net
-:date: $Date: 2003/01/22 22:26:48 $
-:version: $Revision: 1.29 $
-:copyright: This stylesheet has been placed in the public domain.
-
-Default cascading style sheet for the HTML output of Docutils.
-*/
-/*
-.first {
- margin-top: 0 }
-
-.last {
- margin-bottom: 0 }
-
-a.toc-backref {
- text-decoration: none ;
- color: black }
-
-dd {
- margin-bottom: 0.5em }
-
-div.abstract {
- margin: 2em 5em }
-
-div.abstract p.topic-title {
- font-weight: bold ;
- text-align: center }
-
-div.attention, div.caution, div.danger, div.error, div.hint,
-div.important, div.note, div.tip, div.warning {
- margin: 2em ;
- border: medium outset ;
- padding: 1em }
-
-div.attention p.admonition-title, div.caution p.admonition-title,
-div.danger p.admonition-title, div.error p.admonition-title,
-div.warning p.admonition-title {
- color: red ;
- font-weight: bold ;
- font-family: sans-serif }
-
-div.hint p.admonition-title, div.important p.admonition-title,
-div.note p.admonition-title, div.tip p.admonition-title {
- font-weight: bold ;
- font-family: sans-serif }
-
-div.dedication {
- margin: 2em 5em ;
- text-align: center ;
- font-style: italic }
-
-div.dedication p.topic-title {
- font-weight: bold ;
- font-style: normal }
-
-div.figure {
- margin-left: 2em }
-
-div.footer, div.header {
- font-size: smaller }
-
-div.system-messages {
- margin: 5em }
-
-div.system-messages h1 {
- color: red }
-
-div.system-message {
- border: medium outset ;
- padding: 1em }
-
-div.system-message p.system-message-title {
- color: red ;
- font-weight: bold }
-
-div.topic {
- margin: 2em }
-
-h1.title {
- text-align: center ;
- color: orange}
-
-h2.subtitle {
- color: orange;
- text-align: center }
-
-hr {
- width: 75% }
-
-p.caption {
- font-style: italic }
-
-p.credits {
- font-style: italic ;
- font-size: smaller }
-
-p.label {
- white-space: nowrap }
-
-p.topic-title {
- font-weight: bold }
-
-pre.address {
- margin-bottom: 0 ;
- margin-top: 0 ;
- font-family: serif ;
- font-size: 100% }
-
-pre.line-block {
- font-family: serif ;
- font-size: 100% }
-
-pre.literal-block, pre.doctest-block {
- margin-left: 2em ;
- margin-right: 2em ;
- background-color: #eeeeee }
-
-span.classifier {
- font-family: sans-serif ;
- font-style: oblique }
-
-span.classifier-delimiter {
- font-family: sans-serif ;
- font-weight: bold }
-
-span.interpreted {
- font-family: sans-serif }
-
-span.option {
- white-space: nowrap }
-
-span.option-argument {
- font-style: italic }
-
-span.pre {
- white-space: pre }
-
-span.problematic {
- color: red }
-
-table {
- margin-top: 0.5em ;
- margin-bottom: 0.5em }
-
-table.citation {
- border-left: solid thin gray ;
- padding-left: 0.5ex }
-
-table.docinfo {
- margin: 2em 4em }
-
-table.footnote {
- border-left: solid thin black ;
- padding-left: 0.5ex }
-
-td, th {
- padding-left: 0.5em ;
- padding-right: 0.5em ;
- vertical-align: top }
-
-th.docinfo-name, th.field-name {
- font-weight: bold ;
- text-align: left ;
- white-space: nowrap }
-
-h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
- font-size: 100% }
-
-tt {
- background-color: #eeeeee }
-
-ul.auto-toc {
- list-style-type: none }
-*/
-
-div.section {
- margin-top: 1.0em ;
-}
diff --git a/src/doc/eole-report/eolreport/build/docutils.css b/src/doc/eole-report/eolreport/build/docutils.css
deleted file mode 100644
index f03e03d..0000000
--- a/src/doc/eole-report/eolreport/build/docutils.css
+++ /dev/null
@@ -1,255 +0,0 @@
-.first {
- margin-top: 0 ! important }
-
-.last {
- margin-bottom: 0 ! important }
-
-.hidden {
- display: none }
-
-a.toc-backref {
- text-decoration: none ;
- color: inherit }
-
-blockquote.epigraph {
- margin: 2em 5em }
-
-dl.docutils dd {
- margin-bottom: 0.5em }
-
-dl.docutils dt {
- font-weight: bold }
-
-dl dt { line-height: 150% }
-
-div.abstract {
- margin: 2em 5em }
-
-div.abstract p.topic-title {
- font-weight: bold ;
- text-align: center }
-
-div.admonition, div.attention, div.caution, div.danger, div.error,
-div.hint, div.important, div.note, div.tip, div.warning {
- margin: 2em ;
- border: medium outset ;
- padding: 1em }
-
-div.admonition p.admonition-title, div.hint p.admonition-title,
-div.important p.admonition-title, div.note p.admonition-title,
-div.tip p.admonition-title {
- font-weight: bold ;
- font-family: sans-serif }
-
-div.attention p.admonition-title, div.caution p.admonition-title,
-div.danger p.admonition-title, div.error p.admonition-title,
-div.warning p.admonition-title {
- color: red ;
- font-weight: bold ;
- font-family: sans-serif }
-
-div.compound .compound-first, div.compound .compound-middle {
- margin-bottom: 0.5em }
-
-div.compound .compound-last, div.compound .compound-middle {
- margin-top: 0.5em }
-
-div.dedication {
- margin: 2em 5em ;
- text-align: center ;
- font-style: italic }
-
-div.dedication p.topic-title {
- font-weight: bold ;
- font-style: normal }
-
-div.document {
- width: 600px ;
- margin-left: 5em ;
- margin-right: 5em }
-
-div.figure {
- margin-left: 2em }
-
-div.footer, div.header {
- font-size: smaller }
-
-div.line-block {
- display: block ;
- margin-top: 1em ;
- margin-bottom: 1em }
-
-div.line-block div.line-block {
- margin-top: 0 ;
- margin-bottom: 0 ;
- margin-left: 1.5em }
-
-div.sidebar {
- margin-left: 1em ;
- border: medium outset ;
- padding: 1em ;
- background-color: #ffffee ;
- width: 40% ;
- float: right ;
- clear: right }
-
-div.sidebar p.rubric {
- font-family: sans-serif ;
- font-size: medium }
-
-div.system-messages {
- margin: 5em }
-
-div.system-messages h1 {
- color: red }
-
-div.system-message {
- border: medium outset ;
- padding: 1em }
-
-div.system-message p.system-message-title {
- color: red ;
- font-weight: bold }
-
-div.topic {
- margin: 2em }
-
-h1, h2, h3, h4, h5 {
- font-family: sans-serif ;
- line-height: 150% ;
- color: orange} /* #666 } */
-
-h1.title {
- text-align: center
- }
-h2.subtitle {
- text-align: center }
-
-hr.docutils {
- width: 75% }
-
-ol.simple, ul.simple {
- margin-bottom: 1em }
-
-ol.arabic {
- list-style: decimal }
-
-ol.loweralpha {
- list-style: lower-alpha }
-
-ol.upperalpha {
- list-style: upper-alpha }
-
-ol.lowerroman {
- list-style: lower-roman }
-
-ol.upperroman {
- list-style: upper-roman }
-
-p.attribution {
- text-align: right ;
- margin-left: 50% }
-
-p.caption {
- font-style: italic }
-
-p.credits {
- font-style: italic ;
- font-size: smaller }
-
-p.label {
- white-space: nowrap }
-
-p.rubric {
- font-weight: bold ;
- font-size: larger ;
- color: maroon ;
- text-align: center }
-
-p.sidebar-title {
- font-family: sans-serif ;
- font-weight: bold ;
- font-size: larger }
-
-p.sidebar-subtitle {
- font-family: sans-serif ;
- font-weight: bold }
-
-p.topic-title {
- font-weight: bold }
-
-pre.address {
- margin-bottom: 0 ;
- margin-top: 0 ;
- font-family: serif ;
- font-size: 100% }
-
-pre.line-block {
- font-family: serif ;
- font-size: 100% }
-
-pre.literal-block, pre.doctest-block {
- margin-left: 2em ;
- margin-right: 2em ;
- font-size: small ;
- background-color: #eeeeee }
-
-span.classifier {
- font-family: sans-serif ;
- font-style: oblique }
-
-span.classifier-delimiter {
- font-family: sans-serif ;
- font-weight: bold }
-
-span.interpreted {
- font-family: sans-serif }
-
-span.option {
- white-space: nowrap }
-
-span.option-argument {
- font-style: italic }
-
-span.pre {
- white-space: pre }
-
-span.problematic {
- color: red }
-
-table.citation {
- border-left: solid thin gray }
-
-table.docinfo {
- /* float: right ; */
- margin: 2em 4em ;
- color: #666 }
-
-table.docutils {
- margin-top: 0.5em ;
- margin-bottom: 0.5em }
-
-table.footnote {
- border-left: solid thin black }
-
-table.docutils td, table.docutils th,
-table.docinfo td, table.docinfo th {
- padding-left: 0.5em ;
- padding-right: 0.5em ;
- vertical-align: top }
-
-th.docinfo-name, th.field-name {
- font-weight: bold ;
- text-align: right ;
- white-space: nowrap }
-
-h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
-h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
- font-size: 100% }
-
-tt.docutils {
- background-color: #eeeeee }
-
-ul.auto-toc {
- list-style-type: none }
-
diff --git a/src/doc/eole-report/eolreport/build/imgs/eol.png b/src/doc/eole-report/eolreport/build/imgs/eol.png
deleted file mode 100644
index 5b23138..0000000
Binary files a/src/doc/eole-report/eolreport/build/imgs/eol.png and /dev/null differ
diff --git a/src/doc/eole-report/eolreport/build/imgs/logo.png b/src/doc/eole-report/eolreport/build/imgs/logo.png
deleted file mode 100644
index 9c554f4..0000000
Binary files a/src/doc/eole-report/eolreport/build/imgs/logo.png and /dev/null differ
diff --git a/src/doc/eole-report/eolreport/build/index-report.html b/src/doc/eole-report/eolreport/build/index-report.html
deleted file mode 100644
index a0597f8..0000000
--- a/src/doc/eole-report/eolreport/build/index-report.html
+++ /dev/null
@@ -1,76 +0,0 @@
-
-
-
-
-
-
-rapports eole
-
-
-
-
-
-
-
-
-
-
-
-date: | mai 2012 |
-
-description: | rapports Créole, compatibilités Creole et tiramisu |
-
-
-
-
-
Vue d'ensemble des rapports
-
Les rapports ci-dessous résument et permettent de donner des points d'appui à
-des discussions de recherche et développement concernant l'évolution du
-projet Creole (comprenant Creole_Serv). Il y a aussi le support de
-documentation développeur tiramisu (en anglais) qui constitue une bonne
-base pour connaître et comprendre plus en détails les motivations de
-la nouvelle implementation.
-
-
-
-
-
diff --git a/src/doc/eole-report/eolreport/build/pdfreport/D01AccesVariables.pdf b/src/doc/eole-report/eolreport/build/pdfreport/D01AccesVariables.pdf
deleted file mode 100644
index 471a375..0000000
Binary files a/src/doc/eole-report/eolreport/build/pdfreport/D01AccesVariables.pdf and /dev/null differ
diff --git a/src/doc/eole-report/eolreport/build/pdfreport/D02CoherenceVariables.pdf b/src/doc/eole-report/eolreport/build/pdfreport/D02CoherenceVariables.pdf
deleted file mode 100644
index d8c37fe..0000000
Binary files a/src/doc/eole-report/eolreport/build/pdfreport/D02CoherenceVariables.pdf and /dev/null differ
diff --git a/src/doc/eole-report/eolreport/build/pdfreport/D03ReglesEtats.pdf b/src/doc/eole-report/eolreport/build/pdfreport/D03ReglesEtats.pdf
deleted file mode 100644
index 7ec977c..0000000
Binary files a/src/doc/eole-report/eolreport/build/pdfreport/D03ReglesEtats.pdf and /dev/null differ
diff --git a/src/doc/eole-report/eolreport/build/pdfreport/make_index b/src/doc/eole-report/eolreport/build/pdfreport/make_index
deleted file mode 100755
index ca207c8..0000000
--- a/src/doc/eole-report/eolreport/build/pdfreport/make_index
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-import sys
-from glob import glob
-from os.path import isfile, dirname, abspath, join, basename, splitext
-from rst import Rest, Paragraph, Strong, ListItem, Link
-
-
-here = abspath(dirname(__file__))
-html = glob(join(here, '*.pdf'))
-
-basehtml = [basename(htm) for htm in html]
-basehtml.sort()
-
-content = Rest()
-
-for htm in basehtml:
- link = Link( htm , "pdfreport/" +htm)
- content.add(ListItem(link))
-
-sys.stdout.write(content.text())
-
-
diff --git a/src/doc/eole-report/eolreport/build/pdfreport/rst.py b/src/doc/eole-report/eolreport/build/pdfreport/rst.py
deleted file mode 100644
index 7548cdd..0000000
--- a/src/doc/eole-report/eolreport/build/pdfreport/rst.py
+++ /dev/null
@@ -1,410 +0,0 @@
-# unproudly borrowed from pypy :
-# http://codespeak.net/svn/pypy/trunk/pypy/tool/rest/rst.py
-""" reStructuredText generation tools
-
- provides an api to build a tree from nodes, which can be converted to
- ReStructuredText on demand
-
- note that not all of ReST is supported, a usable subset is offered, but
- certain features aren't supported, and also certain details (like how links
- are generated, or how escaping is done) can not be controlled
-"""
-
-import re
-
-def escape(txt):
- """escape ReST markup"""
- if not isinstance(txt, str) and not isinstance(txt, unicode):
- txt = str(txt)
- # XXX this takes a very naive approach to escaping, but it seems to be
- # sufficient...
- for c in '\\*`|:_':
- txt = txt.replace(c, '\\%s' % (c,))
- return txt
-
-class RestError(Exception):
- """ raised on containment errors (wrong parent) """
-
-class AbstractMetaclass(type):
- def __new__(cls, *args):
- obj = super(AbstractMetaclass, cls).__new__(cls, *args)
- parent_cls = obj.parentclass
- if parent_cls is None:
- return obj
- if not isinstance(parent_cls, list):
- class_list = [parent_cls]
- else:
- class_list = parent_cls
- if obj.allow_nesting:
- class_list.append(obj)
-
- for _class in class_list:
- if not _class.allowed_child:
- _class.allowed_child = {obj:True}
- else:
- _class.allowed_child[obj] = True
- return obj
-
-class AbstractNode(object):
- """ Base class implementing rest generation
- """
- sep = ''
- __metaclass__ = AbstractMetaclass
- parentclass = None # this exists to allow parent to know what
- # children can exist
- allow_nesting = False
- allowed_child = {}
- defaults = {}
-
- _reg_whitespace = re.compile('\s+')
-
- def __init__(self, *args, **kwargs):
- self.parent = None
- self.children = []
- for child in args:
- self._add(child)
- for arg in kwargs:
- setattr(self, arg, kwargs[arg])
-
- def join(self, *children):
- """ add child nodes
-
- returns a reference to self
- """
- for child in children:
- self._add(child)
- return self
-
- def add(self, child):
- """ adds a child node
-
- returns a reference to the child
- """
- self._add(child)
- return child
-
- def _add(self, child):
- if child.__class__ not in self.allowed_child:
- raise RestError("%r cannot be child of %r" % \
- (child.__class__, self.__class__))
- self.children.append(child)
- child.parent = self
-
- def __getitem__(self, item):
- return self.children[item]
-
- def __setitem__(self, item, value):
- self.children[item] = value
-
- def text(self):
- """ return a ReST string representation of the node """
- return self.sep.join([child.text() for child in self.children])
-
- def wordlist(self):
- """ return a list of ReST strings for this node and its children """
- return [self.text()]
-
-class Rest(AbstractNode):
- """ Root node of a document """
-
- sep = "\n\n"
- def __init__(self, *args, **kwargs):
- AbstractNode.__init__(self, *args, **kwargs)
- self.links = {}
-
- def render_links(self, check=False):
- """render the link attachments of the document"""
- assert not check, "Link checking not implemented"
- if not self.links:
- return ""
- link_texts = []
- # XXX this could check for duplicates and remove them...
- for link, target in self.links.iteritems():
- link_texts.append(".. _`%s`: %s" % (escape(link), target))
- return "\n" + "\n".join(link_texts) + "\n\n"
-
- def text(self):
- outcome = []
- if (isinstance(self.children[0], Transition) or
- isinstance(self.children[-1], Transition)):
- raise ValueError, ('document must not begin or end with a '
- 'transition')
- for child in self.children:
- outcome.append(child.text())
-
- # always a trailing newline
- text = self.sep.join([i for i in outcome if i]) + "\n"
- return text + self.render_links()
-
-class Transition(AbstractNode):
- """ a horizontal line """
- parentclass = Rest
-
- def __init__(self, char='-', width=80, *args, **kwargs):
- self.char = char
- self.width = width
- super(Transition, self).__init__(*args, **kwargs)
-
- def text(self):
- return (self.width - 1) * self.char
-
-class Paragraph(AbstractNode):
- """ simple paragraph """
-
- parentclass = Rest
- sep = " "
- indent = ""
- # FIXME
- width = 880
-
- def __init__(self, *args, **kwargs):
- # make shortcut
- args = list(args)
- for num, arg in enumerate(args):
- if isinstance(arg, str):
- args[num] = Text(arg)
- super(Paragraph, self).__init__(*args, **kwargs)
-
- def text(self):
- texts = []
- for child in self.children:
- texts += child.wordlist()
-
- buf = []
- outcome = []
- lgt = len(self.indent)
-
- def grab(buf):
- outcome.append(self.indent + self.sep.join(buf))
-
- texts.reverse()
- while texts:
- next = texts[-1]
- if not next:
- texts.pop()
- continue
- if lgt + len(self.sep) + len(next) <= self.width or not buf:
- buf.append(next)
- lgt += len(next) + len(self.sep)
- texts.pop()
- else:
- grab(buf)
- lgt = len(self.indent)
- buf = []
- grab(buf)
- return "\n".join(outcome)
-
-class SubParagraph(Paragraph):
- """ indented sub paragraph """
-
- indent = " "
-
-class Title(Paragraph):
- """ title element """
-
- parentclass = Rest
- belowchar = "="
- abovechar = ""
-
- def text(self):
- txt = self._get_text()
- lines = []
- if self.abovechar:
- lines.append(self.abovechar * len(txt))
- lines.append(txt)
- if self.belowchar:
- lines.append(self.belowchar * len(txt))
- return "\n".join(lines)
-
- def _get_text(self):
- txt = []
- for node in self.children:
- txt += node.wordlist()
- return ' '.join(txt)
-
-class AbstractText(AbstractNode):
- parentclass = [Paragraph, Title]
- start = ""
- end = ""
- def __init__(self, _text):
- self._text = _text
-
- def text(self):
- text = self.escape(self._text)
- return self.start + text + self.end
-
- def escape(self, text):
- if not isinstance(text, str) and not isinstance(text, unicode):
- text = str(text)
- if self.start:
- text = text.replace(self.start, '\\%s' % (self.start,))
- if self.end and self.end != self.start:
- text = text.replace(self.end, '\\%s' % (self.end,))
- return text
-
-class Text(AbstractText):
- def wordlist(self):
- text = escape(self._text)
- return self._reg_whitespace.split(text)
-
-class LiteralBlock(AbstractText):
- parentclass = Rest
- start = '::\n\n'
-
- def text(self):
- if not self._text.strip():
- return ''
- text = self.escape(self._text).split('\n')
- for i, line in enumerate(text):
- if line.strip():
- text[i] = ' %s' % (line,)
- return self.start + '\n'.join(text)
-
-class Em(AbstractText):
- start = "*"
- end = "*"
-
-class Strong(AbstractText):
- start = "**"
- end = "**"
-
-class Quote(AbstractText):
- start = '``'
- end = '``'
-
-class Anchor(AbstractText):
- start = '_`'
- end = '`'
-
-class Footnote(AbstractText):
- def __init__(self, note, symbol=False):
- raise NotImplemented('XXX')
-
-class Citation(AbstractText):
- def __init__(self, text, cite):
- raise NotImplemented('XXX')
-
-class ListItem(Paragraph):
- allow_nesting = True
- item_chars = '*+-'
-
- def text(self):
- idepth = self.get_indent_depth()
- indent = self.indent + (idepth + 1) * ' '
- txt = '\n\n'.join(self.render_children(indent))
- ret = []
- item_char = self.item_chars[idepth]
- ret += [indent[len(item_char)+1:], item_char, ' ', txt[len(indent):]]
- return ''.join(ret)
-
- def render_children(self, indent):
- txt = []
- buffer = []
- def render_buffer(fro, to):
- if not fro:
- return
- p = Paragraph(indent=indent, *fro)
- p.parent = self.parent
- to.append(p.text())
- for child in self.children:
- if isinstance(child, AbstractText):
- buffer.append(child)
- else:
- if buffer:
- render_buffer(buffer, txt)
- buffer = []
- txt.append(child.text())
-
- render_buffer(buffer, txt)
- return txt
-
- def get_indent_depth(self):
- depth = 0
- current = self
- while (current.parent is not None and
- isinstance(current.parent, ListItem)):
- depth += 1
- current = current.parent
- return depth
-
-class OrderedListItem(ListItem):
- item_chars = ["#."] * 5
-
-class DListItem(ListItem):
- item_chars = None
- def __init__(self, term, definition, *args, **kwargs):
- self.term = term
- super(DListItem, self).__init__(definition, *args, **kwargs)
-
- def text(self):
- idepth = self.get_indent_depth()
- indent = self.indent + (idepth + 1) * ' '
- txt = '\n\n'.join(self.render_children(indent))
- ret = []
- ret += [indent[2:], self.term, '\n', txt]
- return ''.join(ret)
-
-class Link(AbstractText):
- start = '`'
- end = '`_'
-
- def __init__(self, _text, target):
- self._text = _text
- self.target = target
- self.rest = None
-
- def text(self):
- if self.rest is None:
- self.rest = self.find_rest()
- if self.rest.links.get(self._text, self.target) != self.target:
- raise ValueError('link name %r already in use for a different '
- 'target' % (self.target,))
- self.rest.links[self._text] = self.target
- return AbstractText.text(self)
-
- def find_rest(self):
- # XXX little overkill, but who cares...
- next = self
- while next.parent is not None:
- next = next.parent
- return next
-
-class InternalLink(AbstractText):
- start = '`'
- end = '`_'
-
-class LinkTarget(Paragraph):
- def __init__(self, name, target):
- self.name = name
- self.target = target
-
- def text(self):
- return ".. _`%s`:%s\n" % (self.name, self.target)
-
-class Substitution(AbstractText):
- def __init__(self, text, **kwargs):
- raise NotImplemented('XXX')
-
-class Directive(Paragraph):
- indent = ' '
- def __init__(self, name, *args, **options):
- self.name = name
- self.content = args
- super(Directive, self).__init__()
- self.options = options
-
- def text(self):
- # XXX not very pretty...
- txt = '.. %s::' % (self.name,)
- options = '\n'.join([' :%s: %s' % (k, v) for (k, v) in
- self.options.iteritems()])
- if options:
- txt += '\n%s' % (options,)
-
- if self.content:
- txt += '\n'
- for item in self.content:
- txt += '\n ' + item
-
- return txt
-
diff --git a/src/doc/eole-report/eolreport/build/style.css b/src/doc/eole-report/eolreport/build/style.css
deleted file mode 100644
index 28c256e..0000000
--- a/src/doc/eole-report/eolreport/build/style.css
+++ /dev/null
@@ -1,32 +0,0 @@
-@import url(docutils.css);
-@import url(default.css);
-a:link {
- color: orange;
- font-weight: bold;
- text-decoration: none;
-}
-a:visited {
- text-decoration: none;
- color: #999999;
-}
-a:hover {
- text-decoration: none;
- color: #999999;
-}
-a:active {
- text-decoration: none;
- color: #999999;
-}
-
-.header {
- color: orange;
- background-color: white;
- padding: 1em;
-}
-.footer {
- color: #666;
- background-color: inherit;
- font-size: 75%;
-}
-
-
diff --git a/src/doc/eole-report/eolreport/inc/00-Redacteur.txt b/src/doc/eole-report/eolreport/inc/00-Redacteur.txt
deleted file mode 100644
index 554e81b..0000000
--- a/src/doc/eole-report/eolreport/inc/00-Redacteur.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-.. container:: rubric
-
- **Rédacteurs**
-
- | Gwenaël Rémond (gremond@cadoles.com)
- | Emmanuel Garette (egarette@cadoles.com)
-
-**Référence**
-
- | ``tiramisu/doc/eole-reports``
- | ``git clone ssh://gitosis@git.cadol.es:2222/tiramisu.git``
-
diff --git a/src/doc/eole-report/eolreport/inc/eol.png b/src/doc/eole-report/eolreport/inc/eol.png
deleted file mode 100644
index 5b23138..0000000
Binary files a/src/doc/eole-report/eolreport/inc/eol.png and /dev/null differ
diff --git a/src/doc/eole-report/eolreport/inc/logo.png b/src/doc/eole-report/eolreport/inc/logo.png
deleted file mode 100644
index 9c554f4..0000000
Binary files a/src/doc/eole-report/eolreport/inc/logo.png and /dev/null differ
diff --git a/src/doc/eole-report/eolreport/inc/menjva.gif b/src/doc/eole-report/eolreport/inc/menjva.gif
deleted file mode 100644
index 49d17a6..0000000
Binary files a/src/doc/eole-report/eolreport/inc/menjva.gif and /dev/null differ
diff --git a/src/doc/eole-report/eolreport/inc/preambule.txt b/src/doc/eole-report/eolreport/inc/preambule.txt
deleted file mode 100644
index c25bb90..0000000
--- a/src/doc/eole-report/eolreport/inc/preambule.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-.. csv-table::
-
- .. image:: inc/logo.png, .. image:: inc/eol.png
-
-.. container:: title
-
- Rapports de discussions de recherche et développements
-
-------------
-
-.. container:: subtitle
-
- Comparaison ``tiramisu`` et ``Créole``
-
-.. include:: 00-Redacteur.txt
-
-
-
diff --git a/src/doc/eole-report/eolreport/index-report.txt b/src/doc/eole-report/eolreport/index-report.txt
deleted file mode 100644
index 4670b94..0000000
--- a/src/doc/eole-report/eolreport/index-report.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-.. default-role:: literal
-
-.. title:: rapports eole
-
-
-.. image:: imgs/eol.png
- :align: right
-
-:date: mai 2012
-:description: rapports `Créole`, compatibilités `Creole` et `tiramisu`
-
-
-Vue d'ensemble des rapports
-===================================
-
-Les rapports ci-dessous résument et permettent de donner des points d'appui à
-des discussions de recherche et développement concernant l'évolution du
-projet `Creole` (comprenant `Creole_Serv`). Il y a aussi le support de
-documentation développeur `tiramisu` (en anglais) qui constitue une bonne
-base pour connaître et comprendre plus en détails les motivations de
-la nouvelle implementation.
-
-
-* `D01AccesVariables.pdf`_
-
-* `D02CoherenceVariables.pdf`_
-
-* `D03ReglesEtats.pdf`_
-
-.. _`D03ReglesEtats.pdf`: pdfreport/D03ReglesEtats.pdf
-.. _`D02CoherenceVariables.pdf`: pdfreport/D02CoherenceVariables.pdf
-.. _`D01AccesVariables.pdf`: pdfreport/D01AccesVariables.pdf
-
diff --git a/src/doc/eole-report/eolreport/styles.odt b/src/doc/eole-report/eolreport/styles.odt
deleted file mode 100644
index 2121251..0000000
Binary files a/src/doc/eole-report/eolreport/styles.odt and /dev/null differ
diff --git a/src/doc/eole-report/presentation/Makefile b/src/doc/eole-report/presentation/Makefile
deleted file mode 100644
index 7b32a56..0000000
--- a/src/doc/eole-report/presentation/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-SRC=$(wildcard *.tex)
-OBJ=$(subst .tex,.pdf,$(SRC))
-
-pdf: $(OBJ)
-
-%.pdf: %.tex
- pdflatex $<
-
-clean:
- rm -f $(OBJ)
- rm -f *.aux *.log *.toc *.snm *.out *.nav
-
diff --git a/src/doc/eole-report/presentation/definition.tex b/src/doc/eole-report/presentation/definition.tex
deleted file mode 100644
index 4bbea9f..0000000
--- a/src/doc/eole-report/presentation/definition.tex
+++ /dev/null
@@ -1,69 +0,0 @@
-\begin{frame}
- \frametitle{Comparaison entre le noyau de Créole et Tiramisu}
- \begin{itemize}
- \item \emph{Tiramisu} a pour objectif de
- \begin{itemize}
- \item remplacer le noyau \emph{Creole} (\texttt{EoleDict}) de manière transparente ;
- \item résoudre les problèmes inhérents à \texttt{CreoleServ} ;
- \end{itemize}
- \item au niveau du code, il y a enfin une vraie séparation du c\oe ur et du fonctionnel ;
- \item valide le type \emph{et la structure}, l'ajout de types est aisé.
- \item \emph{Creole} : \texttt{EoleDict, EoleVars} $ \Leftrightarrow $ \texttt{Config, Option}\\
- cf \texttt{tiramisu/doc/build/pydoc/index.html}
- \item intégré à \texttt{gen\_config}, \texttt{cheetah}, \texttt{DTD Creole}, syntaxe \texttt{Creole} \dots
- \item \texttt{eole-report/D02CoherenceVariables.pdf}
- \end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{Gestionnaire de configuration existants}
- \begin{itemize}
- \item Le gestionnaire de conf de Victor Stinner $\Rightarrow$ \emph{NuFw};
- \item puppet, cfgengine... $\Rightarrow$ intéressant, de nombreux comportements peuvent être repris, mais tel quel difficilement compatible avec \emph{Creole};
- \item \emph{Creole} $\Leftrightarrow$ \texttt{tiramisu/doc/build/glossary.html}
-\end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{Un "vrai" serveur de config}
- \begin{itemize}
- \item un serveur de données de configuration ;
- \item $1^{ere}$ méthode : exportation (snapshot) d'un état de la config $ \Rightarrow $ Créole ;
- \item $2^{eme}$ méthode : JIT (just in time) calculation, une modification
-de l'état de la configuration est possible \emph{pendant} la manipulation et l'utilisation de la conf $ \Rightarrow $ Tiramisu.
- \item \texttt{doc/getting-started.html}
- \end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{Qu'est-ce qu'un gestionnaire de conf moderne ?}
- \begin{itemize}
- \item c'est une organisation arborescente des données (les données sont imbriquées) ;
- \item c'est un accès facile aux données (typiquement une interface de type \emph{dictionnaire}) ;
- \item clefs-valeurs, mais quelles valeurs exactement ? $ \Rightarrow $ calcul JIT (just in time) ;
- \item \texttt{eole-report/D01AccesVariables.pdf}
-\end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{Définition d'un gestionnaire de configuration}
- \begin{itemize}
- \item les families, groups, master \dots~ ce sont des \emph{schémas} de données (\texttt{OptionDescription}) ;
- \item c'est la configuration (\texttt{Config}) qui est responsable de l'accès aux valeurs ;
- \item la configuration est aisément manipulable, et a un point d'entrée unique ;
- \item l'accès aux valeurs des \texttt{Options} de configuration ne peut se faire \emph{que} depuis la conf racine.
- \item \texttt{eole-report/D01AccesVariables.pdf}
- \end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{Organisation en espace de nommage}
- \begin{itemize}
- \item dans \emph{tiramisu} l'accent est mis sur l'organisation arborescente des données ;
- \item la validation des options de configuration se fait par l'appartenance aux groupes (families, master/slaves \dots) ;
- \item l'organisation en groupes est unifiée par l'espace de nommage ;
- \item \texttt{eole-report/D03ReglesEtats.pdf}
- \item lisibilité d'une config : \texttt{tiramisu/report/build/index.html} rapport html d'une config
- \end{itemize}
-\end{frame}
-
diff --git a/src/doc/eole-report/presentation/statut.tex b/src/doc/eole-report/presentation/statut.tex
deleted file mode 100644
index 1bee414..0000000
--- a/src/doc/eole-report/presentation/statut.tex
+++ /dev/null
@@ -1,61 +0,0 @@
-
-\begin{frame}
- \frametitle{Etats ("status") de la configuration}
- \begin{itemize}
- \item système d'états de la configuration par \emph{droits d'accès} ;
- \item \texttt{read write}, \texttt{read only} ;
- \item correspond à \texttt{freeze}, \texttt{hidden}, \texttt{disabled} \dots ;
- \item \texttt{doc/status.html} ;
- \item \texttt{eole-report/D03ReglesEtats.pdf} ;
- \end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{hidden if in, hidden if not in}
- \begin{itemize}
- \item les hidden if in, disabled if, \dots sont généralisés
- \item dans tiramisu, ce sont des pré-requis sur une (des) variables
- \item \texttt{eole-report/D03ReglesEtats.pdf}
- \item \texttt{doc/consistency.html}
- \end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{un peu de mathématiques : prévenir les deadlocks}
- \begin{itemize}
-\item sûreté : prévention des deadlocks ;
-\item dans tiramisu, le modèle est suffisamment abstrait pour que son exploitation mathématique soit
-réalisable par les techniques de \emph{Model Checking} ;
-\item soit on a besoin de ne connaître que l'ensemble des états, pas leurs liens $\Rightarrow$ espace d'états ;
-\item soit on a besoin de connaître toutes les relations $\Rightarrow$ graphe d'accessibilité ;
-\item la configuration est modélisable en une structure de \emph{Kripe} ;
-\item déjà le parsing de la conf est facile, la preuve : \texttt{tiramisu/report/build/index.html}
- \end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{un peu de mathématiques (suite) CreoleLint}
- \begin{itemize}
-\item exemple : $ P = 3 \wedge Q = 1 \triangleleft \langle P = 1 \hookleftarrow Q = 0 \rangle$
-\item la propriété \og dans aucun état on a $P = 3$ et $Q = 1$ \fg~ est-elle vraie ?
-Pour vérifier cette propriété, on a besoin de connaître l'espace d'états ;
-\item la propriété \og chaque chemin débutant dans un état accessible $P=1$ passe par un état où $Q=3$ et $P=2$ \fg~
-est-elle vraie ? Cela demande de connaître le graphe d'accessibilité ;
-\item les structures de \emph{Kripe} sont des machines à états étiquetées par les valuations de toutes les variables propositionnelles ;
-\item une compliation statique devient possible dans \emph{CreoleLint} \dots
- \end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{compatibilité Créole : ce qui reste à faire}
- \begin{itemize}
-\item les options spéciales sont implémentées (auto, fill, obligatoire, \dots) reste la librairie des fonctions pour les variables automatiques \texttt{eosfunc} ;
-\item tous les états sont implémentés (hidden, disabled, mode (normal/expert), \dots), il faut fixer les comportement \texttt{read write} ;
-\item les "valprec" (valeur précédentes) et une mémoire de \emph{tous} les états antérieurs ;
-\item fixer les comportement des hides (sous-groupes récursifs, \dots) ;
-\item validations master/slaves, validations globales au regard de la configuration entière puisque c'est possible maintenant.
-\end{itemize}
-
-\end{frame}
-
-
diff --git a/src/doc/eole-report/presentation/tiramisu.tex b/src/doc/eole-report/presentation/tiramisu.tex
deleted file mode 100644
index a6067c9..0000000
--- a/src/doc/eole-report/presentation/tiramisu.tex
+++ /dev/null
@@ -1,36 +0,0 @@
-%%presentation
-\documentclass{beamer}
-\usepackage{beamerthemetree}
-%%impression
-%\documentclass[a4paper,9pt]{extarticle}
-%\usepackage{beamerarticle}
-%%
-
-% class FR
-\usepackage[T1]{fontenc}
-\usepackage[utf8]{inputenc}
-\usepackage[frenchb]{babel}
-
-% image
-%% \usepackage{graphicx}
-\usepackage{alltt}
-\usecolortheme{crane}
-\beamertemplatetransparentcovered
-%\logo{\includegraphics[height=1cm]{ban.png}}
-
-\title{Tiramisu}
-\subtitle{gestionnaire de configuration}
-\author{Gwen}
-\institute{\texttt{git clone git://git.labs.libre-entreprise.org/tiramisu.git} \\
-\texttt{firefox tiramisu/doc/build/index.html}}
-
-\date{\today}
-
-\begin{document}
-\frame{\titlepage}
-
-\include{definition}
-\include{statut}
-
-\end{document}
-
diff --git a/src/doc/epydoc.sh b/src/doc/epydoc.sh
deleted file mode 100755
index f83252f..0000000
--- a/src/doc/epydoc.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-epydoc --css grayscale -o ./build/pydoc ../*.py #config.py ../option.py
-#apirst2html.py --stylesheet=docutils.css --external-api=epydoc --external-api-root=epydoc:./api/ --external-api-file=epydoc:./api/api-objects.txt doc.txt > doc.htm
-
diff --git a/src/doc/gaspacho.txt b/src/doc/gaspacho.txt
deleted file mode 100644
index 457e3e9..0000000
--- a/src/doc/gaspacho.txt
+++ /dev/null
@@ -1,70 +0,0 @@
-- abstract values from `gaspacho`
-
- Les types possibles :
-
- - sans valeur : `boolean`
- - avec valeur : `unicode` (un texte libre), `integer` (un chiffre), `enum` (une liste de choix prédéfinies) et `list` (une liste de choix libres).
-
- Les types sans valeurs sont les plus simples. Par exemple cette règle n’attend
- aucune valeur particulière Vérifier que Firefox est le navigateur par défaut.
-
- Alors que celle-ci attend une adresse IP Configuration du serveur proxy manuelle.
-
- Il existe un autre type (multi) qui permet de mêler plusieurs types.
-
- Il s’agit bien de définir ici le type de la règle (et uniquement de la règle).
-
-- configuration levels in `creole`
-
- *thu, 28 april 2011*
-
- Exemple de niveau de configuration (dans l'ordre) :
-
- 1. - Coeur
-
- 2.
- - Coeur
- - gen_config
-
- 3.
- - Coeur
- - gen_config
- - EAD
-
- 4.
- - Coeur
- - EAD
-
- 5.
- - Coeur
- - baculaconfig.py
-
- (`fill` : calcule une valeur jusqu'à ce que l'utilisateur change la
- valeur)
-
- Gestion des ACL en écriture :
-
- Le coeur charge les variables
-
- - si auto : seul le coeur peut la modifier (cas 1) ;
-
- - si fill : le coeur calcule une valeur tant que pas configuré par
- l'utilisateur. L'utilisateur peut modifier (cas 2 ou 3) ;
-
- - des variables modifiables que par gen_config (cas 2) ;
-
- - des variables modifiables par gen_config ou l'EAD (cas 3) ;
-
- - des variables d'autres applications (cas 4 et 5).
-
- Gestion des ACLs en lecture :
-
- - seule une application peut lire certaines variables (exemple un mot de
- passe).
-
-
-
-
-
-
-
diff --git a/src/doc/getting-started.txt b/src/doc/getting-started.txt
deleted file mode 100644
index 5e8a228..0000000
--- a/src/doc/getting-started.txt
+++ /dev/null
@@ -1,67 +0,0 @@
-==================================
-`Tiramisu` - Getting Started
-==================================
-
-What is Configuration handling ?
-=================================
-
-Due to more and more available configuration options required to set up
-an operating system, it became quite annoying to hand the necessary
-options to where they are actually used and even more annoying to add
-new options. To circumvent these problems the configuration management
-was introduced.
-
-What is Tiramisu ?
-===================
-
-Tiramisu is yet another configuration handler, wich aims at producing
-flexible and fast configuration options access. The main advantages are
-its access :ref:`glossary#rules` and the fact that the configuration 's
-consistency is preserved at any time, see :ref:`glossary#consistency`.
-
-There are type and structures's validations for configuration options,
-and validations towards the whole configuration.
-
-Last but not least, configuration options can be reached and changed
-according to the access rules from nearly everywhere in the OS boxes,
-e.g. the containers via the `http/json` server.
-
-Just the facts
-==============
-
-.. _gettingtiramisu:
-
-Download
----------
-
-To obtain a copy of the sources, check it out from the repository using
-`git`. We suggest using `git` if one wants to access the current development.
-
-::
-
- git clone git://git.labs.libre-entreprise.org/tiramisu.git
-
-This will get you a fresh checkout of the code repository in a local
-directory named ``tiramisu``.
-
-Understanding Tiramisu's architecture
---------------------------------------
-
-The :ref:`glossary#schema` is loaded from an XML file, and the values of
-the configuration options are recovered from a `.ini` like file.
-
-By now, all the in-depth informations about the configuration are stored
-in a **single** object, the :api:`config.Config()` object, wich is
-responsible of nearly everything. All the necessary options are stored
-into a configuration object, which is available nearly everywhere, so
-that adding new options becomes trivial.
-
-This `Config()` is available from everywhere with the help of an http server
-that serves configuration datas as `json` strings.
-
-.. figure:: architecture.png
-
- The basics of Tiramisu's architecture.
- Once loaded, http server serves the :api:`config.Config()` object, that is,
- the configuration options and the configuration groups.
-
diff --git a/src/doc/glossary.txt b/src/doc/glossary.txt
deleted file mode 100644
index e041090..0000000
--- a/src/doc/glossary.txt
+++ /dev/null
@@ -1,97 +0,0 @@
-.. default-role:: literal
-
-glossary
-==========
-
-.. _configuration:
-
-**configuration**
-
- Global configuration object, wich contains the whole configuration
- options *and* their descriptions (option types and group)
-
-.. _`option description`:
-.. _`schema`:
-
-**schema**:
-**option description**
-
- see :api:`option.OptionDescription`, see :ref:`optionapi#schema`
-
- The schema of a configuration :
-
- - the option types
-
- - how they are organised in groups or even subgroups, that's why we
- call them **groups** too.
-
-.. _`configoption`:
-
-**configuration option**
-
- An option object wich has a name and a value and can be accessed
- from the configuration object
-
-.. _`defaultvalue`:
-
-**default value**
-
- Default value of a configuration option. The default value can be
- set at instanciation time, or even at any moment. Remember that if
- you reset the default value, the owner reset to `default`
-
-.. _`rules`:
-
-**acces rules**
-
- Access rules are : :api:`config.Config.cfgimpl_read_write()` or
- :api:`config.Config.cfgimpl_read_only()`, see :doc:`status`
-
-**freeze**
-
- A whole configuration can be frozen (used in read only access). See
- :doc:`status` for details.
-
-.. _`valueowner`:
-
-**value owner**
-
- When an option is modified, including at the instanciation, we
- always know who has modified it. It's the owner of the option, see
- :doc:`status` for more details.
-
-**hidden option**
-
- a hidden option has a different behaviour on regards to the access
- of the value in the configuration, see :doc:`status` for more details.
-
-**disabled option**
-
- a disabled option has a different behaviour on regards to the access
- of the value in the configuration, see :doc:`status` for more details.
-
-**fill option**
-
- a fill option is like an automatic option except that it is
- calculated only if a value hasn't been set.
-
-**auto option**
-
- an automatic option is an option thas is carried out by an external
- calculation
-
-.. _mandatory:
-
-**mandatory option**
-
- A mandatory option is a configuration option wich value has to be
- set, that is the default value cannot be `None`, see
- :ref:`optionapi#optioninit`
-
-
-.. _consistency:
-
-**consistency**
-
- Preserve the consistency in a whole configuration is a tricky thing,
- tiramisu takes care of it for you, see :doc:`consistency` for details.
diff --git a/src/doc/index.txt b/src/doc/index.txt
deleted file mode 100644
index dab64cb..0000000
--- a/src/doc/index.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-.. default-role:: literal
-
-.. meta::
-
- :description: configuration management
- :keywords: config, configuration
-
-.. title:: tiramisu
-
-.. |version| replace:: 0.1
-
-The tasting of `Tiramisu`
-=========================
-
-.. image:: tiramisu.jpeg
- :height: 150px
-
-`Tiramisu`
-
- is a cool, refreshing Italian dessert,
-
- it is also a configuration management tool.
-
-
-It's a pretty small, local (that is, straight on the operating system)
-configuration handler.
-
-- :doc:`getting-started`: where to go from here,
-- :doc:`config` explains the good praticies of configuration handling,
-- :doc:`configapi` and :doc:`optionapi` describe the API's details,
-- :doc:`status` for a summary of the `Option`'s and `Config`'s statuses,
-- :doc:`consistency` for the local and global integrity constraints,
-
-
-- :doc:`glossary` describes the specific terms used in Tiramisu.
-- :doc:`pydoc/index` for the developer's API
-
-
-
-
diff --git a/src/doc/optionapi.txt b/src/doc/optionapi.txt
deleted file mode 100644
index c3c534a..0000000
--- a/src/doc/optionapi.txt
+++ /dev/null
@@ -1,127 +0,0 @@
-.. default-role:: literal
-
-Options API Details
-=====================
-
-:module: :api:`option.py`
-
-.. _schema:
-
-Description of Options
-----------------------
-
-All the constructors take a ``name`` and a ``doc`` argument as first
-arguments to give the option or option group a name and to document it.
-Most constructors take a ``default`` argument that specifies the default
-value of the option. If this argument is not supplied the default value
-is assumed to be ``None``.
-
-Appart from that, the `Option` object is not supposed to contain any
-other value than the `tainted` attribute, which is explained later. The
-container of the value is in the `Config` object.
-
-``OptionDescription``
-+++++++++++++++++++++
-
-This class is used to group suboptions.
-
- ``__init__(self, name, doc, children)``
- ``children`` is a list of option descriptions (including
- ``OptionDescription`` instances for nested namespaces).
-
- ``set_group_type(self, group_name)``
- Three available group_types : `default`, `family`, `group` and
- `master` (for master~slave group type). Notice that for a
- master~slave group, the name of the group and the name of the
- master option are identical.
-
-`Options description` objects lives in the `_cfgimpl_descr` config attribute.
-
-If you need to access an option object, you can do it with the OptionDescription
-object. Not only the value of the option by attribute access, but the option
-object itself that lives behind the scene. It can always be accessed internally
-with the `_cfgimpl_descr` attribute of the `config` objects. For example, with a
-option named `name` in a `gc` group the `name` object can be accessed like
-this::
-
- conf._cfgimpl_descr.name
-
-of sub configs with ::
-
- conf.gc._cfgimpl_descr.name
-
-This is a binding. The option objects are in the `_children` config's attribute.
-
-Why accessing an option object ? It is possible for example freeze the
-configuration option
-
-::
-
- conf.gc._cfgimpl_descr.dummy.freeze()
-
-or to hide it, or disable it, or... anything.
-
-.. _optioninit:
-
-generic option ``__init__`` method:
-
- ``__init__(name, doc, default=None, requires=None, multi=False, mandatory=False)``
-
- :``default``: specifies the default value of the option.
- :``requires``: is a list of names of options located anywhere in the configuration.
- :``multi``: means the value can be a list.
- :``mandatory``: see :ref:`glossary#mandatory`.
-
-.. _optiontype:
-
-``BoolOption``
-++++++++++++++
-
-Represents a choice between ``True`` and ``False``.
-
-``IntOption``
-+++++++++++++
-
-Represents a choice of an integer.
-
-``FloatOption``
-+++++++++++++++
-
-Represents a choice of a floating point number.
-
-``StrOption``
-+++++++++++++
-
-Represents the choice of a string.
-
-``SymLinkOption``
-++++++++++++++++++
-
-Redirects to another configuration option in the configuration, that is :
-
-- retrieves the value of the tagert,
-- can set the value of the target too.
-
- ``__init__(self, name, path)``
-
- `path` is the path to the target, the option
-
-``IPOption``
-+++++++++++++
-
-Represents the choice of an ip.
-
-``NetmaskOption``
-+++++++++++++++++++
-
-Represents the choice of a netmask.
-
-``ChoiceOption``
-++++++++++++++++
-
-Represents a choice out of several objects. The option can also have the value
-``None``.
-
- ``__init__(self, name, doc, values, default=None, requires=None)``
- ``values`` is a list of values the option can possibly take.
-
diff --git a/src/doc/rst2html.py b/src/doc/rst2html.py
deleted file mode 100755
index 3e356f3..0000000
--- a/src/doc/rst2html.py
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/python
-# unproudly borrowed from David Goodger's rst2html.py
-
-"""
-A minimal front end to the Docutils Publisher, producing HTML.
-"""
-
-try:
- import locale
- locale.setlocale(locale.LC_ALL, '')
-except:
- pass
-
-from docutils.core import publish_cmdline, default_description
-# ____________________________________________________________
-from docutils import nodes, utils
-from docutils.parsers.rst import roles
-
-"""
-description of the new roles:
-
-`:api:` : link to the code
-
-- code.py becomes api/code.html
-- code.Code.code_test becomes api/code.Code.code_test.html
-- code.Code() becomes api/code.Code.html
-
-`:doc:`a link to an internal file
-example become example.html
-
-ref: link with anchor as in an external file
-
-:ref:`toto#titi` becomes toto.html#titi
-"""
-from os.path import splitext
-
-def api_reference_role(role, rawtext, text, lineno, inliner,
- options={}, content=[]):
- basename = text
- if "(" in text:
- basename = text.split("(")[0]
- if ".py" in text:
- basename = splitext(text)[0]
- if "test_" in text:
- refuri = "api/" + "tiramisu.test." + basename + '.html'
- else:
- refuri = "api/" + "tiramisu." + basename + '.html'
- roles.set_classes(options)
- node = nodes.reference(rawtext, utils.unescape(text), refuri=refuri,
- **options)
- return [node], []
-
-roles.register_local_role('api', api_reference_role)
-
-def doc_reference_role(role, rawtext, text, lineno, inliner,
- options={}, content=[]):
- refuri = text + '.html'
- roles.set_classes(options)
- node = nodes.reference(rawtext, utils.unescape(text), refuri=refuri,
- **options)
- return [node], []
-
-roles.register_local_role('doc', doc_reference_role)
-
-def ref_reference_role(role, rawtext, text, lineno, inliner,
- options={}, content=[]):
- fname, anchor = text.split('#')
- refuri = fname + '.html#' + anchor
- roles.set_classes(options)
- node = nodes.reference(rawtext, utils.unescape(anchor), refuri=refuri,
- **options)
- return [node], []
-
-roles.register_local_role('ref', ref_reference_role)
-
-# ____________________________________________________________
-
-description = ('Generates (X)HTML documents from standalone reStructuredText '
- 'sources. ' + default_description)
-
-publish_cmdline(writer_name='html', description=description)
-
diff --git a/src/doc/status.txt b/src/doc/status.txt
deleted file mode 100644
index 23de627..0000000
--- a/src/doc/status.txt
+++ /dev/null
@@ -1,181 +0,0 @@
-.. default-role:: literal
-
-Configuration status
-======================
-
-:module: :api:`config.py`
-:tests: - :api:`test_option_owner.py`
- - :api:`test_option_type.py`
- - :api:`test_option_default.py`
-
-Available configuration statuses
-----------------------------------
-
-These configuration statuses corresponds to specific global attributes :
-
-**read write status**
-
- The configuration can be accessed by `__get__` and `__set__`
- properties, except for the `hidden` configuration options but, yes, it is
- possible to modify a disabled option.
-
- To enable read-write status, call
- :api:`config.Config.cfgimpl_read_write()`
-
-**read only status**
-
- The whole configuration is `frozen`, that is modifiying a value is
- forbidden. We can access to a configuration option only with the
- `__getattr__` property.
-
- The configuration has not an access to the hidden options
- but can read the disabled options.
-
- To enable read only status, call :api:`config.Config.cfgimpl_read_only()`
-
-.. csv-table:: **Configuration's statuses summary**
- :header: " ", "Hidden", "Disabled", "Mandatory"
-
- "read only status", `False`, `True`, `True`
- "read-write status", `True`, `False`, `False`
-
-Freezing a configuration
----------------------------
-
-It is possible to *freeze* a single `Option` object with
-:api:`option.Option.freeze()`. If you try to modify a frozen option, it
-raises a `TypeError: trying to change a frozen option object`.
-
-At the configuration level, :api:`config.Config.cfgimpl_freeze()` freeze
-the whole configuration options.
-
-- :api:`test_option_type.test_freeze_one_option()`
-- :api:`test_option_type.test_frozen_value()`
-- :api:`test_option_type.test_freeze()`
-
-
-Restricted access to an `Option()`
------------------------------------
-
-Configuration options access statuses are defined at configuration level
-that corresponds to theses :api:`option.Option()`'s attribute:
-
-**hidden**
-
- This means that an option raises an `HiddenOptionError` if we try to access
- the value of the option.
-
- See `hide()` or `show()` in `Option()` that comes from
- :api:`option.HiddenBaseType`
-
-corresponding convenience API provided:
-
- `hide()`:
- set the `hidden` attribute to `True`
-
- `show()`:
- set the `hidden` attribute to `False`
-
-**disabled**
-
- This means that an option *doesn't exists* (doesn't say anything
- much more thant an `AttibuteAccess` error)
-
- See in :api:`option.DisabledBaseType` the origins of
- `Option.enable()` or `Option.disable()`
-
-corresponding convenience API provided:
-
- `disable()`:
- set the `disabled` attribute to `True`
-
- `enable()`:
- set the `disabled` attribute to `False`
-
-mode
-
- a mode is `normal` or `expert`, just a category of `Option()` or
- group wich determines if an option is easy to choose or not,
- available methods are:
-
- `get_mode()`:
- returns the current mode
-
- `set_mode(mode)`:
- sets a new mode
-
- see it in :api:`option.ModeBaseType`
-
-Value owners
--------------
-
-Every configuration option has a **owner**. When the option is
-instanciated, the owner is `default` because a default value has been
-set (including `None`, take a look at the tests).
-
-The `value_owner` is the man who did it. Yes, the man who changed the value of the
-configuration option.
-
-- At the instance of the `Config` object, the value owner is `default` because
- the default values are set at the instance of the configuration option object,
-
-::
-
- # let's expect there is an option named 'name'
- config = Config(descr, bool=False)
- # the override method has been called
- config._cfgimpl_value_owners['name'] == 'default'
-
-- at the modification of an option, the owner is `default_owner`, (which is `user`)
-
-::
-
- # modification of the value by attribute access
- config.gc.dummy = True
- assert config.gc._cfgimpl_value_owners['dummy'] == 'user'
- assert config._cfgimpl_values['gc']._cfgimpl_value_owners['dummy'] == 'user'
-
-- the default owner can be set with the `set_owner()` method
-
-::
-
- config.set_owner('spam')
- config.set(dummy=True)
- assert config.gc._cfgimpl_value_owners['dummy'] == 'spam'
- assert config._cfgimpl_values['gc']._cfgimpl_value_owners['dummy'] == 'spam'
-
-Special owners
----------------
-
-If the owner of a configuration option is `auto` or `fill` the behavior of the
-access of the value changes. In fact, there is nothing in the value.
-The value comes from somewhere else (typically, it is calculated by the
-operation system).
-
-**auto**
-
- This means that it is a calculated value and therefore automatically
- protected it cannot be modified by attribute access once the owner
- is `auto`.
-
- The configuration option is hidden and a fonction in a specific
- library is called for the computation of the value.
-
-**fill**
-
- if the configuration option has a default value, the default is
- returned, otherwise the value is calculated
-
-The default values behavior
-----------------------------
-
-Configuration options have default values that are stored in the
-`Option()` object itself. Default values, the `default`, can be set in
-various ways.
-
-.. FIXME : ADD DETAILS HERE
-
-If a default value is modified by overriding it, not only the value of
-the option resets to the default that is proposed, but the owner is
-modified too, it is reseted to `default`.
-
diff --git a/src/doc/todo.txt b/src/doc/todo.txt
deleted file mode 100644
index 7f89337..0000000
--- a/src/doc/todo.txt
+++ /dev/null
@@ -1,126 +0,0 @@
-:date: 20 janvier 2012
-
-créer une variable implicite cachée
-
-::
-
-
- non
-
-si la variable n'existe pas, elle est crée avec une valeur par défaut
-
-cela permet une alternative aux dépendances (pour ne pas installer un
-paquet inutilement)
-
-coder ça exactement comme les hidden ou les disabled, avec une levée
-d'exception supplémentaire comme filtre.
-
-:date: 20 janvier 2012
-
-coder un cache pour les options dont le propriétaire est "auto" ou "fill"
-mettre ça dans un attribut `_cache` de l'option
-
-mettre une contrainte de temps dans le cache
-
-- pouvoir forcer le recalcul de toutes les variables (vider le cache)
- globalement dans toute la config
-
-- mettre une contrainte de temps donnée
- expires = timestamp + deltatime
-
-:date: 17 avril
-
-- lever une exception parlante (pour l'instant, c'est une "KeyError")
- lorsqu'on essaye d'affecter quelque chose
- à un groupe, genre
-
-::
-
- cfg = Config(descr)
- cfg.gc = "uvw"
-
-alors que gc est un groupe
-
-:date: 12 avril
-
-- faire un mode dégradé avec des warnings
-- validations de longueur des maitres/esclaves ailleurs à sortir des requires
- et à mettre dans des validators
-
-:date: 3 avril 2012
-
-- hide sur les sous-sous groupe : il faut que ça hide **tout** les sous-groupe
- récursivement
-
-groupes `master/slaves`:
-
- faut-il coder les multi avec des requires, ou bien simplement
- un groupe avec comme variable le nom du groupe ?
-
-auto, fill, obligatoire
-
-2012-03-22
-
- **groupe master**
-
- faire une api du genre : `Option().is_master()`
- pour cela, tester `if self.parent._name == self._name: return True`
-
-- mettre un attribut `auto` aux options de configuration, de manière à
- ce qu'elles sachent quelle fonction eos appeler (que ça soit une info
- dans l'option ou bien au niveau de la config ?)
- le fait de détecter un "auto" vient du owner, mais il faut savoir
- quelle fonction appeler
-
-A documenter
--------------
-
-- les variables multiples
-- expliquer les urls du json dans la doc
-- documenter le typage des options descriptions descr_type
-
-A ajouter
----------
-
-Option -> attribut help (en plus de doc)
- get_help() (à mettre en class Type avec Doc aussi)
-
-separator -> pas pour l'instant
-
-fill, auto, obligatoire
-
-nouveau type :
-
-type option (dérivé de ChoiceOPtion) dans lequel il y a des nouvelles valeurs
-possibles (pas de validations) ou plutôt une StringOption qui propose un choix
-de valeurs par défault de type liste.
-
-:date: 24 mars
-
-- hide pour les sous-sous config (récursivement) et pas seulement une
- seule sous-config (ou bien, quelque chose de réglable)
-
-- validate global : vérifier à l'init de la conf qu'une variable
- n'existe pas déjà, etc
-
-:date: 26 janvier
-
-- un attribut eosfunc pour auto + les paramètres à donner à la fonction
- pareil pour le fill (function et paramètres)
-
-reset
--------
-
-**à discuter** : ça correspond exactement au override,
-ou bien au opt.setoption(None, 'default')
-
-**si la valeur par défaut est définie, un __get__ ne pourra jamais
-renvoyer None.** ce qui est bloquant. Il faut pouvoir revenir à None.
-
-pour supprimer la valeur d'une options (et revenir à la valeur par défault)
-cfg.reset() (supprime _cfgimpl_value[name]) et _cfgimpl_value_owner[name])
-
-reset()
-