mirror of
https://github.com/Ladebeze66/odoo_toolkit.git
synced 2025-12-15 19:26:55 +01:00
108 lines
3.0 KiB
Markdown
108 lines
3.0 KiB
Markdown
# Extracteur de Tickets Odoo
|
|
|
|
Ce script permet d'extraire et de filtrer les données d'un ticket Odoo par son code. Il est complètement autonome et ne dépend pas d'autres fichiers du projet.
|
|
|
|
## Fonctionnalités
|
|
|
|
- Extraction des données d'un ticket par son code
|
|
- Filtrage des messages système et OdooBot
|
|
- Nettoyage du HTML dans les messages
|
|
- Conservation des images importantes
|
|
- Extraction des pièces jointes
|
|
- Organisation structurée des données exportées
|
|
|
|
## Prérequis
|
|
|
|
- Python 3.6 ou supérieur
|
|
- Accès à une instance Odoo via son API XML-RPC
|
|
|
|
## Installation
|
|
|
|
1. Clonez ce dépôt ou téléchargez les fichiers
|
|
2. Installez les dépendances :
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Le script utilise les variables d'environnement suivantes pour la connexion à Odoo :
|
|
|
|
- `ODOO_HOST` : L'hôte de l'instance Odoo (par défaut : odoo.cbao.fr)
|
|
- `ODOO_DB` : Le nom de la base de données (par défaut : production_cbao)
|
|
- `ODOO_USER` : Le nom d'utilisateur (par défaut : fernand@cbao.fr)
|
|
- `ODOO_PASSWORD` : Le mot de passe
|
|
|
|
Vous pouvez soit :
|
|
1. Modifier ces valeurs directement dans le script
|
|
2. Définir ces variables d'environnement avant d'exécuter le script
|
|
|
|
## Utilisation
|
|
|
|
Le script s'utilise en ligne de commande en spécifiant le code du ticket comme argument :
|
|
|
|
```bash
|
|
python ticket_extractor.py T12546
|
|
```
|
|
|
|
Où `T12546` est le code du ticket à extraire.
|
|
|
|
### Format du code de ticket
|
|
- Le code doit commencer par la lettre 'T'
|
|
- Suivi de chiffres uniquement
|
|
- Exemple : T12546, T102558, etc.
|
|
|
|
### Aide en ligne
|
|
Pour voir l'aide du script :
|
|
```bash
|
|
python ticket_extractor.py --help
|
|
```
|
|
|
|
## Structure des données exportées
|
|
|
|
Les données seront extraites dans le dossier `exported_tickets` avec la structure suivante :
|
|
```
|
|
exported_tickets/
|
|
└── ticket_[ID]_[NOM]/
|
|
├── ticket_info.json
|
|
├── contact_info.json
|
|
├── activities.json
|
|
├── messages/
|
|
│ └── message_[ID]_[DATE].json
|
|
├── followers.json
|
|
├── attachments_info.json
|
|
├── attachments/
|
|
│ └── [ID]_[NOM]
|
|
└── timesheets.json
|
|
```
|
|
|
|
## Structure des données
|
|
|
|
### Messages
|
|
- Les messages système et OdooBot sont filtrés
|
|
- Le HTML est nettoyé tout en préservant le texte
|
|
- Les images importantes sont conservées avec leur description
|
|
- Les pièces jointes mentionnées sont identifiées
|
|
|
|
### Pièces jointes
|
|
- Toutes les pièces jointes sont extraites
|
|
- Les métadonnées sont sauvegardées dans `attachments_info.json`
|
|
- Les fichiers sont stockés dans le dossier `attachments`
|
|
|
|
### Informations de contact
|
|
- Détails du contact principal
|
|
- Coordonnées et adresse
|
|
|
|
### Activités
|
|
- Historique des activités
|
|
- Dates et utilisateurs
|
|
|
|
### Timesheets
|
|
- Historique des temps passés
|
|
- Utilisateurs et départements
|
|
|
|
## Notes
|
|
|
|
- Le script crée automatiquement les dossiers nécessaires
|
|
- Les erreurs sont gérées et affichées clairement
|
|
- Les données sont sauvegardées au format JSON pour une meilleure lisibilité |