
    Mg	                     v    S SK r S SKJrJrJr  \" SS9\" SSS5      \" S5       " S	 S
5      5       5       5       rg)    N)plugincompleterequireT)networksearchsumarycontentwikic                   F    \ rS rSrSrS rS	S jrS
S jr     SS jrSr	g)Wiki   z
Jarvis has now wiki feature
enter wiki search for searching related topics
enter wiki summary for getting summary of the topic
wiki content for full page article of topic
c                 r   UR                  SS5      n[        U5      S:X  a  UR                  S5        g S nUS   S:X  a$  U R                  SR	                  USS  5      5      nOlUS   S:X  a$  U R                  SR	                  USS  5      5      nO?US   S:X  a$  U R                  SR	                  USS  5      5      nOUR                  S5        g [        U[        5      (       aF  [        S	5        [        [        U5      5       H"  n[        [        US-   5      S
-   XE   -   5        M$     g [        SU-   5        g )N    zYDo you mean:
1. wiki search <subject>
2. wiki summary <subject>
3. wiki content <subject>r   r   summaryr	   zI don't know what you meanz"
Did you mean one of these pages?
z: 
)splitlensayr   joinr   r	   
isinstancelistprintrangestr)selfjarvisskdatads         :/Users/admin/workspace/ai/Jarvis/jarviscli/plugins/wiki.py__call__Wiki.__call__   s   GGCOq6Q;JJnp Dtx{{388AabE?31"||CHHQqrUO41"||CHHQqrUO4

78$%%<=s4y)A#a!e*t+dg56 * dTk"    c                 n    [         R                  " XU5      n[        U[        5      (       a	  U(       a  U$ g)zFDo a Wikipedia search for a query, returns a list of 10 related items.z-No articles with that name, try another item.)	wikipediar   r   r   )r   querycount
suggestionitemss        r"   r   Wiki.search(   s+      z:eT""uL>r%   c                      [         R                  " XU5      $ ! [         R                  R                   a     g[         R                  R                   a  nUR
                  SS s SnA$ SnAff = f)z3Returns a plain text summary from the query's page."No page matches, try another item.Nr   )r'   r   
exceptions	PageErrorDisambiguationErroroptions)r   r(   	sentencescharserrors        r"   r   Wiki.summary/   s^    	%$$Uu==##-- 	87##77 	%==!$$	%s     A/A/A*$A/*A/Nc                      [         R                  " U5      nUR                  $ ! [         R                  R                   a     g[         R                  R
                   a  nUR                  SS s SnA$ SnAff = f)zTReturns plain text content of query's page, excluding images, tables and other data.r.   Nr   )r'   pager	   r/   r0   r1   r2   )r   titlepageidauto_suggestredirectpreloadr8   r5   s           r"   r	   Wiki.content8   sc    	%>>%(D<<##-- 	87##77 	%==!$$	%s!   !$ A:A:!A5/A:5A: )
   F)r   r   )NNTTF)
__name__
__module____qualname____firstlineno____doc__r#   r   r   r	   __static_attributes__r?   r%   r"   r   r      s,    #0?% %r%   r   )r'   r   r   r   r   r?   r%   r"   <module>rG      sI     , , 		(Hi(>% >%  ) >%r%   