
    ;j#
                        S SK Jr  S SKrS SKJrJr  S SKJr  S SKJ	r	  \" S5      r
\ " S S5      5       rSS	 jrSS
 jrSS jrSS jr\
4SS jjrg)    )annotationsN)	dataclassasdict)Path)Listz2/opt/obsidian-vault/Agent-Solutions/Kundenprojektec                      \ rS rSr% S\S'   S\S'   S\S'   S\S'   S\S'   S\S	'   S\S
'   S\S'   S\S'   S\S'   S\S'   S\S'   SS jrSrg)CustomerProject
   str
project_idtitlestatusdescriptiontarget_customer	List[str]target_industriescustomer_problemacquisition
referenceszfloat | Nonepotential_score
confidencesource_filec                    [        U 5      $ )N)r   )selfs    /app/project_catalog.pyas_dictCustomerProject.as_dict   s    d|     N)returndict)__name__
__module____qualname____firstlineno____annotations__r   __static_attributes__r   r   r   r	   r	   
   sJ    OJK  O!!Or   r	   c                (   U R                  S5      (       d  0 $ U R                  SS5      u  pn0 nUR                  5        HN  nSU;  a  M  UR                  SS5      u  pVUR                  5       R                  S5      X5R                  5       '   MP     U$ )Nz---   :   ")
startswithsplit
splitlinesstrip)text_rawoutlinekeyvalues          r   _frontmatterr8      s    ??5!!	

5!$IAA
C d?ZZQ'
 ;;=..s3IIK	 !
 Jr   c                    S[         R                  " U5       S3n[         R                  " X [         R                  [         R                  -  S9nU(       a  UR                  S5      R                  5       $ S$ )Nz^## z\s*$\n(.*?)(?=^## |\Z))flagsr+    )reescapesearchMSgroupr0   )r1   headingpatternmatchs       r   _sectionrE   (   sU    bii())?@GIIg244"$$;7E%*5;;q>!22r   c                    U (       a  U R                  5       S   OSn[        R                  " SU5       Vs/ s H)  o"R                  5       (       d  M  UR                  5       PM+     sn$ s  snf )Nr   r;   u   [·|,;])r/   r<   r.   r0   )r3   firstxs      r   _industriesrI   .   sJ    #&CNNQBE!xx
E:H:!ggiIAGGI:HHHs   A)A)c                   U R                  SS9n[        U5      n[        US5      n[        R                  " SU5      n[        R                  " SU5      nU(       a*  [        UR                  S5      R                  SS5      5      OS n[        UR                  S	U R                  5      UR                  S
U R                  5      UR                  SS5      [        US5      [        US5      [        [        US5      5      [        US5      [        US5      [        US5      UU(       a  UR                  S5      R                  5       OS[        U 5      S9$ )Nzutf-8)encodingu!   Bewertungsmodell / Evidenzstärkez+Gesamtpotenzial:\s*\*\*(\d+(?:[,.]\d+)?)/10zKonfidenz:\s*\*\*([^*]+)\*\*r+   ,.r   r   r   r;   Projektbeschreibung	Zielkundeu   Interessant für / ZielbranchenKundenproblemzKundengewinnung / Akquisewegez/Vorhandene Demos / Referenzen / Agenten / Tools)r   r   r   r   r   r   r   r   r   r   r   r   )	read_textr8   rE   r<   r>   floatrA   replacer	   getstemrI   r0   r   )pathr1   fmeval_sectionscore_match
conf_matchscores          r   load_projectr\   1   s   >>7>+D	d	BD"EFL))JLYK:LIJ=HE+##A&..sC89dE66,		2ffWdii(vvh#T#89 {3%ht5V&WX!$8T#BCD"ST2<:##A&,,."I r   c                t    [        U R                  S5      5       Vs/ s H  n[        U5      PM     sn$ s  snf )Nz*.md)sortedglobr\   )project_dirps     r   load_all_projectsrb   H   s0    %+K,<,<V,D%EF%ELO%EFFFs   5)r1   r   r    r!   )r1   r   rB   r   r    r   )r3   r   r    r   )rV   r   r    r	   )r`   r   r    zList[CustomerProject])
__future__r   r<   dataclassesr   r   pathlibr   typingr   PROJECT_DIRr	   r8   rE   rI   r\   rb   r   r   r   <module>rh      sV    " 	 )  GH
   
3I. +6 Gr   