def read_schedule(self, fname): schedule = xml_parse( fname ) checker = ScheduleChecker() if not checker.validate(schedule, fname): raise MalformedProjectFile(str(checker)) activities = Table(default_value=None, col_names=['begin', 'end', 'resource', 'task', 'usage', 'src']) tasks = Table(default_value=None, col_names=['begin', 'end', 'status', 'cost', 'unit']) costs = Table(default_value=None, col_names=['task', 'resource', 'cost', 'unit']) for task in schedule.findall("task"): t_id = task.get('id') tasks.create_row( t_id ) global_cost = task.find("global-cost") tasks.set_cell_by_ids(t_id, 'unit', global_cost.get('unit')) tasks.set_cell_by_ids(t_id, 'cost', float(global_cost.text) ) tasks.set_cell_by_ids(t_id, 'status', task.find('status').text ) for cd in task.findall("contraint-date"): date = iso_date( cd.text ) if cd.get('type') == 'begin-at-date': tasks.set_cell_by_ids( t_id, 'begin', date ) elif cd.get('type') == 'end-at-date': tasks.set_cell_by_ids( t_id, 'end', date ) for ct in task.findall("constraint-task"): pass #raise NotImplementedError("constraint-task not implemented in schedule") for report in task.findall("report-list/report"): activities.append_row( (iso_date(report.get('from')), iso_date(report.get('to')), report.get('idref'), t_id, float(report.get('usage')) ) ) for cost in task.findall("costs_list/cost"): costs.append_row( (t_id, cost.attrib['idref'],float(cost.text),None) ) for milestone in schedule.findall("milestone"): t_id = milestone.get('id') cd = milestone.find("constraint-date") date = iso_date( cd.text ) self.project.milestones[t_id] = date self.project.add_schedule(activities) self.project.tasks = tasks self.project.costs = costs self.project.nb_solution = 1 # if we read a schedule from an xml file,
def test_valeur_colonne(self): tab = Table() tab.create_columns(['col1']) tab.append_row([1]) tab.append_row([2]) self.assertEqual(tab, [[1], [2]]) self.assertEqual(tab[:, 0], [1, 2])
def setUp(self): self.stream = StringIO() self.table = Table() self.table.create_rows(['row1', 'row2', 'row3']) self.table.create_columns(['col1', 'col2']) self.writer = DocbookTableWriter(self.stream, self.table, None) self.writer.set_renderer(DocbookRenderer())
def setUp(self): self.renderer = DocbookRenderer(alignment=True) self.table = Table() self.table.create_rows(['row1', 'row2', 'row3']) self.table.create_columns(['col1', 'col2']) self.style = TableStyle(self.table) self.base_renderer = TableCellRenderer()
def setUp(self): self.table = Table() self.table.create_rows(['row1', 'row2', 'row3']) self.table.create_columns(['col1', 'col2']) self.style = TableStyle(self.table) self._tested_attrs = (('size', '1*'), ('alignment', 'right'), ('unit', ''))
def setUp(self): """Creates a default table""" # from logilab.common import table # reload(table) self.table = Table() self.table.create_rows(['row1', 'row2', 'row3']) self.table.create_columns(['col1', 'col2'])
def test_valeur_scalaire(self): tab = Table() tab.create_columns(['col1']) tab.append_row([1]) self.assertEqual(tab, [[1]]) tab.append_row([2]) self.assertEqual(tab[0, 0], 1) self.assertEqual(tab[1, 0], 2)
def setUp(self): """Builds a simple table to test the stylesheet """ self.table = Table() self.table.create_row('row1') self.table.create_columns(['a', 'b', 'c']) self.stylesheet = TableStyleSheet() # We don't want anything to be printed self.stdout_backup = sys.stdout sys.stdout = StringIO()
def setUp(self): t = Table() t.create_columns(['date', 'res', 'task', 'usage']) t.append_row(['date1', 'ing1', 'task1', 0.3]) t.append_row(['date1', 'ing2', 'task2', 0.3]) t.append_row(['date2', 'ing3', 'task3', 0.3]) t.append_row(['date3', 'ing4', 'task2', 0.3]) t.append_row(['date1', 'ing1', 'task3', 0.3]) t.append_row(['date3', 'ing1', 'task3', 0.3]) self.table = t
def test_valeur_ligne(self): tab = Table() tab.create_columns(['col1', 'col2']) tab.append_row([1, 2]) self.assertEqual(tab, [[1, 2]])