class SimpleTitleElement(Table): def __init__(self, title, **attributes): Table.__init__(self, **attributes) self.row = TableRow() self.cell = TableCell() self.set(self.row) self.row.set(self.cell) self.h1 = Header(level=1) self._font = Font(color='gold') self.cell.set(self.h1) self.h1.set(self._font) self.set_title(title) def set_font(self, **attributes): self._font.attributes.clear() self._font.attributes.update(attributes) def set_title(self, title): self._title = title self._font.set(self._title) # use this to make action links to the right of the title def create_rightside_table(self): self._rstable = Table(border=0) self.row.append(TableCell(self._rstable, align='right')) def append_rightside_anchor(self, anchor): row = TableRow() self._rstable.append(row) cell = TableCell(align='right', rowspan=1) row.set(cell) font = Font(color='gold') cell.set(font) font.set(anchor)
def append_rightside_anchor(self, anchor): row = TableRow() self._rstable.append(row) cell = TableCell(align='right', rowspan=1) row.set(cell) font = Font(color='gold') cell.set(font) font.set(anchor)
def _set_generic_entity(self, entity): db = self.app.db # edata = db.get(entityid) # main = edata['main'] # extras = edata['extras'] # tags = edata['tags'] # set name and main action links name = TableHeader(str(entity.name), colspan=2, align="center") name_row = TableRow(name) self.set(name_row) edit_anchor = Anchor("(edit)", href=myurl.make("edit", "entity", str(entity.entityid))) delete_anchor = Anchor("(delete)", href=myurl.make("delete", "entity", str(entity.entityid))) cell = TableCell(edit_anchor) self.append(TableRow(cell)) cell = TableCell(delete_anchor) self.append(TableRow(cell)) # set type cell = TableCell("type: %s" % str(entity.type), colspan=2) self.append(TableRow(cell)) # extra fields if entity.extfields: self.append(TableRow(TableCell(Bold("Extra Fields")))) for field in entity.extfields: label = str("%s: %s" % (field, str(entity.extfields[field].value))) cell = TableCell(label) self.append(TableRow(cell)) # back to main data if entity.url: urlanchor = Anchor("url", href=str(entity.url)) self.append(TableRow(TableCell(urlanchor, colspan=2))) if entity.desc: self.append(TableRow(TableCell(Bold("Description"), colspan=2))) desc = Paragraph(str(entity.desc)) cell = TableCell(desc) self.append(TableRow(cell, colspan=2)) # handle tags tagrow = TableRow() tagrow.append(TableCell(Bold("Tags"), colspan=2)) span = Span(style="font-size: xx-small") add_anchor = Anchor("(add)", href=myurl.make("addtag", "entity", str(entity.entityid))) del_anchor = Anchor("(remove)", href=myurl.make("deltag", "entity", str(entity.entityid))) span.set(add_anchor) span.append(del_anchor) cell = TableCell(span, colspan=2) tagrow.append(cell) self.append(tagrow) for tag in entity.tags: row = TableRow() cell = TableCell(str(tag.tagname)) row.set(cell) self.append(row)
def set_info_manually(self, guests): for row in guests: table = GuestTable(self.app) table.set_info(row['guestid']) cell = TableCell(table) trow = TableRow(cell) self.maintable.append(trow) splitrow = TableRow(bgcolor='Blue') splitrow.set(TableCell(bgcolor='Blue')) self.maintable.append(splitrow)
def set_info(self): guests = self.app.guests.get_guest_rows() for row in guests: table = GuestTable(self.app) table.set_info(row['guestid']) cell = TableCell(table) trow = TableRow(cell) self.maintable.append(trow) splitrow = TableRow(bgcolor='Blue') splitrow.set(TableCell(bgcolor='Blue')) self.maintable.append(splitrow)