Expandiendo el defensor del pueblo

This commit is contained in:
Tatiana Villa 2026-01-17 20:10:41 +01:00
parent 6f9cae0f2b
commit 51da15791c
6 changed files with 71 additions and 17 deletions

View File

@ -269,12 +269,61 @@ Las leyes de bases no podrán en ningún caso:
## El Defensor del Pueblo ## El Defensor del Pueblo
**Artículo 54.** Una ley orgánica regulará la institución del Defensor del Pueblo, como alto comisionado ****de las Cortes Generales, designado por éstas para la defensa de los derechos ****comprendidos en este Título, a cuyo efecto podrá supervisar la actividad de la ****Administración, dando cuenta a las Cortes Generales. **Artículo 54 CE.**
Una ley orgánica regulará la institución del Defensor del Pueblo, como **alto comisionado de las Cortes Generales**, designado por éstas para la defensa de los derechos comprendidos en este Título, a cuyo efecto podrá supervisar la actividad de la Administración, dando cuenta a las Cortes Generales.
- **Naturaleza:** Alto comisionado de las Cortes Generales. - **Naturaleza:** Alto comisionado de las Cortes Generales.
- **Nombramiento:** Por las Cortes Generales mediante mayoría cualificada. - **Norma reguladora:** Ley Orgánica 3/1981, de 6 de abril, del Defensor del Pueblo.
- **Funciones:**
- Defender los derechos comprendidos en el Título I de la Constitución. ### Requisitos para ser Defensor del Pueblo
- Supervisar la actividad de la Administración.
- Presentar informes anuales y extraordinarios a las Cortes Generales. 📌 **Artículo 3 de la LO 3/1981**
- Puede interponer recursos de inconstitucionalidad y amparo ante el Tribunal Constitucional.
Puede ser elegido Defensor del Pueblo:
- Cualquier **español**
- **Mayor de edad**
- En **pleno disfrute de sus derechos civiles y políticos**
👉 **Muy preguntado en examen**:
No se exige titulación específica ni pertenecer a ningún cuerpo o profesión concreta.
### Nombramiento y mandato
- Es elegido por las **Cortes Generales**.
- Requiere **mayoría cualificada**:
- 3/5 del Congreso de los Diputados.
- 3/5 del Senado.
- **Duración del mandato:** 5 años.
### Funciones
- Defender los **derechos comprendidos en el Título I de la Constitución**.
- **Supervisar la actividad de la Administración pública**.
- Investigar actuaciones administrativas, de oficio o a instancia de parte.
- Formular **recomendaciones, advertencias y recordatorios de deberes legales**.
- Presentar:
- Informe anual a las Cortes Generales.
- Informes extraordinarios cuando lo considere necesario.
- Puede interponer:
- Recurso de inconstitucionalidad.
- Recurso de amparo ante el Tribunal Constitucional.
👉 **Importante**:
No puede anular actos administrativos ni sustituir a los tribunales.
### Garantías
- Actúa con **independencia**.
- No recibe instrucciones de ninguna autoridad.
- Es **inviolable** por las opiniones y actos realizados en el ejercicio de sus funciones.
- Todas las Administraciones están obligadas a **colaborar** con él.
### Miniresumen
- Defensor del Pueblo → Alto comisionado de las Cortes Generales.
- Regulación → LO 3/1981.
- Requisitos → Español mayor de edad con plenos derechos civiles y políticos.
- Nombramiento → 3/5 Congreso + 3/5 Senado.
- Mandato → 5 años.
- Función clave → Defensa de derechos del Título I y control de la Administración.

View File

@ -1,18 +1,9 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
Convierte Markdown a PDF y DOCX por bloques, concatenando bloque{i}/tema*.md. Convierte Markdown a PDF y DOCX por bloques, concatenando bloque{i}/tema*.md.
Requisitos:
- Python 3.9+
- Pandoc instalado (en PATH). Comprobar con: pandoc --version
- Para PDF (weasyprint): pip install weasyprint y librerías gráficas según SO.
- Opcional: plantilla DOCX para estilos (--reference-doc=plantilla.docx)
Uso:
python convert_md.py --bloques 1 2 3 4 --css estilos.css --ref plantilla.docx --outdir-pdf pdfs --outdir-docx docx
""" """
import argparse import argparse
@ -68,6 +59,14 @@ def concat_markdown(block_dir: Path, out_md: Path) -> int:
f_out.write(f_in.read().rstrip() + "\n\n") f_out.write(f_in.read().rstrip() + "\n\n")
return len(temas) return len(temas)
def convert_to_odt(input_md: Path, output_odt: Path, ref_odt: str | None):
args = build_pandoc_common_args(input_md, title=output_odt.stem)
args += ["--to", "odt", "-o", str(output_odt)]
if ref_odt:
args += ["--reference-doc", ref_odt]
args += ["--embed-resources", "--resource-path", f".;{input_md.parent}"]
run_cmd(args)
def main(): def main():
hoy = datetime.now().strftime("_%Y%m%d") hoy = datetime.now().strftime("_%Y%m%d")
# parser = argparse.ArgumentParser(description="Convertir Markdown a PDF y DOCX por bloques.") # parser = argparse.ArgumentParser(description="Convertir Markdown a PDF y DOCX por bloques.")
@ -94,6 +93,7 @@ def main():
outdir_pdf = Path("pdfs") outdir_pdf = Path("pdfs")
outdir_docx = Path("docx") outdir_docx = Path("docx")
fichero_plantilla = Path("plantilla.docx") fichero_plantilla = Path("plantilla.docx")
fichero_css=Path("scriptsLinux/estilos.css")
outdir_pdf.mkdir(parents=True, exist_ok=True) outdir_pdf.mkdir(parents=True, exist_ok=True)
outdir_docx.mkdir(parents=True, exist_ok=True) outdir_docx.mkdir(parents=True, exist_ok=True)
@ -120,12 +120,17 @@ def main():
# PDF # PDF
out_pdf = outdir_pdf / f"bloque{i}.pdf" out_pdf = outdir_pdf / f"bloque{i}.pdf"
if weasy_available: if weasy_available:
css = args.css if args.css and Path(args.css).exists() else None css = fichero_css if fichero_css and Path(fichero_css).exists() else None
convert_to_pdf(out_md, out_pdf, css) convert_to_pdf(out_md, out_pdf, css)
print(f"📄 PDF generado: {out_pdf}") print(f"📄 PDF generado: {out_pdf}")
else: else:
print("⚠️ WeasyPrint no está disponible. Instálalo para generar PDF, o usa otra ruta (MiKTeX).") print("⚠️ WeasyPrint no está disponible. Instálalo para generar PDF, o usa otra ruta (MiKTeX).")
# Libre Office Writer (ODT)
out_odt = outdir_docx / f"bloque{i}.odt"
convert_to_odt(out_md, out_odt, "plantilla.odt")
print(f"📝 ODT generado: {out_odt}")
# Limpieza # Limpieza
try: try:
out_md.unlink() out_md.unlink()

Binary file not shown.

BIN
docx/bloque1.odt Normal file

Binary file not shown.

BIN
pdfs/bloque1.pdf Normal file

Binary file not shown.

BIN
plantilla.odt Normal file

Binary file not shown.