#-*- 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.
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'])
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
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")
#odf : 608
import openerplib
-from oe import *
-from ods import *
-#from getpass import getpass
+from oe import get_containers, get_tasks
+from ods import create_doc
def get_user_name(connection, user_login):
if __name__ == '__main__':
-# login = raw_input('Utilisateur: ')
-# password = getpass('Mot de passe: ')
-
connection = openerplib.get_connection(
hostname='localhost',
database='testing',
-# login = login,
-# password = password
- login = "admin",
- password = "admin",
+ login="admin",
+ password="admin",
)
try:
except:
print('Serveur éteint ou Identifiants incorrects')
else:
- print('Test sur res.user : %s' % (get_user_name(connection, 'admin') == 'Administrator'))
+ print('Test sur res.user : %s' %
+ (get_user_name(connection, 'admin') == 'Administrator'))
containers = get_containers(connection)
- tasks = {c["id"]: get_tasks(connection, c["tasks"]) for c in containers}
+ tasks = {c["id"]: get_tasks(connection,
+ c["tasks"]) for c in containers}
- #============================================================================
+ #======================================================================
# _tasks = []
# for c in containers:
# _tasks[c["id"]] = get_tasks(connection, c["tasks"])
- #============================================================================
+ #======================================================================
- create_doc(containers, tasks)
\ No newline at end of file
+ create_doc(containers, tasks)
+ #SplitAllSheets("Mes_todolist.ods")