# Système d'extraction de tickets Odoo Ce projet permet d'extraire les informations des tickets Odoo (tâches, tickets de support) avec leurs messages et pièces jointes, et de les sauvegarder dans une structure organisée. ## Installation 1. Clonez le dépôt 2. Créez un environnement virtuel : ```bash python3 -m venv venv source venv/bin/activate # Sur Linux/Mac # ou venv\Scripts\activate # Sur Windows ``` 3. Installez les dépendances : ```bash pip install -r requirements.txt ``` ## Configuration Créez un fichier `config.json` basé sur le modèle `config.template.json` : ```json { "odoo_url": "https://votre-instance.odoo.com", "odoo_db": "nom_de_la_base", "odoo_username": "votre_email@exemple.com", "odoo_api_key": "votre_clé_api_odoo", "output_dir": "ticket_structure" } ``` ## Utilisation Pour extraire un ticket, utilisez la commande : ```bash python -m utils.retrieve_ticket CODE_TICKET ``` Options disponibles : - `--output`, `-o` : Répertoire de sortie (défaut: "ticket_structure") - `--config`, `-c` : Chemin vers le fichier de configuration (défaut: "config.json") - `--verbose`, `-v` : Activer le mode verbeux Exemple : ```bash python -m utils.retrieve_ticket T1234 --output mes_tickets --verbose ``` ## Structure des fichiers générés Pour chaque ticket extrait, un répertoire est créé avec la structure suivante : ``` CODE_TICKET_DATE/ ├── all_messages.json # Messages traités au format JSON ├── all_messages.txt # Messages au format texte ├── attachments/ # Répertoire contenant les pièces jointes ├── attachments_info.json # Métadonnées des pièces jointes ├── extraction_summary.json # Résumé de l'extraction ├── messages_raw.json # Messages bruts ├── structure.json # Structure du répertoire ├── ticket_info.json # Données complètes du ticket └── ticket_summary.json # Résumé du ticket ``` ## Gestionnaires disponibles Le système est divisé en plusieurs gestionnaires : - `AuthManager` : Gère l'authentification et les appels à l'API Odoo - `TicketManager` : Gère la récupération des tickets et organise leur extraction - `MessageManager` : Gère le traitement des messages (filtrage, nettoyage) - `AttachmentManager` : Gère le téléchargement des pièces jointes ## Licence Ce projet est sous licence MIT.