home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- __version__ = '6.0'
- __title__ = 'Testpage Print Utility'
- __mod__ = 'hp-testpage'
- __doc__ = "Print a tespage to a printer. Prints a summary of device information and shows the printer's margins."
- import sys
- import os
- import getopt
- import re
- import time
- from base.g import *
- from base import device, utils, tui, module
- from prnt import cups
-
- try:
- mod = module.Module(__mod__, __title__, __version__, __doc__, None, (INTERACTIVE_MODE, GUI_MODE), (UI_TOOLKIT_QT4,))
- mod.setUsage(module.USAGE_FLAG_DEVICE_ARGS)
- (opts, device_uri, printer_name, mode, ui_toolkit, loc) = mod.parseStdOpts()
- (printer_name, device_uri) = mod.getPrinterName(printer_name, device_uri)
- wait_for_printout = False
- if mode == GUI_MODE:
- if not utils.canEnterGUIMode4():
- log.error('%s -u/--gui requires Qt4 GUI support. Entering interactive mode.' % __mod__)
- mode = INTERACTIVE_MODE
-
-
- if mode == GUI_MODE:
-
- try:
- from PyQt4.QtGui import QApplication
- from ui4.printtestpagedialog import PrintTestPageDialog
- except ImportError:
- log.error('Unable to load Qt4 support. Is it installed?')
- sys.exit(1)
-
- log.set_module('%s(UI)' % __mod__)
- app = QApplication(sys.argv)
- dialog = PrintTestPageDialog(None, printer_name)
- dialog.show()
-
- try:
- log.debug('Starting GUI loop...')
- app.exec_()
- except KeyboardInterrupt:
- sys.exit(0)
-
- sys.exit(0)
-
- if mode == INTERACTIVE_MODE:
-
- try:
- d = device.Device(device_uri, printer_name)
- except Error:
- e = None
- log.error('Device error (%s).' % e.msg)
- sys.exit(1)
-
-
- try:
- d.open()
- except Error:
- log.error('Unable to print to printer. Please check device and try again.')
- sys.exit(1)
-
-
- wait_for_printout = False
- if d.isIdleAndNoError():
- d.close()
- log.info('Printing test page to printer %s...' % printer_name)
-
- try:
- d.printTestPage(printer_name)
- except Error:
- e = None
- if e.opt == ERROR_NO_CUPS_QUEUE_FOUND_FOR_DEVICE:
- log.error('No CUPS queue found for device. Please install the printer in CUPS and try again.')
- else:
- log.error('An error occured (code=%d).' % e.opt)
- except:
- e.opt == ERROR_NO_CUPS_QUEUE_FOUND_FOR_DEVICE
-
- if wait_for_printout:
- log.info('Test page has been sent to printer. Waiting for printout to complete...')
- time.sleep(5)
- i = 0
- while True:
- time.sleep(5)
-
- try:
- d.queryDevice(quick = True)
- except Error:
- e = None
- log.error('An error has occured.')
-
- if d.error_state == ERROR_STATE_CLEAR:
- break
- elif d.error_state == ERROR_STATE_ERROR:
- cleanup_spinner()
- log.error('An error has occured (code=%d). Please check the printer and try again.' % d.status_code)
- break
- elif d.error_state == ERROR_STATE_WARNING:
- cleanup_spinner()
- log.warning('There is a problem with the printer (code=%d). Please check the printer.' % d.status_code)
- else:
- update_spinner()
- i += 1
- if i > 24:
- break
- continue
- cleanup_spinner()
- else:
- log.info('Test page has been sent to printer.')
- else:
- log.error('Device is busy or in an error state. Please check device and try again.')
- sys.exit(1)
- d.close()
- log.info('')
- log.notice('If an error occured, or the test page failed to print, refer to the HPLIP website')
- log.notice('at: http://hplip.sourceforge.net for troubleshooting and support.')
- log.info('')
- except KeyboardInterrupt:
- log.error('User exit')
-
- log.info('')
- log.info('Done.')
-