+
    uj8i]                        a  R t0 t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHtH	t	H
t
  ! R R4      t. ROtRs] ^ k R R ltR	 R
 ltR R ltR R ltRR R lltRR R lltR# )    NPath)notify)atomic_dumpscheme_data_dirscheme_pathc                     a  ] tR t^	t o V 3R lR lt]V 3R lR l4       t]P                  V 3R lR l4       t]V 3R lR l4       t]P                  V 3R	 lR
 l4       t]V 3R lR l4       t	]	P                  V 3R lR l4       t	]V 3R lR l4       t
]
P                  V 3R lR l4       t
]V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR  ltV 3R! lR" ltV 3R# lR$ ltV 3R% ltR&tV tR'# )(Schemec                H   < V ^8  d   QhRS[ S[S[3,          R,          RR/# )   jsonNreturn)dictstrany)format__classdict__s   ";/usr/lib/python3.14/site-packages/caelestia/utils/scheme.py__annotate__Scheme.__annotate__   s(      T#s(^d2 t     c                   Vf<   RV n         RV n        RV n        RV n        \	        V P                  4       4      V n        MFVR,          V n         VR,          V n        VR,          V n        VR,          V n        VR	,          V n        R
V n        R # )N
catppuccinmochadark	tonalspotnameflavourmodevariantcoloursF)_name_flavour_mode_variantread_colours_from_fileget_colours_path_coloursr   )selfr   s   &&r   __init__Scheme.__init__   sv    <%DJ#DMDJ'DM243H3H3JKDMfDJ ODMfDJ ODM ODMr   c                    < V ^8  d   QhRS[ /# r   r   r   )r   r   s   "r   r   r   !         c r   c                    V P                   # N)r"   r)   s   &r   r   Scheme.name        zzr   c                $   < V ^8  d   QhRS[ RR/# )r   r   r   Nr.   )r   r   s   "r   r   r   %   s        r   c           
     L   WP                   8X  d   R # V\        4       9  d=   V P                  '       d   \        RRRRV R\        4        24       \        RV 24      hWn         V P	                  4        V P                  4        V P                  4        V P                  4        R # )N-ucriticalzUnable to set scheme"z," is not a valid scheme.
Valid schemes are: zInvalid scheme name: )r"   get_scheme_namesr   
ValueError_check_flavour_check_mode_update_colourssave)r)   r   s   &&r   r   r3   $   s    ::')){{{*vJK[K]J^_	 4TF;<<
		r   c                    < V ^8  d   QhRS[ /# r-   r.   )r   r   s   "r   r   r   :          r   c                    V P                   # r1   )r#   r2   s   &r   r   Scheme.flavour9       }}r   c                $   < V ^8  d   QhRS[ RR/# )r   r   r   Nr.   )r   r   s   "r   r   r   >   s      s t r   c                <   WP                   8X  d   R # V\        4       9  dU   V P                  '       d*   \        RRRRV RV P                   R\        4        24       \	        RV R\        4        24      hWn         V P                  4        V P                  4        R # )	Nr7   r8   zUnable to set scheme flavourr9   z$" is not a valid flavour of scheme "z".
Valid flavours are: zInvalid scheme flavour: "z". Valid flavours: )r#   get_scheme_flavoursr   r   r;   r=   update_colours)r)   r   s   &&r   r   rC   =   s    mm#-//{{{2y DTYYK P++>+@*AC	 8	ATUhUjTklmmr   c                    < V ^8  d   QhRS[ /# r-   r.   )r   r   s   "r   r   r   R   r/   r   c                    V P                   # r1   )r$   r2   s   &r   r   Scheme.modeQ   r4   r   c                $   < V ^8  d   QhRS[ RR/# )r   r   r   Nr.   )r   r   s   "r   r   r   V   s        r   c                "   WP                   8X  d   R # V\        4       9  dX   V P                  '       d-   \        RRRRV P                   RV P                   RV R24       \        RV R	\        4        24      hWn         V P                  4        R # )
Nr7   r8   zUnable to set scheme modezScheme " z" does not have a z mode.zInvalid scheme mode: "z". Valid modes: )r$   get_scheme_modesr   r   r   r;   rH   )r)   r   s   &&r   r   rK   U   s    ::')){{{/tyyk4<<.8J4&PVW	 5dV;KL\L^K_`aa
r   c                    < V ^8  d   QhRS[ /# r-   r.   )r   r   s   "r   r   r   h   rA   r   c                    V P                   # r1   )r%   r2   s   &r   r    Scheme.variantg   rD   r   c                $   < V ^8  d   QhRS[ RR/# )r   r    r   Nr.   )r   r   s   "r   r   r   l   s      s t r   c                V    WP                   8X  d   R # Wn         V P                  4        R # r1   )r%   rH   )r)   r    s   &&r   r    rR   k   s     mm#r   c                6   < V ^8  d   QhRS[ S[S[3,          /# r-   )r   r   )r   r   s   "r   r   r   t   s      c3h r   c                    V P                   # r1   )r(   r2   s   &r   r!   Scheme.colourss   rD   r   c                    < V ^8  d   QhRS[ /# r-   r   )r   r   s   "r   r   r   w   s     \ \$ \r   c                    \         V P                  ,          V P                  ,          V P                  ,          P	                  R 4      # )z.txt)r   r   r   r   with_suffixr2   s   &r   r'   Scheme.get_colours_pathw   s/    $))+dll:TYYFSSTZ[[r   c                   < V ^8  d   QhRR/# r   r   N )r   r   s   "r   r   r   z   s     
 
d 
r   c                    \         P                  P                  R R R7       \        \         RV P                  RV P
                  RV P                  RV P                  RV P                  /4       R# )T)parentsexist_okr   r   r   r    r!   N)	r   parentmkdirr   r   r   r   r    r!   r2   s   &r   r?   Scheme.savez   sX       =		4<<		4<<4<<		
r   c                   < V ^8  d   QhRR/# r]   r^   )r   r   s   "r   r   r      s      D r   c                :   \         P                  ! \        4       4      V n        \         P                  ! \	        V P
                  4      4      V n        \         P                  ! \        V P
                  V P                  4      4      V n	        V P                  4        R # r1   )randomchoicer:   r"   rG   r   r#   rO   r   r$   rH   r2   s   &r   
set_randomScheme.set_random   s\    ]]#3#56
&9$))&DE]]#3DIIt||#LM
r   c                   < V ^8  d   QhRR/# r]   r^   )r   r   s   "r   r   r      s       r   c                F    V P                  4        V P                  4        R # r1   )r>   r?   r2   s   &r   rH   Scheme.update_colours   s    		r   c                   < V ^8  d   QhRR/# r]   r^   )r   r   s   "r   r   r      s     ( ( (r   c                r    \        V P                  4      pV P                  V9  d   V^ ,          V n        R# R# r   N)rG   r   r#   )r)   flavourss   & r   r<   Scheme._check_flavour   s,    &tyy1==($QKDM )r   c                   < V ^8  d   QhRR/# r]   r^   )r   r   s   "r   r   r      s     " "T "r   c                    \        V P                  V P                  4      pV P                  V9  d   V^ ,          V n        R# R# rp   )rO   r   r   r$   )r)   modess   & r   r=   Scheme._check_mode   s2     DLL9::U"qDJ #r   c                   < V ^8  d   QhRR/# r]   r^   )r   r   s   "r   r   r      s     L L Lr   c                   V P                   R 8X  d   ^ RIHp  V! 4       V n        R# \        V P                  4       4      V n        R#   \         d-    T P
                  '       d   \        RRRR4       \        R4      hi ; i)dynamic)get_colours_for_imager7   r8   zUnable to set dynamic schemezcNo wallpaper set. Please set a wallpaper via `caelestia wallpaper` before setting a dynamic scheme.N)	r   caelestia.utils.materialrz   r(   FileNotFoundErrorr   r;   r&   r'   )r)   rz   s   & r   r>   Scheme._update_colours   sw    99	!F 5 7 343H3H3JKDM % 
;;;"6}	 !y 
s   A A>$A>c                    < V ^8  d   QhRS[ /# r-   r.   )r   r   s   "r   r   r      s     	
 	
 	
r   c                    R V P                    RV P                   RV P                   RV P                   RRP	                  R V P
                  P                  4        4       4       2
# )zCurrent scheme:
    Name: z
    Flavour: z
    Mode: z
    Variant: z
    Colours:
        z	
        c              3      "   T FK  w  rV R \        VR,          ^4       R\        VR,          ^4       R\        VR,          ^4       RV R2
x  KM  	  R# 5i)z	: [38;2;:r   r   N;:r      N:r      Nmz[0mN)int).0ncs   &  r   	<genexpr>!Scheme.__str__.<locals>.<genexpr>   sx       )^  I]  AE  ABA3l3qvr?:K1SQRSVQWY[_L]]^_bcdehcikm_n^oopqrpssz){  I]s   AA)r   r   r   r    joinr!   itemsr2   s   &r   __str__Scheme.__str__   s     $ LL> * $ LL> *#((  )^  IM  IU  IU  I[  I[  I]  )^  ^  _`	
r   c                x   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[S[ S[ 3,          ;R&   S[;R&   # )r   r"   r#   r$   r%   r(   r   )r   r   bool)r   r   s   "r   r   r   	   sR     J M  J  M	 
 38n  L r   )r(   r#   r$   r"   r%   r   N)__name__
__module____qualname____firstlineno__r*   propertyr   setterr   r   r    r!   r'   r?   ri   rH   r<   r=   r>   r   __annotate_func____static_attributes____classdictcell__)r   s   @r   r
   r
   	   s/        
[[ (   ^^ &   
[[ "   ^^   \ \
 
  ( (
" "
L L(	
 	
M  r   r
   c                R    V ^8  d   QhR\         R\        \        \        3,          /# )r   pathr   )r   r   r   )r   s   "r   r   r      s&     r r r$sCx. rr   c                     R  V P                  4       P                  4        4        UUu/ uF$  w  rVP                  4       VP                  4       bK&  	  upp# u uppi )c              3   V   "   T F  q'       g   K  VP                  R 4      x  K!  	  R# 5i)rN   N)split)r   lines   & r   r   )read_colours_from_file.<locals>.<genexpr>   s!     -pJg$koodjjooJgs   	)))	read_text
splitlinesstrip)r   kvs   &  r   r&   r&      sD    -p$..JZJeJeJg-pq-pTQAGGIqwwy -pqqqs   *Ac                $    V ^8  d   QhR\         /# r-   r   )r   s   "r   r   r      s     + + +r   c                  2    \        4       P                  4       # r1   )
get_schemer'   r^   r   r   get_scheme_pathr      s    <((**r   c                $    V ^8  d   QhR\         /# r-   )r
   )r   s   "r   r   r      s      F r   c                     \         f<    \        P                  ! \        P                  ! 4       4      p \        V 4      s \         # \         #   \        \        P                  3 d(    \        R 4      s \         P                  4         \         # i ; ir1   )	schemer   loadsr   r   r
   IOErrorJSONDecodeErrorr?   )scheme_jsons    r   r   r      sm     ~	**[%:%:%<=KK(F
 M6M	 --. 	D\FKKMM		s   4A
 
:BBc                :    V ^8  d   QhR\         \        ,          /# r-   )listr   )r   s   "r   r   r      s     S S$s) Sr   c                  B    . R  \         P                  ! 4        4       ORN# )c              3   h   "   T F(  qP                  4       '       g   K  VP                  x  K*  	  R # 5ir1   )is_dirr   )r   fs   & r   r   #get_scheme_names.<locals>.<genexpr>   s     F788:faff7s   22ry   )r   iterdirr^   r   r   r:   r:      s!    RFo557FR	RRr   c                F    V ^8  d   QhR\         R\        \         ,          /# )r   r   r   r   r   )r   s   "r   r   r      s"     t tc tT#Y tr   c                     V f   \        4       P                  p V R8X  d   R.# \        V ,          P                  4        Uu. uF&  qP	                  4       '       g   K  VP                  NK(  	  up# u upi )Nry   default)r   r   r   r   r   )r   r   s   & r   rG   rG      sZ    ||  )+I;s?UYCYBbBbBd1sBdQhphphr&!&&Bd1ss1ss    A/A/c                R    V ^8  d   QhR\         R\         R\        \         ,          /# )r   r   r   r   r   )r   s   "r   r   r      s*     	] 	]3 	] 	]tCy 	]r   c                    V f#   \        4       pVP                  p VP                  pV R8X  d   RR.# \        V ,          V,          P	                  4        Uu. uF&  q3P                  4       '       g   K  VP                  NK(  	  up# u upi )Nry   lightr   )r   r   r   r   r   is_filestem)r   r   r   r   s   &&  r   rO   rO      so    |{{..y  !04!7'!A J J L\ L1PYPYP[ L\\\s   B2Bc                @    V ^8  d   Qh/ ^ \         9   d
   \        ;R&   # )r   r   )__conditional_annotations__r
   )r   s   "r   r   r      s    L   M r   )	r   vibrant
expressivefidelity
fruitsalad
monochromeneutralrainbowcontentr1   )NN)r   r   rg   pathlibr   caelestia.utils.notifyr   caelestia.utils.pathsr   r   r   r
   scheme_variantsr   r&   r   r   r:   rG   rO   r   )r   s   @r   <module>r      s`       ) K Ko
 o
d
  r+St	] 	]r   