
    =	f1'                        d dl mZ dZdZdZdZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dl d dlmZmZmZmZmZmZ d d	lmZ d
Zd
Zd
Zdej6                  z  ZdZdIdZdJdZd Z ed
ddfdez  d
ddfejB                  dddejD                  ejF                  ejH                  ejJ                  ejL                  ddez  ddfddez  ddfejN                  dgZ(dKdZ)	 d dl*Z*d dl*m+Z+m,Z, 	  ejb                  eeeee(e2e3fe4e5e6fdd"	      Z7e7jq                  d#g d$d%      \  Z9ZZZ:Z;Z< ej                  d&      re.j                  d'       d(ZBdZCdZDdZEdZFdZGe9D ]  \  ZHZIeHd)v r e)        eHd*k(  r	 e)d+        eHd,k(  r	 e)d-       .eHd.v rdZF5eHd/k(  r eJed01        ej`                  d        WeHd2v reIj                         j                         ZBzeHd3v rd'ZBeHd4v rdZCeHd5v rdZDeHd6v sdZE e.j                  eB      s e)        	 e7j                  d    ZNej                  j                  e      Ze.j                  e.j                  d7ez               ej                  j                  e      r	  ej                  e       e.j                  e       e.j                  e.j                         e.j                  d8       eDr,eCr*e.j_                  d9        e)         ej`                  d!       e.j                  d:eNz          e[eN      d!k  r e)         ej`                          eNr ej                  eN      \  ZZ]Z^es#e.j_                  d;        ej`                  d        e.j                  d<ez          ej                  e      Z`e`re`j                  d=eb      ebk(  r#e.j_                  d>        ej`                  d!       e`j                  d?ec      Zdedeck(  r"e.j                  d@        ej`                          eDsdZCdZe ej                  dA      \  ZgZhegdu r] ej                         d k(  re.j_                  dB       n7e.j                  dC        ej                           ej                  dA      \  ZgZhegdk(  rdZee.j                  dD        ej                         Zlelj                         Znenej                  k(  re.j                  dE       dZGn2enej                  k(  re.j                  dF       ne.j                  dG       eCreGs eee       neDreGs	 eeed       eEreGdu rdZqndZq e eleqeN       e.j                          e.j                  dH       y# e-$ r' e.j_                  d         ej`                  d!       Y w xY w# e	jz                  $ r?Z>e.j_                  e>j~                          e)         ej`                  d!       Y dZ>[>dZ>[>ww xY w# eO$ r d
ZNY w xY w# eV$ r Y iw xY w)L    )print_functionz1.1z+AutoConfig Utility for Plug-in Installationzhp-check-pluginzbAuto config utility for HPLIP supported multifunction Devices for installing proprietary plug-ins.N)*)utilsdevicetuimodulepkitservices)pluginhandler z%s/hplip_ac.logzcom.hplip.StatusServicec                     t         j                  d       | ||||||g}t        j                  dt        d      } |j
                  |ddi t               j                  |       t         j                  d       y )Nzsend_message() entered/Event	signaturessisisszsend_message() returning)logdebuglowlevelSignalMessageDBUS_SERVICEappend	SystemBussend_message)	
device_uriprinter_name
event_codeusernamejob_idtitle	pipe_nameargsmsgs	             /usr/share/hplip/check-plugin.pyr   r   7   sg    II&'j(FE9UD

 
 lG
<CCJJT**KS!II()    Fc                 z   |rt        j                         s1t        j                  dt        z         t        j                  d       	 ddlm}m	} ddl
m} ddlm}  t
        j                        }t         }t"        }t%        j&                  |t         k(  |      \  }	}
|	r|
st        j                  d       y y | r2t)        t*        d	t,        t.        dd
       t        j1                  d       y t        j                  d       y # t        $ r- t        j                  d       t        j                  d       Y w xY w)Nz+%s requires GUI support . Is Qt4 installed?   r   )QApplicationQMessageBox)PluginDiagnose)core_installz,Unable to load Qt4 support. Is it installed?zFailed to install plug-in.r   
AutoConfigzAEvent EVENT_AUTO_CONFIGURE sent to hp-systray to invoke hp-pluginz-Run hp-systray manually and re-plugin printer)r   canEnterGUIMode4r   error__mod__sysexitPyQt4.QtGuir'   r(   ui4.plugindiagnoser)   	installerr*   ImportErrorargvPLUGIN_REQUIREDPLUGIN_REASON_NONEr	   run_plugin_commandr   r   EVENT_AUTO_CONFIGUREr   r   )systray_running_statusrun_directlyr'   r(   r)   r*   apppluginplugin_reasonoksudo_oks              r#   install_PluginrA   A   s    %%'IICgMNHHQK	=9.
 388$ *--f.GWGII23 !	j2';Xq,W		UV		AB  	IIDEHHQK	s   	D 3D:9D:c                 &   d}|du r|dk7  rt        j                  d       |dz
  }t        j                  d      \  }}t        j                  d      \  }}|du rH|du rDd}| j	                         t
        k(  rn4t        j                  d	       t        j                  d
       |du r|dk7  rd}d}||d|z  z  }t        dk(  r|dz  }||z   }	t        j                  d       t        j                  d|	z         t        j                  |	      \  }
}y )Nip  Fr   g333333?   z	hp-pluginzhp-diagnose_pluginTz\Failed to download firmware required files. manually run hp-plugin command in terminal fisrtr&   zhp-firmwarer   z -y3 %sr   z -gzStarting Firmware installation.zRunning command : %s )timesleepr   Is_Process_Running	getStatusPLUGIN_INSTALLEDr   r-   r/   r0   	log_levelinfor   run)	pluginObjPlugin_Installation_Completed	USB_paramsleep_timeout	ps_pluginoutputps_diagnose_pluginexecmdoptionscmdStatusouts               r#   install_firmwarerX   ^   s   M
'5
0]a5G

3%q( 33K@	&$)$<$<=Q$R!6"4"=,0)""$(88		xy (5
0]a5G FG9i((G5	'	CHH./II%s*+		#KFCr$   nameTz$Usage: %s [OPTIONS] [USB bus:device]summary)z'Install Plug-in through HP System Tray:z-m (Default)optionF)z"Install Plug-in through hp-plugin:-pr[   F)z"Download firmware into the device:-fr[   FzInstall plugin:z$%s 001:002examplezInstall plugin and firmware:z$%s -f 001:002)z*-m and -p options can't be used together. r   noteFc                     | dk(  rt        j                  t        t               t        j                  t
        | t        t        t               t        j                  d       y )Ntextr   )	r   	log_title	__title____version__format_textUSAGEr.   r/   r0   )typs    r#   usagerh      s8    
f}	;/	eS)WkBHHQKr$   )r   r   z2hp-check-plugin Tool requires dBus and python-dbusr&   )run_as_root_okquietzl:hHuUmMfFpPgG)guihelpz	help-restzhelp-manz	help-desczlogging=)handle_device_printerHPLIP_DEBUGr   rJ   )z-hz-Hz--helpz--help-restrestz
--help-manman)z-uz-Uz--guiz--help-desc )end)z-lz	--logging)z-gz-G)z-mz-M)r\   z-P)z-Fr]   zSaving output in log file: %sz hp-check-plugin startedz.Both -m and -p options can't be used together.zparam=%szThis is not a valid devicez
Setting up device: %s
zsupport-typezUnsupported printer model.r=   zThis is not a plugin device.z
hp-systrayz@ hp-systray must be running.
 Run 'hp-systray &' in a terminal. zStarting hp-systray servicezhp-systray service is running
z"Device Plugin is already installedzHP Device Plug-in is not foundz>HP Device Plug-in version mismatch or some files are corruptedzDone.)r   )F)ra   )r
__future__r   rd   rc   r.   __doc__r/   osos.pathgetoptsignaloperatorrD   base.gbaser   r   r   r   r	   r
   r3   r   r   r   r   propuser_dirLOG_FILEr   r   rA   rX   USAGE_OPTIONS
USAGE_HELPUSAGE_LOGGING1USAGE_LOGGING2USAGE_LOGGING3USAGE_EXAMPLESUSAGE_NOTESrf   rh   dbusr   r   r4   r   r-   r0   ModuleINTERACTIVE_MODEGUI_MODEUI_TOOLKIT_QT3UI_TOOLKIT_QT4UI_TOOLKIT_QT5modparseStdOptsoptsmode
ui_toolkitlocGetoptErrorer"   getenv	set_levelrI   Systray_Msg_EnabledPlugin_option_EnabledFirmware_Option_EnabledGUI_ModeIs_Plugin_Already_Installedoaprintlowerstripr!   param
IndexErrorpathnormpathrJ   boldexistsremoveOSErrorset_logfile	set_whereLOG_TO_CONSOLE_AND_FILEr   lenmakeURIsane_urifax_uriqueryModelByURImqgetSUPPORT_TYPE_NONEPLUGIN_NONEr=   Systray_Is_RunningrF   statusrQ   getuidrun_systrayPluginHandlerL   rG   
plugin_stsrH   PLUGIN_NOT_INSTALLEDrM    r$   r#   <module>r      s  . &9	

n  	       ; ; # 
T]]*&
*C:J 2vt	$
07
:B	4	P				U	F	F						u33U5I5I			mW5y%
H)+;W+EyRW
X				G	
 (	
&--K%x >>>"RcgosuC 
		*+j  BG	  
H :D*lD*c 299]g	   #  #'DAq!!	
m	f	
l	e	
"	" 
m	g3	
!	!GGIOO%		
\			
l	"	
l	 $	
k	"&G#'J }}i 	GHHQKE 77H% 1H<	= >77>>(		(   c)) * 		
$ %0II>?	GCHHQK 		*u
 u:>	GCHHJ$2FNN5$9!J'II*+CHHQK 		
%

2 3VJ'	RVVN$56:KKII*+CHHQK	+	&	[II,-CHHJ  (((6v	U?ryy{a		WX./000>v	T>II/0&M&&(	  "
///HH12"&=555HH-.HHMN&*+&*D1"e+(-%(,%Y =uE 
  y  		FG  		!%%r  E  sN   U *=V 	W 2W% (VVW4WWW"!W"%W.-W.