
    %
i                         d dl Z d dlZd dlZd dlZd dlZdaej        dej        dej        diZ	d Z
ddZd Zd Zd Zdad	 Zd
 ZdS )    N      c                      t           Mdd l} 	 d}|                     |d | j        t                      n# | j        $ r t          d           Y nw xY wd a d S d S )Nr   zFailed to finalize htmlhelp!)htmlhelp_handle	win32helpHtmlHelpHH_UNINITIALIZEerrorprint)r   frames     C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\pythonwin/pywin/framework/help.pyFinalizeHelpr      s    "	2EudI,EWWWW 	2 	2 	2011111	2 #"s   $2 AAc                    t          j        d           	 |t          j        }t          j                            |           d                                         }|dk    r;t          j	        t          j
                                                    | ||           n$	 t          j        dd| ddt          j                   | t          j        d           S # t          j        d           w xY w)	z#Open a help file, given a full pathr   Nz.hlpr   z.chmopen )win32uiDoWaitCursorwin32conHELP_CONTENTSospathsplitextlowerwin32apiWinHelpGetMainFrameGetSafeHwndr   html_help_command_translatorsgetr   r   HH_INITIALIZEShellExecuteSW_SHOW)fileNamehelpCmdhelpArgextr   r   htmlhelp_hwnds          r   OpenHelpFiler)       s     !?,Ggx((+1133&==$&&2244h   	S !!VXtRAQRRRR    R    s   B+C C,c                      g } t          t          j                  } t          t          j                  D ]}|| vr|                     |           | S )N)_ListAllHelpFilesInRootr   HKEY_LOCAL_MACHINEHKEY_CURRENT_USERappend)retitems     r   ListAllHelpFilesr1   F   sR    
C
!("=
>
>C'(BCC  s??JJtJ    c                 8   g }	 t          j        | t          j                    dz   dt          j                  }n3# t           j        $ r!}ddl}|j        |j        k    r |cY d}~S d}~ww xY w	 d}	 	 t          j	        ||          }t          j
        ||          }|                    ||f           |dz  }n1# t           j        $ r}ddl}|j        |j        k    r Y d}~n	d}~ww xY wz	 t          j        |           n# t          j        |           w xY w|S )zEReturns a list of (helpDesc, helpFname) for all registered help filesz\Helpr   Nr   )r   
RegOpenKeyregutilBuildDefaultPythonKeyr   KEY_READr
   winerrorERROR_FILE_NOT_FOUND
RegEnumKeyRegQueryValuer.   ERROR_NO_MORE_ITEMSRegCloseKey)rootretListkeyexcr8   keyNohelpDeschelpFiles           r   r+   r+   P   sf    G	!'/11H<aAR
 
 >   <8888"	
#.sE::#1#x@@(3444
>   <8#???	 S!!!!S!!!!NsR   5: A*	A%A*%A*.D 2AB9 8D 9C'C"D "C''D Dc                      ddl m}  t                      }t          |          dk    rd}n|                     d|dg          }|t          ||         d                    d S d S )Nr   )listr   zSelect Help fileTitle)pywin.dialogsrF   r1   lenSelectFromListsr)   )rF   	helpFilesindexs      r   SelectAndRunHelpFilerM   q   s}    """""" ""I
9~~$$%7WINNYu%a())))) r2   c                 N   t           i a t          j        }ddg}t                      }g }|D ]\  }}||v r|                    |           g }|D ]F\  }}||vr=||ft           |<   t          j                                        t          |           |dz  }G|                     | 	                                dz
            }d}	|                    |	          }
|
	                                r4|

                    dt          j                   |
	                                4t           rRt                                           D ]6\  }\  }}|
                    t          j        t          j        z  ||           7dS |                    |	t          j        t          j        z             dS )zModifies the main Help Menu to handle all registered help files.
    mainMenu -- The main menu to modify - usually from docTemplate.GetSharedMenu()
    NzMain Python DocumentationzPythonwin Referencer      r   )	helpIDMapr   ID_HELP_OTHERr1   r.   r   HookCommandHandleHelpOtherCommand
GetSubMenuGetMenuItemCount
DeleteMenur   MF_BYPOSITIONitems
AppendMenu
MF_ENABLED	MF_STRINGEnableMenuItem	MF_GRAYED)mainMenucmdIDexcludeList	firstListexcludeFnamesdescfname	helpDescshelpMenuotherHelpMenuPos	otherMenuids               r   SetHelpMenuOtherHelprj      s    	%24IJ$&&	 $ 	, 	,KD%{""$$U+++	$ 	 	KD%M))$(%=	% $&&223I5QQQ
""!!##a' H ##$455I

$
$
&
& 8Q 6777 
$
$
&
& 8  
!*!2!2 	U 	UBu  !4x7I!I2tTTTT	U 	U 	h4x7II	
 	
 	
 	
 	
r2   c                 F    t          t          |          d                    d S )Nr   )r)   rP   )cmdcodes     r   rS   rS      s    3"#####r2   )NN)r   r5   r   r   r   r   r   HELP_CONTEXTHELP_FINDERr   r   r)   r1   r+   rM   rP   rj   rS    r2   r   <module>rq      s    				     A2!!   #! #! #! #!L    B
* 
* 
* 	(
 (
 (
V$ $ $ $ $r2   