
    i\                    P    d Z ddlmZ ddlmZmZmZ ddlmZ  G d d          ZdS )u  
Nom du script : gitlab_summary_service.py
Chemin : /gitlab-bridge/app/services/gitlab_summary_service.py
Description : Agrège les données GitLab nécessaires pour produire un résumé de projet exploitable.
Options éventuelles : Aucune.
Exemples d'utilisation : `build_summary(project, period_days)`.
Prérequis : Python 3.11+.
Auteur : Sylvain SCATTOLINI
Date de création / modification : 2026-03-25
Version : 1.1
    )annotations)datetime	timedeltaUTC)GitLabClientc                  :    e Zd ZdZddZddZedd            ZdS )GitLabSummaryServiceu9   Construit un résumé simple à partir des issues GitLab.clientr   returnNonec                    || _         d S )N)r
   )selfr
   s     B/var/www/html/gitlab-bridge/app/services/gitlab_summary_service.py__init__zGitLabSummaryService.__init__   s        projectdictperiod_daysintc                   t          |d                   }t          j        t                    t	          |          z
  }| j                            |          }| j                            ||                                          }| 	                    t          |                    dd                    |t          |          t          |                    }t          |          t          |          |dS )Nid)daysnamezProjet GitLabproject_namer   
open_countclosed_count)open_issuesclosed_issues_periodmarkdown)r   r   nowr   r   r
   list_open_issueslist_closed_issues_since	isoformat_build_markdownstrgetlen)r   r   r   
project_idperiod_startr   closed_issuesr    s           r   build_summaryz"GitLabSummaryService.build_summary   s    ''
|C((9++F+F+FFk22:>><<ZI_I_IaIabb''W[[AABB#;'']++	 ( 
 
 {++$'$6$6 
 
 	
r   r   r&   r   r   c           	          d|  d| d| d| d	S )Nu   ## Résumé du projet u   

Période analysée : z derniers jours

- z issues ouvertes
- u!    issues fermées sur la période
 r   s       r   r%   z$GitLabSummaryService._build_markdown-   sP    B\ B B$/B BB B B B B	
r   N)r
   r   r   r   )r   r   r   r   r   r   )
r   r&   r   r   r   r   r   r   r   r&   )__name__
__module____qualname____doc__r   r,   staticmethodr%   r.   r   r   r	   r	      sb        CC   
 
 
 
& 
 
 
 \
 
 
r   r	   N)	r2   
__future__r   r   r   r   app.clients.gitlab_clientr   r	   r.   r   r   <module>r6      s   
 
 # " " " " " - - - - - - - - - - 2 2 2 2 2 2 
  
  
  
  
  
  
  
  
  
r   