
    KJi                         d Z ddlZddlmZ ddlmZmZ dZddZd Z	d Z
dd	Zd
 Zd Zd ZddZedk    r e             dS dS )zA
This module provides the command line interface for Cinemagoer.
    N)ArgumentParser)VERSIONIMDb   c           
      "   |dk    rdnd}t          d|z             t          ddt          |          z             t          | d |                   D ]8\  }}t          d|dz   t          ||d	z             |d
|z            dz             9d S )Nmovietitlenamez  # IMDb id %sz=== ======= =z!%(index)3d %(imdb_id)7s %(title)s   IDz
long imdb )indeximdb_idr	   )printlen	enumerategetattr)itemstype_nfieldiitems         H/var/www/html/auto_sub_bot/venv/lib/python3.11/site-packages/imdb/cli.pylist_resultsr      s    ''GGVE	
U
"###	EcCJJ..
0111U2A2Y''  41UtUT\22,./5
 5
 
 	 	 	 	     c                    t                      }| j        | j        nt          }| j        dk    r|                    | j                  }| j        r/|                    |d                   }t          |d|           d S t          d           t          d           t          |d |                   D ]\  }}t          d|dz   |d	z             d S | j        dk    r|                    | j                  }nq| j        d
k    r|                    | j                  }nK| j        dk    r|                    | j                  }n%| j        dk    r|                    | j                  }| j        rD|                    |d                    t          |d                                                    d S t          || j        | j                   d S )Nkeywordr   r   )r   r   z  # keywordz=== =======z%(index)3d %(kw)sr   )r   kwperson	charactercompany)r   r   DEFAULT_RESULT_SIZEtypesearch_keywordkeyfirstget_keywordr   r   r   search_moviesearch_personsearch_charactersearch_companyupdatesummary)args
connectionr   r   r   r   s         r   search_itemr1   )   s   J&$*=AyI))$(33: 	M**5844Eg333333-   -   'bqb	22 M M
7)a!e7,K,KKLLLLM M 9++DH55EEY("",,TX66EEY+%%//99EEY)##--dh77E: 	;eAh'''%(""$$%%%%%di46::::::r   c                 0   t                      }| j        dk    rD| j        | j        nt          }|                    | j        |          }t          |d           d S | j        dk    r|                    | j                  }nq| j        dk    r|                    | j                  }nK| j        dk    r|	                    | j                  }n%| j        dk    r|
                    | j                  }t          |                                           d S )Nr   )resultsr   )r   r    r!   r"   )r   r$   r   r#   r(   r&   r   	get_movie
get_personget_characterget_companyr   r.   )r/   r0   r   r   r   s        r   get_itemr8   G   s   JyIf(DFF.A&&tx&;;U'******9''11DDY(""((22DDY+%%++DH55DDY)##))$(33Ddllnnr   c                 D   t          d           t          d           ||nt          }t          | d |                   D ]^\  }}t          d|dz   |                    d          |                    d          |j        |                    d          dz             _d S )	Nz   # rating   votes IMDb id titlez === ====== ======= ======= =====z:%(index)3d    %(rating)s %(votes)7s %(imdb_id)7s %(title)sr   ratingvoteszlong imdb title)r   r:   r;   r   r	   )r   r#   r   getmovieID)r   r   r   r   s       r   list_rankingr>   Y   s    	
,---	
,---] 3AeBQBi((  5JUii))YYw''}YY011N
 N
 
 	 	 	 	 r   c                    t                      }|                                }| j        rD|                    |d                    t	          |d                                                    d S t          || j                   d S Nr   )r   )r   get_top250_moviesr'   r-   r   r.   r>   r   r/   r0   r   s      r   get_top_moviesrC   g   s}    J((**Ez &%(###eAh  !!!!!Udf%%%%%%r   c                    t                      }|                                }| j        rD|                    |d                    t	          |d                                                    d S t          || j                   d S r@   )r   get_bottom100_moviesr'   r-   r   r.   r>   r   rB   s      r   get_bottom_moviesrF   q   s}    J++--Ez &%(###eAh  !!!!!Udf%%%%%%r   c                 l   t          |           }|                    dddt          z              |                    dd          }d|_        |                    dd	
          }|                    ddg d           |                    dd
           |                    dt          d           |                    ddd           |                    t                     |                    dd
          }|                    ddg d           |                    dd
           |                    dt          d           |                    t                     |                    dd
          }|                    dt          d            |                    ddd           |                    t                     |                    d!d"
          }|                    dt          d            |                    ddd           |                    t                     |S )#Nz	--versionversionz	%(prog)s )actionrH   command)metavardestTsearchzsearch for items)helpr$   ztype of item to search for)r   r    r!   r"   r   )rN   choicesr&   z#title or name of item to search forz-nznumber of items to list)r$   rN   z--first
store_truezdisplay only the first result)rI   rN   )funcr<   z"retrieve information about an itemztype of item to retrievez-IMDb id (or keyword name) of item to retrievez,number of movies to list (only for keywords)topzget top ranked moviesznumber of movies to listbottomzget bottom ranked movies)r   add_argumentr   add_subparsersrequired
add_parserintset_defaultsr1   r8   rC   rF   )progparsercommand_parserscommand_search_parsercommand_get_parsercommand_top_parsercommand_bottom_parsers          r   make_parserra   {   sm   D!!F
I{W?TUUU++II+NNO#O+66xFX6YY&&v4P/e/e/e ' g g g&&u3X&YYY&&t#<U&VVV&&yLk&lll&&K&888(33E@d3ee##F1K,b,b,b $ d d d##E0_#```##Ds9g#hhh###222(33E@W3XX##Ds9S#TTT##IlIh#iii###888+66xF`6aa&&t#<V&WWW&&yLk&lll&&,=&>>>Mr   c                     | | nt           j        } t          d          }|                    | dd                    }|                    |           d S )Nimdbpy)rZ   r   )sysargvra   
parse_argsrQ   )re   r[   	argumentss      r   mainrh      sU    #44Dh'''F!!$qrr(++INN9r   __main__)N)__doc__rd   argparser   imdbr   r   r#   r   r1   r8   r>   rC   rF   ra   rh   __name__ r   r   <module>ro      s   "  


 # # # # # #         	 	 	 	; ; ;<  $   & & && & &     F    zDFFFFF r   