def get_nombre_archivo_from_tv(tv): """ Devuelve el nombre del archivo que se generará a partir del nombre del widget TreeView. """ nomtreeview = tv.get_name().replace(" ", "_") nomarchivo = os.path.join(gettempdir(), "%s_%s.pdf" % ( nomtreeview, give_me_the_name_baby())) return nomarchivo
def gettempfilename(nombre = ""): """ Devuelve una ruta de fichero tomando como base «nombre». Usa una marca de tiempo para evitar conflictos de nombre, ya que siempre devolverá una ruta en el directorio temporal del usuario. """ nomarchivo = "{0}_{1}.pdf".format(nombre, give_me_the_name_baby()) ruta = os.path.join(gettempdir(), nomarchivo) return ruta
def go_from_peticion(peticion): """ Construye el PDF a partir de un objeto peticion y no de sus datos sueltos. """ obra = peticion.obra cliente = obra.cliente direccion = obra.direccion if not direccion: direccion = pclases.Direccion.get_direccion_por_defecto() ciudad = direccion.ciudad provincia = ciudad.provincia datos_peticion = {"hoja": peticion.id, "fecha pedido": fecha.str_fecha(peticion.fechaSolicitud), "fecha recogida": fecha.str_fecha(peticion.fechaRecogida), "hora": fecha.str_hora_corta(peticion.horaRecogida), "observaciones": peticion.observaciones, "recibido por": peticion.usuario and peticion.usuario.nombre or ""} strobra = obra and obra.nombre or "" if obra and obra.direccion: strobra += "({0})".format(obra.direccion.get_direccion_completa()) datos_obra = {"cliente": cliente and cliente.nombre or "", "obra": obra, "solicitante": peticion and peticion.solicitante or "", "persona de contacto": peticion and peticion.contacto and peticion.contacto.get_nombre_completo() or ""} datos_material = {"material": peticion.material and peticion.material.nombre or ""} datos_ensayo = [e.nombre for e in peticion.ensayos] try: dde = pclases.get_dde() datos_de_la_empresa = [os.path.join("imagenes", dde.logo), #dde.nombre + # (dde.cif and " (" + dde.str_cif_o_nif() +": " # + dde.cif + ")" or ""), dde.direccion, "%s %s (%s), %s" % (dde.cp, dde.ciudad, dde.provincia, dde.pais), ] if dde.fax: if dde.fax.strip() == dde.telefono.strip(): datos_de_la_empresa.append("Telf. y fax: %s" % dde.telefono) else: datos_de_la_empresa.append("Telf.: %s" % (dde.telefono)) datos_de_la_empresa.append("Fax: %s" % (dde.fax)) #if dde.email: # datos_de_la_empresa.append(dde.email) except IndexError: datos_de_la_empresa = [None] nomarchivo = os.path.join(gettempdir(), "peticion_{0}_{1}.pdf".format( peticion.id, give_me_the_name_baby())) return go("Peticion {0}".format(peticion.id), nomarchivo, datos_de_la_empresa, datos_peticion, datos_obra, datos_material, datos_ensayo)