3
NZ$              8   @   s  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	T ddl
mZmZmZmZmZmZ ddlmZ ydd	lmZ W n8 ek
r Z zeje dd
lmZ W Y ddZ[X nX dd Zdd Zdd Zdd Zdd Zdd Z dd Z!dd Z"dd Z#yej$eee ede%e&fe'e(fZ)e)j*ej+dddd gd! e)j, \Z-Z.Z/Z0Z1Z2e)j3e.e/d"ej4e5fid#Z.e.svej6d$ ej7d%e.  e0e&krej8 sej9d&e  e%Z0e0e%krZyej:e.e/Z;W n> e<k
r Z z ej9d'ej=  ej6d W Y ddZ[X nX zFye;j>  W n* e<k
r>   ej9d( ej6d$ Y nX e;j? r@e;j@jAd"e5ZBejd)eB  e;jC  eBeDkrej9d* qJeBeEkrejFe;ejG qJeBeHkrejIe;ejGejJ qJeBeKkrejLe;ejGee qJeBeMeNfkrejOe;ejGeeeP qJeBeQkr(ejRe;e!e#ejG qJeBeSkrDejTe;ejGe neBeUeVeWfkrnejXe;eBejGeeee neBeYkrejZe;ejGe" neBe[krej\e;ejGe"e  neBe]krej^e;ejG n|eBe_krej`e;ejGe"e  n^eBeakrejbe;ejGe# nBeBeckrejde;ejGe n&eBeekr4ejfe;ejGe# n
ej9d+ n
ej9d( W de;jC  X nzejge1\ZhZieeid, ZjehejkZlejjmde.Znenjo  yejd- eljp  W n  eqk
r   ej6d Y nX ej6d W n  eqk
r   ej9d. Y nX ej7d/ ej7d0 dS )1z5.0z#Printer Cartridge Alignment Utilityzhp-alignzzCartridge alignment utility for HPLIP supported inkjet printers. (Note: Not all printers require the use of this utility).    N)*)devicestatusutilsmainttuimodule)cups)import_module)dyn_import_modc             C   s0   t jd| |f d|\}}|s(tjd ||fS )NzRFrom the printed Alignment page, Enter the best aligned value for line %s (1-%d):    r   )r   enter_rangesysexit)ZletterZhortvertZcolorsZ
line_countmaximumokvalue r   /usr/share/hplip/align.pyenterAlignmentNumber/   s    

r   c             C   s,   t jd|  d| \}}|s$tjd ||fS )NzFEnter numbered arrow that is best aligned with the paper edge (1-%d): r   r   )r   r   r   r   )r   r   r   r   r   r   enterPaperEdge:   s    

r   c             C   s0   t jd| |f d|\}}|s(tjd ||fS )Nz]Enter the numbered box on line %s that is best color matched to the background color (1-%d): r   r   )r   r   r   r   )liner   r   r   r   r   r   colorAdjE   s    

r   c               C   s   t jd d S )NzhCannot perform alignment with 0 or 1 cartridges installed.
Please install both cartridges and try again.)logerrorr   r   r   r   bothPensRequiredP   s    r   c               C   s   t jd d S )NzNInvalid cartridge(s) installed.
Please install valid cartridges and try again.)r   r   r   r   r   r   
invalidPenT   s    r   c               C   s   t jd d S )NzInvalid cartridge(s) installed. Cannot align with only the photo cartridge installed.
Please install other cartridges and try again.)r   r   r   r   r   r   invalidPen2X   s    r   c              C   sZ   t jd t jd t jd t jd tjddddgd\} }|dkrRtjd	 |d
kS )NzyTo perform alignment, you will need the alignment page that is automatically
printed after you install a print cartridge.z*
p		Print the alignment page and continue.zGn		Do Not print the alignment page (you already have one) and continue.z	q		Quit.
z6Choice (p=print page*, n=do not print page, q=quit) ? pnqr   y)r   infor   Zenter_choicer   r   )r   Zchoicer   r   r   aioUI1\   s    




r#   c             C   s   t j| |}g }t|j }|j  xf|D ]^}|| d sF|jd q*tjd||| d f d|| d \}}|j| |s*tj	d q*W |S )Nr   zbEnter the numbered box on line %s where the inner lines best line up with the outer lines (1-%d): r   )
r   Zalign10and11and14Controlslistkeyssortappendr   r   r   r   )pattern
align_typeZcontrolsvaluesZ
s_controlsr   r   r   r   r   r   type10and11and14Alignj   s    
$
r+   c               C   sF   t jd t jt jd t jd t jd t jd t jd d S )N z-Follow these steps to complete the alignment:z@1. Place the alignment page, with the printed side facing down, z   in the scanner.z12. Press the Enter or Scan button on the printer.zX3. "Alignment Complete" will be displayed when the process is finished (on some models).)r   r"   Zboldr   r   r   r   aioUI2~   s    



r-   zhp-cleanzhp-colorcalzhp-linefeedcalz	hp-pqdiag)Zsee_also_listz
align-type)filterr   zUsing device : %s
z@%s -u/--gui requires Qt4 GUI support. Entering interactive mode.zUnable to open device: %szGDevice is busy or in an error state. Please check device and try again.zAlignment type=%dz|Alignment through HPLIP not supported for this printer. Please use the printer's front panel to perform cartridge alignment.zInvalid alignment type.z.aligndialogzStarting GUI loop...z	User exitr,   zDone.)r__version__Z	__title____mod____doc__r   reZgetoptoperatorosZbase.gbaser   r   r   r   r   r   Zprntr	   	importlibr
   ImportErrorer   debugZ
base.utilsr   r   r   r   r   r   r   r#   r+   r-   ZModuleZINTERACTIVE_MODEZGUI_MODEZUI_TOOLKIT_QT4ZUI_TOOLKIT_QT5modZsetUsageZUSAGE_FLAG_DEVICE_ARGSZparseStdOptsZoptsZ
device_uriZprinter_namemodeZ
ui_toolkitZlangZgetDeviceUrineZALIGN_TYPE_NONEr   r"   ZcanEnterGUIMode4r   ZDevicedErrormsgopenZisIdleAndNoErrorZmqgetr)   closeZALIGN_TYPE_UNSUPPORTEDZALIGN_TYPE_AUTOZAlignType1PMLZload_paper_promptZALIGN_TYPE_AIOZAlignType13Zload_scanner_for_align_promptZALIGN_TYPE_8XXZ
AlignType2ZALIGN_TYPE_9XXZALIGN_TYPE_9XX_NO_EDGE_ALIGNZ
AlignType3Zupdate_spinnerZALIGN_TYPE_LIDIL_AIOZ
AlignType6ZALIGN_TYPE_DESKJET_450Z
AlignType8ZALIGN_TYPE_LIDIL_0_3_8ZALIGN_TYPE_LIDIL_0_4_3ZALIGN_TYPE_LIDIL_VIPZ	AlignxBowZALIGN_TYPE_LBOWZAlignType10ZALIGN_TYPE_LIDIL_0_5_4ZAlignType11ZALIGN_TYPE_OJ_PROZAlignType12ZALIGN_TYPE_LIDIL_DJ_D1600ZAlignType14ZALIGN_TYPE_LEDMZAlignType15ZALIGN_TYPE_LEDM_MANUALZAlignType16ZALIGN_TYPE_LEDM_FF_CC_0ZAlignType17Zimport_dialogZQApplicationZ
ui_packageZuiargvZappZAlignDialogZdlgZshowZexec_KeyboardInterruptr   r   r   r   <module>   s    






















	


