
    Chy                     B    d dl Z d dlmZ d dlmZmZmZ  G d de      Zy)    N)OrderedDict)boldgreenorangec                   `    e Zd ZddZed        Zed        Zd Zd ZddZ	d Z
d Zd	 Zd
 Zy)filec                 h    || _         || _        t        | j                   d      j                          y )Na)fnameverboseopenclose)selfr   r   s      Y/var/www/html/Telegram-Engagement-Pod-/env/lib/python3.12/site-packages/instabot/utils.py__init__zfile.__init__   s'    
TZZ##%    c                     t        | j                  d      5 }|j                         D cg c]  }|j                  d       }}|D cg c]  }|s|	 c}cd d d        S c c}w c c}w # 1 sw Y   y xY w)Nr
)r   r   	readlinesstrip)r   fxliness       r   listz	file.list   s_    $**c"a,-KKM:MqQWWT]ME:$*u!Au* #":* #"s.   A*A A*A%A%A* 
A**A3c                 ,    t        | j                        S N)setr   r   s    r   r   zfile.set   s    499~r   c              #   Z   K   | j                   D ]  }t        t        |              y wr   )r   nextiter)r   is     r   __iter__zfile.__iter__   s"     AtAw- s   )+c                 ,    t        | j                        S r   )lenr   r   s    r   __len__zfile.__len__   s    499~r   c                    | j                   r9dj                  || j                        }t        t	        t        |                   |sQt        |      | j                  v r:dj                  || j                        }t        t	        t        |                   y t        | j                  d      5 }|j                  dj                  |             d d d        y # 1 sw Y   y xY w)NzAdding '{}' to `{}`.z'{}' already in `{}`.r
   {item}
item)r   formatr   printr   r   strr   r   r   write)r   r+   allow_duplicatesmsgr   s        r   appendzfile.append   s    <<(//djjAC$uSz"#CI$:)00tzzBC$vc{#$$**c"aGGJ%%4%01 #""s   /"CC#c                     t        |      }| j                  }||v r\|j                  |       dj                  || j                        }t        t        t        |                   | j                  |       y y )NzRemoving '{}' from `{}`.)	r.   r   remover,   r   r-   r   r   	save_list)r   r   itemsr1   s       r   r4   zfile.remove+   s^    F		:LLO,33AtzzBC$uSz"#NN5!	 r   c                 @    t        j                  | j                        S r   )randomchoicer   r   s    r   r8   zfile.random4   s    }}TYY''r   c                 R    t        t        j                  | j                               S r   )r   r   fromkeysr   s    r   remove_duplicateszfile.remove_duplicates7   s    K((344r   c                     t        | j                  d      5 }|D ]#  }|j                  dj                  |             % 	 d d d        y # 1 sw Y   y xY w)Nwr)   r*   )r   r   r/   r,   )r   r6   r   r+   s       r   r5   zfile.save_list:   sB    $**c"a
))t)45  #""s   )A

AN)T)F)__name__
__module____qualname__r   propertyr   r   r$   r'   r2   r4   r8   r<   r5    r   r   r   r      sR    &
 + +
   2"(56r   r   )	r8   collectionsr   huepyr   r   r   objectr   rC   r   r   <module>rG      s     # % %666 66r   