Ajout de styles sur les titres
[oeodf/todolist_ods_builder.git] / ods.py
diff --git a/ods.py b/ods.py
index 1f07b0f..0ea4370 100644 (file)
--- a/ods.py
+++ b/ods.py
@@ -1,16 +1,17 @@
 #-*- coding: utf-8 -*-
 """
-Module contenant le code permettant de créer des feuilles ods contenant les tâches pour chaque contener.
+Module contenant le code permettant de créer des feuilles ods contenant
+les tâches pour chaque contener.
 """
 
 from odf.opendocument import OpenDocumentSpreadsheet
-from odf.style import Style, TextProperties, TableColumnProperties,\
-ParagraphProperties
+from odf.style import Style, TextProperties,\
+    TableColumnProperties, ParagraphProperties, GraphicProperties
 from odf.text import P
 from odf.table import Table, TableColumn, TableRow, TableCell
 
 
-def create_cell(text):
+def create_cell(text, style=None):
     """
     Permet de créer une cellule contenant le text.
 
@@ -18,25 +19,36 @@ def create_cell(text):
 
     Revoit une cellule TableCell
     """
-    tc = TableCell()
+    if style == None:
+        tc = TableCell()
+    else:
+        tc = TableCell(stylename=style)
     tc.addElement(P(text=text))
     return tc
 
 
 def create_doc(containers, container_tasks):
     """
-    Permet de créer un document ods comprenant une feuille pour chaque contener, avec la liste des tâches.
+    Permet de créer un document ods comprenant une feuille
+    pour chaque contener, avec la liste des tâches.
 
     containers : une liste de dictionnaires de containers
-    tasks : un dictionnaire qui assosie à chaque ID de container la liste des tâches qu'il contient
+    tasks : un dictionnaire qui assosie à chaque ID de container
+    la liste des tâches qu'il contient
     """
     document = OpenDocumentSpreadsheet()
     tablecontents = Style(name="Table Contents", family="paragraph")
-    tablecontents.addElement(ParagraphProperties(numberlines="false", linenumber="0"))
+    tablecontents.addElement(ParagraphProperties(numberlines="false",
+                                                 linenumber="0"))
     document.styles.addElement(tablecontents)
 
-    #container_keys = ['name','description']
-    task_keys = ['name', 'description', 'manday', 'priority', 'state', 'planned', 'milestone']
+    bbb= Style(name="bbb", family="table-cell")
+    bbb.addElement(TextProperties(fontweight="bold", fontsize="11", color="#1FA055"))
+    document.automaticstyles.addElement(bbb)
+
+    #container_keys = ["name", "description", "target", "milestone"]
+    task_keys = ['name', 'description', 'manday', 'priority', 'state',
+                 'planned', 'milestone']
 
     for c in containers:
         table = Table(name=c['name'])
@@ -46,19 +58,19 @@ def create_doc(containers, container_tasks):
 
         tr = TableRow()
         table.addElement(tr)
-        tr.addElement(create_cell("Name"))
+        tr.addElement(create_cell("Name", "bbb"))
         tr.addElement(create_cell(c["name"]))
         tr.addElement(create_cell(""))
-        tr.addElement(create_cell("Target"))
+        tr.addElement(create_cell("Target", "bbb"))
         tr.addElement(create_cell(c["target"]))
+        tr.addElement(create_cell(""))
+        tr.addElement(create_cell("Milestone", "bbb"))
+        tr.addElement(create_cell(c["milestone"]))
 
         tr = TableRow()
         table.addElement(tr)
-        tr.addElement(create_cell("Description"))
+        tr.addElement(create_cell("Description", "bbb"))
         tr.addElement(create_cell(c["description"]))
-        tr.addElement(create_cell(""))
-        tr.addElement(create_cell("Milestone"))
-        tr.addElement(create_cell(c["milestone"]))
 
         if not tasks:
             continue
@@ -69,16 +81,16 @@ def create_doc(containers, container_tasks):
         tr = TableRow()
         table.addElement(tr)
         for k in task_keys:
-            tc = TableCell()
-            tc.addElement(P(text=k))
+            tc = TableCell(stylename="bbb")
             tr.addElement(tc)
+            tc.addElement(P(text=k.capitalize()))
 
         for t in tasks:
             tr = TableRow()
             table.addElement(tr)
             for tk in task_keys:
                 tc = TableCell()
-                tc.addElement(P(text=t[tk]))
                 tr.addElement(tc)
+                tc.addElement(P(text=t[tk]))
 
-    document.save("Mes todolist.ods")
\ No newline at end of file
+    document.save("Mes_todolist.ods")