From 60be4250b777a0357f091607a2fc8691428d06b8 Mon Sep 17 00:00:00 2001 From: Alicia FLOREZ Date: Thu, 28 Mar 2013 16:41:26 +0100 Subject: [PATCH] Ajout de styles sur les titres --- ods.py | 52 ++++++++++++++++++++++++++++++++-------------------- odsgen | 27 ++++++++++++--------------- oe.py | 3 ++- 3 files changed, 46 insertions(+), 36 deletions(-) diff --git a/ods.py b/ods.py index 1f07b0f..0ea4370 100644 --- 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") diff --git a/odsgen b/odsgen index 5fe52bd..dc88f19 100644 --- a/odsgen +++ b/odsgen @@ -3,9 +3,8 @@ #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): @@ -18,16 +17,11 @@ 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: @@ -35,14 +29,17 @@ if __name__ == '__main__': 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") diff --git a/oe.py b/oe.py index 622bfca..f47aef8 100644 --- a/oe.py +++ b/oe.py @@ -1,7 +1,8 @@ #-*- coding: utf-8 -*- """ -Module contenant le code permettant d'aller chercher les informations dans OpenERP. +Module contenant le code permettant d'aller +chercher les informations dans OpenERP. """ -- 1.7.10.4