+
    Ni)                     l    ^ RI t ^ RIt^ RIt^ RIHt  ! R R]4      t ! R R]4      t ! R R]4      t	R# )	    N)utilsc                   6   a  ] tR t^t o RtR tR tR tRtV t	R# )LibraryzLibrary
    c                
	   RV n         RV n        RV9   d   VR,          pRV n        MVR,          pRV n        \        P                  ! V4      V9  db   VR,          pVR \        W4      V\        P                  ! VR,          4      &   RV n        \        P                  ! RP                  V4      4       V\        P                  ! V4      ,          V n         V P                   f   \        RP                  V4      4      hRV9   d   V P                  '       d   V P                   P                   F7  pVP                  \        P                  ! VR,          4      8X  g   K1  W`n        K9  	  V P                  f&   \        P                  ! R	P                  V4      4       V P                  e8   V P                  V n        V P                  P                  P                  V 4       MV P                   V n        V P                   P                  P                  V 4       Wn        VR,          V n        VR
,          V n        VP#                  R4      V n        \        P&                  ! VP#                  R4      V4      V n        W0n        V P-                  V P                  4      V n        RV P.                  P1                  4       ,           R,           V n        VR,          V n        \        P6                  ! VP#                  RR.4      4      V n        \        P6                  ! VP#                  RR.4      4      V n        RV9   d.   \        P6                  ! VP#                  RR.4      4      V n        M,\        P6                  ! VP#                  RR.4      4      V n        RV n        VP#                  RR4      V n         VP#                  RR4      V n!        VP#                  RR4      V n"        VP#                  R. 4      V n        VP#                  RR4      V n#        VP#                  RV P                   PH                  4      V n$        VP#                  RV P                   PJ                  4      V n%        \        PL                  ! VR,          4      V n'        R# ) a  
Constructor of the Library object

Args:
    metainfo:     (dict) dictionary describing a library
    products:     (list of Products) list of all already created products
    platforms:    (dict) dictionary of all platforms for which the library
                  is available, where the key is a platform and the value
                  is a restriction. For instance:  
                    { 
                        'Linux': '', 
                        'Windows': 'Tested with Windows 10 only'
                    }
                  would work.
    all_maintainers: (dict of dict)  all possible maintainers, where the main key
                  is a username/unique pseudo, and the key is a dictionary of name,
                  email address. For example:
                    {
                        'username01': { 'name': 'Paul Developer', 'email': 'mail@example.com' },
                        'username02': { 'name': 'Marc Developer2', 'email': 'mail2@example.com' }
                    }
                  would work. 
                    
NgroupTnameFz(Group of {fancyname} not found: dropped.z&'{name}' does not belong to a product.subgroupzKSubgroup {subgroup} of library {name} not documented, subgroup will be None	fancynamedescription
maintainerz..//html/index.htmlpathpublic_source_dirssrcpublic_doc_dirdocspublic_example_dirsexamplespublic_example_dirtype 
portingAid
deprecated	libraries	cmakenameircmailinglistrepo_id)(product
subproductpart_of_groupr   serialize_nameProductloggingwarning
format_map
ValueErrorsubproductsr   parentr   appendmetainfor
   getr   set_maintainersmaintainers	platforms_set_outputdir	outputdirlowerhrefr   tolistsrcdirsdocdirexampledirsdependency_diagramr   r   r   r   r   r   set_repopathrepopath)selfr+   productsr/   all_maintainersproductnamesps   &&&&&  P/tmp/fempkg/build/kf6/DESTDIR/usr/lib/python3.14/site-packages/kapidox/models.py__init__Library.__init__   sl   2 h"7+K!%D"6*K!&D,H<"6*K!?Fx?aHU))(6*:;<!&DOOFQQRZ[\ 4 4[ AB<<E(j24 4 !d&8&8&8ll..77e228J3GHH&(O / & m!+H!57 ??&//DKOO%%,,T2,,DK%%d+ V$	!+.#<<6 00l1K_]",,T-?-?@DNN00225GG	V$	||HLL1Ew$OPll8<<0@6(#KL H,$||HLL9NQ[P\,]^D  %||HLL9MPZ|,\]D"&LL,	",,|U;",,|U;!k26!k26<<t||'7'78#<<t||7O7OP**8I+>?    c                ~    W!9   d	   W,          # \        V P                  V4      e   \        V P                  V4      # V# N)getattrr   )r;   r+   keykey_objdefaults   &&&&&r@   _extend_parentLibrary._extend_parentk   s6    ?= T\\7+74<<11NrC   c                    V P                   pV'       d5   \        P                  P                  V P                  P
                  V4      pVP                  4       # rE   )r   osr   joinr   r1   r2   )r;   groupedr1   s   && r@   r0   Library._set_outputdirs   s9    II	T\\%;%;YGI  rC   )r   r8   r   r   r6   r7   r
   r3   r   r   r   r.   r+   r   r1   r)   r!   r   r/   r   r   r:   r5   r    r   N)
__name__
__module____qualname____firstlineno____doc__rA   rJ   r0   __static_attributes____classdictcell____classdict__s   @r@   r   r      s!     T@l! !rC   r   c                   <   a  ] tR t^zt o RtR tR tR tR tRt	V t
R# )r#   zProduct
    c                d   Wn         RV n        RV9   Ed   \        P                  ! VR,          P	                  RVP	                  R4      4      4      V n        VR,          P	                  R\        P                  ! V P
                  4      4      V n        VR,          P	                  R4      V n	        VR,          P	                  R. 4      V n
        \        P                  ! VR,          P	                  R4      V4      V n        VR,          P	                  R	4      V n        V P
                  V n        V P                  R
,           V n        V P!                  VR,          VR,          4      V n        V P%                  4       V n        . V n        . V n        VR,          P	                  RR4      V n        VR,          P	                  RR4      V n        V P1                  VR,          4      V n        RV n        R# RV9  Ed   \        P                  ! VR,          4      V n        VR,          V n        VP	                  R4      V n	        \        P                  ! VP	                  R4      V4      V n        VP	                  R	RR/.4       Uu. uF  q3R,          NK  	  upV n        V P
                  V n        V P                  R,           V n        V P!                  VR,          V4      V n        V P%                  4       V n        . V n        RV n        RV n        RV n        R# \7        RP9                  V4      4      hu upi )aZ  
Constructor of the Product object

Args:
    metainfo:     (dict) dictionary describing a product
    all_maintainers: (dict of dict)  all possible maintainers, where the main key
                  is a username/unique pseudo, and the key is a dictionary of name,
                  email address. For example:
                    {
                        'username01': { 'name': 'Paul Developer', 'email': 'mail@example.com' },
                        'username02': { 'name': 'Marc Developer2', 'email': 'mail2@example.com' }
                    }
                  would work. 
                    
N
group_infor   r   r
   r   long_descriptionr   r/   z/index.htmlr   r   z	kde-develr   Tr   Fz'I do not recognize a product in {name}.)r+   r)   r   r"   r,   r   stringcapwordsr
   r   r]   r-   r.   r/   r1   r3   _set_logo_srclogo_url_src	_set_logologo_urlr   	subgroupsr   r   _extract_subproductsr(   r!   r'   r&   )r;   r+   r=   xs   &&& r@   rA   Product.__init__   s   " ! 8#,,Xl-C-G-GPXP\P\]dPe-fgDI%l377V__UYU^U^E_`DN'599-HD$,\$:$>$>?QSU$VD!$44Xl5K5O5OP\5]5D FD%l377DDN!YYDN6DI $ 2 28F3C3;L3I!KD NN,DMDNDN-11%EDH'599-UD#88,9OPD!%DH$,,Xf-=>DI%k2DN'||M:D$44X\\,5OQ`aD19kVUYNK[1\]1\Aii1\]DN!YYDN);;DI $ 2 28F3CX ND NN,DMDNDH#D!&DF(j24 4 ^s    L-c                ~    . pR V9   d4   VR ,           F&  pRV9   g   K  VP                  \        W04      4       K(  	  V# )rd   r   )r*   
Subproduct)r;   	groupinfor(   sgs   &&  r@   re   Product._extract_subproducts   sC    )#,,R<&&z"';< - rC   c                    V P                   eg   \        P                  P                  V P                   4      w  r\        P                  P	                  V P
                  V P                  4      V,           # R # rE   )ra   rM   r   splitextrN   r1   r   )r;   filenameexts   &  r@   rb   Product._set_logo   sO    (GG,,T->->?MH77<<		:S@@rC   c                   R pRV9   dP   \         P                  P                  WR,          4      p\         P                  P                  V4      '       d   V# Rp\         P                  P                  VR4      p\         P                  P                  V4      '       d/   V'       d%   \        P
                  ! RV P                   R24       V# V'       d%   \        P
                  ! RV P                   R24       R# )FlogoTzlogo.pngzDefined z5 logo file does not exist, set back to found logo.pngz+ logo file does not exist, set back to NoneN)rM   r   rN   isfiler$   r%   r
   )r;   r   dctdefined_not_foundrc   s   &&&  r@   r`   Product._set_logo_src   s    !S=ww||Df+6Hww~~h''$(!77<<j177>>(## (4>>*::o pqOOOht~~&66abcrC   )r   r
   r3   r   r   rc   ra   r]   r   r.   r+   r   r1   r)   r!   r/   rd   r(   N)rQ   rR   rS   rT   rU   rA   re   rb   r`   rV   rW   rX   s   @r@   r#   r#   z   s$     :4x rC   r#   c                   *   a  ] tR t^t o RtR tRtV tR# )ri   zSubproduct
    c                    VR,          V n         \        P                  ! VR,          4      V n        VP	                  R4      V n        VP	                  R^c4      V n        . V n        W n        W n	        R# )aU  
Constructor of the Subproduct object

Args:
    spinfo:       (dict) description of the subproduct. It is not more than:
    {
        'name': 'Subproduct Name',
        'description': 'This subproduct does this and that',
        'order': 3, # this is optional
    }
    for example.
    product:      (Product) the product it is part of.
r   r   orderN)
r
   r   r"   r   r,   r   rz   r   r   r)   )r;   spinfor   s   &&&r@   rA   Subproduct.__init__   sY      ((8	!::m4ZZ,
rC   )r   r
   r   r   rz   r)   r   N)rQ   rR   rS   rT   rU   rA   rV   rW   rX   s   @r@   ri   ri      s      rC   ri   )
r$   os.pathrM   r^   kapidoxr   objectr   r#   ri    rC   r@   <module>r      s=       f!f f!Rbf bJ rC   