OpenOffice Utils via appy.pod

Note

Nuovo

Questo modulo rimpiazza OpenOffice utils

Il modulo utilizza la librearia appy-pod, da ricordarsi che:

  • /tmp/ scrivibile (openoffice stersso utente microuwsgi)
  • ciao

Esempio d’uso:

from django.http import HttpResponse

from jmb.core.utils.appypod_utils import JmbAppyPodTemplate

def example_view_pdf(request):
    context = dict(first_name="<name>", last_name="<last_name>")
    template_file = "<path_to_template_file>"
    appy_pod_template = JmbAppyPodTemplate(template_file, context)
    rendered_template = template.render()
    return HttpResponse(rendered_template, mimetype="application/pdf")

def example_view_odt(request):
    context = dict(first_name="<name>", last_name="<last_name>")
    template_file = "<path_to_template_file>"
    appy_pod_template = JmbAppyPodTemplate(template_file, context)
    rendered_template = template.render(file_type="odt")
    return HttpResponse(rendered_template, mimetype="application/vnd.oasis.opendocument.text")
class jmb.core.utils.appypod_utils.JmbAppyPodTemplate(template, context)[source]

Classe semplice che serve per ottenere un file di estensione desiderata (pdf di default).

Object init function.

Parameters:
  • template – absolute path to template file to render (must be a string)
  • context – context to be used on template rendering
render(file_type='pdf')[source]

Instance render function.

Parameters:file_type – output file extension
Returns:generated file stream if created, else None
update_context(context)[source]

Function for change instance context attribute.

Parameters:template – absolute path to template file to render (must be a string)
update_template(template)[source]

Function for change instance template attribute.

Parameters:template – absolute path to template file to render (must be a string)

OpenOffice utils

Note

Sostituito

Questo modulo e` stato sostituito da OpenOffice Utils via appy.pod Si lascia la presente documentazione solo per consultazione

Queste utility permettono di connettersi ad un server OpenOffice/Libreoffice tramite il modulo python uno.

Note

Monkey-patch

questo modulo fa mankey-patching del meccanismo di import per cui ogni errore successivo e scorrelato di import viene erroneamente fatto risalire al modulo uno

Per questo ho fatto attenzione a non avere alcun import di ‘uno’ o di ‘com.sun.*’ durante l’import di questo modulo.

functions

Il modo normale di usare questo modulo è tramite la vista

jmb.core.views.generic.create_oo_file.create_file(request, model=None, obj_id=None, queryset=None, file_name=None, file_model=None, file_type=None, get_raw_string=False, language=None, save_in=None, extra_context={})[source]

Return an HttpResponse with an attachment that is the pdf/odt file

it uses OOUtils.save_odt and OOUtils.save_pdf

Uso

Esiste anche una vista che permette di ritornare direttamente il contenuto come pdf:

Utilizzo

Un esempio semplice di utilizzo:

from jmb.core.views.generic.create_oo_file import create_file
extra_context = {'to_company' : self.get_to_company, }
str_oofile = create_file(None, file_name=pdf_cover_name, 
                         file_model='admin/fax/fax/cover.odt',
                         file_type="pdf", save_in="/tmp/", extra_context=extra_context)

Next page

→ Postgresql

This Page