コード例 #1
0
def generate_odf(template_path, fields, output_path):
    """Generate document in output_path from input_path using fields."""

    # Create document from template.
    document = odf_new_document_from_template(template_path)

    content = document.get_content()
    body = content.get_body()
    meta = document.get_part(ODF_META)

    # Set properties.
    meta.set_modification_date(datetime.today())
    meta.set_creation_date(datetime.today())
    meta.set_initial_creator(fields[DOCUMENT_CREATOR] if DOCUMENT_CREATOR in
                             fields else MODULE_NAME)
    meta.set_editing_cycles(1)
    meta.set_generator(MODULE_NAME)

    # Now, set field values. Ignore non-text values for now.
    type = 'string'
    for field_name, value in fields.items():
        field = body.get_user_field_decl(field_name)
        value_string = 'office:{0}-value'.format(type)

        field.set_attribute('office:value-type', type)
        field.set_attribute(value_string, value)
        field.set_attribute('office:value', value)

    # Now save document.
    #raise RuntimeError("Not implemented: {0} - {1} - {2}".format(
    #    template_path, output_path, ':'.join([value_string, value])))
    document.save(target=output_path, pretty=True)
コード例 #2
0
from lpod.span import odf_create_span
from lpod.template import stl_odf
from lpod.vfs import vfs


def get_namespace(homme=False):
    return {u"titre": u"Test de STL no 1",
            u"date": date.today().strftime(u"%d/%m/%Y"),
            u"homme": homme,
            u"genre": u"M." if homme else u"Mme",
            u"nom": u"Michu",
            u"enum1": {'label': u"Revenu", 'value': 1234.56},
            u"enum2": {'label': u"Âge", 'value': 65},
            u"couleur": u"rouge",
            u"gras": u"gras comme un moine",
            u"élément": odf_create_span(u"élément", style='T2')}


if __name__ == '__main__':
    try:
        output = argv[1]
    except IndexError:
        print >>stderr, "Usage: %s <output document>" % argv[0]
        exit(1)
    document = odf_new_document_from_template('test_template.ott')
    stl_odf(document, get_namespace())
    if vfs.exists(output):
        vfs.remove(output)
    document.save(output)
    print 'Document "%s" generated.' % output
コード例 #3
0
from datetime import datetime

from lpod import __version__, ODF_META
from lpod.document import odf_new_document_from_template
from lpod.datatype import Date, DateTime
from lpod.variable import odf_create_user_field_get
#from lpod.element import get_user_field_decl
#lpod.element.odf_element method get_user_field_decl

# Defining paths and files
templatepath = './Test.ott'
documentpath = './Test.odt'

# Create the document object
document = odf_new_document_from_template(templatepath)
content = document.get_content()
body = content.get_body()
meta = document.get_part(ODF_META)

# Set meta values
meta.set_modification_date(datetime.today())
meta.set_creation_date(datetime.today())
meta.set_initial_creator("creator")
meta.set_editing_cycles(1)
meta.set_generator("Python")

# Set the field contents...(To be done)
fields = body.get_user_field_decl_list()
print
print "The list: "
コード例 #4
0
 def test_drawing_template(self):
     uri = '../templates/drawing.otg'
     self.assert_(odf_new_document_from_template(uri))
コード例 #5
0
 def test_presentation_template(self):
     uri = '../templates/presentation.otp'
     self.assert_(odf_new_document_from_template(uri))
コード例 #6
0
 def test_spreadsheet_template(self):
     uri = '../templates/spreadsheet.ots'
     self.assert_(odf_new_document_from_template(uri))
コード例 #7
0
 def test_text_template(self):
     uri = '../templates/text.ott'
     self.assert_(odf_new_document_from_template(uri))
コード例 #8
0
        u"date": date.today().strftime(u"%d/%m/%Y"),
        u"homme": homme,
        u"genre": u"M." if homme else u"Mme",
        u"nom": u"Michu",
        u"enum1": {
            'label': u"Revenu",
            'value': 1234.56
        },
        u"enum2": {
            'label': u"Âge",
            'value': 65
        },
        u"couleur": u"rouge",
        u"gras": u"gras comme un moine",
        u"élément": odf_create_span(u"élément", style='T2')
    }


if __name__ == '__main__':
    try:
        output = argv[1]
    except IndexError:
        print >> stderr, "Usage: %s <output document>" % argv[0]
        exit(1)
    document = odf_new_document_from_template('test_template.ott')
    stl_odf(document, get_namespace())
    if exists(output):
        remove(output)
    document.save(output)
    print 'Document "%s" generated.' % output