Skip to content

matteexe/orario

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Orario PDf a XML

Un'applicazione web Flask per convertire orari scolastici in formato PDF in file XML strutturati.

📋 Descrizione

Orario è un tool che permette di caricare un file PDF contenente l'orario delle lezioni scolastiche e convertirlo automaticamente in un file XML ben strutturato. L'applicazione estrae informazioni come classi, giorni, ore, materie, docenti, compresenze e aule.

Nota: L'HTML e una piccola parte del parser sono stati realizzati con l'aiuto dell'intelligenza artificiale.

✨ Funzionalità

  • 📤 Upload di file PDF contenenti orari scolastici
  • 🔍 Parsing automatico delle tabelle degli orari
  • 📊 Estrazione di informazioni strutturate (classi, giorni, ore, materie, docenti, aule)
  • 🤝 Gestione delle compresenze tra docenti
  • 📥 Download del file XML generato
  • 🌐 Interfaccia web semplice e intuitiva

🚀 Installazione

  1. Clona la repository:
git clone https://github.com/matteexe/orario.git
cd orario
  1. Installa le dipendenze:
pip install -r requirements.txt

💻 Utilizzo

  1. Avvia l'applicazione:
python main.py
  1. Apri il browser e vai su http://localhost:8000

  2. Carica un file PDF contenente l'orario scolastico

  3. Scarica il file XML generato

🛠️ Tecnologie Utilizzate

  • Flask: Framework web per Python
  • pdfplumber: Libreria per l'estrazione di dati da PDF
  • XML ElementTree: Generazione di file XML strutturati

📁 Struttura del Progetto

orario/
├── main. py              # Applicazione Flask principale
├── parser_orario. py     # Logica di parsing del PDF
├── requirements.txt     # Dipendenze Python
├── templates/          # Template HTML
└── static/             # File statici (CSS, JS, immagini)

📝 Formato XML Output

Il file XML generato ha la seguente struttura:

<classi>
  <classe nome="1A">
    <giorno nome="1">
      <lezione>
        <ora>1</ora>
        <materia>Matematica</materia>
        <docente>Rossi</docente>
        <compresenza1>no</compresenza1>
        <aula>Aula 101</aula>
      </lezione>
    </giorno>
  </classe>
</classi>

🌐 Deployment

L'applicazione è configurata per il deployment su piattaforme cloud. La porta può essere configurata tramite la variabile d'ambiente PORT.

📌 Versione

Versione corrente: v0.2.0

👤 Autore

matteexe

📄 Licenza

Questo progetto è disponibile su GitHub.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors