assemblerpdf 1.0.0__tar.gz → 1.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. {assemblerpdf-1.0.0/src/assemblerpdf.egg-info → assemblerpdf-1.0.1}/PKG-INFO +1 -1
  2. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/pyproject.toml +1 -1
  3. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/__init__.py +6 -0
  4. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/assemblers/base.py +18 -5
  5. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/core.py +20 -1
  6. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/utils/template_loader.py +20 -5
  7. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1/src/assemblerpdf.egg-info}/PKG-INFO +1 -1
  8. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/MANIFEST.in +0 -0
  9. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/README.md +0 -0
  10. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/setup.cfg +0 -0
  11. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/assemblers/__init__.py +0 -0
  12. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/assemblers/form.py +0 -0
  13. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/assemblers/report.py +0 -0
  14. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/fonts/Inter-Bold.ttf +0 -0
  15. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/fonts/Inter-Medium.ttf +0 -0
  16. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/fonts/Inter-Regular.ttf +0 -0
  17. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/img/Logo-unp-rojo.png +0 -0
  18. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/img/logo-mininterior-rojo.jpg +0 -0
  19. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/assemblerpdf/checkbox.html +0 -0
  20. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/assemblerpdf/footer.html +0 -0
  21. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/assemblerpdf/grid_row.html +0 -0
  22. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/assemblerpdf/header.html +0 -0
  23. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/assemblerpdf/input.html +0 -0
  24. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/assemblerpdf/radio.html +0 -0
  25. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/assemblerpdf/section.html +0 -0
  26. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/assemblerpdf/signature.html +0 -0
  27. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/assemblerpdf/style.html +0 -0
  28. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/assemblerpdf/textarea.html +0 -0
  29. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/anexos.html +0 -0
  30. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/anexos_limpio.html +0 -0
  31. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/archivese.html +0 -0
  32. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/autoriza_envio.html +0 -0
  33. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/checkbox.html +0 -0
  34. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/control_cambios.html +0 -0
  35. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/datos_basicosinf.html +0 -0
  36. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/datos_ot.html +0 -0
  37. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/encaso_de.html +0 -0
  38. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/fiila_dos_check.html +0 -0
  39. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/fila_cinco_zona.html +0 -0
  40. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/fila_cuatro.html +0 -0
  41. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/fila_cuatro_si_no.html +0 -0
  42. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/fila_cuatro_zona.html +0 -0
  43. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/fila_dos.html +0 -0
  44. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/fila_dos_zona.html +0 -0
  45. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/fila_instructivo.html +0 -0
  46. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/fila_tres.html +0 -0
  47. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/fila_tres_checkbox.html +0 -0
  48. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/fila_tres_zona.html +0 -0
  49. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/fila_uno.html +0 -0
  50. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/firma.html +0 -0
  51. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/firma_doble.html +0 -0
  52. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/firmaop2.html +0 -0
  53. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/firmas_oficializacion.html +0 -0
  54. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/hechos_sobrevinientes.html +0 -0
  55. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/hechos_sobrevinientes_vacio.html +0 -0
  56. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/iformfilacuatro.html +0 -0
  57. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/informacion_doble.html +0 -0
  58. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/input_2checks.html +0 -0
  59. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/input_check.html +0 -0
  60. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/input_checkbox.html +0 -0
  61. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/input_solitario.html +0 -0
  62. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/label_input_dos.html +0 -0
  63. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/leyenda_autoriza_correo.html +0 -0
  64. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/leyenda_superiol.html +0 -0
  65. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/logos.html +0 -0
  66. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/manifiesto.html +0 -0
  67. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/notificacion_correo.html +0 -0
  68. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/oficializacion.html +0 -0
  69. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/pregunta_si_no.html +0 -0
  70. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/pregunta_tresopciones.html +0 -0
  71. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/qr_oficializacion.html +0 -0
  72. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/situacion_amenaza.html +0 -0
  73. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/style.html +0 -0
  74. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/subtitulo_icono.html +0 -0
  75. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/subtitulo_icono_largo.html +0 -0
  76. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/tabla_doble.html +0 -0
  77. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/tabla_instructivo.html +0 -0
  78. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/tabla_matriz_riesgo.html +0 -0
  79. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/tabla_proyeccion.html +0 -0
  80. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/tabla_simple.html +0 -0
  81. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/texarea.html +0 -0
  82. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/tipo_identificacion.html +0 -0
  83. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/tipos_checkbox.html +0 -0
  84. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/titulo.html +0 -0
  85. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/titulo_logo.html +0 -0
  86. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/templates/sistema/titulo_principal.html +0 -0
  87. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf/utils/__init__.py +0 -0
  88. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf.egg-info/SOURCES.txt +0 -0
  89. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf.egg-info/dependency_links.txt +0 -0
  90. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf.egg-info/requires.txt +0 -0
  91. {assemblerpdf-1.0.0 → assemblerpdf-1.0.1}/src/assemblerpdf.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: assemblerpdf
3
- Version: 1.0.0
3
+ Version: 1.0.1
4
4
  Summary: Generador de PDFs usando WeasyPrint, diseñado para formularios y reportes con componentes genéricos.
5
5
  Author-email: EcosistemaUNP <ecosistema@unp.gov.co>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "assemblerpdf"
7
- version = "1.0.0"
7
+ version = "1.0.1"
8
8
  description = "Generador de PDFs usando WeasyPrint, diseñado para formularios y reportes con componentes genéricos."
9
9
  readme = "README.md"
10
10
  authors = [
@@ -5,6 +5,9 @@ from .core import (
5
5
  download_inter_font,
6
6
  check_weasyprint_installed
7
7
  )
8
+ from .assemblers.base import BaseFormAssembler
9
+ from .assemblers.form import FormularioReposicionAssembler
10
+ from .assemblers.report import TwoColumnReportAssembler
8
11
 
9
12
  __version__ = "1.0.0"
10
13
  __all__ = [
@@ -13,4 +16,7 @@ __all__ = [
13
16
  "install_dependencies",
14
17
  "download_inter_font",
15
18
  "check_weasyprint_installed",
19
+ "BaseFormAssembler",
20
+ "FormularioReposicionAssembler",
21
+ "TwoColumnReportAssembler",
16
22
  ]
@@ -25,12 +25,25 @@ class BaseFormAssembler:
25
25
  # Intentar usar Django primero si está configurado
26
26
  try:
27
27
  from django.template.loader import render_to_string
28
- # Asegurar prefijo de carpeta
29
- if not template_name.startswith("assemblerpdf/"):
30
- django_path = f"assemblerpdf/{template_name}"
28
+ from django.template import TemplateDoesNotExist
29
+
30
+ # Generar candidatos para buscar el template
31
+ posibles_rutas = []
32
+ if "/" not in template_name:
33
+ posibles_rutas.append(f"assemblerpdf/{template_name}")
34
+ posibles_rutas.append(f"sistema/{template_name}")
35
+ posibles_rutas.append(template_name)
31
36
  else:
32
- django_path = template_name
33
- return render_to_string(django_path, full_context)
37
+ posibles_rutas.append(template_name)
38
+
39
+ last_error = None
40
+ for ruta in posibles_rutas:
41
+ try:
42
+ return render_to_string(ruta, full_context)
43
+ except TemplateDoesNotExist as e:
44
+ last_error = e
45
+ if last_error:
46
+ raise last_error
34
47
  except Exception:
35
48
  # Fallback a Jinja2
36
49
  from assemblerpdf.utils.template_loader import render_template
@@ -148,7 +148,26 @@ def generate_pdf(template_name, context=None, output_path=None):
148
148
  # Intentar usar Django primero si está configurado en el proyecto
149
149
  try:
150
150
  from django.template.loader import render_to_string
151
- html = render_to_string(f'assemblerpdf/{template_name}', context)
151
+ from django.template import TemplateDoesNotExist
152
+
153
+ posibles_rutas = []
154
+ if "/" not in template_name:
155
+ posibles_rutas.append(f"assemblerpdf/{template_name}")
156
+ posibles_rutas.append(f"sistema/{template_name}")
157
+ posibles_rutas.append(template_name)
158
+ else:
159
+ posibles_rutas.append(template_name)
160
+
161
+ html = None
162
+ last_error = None
163
+ for ruta in posibles_rutas:
164
+ try:
165
+ html = render_to_string(ruta, context)
166
+ break
167
+ except TemplateDoesNotExist as e:
168
+ last_error = e
169
+ if html is None:
170
+ raise last_error
152
171
  except Exception:
153
172
  # Fallback a Jinja2 local
154
173
  from assemblerpdf.utils.template_loader import render_template
@@ -40,9 +40,24 @@ def get_template_env():
40
40
 
41
41
  def render_template(template_name, context):
42
42
  """Renderiza un template sin depender de Django (usando Jinja2)."""
43
+ from jinja2 import TemplateNotFound
43
44
  env = get_template_env()
44
- # Si no especifica una subcarpeta (ej: "input.html"), asumimos "assemblerpdf/"
45
- if "/" not in template_name and not template_name.startswith("assemblerpdf/"):
46
- template_name = f"assemblerpdf/{template_name}"
47
- template = env.get_template(template_name)
48
- return template.render(**context)
45
+
46
+ # Intentar las posibles rutas del template
47
+ posibles_rutas = []
48
+ if "/" not in template_name:
49
+ posibles_rutas.append(f"assemblerpdf/{template_name}")
50
+ posibles_rutas.append(f"sistema/{template_name}")
51
+ posibles_rutas.append(template_name)
52
+ else:
53
+ posibles_rutas.append(template_name)
54
+
55
+ last_error = None
56
+ for ruta in posibles_rutas:
57
+ try:
58
+ template = env.get_template(ruta)
59
+ return template.render(**context)
60
+ except TemplateNotFound as e:
61
+ last_error = e
62
+
63
+ raise last_error
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: assemblerpdf
3
- Version: 1.0.0
3
+ Version: 1.0.1
4
4
  Summary: Generador de PDFs usando WeasyPrint, diseñado para formularios y reportes con componentes genéricos.
5
5
  Author-email: EcosistemaUNP <ecosistema@unp.gov.co>
6
6
  License: MIT
File without changes
File without changes
File without changes