diff -Nru hplip-3.14.6/align.py hplip-3.15.2/align.py --- hplip-3.14.6/align.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/align.py 2015-01-29 12:20:49.000000000 +0000 @@ -31,7 +31,7 @@ import getopt import operator import os - +#from __future__ import absolute_import # Local from base.g import * from base import device, status, utils, maint, tui, module @@ -100,7 +100,7 @@ def type10and11and14Align(pattern, align_type): controls = maint.align10and11and14Controls(pattern, align_type) values = [] - s_controls = controls.keys() + s_controls = list(controls.keys()) s_controls.sort() for line in s_controls: @@ -142,6 +142,9 @@ device_uri = mod.getDeviceUri(device_uri, printer_name, filter={'align-type': (operator.ne, ALIGN_TYPE_NONE)}) + if not device_uri: + sys.exit(1) + if mode == GUI_MODE: if not utils.canEnterGUIMode4(): log.error("%s -u/--gui requires Qt4 GUI support. Entering interactive mode." % __mod__) @@ -150,7 +153,7 @@ if mode == INTERACTIVE_MODE: try: d = device.Device(device_uri, printer_name) - except Error, e: + except Error as e: log.error("Unable to open device: %s" % e.msg) sys.exit(0) @@ -236,7 +239,6 @@ #try: if 1: app = QApplication(sys.argv) - dlg = AlignDialog(None, device_uri) dlg.show() try: diff -Nru hplip-3.14.6/base/avahi.py hplip-3.15.2/base/avahi.py --- hplip-3.14.6/base/avahi.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/avahi.py 2015-01-29 12:20:35.000000000 +0000 @@ -20,13 +20,12 @@ # import sys -from g import * +from .g import * import socket from subprocess import Popen, PIPE -from base import utils +from . import utils +from .sixext import to_string_utf8 -def is_ipv6(a): - return ':' in a def detectNetworkDevices(ttl=4, timeout=10): found_devices = {} @@ -35,40 +34,35 @@ log.error("Avahi-browse is not installed") return found_devices - addr4 = [] - addr6 = [] # Obtain all the resolved services which has service type '_printer._tcp' from avahi-browse p = Popen(['avahi-browse', '-kprt', '_printer._tcp'], stdout=PIPE) - for line in p.stdout: + output = to_string_utf8(p.communicate()[0]) + for line in output.splitlines(): if line.startswith('='): bits = line.split(';') - if is_ipv6(bits[7]) and bits[2] == 'IPv6': - addr6.append([bits[7], bits[8]]) - # We don't support IPv6 yet - continue - elif bits[2] == 'IPv4': - addr4.append([bits[7], bits[8]]) - ip = bits[7] - port = bits[8] - # Run through the offered addresses and see if we have a bound local - # address for it. - try: - res = socket.getaddrinfo(ip, port, 0, 0, 0, socket.AI_ADDRCONFIG) - if res: - y = {'num_devices' : 1, 'num_ports': 1, 'product_id' : '', 'mac': '', - 'status_code': 0, 'device2': '0', 'device3': '0', 'note': ''} - y['ip'] = ip - y['hn'] = bits[6].replace('.local', '') - details = bits[9].split('" "') - for item in details: - key, value = item.split('=', 1) - if key == 'ty': - y['mdns'] = value - y['device1'] = "MFG:Hewlett-Packard;MDL:%s;CLS:PRINTER;" % value - found_devices[y['ip']] = y - log.debug("ip=%s hn=%s ty=%s" %(ip,y['hn'], y['mdns'])) - except socket.gaierror: - pass + if bits[2] == 'IPv4' and len(bits[7].split('.')) == 4: + ip = bits[7] + port = bits[8] + # Run through the offered addresses and see if we have a bound local + # address for it. + try: + res = socket.getaddrinfo(ip, port, 0, 0, 0, socket.AI_ADDRCONFIG) + if res: + y = {'num_devices' : 1, 'num_ports': 1, 'product_id' : '', 'mac': '', + 'status_code': 0, 'device2': '0', 'device3': '0', 'note': ''} + y['ip'] = ip + y['hn'] = bits[6].replace('.local', '') + details = bits[9].split('" "') + for item in details: + key, value = item.split('=', 1) + if key == 'ty': + y['mdns'] = value + y['device1'] = "MFG:Hewlett-Packard;MDL:%s;CLS:PRINTER;" % value + break + found_devices[y['ip']] = y + log.debug("ip=%s hn=%s ty=%s" %(ip,y['hn'], y['mdns'])) + except socket.gaierror: + pass log.debug("Found %d devices" % len(found_devices)) return found_devices diff -Nru hplip-3.14.6/base/codes.py hplip-3.15.2/base/codes.py --- hplip-3.14.6/base/codes.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/codes.py 2015-01-29 12:20:35.000000000 +0000 @@ -1,3 +1,4 @@ +#!/usr/bin/env python # -*- coding: utf-8 -*- # # (c) Copyright 2003-2009 Hewlett-Packard Development Company, L.P. @@ -84,6 +85,9 @@ ERROR_UNKNOWN_VALIDATION_ERROR = 110 ERROR_NO_SI_DEVICE = 111 ERROR_FAILED_TO_DISABLE_SI = 112 + + + # If you add new codes, also add the appropriate description # to g.py for exception description strings. # Thank you, The Management diff -Nru hplip-3.14.6/base/device.py hplip-3.15.2/base/device.py --- hplip-3.14.6/base/device.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/device.py 2015-01-29 12:20:35.000000000 +0000 @@ -1,4 +1,4 @@ -#!/bin/env python +#!/usr/bin/env python # -*- coding: utf-8 -*- # # (c) Copyright 2003-2009 Hewlett-Packard Development Company, L.P. @@ -26,26 +26,26 @@ import gzip import os.path import time -import urllib # TODO: Replace with urllib2 (urllib is deprecated in Python 3.0) -import StringIO -import cStringIO -import httplib +from .sixext.moves import urllib_request, urllib_parse, urllib_error # TODO: Replace with urllib2 (urllib is deprecated in Python 3.0) +import io +from io import BytesIO +from .sixext.moves import http_client import struct import string import time - # Local -from g import * -from codes import * -import utils -import services -import os_utils -import status -import pml -import status +from .g import * +from .codes import * +from . import utils +from . import services +from . import os_utils +from . import status +from . import pml +from . import status from prnt import pcl, ldl, cups -from base import models, mdns, slp, avahi -from strings import * +from . import models, mdns, slp, avahi +from .strings import * +from .sixext import PY3, to_bytes_utf8, to_unicode, to_string_latin, to_string_utf8, xStringIO http_result_pat = re.compile("""HTTP/\d.\d\s(\d+)""", re.I) @@ -102,26 +102,18 @@ dev_pat = re.compile(r"""/dev/.+""", re.IGNORECASE) usb_pat = re.compile(r"""(\d+):(\d+)""", re.IGNORECASE) -### **********Lambda Function UniStar for checking type of arguments to constructor of class event******************************* - -UniStr = lambda title: isinstance(title, str) and utils.xrstrip(title, '\x00')[:128] or utils.xrstrip(title, '\x00')[:128].encode('utf-8') - - -# -# Event Wrapper Class for pipe IPC -# class Event(object): def __init__(self, device_uri, printer_name, event_code, username=prop.username, job_id=0, title='', timedate=0): - # UniStr = lambda title: isinstance(title, str) and utils.xrstrip(title, '\x00')[:128] or utils.xrstrip(title, '\x00')[:128].encode('utf-8') - self.device_uri = UniStr(device_uri) - self.printer_name = UniStr(printer_name) + + self.device_uri = to_unicode(device_uri) + self.printer_name = to_unicode(printer_name) self.event_code = int(event_code) - self.username = UniStr(username) + self.username = to_unicode(username) self.job_id = int(job_id) - self.title = UniStr(title) + self.title = to_unicode(title) if timedate: self.timedate = float(timedate) @@ -143,8 +135,8 @@ def pack_for_pipe(self): - return struct.pack(self.pipe_fmt, self.device_uri, self.printer_name, - self.event_code, self.username, self.job_id, self.title, + return struct.pack(self.pipe_fmt, self.device_uri.encode('utf-8'), self.printer_name.encode('utf-8'), + self.event_code, self.username.encode('utf-8'), self.job_id, self.title.encode('utf-8'), self.timedate) @@ -253,7 +245,7 @@ session_bus = dbus.SessionBus() else: session_bus = dbus.SessionBus(dbus_loop) - except dbus.exceptions.DBusException, e: + except dbus.exceptions.DBusException as e: if os.getuid() != 0: log.error("Unable to connect to dbus session bus. %s "%e) else: @@ -266,7 +258,7 @@ log.debug("Connecting to com.hplip.StatusService (try #1)...") service = session_bus.get_object('com.hplip.StatusService', "/com/hplip/StatusService") dbus_avail = True - except dbus.exceptions.DBusException, e: + except dbus.exceptions.DBusException as e: try: os.waitpid(-1, os.WNOHANG) except OSError: @@ -294,7 +286,7 @@ log.debug("Connecting to com.hplip.StatusService (try #%d)..." % t) service = session_bus.get_object('com.hplip.StatusService', "/com/hplip/StatusService") - except dbus.exceptions.DBusException, e: + except dbus.exceptions.DBusException as e: log.debug("Unable to connect to dbus. Is hp-systray running?") t += 1 @@ -326,6 +318,7 @@ result_code, uri = hpmudext.make_par_uri(param) if result_code == hpmudext.HPMUD_R_OK and uri: + uri = to_string_utf8(uri) log.debug("Found: %s" % uri) found = True cups_uri = uri @@ -341,6 +334,7 @@ result_code, uri = hpmudext.make_usb_uri(usb_bus_id, usb_dev_id) if result_code == ERROR_SUCCESS and uri: + uri = to_string_utf8(uri) log.debug("Found: %s" % uri) found = True cups_uri = uri @@ -353,6 +347,7 @@ result_code, uri = hpmudext.make_net_uri(param, port) if result_code == hpmudext.HPMUD_R_OK and uri: + uri = to_string_utf8(uri) log.debug("Found: %s" % uri) found = True cups_uri = uri @@ -365,6 +360,7 @@ result_code, uri = hpmudext.make_zc_uri(param, port) if result_code == hpmudext.HPMUD_R_OK and uri: + uri = to_string_utf8(uri) log.debug("Found: %s" % uri) found = True cups_uri = uri @@ -375,6 +371,7 @@ result_code, uri = hpmudext.make_net_uri(param, port) if result_code == hpmudext.HPMUD_R_OK and uri: + uri = to_string_utf8(uri) uri = uri.replace("ip=","hostname=") log.debug("Found: %s" % uri) found = True @@ -400,7 +397,7 @@ mq = queryModelByURI(d) result_code, device_id = \ - hpmudext.device_open(d, mq.get('io-mode', hpmudext.HPMUD_UNI_MODE)) + hpmudext.open_device(d, mq.get('io-mode', hpmudext.HPMUD_UNI_MODE)) if result_code == hpmudext.HPMUD_R_OK: result_code, data = hpmudext.get_device_id(device_id) @@ -418,7 +415,7 @@ if found: try: mq = queryModelByURI(cups_uri) - except Error, e: + except Error as e: log.error("Error: %s" % e.msg) cups_uri, sane_uri, fax_uri = '', '', '' else: @@ -488,20 +485,23 @@ if net_search == 'slp': try: detected_devices = slp.detectNetworkDevices(ttl, timeout) - except Error, socket.error: - log.error("An error occured during network probe.") + except Error as socket_error: + socket.error = socket_error + log.error("An error occured during network probe.[%s]"%socket_error) raise ERROR_INTERNAL elif net_search == 'avahi': try: detected_devices = avahi.detectNetworkDevices(ttl, timeout) - except Error, socket.error: - log.error("An error occured during network probe.") + except Error as socket_error: + socket.error = socket_error + log.error("An error occured during network probe.[%s]"%socket_error) raise ERROR_INTERNAL else :#if net_search = 'mdns' try: detected_devices = mdns.detectNetworkDevices(ttl, timeout) - except Error, socket.error: - log.error("An error occured during network probe.") + except Error as socket_error: + socket.error = socket_error + log.error("An error occured during network probe.[%s]"%socket_error) raise ERROR_INTERNAL for ip in detected_devices: @@ -651,6 +651,7 @@ def getSupportedCUPSDevices(back_end_filter=['hp'], filter=DEFAULT_FILTER): devices = {} printers = cups.getPrinters() + log.debug(printers) for p in printers: try: @@ -722,9 +723,8 @@ include = __checkFilter(filter, mq) if include: - p.name = p.name.decode('utf-8') printer_list.append(p) - #printer_list[p.name] = p.device_uri + return printer_list # [ cupsext.Printer, ... ] @@ -819,7 +819,6 @@ def parseDeviceURI(device_uri): m = pat_deviceuri.match(device_uri) - if m is None: log.debug("Device URI %s is invalid/unknown" % device_uri) raise Error(ERROR_INVALID_DEVICE_URI) @@ -874,7 +873,7 @@ # def __checkFilter(filter, mq): - for f, p in filter.items(): + for f, p in list(filter.items()): if f is not None: op, val = p if not op(mq[f], val): @@ -909,8 +908,6 @@ return True - - AGENT_types = { AGENT_TYPE_NONE : 'invalid', AGENT_TYPE_BLACK : 'black', AGENT_TYPE_BLACK_B8800 : 'black', @@ -930,16 +927,12 @@ #AGENT_TYPE_C_K : 'cyan_and_black', AGENT_TYPE_LG_PK : 'light_gray_and_photo_black', AGENT_TYPE_LG : 'light_gray', - AGENT_TYPE_G : 'gray', - AGENT_TYPE_DG : 'dark_gray', + AGENT_TYPE_G : 'medium_gray', AGENT_TYPE_PG : 'photo_gray', AGENT_TYPE_C_M : 'cyan_and_magenta', AGENT_TYPE_K_Y : 'black_and_yellow', AGENT_TYPE_PHOTO_BLACK : 'photo_black', - AGENT_TYPE_LC : 'light_cyan', - AGENT_TYPE_LM : 'light_magenta', AGENT_TYPE_MATTE_BLACK : 'matte_black', - AGENT_TYPE_RED : 'red', AGENT_TYPE_UNSPECIFIED : 'unspecified', # Kind=5,6 } @@ -973,8 +966,6 @@ } -# - # **************************************************************************** # @@ -1131,7 +1122,7 @@ try: log.debug("Sending event %d to hpssd..." % event_code) self.service.SendEvent(self.device_uri, printer_name, event_code, prop.username, job_id, title) - except dbus.exceptions.DBusException, e: + except dbus.exceptions.DBusException as e: log.debug("dbus call to SendEvent() failed.") @@ -1214,7 +1205,7 @@ if len(self.channels) > 0: - for c in self.channels.keys(): + for c in list(self.channels.keys()): self.__closeChannel(c) result_code = hpmudext.close_device(self.device_id) @@ -1436,7 +1427,7 @@ if self.dbus_avail: try: r_value = int(self.service.GetCachedIntValue(self.device_uri, 'r_value')) - except dbus.exceptions.DBusException, e: + except dbus.exceptions.DBusException as e: log.debug("dbus call to GetCachedIntValue() failed.") r_value = -1 @@ -1463,7 +1454,7 @@ if self.dbus_avail: try: self.service.SetCachedIntValue(self.device_uri, 'r_value', r_value) - except dbus.exceptions.DBusException, e: + except dbus.exceptions.DBusException as e: log.debug("dbus call to SetCachedIntValue() failed.") else: log.error("Error attempting to read r-value (2).") @@ -1490,7 +1481,7 @@ if self.dbus_avail: try: self.service.SetCachedIntValue(self.device_uri, 'r_value', r_value) - except dbus.exceptions.DBusException, e: + except dbus.exceptions.DBusException as e: log.debug("dbus call to SetCachedIntValue() failed.") else: @@ -1515,7 +1506,7 @@ if self.tech_type in (TECH_TYPE_MONO_INK, TECH_TYPE_COLOR_INK): try: self.getDeviceID() - except Error, e: + except Error as e: log.error("Error getting device ID.") self.last_event = Event(self.device_uri, '', ERROR_DEVICE_IO_ERROR, prop.username, 0, '', time.time()) @@ -1645,7 +1636,7 @@ if self.tech_type in (TECH_TYPE_MONO_INK, TECH_TYPE_COLOR_INK): try: self.getDeviceID() - except Error, e: + except Error as e: log.error("Error getting device ID.") self.last_event = Event(self.device_uri, '', ERROR_DEVICE_IO_ERROR, prop.username, 0, '', time.time()) @@ -1720,21 +1711,6 @@ status_code = self.dq.get('status-code', STATUS_UNKNOWN) -## if not quick and \ -## self.mq.get('fax-type', FAX_TYPE_NONE) and \ -## status_code == STATUS_PRINTER_IDLE and \ -## io_mode != IO_MODE_UNI: -## -## log.debug("Fax activity check...") -## -## tx_active, rx_active = status.getFaxStatus(self) -## -## if tx_active: -## status_code = STATUS_FAX_TX_ACTIVE -## elif rx_active: -## status_code = STATUS_FAX_RX_ACTIVE - - self.error_state = STATUS_TO_ERROR_STATE_MAP.get(status_code, ERROR_STATE_CLEAR) self.error_code = status_code self.sendEvent(self.error_code) @@ -2002,10 +1978,8 @@ def getPML(self, oid, desired_int_size=pml.INT_SIZE_INT): # oid => ( 'dotted oid value', pml type ) channel_id = self.openPML() - result_code, data, typ, pml_result_code = \ hpmudext.get_pml(self.device_id, channel_id, pml.PMLToSNMP(oid[0]), oid[1]) - if pml_result_code > pml.ERROR_MAX_OK: log.debug("PML/SNMP GET %s failed (result code = 0x%x)" % (oid[0], pml_result_code)) return pml_result_code, None @@ -2021,15 +1995,12 @@ else: log.debug("PML/SNMP GET %s (result code = 0x%x) returned: %s" % (oid[0], pml_result_code, repr(converted_data))) - return pml_result_code, converted_data def setPML(self, oid, value): # oid => ( 'dotted oid value', pml type ) channel_id = self.openPML() - value = pml.ConvertToPMLDataFormat(value, oid[1]) - result_code, pml_result_code = \ hpmudext.set_pml(self.device_id, channel_id, pml.PMLToSNMP(oid[0]), oid[1], value) @@ -2038,10 +2009,9 @@ log.debug("PML/SNMP SET %s (result code = 0x%x) to:" % (oid[0], pml_result_code)) - log.log_data(value) else: log.debug("PML/SNMP SET %s (result code = 0x%x) to: %s" % - (oid[0], pml_result_code, repr(value))) + (oid[0], pml_result_code, repr(value.decode('utf-8')))) return pml_result_code @@ -2138,7 +2108,7 @@ #Common handling of reading chunked or unchunked data from LEDM devices def readLEDMData(dev, func, reply, timeout=6): - END_OF_DATA="0\r\n\r\n" + END_OF_DATA=to_bytes_utf8("0\r\n\r\n") bytes_requested = 1024 bytes_remaining = 0 chunkedFlag = True @@ -2146,12 +2116,12 @@ bytes_read = func(bytes_requested, reply, timeout) for line in reply.getvalue().splitlines(): - if line.lower().find("content-length") != -1: - bytes_remaining = int(line.split(":")[1]) + if line.lower().find(to_bytes_utf8("content-length")) != -1: + bytes_remaining = int(line.split(to_bytes_utf8(":"))[1]) chunkedFlag = False break - xml_data_start = reply.getvalue().find(" 0: result_code, bytes_written = \ - hpmudext.write_channel(self.device_id, channel_id, + hpmudext.write_channel(self.device_id, channel_id, buffer[:prop.max_message_len]) - + log.debug("Result code=%d" % result_code) if result_code != hpmudext.HPMUD_R_OK: @@ -2302,7 +2273,7 @@ value, oid[1]))) - log.log_data(data) + #log.log_data(data) self.printData(data, direct=direct, raw=True) @@ -2311,7 +2282,7 @@ data = """POST %s HTTP/1.1\r Connection: Keep-alive\r User-agent: hplip/2.0\r -Host: %s\r +Host: %s\r Content-type: text/xml\r Content-length: %d\r \r @@ -2320,10 +2291,9 @@ if status_type == STATUS_TYPE_LEDM: log.debug("status-type: %d" % status_type) self.writeEWS_LEDM(data) - response = cStringIO.StringIO() - func = self.readEWS_LEDM + response = BytesIO() - self.readLEDMData(func, response) + self.readLEDMData(self.readEWS_LEDM, response) response = response.getvalue() log.log_data(response) @@ -2332,10 +2302,9 @@ elif status_type == STATUS_TYPE_LEDM_FF_CC_0: log.debug("status-type: %d" % status_type) self.writeLEDM(data) - response = cStringIO.StringIO() - func = self.readLEDM + response = BytesIO() - self.readLEDMData(func, response) + self.readLEDMData(self.readLEDM, response) response = response.getvalue() log.log_data(response) @@ -2344,7 +2313,7 @@ else: log.error("Not an LEDM status-type: %d" % status_type) - match = http_result_pat.match(response) + match = http_result_pat.match(to_string_utf8(response)) if match is None: return HTTP_OK try: code = int(match.group(1)) @@ -2368,13 +2337,13 @@ f = gzip.open(print_file, 'r') x = f.readline() - while not x.startswith('%PY_BEGIN'): + while not x.startswith(to_bytes_utf8('%PY_BEGIN')): os.write(temp_file_fd, x) x = f.readline() sub_lines = [] x = f.readline() - while not x.startswith('%PY_END'): + while not x.startswith(to_bytes_utf8('%PY_END')): sub_lines.append(x) x = f.readline() @@ -2388,14 +2357,19 @@ 'DEVNODE' : self.dev_file, } - if self.bus == 'net': + if self.bus == 'net' : SUBS['DEVNODE'] = 'n/a' else: - SUBS['IP'] = 'n/a' + SUBS['IP']= 'n/a' SUBS['PORT'] = 'n/a' - + + if PY3: + sub_lines = [s.decode('utf-8') for s in sub_lines] + + for s in sub_lines: - os.write(temp_file_fd, s % SUBS) + os.write(temp_file_fd, to_bytes_utf8((s % SUBS))) + os.write(temp_file_fd, f.read()) f.close() @@ -2419,7 +2393,7 @@ if is_gzip: self.writePrint(gzip.open(file_name, 'r').read()) else: - self.writePrint(file(file_name, 'r').read()) + self.writePrint(open(file_name, 'r').read()) else: if not utils.which('lpr'): @@ -2463,8 +2437,6 @@ def printData(self, data, printer_name=None, direct=True, raw=True): - #log.log_data(data) - #log.debug("printData(direct=%s, raw=%s)" % (direct, raw)) if direct: self.writePrint(data) else: @@ -2487,7 +2459,7 @@ if self.dbus_avail: try: device_uri, history = self.service.GetHistory(self.device_uri) - except dbus.exceptions.DBusException, e: + except dbus.exceptions.DBusException as e: log.error("dbus call to GetHistory() failed.") return [] @@ -2527,13 +2499,15 @@ opener = LocalOpener({}) try: f = opener.open(url2, data) + except Error: log.error("Status read failed: %s" % url2) stream.seek(0) stream.truncate() else: try: - stream.write(f.read()) + stream.write(f.fp.read()) + #stream.write(f) finally: f.close() @@ -2572,13 +2546,13 @@ self.closeLEDM() def FetchLEDMUrl(self, url, footer=""): - data_fp = cStringIO.StringIO() + data_fp = BytesIO() if footer: data = self.getUrl_LEDM(url, data_fp, footer) else: data = self.getUrl_LEDM(url, data_fp) if data: - data = data.split('\r\n\r\n', 1)[1] + data = data.split(to_bytes_utf8('\r\n\r\n'), 1)[1] if data: data = status.ExtractXMLData(data) return data @@ -2586,19 +2560,19 @@ #-------------------------For LEDM SOAP PROTOCOL(FAX) Devices----------------------------------------------------------------------# def FetchEWS_LEDMUrl(self, url, footer=""): - data_fp = cStringIO.StringIO() + data_fp = BytesIO() if footer: data = self.getEWSUrl_LEDM(url, data_fp, footer) else: data = self.getEWSUrl_LEDM(url, data_fp) if data: - data = data.split('\r\n\r\n', 1)[1] + data = data.split(to_bytes_utf8('\r\n\r\n'), 1)[1] if data: data = status.ExtractXMLData(data) return data def readAttributeFromXml_EWS(self, uri, attribute): - stream = cStringIO.StringIO() + stream = BytesIO() data = self.FetchEWS_LEDMUrl(uri) if not data: log.error("Unable To read the XML data from device") @@ -2606,7 +2580,6 @@ xmlDict = utils.XMLToDictParser().parseXML(data) try: - #return str(xmlDict[attribute]) return xmlDict[attribute] except: return str("") @@ -2614,12 +2587,12 @@ #---------------------------------------------------------------------------------------------------# def readAttributeFromXml(self,uri,attribute): - stream = cStringIO.StringIO() + stream = BytesIO() data = self.FetchLEDMUrl(uri) if not data: log.error("Unable To read the XML data from device") return "" - xmlDict = utils.XMLToDictParser().parseXML(data) + xmlDict = utils.XMLToDictParser().parseXML(data ) try: return xmlDict[attribute] except: @@ -2646,7 +2619,7 @@ os.close(f) ok = True log.debug("OK") - except (OSError, IOError), e: + except (OSError, IOError) as e: log.error("An error occured: %s" % e) else: try: @@ -2656,7 +2629,7 @@ self.closePrint() ok = True log.debug("OK") - except Error, e: + except Error as e: log.error("An error occured: %s" % e.msg) else: log.error("Firmware file '%s' not found." % filename) @@ -2664,15 +2637,12 @@ return ok -# ********************************** Support classes/functions + -class xStringIO(StringIO.StringIO): - def makefile(self, x, y): - return self # URLs: hp:/usb/HP_LaserJet_3050?serial=00XXXXXXXXXX&loc=/hp/device/info_device_status.xml -class LocalOpener(urllib.URLopener): +class LocalOpener(urllib_request.URLopener): def open_hp(self, url, dev): log.debug("open_hp(%s)" % url) @@ -2687,23 +2657,22 @@ dev.writeEWS("""GET %s HTTP/1.0\nContent-Length:0\nHost:localhost\nUser-Agent:hplip\n\n""" % loc) reply = xStringIO() - while dev.readEWS(8192, reply, timeout=1): pass reply.seek(0) log.log_data(reply.getvalue()) - - response = httplib.HTTPResponse(reply) + + response = http_client.HTTPResponse(reply) response.begin() - if response.status != httplib.OK: + if response.status != http_client.OK: raise Error(ERROR_DEVICE_STATUS_NOT_AVAILABLE) else: - return response.fp + return response#.fp # URLs: hp:/usb/HP_OfficeJet_7500?serial=00XXXXXXXXXX&loc=/hp/device/info_device_status.xml -class LocalOpenerEWS_LEDM(urllib.URLopener): +class LocalOpenerEWS_LEDM(urllib_request.URLopener): def open_hp(self, url, dev, foot=""): log.debug("open_hp(%s)" % url) @@ -2721,19 +2690,15 @@ dev.writeEWS_LEDM("""GET %s HTTP/1.1\r\nAccept: text/plain\r\nHost:localhost\r\nUser-Agent:hplip\r\n\r\n""" % loc) reply = xStringIO() - func = dev.readEWS_LEDM - - #while dev.readEWS_LEDM(512, reply, timeout=3): - #pass - dev.readLEDMData(func, reply) + dev.readLEDMData(dev.readEWS_LEDM,reply) reply.seek(0) return reply.getvalue() # URLs: hp:/usb/HP_OfficeJet_7500?serial=00XXXXXXXXXX&loc=/hp/device/info_device_status.xml -class LocalOpener_LEDM(urllib.URLopener): +class LocalOpener_LEDM(urllib_request.URLopener): def open_hp(self, url, dev, foot=""): log.debug("open_hp(%s)" % url) @@ -2751,11 +2716,9 @@ dev.writeLEDM("""GET %s HTTP/1.1\r\nAccept: text/plain\r\nHost:localhost\r\nUser-Agent:hplip\r\n\r\n""" % loc) reply = xStringIO() - func = dev.readLEDM - #while dev.readLEDM(512, reply, timeout=3): - #pass - dev.readLEDMData(func, reply) + + dev.readLEDMData(dev.readLEDM,reply) reply.seek(0) return reply.getvalue() diff -Nru hplip-3.14.6/base/dime.py hplip-3.15.2/base/dime.py --- hplip-3.14.6/base/dime.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/dime.py 2015-01-29 12:20:35.000000000 +0000 @@ -1,3 +1,4 @@ +#!/usr/bin/env python # -*- coding: utf-8 -*- # # (c) Copyright 2003-2008 Hewlett-Packard Development Company, L.P. @@ -23,7 +24,7 @@ import struct # Local -from g import * +from .g import * # DIME constants TYPE_T_MIME = 0x01 @@ -86,21 +87,21 @@ if data_len % block_size == 0: return data_len else: - return (data_len/block_size+1)*block_size + return (int(data_len/block_size+1))*block_size if __name__ == "__main__": log.set_level("debug") - import cStringIO + import io m = Message() m.add_record(Record("cid:id0", "http://schemas.xmlsoap.org/soap/envelope/", TYPE_T_URI, "test")) m.add_record(Record("test2", "text/xml", TYPE_T_MIME, "test2")) - output = cStringIO.StringIO() + output = io.StringIO() m.generate(output) diff -Nru hplip-3.14.6/base/exif.py hplip-3.15.2/base/exif.py --- hplip-3.14.6/base/exif.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/exif.py 2015-01-29 12:20:35.000000000 +0000 @@ -1,3 +1,4 @@ +import collections # Library to extract EXIF information in digital camera image files # # Contains code from "exifdump.py" originally written by Thierry Bousch @@ -639,7 +640,7 @@ # extract multibyte integer in Intel format (big endian) def s2n_intel(str): x=0 - y=0L + y=to_long(0) for c in str: x=x | (ord(c) << y) y=y+8 @@ -759,8 +760,7 @@ field_type=self.s2n(entry+2, 2) if not 0 < field_type < len(FIELD_TYPES): # unknown field type - raise ValueError, \ - 'unknown type %d in tag 0x%04X' % (field_type, tag) + raise ValueError('unknown type %d in tag 0x%04X' % (field_type, tag)) typelen=FIELD_TYPES[field_type][0] count=self.s2n(entry+4, 4) offset=entry+8 @@ -798,7 +798,7 @@ tag_name=tag_entry[0] if len(tag_entry) != 1: # optional 2nd tag element is present - if callable(tag_entry[1]): + if isinstance(tag_entry[1], collections.Callable): # call mapping function printable=tag_entry[1](values) else: @@ -813,8 +813,8 @@ values, field_offset, count*typelen) if self.debug: - print ' %s: %s' % (tag_name, - repr(self.tags[ifd_name+' '+tag_name])) + print(' %s: %s' % (tag_name, + repr(self.tags[ifd_name+' '+tag_name]))) # extract uncompressed TIFF thumbnail (like pulling teeth) # we take advantage of the pre-existing layout in the thumbnail IFD as @@ -934,7 +934,7 @@ for i in range(1, len(value)): x=dict.get(i, ('Unknown', )) if self.debug: - print i, x + print(i, x) name=x[0] if len(x) > 1: val=x[1].get(value[i], 'Unknown') @@ -978,7 +978,7 @@ # deal with the EXIF info we found if debug: - print {'I': 'Intel', 'M': 'Motorola'}[endian], 'format' + print({'I': 'Intel', 'M': 'Motorola'}[endian], 'format') hdr=EXIF_header(file, endian, offset, debug) ifd_list=hdr.list_IFDs() ctr=0 @@ -991,27 +991,27 @@ else: IFD_name='IFD %d' % ctr if debug: - print ' IFD %d (%s) at offset %d:' % (ctr, IFD_name, i) + print(' IFD %d (%s) at offset %d:' % (ctr, IFD_name, i)) hdr.dump_IFD(i, IFD_name) # EXIF IFD exif_off=hdr.tags.get(IFD_name+' ExifOffset') if exif_off: if debug: - print ' EXIF SubIFD at offset %d:' % exif_off.values[0] + print(' EXIF SubIFD at offset %d:' % exif_off.values[0]) hdr.dump_IFD(exif_off.values[0], 'EXIF') # Interoperability IFD contained in EXIF IFD intr_off=hdr.tags.get('EXIF SubIFD InteroperabilityOffset') if intr_off: if debug: - print ' EXIF Interoperability SubSubIFD at offset %d:' \ - % intr_off.values[0] + print(' EXIF Interoperability SubSubIFD at offset %d:' \ + % intr_off.values[0]) hdr.dump_IFD(intr_off.values[0], 'EXIF Interoperability', dict=INTR_TAGS) # GPS IFD gps_off=hdr.tags.get(IFD_name+' GPSInfo') if gps_off: if debug: - print ' GPS SubIFD at offset %d:' % gps_off.values[0] + print(' GPS SubIFD at offset %d:' % gps_off.values[0]) hdr.dump_IFD(gps_off.values[0], 'GPS', dict=GPS_TAGS) ctr+=1 @@ -1028,12 +1028,12 @@ hdr.tags['JPEGThumbnail']=file.read(size) # deal with MakerNote contained in EXIF IFD - if hdr.tags.has_key('EXIF MakerNote'): + if 'EXIF MakerNote' in hdr.tags: hdr.decode_maker_note() # Sometimes in a TIFF file, a JPEG thumbnail is hidden in the MakerNote # since it's not allowed in a uncompressed TIFF IFD - if not hdr.tags.has_key('JPEGThumbnail'): + if 'JPEGThumbnail' not in hdr.tags: thumb_off=hdr.tags.get('MakerNote JPEGThumbnail') if thumb_off: file.seek(offset+thumb_off.values[0]) @@ -1046,33 +1046,33 @@ import sys if len(sys.argv) < 2: - print 'Usage: %s files...\n' % sys.argv[0] + print('Usage: %s files...\n' % sys.argv[0]) sys.exit(0) for filename in sys.argv[1:]: try: file=open(filename, 'rb') except: - print filename, 'unreadable' - print + print(filename, 'unreadable') + print() continue - print filename+':' + print(filename+':') # data=process_file(file, 1) # with debug info data=process_file(file) if not data: - print 'No EXIF information found' + print('No EXIF information found') continue - x=data.keys() + x=list(data.keys()) x.sort() for i in x: if i in ('JPEGThumbnail', 'TIFFThumbnail'): continue try: - print ' %s (%s): %s' % \ - (i, FIELD_TYPES[data[i].field_type][2], data[i].printable) + print(' %s (%s): %s' % \ + (i, FIELD_TYPES[data[i].field_type][2], data[i].printable)) except: - print 'error', i, '"', data[i], '"' - if data.has_key('JPEGThumbnail'): - print 'File has JPEG thumbnail' - print + print('error', i, '"', data[i], '"') + if 'JPEGThumbnail' in data: + print('File has JPEG thumbnail') + print() diff -Nru hplip-3.14.6/base/g.py hplip-3.15.2/base/g.py --- hplip-3.14.6/base/g.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/g.py 2015-01-29 12:20:35.000000000 +0000 @@ -1,3 +1,4 @@ +#!/usr/bin/env python # -*- coding: utf-8 -*- # # (c) Copyright 2003-2009 Hewlett-Packard Development Company, L.P. @@ -25,16 +26,23 @@ import sys import os import os.path -import ConfigParser +from .sixext import PY3 +from .sixext.moves import configparser import locale import pwd import stat import re # Local -from codes import * -import logger -from base import os_utils +from .codes import * +from . import logger +from . import os_utils +from .sixext import to_unicode +if PY3: + QString = type("") + + def cmp(a, b): + return (a > b) - (a < b) # System wide logger log = logger.Logger('', logger.Logger.LOG_LEVEL_INFO, logger.Logger.LOG_TO_CONSOLE) @@ -63,7 +71,7 @@ class Properties(dict): def __getattr__(self, attr): - if attr in self.keys(): + if attr in list(self.keys()): return self.__getitem__(attr) else: return "" @@ -78,14 +86,14 @@ class ConfigBase(object): def __init__(self, filename): self.filename = filename - self.conf = ConfigParser.ConfigParser() + self.conf = configparser.ConfigParser() self.read() - def get(self, section, key, default=u''): + def get(self, section, key, default=to_unicode('')): try: return self.conf.get(section, key) - except (ConfigParser.NoOptionError, ConfigParser.NoSectionError): + except (configparser.NoOptionError, configparser.NoSectionError): return default @@ -119,9 +127,13 @@ return try: fp = open(self.filename, "r") - self.conf.readfp(fp) + try: + self.conf.readfp(fp) + except (configparser.DuplicateOptionError): + log.warn("Found Duplicate Entery in %s" % self.filename) + self.CheckDuplicateEntries() fp.close() - except (OSError, IOError, ConfigParser.MissingSectionHeaderError): + except (OSError, IOError, configparser.MissingSectionHeaderError): log.debug("Unable to open file %s for reading." % self.filename) def write(self): @@ -140,9 +152,30 @@ fp.close() except (OSError, IOError): log.debug("Unable to open file %s for writing." % self.filename) + + def CheckDuplicateEntries(self): + try: + f = open(self.filename,'r') + data = f.read() + f.close() + except IOError: + data ="" + + final_data ='' + for a in data.splitlines(): + if not a or a not in final_data: + final_data = final_data +'\n' +a + + import tempfile + fd, self.filename = tempfile.mkstemp() + f = open(self.filename,'w') + f.write(final_data) + f.close() - - + self.read() + os.unlink(self.filename) + + class SysConfig(ConfigBase): def __init__(self): ConfigBase.__init__(self, '/etc/hp/hplip.conf') @@ -161,13 +194,13 @@ def __init__(self): sts, prop.user_dir = os_utils.getHPLIPDir() - + if not os.geteuid() == 0: prop.user_config_file = os.path.join(prop.user_dir, 'hplip.conf') if not os.path.exists(prop.user_config_file): try: - file(prop.user_config_file, 'w').close() + open(prop.user_config_file, 'w').close() s = os.stat(os.path.dirname(prop.user_config_file)) os.chown(prop.user_config_file, s[stat.ST_UID], s[stat.ST_GID]) except IOError: @@ -197,7 +230,7 @@ -os.umask(0037) +os.umask(0o037) # System Config File: Directories and build settings. Not altered after installation. sys_conf = SysConfig() @@ -287,7 +320,6 @@ sys.stdout.flush() - # Internal/messaging errors ERROR_STRINGS = { @@ -329,11 +361,11 @@ # Make sure True and False are avail. in pre-2.2 versions -try: - True -except NameError: - True = (1==1) - False = not True +#try: +# True +#except NameError: +# True = (1==1) +# False = not True # as new translations are completed, add them here supported_locales = { 'en_US': ('us', 'en', 'en_us', 'american', 'america', 'usa', 'english'),} diff -Nru hplip-3.14.6/base/imagesize.py hplip-3.15.2/base/imagesize.py --- hplip-3.14.6/base/imagesize.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/imagesize.py 2015-01-29 12:20:35.000000000 +0000 @@ -195,7 +195,7 @@ def imagesize(filename, mime_type=''): width, height = -1, -1 - f = file(filename, 'r') + f = open(filename, 'r') buffer = f.read(4096) if not mime_type: diff -Nru hplip-3.14.6/base/ldif.py hplip-3.15.2/base/ldif.py --- hplip-3.14.6/base/ldif.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/ldif.py 2015-01-29 12:20:35.000000000 +0000 @@ -1,3 +1,4 @@ +#!/usr/bin/env python """ ldif - generate and parse LDIF data (see RFC 2849) written by Michael Stroeder @@ -41,18 +42,17 @@ 'LDIFCopy', ] -import urlparse -import urllib # TODO: Replace with urllib2 (urllib is deprecated in Python 3.0) +from .sixext.moves import urllib2_request, urllib2_parse, urllib2_error import base64 import re import types try: - from cStringIO import StringIO + from io import StringIO except ImportError: - from StringIO import StringIO + from io import StringIO -from base.g import * +from .g import * attrtype_pattern = r'[\w;.]+(;[\w_-]+)*' attrvalue_pattern = r'(([^,]|\\,)+|".*?")' @@ -123,7 +123,7 @@ String used as line separator """ self._output_file = output_file - self._base64_attrs = list_dict([a.lower() for a in (base64_attrs or [])]) + self._base64_attrs = list_dict([a.lower() for a in (bases64_attrs or [])]) self._cols = cols self._line_sep = line_sep self.records_written = 0 @@ -158,7 +158,7 @@ attr_value attribute value """ - if self._base64_attrs.has_key(attr_type.lower()) or \ + if attr_type.lower() in self._base64_attrs or \ needs_base64(attr_value): # Encode with base64 self._unfoldLDIFLine(':: '.join([attr_type, base64.encodestring(attr_value).replace('\n', '')])) @@ -171,7 +171,7 @@ entry dictionary holding an entry """ - attr_types = entry.keys()[:] + attr_types = list(entry.keys())[:] attr_types.sort() for attr_type in attr_types: for attr_value in entry[attr_type]: @@ -188,7 +188,7 @@ elif mod_len==3: changetype = 'modify' else: - raise ValueError, "modlist item of wrong length" + raise ValueError("modlist item of wrong length") self._unparseAttrTypeandValue('changetype', changetype) for mod in modlist: if mod_len==2: @@ -197,7 +197,7 @@ mod_op, mod_type, mod_vals = mod self._unparseAttrTypeandValue(MOD_OP_STR[mod_op], mod_type) else: - raise ValueError, "Subsequent modlist item of wrong length" + raise ValueError("Subsequent modlist item of wrong length") if mod_vals: for mod_val in mod_vals: self._unparseAttrTypeandValue(mod_type, mod_val) @@ -218,12 +218,12 @@ # Start with line containing the distinguished name self._unparseAttrTypeandValue('dn', dn) # Dispatch to record type specific writers - if isinstance(record, types.DictType): + if isinstance(record, dict): self._unparseEntryRecord(record) - elif isinstance(record, types.ListType): + elif isinstance(record, list): self._unparseChangeRecord(record) else: - raise ValueError, "Argument record must be dictionary or list" + raise ValueError("Argument record must be dictionary or list") # Write empty line separating the records self._output_file.write(self._line_sep) # Count records written @@ -359,9 +359,9 @@ url = unfolded_line[colon_pos+2:].strip() attr_value = None if self._process_url_schemes: - u = urlparse.urlparse(url) - if self._process_url_schemes.has_key(u[0]): - attr_value = urllib.urlopen(url).read() + u = urllib2_parse.urlparse(url) + if u[0] in self._process_url_schemes: + attr_value = urllib2_request.urlopen(url).read() elif value_spec==':\r\n' or value_spec=='\n': attr_value = '' @@ -401,10 +401,10 @@ # attr type and value pair was DN of LDIF record if dn is not None: - raise ValueError, 'Two lines starting with dn: in one record.' + raise ValueError('Two lines starting with dn: in one record.') if not is_dn(attr_value): - raise ValueError, 'No valid string-representation of distinguished name %s.' % (repr(attr_value)) + raise ValueError('No valid string-representation of distinguished name %s.' % (repr(attr_value))) dn = attr_value elif attr_type == 'version' and dn is None: @@ -413,18 +413,18 @@ elif attr_type == 'changetype': # attr type and value pair was DN of LDIF record if dn is None: - raise ValueError, 'Read changetype: before getting valid dn: line.' + raise ValueError('Read changetype: before getting valid dn: line.') if changetype is not None: - raise ValueError, 'Two lines starting with changetype: in one record.' + raise ValueError('Two lines starting with changetype: in one record.') if not attr_value in valid_changetype_dict: - raise ValueError, 'changetype value %s is invalid.' % (repr(attr_value)) + raise ValueError('changetype value %s is invalid.' % (repr(attr_value))) changetype = attr_value elif attr_value is not None and \ - not self._ignored_attr_types.has_key(attr_type.lower()): + attr_type.lower() not in self._ignored_attr_types: # Add the attribute to the entry if not ignored attribute if attr_type in entry: diff -Nru hplip-3.14.6/base/LedmWifi.py hplip-3.15.2/base/LedmWifi.py --- hplip-3.14.6/base/LedmWifi.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/LedmWifi.py 2015-01-29 12:20:35.000000000 +0000 @@ -21,28 +21,15 @@ # StdLib import time -import cStringIO - -from base.g import * -try: - import xml.parsers.expat -except ImportError,e: - log.info("\n") - log.error("Failed to import xml.parsers.expat(%s).\nThis may be due to the incompatible version of python-xml package.\n"%(e)) - if "undefined symbol" in str(e): - log.info(log.blue("Please re-install compatible version (other than 2.7.2-7.14.1) due to bug reported at 'https://bugzilla.novell.com/show_bug.cgi?id=766778'.")) - log.info(log.blue("\n Run the following commands in root mode to change the python-xml package.(i.e Installing 2.7.2-7.1.2)")) - log.info(log.blue("\n Using zypper:\n 'zypper remove python-xml'\n 'zypper install python-xml-2.7.2-7.1.2'")) - log.info(log.blue("\n Using apt-get:\n 'apt-get remove python-xml'\n 'apt-get install python-xml-2.7.2-7.1.2'")) - log.info(log.blue("\n Using yum:\n 'yum remove python-xml'\n 'yum install python-xml-2.7.2-7.1.2'")) - - sys.exit(1) - +import io +import binascii +import xml.parsers.expat from string import * # Local -from base.g import * -from base import device, utils +from .g import * +from . import device, utils +from .sixext import to_bytes_utf8 http_result_pat = re.compile("""HTTP/\d.\d\s(\d+)""", re.I) HTTP_OK = 200 @@ -86,17 +73,17 @@ ret['adaptorstate-%d' % a] = '' try: ret['adaptorid-%d' % a] = params['io:adapter-map:resourcenode-map:resourcelink-dd:resourceuri'] - except KeyError, e: + except KeyError as e: log.debug("Missing response key: %s" % e) #changed from error to debug ret['adaptorid-%d' % a]="" try: ret['adaptorname-%d' % a] = params['io:adapter-io:hardwareconfig-dd:name'] - except KeyError, e: + except KeyError as e: log.debug("Missing response key: %s" % e) #changed from error to debug ret['adaptorname-%d' % a] = "" try: ret['adaptortype-%d' % a] = params['io:adapter-io:hardwareconfig-dd:deviceconnectivityporttype'] - except KeyError, e: + except KeyError as e: log.debug("Missing response key: %s" % e) #changed from error to debug ret['adaptortype-%d' % a] = "" @@ -113,7 +100,7 @@ except KeyError: num_adaptors = 0 - for n in xrange(num_adaptors): + for n in range(num_adaptors): try: name = ret['adaptortype-%d' % n] except KeyError: @@ -187,7 +174,7 @@ try: ssid = str(params['io:wifinetworks-io:wifinetwork-wifi:ssid']).decode("hex") if not ssid: - ret['ssid-0'] = u'(unknown)' + ret['ssid-0'] = to_unicode('(unknown)') else: ret['ssid-0'] = ssid try: @@ -200,37 +187,37 @@ ret['dbm-0'] = params['io:wifinetworks-io:wifinetwork-io:signalinfo-wifi:dbm'] ret['encryptiontype-0'] = params['io:wifinetworks-io:wifinetwork-wifi:encryptiontype'] ret['signalstrength-0'] = params['io:wifinetworks-io:wifinetwork-io:signalinfo-wifi:signalstrength'] - except KeyError, e: + except KeyError as e: log.debug("Missing response key: %s" % e) else: - for a in xrange(elementCount): - try: + for a in range(elementCount): + try: try: - ssid = str(params['io:wifinetworks-io:wifinetwork-wifi:ssid-%d' % a]).decode("hex") - #ssid = params['io:wifinetworks-io:wifinetwork-wifi:ssid-%d' % a] - except: + ssid = binascii.unhexlify(str(params['io:wifinetworks-io:wifinetwork-wifi:ssid-%d' % a]).encode('utf-8')).decode('utf-8') + except TypeError: + # Some devices returns one invalid SSID (i.e. 0) along with valid SSIDs. e.g. Epic. ssid = params['io:wifinetworks-io:wifinetwork-wifi:ssid-%d' % a] - #ssid = str(params['io:wifinetworks-io:wifinetwork-wifi:ssid-%d' % a]).decode("hex") + if not ssid: - ret['ssid-%d' % a] = u'(unknown)' + ret['ssid-%d' % a] = to_unicode('(unknown)') else: ret['ssid-%d' % a] = ssid try: ret['bssid-%d' % a] = str(params['io:wifinetworks-io:wifinetwork-wifi:bssid-%d' % a]).decode("hex") except: ret['bssid-%d' % a] = params['io:wifinetworks-io:wifinetwork-wifi:bssid-%d' % a] - ret['channel-%d' % a] = params['io:wifinetworks-io:wifinetwork-wifi:channel-%d' % a] - ret['communicationmode-%d' % a] = params['io:wifinetworks-io:wifinetwork-wifi:communicationmode-%d' % a] - ret['dbm-%d' % a] = params['io:wifinetworks-io:wifinetwork-io:signalinfo-wifi:dbm-%d' % a] - ret['encryptiontype-%d' % a] = params['io:wifinetworks-io:wifinetwork-wifi:encryptiontype-%d' % a] - ret['signalstrength-%d' % a] = params['io:wifinetworks-io:wifinetwork-io:signalinfo-wifi:signalstrength-%d' % a] - - except KeyError, e: + ret['channel-%d' % a] = params['io:wifinetworks-io:wifinetwork-wifi:channel-%d' % a] + ret['communicationmode-%d' % a] = params['io:wifinetworks-io:wifinetwork-wifi:communicationmode-%d' % a] + ret['dbm-%d' % a] = params['io:wifinetworks-io:wifinetwork-io:signalinfo-wifi:dbm-%d' % a] + ret['encryptiontype-%d' % a] = params['io:wifinetworks-io:wifinetwork-wifi:encryptiontype-%d' % a] + ret['signalstrength-%d' % a] = params['io:wifinetworks-io:wifinetwork-io:signalinfo-wifi:signalstrength-%d' % a] + + except KeyError as e: log.debug("Missing response key: %s" % e) try: ret['signalstrengthmax'] = 5 ret['signalstrengthmin'] = 0 - except KeyError, e: + except KeyError as e: log.debug("Missing response key: %s" % e) return ret @@ -276,12 +263,12 @@ if elementCount ==1: pridns = params['io:protocols-io:protocol-dd:dnsserveripaddress'] sec_dns = params['io:protocols-io:protocol-dd:secondarydnsserveripaddress'] - for a in xrange(elementCount): + for a in range(elementCount): if params['io:protocols-io:protocol-dd:dnsserveripaddress-%d' %a] !="::": pridns = params['io:protocols-io:protocol-dd:dnsserveripaddress-%d' %a] sec_dns = params['io:protocols-io:protocol-dd:secondarydnsserveripaddress-%d' %a] break - except KeyError, e: + except KeyError as e: log.error("Missing response key: %s" % str(e)) else: if params is not None and code == HTTP_OK: @@ -323,7 +310,7 @@ # pridns = params['io:protocols-io:protocol-dd:dnsserveripaddress-%d' %a] # sec_dns = params['io:protocols-io:protocol-dd:secondarydnsserveripaddress-%d' %a] # break - except KeyError, e: + except KeyError as e: log.error("Missing response key: %s" % str(e)) log.debug("ip=%s, hostname=%s, addressmode=%s, subnetmask=%s, gateway=%s, pridns=%s, sec_dns=%s"%(ip, hostname, addressmode, subnetmask, gateway, pridns, sec_dns)) @@ -351,7 +338,7 @@ mode = parms['io:profile-io:adapterprofile-io:wifiprofile-wifi:communicationmode'] alg = parms['io:profile-io:adapterprofile-io:wifiprofile-wifi:encryptiontype'] secretid = parms['io:profile-io:adapterprofile-io:wifiprofile-wifi:bssid'] - except KeyError, e: + except KeyError as e: log.debug("Missing response key: %s" % str(e)) return alg, mode, secretid @@ -363,12 +350,12 @@ if encryption_type == 'none': authMode = 'open' - ppXml = passPhraseXml%(ssid.encode('hex'),communication_mode,encryption_type,authMode) + ppXml = passPhraseXml%(binascii.hexlify(to_bytes_utf8(ssid)).decode('utf-8'), communication_mode,encryption_type,authMode) else: authMode = encryption_type pos = passPhraseXml.find("",0,len(passPhraseXml)) - ppXml = (passPhraseXml[:pos] + keyInfoXml + passPhraseXml[pos:])%(ssid.encode('hex'),communication_mode,encryption_type,\ - authMode,key.encode('hex')) + ppXml = (passPhraseXml[:pos] + keyInfoXml + passPhraseXml[pos:])%(binascii.hexlify(to_bytes_utf8(ssid)).decode('utf-8'),communication_mode,encryption_type,\ + authMode,binascii.hexlify(to_bytes_utf8(key)).decode('utf-8')) code = writeXmlDataToURI(dev,URI,ppXml,10) ret['errorreturn'] = code @@ -427,7 +414,7 @@ if params is not None: try: hostName = params['io:ioconfig-io:iodeviceconfig-dd3:hostname'] - except KeyError, e: + except KeyError as e: log.debug("Missing response key: %s" % e) return hostName @@ -458,7 +445,7 @@ try: ss_dbm = params['io:wifinetworks-io:wifinetwork-io:signalinfo-wifi:dbm'] ss_val = params['io:wifinetworks-io:wifinetwork-io:signalinfo-wifi:signalstrength'] - except KeyError, e: + except KeyError as e: log.error("Missing response key: %s" % e) return ss_max, ss_min, ss_val, ss_dbm @@ -469,7 +456,7 @@ data = format_http_get(URI,0,"") log.info(data) - response = cStringIO.StringIO() + response = io.BytesIO() if dev.openLEDM() == -1: dev.closeLEDM() if dev.openEWS_LEDM() == -1: @@ -495,11 +482,10 @@ dev.readLEDMData(dev.readLEDM, response, timeout) except Error: dev.closeLEDM() - log.error("Unable to read LEDM Channel") - - #dev.closeEWS_LEDM() - strResp = str(response.getvalue()) - if strResp is not None: + log.error("Unable to read LEDM Channel") + + strResp = response.getvalue().decode('utf-8') + if strResp is not None: code = get_error_code(strResp) if code == HTTP_OK: strResp = utils.unchunck_xml_data(strResp) @@ -510,18 +496,17 @@ try: parser_object = utils.extendedExpat() root_element = parser_object.Parse(repstr) - xmlReqDataNode = filter(lambda c: c not in "<>", xmlReqDataNode) # To remove '<' and '>' characters + xmlReqDataNode = ''.join(l for l in filter(lambda x: x not in '<>', xmlReqDataNode)) # [c for c in xmlReqDataNode if c not in "<>"] # To remove '<' and '>' characters reqDataElementList = root_element.getElementsByTagName(xmlReqDataNode) for node in reqDataElementList: repstr = node.toString() repstr = repstr.replace('\r','').replace('\t','').replace('\n','') # To remove formating characters from the received xml - params = utils.XMLToDictParser().parseXML(repstr) + params = utils.XMLToDictParser().parseXML(to_bytes_utf8(repstr)) paramsList.append(params) - except xml.parsers.expat.ExpatError, e: + except xml.parsers.expat.ExpatError as e: log.debug("XML parser failed: %s" % e) #changed from error to debug else: log.debug("HTTP Responce failed with %s code"%code) - return paramsList,code @@ -531,7 +516,7 @@ data = format_http_get(URI,0,"") log.info(data) - response = cStringIO.StringIO() + response = io.BytesIO() if dev.openLEDM() == -1: dev.closeLEDM() if dev.openEWS_LEDM() == -1: @@ -559,19 +544,19 @@ dev.closeLEDM() log.error("Unable to read LEDM Channel") #dev.closeEWS_LEDM() - strResp = str(response.getvalue()) - if strResp is not None: - code = get_error_code(strResp) + strResp = response.getvalue().decode('utf-8') + if strResp is not None: + code = get_error_code(strResp) if code == HTTP_OK: strResp = utils.unchunck_xml_data(strResp) pos = strResp.find(xmlRootNode,0,len(strResp)) repstr = strResp[pos:].strip() repstr = repstr.replace('\r','').replace('\t','').replace('\n','') # To remove formating characters from the received xml repstr = repstr.rstrip('0') # To remove trailing zero from the received xml - elementCount = repstr.count(xmlChildNode) + elementCount = repstr.count(xmlChildNode) try: params = utils.XMLToDictParser().parseXML(repstr) - except xml.parsers.expat.ExpatError, e: + except xml.parsers.expat.ExpatError as e: log.debug("XML parser failed: %s" % e) #changed from error to debug else: log.debug(" HTTP Responce failed with %s code"%code) @@ -583,7 +568,7 @@ code = HTTP_ERROR data = format_http_put(URI,len(xml),xml) - response = cStringIO.StringIO() + response = io.BytesIO() if dev.openLEDM() == -1: if dev.openEWS_LEDM() == -1: @@ -605,7 +590,6 @@ else: dev.writeLEDM(data) - #response = cStringIO.StringIO() try: dev.readLEDMData(dev.readLEDM, response,timeout ) except Error: @@ -613,7 +597,7 @@ log.error("Unable to read LEDM Channel") - strResp = str(response.getvalue()) + strResp = response.getvalue().decode('utf-8') if strResp is not None: code = get_error_code(strResp) return code @@ -652,4 +636,3 @@ Content-Length: $ledmlen\r \r $xmldata""") - diff -Nru hplip-3.14.6/base/logger.py hplip-3.15.2/base/logger.py --- hplip-3.14.6/base/logger.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/logger.py 2015-01-29 12:20:35.000000000 +0000 @@ -1,3 +1,4 @@ +#!/usr/bin/env python # -*- coding: utf-8 -*- # # (c) Copyright 2002-2008 Hewlett-Packard Development Company, L.P. @@ -21,7 +22,8 @@ # Std Lib import sys -import thread # TODO: Use threading instead (thread deprecated in Python 3.0) +from .sixext.moves import _thread +from .sixext import binary_type import syslog import traceback import string @@ -29,11 +31,13 @@ import re import pprint -identity = string.maketrans('','') -unprintable = identity.translate(identity, string.printable) +#maketrans = ''.maketrans +#identity = maketrans('','') +#unprintable = identity.translate(identity, string.printable) def printable(s): - return s.translate(identity, unprintable) + #return s.translate(identity, unprintable) + return s DEFAULT_LOG_LEVEL = 'info' @@ -106,7 +110,7 @@ self._log_file = log_file self._log_file_f = None self._log_datetime = log_datetime - self._lock = thread.allocate_lock() + self._lock = _thread.allocate_lock() self.module = module self.pid = os.getpid() self.fmt = True @@ -116,7 +120,7 @@ def set_level(self, level): if isinstance(level, str): level = level.lower() - if level in Logger.logging_levels.keys(): + if level in list(Logger.logging_levels.keys()): self._level = Logger.logging_levels.get(level, Logger.LOG_LEVEL_INFO) return True else: @@ -147,7 +151,7 @@ def set_logfile(self, log_file): self._log_file = log_file try: - self._log_file_f = file(self._log_file, 'w') + self._log_file_f = open(self._log_file, 'w') except IOError: self._log_file = None self._log_file_f = None @@ -194,7 +198,7 @@ if newline: out.write('\n') - out.flush() + out.flush() finally: self._lock.release() @@ -268,6 +272,12 @@ def log_data(self, data, width=16): if self._level <= Logger.LOG_LEVEL_DEBUG: if data: + if isinstance(data, binary_type): + try: + data = data.decode('utf-8') + except (UnicodeDecodeError, UnicodeEncodeError): + data = data.decode('latin-1') + index, line = 0, data[0:width] while line: txt = ' '.join(['%04x: ' % index, ' '.join(['%02x' % ord(d) for d in line]), @@ -296,7 +306,7 @@ def warn(self, message): if self._level <= Logger.LOG_LEVEL_WARN: - txt = "warning: %s" % message + txt = "warning: %s" % message#.encode('utf-8') self.log(self.color(txt, 'fuscia'), Logger.LOG_LEVEL_WARN) syslog.syslog(syslog.LOG_WARNING, "%s[%d]: %s" % (self.module, self.pid, txt)) @@ -322,7 +332,7 @@ def error(self, message): if self._level <= Logger.LOG_LEVEL_ERROR: - txt = "error: %s" % message + txt = "error: %s" % message#.encode("utf-8") self.log(self.color(txt, 'red'), Logger.LOG_LEVEL_ERROR) syslog.syslog(syslog.LOG_ALERT, "%s[%d]: %s" % (self.module, self.pid, txt)) @@ -334,7 +344,7 @@ def fatal(self, message): if self._level <= Logger.LOG_LEVEL_FATAL: - txt = "fatal error: :%s" % self + txt = "fatal error: :%s" % self.module#.encode('utf-8') self.log(self.color(txt, 'red'), Logger.LOG_LEVEL_DEBUG) syslog.syslog(syslog.LOG_ALERT, "%s[%d]: %s" % (self.module, self.pid, txt)) diff -Nru hplip-3.14.6/base/magic.py hplip-3.15.2/base/magic.py --- hplip-3.14.6/base/magic.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/magic.py 2015-01-29 12:20:35.000000000 +0000 @@ -51,879 +51,879 @@ __version__ = '0.2' magic = [ - [0L, 'string', '=', '#define', 'image/x-xbitmap'], - [0L, 'leshort', '=', 1538L, 'application/x-alan-adventure-game'], - [0L, 'string', '=', 'TADS', 'application/x-tads-game'], - [0L, 'short', '=', 420L, 'application/x-executable-file'], - [0L, 'short', '=', 421L, 'application/x-executable-file'], - [0L, 'leshort', '=', 603L, 'application/x-executable-file'], - [0L, 'string', '=', 'Core\001', 'application/x-executable-file'], - [0L, 'string', '=', 'AMANDA: TAPESTART DATE', 'application/x-amanda-header'], - [0L, 'belong', '=', 1011L, 'application/x-executable-file'], - [0L, 'belong', '=', 999L, 'application/x-library-file'], - [0L, 'belong', '=', 435L, 'video/mpeg'], - [0L, 'belong', '=', 442L, 'video/mpeg'], - [0L, 'beshort&0xfff0', '=', 65520L, 'audio/mpeg'], - [4L, 'leshort', '=', 44817L, 'video/fli'], - [4L, 'leshort', '=', 44818L, 'video/flc'], - [0L, 'string', '=', 'MOVI', 'video/x-sgi-movie'], - [4L, 'string', '=', 'moov', 'video/quicktime'], - [4L, 'string', '=', 'mdat', 'video/quicktime'], - [0L, 'long', '=', 100554L, 'application/x-apl-workspace'], - [0L, 'string', '=', 'FiLeStArTfIlEsTaRt', 'text/x-apple-binscii'], - [0L, 'string', '=', '\012GL', 'application/data'], - [0L, 'string', '=', 'v\377', 'application/data'], - [0L, 'string', '=', 'NuFile', 'application/data'], - [0L, 'string', '=', 'N\365F\351l\345', 'application/data'], - [0L, 'belong', '=', 333312L, 'application/data'], - [0L, 'belong', '=', 333319L, 'application/data'], - [257L, 'string', '=', 'ustar\000', 'application/x-tar'], - [257L, 'string', '=', 'ustar \000', 'application/x-gtar'], - [0L, 'short', '=', 70707L, 'application/x-cpio'], - [0L, 'short', '=', 143561L, 'application/x-bcpio'], - [0L, 'string', '=', '070707', 'application/x-cpio'], - [0L, 'string', '=', '070701', 'application/x-cpio'], - [0L, 'string', '=', '070702', 'application/x-cpio'], - [0L, 'string', '=', '!\012debian', 'application/x-dpkg'], - [0L, 'long', '=', 177555L, 'application/x-ar'], - [0L, 'short', '=', 177555L, 'application/data'], - [0L, 'long', '=', 177545L, 'application/data'], - [0L, 'short', '=', 177545L, 'application/data'], - [0L, 'long', '=', 100554L, 'application/x-apl-workspace'], - [0L, 'string', '=', '', 'application/x-ar'], - [0L, 'string', '=', '!\012__________E', 'application/x-ar'], - [0L, 'string', '=', '-h-', 'application/data'], - [0L, 'string', '=', '!', 'application/x-ar'], - [0L, 'string', '=', '', 'application/x-ar'], - [0L, 'string', '=', '', 'application/x-ar'], - [0L, 'belong', '=', 1711210496L, 'application/x-ar'], - [0L, 'belong', '=', 1013019198L, 'application/x-ar'], - [0L, 'long', '=', 557605234L, 'application/x-ar'], - [0L, 'lelong', '=', 177555L, 'application/data'], - [0L, 'leshort', '=', 177555L, 'application/data'], - [0L, 'lelong', '=', 177545L, 'application/data'], - [0L, 'leshort', '=', 177545L, 'application/data'], - [0L, 'lelong', '=', 236525L, 'application/data'], - [0L, 'lelong', '=', 236526L, 'application/data'], - [0L, 'lelong&0x8080ffff', '=', 2074L, 'application/x-arc'], - [0L, 'lelong&0x8080ffff', '=', 2330L, 'application/x-arc'], - [0L, 'lelong&0x8080ffff', '=', 538L, 'application/x-arc'], - [0L, 'lelong&0x8080ffff', '=', 794L, 'application/x-arc'], - [0L, 'lelong&0x8080ffff', '=', 1050L, 'application/x-arc'], - [0L, 'lelong&0x8080ffff', '=', 1562L, 'application/x-arc'], - [0L, 'string', '=', '\032archive', 'application/data'], - [0L, 'leshort', '=', 60000L, 'application/x-arj'], - [0L, 'string', '=', 'HPAK', 'application/data'], - [0L, 'string', '=', '\351,\001JAM application/data', ''], - [2L, 'string', '=', '-lh0-', 'application/x-lha'], - [2L, 'string', '=', '-lh1-', 'application/x-lha'], - [2L, 'string', '=', '-lz4-', 'application/x-lha'], - [2L, 'string', '=', '-lz5-', 'application/x-lha'], - [2L, 'string', '=', '-lzs-', 'application/x-lha'], - [2L, 'string', '=', '-lh -', 'application/x-lha'], - [2L, 'string', '=', '-lhd-', 'application/x-lha'], - [2L, 'string', '=', '-lh2-', 'application/x-lha'], - [2L, 'string', '=', '-lh3-', 'application/x-lha'], - [2L, 'string', '=', '-lh4-', 'application/x-lha'], - [2L, 'string', '=', '-lh5-', 'application/x-lha'], - [0L, 'string', '=', 'Rar!', 'application/x-rar'], - [0L, 'string', '=', 'SQSH', 'application/data'], - [0L, 'string', '=', 'UC2\032', 'application/data'], - [0L, 'string', '=', 'PK\003\004', 'application/zip'], - [20L, 'lelong', '=', 4257523676L, 'application/x-zoo'], - [10L, 'string', '=', '# This is a shell archive', 'application/x-shar'], - [0L, 'string', '=', '*STA', 'application/data'], - [0L, 'string', '=', '2278', 'application/data'], - [0L, 'beshort', '=', 560L, 'application/x-executable-file'], - [0L, 'beshort', '=', 561L, 'application/x-executable-file'], - [0L, 'string', '=', '\000\004\036\212\200', 'application/core'], - [0L, 'string', '=', '.snd', 'audio/basic'], - [0L, 'lelong', '=', 6583086L, 'audio/basic'], - [0L, 'string', '=', 'MThd', 'audio/midi'], - [0L, 'string', '=', 'CTMF', 'audio/x-cmf'], - [0L, 'string', '=', 'SBI', 'audio/x-sbi'], - [0L, 'string', '=', 'Creative Voice File', 'audio/x-voc'], - [0L, 'belong', '=', 1314148939L, 'audio/x-multitrack'], - [0L, 'string', '=', 'RIFF', 'audio/x-wav'], - [0L, 'string', '=', 'EMOD', 'audio/x-emod'], - [0L, 'belong', '=', 779248125L, 'audio/x-pn-realaudio'], - [0L, 'string', '=', 'MTM', 'audio/x-multitrack'], - [0L, 'string', '=', 'if', 'audio/x-669-mod'], - [0L, 'string', '=', 'FAR', 'audio/mod'], - [0L, 'string', '=', 'MAS_U', 'audio/x-multimate-mod'], - [44L, 'string', '=', 'SCRM', 'audio/x-st3-mod'], - [0L, 'string', '=', 'GF1PATCH110\000ID#000002\000','audio/x-gus-patch'], - [0L, 'string', '=', 'GF1PATCH100\000ID#000002\000', 'audio/x-gus-patch'], - [0L, 'string', '=', 'JN', 'audio/x-669-mod'], - [0L, 'string', '=', 'UN05', 'audio/x-mikmod-uni'], - [0L, 'string', '=', 'Extended Module:', 'audio/x-ft2-mod'], - [21L, 'string', '=', '!SCREAM!', 'audio/x-st2-mod'], - [1080L, 'string', '=', 'M.K.', 'audio/x-protracker-mod'], - [1080L, 'string', '=', 'M!K!', 'audio/x-protracker-mod'], - [1080L, 'string', '=', 'FLT4', 'audio/x-startracker-mod'], - [1080L, 'string', '=', '4CHN', 'audio/x-fasttracker-mod'], - [1080L, 'string', '=', '6CHN', 'audio/x-fasttracker-mod'], - [1080L, 'string', '=', '8CHN', 'audio/x-fasttracker-mod'], - [1080L, 'string', '=', 'CD81', 'audio/x-oktalyzer-mod'], - [1080L, 'string', '=', 'OKTA', 'audio/x-oktalyzer-mod'], - [1080L, 'string', '=', '16CN', 'audio/x-taketracker-mod'], - [1080L, 'string', '=', '32CN', 'audio/x-taketracker-mod'], - [0L, 'string', '=', 'TOC', 'audio/x-toc'], - [0L, 'short', '=', 3401L, 'application/x-executable-file'], - [0L, 'long', '=', 406L, 'application/x-executable-file'], - [0L, 'short', '=', 406L, 'application/x-executable-file'], - [0L, 'short', '=', 3001L, 'application/x-executable-file'], - [0L, 'lelong', '=', 314L, 'application/x-executable-file'], - [0L, 'string', '=', '//', 'text/cpp'], - [0L, 'string', '=', '\\\\1cw\\', 'application/data'], - [0L, 'string', '=', '\\\\1cw', 'application/data'], - [0L, 'belong&0xffffff00', '=', 2231440384L, 'application/data'], - [0L, 'belong&0xffffff00', '=', 2231487232L, 'application/data'], - [0L, 'short', '=', 575L, 'application/x-executable-file'], - [0L, 'short', '=', 577L, 'application/x-executable-file'], - [4L, 'string', '=', 'pipe', 'application/data'], - [4L, 'string', '=', 'prof', 'application/data'], - [0L, 'string', '=', ': shell', 'application/data'], - [0L, 'string', '=', '#!/bin/sh', 'application/x-sh'], - [0L, 'string', '=', '#! /bin/sh', 'application/x-sh'], - [0L, 'string', '=', '#! /bin/sh', 'application/x-sh'], - [0L, 'string', '=', '#!/bin/csh', 'application/x-csh'], - [0L, 'string', '=', '#! /bin/csh', 'application/x-csh'], - [0L, 'string', '=', '#! /bin/csh', 'application/x-csh'], - [0L, 'string', '=', '#!/bin/ksh', 'application/x-ksh'], - [0L, 'string', '=', '#! /bin/ksh', 'application/x-ksh'], - [0L, 'string', '=', '#! /bin/ksh', 'application/x-ksh'], - [0L, 'string', '=', '#!/bin/tcsh', 'application/x-csh'], - [0L, 'string', '=', '#! /bin/tcsh', 'application/x-csh'], - [0L, 'string', '=', '#! /bin/tcsh', 'application/x-csh'], - [0L, 'string', '=', '#!/usr/local/tcsh', 'application/x-csh'], - [0L, 'string', '=', '#! /usr/local/tcsh', 'application/x-csh'], - [0L, 'string', '=', '#!/usr/local/bin/tcsh', 'application/x-csh'], - [0L, 'string', '=', '#! /usr/local/bin/tcsh', 'application/x-csh'], - [0L, 'string', '=', '#! /usr/local/bin/tcsh', 'application/x-csh'], - [0L, 'string', '=', '#!/usr/local/bin/zsh', 'application/x-zsh'], - [0L, 'string', '=', '#! /usr/local/bin/zsh', 'application/x-zsh'], - [0L, 'string', '=', '#! /usr/local/bin/zsh', 'application/x-zsh'], - [0L, 'string', '=', '#!/usr/local/bin/ash', 'application/x-sh'], - [0L, 'string', '=', '#! /usr/local/bin/ash', 'application/x-zsh'], - [0L, 'string', '=', '#! /usr/local/bin/ash', 'application/x-zsh'], - [0L, 'string', '=', '#!/usr/local/bin/ae', 'text/script'], - [0L, 'string', '=', '#! /usr/local/bin/ae', 'text/script'], - [0L, 'string', '=', '#! /usr/local/bin/ae', 'text/script'], - [0L, 'string', '=', '#!/bin/nawk', 'application/x-awk'], - [0L, 'string', '=', '#! /bin/nawk', 'application/x-awk'], - [0L, 'string', '=', '#! /bin/nawk', 'application/x-awk'], - [0L, 'string', '=', '#!/usr/bin/nawk', 'application/x-awk'], - [0L, 'string', '=', '#! /usr/bin/nawk', 'application/x-awk'], - [0L, 'string', '=', '#! /usr/bin/nawk', 'application/x-awk'], - [0L, 'string', '=', '#!/usr/local/bin/nawk', 'application/x-awk'], - [0L, 'string', '=', '#! /usr/local/bin/nawk', 'application/x-awk'], - [0L, 'string', '=', '#! /usr/local/bin/nawk', 'application/x-awk'], - [0L, 'string', '=', '#!/bin/gawk', 'application/x-awk'], - [0L, 'string', '=', '#! /bin/gawk', 'application/x-awk'], - [0L, 'string', '=', '#! /bin/gawk', 'application/x-awk'], - [0L, 'string', '=', '#!/usr/bin/gawk', 'application/x-awk'], - [0L, 'string', '=', '#! /usr/bin/gawk', 'application/x-awk'], - [0L, 'string', '=', '#! /usr/bin/gawk', 'application/x-awk'], - [0L, 'string', '=', '#!/usr/local/bin/gawk', 'application/x-awk'], - [0L, 'string', '=', '#! /usr/local/bin/gawk', 'application/x-awk'], - [0L, 'string', '=', '#! /usr/local/bin/gawk', 'application/x-awk'], - [0L, 'string', '=', '#!/bin/awk', 'application/x-awk'], - [0L, 'string', '=', '#! /bin/awk', 'application/x-awk'], - [0L, 'string', '=', '#! /bin/awk', 'application/x-awk'], - [0L, 'string', '=', '#!/usr/bin/awk', 'application/x-awk'], - [0L, 'string', '=', '#! /usr/bin/awk', 'application/x-awk'], - [0L, 'string', '=', '#! /usr/bin/awk', 'application/x-awk'], - [0L, 'string', '=', 'BEGIN', 'application/x-awk'], - [0L, 'string', '=', '#!/bin/perl', 'application/x-perl'], - [0L, 'string', '=', '#! /bin/perl', 'application/x-perl'], - [0L, 'string', '=', '#! /bin/perl', 'application/x-perl'], - [0L, 'string', '=', 'eval "exec /bin/perl', 'application/x-perl'], - [0L, 'string', '=', '#!/usr/bin/perl', 'application/x-perl'], - [0L, 'string', '=', '#! /usr/bin/perl', 'application/x-perl'], - [0L, 'string', '=', '#! /usr/bin/perl', 'application/x-perl'], - [0L, 'string', '=', 'eval "exec /usr/bin/perl', 'application/x-perl'], - [0L, 'string', '=', '#!/usr/local/bin/perl', 'application/x-perl'], - [0L, 'string', '=', '#! /usr/local/bin/perl', 'application/x-perl'], - [0L, 'string', '=', '#! /usr/local/bin/perl', 'application/x-perl'], - [0L, 'string', '=', 'eval "exec /usr/local/bin/perl', 'application/x-perl'], - [0L, 'string', '=', '#!/bin/python', 'application/x-python'], - [0L, 'string', '=', '#! /bin/python', 'application/x-python'], - [0L, 'string', '=', '#! /bin/python', 'application/x-python'], - [0L, 'string', '=', 'eval "exec /bin/python', 'application/x-python'], - [0L, 'string', '=', '#!/usr/bin/python', 'application/x-python'], - [0L, 'string', '=', '#! /usr/bin/python', 'application/x-python'], - [0L, 'string', '=', '#! /usr/bin/python', 'application/x-python'], - [0L, 'string', '=', 'eval "exec /usr/bin/python', 'application/x-python'], - [0L, 'string', '=', '#!/usr/local/bin/python', 'application/x-python'], - [0L, 'string', '=', '#! /usr/local/bin/python', 'application/x-python'], - [0L, 'string', '=', '#! /usr/local/bin/python', 'application/x-python'], - [0L, 'string', '=', 'eval "exec /usr/local/bin/python', 'application/x-python'], - [0L, 'string', '=', '#!/usr/bin/env python', 'application/x-python'], - [0L, 'string', '=', '#! /usr/bin/env python', 'application/x-python'], - [0L, 'string', '=', '#!/bin/rc', 'text/script'], - [0L, 'string', '=', '#! /bin/rc', 'text/script'], - [0L, 'string', '=', '#! /bin/rc', 'text/script'], - [0L, 'string', '=', '#!/bin/bash', 'application/x-sh'], - [0L, 'string', '=', '#! /bin/bash', 'application/x-sh'], - [0L, 'string', '=', '#! /bin/bash', 'application/x-sh'], - [0L, 'string', '=', '#!/usr/local/bin/bash', 'application/x-sh'], - [0L, 'string', '=', '#! /usr/local/bin/bash', 'application/x-sh'], - [0L, 'string', '=', '#! /usr/local/bin/bash', 'application/x-sh'], - [0L, 'string', '=', '#! /', 'text/script'], - [0L, 'string', '=', '#! /', 'text/script'], - [0L, 'string', '=', '#!/', 'text/script'], - [0L, 'string', '=', '#! text/script', ''], - [0L, 'string', '=', '\037\235', 'application/compress'], - [0L, 'string', '=', '\037\213', 'application/x-gzip'], - [0L, 'string', '=', '\037\036', 'application/data'], - [0L, 'short', '=', 17437L, 'application/data'], - [0L, 'short', '=', 8191L, 'application/data'], - [0L, 'string', '=', '\377\037', 'application/data'], - [0L, 'short', '=', 145405L, 'application/data'], - [0L, 'string', '=', 'BZh', 'application/x-bzip2'], - [0L, 'leshort', '=', 65398L, 'application/data'], - [0L, 'leshort', '=', 65142L, 'application/data'], - [0L, 'leshort', '=', 64886L, 'application/x-lzh'], - [0L, 'string', '=', '\037\237', 'application/data'], - [0L, 'string', '=', '\037\236', 'application/data'], - [0L, 'string', '=', '\037\240', 'application/data'], - [0L, 'string', '=', 'BZ', 'application/x-bzip'], - [0L, 'string', '=', '\211LZO\000\015\012\032\012', + [0, 'string', '=', b'#define', 'image/x-xbitmap'], + [0, 'leshort', '=', 1538, 'application/x-alan-adventure-game'], + [0, 'string', '=', b'TADS', 'application/x-tads-game'], + [0, 'short', '=', 420, 'application/x-executable-file'], + [0, 'short', '=', 421, 'application/x-executable-file'], + [0, 'leshort', '=', 603, 'application/x-executable-file'], + [0, 'string', '=', b'Core\001', 'application/x-executable-file'], + [0, 'string', '=', b'AMANDA: TAPESTART DATE', 'application/x-amanda-header'], + [0, 'belong', '=', 1011, 'application/x-executable-file'], + [0, 'belong', '=', 999, 'application/x-library-file'], + [0, 'belong', '=', 435, 'video/mpeg'], + [0, 'belong', '=', 442, 'video/mpeg'], + [0, 'beshort&0xfff0', '=', 65520, 'audio/mpeg'], + [4, 'leshort', '=', 44817, 'video/fli'], + [4, 'leshort', '=', 44818, 'video/flc'], + [0, 'string', '=', b'MOVI', 'video/x-sgi-movie'], + [4, 'string', '=', b'moov', 'video/quicktime'], + [4, 'string', '=', b'mdat', 'video/quicktime'], + [0, 'long', '=', 100554, 'application/x-apl-workspace'], + [0, 'string', '=', b'FiLeStArTfIlEsTaRt', 'text/x-apple-binscii'], + [0, 'string', '=', b'\012GL', 'application/data'], + [0, 'string', '=', b'v\377', 'application/data'], + [0, 'string', '=', b'NuFile', 'application/data'], + [0, 'string', '=', b'N\365F\351l\345', 'application/data'], + [0, 'belong', '=', 333312, 'application/data'], + [0, 'belong', '=', 333319, 'application/data'], + [257, 'string', '=', b'ustar\000', 'application/x-tar'], + [257, 'string', '=', b'ustar \000', 'application/x-gtar'], + [0, 'short', '=', 70707, 'application/x-cpio'], + [0, 'short', '=', 143561, 'application/x-bcpio'], + [0, 'string', '=', b'070707', 'application/x-cpio'], + [0, 'string', '=', b'070701', 'application/x-cpio'], + [0, 'string', '=', b'070702', 'application/x-cpio'], + [0, 'string', '=', b'!\012debian', 'application/x-dpkg'], + [0, 'long', '=', 177555, 'application/x-ar'], + [0, 'short', '=', 177555, 'application/data'], + [0, 'long', '=', 177545, 'application/data'], + [0, 'short', '=', 177545, 'application/data'], + [0, 'long', '=', 100554, 'application/x-apl-workspace'], + [0, 'string', '=', b'', 'application/x-ar'], + [0, 'string', '=', b'!\012__________E', 'application/x-ar'], + [0, 'string', '=', b'-h-', 'application/data'], + [0, 'string', '=', b'!', 'application/x-ar'], + [0, 'string', '=', b'', 'application/x-ar'], + [0, 'string', '=', b'', 'application/x-ar'], + [0, 'belong', '=', 1711210496, 'application/x-ar'], + [0, 'belong', '=', 1013019198, 'application/x-ar'], + [0, 'long', '=', 557605234, 'application/x-ar'], + [0, 'lelong', '=', 177555, 'application/data'], + [0, 'leshort', '=', 177555, 'application/data'], + [0, 'lelong', '=', 177545, 'application/data'], + [0, 'leshort', '=', 177545, 'application/data'], + [0, 'lelong', '=', 236525, 'application/data'], + [0, 'lelong', '=', 236526, 'application/data'], + [0, 'lelong&0x8080ffff', '=', 2074, 'application/x-arc'], + [0, 'lelong&0x8080ffff', '=', 2330, 'application/x-arc'], + [0, 'lelong&0x8080ffff', '=', 538, 'application/x-arc'], + [0, 'lelong&0x8080ffff', '=', 794, 'application/x-arc'], + [0, 'lelong&0x8080ffff', '=', 1050, 'application/x-arc'], + [0, 'lelong&0x8080ffff', '=', 1562, 'application/x-arc'], + [0, 'string', '=', b'\032archive', 'application/data'], + [0, 'leshort', '=', 60000, 'application/x-arj'], + [0, 'string', '=', b'HPAK', 'application/data'], + [0, 'string', '=', b'\351,\001JAM application/data', ''], + [2, 'string', '=', b'-lh0-', 'application/x-lha'], + [2, 'string', '=', b'-lh1-', 'application/x-lha'], + [2, 'string', '=', b'-lz4-', 'application/x-lha'], + [2, 'string', '=', b'-lz5-', 'application/x-lha'], + [2, 'string', '=', b'-lzs-', 'application/x-lha'], + [2, 'string', '=', b'-lh -', 'application/x-lha'], + [2, 'string', '=', b'-lhd-', 'application/x-lha'], + [2, 'string', '=', b'-lh2-', 'application/x-lha'], + [2, 'string', '=', b'-lh3-', 'application/x-lha'], + [2, 'string', '=', b'-lh4-', 'application/x-lha'], + [2, 'string', '=', b'-lh5-', 'application/x-lha'], + [0, 'string', '=', b'Rar!', 'application/x-rar'], + [0, 'string', '=', b'SQSH', 'application/data'], + [0, 'string', '=', b'UC2\032', 'application/data'], + [0, 'string', '=', b'PK\003\004', 'application/zip'], + [20, 'lelong', '=', 4257523676, 'application/x-zoo'], + [10, 'string', '=', b'# This is a shell archive', 'application/x-shar'], + [0, 'string', '=', b'*STA', 'application/data'], + [0, 'string', '=', b'2278', 'application/data'], + [0, 'beshort', '=', 560, 'application/x-executable-file'], + [0, 'beshort', '=', 561, 'application/x-executable-file'], + [0, 'string', '=', b'\000\004\036\212\200', 'application/core'], + [0, 'string', '=', b'.snd', 'audio/basic'], + [0, 'lelong', '=', 6583086, 'audio/basic'], + [0, 'string', '=', b'MThd', 'audio/midi'], + [0, 'string', '=', b'CTMF', 'audio/x-cmf'], + [0, 'string', '=', b'SBI', 'audio/x-sbi'], + [0, 'string', '=', b'Creative Voice File', 'audio/x-voc'], + [0, 'belong', '=', 1314148939, 'audio/x-multitrack'], + [0, 'string', '=', b'RIFF', 'audio/x-wav'], + [0, 'string', '=', b'EMOD', 'audio/x-emod'], + [0, 'belong', '=', 779248125, 'audio/x-pn-realaudio'], + [0, 'string', '=', b'MTM', 'audio/x-multitrack'], + [0, 'string', '=', b'if', 'audio/x-669-mod'], + [0, 'string', '=', b'FAR', 'audio/mod'], + [0, 'string', '=', b'MAS_U', 'audio/x-multimate-mod'], + [44, 'string', '=', b'SCRM', 'audio/x-st3-mod'], + [0, 'string', '=', b'GF1PATCH110\000ID#000002\000','audio/x-gus-patch'], + [0, 'string', '=', b'GF1PATCH100\000ID#000002\000', 'audio/x-gus-patch'], + [0, 'string', '=', b'JN', 'audio/x-669-mod'], + [0, 'string', '=', b'UN05', 'audio/x-mikmod-uni'], + [0, 'string', '=', b'Extended Module:', 'audio/x-ft2-mod'], + [21, 'string', '=', b'!SCREAM!', 'audio/x-st2-mod'], + [1080, 'string', '=', b'M.K.', 'audio/x-protracker-mod'], + [1080, 'string', '=', b'M!K!', 'audio/x-protracker-mod'], + [1080, 'string', '=', b'FLT4', 'audio/x-startracker-mod'], + [1080, 'string', '=', b'4CHN', 'audio/x-fasttracker-mod'], + [1080, 'string', '=', b'6CHN', 'audio/x-fasttracker-mod'], + [1080, 'string', '=', b'8CHN', 'audio/x-fasttracker-mod'], + [1080, 'string', '=', b'CD81', 'audio/x-oktalyzer-mod'], + [1080, 'string', '=', b'OKTA', 'audio/x-oktalyzer-mod'], + [1080, 'string', '=', b'16CN', 'audio/x-taketracker-mod'], + [1080, 'string', '=', b'32CN', 'audio/x-taketracker-mod'], + [0, 'string', '=', b'TOC', 'audio/x-toc'], + [0, 'short', '=', 3401, 'application/x-executable-file'], + [0, 'long', '=', 406, 'application/x-executable-file'], + [0, 'short', '=', 406, 'application/x-executable-file'], + [0, 'short', '=', 3001, 'application/x-executable-file'], + [0, 'lelong', '=', 314, 'application/x-executable-file'], + [0, 'string', '=', b'//', 'text/cpp'], + [0, 'string', '=', b'\\\\1cw\\', 'application/data'], + [0, 'string', '=', b'\\\\1cw', 'application/data'], + [0, 'belong&0xffffff00', '=', 2231440384, 'application/data'], + [0, 'belong&0xffffff00', '=', 2231487232, 'application/data'], + [0, 'short', '=', 575, 'application/x-executable-file'], + [0, 'short', '=', 577, 'application/x-executable-file'], + [4, 'string', '=', b'pipe', 'application/data'], + [4, 'string', '=', b'prof', 'application/data'], + [0, 'string', '=', b': shell', 'application/data'], + [0, 'string', '=', b'#!/bin/sh', 'application/x-sh'], + [0, 'string', '=', b'#! /bin/sh', 'application/x-sh'], + [0, 'string', '=', b'#! /bin/sh', 'application/x-sh'], + [0, 'string', '=', b'#!/bin/csh', 'application/x-csh'], + [0, 'string', '=', b'#! /bin/csh', 'application/x-csh'], + [0, 'string', '=', b'#! /bin/csh', 'application/x-csh'], + [0, 'string', '=', b'#!/bin/ksh', 'application/x-ksh'], + [0, 'string', '=', b'#! /bin/ksh', 'application/x-ksh'], + [0, 'string', '=', b'#! /bin/ksh', 'application/x-ksh'], + [0, 'string', '=', b'#!/bin/tcsh', 'application/x-csh'], + [0, 'string', '=', b'#! /bin/tcsh', 'application/x-csh'], + [0, 'string', '=', b'#! /bin/tcsh', 'application/x-csh'], + [0, 'string', '=', b'#!/usr/local/tcsh', 'application/x-csh'], + [0, 'string', '=', b'#! /usr/local/tcsh', 'application/x-csh'], + [0, 'string', '=', b'#!/usr/local/bin/tcsh', 'application/x-csh'], + [0, 'string', '=', b'#! /usr/local/bin/tcsh', 'application/x-csh'], + [0, 'string', '=', b'#! /usr/local/bin/tcsh', 'application/x-csh'], + [0, 'string', '=', b'#!/usr/local/bin/zsh', 'application/x-zsh'], + [0, 'string', '=', b'#! /usr/local/bin/zsh', 'application/x-zsh'], + [0, 'string', '=', b'#! /usr/local/bin/zsh', 'application/x-zsh'], + [0, 'string', '=', b'#!/usr/local/bin/ash', 'application/x-sh'], + [0, 'string', '=', b'#! /usr/local/bin/ash', 'application/x-zsh'], + [0, 'string', '=', b'#! /usr/local/bin/ash', 'application/x-zsh'], + [0, 'string', '=', b'#!/usr/local/bin/ae', 'text/script'], + [0, 'string', '=', b'#! /usr/local/bin/ae', 'text/script'], + [0, 'string', '=', b'#! /usr/local/bin/ae', 'text/script'], + [0, 'string', '=', b'#!/bin/nawk', 'application/x-awk'], + [0, 'string', '=', b'#! /bin/nawk', 'application/x-awk'], + [0, 'string', '=', b'#! /bin/nawk', 'application/x-awk'], + [0, 'string', '=', b'#!/usr/bin/nawk', 'application/x-awk'], + [0, 'string', '=', b'#! /usr/bin/nawk', 'application/x-awk'], + [0, 'string', '=', b'#! /usr/bin/nawk', 'application/x-awk'], + [0, 'string', '=', b'#!/usr/local/bin/nawk', 'application/x-awk'], + [0, 'string', '=', b'#! /usr/local/bin/nawk', 'application/x-awk'], + [0, 'string', '=', b'#! /usr/local/bin/nawk', 'application/x-awk'], + [0, 'string', '=', b'#!/bin/gawk', 'application/x-awk'], + [0, 'string', '=', b'#! /bin/gawk', 'application/x-awk'], + [0, 'string', '=', b'#! /bin/gawk', 'application/x-awk'], + [0, 'string', '=', b'#!/usr/bin/gawk', 'application/x-awk'], + [0, 'string', '=', b'#! /usr/bin/gawk', 'application/x-awk'], + [0, 'string', '=', b'#! /usr/bin/gawk', 'application/x-awk'], + [0, 'string', '=', b'#!/usr/local/bin/gawk', 'application/x-awk'], + [0, 'string', '=', b'#! /usr/local/bin/gawk', 'application/x-awk'], + [0, 'string', '=', b'#! /usr/local/bin/gawk', 'application/x-awk'], + [0, 'string', '=', b'#!/bin/awk', 'application/x-awk'], + [0, 'string', '=', b'#! /bin/awk', 'application/x-awk'], + [0, 'string', '=', b'#! /bin/awk', 'application/x-awk'], + [0, 'string', '=', b'#!/usr/bin/awk', 'application/x-awk'], + [0, 'string', '=', b'#! /usr/bin/awk', 'application/x-awk'], + [0, 'string', '=', b'#! /usr/bin/awk', 'application/x-awk'], + [0, 'string', '=', b'BEGIN', 'application/x-awk'], + [0, 'string', '=', b'#!/bin/perl', 'application/x-perl'], + [0, 'string', '=', b'#! /bin/perl', 'application/x-perl'], + [0, 'string', '=', b'#! /bin/perl', 'application/x-perl'], + [0, 'string', '=', b'eval "exec /bin/perl', 'application/x-perl'], + [0, 'string', '=', b'#!/usr/bin/perl', 'application/x-perl'], + [0, 'string', '=', b'#! /usr/bin/perl', 'application/x-perl'], + [0, 'string', '=', b'#! /usr/bin/perl', 'application/x-perl'], + [0, 'string', '=', b'eval "exec /usr/bin/perl', 'application/x-perl'], + [0, 'string', '=', b'#!/usr/local/bin/perl', 'application/x-perl'], + [0, 'string', '=', b'#! /usr/local/bin/perl', 'application/x-perl'], + [0, 'string', '=', b'#! /usr/local/bin/perl', 'application/x-perl'], + [0, 'string', '=', b'eval "exec /usr/local/bin/perl', 'application/x-perl'], + [0, 'string', '=', b'#!/bin/python', 'application/x-python'], + [0, 'string', '=', b'#! /bin/python', 'application/x-python'], + [0, 'string', '=', b'#! /bin/python', 'application/x-python'], + [0, 'string', '=', b'eval "exec /bin/python', 'application/x-python'], + [0, 'string', '=', b'#!/usr/bin/python', 'application/x-python'], + [0, 'string', '=', b'#! /usr/bin/python', 'application/x-python'], + [0, 'string', '=', b'#! /usr/bin/python', 'application/x-python'], + [0, 'string', '=', b'eval "exec /usr/bin/python', 'application/x-python'], + [0, 'string', '=', b'#!/usr/local/bin/python', 'application/x-python'], + [0, 'string', '=', b'#! /usr/local/bin/python', 'application/x-python'], + [0, 'string', '=', b'#! /usr/local/bin/python', 'application/x-python'], + [0, 'string', '=', b'eval "exec /usr/local/bin/python', 'application/x-python'], + [0, 'string', '=', b'#!/usr/bin/env python', 'application/x-python'], + [0, 'string', '=', b'#! /usr/bin/env python', 'application/x-python'], + [0, 'string', '=', b'#!/bin/rc', 'text/script'], + [0, 'string', '=', b'#! /bin/rc', 'text/script'], + [0, 'string', '=', b'#! /bin/rc', 'text/script'], + [0, 'string', '=', b'#!/bin/bash', 'application/x-sh'], + [0, 'string', '=', b'#! /bin/bash', 'application/x-sh'], + [0, 'string', '=', b'#! /bin/bash', 'application/x-sh'], + [0, 'string', '=', b'#!/usr/local/bin/bash', 'application/x-sh'], + [0, 'string', '=', b'#! /usr/local/bin/bash', 'application/x-sh'], + [0, 'string', '=', b'#! /usr/local/bin/bash', 'application/x-sh'], + [0, 'string', '=', b'#! /', 'text/script'], + [0, 'string', '=', b'#! /', 'text/script'], + [0, 'string', '=', b'#!/', 'text/script'], + [0, 'string', '=', b'#! text/script', ''], + [0, 'string', '=', b'\037\235', 'application/compress'], + [0, 'string', '=', b'\037\213', 'application/x-gzip'], + [0, 'string', '=', b'\037\036', 'application/data'], + [0, 'short', '=', 17437, 'application/data'], + [0, 'short', '=', 8191, 'application/data'], + [0, 'string', '=', b'\377\037', 'application/data'], + [0, 'short', '=', 145405, 'application/data'], + [0, 'string', '=', b'BZh', 'application/x-bzip2'], + [0, 'leshort', '=', 65398, 'application/data'], + [0, 'leshort', '=', 65142, 'application/data'], + [0, 'leshort', '=', 64886, 'application/x-lzh'], + [0, 'string', '=', b'\037\237', 'application/data'], + [0, 'string', '=', b'\037\236', 'application/data'], + [0, 'string', '=', b'\037\240', 'application/data'], + [0, 'string', '=', b'BZ', 'application/x-bzip'], + [0, 'string', '=', b'\211LZO\000\015\012\032\012', 'application/data'], - [0L, 'belong', '=', 507L, 'application/x-object-file'], - [0L, 'belong', '=', 513L, 'application/x-executable-file'], - [0L, 'belong', '=', 515L, 'application/x-executable-file'], - [0L, 'belong', '=', 517L, 'application/x-executable-file'], - [0L, 'belong', '=', 70231L, 'application/core'], - [24L, 'belong', '=', 60011L, 'application/data'], - [24L, 'belong', '=', 60012L, 'application/data'], - [24L, 'belong', '=', 60013L, 'application/data'], - [24L, 'belong', '=', 60014L, 'application/data'], - [0L, 'belong', '=', 601L, 'application/x-object-file'], - [0L, 'belong', '=', 607L, 'application/data'], - [0L, 'belong', '=', 324508366L, 'application/x-gdbm'], - [0L, 'lelong', '=', 324508366L, 'application/x-gdbm'], - [0L, 'string', '=', 'GDBM', 'application/x-gdbm'], - [0L, 'belong', '=', 398689L, 'application/x-db'], - [0L, 'belong', '=', 340322L, 'application/x-db'], - [0L, 'string', '=', '\012\012________64E', 'application/data'], - [0L, 'leshort', '=', 387L, 'application/x-executable-file'], - [0L, 'leshort', '=', 392L, 'application/x-executable-file'], - [0L, 'leshort', '=', 399L, 'application/x-object-file'], - [0L, 'string', '=', '\377\377\177', 'application/data'], - [0L, 'string', '=', '\377\377|', 'application/data'], - [0L, 'string', '=', '\377\377~', 'application/data'], - [0L, 'string', '=', '\033c\033', 'application/data'], - [0L, 'long', '=', 4553207L, 'image/x11'], - [0L, 'string', '=', '!!\012', 'application/x-prof'], - [0L, 'short', '=', 1281L, 'application/x-locale'], - [24L, 'belong', '=', 60012L, 'application/x-dump'], - [24L, 'belong', '=', 60011L, 'application/x-dump'], - [24L, 'lelong', '=', 60012L, 'application/x-dump'], - [24L, 'lelong', '=', 60011L, 'application/x-dump'], - [0L, 'string', '=', '\177ELF', 'application/x-executable-file'], - [0L, 'short', '=', 340L, 'application/data'], - [0L, 'short', '=', 341L, 'application/x-executable-file'], - [1080L, 'leshort', '=', 61267L, 'application/x-linux-ext2fs'], - [0L, 'string', '=', '\366\366\366\366', 'application/x-pc-floppy'], - [774L, 'beshort', '=', 55998L, 'application/data'], - [510L, 'leshort', '=', 43605L, 'application/data'], - [1040L, 'leshort', '=', 4991L, 'application/x-filesystem'], - [1040L, 'leshort', '=', 5007L, 'application/x-filesystem'], - [1040L, 'leshort', '=', 9320L, 'application/x-filesystem'], - [1040L, 'leshort', '=', 9336L, 'application/x-filesystem'], - [0L, 'string', '=', '-rom1fs-\000', 'application/x-filesystem'], - [395L, 'string', '=', 'OS/2', 'application/x-bootable'], - [0L, 'string', '=', 'FONT', 'font/x-vfont'], - [0L, 'short', '=', 436L, 'font/x-vfont'], - [0L, 'short', '=', 17001L, 'font/x-vfont'], - [0L, 'string', '=', '%!PS-AdobeFont-1.0', 'font/type1'], - [6L, 'string', '=', '%!PS-AdobeFont-1.0', 'font/type1'], - [0L, 'belong', '=', 4L, 'font/x-snf'], - [0L, 'lelong', '=', 4L, 'font/x-snf'], - [0L, 'string', '=', 'STARTFONT font/x-bdf', ''], - [0L, 'string', '=', '\001fcp', 'font/x-pcf'], - [0L, 'string', '=', 'D1.0\015', 'font/x-speedo'], - [0L, 'string', '=', 'flf', 'font/x-figlet'], - [0L, 'string', '=', 'flc', 'application/x-font'], - [0L, 'belong', '=', 335698201L, 'font/x-libgrx'], - [0L, 'belong', '=', 4282797902L, 'font/x-dos'], - [7L, 'belong', '=', 4540225L, 'font/x-dos'], - [7L, 'belong', '=', 5654852L, 'font/x-dos'], - [4098L, 'string', '=', 'DOSFONT', 'font/x-dos'], - [0L, 'string', '=', '\012\012________64E', 'application/data'], + [0, 'leshort', '=', 387, 'application/x-executable-file'], + [0, 'leshort', '=', 392, 'application/x-executable-file'], + [0, 'leshort', '=', 399, 'application/x-object-file'], + [0, 'string', '=', b'\377\377\177', 'application/data'], + [0, 'string', '=', b'\377\377|', 'application/data'], + [0, 'string', '=', b'\377\377~', 'application/data'], + [0, 'string', '=', b'\033c\033', 'application/data'], + [0, 'long', '=', 4553207, 'image/x11'], + [0, 'string', '=', b'!!\012', 'application/x-prof'], + [0, 'short', '=', 1281, 'application/x-locale'], + [24, 'belong', '=', 60012, 'application/x-dump'], + [24, 'belong', '=', 60011, 'application/x-dump'], + [24, 'lelong', '=', 60012, 'application/x-dump'], + [24, 'lelong', '=', 60011, 'application/x-dump'], + [0, 'string', '=', b'\177ELF', 'application/x-executable-file'], + [0, 'short', '=', 340, 'application/data'], + [0, 'short', '=', 341, 'application/x-executable-file'], + [1080, 'leshort', '=', 61267, 'application/x-linux-ext2fs'], + [0, 'string', '=', b'\366\366\366\366', 'application/x-pc-floppy'], + [774, 'beshort', '=', 55998, 'application/data'], + [510, 'leshort', '=', 43605, 'application/data'], + [1040, 'leshort', '=', 4991, 'application/x-filesystem'], + [1040, 'leshort', '=', 5007, 'application/x-filesystem'], + [1040, 'leshort', '=', 9320, 'application/x-filesystem'], + [1040, 'leshort', '=', 9336, 'application/x-filesystem'], + [0, 'string', '=', b'-rom1fs-\000', 'application/x-filesystem'], + [395, 'string', '=', 'OS/2', 'application/x-bootable'], + [0, 'string', '=', b'FONT', 'font/x-vfont'], + [0, 'short', '=', 436, 'font/x-vfont'], + [0, 'short', '=', 17001, 'font/x-vfont'], + [0, 'string', '=', b'%!PS-AdobeFont-1.0', 'font/type1'], + [6, 'string', '=', '%!PS-AdobeFont-1.0', 'font/type1'], + [0, 'belong', '=', 4, 'font/x-snf'], + [0, 'lelong', '=', 4, 'font/x-snf'], + [0, 'string', '=', b'STARTFONT font/x-bdf', ''], + [0, 'string', '=', b'\001fcp', 'font/x-pcf'], + [0, 'string', '=', b'D1.0\015', 'font/x-speedo'], + [0, 'string', '=', b'flf', 'font/x-figlet'], + [0, 'string', '=', b'flc', 'application/x-font'], + [0, 'belong', '=', 335698201, 'font/x-libgrx'], + [0, 'belong', '=', 4282797902, 'font/x-dos'], + [7, 'belong', '=', 4540225, 'font/x-dos'], + [7, 'belong', '=', 5654852, 'font/x-dos'], + [4098, 'string', '=', 'DOSFONT', 'font/x-dos'], + [0, 'string', '=', b'', 'archive'], - [0L, 'string', '=', 'FORM', 'IFF data'], - [0L, 'string', '=', 'P1', 'image/x-portable-bitmap'], - [0L, 'string', '=', 'P2', 'image/x-portable-graymap'], - [0L, 'string', '=', 'P3', 'image/x-portable-pixmap'], - [0L, 'string', '=', 'P4', 'image/x-portable-bitmap'], - [0L, 'string', '=', 'P5', 'image/x-portable-graymap'], - [0L, 'string', '=', 'P6', 'image/x-portable-pixmap'], - [0L, 'string', '=', 'IIN1', 'image/tiff'], - [0L, 'string', '=', 'MM\000*', 'image/tiff'], - [0L, 'string', '=', 'II*\000', 'image/tiff'], - [0L, 'string', '=', '\211PNG', 'image/png'], - [1L, 'string', '=', 'PNG', 'image/png'], - [0L, 'string', '=', 'GIF8', 'image/gif'], - [0L, 'string', '=', '\361\000@\273', 'image/x-cmu-raster'], - [0L, 'string', '=', 'id=ImageMagick', 'MIFF image data'], - [0L, 'long', '=', 1123028772L, 'Artisan image data'], - [0L, 'string', '=', '#FIG', 'FIG image text'], - [0L, 'string', '=', 'ARF_BEGARF', 'PHIGS clear text archive'], - [0L, 'string', '=', '@(#)SunPHIGS', 'SunPHIGS'], - [0L, 'string', '=', 'GKSM', 'GKS Metafile'], - [0L, 'string', '=', 'BEGMF', 'clear text Computer Graphics Metafile'], - [0L, 'beshort&0xffe0', '=', 32L, 'binary Computer Graphics Metafile'], - [0L, 'beshort', '=', 12320L, 'character Computer Graphics Metafile'], - [0L, 'string', '=', 'yz', 'MGR bitmap, modern format, 8-bit aligned'], - [0L, 'string', '=', 'zz','MGR bitmap, old format, 1-bit deep, 16-bit aligned'], - [0L, 'string', '=', 'xz','MGR bitmap, old format, 1-bit deep, 32-bit aligned'], - [0L, 'string', '=', 'yx', 'MGR bitmap, modern format, squeezed'], - [0L, 'string', '=', '%bitmap\000', 'FBM image data'], - [1L, 'string', '=', 'PC Research, Inc', 'group 3 fax data'], - [0L, 'string', '=', 'hplip_g3', 'application/hplip-fax'], - [0L, 'beshort', '=', 65496L, 'image/jpeg'], - [0L, 'string', '=', 'hsi1', 'image/x-jpeg-proprietary'], - [0L, 'string', '=', 'BM', 'image/x-bmp'], - [0L, 'string', '=', 'IC', 'image/x-ico'], - [0L, 'string', '=', 'PI', 'PC pointer image data'], - [0L, 'string', '=', 'CI', 'PC color icon data'], - [0L, 'string', '=', 'CP', 'PC color pointer image data'], - [0L, 'string', '=', '/* XPM */', 'image/x-xpixmap'], - [0L, 'leshort', '=', 52306L, 'RLE image data,'], - [0L, 'string', '=', 'Imagefile version-', 'iff image data'], - [0L, 'belong', '=', 1504078485L, 'image/x-sun-raster'], - [0L, 'beshort', '=', 474L, 'x/x-image-sgi'], - [0L, 'string', '=', 'IT01', 'FIT image data'], - [0L, 'string', '=', 'IT02', 'FIT image data'], - [2048L, 'string', '=', 'PCD_IPI', 'x/x-photo-cd-pack-file'], - [0L, 'string', '=', 'PCD_OPA', 'x/x-photo-cd-overfiew-file'], - [0L, 'string', '=', 'SIMPLE =', 'FITS image data'], - [0L, 'string', '=', 'This is a BitMap file', 'Lisp Machine bit-array-file'], - [0L, 'string', '=', '!!', 'Bennet Yee\'s "face" format'], - [0L, 'beshort', '=', 4112L, 'PEX Binary Archive'], - [3000L, 'string', '=', 'Visio (TM) Drawing', '%s'], - [0L, 'leshort', '=', 502L, 'basic-16 executable'], - [0L, 'leshort', '=', 503L, 'basic-16 executable (TV)'], - [0L, 'leshort', '=', 510L, 'application/x-executable-file'], - [0L, 'leshort', '=', 511L, 'application/x-executable-file'], - [0L, 'leshort', '=', 512L, 'application/x-executable-file'], - [0L, 'leshort', '=', 522L, 'application/x-executable-file'], - [0L, 'leshort', '=', 514L, 'application/x-executable-file'], - [0L, 'string', '=', '\210OPS', 'Interleaf saved data'], - [0L, 'string', '=', '', 'Compiled SGML rules file'], - [0L, 'string', '=', '', 'A/E SGML Document binary'], - [0L, 'string', '=', '', 'A/E SGML binary styles file'], - [0L, 'short', '=', 49374L, 'Compiled PSI (v1) data'], - [0L, 'short', '=', 49370L, 'Compiled PSI (v2) data'], - [0L, 'short', '=', 125252L, 'SoftQuad DESC or font file binary'], - [0L, 'string', '=', 'SQ BITMAP1', 'SoftQuad Raster Format text'], - [0L, 'string', '=', 'X SoftQuad', 'troff Context intermediate'], - [0L, 'belong&077777777', '=', 600413L, 'sparc demand paged'], - [0L, 'belong&077777777', '=', 600410L, 'sparc pure'], - [0L, 'belong&077777777', '=', 600407L, 'sparc'], - [0L, 'belong&077777777', '=', 400413L, 'mc68020 demand paged'], - [0L, 'belong&077777777', '=', 400410L, 'mc68020 pure'], - [0L, 'belong&077777777', '=', 400407L, 'mc68020'], - [0L, 'belong&077777777', '=', 200413L, 'mc68010 demand paged'], - [0L, 'belong&077777777', '=', 200410L, 'mc68010 pure'], - [0L, 'belong&077777777', '=', 200407L, 'mc68010'], - [0L, 'belong', '=', 407L, 'old sun-2 executable'], - [0L, 'belong', '=', 410L, 'old sun-2 pure executable'], - [0L, 'belong', '=', 413L, 'old sun-2 demand paged executable'], - [0L, 'belong', '=', 525398L, 'SunOS core file'], - [0L, 'long', '=', 4197695630L, 'SunPC 4.0 Hard Disk'], - [0L, 'string', '=', '#SUNPC_CONFIG', 'SunPC 4.0 Properties Values'], - [0L, 'string', '=', 'snoop', 'Snoop capture file'], - [36L, 'string', '=', 'acsp', 'Kodak Color Management System, ICC Profile'], - [0L, 'string', '=', '#!teapot\012xdr', 'teapot work sheet (XDR format)'], - [0L, 'string', '=', '\032\001', 'Compiled terminfo entry'], - [0L, 'short', '=', 433L, 'Curses screen image'], - [0L, 'short', '=', 434L, 'Curses screen image'], - [0L, 'string', '=', '\367\002', 'TeX DVI file'], - [0L, 'string', '=', '\367\203', 'font/x-tex'], - [0L, 'string', '=', '\367Y', 'font/x-tex'], - [0L, 'string', '=', '\367\312', 'font/x-tex'], - [0L, 'string', '=', 'This is TeX,', 'TeX transcript text'], - [0L, 'string', '=', 'This is METAFONT,', 'METAFONT transcript text'], - [2L, 'string', '=', '\000\021', 'font/x-tex-tfm'], - [2L, 'string', '=', '\000\022', 'font/x-tex-tfm'], - [0L, 'string', '=', '\\\\input\\', 'texinfo Texinfo source text'], - [0L, 'string', '=', 'This is Info file', 'GNU Info text'], - [0L, 'string', '=', '\\\\input', 'TeX document text'], - [0L, 'string', '=', '\\\\section', 'LaTeX document text'], - [0L, 'string', '=', '\\\\setlength', 'LaTeX document text'], - [0L, 'string', '=', '\\\\documentstyle', 'LaTeX document text'], - [0L, 'string', '=', '\\\\chapter', 'LaTeX document text'], - [0L, 'string', '=', '\\\\documentclass', 'LaTeX 2e document text'], - [0L, 'string', '=', '\\\\relax', 'LaTeX auxiliary file'], - [0L, 'string', '=', '\\\\contentsline', 'LaTeX table of contents'], - [0L, 'string', '=', '\\\\indexentry', 'LaTeX raw index file'], - [0L, 'string', '=', '\\\\begin{theindex}', 'LaTeX sorted index'], - [0L, 'string', '=', '\\\\glossaryentry', 'LaTeX raw glossary'], - [0L, 'string', '=', '\\\\begin{theglossary}', 'LaTeX sorted glossary'], - [0L, 'string', '=', 'This is makeindex', 'Makeindex log file'], - [0L, 'string', '=', '**TI82**', 'TI-82 Graphing Calculator'], - [0L, 'string', '=', '**TI83**', 'TI-83 Graphing Calculator'], - [0L, 'string', '=', '**TI85**', 'TI-85 Graphing Calculator'], - [0L, 'string', '=', '**TI92**', 'TI-92 Graphing Calculator'], - [0L, 'string', '=', '**TI80**', 'TI-80 Graphing Calculator File.'], - [0L, 'string', '=', '**TI81**', 'TI-81 Graphing Calculator File.'], - [0L, 'string', '=', 'TZif', 'timezone data'], - [0L, 'string', '=', '\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000', 'old timezone data'], - [0L, 'string', '=', + [0, 'lelong', '=', 11421044151, 'application/data'], + [0, 'string', '=', b'GIMP Gradient', 'application/x-gimp-gradient'], + [0, 'string', '=', b'gimp xcf', 'application/x-gimp-image'], + [20, 'string', '=', b'GPAT', 'application/x-gimp-pattern'], + [20, 'string', '=', b'GIMP', 'application/x-gimp-brush'], + [0, 'string', '=', b'\336\022\004\225', 'application/x-locale'], + [0, 'string', '=', b'\225\004\022\336', 'application/x-locale'], + [0, 'beshort', '=', 627, 'application/x-executable-file'], + [0, 'beshort', '=', 624, 'application/x-executable-file'], + [0, 'string', '=', b'\000\001\000\000\000', 'font/ttf'], + [0, 'long', '=', 1203604016, 'application/data'], + [0, 'long', '=', 1702407010, 'application/data'], + [0, 'long', '=', 1003405017, 'application/data'], + [0, 'long', '=', 1602007412, 'application/data'], + [0, 'belong', '=', 34603270, 'application/x-object-file'], + [0, 'belong', '=', 34603271, 'application/x-executable-file'], + [0, 'belong', '=', 34603272, 'application/x-executable-file'], + [0, 'belong', '=', 34603275, 'application/x-executable-file'], + [0, 'belong', '=', 34603278, 'application/x-library-file'], + [0, 'belong', '=', 34603277, 'application/x-library-file'], + [0, 'belong', '=', 34865414, 'application/x-object-file'], + [0, 'belong', '=', 34865415, 'application/x-executable-file'], + [0, 'belong', '=', 34865416, 'application/x-executable-file'], + [0, 'belong', '=', 34865419, 'application/x-executable-file'], + [0, 'belong', '=', 34865422, 'application/x-library-file'], + [0, 'belong', '=', 34865421, 'application/x-object-file'], + [0, 'belong', '=', 34275590, 'application/x-object-file'], + [0, 'belong', '=', 34275591, 'application/x-executable-file'], + [0, 'belong', '=', 34275592, 'application/x-executable-file'], + [0, 'belong', '=', 34275595, 'application/x-executable-file'], + [0, 'belong', '=', 34275598, 'application/x-library-file'], + [0, 'belong', '=', 34275597, 'application/x-library-file'], + [0, 'belong', '=', 557605234, 'application/x-ar'], + [0, 'long', '=', 34078982, 'application/x-executable-file'], + [0, 'long', '=', 34078983, 'application/x-executable-file'], + [0, 'long', '=', 34078984, 'application/x-executable-file'], + [0, 'belong', '=', 34341128, 'application/x-executable-file'], + [0, 'belong', '=', 34341127, 'application/x-executable-file'], + [0, 'belong', '=', 34341131, 'application/x-executable-file'], + [0, 'belong', '=', 34341126, 'application/x-executable-file'], + [0, 'belong', '=', 34210056, 'application/x-executable-file'], + [0, 'belong', '=', 34210055, 'application/x-executable-file'], + [0, 'belong', '=', 34341134, 'application/x-library-file'], + [0, 'belong', '=', 34341133, 'application/x-library-file'], + [0, 'long', '=', 65381, 'application/x-library-file'], + [0, 'long', '=', 34275173, 'application/x-library-file'], + [0, 'long', '=', 34406245, 'application/x-library-file'], + [0, 'long', '=', 34144101, 'application/x-library-file'], + [0, 'long', '=', 22552998, 'application/core'], + [0, 'long', '=', 1302851304, 'font/x-hp-windows'], + [0, 'string', '=', b'Bitmapfile', 'image/unknown'], + [0, 'string', '=', b'IMGfile', 'CIS image/unknown'], + [0, 'long', '=', 34341132, 'application/x-lisp'], + [0, 'string', '=', b'msgcat01', 'application/x-locale'], + [0, 'string', '=', b'HPHP48-', 'HP48 binary'], + [0, 'string', '=', b'%%HP:', 'HP48 text'], + [0, 'beshort', '=', 200, 'hp200 (68010) BSD'], + [0, 'beshort', '=', 300, 'hp300 (68020+68881) BSD'], + [0, 'beshort', '=', 537, '370 XA sysV executable'], + [0, 'beshort', '=', 532, '370 XA sysV pure executable'], + [0, 'beshort', '=', 54001, '370 sysV pure executable'], + [0, 'beshort', '=', 55001, '370 XA sysV pure executable'], + [0, 'beshort', '=', 56401, '370 sysV executable'], + [0, 'beshort', '=', 57401, '370 XA sysV executable'], + [0, 'beshort', '=', 531, 'SVR2 executable (Amdahl-UTS)'], + [0, 'beshort', '=', 534, 'SVR2 pure executable (Amdahl-UTS)'], + [0, 'beshort', '=', 530, 'SVR2 pure executable (USS/370)'], + [0, 'beshort', '=', 535, 'SVR2 executable (USS/370)'], + [0, 'beshort', '=', 479, 'executable (RISC System/6000 V3.1) or obj module'], + [0, 'beshort', '=', 260, 'shared library'], + [0, 'beshort', '=', 261, 'ctab data'], + [0, 'beshort', '=', 65028, 'structured file'], + [0, 'string', '=', b'0xabcdef', 'AIX message catalog'], + [0, 'belong', '=', 505, 'AIX compiled message catalog'], + [0, 'string', '=', b'', 'archive'], + [0, 'string', '=', b'FORM', 'IFF data'], + [0, 'string', '=', b'P1', 'image/x-portable-bitmap'], + [0, 'string', '=', b'P2', 'image/x-portable-graymap'], + [0, 'string', '=', b'P3', 'image/x-portable-pixmap'], + [0, 'string', '=', b'P4', 'image/x-portable-bitmap'], + [0, 'string', '=', b'P5', 'image/x-portable-graymap'], + [0, 'string', '=', b'P6', 'image/x-portable-pixmap'], + [0, 'string', '=', b'IIN1', 'image/tiff'], + [0, 'string', '=', b'MM\000*', 'image/tiff'], + [0, 'string', '=', b'II*\000', 'image/tiff'], + [0, 'string', '=', b'\211PNG', 'image/png'], + [1, 'string', '=', 'PNG', 'image/png'], + [0, 'string', '=', b'GIF8', 'image/gif'], + [0, 'string', '=', b'\361\000@\273', 'image/x-cmu-raster'], + [0, 'string', '=', b'id=ImageMagick', 'MIFF image data'], + [0, 'long', '=', 1123028772, 'Artisan image data'], + [0, 'string', '=', b'#FIG', 'FIG image text'], + [0, 'string', '=', b'ARF_BEGARF', 'PHIGS clear text archive'], + [0, 'string', '=', b'@(#)SunPHIGS', 'SunPHIGS'], + [0, 'string', '=', b'GKSM', 'GKS Metafile'], + [0, 'string', '=', b'BEGMF', 'clear text Computer Graphics Metafile'], + [0, 'beshort&0xffe0', '=', 32, 'binary Computer Graphics Metafile'], + [0, 'beshort', '=', 12320, 'character Computer Graphics Metafile'], + [0, 'string', '=', b'yz', 'MGR bitmap, modern format, 8-bit aligned'], + [0, 'string', '=', b'zz','MGR bitmap, old format, 1-bit deep, 16-bit aligned'], + [0, 'string', '=', b'xz','MGR bitmap, old format, 1-bit deep, 32-bit aligned'], + [0, 'string', '=', b'yx', 'MGR bitmap, modern format, squeezed'], + [0, 'string', '=', b'%bitmap\000', 'FBM image data'], + [1, 'string', '=', 'PC Research, Inc', 'group 3 fax data'], + [0, 'string', '=', b'hplip_g3', 'application/hplip-fax'], + [0, 'beshort', '=', 65496, 'image/jpeg'], + [0, 'string', '=', b'hsi1', 'image/x-jpeg-proprietary'], + [0, 'string', '=', b'BM', 'image/x-bmp'], + [0, 'string', '=', b'IC', 'image/x-ico'], + [0, 'string', '=', b'PI', 'PC pointer image data'], + [0, 'string', '=', b'CI', 'PC color icon data'], + [0, 'string', '=', b'CP', 'PC color pointer image data'], + [0, 'string', '=', b'/* XPM */', 'image/x-xpixmap'], + [0, 'leshort', '=', 52306, 'RLE image data,'], + [0, 'string', '=', b'Imagefile version-', 'iff image data'], + [0, 'belong', '=', 1504078485, 'image/x-sun-raster'], + [0, 'beshort', '=', 474, 'x/x-image-sgi'], + [0, 'string', '=', b'IT01', 'FIT image data'], + [0, 'string', '=', b'IT02', 'FIT image data'], + [2048, 'string', '=', 'PCD_IPI', 'x/x-photo-cd-pack-file'], + [0, 'string', '=', b'PCD_OPA', 'x/x-photo-cd-overfiew-file'], + [0, 'string', '=', b'SIMPLE =', 'FITS image data'], + [0, 'string', '=', b'This is a BitMap file', 'Lisp Machine bit-array-file'], + [0, 'string', '=', b'!!', 'Bennet Yee\'s "face" format'], + [0, 'beshort', '=', 4112, 'PEX Binary Archive'], + [3000, 'string', '=', b'Visio (TM) Drawing', '%s'], + [0, 'leshort', '=', 502, 'basic-16 executable'], + [0, 'leshort', '=', 503, 'basic-16 executable (TV)'], + [0, 'leshort', '=', 510, 'application/x-executable-file'], + [0, 'leshort', '=', 511, 'application/x-executable-file'], + [0, 'leshort', '=', 512, 'application/x-executable-file'], + [0, 'leshort', '=', 522, 'application/x-executable-file'], + [0, 'leshort', '=', 514, 'application/x-executable-file'], + [0, 'string', '=', b'\210OPS', 'Interleaf saved data'], + [0, 'string', '=', b'', 'Compiled SGML rules file'], + [0, 'string', '=', b'', 'A/E SGML Document binary'], + [0, 'string', '=', b'', 'A/E SGML binary styles file'], + [0, 'short', '=', 49374, 'Compiled PSI (v1) data'], + [0, 'short', '=', 49370, 'Compiled PSI (v2) data'], + [0, 'short', '=', 125252, 'SoftQuad DESC or font file binary'], + [0, 'string', '=', b'SQ BITMAP1', 'SoftQuad Raster Format text'], + [0, 'string', '=', b'X SoftQuad', 'troff Context intermediate'], + [0, 'belong&077777777', '=', 600413, 'sparc demand paged'], + [0, 'belong&077777777', '=', 600410, 'sparc pure'], + [0, 'belong&077777777', '=', 600407, 'sparc'], + [0, 'belong&077777777', '=', 400413, 'mc68020 demand paged'], + [0, 'belong&077777777', '=', 400410, 'mc68020 pure'], + [0, 'belong&077777777', '=', 400407, 'mc68020'], + [0, 'belong&077777777', '=', 200413, 'mc68010 demand paged'], + [0, 'belong&077777777', '=', 200410, 'mc68010 pure'], + [0, 'belong&077777777', '=', 200407, 'mc68010'], + [0, 'belong', '=', 407, 'old sun-2 executable'], + [0, 'belong', '=', 410, 'old sun-2 pure executable'], + [0, 'belong', '=', 413, 'old sun-2 demand paged executable'], + [0, 'belong', '=', 525398, 'SunOS core file'], + [0, 'long', '=', 4197695630, 'SunPC 4.0 Hard Disk'], + [0, 'string', '=', b'#SUNPC_CONFIG', 'SunPC 4.0 Properties Values'], + [0, 'string', '=', b'snoop', 'Snoop capture file'], + [36, 'string', '=', 'acsp', 'Kodak Color Management System, ICC Profile'], + [0, 'string', '=', b'#!teapot\012xdr', 'teapot work sheet (XDR format)'], + [0, 'string', '=', b'\032\001', 'Compiled terminfo entry'], + [0, 'short', '=', 433, 'Curses screen image'], + [0, 'short', '=', 434, 'Curses screen image'], + [0, 'string', '=', b'\367\002', 'TeX DVI file'], + [0, 'string', '=', b'\367\203', 'font/x-tex'], + [0, 'string', '=', b'\367Y', 'font/x-tex'], + [0, 'string', '=', b'\367\312', 'font/x-tex'], + [0, 'string', '=', b'This is TeX,', 'TeX transcript text'], + [0, 'string', '=', b'This is METAFONT,', 'METAFONT transcript text'], + [2, 'string', '=', '\000\021', 'font/x-tex-tfm'], + [2, 'string', '=', '\000\022', 'font/x-tex-tfm'], + [0, 'string', '=', b'\\\\input\\', 'texinfo Texinfo source text'], + [0, 'string', '=', b'This is Info file', 'GNU Info text'], + [0, 'string', '=', b'\\\\input', 'TeX document text'], + [0, 'string', '=', b'\\\\section', 'LaTeX document text'], + [0, 'string', '=', b'\\\\setlength', 'LaTeX document text'], + [0, 'string', '=', b'\\\\documentstyle', 'LaTeX document text'], + [0, 'string', '=', b'\\\\chapter', 'LaTeX document text'], + [0, 'string', '=', b'\\\\documentclass', 'LaTeX 2e document text'], + [0, 'string', '=', b'\\\\relax', 'LaTeX auxiliary file'], + [0, 'string', '=', b'\\\\contentsline', 'LaTeX table of contents'], + [0, 'string', '=', b'\\\\indexentry', 'LaTeX raw index file'], + [0, 'string', '=', b'\\\\begin{theindex}', 'LaTeX sorted index'], + [0, 'string', '=', b'\\\\glossaryentry', 'LaTeX raw glossary'], + [0, 'string', '=', b'\\\\begin{theglossary}', 'LaTeX sorted glossary'], + [0, 'string', '=', b'This is makeindex', 'Makeindex log file'], + [0, 'string', '=', b'**TI82**', 'TI-82 Graphing Calculator'], + [0, 'string', '=', b'**TI83**', 'TI-83 Graphing Calculator'], + [0, 'string', '=', b'**TI85**', 'TI-85 Graphing Calculator'], + [0, 'string', '=', b'**TI92**', 'TI-92 Graphing Calculator'], + [0, 'string', '=', b'**TI80**', 'TI-80 Graphing Calculator File.'], + [0, 'string', '=', b'**TI81**', 'TI-81 Graphing Calculator File.'], + [0, 'string', '=', b'TZif', 'timezone data'], + [0, 'string', '=', b'\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000', 'old timezone data'], + [0, 'string', '=', '\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000', 'old timezone data'], - [0L, 'string', '=', + [0, 'string', '=', '\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000', 'old timezone data'], - [0L, 'string', '=', + [0, 'string', '=', '\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000', 'old timezone data'], - [0L, 'string', '=', + [0, 'string', '=', '\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\000', 'old timezone data'], - [0L, 'string', '=', + [0, 'string', '=', '\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000', 'old timezone data'], - [0L, 'string', '=', '.\\\\"', 'troff or preprocessor input text'], - [0L, 'string', '=', '\'\\\\"', 'troff or preprocessor input text'], - [0L, 'string', '=', '\'.\\\\"', 'troff or preprocessor input text'], - [0L, 'string', '=', '\\\\"', 'troff or preprocessor input text'], - [0L, 'string', '=', 'x T', 'ditroff text'], - [0L, 'string', '=', '@\357', 'very old (C/A/T) troff output data'], - [0L, 'string', '=', 'Interpress/Xerox', 'Xerox InterPress data'], - [0L, 'short', '=', 263L, 'unknown machine executable'], - [0L, 'short', '=', 264L, 'unknown pure executable'], - [0L, 'short', '=', 265L, 'PDP-11 separate I&D'], - [0L, 'short', '=', 267L, 'unknown pure executable'], - [0L, 'long', '=', 268L, 'unknown demand paged pure executable'], - [0L, 'long', '=', 269L, 'unknown demand paged pure executable'], - [0L, 'long', '=', 270L, 'unknown readable demand paged pure executable'], - [0L, 'string', '=', 'begin uuencoded', 'or xxencoded text'], - [0L, 'string', '=', 'xbtoa Begin', "btoa'd text"], - [0L, 'string', '=', '$\012ship', "ship'd binary text"], - [0L, 'string', '=', 'Decode the following with bdeco', 'bencoded News text'], - [11L, 'string', '=', 'must be converted with BinHex', 'BinHex binary text'], - [0L, 'short', '=', 610L, 'Perkin-Elmer executable'], - [0L, 'beshort', '=', 572L, 'amd 29k coff noprebar executable'], - [0L, 'beshort', '=', 1572L, 'amd 29k coff prebar executable'], - [0L, 'beshort', '=', 160007L, 'amd 29k coff archive'], - [6L, 'beshort', '=', 407L, 'unicos (cray) executable'], - [596L, 'string', '=', 'X\337\377\377', 'Ultrix core file'], - [0L, 'string', '=', 'Joy!peffpwpc', 'header for PowerPC PEF executable'], - [0L, 'lelong', '=', 101557L, 'VAX single precision APL workspace'], - [0L, 'lelong', '=', 101556L, 'VAX double precision APL workspace'], - [0L, 'lelong', '=', 407L, 'VAX executable'], - [0L, 'lelong', '=', 410L, 'VAX pure executable'], - [0L, 'lelong', '=', 413L, 'VAX demand paged pure executable'], - [0L, 'leshort', '=', 570L, 'VAX COFF executable'], - [0L, 'leshort', '=', 575L, 'VAX COFF pure executable'], - [0L, 'string', '=', 'LBLSIZE=', 'VICAR image data'], - [43L, 'string', '=', 'SFDU_LABEL', 'VICAR label file'], - [0L, 'short', '=', 21845L, 'VISX image file'], - [0L, 'string', '=', '\260\0000\000', 'VMS VAX executable'], - [0L, 'belong', '=', 50331648L, 'VMS Alpha executable'], - [1L, 'string', '=', 'WPC', '(Corel/WP)'], - [0L, 'string', '=', 'core', 'core file (Xenix)'], - [0L, 'byte', '=', 128L, '8086 relocatable (Microsoft)'], - [0L, 'leshort', '=', 65381L, 'x.out'], - [0L, 'leshort', '=', 518L, 'Microsoft a.out'], - [0L, 'leshort', '=', 320L, 'old Microsoft 8086 x.out'], - [0L, 'lelong', '=', 518L, 'b.out'], - [0L, 'leshort', '=', 1408L, 'XENIX 8086 relocatable or 80286 small model'], - [0L, 'long', '=', 59399L, 'object file (z8000 a.out)'], - [0L, 'long', '=', 59400L, 'pure object file (z8000 a.out)'], - [0L, 'long', '=', 59401L, 'separate object file (z8000 a.out)'], - [0L, 'long', '=', 59397L, 'overlay object file (z8000 a.out)'], - [0L, 'string', '=', 'ZyXEL\002', 'ZyXEL voice data'], + [0, 'string', '=', b'.\\\\"', 'troff or preprocessor input text'], + [0, 'string', '=', b'\'\\\\"', 'troff or preprocessor input text'], + [0, 'string', '=', b'\'.\\\\"', 'troff or preprocessor input text'], + [0, 'string', '=', b'\\\\"', 'troff or preprocessor input text'], + [0, 'string', '=', b'x T', 'ditroff text'], + [0, 'string', '=', b'@\357', 'very old (C/A/T) troff output data'], + [0, 'string', '=', b'Interpress/Xerox', 'Xerox InterPress data'], + [0, 'short', '=', 263, 'unknown machine executable'], + [0, 'short', '=', 264, 'unknown pure executable'], + [0, 'short', '=', 265, 'PDP-11 separate I&D'], + [0, 'short', '=', 267, 'unknown pure executable'], + [0, 'long', '=', 268, 'unknown demand paged pure executable'], + [0, 'long', '=', 269, 'unknown demand paged pure executable'], + [0, 'long', '=', 270, 'unknown readable demand paged pure executable'], + [0, 'string', '=', b'begin uuencoded', 'or xxencoded text'], + [0, 'string', '=', b'xbtoa Begin', "btoa'd text"], + [0, 'string', '=', b'$\012ship', "ship'd binary text"], + [0, 'string', '=', b'Decode the following with bdeco', 'bencoded News text'], + [11, 'string', '=', 'must be converted with BinHex', 'BinHex binary text'], + [0, 'short', '=', 610, 'Perkin-Elmer executable'], + [0, 'beshort', '=', 572, 'amd 29k coff noprebar executable'], + [0, 'beshort', '=', 1572, 'amd 29k coff prebar executable'], + [0, 'beshort', '=', 160007, 'amd 29k coff archive'], + [6, 'beshort', '=', 407, 'unicos (cray) executable'], + [596, 'string', '=', 'X\337\377\377', 'Ultrix core file'], + [0, 'string', '=', b'Joy!peffpwpc', 'header for PowerPC PEF executable'], + [0, 'lelong', '=', 101557, 'VAX single precision APL workspace'], + [0, 'lelong', '=', 101556, 'VAX double precision APL workspace'], + [0, 'lelong', '=', 407, 'VAX executable'], + [0, 'lelong', '=', 410, 'VAX pure executable'], + [0, 'lelong', '=', 413, 'VAX demand paged pure executable'], + [0, 'leshort', '=', 570, 'VAX COFF executable'], + [0, 'leshort', '=', 575, 'VAX COFF pure executable'], + [0, 'string', '=', b'LBLSIZE=', 'VICAR image data'], + [43, 'string', '=', 'SFDU_LABEL', 'VICAR label file'], + [0, 'short', '=', 21845, 'VISX image file'], + [0, 'string', '=', b'\260\0000\000', 'VMS VAX executable'], + [0, 'belong', '=', 50331648, 'VMS Alpha executable'], + [1, 'string', '=', 'WPC', '(Corel/WP)'], + [0, 'string', '=', b'core', 'core file (Xenix)'], + [0, 'byte', '=', 128, '8086 relocatable (Microsoft)'], + [0, 'leshort', '=', 65381, 'x.out'], + [0, 'leshort', '=', 518, 'Microsoft a.out'], + [0, 'leshort', '=', 320, 'old Microsoft 8086 x.out'], + [0, 'lelong', '=', 518, 'b.out'], + [0, 'leshort', '=', 1408, 'XENIX 8086 relocatable or 80286 small model'], + [0, 'long', '=', 59399, 'object file (z8000 a.out)'], + [0, 'long', '=', 59400, 'pure object file (z8000 a.out)'], + [0, 'long', '=', 59401, 'separate object file (z8000 a.out)'], + [0, 'long', '=', 59397, 'overlay object file (z8000 a.out)'], + [0, 'string', '=', b'ZyXEL\002', 'ZyXEL voice data'], ] magicNumbers = [] @@ -1002,7 +1002,7 @@ else: self.offset = offset - self.type = t + self.type = t self.msg = msg self.subTests = [] self.op = op @@ -1022,14 +1022,15 @@ def compare(self, data): try: if self.type == 'string': - (c, s) = ('', '') + + (c, s) = (b'', b'') for i in range(0, len(self.value) + 1): if i + self.offset > len(data) - 1: break s = s + c - [c, ] = struct.unpack('c', data[self.offset + i]) - + [c, ] = struct.unpack('c', data[self.offset + i:self.offset + i+1]) + data = s elif self.type == 'short': @@ -1040,22 +1041,22 @@ elif self.type == 'beshort': [data, ] = struct.unpack('>H', data[self.offset:self.offset + 2]) - + elif self.type == 'long': [data, ] = struct.unpack('l', data[self.offset:self.offset + 4]) - + elif self.type == 'lelong': [data, ] = struct.unpack('l', data[self.offset:self.offset + 4]) - + else: pass except: return None - + return self.test(data) @@ -1233,15 +1234,20 @@ # no matching, magic number. is it binary or text? for c in data: #if ord(c) > 128: - if ord(c) == 0: + if type(c) is int: + c1 = c + else: + c1 = ord(c) + + if c1 == 0: return 'data' # its ASCII, now do C/CPP tests - if data.find('#include', 0, 256) > -1 or data.find('/***', 0, 256) > -1: + if data.find(b'#include', 0, 256) > -1 or data.find(b'/***', 0, 256) > -1: return 'text/cpp' # its ASCII, now do text tests - if data.find('!/usr/bin/env python', 0, 256) > -1 or data.find('def ', 0, 8192) > -1: + if data.find(b'!/usr/bin/env python', 0, 256) > -1 or data.find(b'def ', 0, 8192) > -1: return 'application/x-python' return "text/plain" @@ -1252,7 +1258,7 @@ if os.path.isdir(f): return "directory" - return whatis(open(f, 'r').read(8192)) + return whatis(open(f, 'rb').read(8192)) else: return '' diff -Nru hplip-3.14.6/base/maint.py hplip-3.15.2/base/maint.py --- hplip-3.14.6/base/maint.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/maint.py 2015-01-29 12:20:35.000000000 +0000 @@ -22,18 +22,18 @@ # NOTE: Not used by Qt4 code. Use maint_*.py modules instead. # Local -from g import * -from codes import * -import status, pml +from .g import * +from .codes import * +from . import status, pml from prnt import pcl, ldl, colorcal import time -import cStringIO +from .sixext import to_bytes_utf8, StringIO # ************************* LEDM Clean**************************************** # -CleanXML = """ - - - %s +CleanXML = """ + + + %s \" """ @@ -648,40 +648,40 @@ dev.close() return 0 - if "ParmsRequested" in data: + if to_bytes_utf8("ParmsRequested") in data: log.error("Restart device and start alignment") dev.close() return 1 - if "404 Not Found" in data: + if to_bytes_utf8("404 Not Found") in data: log.error("Device may not support Alignment") dev.close() return 1 - if "Printing<" in data: + if to_bytes_utf8("Printing<") in data: log.warn("Previous alignment job not completed") dev.close() return 1 data = status.StatusType10FetchUrl(func, "/DevMgmt/ConsumableConfigDyn.xml") - if "AlignmentMode" not in data: + if to_bytes_utf8("AlignmentMode") not in data: log.error("Device may not support Alignment") dev.close() return 1 - if "automatic" in data: + if to_bytes_utf8("automatic") in data: log.debug("Device supports automatic calibration") status.StatusType10FetchUrl(func, "/Calibration/Session", "Printing") dev.close() return 0 - if "semiAutomatic" in data: + if to_bytes_utf8("semiAutomatic") in data: log.debug("Device supports semiAutomatic calibration") status.StatusType10FetchUrl(func, "/Calibration/Session", "Printing") dev.close() return ui2() - if "manual" in data: + if to_bytes_utf8("manual") in data: log.debug("Device supports manual calibration") data = status.StatusType10FetchUrl(func, "/Calibration/Session", "Printing") import string @@ -1327,7 +1327,6 @@ else: state = 6 - elif state == 6: # Load plain paper state = -1 ok = loadpaper_ui() @@ -1422,14 +1421,14 @@ def setCleanType(name): try: - xml = CleanXML %(name.encode('utf-8')) + xml = CleanXML %(name) except(UnicodeEncodeError, UnicodeDecodeError): log.error("Unicode Error") return xml def getCleanLedmCapacity(dev): - data_fp = cStringIO.StringIO() + data_fp = StringIO() status_type = dev.mq.get('status-type', STATUS_TYPE_NONE) if status_type == STATUS_TYPE_LEDM: @@ -1442,7 +1441,7 @@ data = func(LEDM_CLEAN_CAP_XML, data_fp) if data: - data = data.split('\r\n\r\n', 1)[1] + data = data.split(b'\r\n\r\n', 1)[1] if data: data = status.ExtractXMLData(data) return data @@ -1487,7 +1486,7 @@ else: log.error("Not an LEDM status-type: %d" % status_type) - print "Performing level %d cleaning...." % level + print("Performing level %d cleaning...." % level) while state != -1: status_block = status.StatusType10Status(func) @@ -1717,7 +1716,7 @@ def colorCalType3Phase2(dev, A, B): photo_adj = colorcal.PHOTO_ALIGN_TABLE[A-1][B-1] color_adj = colorcal.COLOR_ALIGN_TABLE[A-1][B-1] - adj_value = (color_adj << 8L) + photo_adj + adj_value = (color_adj << 8) + photo_adj dev.writeEmbeddedPML(pml.OID_COLOR_CALIBRATION_SELECTION, adj_value) dev.closePrint() diff -Nru hplip-3.14.6/base/mdns.py hplip-3.15.2/base/mdns.py --- hplip-3.14.6/base/mdns.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/mdns.py 2015-01-29 12:20:35.000000000 +0000 @@ -29,11 +29,11 @@ import struct import random import re -import cStringIO # Local -from g import * -import utils +from .g import * +from . import utils +from .sixext import BytesIO, to_bytes_utf8, to_bytes_latin, to_string_latin MAX_ANSWERS_PER_PACKET = 24 @@ -45,16 +45,16 @@ QCLASS_IN = 1 - +# Caller needs to ensure, data should be in string format. def read_utf8(offset, data, l): - return offset+l, data[offset:offset+l].decode('utf-8') + return offset+l, data[offset:offset+l] def read_data(offset, data, l): return offset+l, data[offset:offset+l] def read_data_unpack(offset, data, fmt): l = struct.calcsize(fmt) - return offset+l, struct.unpack(fmt, data[offset:offset+l]) + return offset+l, struct.unpack(fmt, to_bytes_latin(data[offset:offset+l])) def read_name(offset, data): result = '' @@ -63,7 +63,7 @@ first = off while True: - l = ord(data[off]) + l = ord(data[off:off+1]) off += 1 if l == 0: @@ -79,7 +79,7 @@ if next < 0: next = off + 1 - off = ((l & 0x3F) << 8) | ord(data[off]) + off = ((l & 0x3F) << 8) | ord(data[off:off+1]) if off >= first: log.error("Bad domain name (circular) at 0x%04x" % off) @@ -112,8 +112,8 @@ num_questions = 1 first_packet = True packets = [] - packet = cStringIO.StringIO() - answer_record = cStringIO.StringIO() + packet = BytesIO() + answer_record = BytesIO() while True: packet.seek(0) @@ -184,13 +184,8 @@ return packets - - -def detectNetworkDevices(ttl=4, timeout=10): - mcast_addr, mcast_port ='224.0.0.251', 5353 - found_devices = {} - answers = [] - +def createSocketsWithsetOption(ttl=4): + s=None try: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) x = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) @@ -202,7 +197,9 @@ ttl = struct.pack('B', ttl) except socket.error: log.error("Network error") - return {} + if s: + s.close() + return None try: s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) @@ -214,8 +211,102 @@ s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_TTL, ttl) s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_IF, socket.inet_aton(intf) + socket.inet_aton('0.0.0.0')) s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_LOOP ,1) - except Exception, e: + except Exception as e: log.error("Unable to setup multicast socket for mDNS: %s" % e) + if s: + s.close() + return None + return s + +def updateReceivedData(data, answers): + update_spinner() + y = {'num_devices' : 1, 'num_ports': 1, 'product_id' : '', 'mac': '', + 'status_code': 0, 'device2': '0', 'device3': '0', 'note': ''} + + log.debug("Incoming: (%d)" % len(data)) + log.log_data(data, width=16) + + offset = 0 + offset, (id, flags, num_questions, num_answers, num_authorities, num_additionals) = \ + read_data_unpack(offset, data, "!HHHHHH") + + log.debug("Response: ID=%d FLAGS=0x%x Q=%d A=%d AUTH=%d ADD=%d" % + (id, flags, num_questions, num_answers, num_authorities, num_additionals)) + + for question in range(num_questions): + update_spinner() + offset, name = read_name(offset, data) + offset, (typ, cls) = read_data_unpack(offset, data, "!HH") + log.debug("Q: %s TYPE=%d CLASS=%d" % (name, typ, cls)) + + fmt = '!HHiH' + for record in range(num_answers + num_authorities + num_additionals): + update_spinner() + offset, name = read_name(offset, data) + offset, info = read_data_unpack(offset, data, "!HHiH") + + if info[0] == QTYPE_A: # ipv4 address + offset, result = read_data(offset, data, 4) + ip = '.'.join([str(ord(x)) for x in result]) + log.debug("A: %s" % ip) + y['ip'] = ip + + elif info[0] == QTYPE_PTR: # PTR + offset, name = read_name(offset, data) + log.debug("PTR: %s" % name) + y['mdns'] = name + answers.append(name.replace("._pdl-datastream._tcp.local.", "")) + + elif info[0] == QTYPE_TXT: + offset, name = read_data(offset, data, info[3]) + txt, off = {}, 0 + + while off < len(name): + l = ord(name[off:off+1]) + off += 1 + result = name[off:off+l] + + try: + key, value = result.split('=') + txt[key] = value + except ValueError: + pass + + off += l + + log.debug("TXT: %s" % repr(txt)) + try: + y['device1'] = "MFG:Hewlett-Packard;MDL:%s;CLS:PRINTER;" % txt['ty'] + except KeyError: + log.debug("NO ty Key in txt: %s" % repr(txt)) + + if 'note' in txt: + y['note'] = txt['note'] + + elif info[0] == QTYPE_SRV: + offset, (priority, weight, port) = read_data_unpack(offset, data, "!HHH") + #ttl = info[3] + offset, server = read_name(offset, data) + #log.debug("SRV: %s TTL=%d PRI=%d WT=%d PORT=%d" % (server, ttl, priority, weight, port)) + y['hn'] = server.replace('.local.', '') + + elif info[0] == QTYPE_AAAA: # ipv6 address + offset, result = read_data(offset, data, 16) + log.debug("AAAA: %s" % repr(result)) + + else: + log.error("Unknown DNS record type (%d)." % info[0]) + break + return y, answers + + +def detectNetworkDevices(ttl=4, timeout=10): + mcast_addr, mcast_port ='224.0.0.251', 5353 + found_devices = {} + answers = [] + + s = createSocketsWithsetOption(ttl) + if not s: return {} now = time.time() @@ -236,7 +327,7 @@ log.log_data(p, width=16) s.sendto(p, 0, (mcast_addr, mcast_port)) - except socket.error, e: + except socket.error as e: log.error("Unable to send broadcast DNS packet: %s" % e) next += delay @@ -250,91 +341,13 @@ continue data, addr = s.recvfrom(16384) - + data = to_string_latin(data) if data: - update_spinner() - y = {'num_devices' : 1, 'num_ports': 1, 'product_id' : '', 'mac': '', - 'status_code': 0, 'device2': '0', 'device3': '0', 'note': ''} - - log.debug("Incoming: (%d)" % len(data)) - log.log_data(data, width=16) - - offset = 0 - offset, (id, flags, num_questions, num_answers, num_authorities, num_additionals) = \ - read_data_unpack(offset, data, "!HHHHHH") - - log.debug("Response: ID=%d FLAGS=0x%x Q=%d A=%d AUTH=%d ADD=%d" % - (id, flags, num_questions, num_answers, num_authorities, num_additionals)) - - for question in range(num_questions): - update_spinner() - offset, name = read_name(offset, data) - offset, (typ, cls) = read_data_unpack(offset, data, "!HH") - log.debug("Q: %s TYPE=%d CLASS=%d" % (name, typ, cls)) - - fmt = '!HHiH' - for record in range(num_answers + num_authorities + num_additionals): - update_spinner() - offset, name = read_name(offset, data) - offset, info = read_data_unpack(offset, data, "!HHiH") - - if info[0] == QTYPE_A: # ipv4 address - offset, result = read_data(offset, data, 4) - ip = '.'.join([str(ord(x)) for x in result]) - log.debug("A: %s" % ip) - y['ip'] = ip - - elif info[0] == QTYPE_PTR: # PTR - offset, name = read_name(offset, data) - log.debug("PTR: %s" % name) - y['mdns'] = name - answers.append(name.replace("._pdl-datastream._tcp.local.", "")) - - elif info[0] == QTYPE_TXT: - offset, name = read_data(offset, data, info[3]) - txt, off = {}, 0 - - while off < len(name): - l = ord(name[off]) - off += 1 - result = name[off:off+l] - - try: - key, value = result.split('=') - txt[key] = value - except ValueError: - pass - - off += l - - log.debug("TXT: %s" % repr(txt)) - try: - y['device1'] = "MFG:Hewlett-Packard;MDL:%s;CLS:PRINTER;" % txt['ty'] - except KeyError: - log.debug("NO ty Key in txt: %s" % repr(txt)) - - if 'note' in txt: - y['note'] = txt['note'] - - elif info[0] == QTYPE_SRV: - offset, (priority, weight, port) = read_data_unpack(offset, data, "!HHH") - ttl = info[3] - offset, server = read_name(offset, data) - log.debug("SRV: %s TTL=%d PRI=%d WT=%d PORT=%d" % (server, ttl, priority, weight, port)) - y['hn'] = server.replace('.local.', '') - - elif info[0] == QTYPE_AAAA: # ipv6 address - offset, result = read_data(offset, data, 16) - log.debug("AAAA: %s" % repr(result)) - - else: - log.error("Unknown DNS record type (%d)." % info[0]) - break - - found_devices[y['ip']] = y + y, answers = updateReceivedData(data, answers) + found_devices[y['ip']] = y log.debug("Found %d devices" % len(found_devices)) - + s.close() return found_devices diff -Nru hplip-3.14.6/base/mfpdtf.py hplip-3.15.2/base/mfpdtf.py --- hplip-3.14.6/base/mfpdtf.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/mfpdtf.py 2015-01-29 12:20:35.000000000 +0000 @@ -21,11 +21,11 @@ # Std Lib import struct -import cStringIO +import io # Local -from g import * -from codes import * +from .g import * +from .codes import * # Page flags NEW_PAGE = 0x01 @@ -151,7 +151,7 @@ def readChannelToStream(device, channel_id, stream, single_read=True, callback=None): - STATE_END, STATE_FIXED_HEADER, STATE_VARIANT_HEADER, STATE_RECORD = range(4) + STATE_END, STATE_FIXED_HEADER, STATE_VARIANT_HEADER, STATE_RECORD = list(range(4)) state, total_bytes, block_remaining, header_remaining, data_remaining = 1, 0, 0, 0, 0 endScan = False while state != STATE_END: @@ -308,7 +308,7 @@ # [Variant header - dial, fax, or scan] # Data Record - block = cStringIO.StringIO() + block = io.StringIO() block.write(struct.pack(" + PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY + PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE + COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +''' + +try: + import os + import sys + import time + import select + import re + import struct + import resource + import types + import pty + import tty + import termios + import fcntl + import errno + import traceback + import signal + import codecs +except ImportError: # pragma: no cover + err = sys.exc_info()[1] + raise ImportError(str(err) + ''' + +A critical module was not found. Probably this operating system does not +support it. Pexpect is intended for UNIX-like operating systems.''') + +__version__ = '3.1' +__revision__ = '' +__all__ = ['ExceptionPexpect', 'EOF', 'TIMEOUT', 'spawn', 'spawnu', 'run', 'runu', + 'which', 'split_command_line', '__version__', '__revision__'] + +PY3 = (sys.version_info[0] >= 3) + +# Exception classes used by this module. +class ExceptionPexpect(Exception): + '''Base class for all exceptions raised by this module. + ''' + + def __init__(self, value): + super(ExceptionPexpect, self).__init__(value) + self.value = value + + def __str__(self): + return str(self.value) + + def get_trace(self): + '''This returns an abbreviated stack trace with lines that only concern + the caller. In other words, the stack trace inside the Pexpect module + is not included. ''' + + tblist = traceback.extract_tb(sys.exc_info()[2]) + tblist = [item for item in tblist if 'pexpect/__init__' not in item[0]] + tblist = traceback.format_list(tblist) + return ''.join(tblist) + + +class EOF(ExceptionPexpect): + '''Raised when EOF is read from a child. + This usually means the child has exited.''' + + +class TIMEOUT(ExceptionPexpect): + '''Raised when a read time exceeds the timeout. ''' + +##class TIMEOUT_PATTERN(TIMEOUT): +## '''Raised when the pattern match time exceeds the timeout. +## This is different than a read TIMEOUT because the child process may +## give output, thus never give a TIMEOUT, but the output +## may never match a pattern. +## ''' +##class MAXBUFFER(ExceptionPexpect): +## '''Raised when a buffer fills before matching an expected pattern.''' + + +def run(command, timeout=-1, withexitstatus=False, events=None, + extra_args=None, logfile=None, cwd=None, env=None): + + ''' + This function runs the given command; waits for it to finish; then + returns all output as a string. STDERR is included in output. If the full + path to the command is not given then the path is searched. + + Note that lines are terminated by CR/LF (\\r\\n) combination even on + UNIX-like systems because this is the standard for pseudottys. If you set + 'withexitstatus' to true, then run will return a tuple of (command_output, + exitstatus). If 'withexitstatus' is false then this returns just + command_output. + + The run() function can often be used instead of creating a spawn instance. + For example, the following code uses spawn:: + + from pexpect import * + child = spawn('scp foo user@example.com:.') + child.expect('(?i)password') + child.sendline(mypassword) + + The previous code can be replace with the following:: + + from pexpect import * + run('scp foo user@example.com:.', events={'(?i)password': mypassword}) + + **Examples** + + Start the apache daemon on the local machine:: + + from pexpect import * + run("/usr/local/apache/bin/apachectl start") + + Check in a file using SVN:: + + from pexpect import * + run("svn ci -m 'automatic commit' my_file.py") + + Run a command and capture exit status:: + + from pexpect import * + (command_output, exitstatus) = run('ls -l /bin', withexitstatus=1) + + The following will run SSH and execute 'ls -l' on the remote machine. The + password 'secret' will be sent if the '(?i)password' pattern is ever seen:: + + run("ssh username@machine.example.com 'ls -l'", + events={'(?i)password':'secret\\n'}) + + This will start mencoder to rip a video from DVD. This will also display + progress ticks every 5 seconds as it runs. For example:: + + from pexpect import * + def print_ticks(d): + print d['event_count'], + run("mencoder dvd://1 -o video.avi -oac copy -ovc copy", + events={TIMEOUT:print_ticks}, timeout=5) + + The 'events' argument should be a dictionary of patterns and responses. + Whenever one of the patterns is seen in the command out run() will send the + associated response string. Note that you should put newlines in your + string if Enter is necessary. The responses may also contain callback + functions. Any callback is function that takes a dictionary as an argument. + The dictionary contains all the locals from the run() function, so you can + access the child spawn object or any other variable defined in run() + (event_count, child, and extra_args are the most useful). A callback may + return True to stop the current run process otherwise run() continues until + the next event. A callback may also return a string which will be sent to + the child. 'extra_args' is not used by directly run(). It provides a way to + pass data to a callback function through run() through the locals + dictionary passed to a callback. + ''' + return _run(command, timeout=timeout, withexitstatus=withexitstatus, + events=events, extra_args=extra_args, logfile=logfile, cwd=cwd, + env=env, _spawn=spawn) + +def runu(command, timeout=-1, withexitstatus=False, events=None, + extra_args=None, logfile=None, cwd=None, env=None, **kwargs): + """This offers the same interface as :func:`run`, but using unicode. + + Like :class:`spawnu`, you can pass ``encoding`` and ``errors`` parameters, + which will be used for both input and output. + """ + return _run(command, timeout=timeout, withexitstatus=withexitstatus, + events=events, extra_args=extra_args, logfile=logfile, cwd=cwd, + env=env, _spawn=spawnu, **kwargs) + +def _run(command, timeout, withexitstatus, events, extra_args, logfile, cwd, + env, _spawn, **kwargs): + if timeout == -1: + child = _spawn(command, maxread=2000, logfile=logfile, cwd=cwd, env=env, + **kwargs) + else: + child = _spawn(command, timeout=timeout, maxread=2000, logfile=logfile, + cwd=cwd, env=env, **kwargs) + if events is not None: + patterns = list(events.keys()) + responses = list(events.values()) + else: + # This assumes EOF or TIMEOUT will eventually cause run to terminate. + patterns = None + responses = None + child_result_list = [] + event_count = 0 + while True: + try: + index = child.expect(patterns) + if isinstance(child.after, child.allowed_string_types): + child_result_list.append(child.before + child.after) + else: + # child.after may have been a TIMEOUT or EOF, + # which we don't want appended to the list. + child_result_list.append(child.before) + if isinstance(responses[index], child.allowed_string_types): + child.send(responses[index]) + elif isinstance(responses[index], types.FunctionType): + callback_result = responses[index](locals()) + sys.stdout.flush() + if isinstance(callback_result, child.allowed_string_types): + child.send(callback_result) + elif callback_result: + break + else: + raise TypeError('The callback must be a string or function.') + event_count = event_count + 1 + except TIMEOUT: + child_result_list.append(child.before) + break + except EOF: + child_result_list.append(child.before) + break + child_result = child.string_type().join(child_result_list) + if withexitstatus: + child.close() + return (child_result, child.exitstatus) + else: + return child_result + +class spawn(object): + '''This is the main class interface for Pexpect. Use this class to start + and control child applications. ''' + string_type = bytes + if PY3: + allowed_string_types = (bytes, str) + @staticmethod + def _chr(c): + return bytes([c]) + linesep = os.linesep.encode('ascii') + + @staticmethod + def write_to_stdout(b): + try: + return sys.stdout.buffer.write(b) + except AttributeError: + # If stdout has been replaced, it may not have .buffer + return sys.stdout.write(b.decode('ascii', 'replace')) + else: + allowed_string_types = (basestring,) # analysis:ignore + _chr = staticmethod(chr) + linesep = os.linesep + write_to_stdout = sys.stdout.write + + encoding = None + + def __init__(self, command, args=[], timeout=30, maxread=2000, + searchwindowsize=None, logfile=None, cwd=None, env=None, + ignore_sighup=True): + + '''This is the constructor. The command parameter may be a string that + includes a command and any arguments to the command. For example:: + + child = pexpect.spawn('/usr/bin/ftp') + child = pexpect.spawn('/usr/bin/ssh user@example.com') + child = pexpect.spawn('ls -latr /tmp') + + You may also construct it with a list of arguments like so:: + + child = pexpect.spawn('/usr/bin/ftp', []) + child = pexpect.spawn('/usr/bin/ssh', ['user@example.com']) + child = pexpect.spawn('ls', ['-latr', '/tmp']) + + After this the child application will be created and will be ready to + talk to. For normal use, see expect() and send() and sendline(). + + Remember that Pexpect does NOT interpret shell meta characters such as + redirect, pipe, or wild cards (``>``, ``|``, or ``*``). This is a + common mistake. If you want to run a command and pipe it through + another command then you must also start a shell. For example:: + + child = pexpect.spawn('/bin/bash -c "ls -l | grep LOG > logs.txt"') + child.expect(pexpect.EOF) + + The second form of spawn (where you pass a list of arguments) is useful + in situations where you wish to spawn a command and pass it its own + argument list. This can make syntax more clear. For example, the + following is equivalent to the previous example:: + + shell_cmd = 'ls -l | grep LOG > logs.txt' + child = pexpect.spawn('/bin/bash', ['-c', shell_cmd]) + child.expect(pexpect.EOF) + + The maxread attribute sets the read buffer size. This is maximum number + of bytes that Pexpect will try to read from a TTY at one time. Setting + the maxread size to 1 will turn off buffering. Setting the maxread + value higher may help performance in cases where large amounts of + output are read back from the child. This feature is useful in + conjunction with searchwindowsize. + + The searchwindowsize attribute sets the how far back in the incoming + seach buffer Pexpect will search for pattern matches. Every time + Pexpect reads some data from the child it will append the data to the + incoming buffer. The default is to search from the beginning of the + incoming buffer each time new data is read from the child. But this is + very inefficient if you are running a command that generates a large + amount of data where you want to match. The searchwindowsize does not + affect the size of the incoming data buffer. You will still have + access to the full buffer after expect() returns. + + The logfile member turns on or off logging. All input and output will + be copied to the given file object. Set logfile to None to stop + logging. This is the default. Set logfile to sys.stdout to echo + everything to standard output. The logfile is flushed after each write. + + Example log input and output to a file:: + + child = pexpect.spawn('some_command') + fout = file('mylog.txt','w') + child.logfile = fout + + Example log to stdout:: + + child = pexpect.spawn('some_command') + child.logfile = sys.stdout + + The logfile_read and logfile_send members can be used to separately log + the input from the child and output sent to the child. Sometimes you + don't want to see everything you write to the child. You only want to + log what the child sends back. For example:: + + child = pexpect.spawn('some_command') + child.logfile_read = sys.stdout + + To separately log output sent to the child use logfile_send:: + + self.logfile_send = fout + + If ``ignore_sighup`` is True, the child process will ignore SIGHUP + signals. For now, the default is True, to preserve the behaviour of + earlier versions of Pexpect, but you should pass this explicitly if you + want to rely on it. + + The delaybeforesend helps overcome a weird behavior that many users + were experiencing. The typical problem was that a user would expect() a + "Password:" prompt and then immediately call sendline() to send the + password. The user would then see that their password was echoed back + to them. Passwords don't normally echo. The problem is caused by the + fact that most applications print out the "Password" prompt and then + turn off stdin echo, but if you send your password before the + application turned off echo, then you get your password echoed. + Normally this wouldn't be a problem when interacting with a human at a + real keyboard. If you introduce a slight delay just before writing then + this seems to clear up the problem. This was such a common problem for + many users that I decided that the default pexpect behavior should be + to sleep just before writing to the child application. 1/20th of a + second (50 ms) seems to be enough to clear up the problem. You can set + delaybeforesend to 0 to return to the old behavior. Most Linux machines + don't like this to be below 0.03. I don't know why. + + Note that spawn is clever about finding commands on your path. + It uses the same logic that "which" uses to find executables. + + If you wish to get the exit status of the child you must call the + close() method. The exit or signal status of the child will be stored + in self.exitstatus or self.signalstatus. If the child exited normally + then exitstatus will store the exit return code and signalstatus will + be None. If the child was terminated abnormally with a signal then + signalstatus will store the signal value and exitstatus will be None. + If you need more detail you can also read the self.status member which + stores the status returned by os.waitpid. You can interpret this using + os.WIFEXITED/os.WEXITSTATUS or os.WIFSIGNALED/os.TERMSIG. ''' + + self.STDIN_FILENO = pty.STDIN_FILENO + self.STDOUT_FILENO = pty.STDOUT_FILENO + self.STDERR_FILENO = pty.STDERR_FILENO + self.stdin = sys.stdin + self.stdout = sys.stdout + self.stderr = sys.stderr + + self.searcher = None + self.ignorecase = False + self.before = None + self.after = None + self.match = None + self.match_index = None + self.terminated = True + self.exitstatus = None + self.signalstatus = None + # status returned by os.waitpid + self.status = None + self.flag_eof = False + self.pid = None + # the chile filedescriptor is initially closed + self.child_fd = -1 + self.timeout = timeout + self.delimiter = EOF + self.logfile = logfile + # input from child (read_nonblocking) + self.logfile_read = None + # output to send (send, sendline) + self.logfile_send = None + # max bytes to read at one time into buffer + self.maxread = maxread + # This is the read buffer. See maxread. + self.buffer = self.string_type() + # Data before searchwindowsize point is preserved, but not searched. + self.searchwindowsize = searchwindowsize + # Delay used before sending data to child. Time in seconds. + # Most Linux machines don't like this to be below 0.03 (30 ms). + self.delaybeforesend = 0.05 + # Used by close() to give kernel time to update process status. + # Time in seconds. + self.delayafterclose = 0.1 + # Used by terminate() to give kernel time to update process status. + # Time in seconds. + self.delayafterterminate = 0.1 + self.softspace = False + self.name = '<' + repr(self) + '>' + self.closed = True + self.cwd = cwd + self.env = env + self.ignore_sighup = ignore_sighup + # This flags if we are running on irix + self.__irix_hack = (sys.platform.lower().find('irix') >= 0) + # Solaris uses internal __fork_pty(). All others use pty.fork(). + if ((sys.platform.lower().find('solaris') >= 0) + or (sys.platform.lower().find('sunos5') >= 0)): + self.use_native_pty_fork = False + else: + self.use_native_pty_fork = True + + # Support subclasses that do not use command or args. + if command is None: + self.command = None + self.args = None + self.name = '' + else: + self._spawn(command, args) + + @staticmethod + def _coerce_expect_string(s): + if not isinstance(s, bytes): + return s.encode('ascii') + return s + + @staticmethod + def _coerce_send_string(s): + if not isinstance(s, bytes): + return s.encode('utf-8') + return s + + @staticmethod + def _coerce_read_string(s): + return s + + def __del__(self): + '''This makes sure that no system resources are left open. Python only + garbage collects Python objects. OS file descriptors are not Python + objects, so they must be handled explicitly. If the child file + descriptor was opened outside of this class (passed to the constructor) + then this does not close it. ''' + + if not self.closed: + # It is possible for __del__ methods to execute during the + # teardown of the Python VM itself. Thus self.close() may + # trigger an exception because os.close may be None. + try: + self.close() + # which exception, shouldnt' we catch explicitly .. ? + except: + pass + + def __str__(self): + '''This returns a human-readable string that represents the state of + the object. ''' + + s = [] + s.append(repr(self)) + s.append('version: ' + __version__) + s.append('command: ' + str(self.command)) + s.append('args: %r' % (self.args,)) + s.append('searcher: %r' % (self.searcher,)) + s.append('buffer (last 100 chars): %r' % (self.buffer)[-100:],) + s.append('before (last 100 chars): %r' % (self.before)[-100:],) + s.append('after: %r' % (self.after,)) + s.append('match: %r' % (self.match,)) + s.append('match_index: ' + str(self.match_index)) + s.append('exitstatus: ' + str(self.exitstatus)) + s.append('flag_eof: ' + str(self.flag_eof)) + s.append('pid: ' + str(self.pid)) + s.append('child_fd: ' + str(self.child_fd)) + s.append('closed: ' + str(self.closed)) + s.append('timeout: ' + str(self.timeout)) + s.append('delimiter: ' + str(self.delimiter)) + s.append('logfile: ' + str(self.logfile)) + s.append('logfile_read: ' + str(self.logfile_read)) + s.append('logfile_send: ' + str(self.logfile_send)) + s.append('maxread: ' + str(self.maxread)) + s.append('ignorecase: ' + str(self.ignorecase)) + s.append('searchwindowsize: ' + str(self.searchwindowsize)) + s.append('delaybeforesend: ' + str(self.delaybeforesend)) + s.append('delayafterclose: ' + str(self.delayafterclose)) + s.append('delayafterterminate: ' + str(self.delayafterterminate)) + return '\n'.join(s) + + def _spawn(self, command, args=[]): + '''This starts the given command in a child process. This does all the + fork/exec type of stuff for a pty. This is called by __init__. If args + is empty then command will be parsed (split on spaces) and args will be + set to parsed arguments. ''' + + # The pid and child_fd of this object get set by this method. + # Note that it is difficult for this method to fail. + # You cannot detect if the child process cannot start. + # So the only way you can tell if the child process started + # or not is to try to read from the file descriptor. If you get + # EOF immediately then it means that the child is already dead. + # That may not necessarily be bad because you may have spawned a child + # that performs some task; creates no stdout output; and then dies. + + # If command is an int type then it may represent a file descriptor. + if isinstance(command, type(0)): + raise ExceptionPexpect('Command is an int type. ' + + 'If this is a file descriptor then maybe you want to ' + + 'use fdpexpect.fdspawn which takes an existing ' + + 'file descriptor instead of a command string.') + + if not isinstance(args, type([])): + raise TypeError('The argument, args, must be a list.') + + if args == []: + self.args = split_command_line(command) + self.command = self.args[0] + else: + # Make a shallow copy of the args list. + self.args = args[:] + self.args.insert(0, command) + self.command = command + + command_with_path = which(self.command) + if command_with_path is None: + raise ExceptionPexpect('The command was not found or was not ' + + 'executable: %s.' % self.command) + self.command = command_with_path + self.args[0] = self.command + + self.name = '<' + ' '.join(self.args) + '>' + + assert self.pid is None, 'The pid member must be None.' + assert self.command is not None, 'The command member must not be None.' + + if self.use_native_pty_fork: + try: + self.pid, self.child_fd = pty.fork() + except OSError: + err = sys.exc_info()[1] + raise ExceptionPexpect('pty.fork() failed: ' + str(err)) + else: + # Use internal __fork_pty + self.pid, self.child_fd = self.__fork_pty() + + if self.pid == 0: + # Child + try: + # used by setwinsize() + self.child_fd = sys.stdout.fileno() + self.setwinsize(24, 80) + # which exception, shouldnt' we catch explicitly .. ? + except: + # Some platforms do not like setwinsize (Cygwin). + # This will cause problem when running applications that + # are very picky about window size. + # This is a serious limitation, but not a show stopper. + pass + # Do not allow child to inherit open file descriptors from parent. + max_fd = resource.getrlimit(resource.RLIMIT_NOFILE)[0] + for i in range(3, max_fd): + try: + os.close(i) + except OSError: + pass + + if self.ignore_sighup: + signal.signal(signal.SIGHUP, signal.SIG_IGN) + + if self.cwd is not None: + os.chdir(self.cwd) + if self.env is None: + os.execv(self.command, self.args) + else: + os.execvpe(self.command, self.args, self.env) + + # Parent + self.terminated = False + self.closed = False + + def __fork_pty(self): + '''This implements a substitute for the forkpty system call. This + should be more portable than the pty.fork() function. Specifically, + this should work on Solaris. + + Modified 10.06.05 by Geoff Marshall: Implemented __fork_pty() method to + resolve the issue with Python's pty.fork() not supporting Solaris, + particularly ssh. Based on patch to posixmodule.c authored by Noah + Spurrier:: + + http://mail.python.org/pipermail/python-dev/2003-May/035281.html + + ''' + + parent_fd, child_fd = os.openpty() + if parent_fd < 0 or child_fd < 0: + raise ExceptionPexpect("Could not open with os.openpty().") + + pid = os.fork() + if pid < 0: + raise ExceptionPexpect("Failed os.fork().") + elif pid == 0: + # Child. + os.close(parent_fd) + self.__pty_make_controlling_tty(child_fd) + + os.dup2(child_fd, 0) + os.dup2(child_fd, 1) + os.dup2(child_fd, 2) + + if child_fd > 2: + os.close(child_fd) + else: + # Parent. + os.close(child_fd) + + return pid, parent_fd + + def __pty_make_controlling_tty(self, tty_fd): + '''This makes the pseudo-terminal the controlling tty. This should be + more portable than the pty.fork() function. Specifically, this should + work on Solaris. ''' + + child_name = os.ttyname(tty_fd) + + # Disconnect from controlling tty. Harmless if not already connected. + try: + fd = os.open("/dev/tty", os.O_RDWR | os.O_NOCTTY) + if fd >= 0: + os.close(fd) + # which exception, shouldnt' we catch explicitly .. ? + except: + # Already disconnected. This happens if running inside cron. + pass + + os.setsid() + + # Verify we are disconnected from controlling tty + # by attempting to open it again. + try: + fd = os.open("/dev/tty", os.O_RDWR | os.O_NOCTTY) + if fd >= 0: + os.close(fd) + raise ExceptionPexpect('Failed to disconnect from ' + + 'controlling tty. It is still possible to open /dev/tty.') + # which exception, shouldnt' we catch explicitly .. ? + except: + # Good! We are disconnected from a controlling tty. + pass + + # Verify we can open child pty. + fd = os.open(child_name, os.O_RDWR) + if fd < 0: + raise ExceptionPexpect("Could not open child pty, " + child_name) + else: + os.close(fd) + + # Verify we now have a controlling tty. + fd = os.open("/dev/tty", os.O_WRONLY) + if fd < 0: + raise ExceptionPexpect("Could not open controlling tty, /dev/tty") + else: + os.close(fd) + + def fileno(self): + '''This returns the file descriptor of the pty for the child. + ''' + return self.child_fd + + def close(self, force=True): + '''This closes the connection with the child application. Note that + calling close() more than once is valid. This emulates standard Python + behavior with files. Set force to True if you want to make sure that + the child is terminated (SIGKILL is sent if the child ignores SIGHUP + and SIGINT). ''' + + if not self.closed: + self.flush() + os.close(self.child_fd) + # Give kernel time to update process status. + time.sleep(self.delayafterclose) + if self.isalive(): + if not self.terminate(force): + raise ExceptionPexpect('Could not terminate the child.') + self.child_fd = -1 + self.closed = True + #self.pid = None + + def flush(self): + '''This does nothing. It is here to support the interface for a + File-like object. ''' + + pass + + def isatty(self): + '''This returns True if the file descriptor is open and connected to a + tty(-like) device, else False. ''' + + return os.isatty(self.child_fd) + + def waitnoecho(self, timeout=-1): + '''This waits until the terminal ECHO flag is set False. This returns + True if the echo mode is off. This returns False if the ECHO flag was + not set False before the timeout. This can be used to detect when the + child is waiting for a password. Usually a child application will turn + off echo mode when it is waiting for the user to enter a password. For + example, instead of expecting the "password:" prompt you can wait for + the child to set ECHO off:: + + p = pexpect.spawn('ssh user@example.com') + p.waitnoecho() + p.sendline(mypassword) + + If timeout==-1 then this method will use the value in self.timeout. + If timeout==None then this method to block until ECHO flag is False. + ''' + + if timeout == -1: + timeout = self.timeout + if timeout is not None: + end_time = time.time() + timeout + while True: + if not self.getecho(): + return True + if timeout < 0 and timeout is not None: + return False + if timeout is not None: + timeout = end_time - time.time() + time.sleep(0.1) + + def getecho(self): + '''This returns the terminal echo mode. This returns True if echo is + on or False if echo is off. Child applications that are expecting you + to enter a password often set ECHO False. See waitnoecho(). ''' + + attr = termios.tcgetattr(self.child_fd) + if attr[3] & termios.ECHO: + return True + return False + + def setecho(self, state): + '''This sets the terminal echo mode on or off. Note that anything the + child sent before the echo will be lost, so you should be sure that + your input buffer is empty before you call setecho(). For example, the + following will work as expected:: + + p = pexpect.spawn('cat') # Echo is on by default. + p.sendline('1234') # We expect see this twice from the child... + p.expect(['1234']) # ... once from the tty echo... + p.expect(['1234']) # ... and again from cat itself. + p.setecho(False) # Turn off tty echo + p.sendline('abcd') # We will set this only once (echoed by cat). + p.sendline('wxyz') # We will set this only once (echoed by cat) + p.expect(['abcd']) + p.expect(['wxyz']) + + The following WILL NOT WORK because the lines sent before the setecho + will be lost:: + + p = pexpect.spawn('cat') + p.sendline('1234') + p.setecho(False) # Turn off tty echo + p.sendline('abcd') # We will set this only once (echoed by cat). + p.sendline('wxyz') # We will set this only once (echoed by cat) + p.expect(['1234']) + p.expect(['1234']) + p.expect(['abcd']) + p.expect(['wxyz']) + ''' + + self.child_fd + attr = termios.tcgetattr(self.child_fd) + if state: + attr[3] = attr[3] | termios.ECHO + else: + attr[3] = attr[3] & ~termios.ECHO + # I tried TCSADRAIN and TCSAFLUSH, but + # these were inconsistent and blocked on some platforms. + # TCSADRAIN would probably be ideal if it worked. + termios.tcsetattr(self.child_fd, termios.TCSANOW, attr) + + def _log(self, s, direction): + if self.logfile is not None: + self.logfile.write(s) + self.logfile.flush() + second_log = self.logfile_send if (direction=='send') else self.logfile_read + if second_log is not None: + second_log.write(s) + second_log.flush() + + def read_nonblocking(self, size=1, timeout=-1): + '''This reads at most size characters from the child application. It + includes a timeout. If the read does not complete within the timeout + period then a TIMEOUT exception is raised. If the end of file is read + then an EOF exception will be raised. If a log file was set using + setlog() then all data will also be written to the log file. + + If timeout is None then the read may block indefinitely. + If timeout is -1 then the self.timeout value is used. If timeout is 0 + then the child is polled and if there is no data immediately ready + then this will raise a TIMEOUT exception. + + The timeout refers only to the amount of time to read at least one + character. This is not effected by the 'size' parameter, so if you call + read_nonblocking(size=100, timeout=30) and only one character is + available right away then one character will be returned immediately. + It will not wait for 30 seconds for another 99 characters to come in. + + This is a wrapper around os.read(). It uses select.select() to + implement the timeout. ''' + + if self.closed: + raise ValueError('I/O operation on closed file.') + + if timeout == -1: + timeout = self.timeout + + # Note that some systems such as Solaris do not give an EOF when + # the child dies. In fact, you can still try to read + # from the child_fd -- it will block forever or until TIMEOUT. + # For this case, I test isalive() before doing any reading. + # If isalive() is false, then I pretend that this is the same as EOF. + if not self.isalive(): + # timeout of 0 means "poll" + r, w, e = self.__select([self.child_fd], [], [], 0) + if not r: + self.flag_eof = True + raise EOF('End Of File (EOF). Braindead platform.') + elif self.__irix_hack: + # Irix takes a long time before it realizes a child was terminated. + # FIXME So does this mean Irix systems are forced to always have + # FIXME a 2 second delay when calling read_nonblocking? That sucks. + r, w, e = self.__select([self.child_fd], [], [], 2) + if not r and not self.isalive(): + self.flag_eof = True + raise EOF('End Of File (EOF). Slow platform.') + + r, w, e = self.__select([self.child_fd], [], [], timeout) + + if not r: + if not self.isalive(): + # Some platforms, such as Irix, will claim that their + # processes are alive; timeout on the select; and + # then finally admit that they are not alive. + self.flag_eof = True + raise EOF('End of File (EOF). Very slow platform.') + else: + raise TIMEOUT('Timeout exceeded.') + + if self.child_fd in r: + try: + s = os.read(self.child_fd, size) + except OSError: + # Linux does this + self.flag_eof = True + raise EOF('End Of File (EOF). Exception style platform.') + if s == b'': + # BSD style + self.flag_eof = True + raise EOF('End Of File (EOF). Empty string style platform.') + + s = self._coerce_read_string(s) + self._log(s, 'read') + return s + + raise ExceptionPexpect('Reached an unexpected state.') + + def read(self, size=-1): + '''This reads at most "size" bytes from the file (less if the read hits + EOF before obtaining size bytes). If the size argument is negative or + omitted, read all data until EOF is reached. The bytes are returned as + a string object. An empty string is returned when EOF is encountered + immediately. ''' + + if size == 0: + return self.string_type() + if size < 0: + # delimiter default is EOF + self.expect(self.delimiter) + return self.before + + # I could have done this more directly by not using expect(), but + # I deliberately decided to couple read() to expect() so that + # I would catch any bugs early and ensure consistant behavior. + # It's a little less efficient, but there is less for me to + # worry about if I have to later modify read() or expect(). + # Note, it's OK if size==-1 in the regex. That just means it + # will never match anything in which case we stop only on EOF. + cre = re.compile(self._coerce_expect_string('.{%d}' % size), re.DOTALL) + # delimiter default is EOF + index = self.expect([cre, self.delimiter]) + if index == 0: + ### FIXME self.before should be ''. Should I assert this? + return self.after + return self.before + + def readline(self, size=-1): + '''This reads and returns one entire line. The newline at the end of + line is returned as part of the string, unless the file ends without a + newline. An empty string is returned if EOF is encountered immediately. + This looks for a newline as a CR/LF pair (\\r\\n) even on UNIX because + this is what the pseudotty device returns. So contrary to what you may + expect you will receive newlines as \\r\\n. + + If the size argument is 0 then an empty string is returned. In all + other cases the size argument is ignored, which is not standard + behavior for a file-like object. ''' + + if size == 0: + return self.string_type() + # delimiter default is EOF + index = self.expect([b'\r\n', self.delimiter]) + if index == 0: + return self.before + b'\r\n' + else: + return self.before + + def __iter__(self): + '''This is to support iterators over a file-like object. + ''' + return iter(self.readline, self.string_type()) + + def readlines(self, sizehint=-1): + '''This reads until EOF using readline() and returns a list containing + the lines thus read. The optional 'sizehint' argument is ignored. + Remember, because this reads until EOF that means the child + process should have closed its stdout. If you run this method on + a child that is still running with its stdout open then this + method will block until it timesout.''' + + lines = [] + while True: + line = self.readline() + if not line: + break + lines.append(line) + return lines + + def write(self, s): + '''This is similar to send() except that there is no return value. + ''' + + self.send(s) + + def writelines(self, sequence): + '''This calls write() for each element in the sequence. The sequence + can be any iterable object producing strings, typically a list of + strings. This does not add line separators. There is no return value. + ''' + + for s in sequence: + self.write(s) + + def send(self, s): + '''Sends string ``s`` to the child process, returning the number of + bytes written. If a logfile is specified, a copy is written to that + log. ''' + + time.sleep(self.delaybeforesend) + + s = self._coerce_send_string(s) + self._log(s, 'send') + + return self._send(s) + + def _send(self, s): + return os.write(self.child_fd, s) + + def sendline(self, s=''): + '''Wraps send(), sending string ``s`` to child process, with os.linesep + automatically appended. Returns number of bytes written. ''' + + n = self.send(s) + n = n + self.send(self.linesep) + return n + + def sendcontrol(self, char): + + '''Helper method that wraps send() with mnemonic access for sending control + character to the child (such as Ctrl-C or Ctrl-D). For example, to send + Ctrl-G (ASCII 7, bell, '\a'):: + + child.sendcontrol('g') + + See also, sendintr() and sendeof(). + ''' + + char = char.lower() + a = ord(char) + if a >= 97 and a <= 122: + a = a - ord('a') + 1 + return self.send(self._chr(a)) + d = {'@': 0, '`': 0, + '[': 27, '{': 27, + '\\': 28, '|': 28, + ']': 29, '}': 29, + '^': 30, '~': 30, + '_': 31, + '?': 127} + if char not in d: + return 0 + return self.send(self._chr(d[char])) + + def sendeof(self): + + '''This sends an EOF to the child. This sends a character which causes + the pending parent output buffer to be sent to the waiting child + program without waiting for end-of-line. If it is the first character + of the line, the read() in the user program returns 0, which signifies + end-of-file. This means to work as expected a sendeof() has to be + called at the beginning of a line. This method does not send a newline. + It is the responsibility of the caller to ensure the eof is sent at the + beginning of a line. ''' + + ### Hmmm... how do I send an EOF? + ###C if ((m = write(pty, *buf, p - *buf)) < 0) + ###C return (errno == EWOULDBLOCK) ? n : -1; + #fd = sys.stdin.fileno() + #old = termios.tcgetattr(fd) # remember current state + #attr = termios.tcgetattr(fd) + #attr[3] = attr[3] | termios.ICANON # ICANON must be set to see EOF + #try: # use try/finally to ensure state gets restored + # termios.tcsetattr(fd, termios.TCSADRAIN, attr) + # if hasattr(termios, 'CEOF'): + # os.write(self.child_fd, '%c' % termios.CEOF) + # else: + # # Silly platform does not define CEOF so assume CTRL-D + # os.write(self.child_fd, '%c' % 4) + #finally: # restore state + # termios.tcsetattr(fd, termios.TCSADRAIN, old) + if hasattr(termios, 'VEOF'): + char = ord(termios.tcgetattr(self.child_fd)[6][termios.VEOF]) + else: + # platform does not define VEOF so assume CTRL-D + char = 4 + self.send(self._chr(char)) + + def sendintr(self): + + '''This sends a SIGINT to the child. It does not require + the SIGINT to be the first character on a line. ''' + + if hasattr(termios, 'VINTR'): + char = ord(termios.tcgetattr(self.child_fd)[6][termios.VINTR]) + else: + # platform does not define VINTR so assume CTRL-C + char = 3 + self.send(self._chr(char)) + + def eof(self): + + '''This returns True if the EOF exception was ever raised. + ''' + + return self.flag_eof + + def terminate(self, force=False): + + '''This forces a child process to terminate. It starts nicely with + SIGHUP and SIGINT. If "force" is True then moves onto SIGKILL. This + returns True if the child was terminated. This returns False if the + child could not be terminated. ''' + + if not self.isalive(): + return True + try: + self.kill(signal.SIGHUP) + time.sleep(self.delayafterterminate) + if not self.isalive(): + return True + self.kill(signal.SIGCONT) + time.sleep(self.delayafterterminate) + if not self.isalive(): + return True + self.kill(signal.SIGINT) + time.sleep(self.delayafterterminate) + if not self.isalive(): + return True + if force: + self.kill(signal.SIGKILL) + time.sleep(self.delayafterterminate) + if not self.isalive(): + return True + else: + return False + return False + except OSError: + # I think there are kernel timing issues that sometimes cause + # this to happen. I think isalive() reports True, but the + # process is dead to the kernel. + # Make one last attempt to see if the kernel is up to date. + time.sleep(self.delayafterterminate) + if not self.isalive(): + return True + else: + return False + + def wait(self): + + '''This waits until the child exits. This is a blocking call. This will + not read any data from the child, so this will block forever if the + child has unread output and has terminated. In other words, the child + may have printed output then called exit(), but, the child is + technically still alive until its output is read by the parent. ''' + + if self.isalive(): + pid, status = os.waitpid(self.pid, 0) + else: + raise ExceptionPexpect('Cannot wait for dead child process.') + self.exitstatus = os.WEXITSTATUS(status) + if os.WIFEXITED(status): + self.status = status + self.exitstatus = os.WEXITSTATUS(status) + self.signalstatus = None + self.terminated = True + elif os.WIFSIGNALED(status): + self.status = status + self.exitstatus = None + self.signalstatus = os.WTERMSIG(status) + self.terminated = True + elif os.WIFSTOPPED(status): + # You can't call wait() on a child process in the stopped state. + raise ExceptionPexpect('Called wait() on a stopped child ' + + 'process. This is not supported. Is some other ' + + 'process attempting job control with our child pid?') + return self.exitstatus + + def isalive(self): + + '''This tests if the child process is running or not. This is + non-blocking. If the child was terminated then this will read the + exitstatus or signalstatus of the child. This returns True if the child + process appears to be running or False if not. It can take literally + SECONDS for Solaris to return the right status. ''' + + if self.terminated: + return False + + if self.flag_eof: + # This is for Linux, which requires the blocking form + # of waitpid to # get status of a defunct process. + # This is super-lame. The flag_eof would have been set + # in read_nonblocking(), so this should be safe. + waitpid_options = 0 + else: + waitpid_options = os.WNOHANG + + try: + pid, status = os.waitpid(self.pid, waitpid_options) + except OSError: + err = sys.exc_info()[1] + # No child processes + if err.errno == errno.ECHILD: + raise ExceptionPexpect('isalive() encountered condition ' + + 'where "terminated" is 0, but there was no child ' + + 'process. Did someone else call waitpid() ' + + 'on our process?') + else: + raise err + + # I have to do this twice for Solaris. + # I can't even believe that I figured this out... + # If waitpid() returns 0 it means that no child process + # wishes to report, and the value of status is undefined. + if pid == 0: + try: + ### os.WNOHANG) # Solaris! + pid, status = os.waitpid(self.pid, waitpid_options) + except OSError as e: + # This should never happen... + if e.errno == errno.ECHILD: + raise ExceptionPexpect('isalive() encountered condition ' + + 'that should never happen. There was no child ' + + 'process. Did someone else call waitpid() ' + + 'on our process?') + else: + raise + + # If pid is still 0 after two calls to waitpid() then the process + # really is alive. This seems to work on all platforms, except for + # Irix which seems to require a blocking call on waitpid or select, + # so I let read_nonblocking take care of this situation + # (unfortunately, this requires waiting through the timeout). + if pid == 0: + return True + + if pid == 0: + return True + + if os.WIFEXITED(status): + self.status = status + self.exitstatus = os.WEXITSTATUS(status) + self.signalstatus = None + self.terminated = True + elif os.WIFSIGNALED(status): + self.status = status + self.exitstatus = None + self.signalstatus = os.WTERMSIG(status) + self.terminated = True + elif os.WIFSTOPPED(status): + raise ExceptionPexpect('isalive() encountered condition ' + + 'where child process is stopped. This is not ' + + 'supported. Is some other process attempting ' + + 'job control with our child pid?') + return False + + def kill(self, sig): + + '''This sends the given signal to the child application. In keeping + with UNIX tradition it has a misleading name. It does not necessarily + kill the child unless you send the right signal. ''' + + # Same as os.kill, but the pid is given for you. + if self.isalive(): + os.kill(self.pid, sig) + + def _pattern_type_err(self, pattern): + raise TypeError('got {badtype} ({badobj!r}) as pattern, must be one' + ' of: {goodtypes}, pexpect.EOF, pexpect.TIMEOUT'\ + .format(badtype=type(pattern), + badobj=pattern, + goodtypes=', '.join([str(ast)\ + for ast in self.allowed_string_types]) + ) + ) + + def compile_pattern_list(self, patterns): + + '''This compiles a pattern-string or a list of pattern-strings. + Patterns must be a StringType, EOF, TIMEOUT, SRE_Pattern, or a list of + those. Patterns may also be None which results in an empty list (you + might do this if waiting for an EOF or TIMEOUT condition without + expecting any pattern). + + This is used by expect() when calling expect_list(). Thus expect() is + nothing more than:: + + cpl = self.compile_pattern_list(pl) + return self.expect_list(cpl, timeout) + + If you are using expect() within a loop it may be more + efficient to compile the patterns first and then call expect_list(). + This avoid calls in a loop to compile_pattern_list():: + + cpl = self.compile_pattern_list(my_pattern) + while some_condition: + ... + i = self.expect_list(clp, timeout) + ... + ''' + + if patterns is None: + return [] + if not isinstance(patterns, list): + patterns = [patterns] + + # Allow dot to match \n + compile_flags = re.DOTALL + if self.ignorecase: + compile_flags = compile_flags | re.IGNORECASE + compiled_pattern_list = [] + for idx, p in enumerate(patterns): + if isinstance(p, self.allowed_string_types): + p = self._coerce_expect_string(p) + compiled_pattern_list.append(re.compile(p, compile_flags)) + elif p is EOF: + compiled_pattern_list.append(EOF) + elif p is TIMEOUT: + compiled_pattern_list.append(TIMEOUT) + elif isinstance(p, type(re.compile(''))): + compiled_pattern_list.append(p) + else: + self._pattern_type_err(p) + return compiled_pattern_list + + def expect(self, pattern, timeout=-1, searchwindowsize=-1): + + '''This seeks through the stream until a pattern is matched. The + pattern is overloaded and may take several types. The pattern can be a + StringType, EOF, a compiled re, or a list of any of those types. + Strings will be compiled to re types. This returns the index into the + pattern list. If the pattern was not a list this returns index 0 on a + successful match. This may raise exceptions for EOF or TIMEOUT. To + avoid the EOF or TIMEOUT exceptions add EOF or TIMEOUT to the pattern + list. That will cause expect to match an EOF or TIMEOUT condition + instead of raising an exception. + + If you pass a list of patterns and more than one matches, the first + match in the stream is chosen. If more than one pattern matches at that + point, the leftmost in the pattern list is chosen. For example:: + + # the input is 'foobar' + index = p.expect(['bar', 'foo', 'foobar']) + # returns 1('foo') even though 'foobar' is a "better" match + + Please note, however, that buffering can affect this behavior, since + input arrives in unpredictable chunks. For example:: + + # the input is 'foobar' + index = p.expect(['foobar', 'foo']) + # returns 0('foobar') if all input is available at once, + # but returs 1('foo') if parts of the final 'bar' arrive late + + After a match is found the instance attributes 'before', 'after' and + 'match' will be set. You can see all the data read before the match in + 'before'. You can see the data that was matched in 'after'. The + re.MatchObject used in the re match will be in 'match'. If an error + occurred then 'before' will be set to all the data read so far and + 'after' and 'match' will be None. + + If timeout is -1 then timeout will be set to the self.timeout value. + + A list entry may be EOF or TIMEOUT instead of a string. This will + catch these exceptions and return the index of the list entry instead + of raising the exception. The attribute 'after' will be set to the + exception type. The attribute 'match' will be None. This allows you to + write code like this:: + + index = p.expect(['good', 'bad', pexpect.EOF, pexpect.TIMEOUT]) + if index == 0: + do_something() + elif index == 1: + do_something_else() + elif index == 2: + do_some_other_thing() + elif index == 3: + do_something_completely_different() + + instead of code like this:: + + try: + index = p.expect(['good', 'bad']) + if index == 0: + do_something() + elif index == 1: + do_something_else() + except EOF: + do_some_other_thing() + except TIMEOUT: + do_something_completely_different() + + These two forms are equivalent. It all depends on what you want. You + can also just expect the EOF if you are waiting for all output of a + child to finish. For example:: + + p = pexpect.spawn('/bin/ls') + p.expect(pexpect.EOF) + print p.before + + If you are trying to optimize for speed then see expect_list(). + ''' + + compiled_pattern_list = self.compile_pattern_list(pattern) + return self.expect_list(compiled_pattern_list, + timeout, searchwindowsize) + + def expect_list(self, pattern_list, timeout=-1, searchwindowsize=-1): + + '''This takes a list of compiled regular expressions and returns the + index into the pattern_list that matched the child output. The list may + also contain EOF or TIMEOUT(which are not compiled regular + expressions). This method is similar to the expect() method except that + expect_list() does not recompile the pattern list on every call. This + may help if you are trying to optimize for speed, otherwise just use + the expect() method. This is called by expect(). If timeout==-1 then + the self.timeout value is used. If searchwindowsize==-1 then the + self.searchwindowsize value is used. ''' + + return self.expect_loop(searcher_re(pattern_list), + timeout, searchwindowsize) + + def expect_exact(self, pattern_list, timeout=-1, searchwindowsize=-1): + + '''This is similar to expect(), but uses plain string matching instead + of compiled regular expressions in 'pattern_list'. The 'pattern_list' + may be a string; a list or other sequence of strings; or TIMEOUT and + EOF. + + This call might be faster than expect() for two reasons: string + searching is faster than RE matching and it is possible to limit the + search to just the end of the input buffer. + + This method is also useful when you don't want to have to worry about + escaping regular expression characters that you want to match.''' + + if (isinstance(pattern_list, self.allowed_string_types) or + pattern_list in (TIMEOUT, EOF)): + pattern_list = [pattern_list] + + def prepare_pattern(pattern): + if pattern in (TIMEOUT, EOF): + return pattern + if isinstance(pattern, self.allowed_string_types): + return self._coerce_expect_string(pattern) + self._pattern_type_err(pattern) + + try: + pattern_list = iter(pattern_list) + except TypeError: + self._pattern_type_err(pattern_list) + pattern_list = [prepare_pattern(p) for p in pattern_list] + return self.expect_loop(searcher_string(pattern_list), + timeout, searchwindowsize) + + def expect_loop(self, searcher, timeout=-1, searchwindowsize=-1): + + '''This is the common loop used inside expect. The 'searcher' should be + an instance of searcher_re or searcher_string, which describes how and + what to search for in the input. + + See expect() for other arguments, return value and exceptions. ''' + + self.searcher = searcher + + if timeout == -1: + timeout = self.timeout + if timeout is not None: + end_time = time.time() + timeout + if searchwindowsize == -1: + searchwindowsize = self.searchwindowsize + + try: + incoming = self.buffer + freshlen = len(incoming) + while True: + # Keep reading until exception or return. + index = searcher.search(incoming, freshlen, searchwindowsize) + if index >= 0: + self.buffer = incoming[searcher.end:] + self.before = incoming[: searcher.start] + self.after = incoming[searcher.start: searcher.end] + self.match = searcher.match + self.match_index = index + return self.match_index + # No match at this point + if (timeout is not None) and (timeout < 0): + raise TIMEOUT('Timeout exceeded in expect_any().') + # Still have time left, so read more data + c = self.read_nonblocking(self.maxread, timeout) + freshlen = len(c) + time.sleep(0.0001) + incoming = incoming + c + if timeout is not None: + timeout = end_time - time.time() + except EOF: + err = sys.exc_info()[1] + self.buffer = self.string_type() + self.before = incoming + self.after = EOF + index = searcher.eof_index + if index >= 0: + self.match = EOF + self.match_index = index + return self.match_index + else: + self.match = None + self.match_index = None + raise EOF(str(err) + '\n' + str(self)) + except TIMEOUT: + err = sys.exc_info()[1] + self.buffer = incoming + self.before = incoming + self.after = TIMEOUT + index = searcher.timeout_index + if index >= 0: + self.match = TIMEOUT + self.match_index = index + return self.match_index + else: + self.match = None + self.match_index = None + raise TIMEOUT(str(err) + '\n' + str(self)) + except: + self.before = incoming + self.after = None + self.match = None + self.match_index = None + raise + + def getwinsize(self): + + '''This returns the terminal window size of the child tty. The return + value is a tuple of (rows, cols). ''' + + TIOCGWINSZ = getattr(termios, 'TIOCGWINSZ', 1074295912) + s = struct.pack('HHHH', 0, 0, 0, 0) + x = fcntl.ioctl(self.child_fd, TIOCGWINSZ, s) + return struct.unpack('HHHH', x)[0:2] + + def setwinsize(self, rows, cols): + + '''This sets the terminal window size of the child tty. This will cause + a SIGWINCH signal to be sent to the child. This does not change the + physical window size. It changes the size reported to TTY-aware + applications like vi or curses -- applications that respond to the + SIGWINCH signal. ''' + + # Check for buggy platforms. Some Python versions on some platforms + # (notably OSF1 Alpha and RedHat 7.1) truncate the value for + # termios.TIOCSWINSZ. It is not clear why this happens. + # These platforms don't seem to handle the signed int very well; + # yet other platforms like OpenBSD have a large negative value for + # TIOCSWINSZ and they don't have a truncate problem. + # Newer versions of Linux have totally different values for TIOCSWINSZ. + # Note that this fix is a hack. + TIOCSWINSZ = getattr(termios, 'TIOCSWINSZ', -2146929561) + if TIOCSWINSZ == 2148037735: + # Same bits, but with sign. + TIOCSWINSZ = -2146929561 + # Note, assume ws_xpixel and ws_ypixel are zero. + s = struct.pack('HHHH', rows, cols, 0, 0) + fcntl.ioctl(self.fileno(), TIOCSWINSZ, s) + + def interact(self, escape_character=chr(29), + input_filter=None, output_filter=None): + + '''This gives control of the child process to the interactive user (the + human at the keyboard). Keystrokes are sent to the child process, and + the stdout and stderr output of the child process is printed. This + simply echos the child stdout and child stderr to the real stdout and + it echos the real stdin to the child stdin. When the user types the + escape_character this method will stop. The default for + escape_character is ^]. This should not be confused with ASCII 27 -- + the ESC character. ASCII 29 was chosen for historical merit because + this is the character used by 'telnet' as the escape character. The + escape_character will not be sent to the child process. + + You may pass in optional input and output filter functions. These + functions should take a string and return a string. The output_filter + will be passed all the output from the child process. The input_filter + will be passed all the keyboard input from the user. The input_filter + is run BEFORE the check for the escape_character. + + Note that if you change the window size of the parent the SIGWINCH + signal will not be passed through to the child. If you want the child + window size to change when the parent's window size changes then do + something like the following example:: + + import pexpect, struct, fcntl, termios, signal, sys + def sigwinch_passthrough (sig, data): + s = struct.pack("HHHH", 0, 0, 0, 0) + a = struct.unpack('hhhh', fcntl.ioctl(sys.stdout.fileno(), + termios.TIOCGWINSZ , s)) + global p + p.setwinsize(a[0],a[1]) + # Note this 'p' global and used in sigwinch_passthrough. + p = pexpect.spawn('/bin/bash') + signal.signal(signal.SIGWINCH, sigwinch_passthrough) + p.interact() + ''' + + # Flush the buffer. + self.write_to_stdout(self.buffer) + self.stdout.flush() + self.buffer = self.string_type() + mode = tty.tcgetattr(self.STDIN_FILENO) + tty.setraw(self.STDIN_FILENO) + if PY3: + escape_character = escape_character.encode('latin-1') + try: + self.__interact_copy(escape_character, input_filter, output_filter) + finally: + tty.tcsetattr(self.STDIN_FILENO, tty.TCSAFLUSH, mode) + + def __interact_writen(self, fd, data): + '''This is used by the interact() method. + ''' + + while data != b'' and self.isalive(): + n = os.write(fd, data) + data = data[n:] + + def __interact_read(self, fd): + '''This is used by the interact() method. + ''' + + return os.read(fd, 1000) + + def __interact_copy(self, escape_character=None, + input_filter=None, output_filter=None): + + '''This is used by the interact() method. + ''' + + while self.isalive(): + r, w, e = self.__select([self.child_fd, self.STDIN_FILENO], [], []) + if self.child_fd in r: + try: + data = self.__interact_read(self.child_fd) + except OSError as e: + # The subprocess may have closed before we get to reading it + if e.errno != errno.EIO: + raise + if output_filter: + data = output_filter(data) + if self.logfile is not None: + self.logfile.write(data) + self.logfile.flush() + os.write(self.STDOUT_FILENO, data) + if self.STDIN_FILENO in r: + data = self.__interact_read(self.STDIN_FILENO) + if input_filter: + data = input_filter(data) + i = data.rfind(escape_character) + if i != -1: + data = data[:i] + self.__interact_writen(self.child_fd, data) + break + self.__interact_writen(self.child_fd, data) + + def __select(self, iwtd, owtd, ewtd, timeout=None): + + '''This is a wrapper around select.select() that ignores signals. If + select.select raises a select.error exception and errno is an EINTR + error then it is ignored. Mainly this is used to ignore sigwinch + (terminal resize). ''' + + # if select() is interrupted by a signal (errno==EINTR) then + # we loop back and enter the select() again. + if timeout is not None: + end_time = time.time() + timeout + while True: + try: + return select.select(iwtd, owtd, ewtd, timeout) + except select.error: + err = sys.exc_info()[1] + if err.errno == errno.EINTR: + # if we loop back we have to subtract the + # amount of time we already waited. + if timeout is not None: + timeout = end_time - time.time() + if timeout < 0: + return([], [], []) + else: + # something else caused the select.error, so + # this actually is an exception. + raise + +############################################################################## +# The following methods are no longer supported or allowed. + + def setmaxread(self, maxread): + + '''This method is no longer supported or allowed. I don't like getters + and setters without a good reason. ''' + + raise ExceptionPexpect('This method is no longer supported ' + + 'or allowed. Just assign a value to the ' + + 'maxread member variable.') + + def setlog(self, fileobject): + + '''This method is no longer supported or allowed. + ''' + + raise ExceptionPexpect('This method is no longer supported ' + + 'or allowed. Just assign a value to the logfile ' + + 'member variable.') + +############################################################################## +# End of spawn class +############################################################################## + +class spawnu(spawn): + """Works like spawn, but accepts and returns unicode strings. + + Extra parameters: + + :param encoding: The encoding to use for communications (default: 'utf-8') + :param errors: How to handle encoding/decoding errors; one of 'strict' + (the default), 'ignore', or 'replace', as described + for :meth:`~bytes.decode` and :meth:`~str.encode`. + """ + if PY3: + string_type = str + allowed_string_types = (str, ) + _chr = staticmethod(chr) + linesep = os.linesep + else: + string_type = unicode + allowed_string_types = (unicode, ) + _chr = staticmethod(unichr) + linesep = os.linesep.decode('ascii') + # This can handle unicode in both Python 2 and 3 + write_to_stdout = sys.stdout.write + + def __init__(self, *args, **kwargs): + self.encoding = kwargs.pop('encoding', 'utf-8') + self.errors = kwargs.pop('errors', 'strict') + self._decoder = codecs.getincrementaldecoder(self.encoding)(errors=self.errors) + super(spawnu, self).__init__(*args, **kwargs) + + @staticmethod + def _coerce_expect_string(s): + return s + + @staticmethod + def _coerce_send_string(s): + return s + + def _coerce_read_string(self, s): + return self._decoder.decode(s, final=False) + + def _send(self, s): + return os.write(self.child_fd, s.encode(self.encoding, self.errors)) + + +class searcher_string(object): + + '''This is a plain string search helper for the spawn.expect_any() method. + This helper class is for speed. For more powerful regex patterns + see the helper class, searcher_re. + + Attributes: + + eof_index - index of EOF, or -1 + timeout_index - index of TIMEOUT, or -1 + + After a successful match by the search() method the following attributes + are available: + + start - index into the buffer, first byte of match + end - index into the buffer, first byte after match + match - the matching string itself + + ''' + + def __init__(self, strings): + + '''This creates an instance of searcher_string. This argument 'strings' + may be a list; a sequence of strings; or the EOF or TIMEOUT types. ''' + + self.eof_index = -1 + self.timeout_index = -1 + self._strings = [] + for n, s in enumerate(strings): + if s is EOF: + self.eof_index = n + continue + if s is TIMEOUT: + self.timeout_index = n + continue + self._strings.append((n, s)) + + def __str__(self): + + '''This returns a human-readable string that represents the state of + the object.''' + + ss = [(ns[0], ' %d: "%s"' % ns) for ns in self._strings] + ss.append((-1, 'searcher_string:')) + if self.eof_index >= 0: + ss.append((self.eof_index, ' %d: EOF' % self.eof_index)) + if self.timeout_index >= 0: + ss.append((self.timeout_index, + ' %d: TIMEOUT' % self.timeout_index)) + ss.sort() + ss = list(zip(*ss))[1] + return '\n'.join(ss) + + def search(self, buffer, freshlen, searchwindowsize=None): + + '''This searches 'buffer' for the first occurence of one of the search + strings. 'freshlen' must indicate the number of bytes at the end of + 'buffer' which have not been searched before. It helps to avoid + searching the same, possibly big, buffer over and over again. + + See class spawn for the 'searchwindowsize' argument. + + If there is a match this returns the index of that string, and sets + 'start', 'end' and 'match'. Otherwise, this returns -1. ''' + + first_match = None + + # 'freshlen' helps a lot here. Further optimizations could + # possibly include: + # + # using something like the Boyer-Moore Fast String Searching + # Algorithm; pre-compiling the search through a list of + # strings into something that can scan the input once to + # search for all N strings; realize that if we search for + # ['bar', 'baz'] and the input is '...foo' we need not bother + # rescanning until we've read three more bytes. + # + # Sadly, I don't know enough about this interesting topic. /grahn + + for index, s in self._strings: + if searchwindowsize is None: + # the match, if any, can only be in the fresh data, + # or at the very end of the old data + offset = -(freshlen + len(s)) + else: + # better obey searchwindowsize + offset = -searchwindowsize + n = buffer.find(s, offset) + if n >= 0 and (first_match is None or n < first_match): + first_match = n + best_index, best_match = index, s + if first_match is None: + return -1 + self.match = best_match + self.start = first_match + self.end = self.start + len(self.match) + return best_index + + +class searcher_re(object): + + '''This is regular expression string search helper for the + spawn.expect_any() method. This helper class is for powerful + pattern matching. For speed, see the helper class, searcher_string. + + Attributes: + + eof_index - index of EOF, or -1 + timeout_index - index of TIMEOUT, or -1 + + After a successful match by the search() method the following attributes + are available: + + start - index into the buffer, first byte of match + end - index into the buffer, first byte after match + match - the re.match object returned by a succesful re.search + + ''' + + def __init__(self, patterns): + + '''This creates an instance that searches for 'patterns' Where + 'patterns' may be a list or other sequence of compiled regular + expressions, or the EOF or TIMEOUT types.''' + + self.eof_index = -1 + self.timeout_index = -1 + self._searches = [] + for n, s in zip(list(range(len(patterns))), patterns): + if s is EOF: + self.eof_index = n + continue + if s is TIMEOUT: + self.timeout_index = n + continue + self._searches.append((n, s)) + + def __str__(self): + + '''This returns a human-readable string that represents the state of + the object.''' + + #ss = [(n, ' %d: re.compile("%s")' % + # (n, repr(s.pattern))) for n, s in self._searches] + ss = list() + for n, s in self._searches: + try: + ss.append((n, ' %d: re.compile("%s")' % (n, s.pattern))) + except UnicodeEncodeError: + # for test cases that display __str__ of searches, dont throw + # another exception just because stdout is ascii-only, using + # repr() + ss.append((n, ' %d: re.compile(%r)' % (n, s.pattern))) + ss.append((-1, 'searcher_re:')) + if self.eof_index >= 0: + ss.append((self.eof_index, ' %d: EOF' % self.eof_index)) + if self.timeout_index >= 0: + ss.append((self.timeout_index, ' %d: TIMEOUT' % + self.timeout_index)) + ss.sort() + ss = list(zip(*ss))[1] + return '\n'.join(ss) + + def search(self, buffer, freshlen, searchwindowsize=None): + + '''This searches 'buffer' for the first occurence of one of the regular + expressions. 'freshlen' must indicate the number of bytes at the end of + 'buffer' which have not been searched before. + + See class spawn for the 'searchwindowsize' argument. + + If there is a match this returns the index of that string, and sets + 'start', 'end' and 'match'. Otherwise, returns -1.''' + + first_match = None + # 'freshlen' doesn't help here -- we cannot predict the + # length of a match, and the re module provides no help. + if searchwindowsize is None: + searchstart = 0 + else: + searchstart = max(0, len(buffer) - searchwindowsize) + for index, s in self._searches: + match = s.search(buffer, searchstart) + if match is None: + continue + n = match.start() + if first_match is None or n < first_match: + first_match = n + the_match = match + best_index = index + if first_match is None: + return -1 + self.start = first_match + self.match = the_match + self.end = self.match.end() + return best_index + + +def which(filename): + + '''This takes a given filename; tries to find it in the environment path; + then checks if it is executable. This returns the full path to the filename + if found and executable. Otherwise this returns None.''' + + # Special case where filename contains an explicit path. + if os.path.dirname(filename) != '': + if os.access(filename, os.X_OK): + return filename + if 'PATH' not in os.environ or os.environ['PATH'] == '': + p = os.defpath + else: + p = os.environ['PATH'] + pathlist = p.split(os.pathsep) + for path in pathlist: + ff = os.path.join(path, filename) + if os.access(ff, os.X_OK): + return ff + return None + + +def split_command_line(command_line): + + '''This splits a command line into a list of arguments. It splits arguments + on spaces, but handles embedded quotes, doublequotes, and escaped + characters. It's impossible to do this with a regular expression, so I + wrote a little state machine to parse the command line. ''' + + arg_list = [] + arg = '' + + # Constants to name the states we can be in. + state_basic = 0 + state_esc = 1 + state_singlequote = 2 + state_doublequote = 3 + # The state when consuming whitespace between commands. + state_whitespace = 4 + state = state_basic + + for c in command_line: + if state == state_basic or state == state_whitespace: + if c == '\\': + # Escape the next character + state = state_esc + elif c == r"'": + # Handle single quote + state = state_singlequote + elif c == r'"': + # Handle double quote + state = state_doublequote + elif c.isspace(): + # Add arg to arg_list if we aren't in the middle of whitespace. + if state == state_whitespace: + # Do nothing. + None + else: + arg_list.append(arg) + arg = '' + state = state_whitespace + else: + arg = arg + c + state = state_basic + elif state == state_esc: + arg = arg + c + state = state_basic + elif state == state_singlequote: + if c == r"'": + state = state_basic + else: + arg = arg + c + elif state == state_doublequote: + if c == r'"': + state = state_basic + else: + arg = arg + c + + if arg != '': + arg_list.append(arg) + return arg_list + +# vi:set sr et ts=4 sw=4 ft=python : diff -Nru hplip-3.14.6/base/pexpect.py hplip-3.15.2/base/pexpect.py --- hplip-3.14.6/base/pexpect.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/pexpect.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,1384 +0,0 @@ -"""Pexpect is a Python module for spawning child applications and controlling -them automatically. Pexpect can be used for automating interactive applications -such as ssh, ftp, passwd, telnet, etc. It can be used to a automate setup -scripts for duplicating software package installations on different servers. It -can be used for automated software testing. Pexpect is in the spirit of Don -Libes' Expect, but Pexpect is pure Python. Other Expect-like modules for Python -require TCL and Expect or require C extensions to be compiled. Pexpect does not -use C, Expect, or TCL extensions. It should work on any platform that supports -the standard Python pty module. The Pexpect interface focuses on ease of use so -that simple tasks are easy. - -There are two main interfaces to Pexpect -- the function, run() and the class, -spawn. You can call the run() function to execute a command and return the -output. This is a handy replacement for os.system(). - -For example: - pexpect.run('ls -la') - -The more powerful interface is the spawn class. You can use this to spawn an -external child command and then interact with the child by sending lines and -expecting responses. - -For example: - child = pexpect.spawn('scp foo myname@host.example.com:.') - child.expect ('Password:') - child.sendline (mypassword) - -This works even for commands that ask for passwords or other input outside of -the normal stdio streams. - -Credits: -Noah Spurrier, Richard Holden, Marco Molteni, Kimberley Burchett, Robert Stone, -Hartmut Goebel, Chad Schroeder, Erick Tryzelaar, Dave Kirby, Ids vander Molen, -George Todd, Noel Taylor, Nicolas D. Cesar, Alexander Gattin, -Geoffrey Marshall, Francisco Lourenco, Glen Mabey, Karthik Gurusamy, -Fernando Perez -(Let me know if I forgot anyone.) - -Free, open source, and all that good stuff. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -Pexpect Copyright (c) 2006 Noah Spurrier -http://pexpect.sourceforge.net/ - -$Revision: 1.2 $ -$Date: 2007/01/11 20:51:46 $ -""" -try: - import os - import sys - import time - import select - import string - import re - import struct - import resource - import types - import pty - import tty - import termios - import fcntl - import errno - import traceback - import signal -except ImportError, e: - raise ImportError (str(e) + """ -A critical module was not found. Probably this operating system does not support it. -Pexpect is intended for UNIX-like operating systems.""") - -__version__ = '2.1' -__revision__ = '$Revision: 1.2 $' -__all__ = ['ExceptionPexpect', 'EOF', 'TIMEOUT', 'spawn', 'run', 'which', 'split_command_line', - '__version__', '__revision__'] - -# Exception classes used by this module. -class ExceptionPexpect(Exception): - """Base class for all exceptions raised by this module. - """ - def __init__(self, value): - self.value = value - def __str__(self): - return str(self.value) - def get_trace(self): - """This returns an abbreviated stack trace with lines that only concern the caller. - In other words, the stack trace inside the Pexpect module is not included. - """ - tblist = traceback.extract_tb(sys.exc_info()[2]) - tblist = filter(self.__filter_not_pexpect, tblist) - tblist = traceback.format_list(tblist) - return ''.join(tblist) - def __filter_not_pexpect(self, trace_list_item): - if trace_list_item[0].find('pexpect.py') == -1: - return True - else: - return False -class EOF(ExceptionPexpect): - """Raised when EOF is read from a child. - """ -class TIMEOUT(ExceptionPexpect): - """Raised when a read time exceeds the timeout. - """ - -def run (command, timeout=-1, withexitstatus=False, events=None, extra_args=None, logfile=None): - """This function runs the given command; waits for it to finish; - then returns all output as a string. STDERR is included in output. - If the full path to the command is not given then the path is searched. - - Note that lines are terminated by CR/LF (\\r\\n) combination - even on UNIX-like systems because this is the standard for pseudo ttys. - If you set withexitstatus to true, then run will return a tuple of - (command_output, exitstatus). If withexitstatus is false then this - returns just command_output. - - The run() function can often be used instead of creating a spawn instance. - For example, the following code uses spawn: - from pexpect import * - child = spawn('scp foo myname@host.example.com:.') - child.expect ('(?i)password') - child.sendline (mypassword) - The previous code can be replace with the following, which you may - or may not find simpler: - from pexpect import * - run ('scp foo myname@host.example.com:.', events={'(?i)password': mypassword}) - - Examples: - Start the apache daemon on the local machine: - from pexpect import * - run ("/usr/local/apache/bin/apachectl start") - Check in a file using SVN: - from pexpect import * - run ("svn ci -m 'automatic commit' my_file.py") - Run a command and capture exit status: - from pexpect import * - (command_output, exitstatus) = run ('ls -l /bin', withexitstatus=1) - - Tricky Examples: - The following will run SSH and execute 'ls -l' on the remote machine. - The password 'secret' will be sent if the '(?i)password' pattern is ever seen. - run ("ssh username@machine.example.com 'ls -l'", events={'(?i)password':'secret\n'}) - - This will start mencoder to rip a video from DVD. This will also display - progress ticks every 5 seconds as it runs. - from pexpect import * - def print_ticks(d): - print d['event_count'], - run ("mencoder dvd://1 -o video.avi -oac copy -ovc copy", events={TIMEOUT:print_ticks}, timeout=5) - - The 'events' argument should be a dictionary of patterns and responses. - Whenever one of the patterns is seen in the command out - run() will send the associated response string. Note that you should - put newlines in your string if Enter is necessary. - The responses may also contain callback functions. - Any callback is function that takes a dictionary as an argument. - The dictionary contains all the locals from the run() function, so - you can access the child spawn object or any other variable defined - in run() (event_count, child, and extra_args are the most useful). - A callback may return True to stop the current run process otherwise - run() continues until the next event. - A callback may also return a string which will be sent to the child. - 'extra_args' is not used by directly run(). It provides a way to pass data to - a callback function through run() through the locals dictionary passed to a callback. - """ - if timeout == -1: - child = spawn(command, maxread=2000, logfile=logfile) - else: - child = spawn(command, timeout=timeout, maxread=2000, logfile=logfile) - if events is not None: - patterns = events.keys() - responses = events.values() - else: - patterns=None # We assume that EOF or TIMEOUT will save us. - responses=None - child_result_list = [] - event_count = 0 - while 1: - try: - index = child.expect (patterns) - if type(child.after) is types.StringType: - child_result_list.append(child.before + child.after) - else: # child.after may have been a TIMEOUT or EOF, so don't cat those. - child_result_list.append(child.before) - if type(responses[index]) is types.StringType: - child.send(responses[index]) - elif type(responses[index]) is types.FunctionType: - callback_result = responses[index](locals()) - sys.stdout.flush() - if type(callback_result) is types.StringType: - child.send(callback_result) - elif callback_result: - break - else: - raise TypeError ('The callback must be a string or function type.') - event_count = event_count + 1 - except TIMEOUT, e: - child_result_list.append(child.before) - break - except EOF, e: - child_result_list.append(child.before) - break - child_result = ''.join(child_result_list) - if withexitstatus: - child.close() - return (child_result, child.exitstatus) - else: - return child_result - -class spawn (object): - """This is the main class interface for Pexpect. - Use this class to start and control child applications. - """ - - def __init__(self, command, args=[], timeout=30, maxread=2000, searchwindowsize=None, logfile=None, env=None): - """This is the constructor. The command parameter may be a string - that includes a command and any arguments to the command. For example: - p = pexpect.spawn ('/usr/bin/ftp') - p = pexpect.spawn ('/usr/bin/ssh user@example.com') - p = pexpect.spawn ('ls -latr /tmp') - You may also construct it with a list of arguments like so: - p = pexpect.spawn ('/usr/bin/ftp', []) - p = pexpect.spawn ('/usr/bin/ssh', ['user@example.com']) - p = pexpect.spawn ('ls', ['-latr', '/tmp']) - After this the child application will be created and - will be ready to talk to. For normal use, see expect() and - send() and sendline(). - - The maxread attribute sets the read buffer size. - This is maximum number of bytes that Pexpect will try to read - from a TTY at one time. - Seeting the maxread size to 1 will turn off buffering. - Setting the maxread value higher may help performance in cases - where large amounts of output are read back from the child. - This feature is useful in conjunction with searchwindowsize. - - The searchwindowsize attribute sets the how far back in - the incomming seach buffer Pexpect will search for pattern matches. - Every time Pexpect reads some data from the child it will append the data to - the incomming buffer. The default is to search from the beginning of the - imcomming buffer each time new data is read from the child. - But this is very inefficient if you are running a command that - generates a large amount of data where you want to match - The searchwindowsize does not effect the size of the incomming data buffer. - You will still have access to the full buffer after expect() returns. - - The logfile member turns on or off logging. - All input and output will be copied to the given file object. - Set logfile to None to stop logging. This is the default. - Set logfile to sys.stdout to echo everything to standard output. - The logfile is flushed after each write. - Example 1: - child = pexpect.spawn('some_command') - fout = file('mylog.txt','w') - child.logfile = fout - Example 2: - child = pexpect.spawn('some_command') - child.logfile = sys.stdout - - The delaybeforesend helps overcome a weird behavior that many users were experiencing. - The typical problem was that a user would expect() a "Password:" prompt and - then immediately call sendline() to send the password. The user would then - see that their password was echoed back to them. Passwords don't - normally echo. The problem is caused by the fact that most applications - print out the "Password" prompt and then turn off stdin echo, but if you - send your password before the application turned off echo, then you get - your password echoed. Normally this wouldn't be a problem when interacting - with a human at a real heyboard. If you introduce a slight delay just before - writing then this seems to clear up the problem. This was such a common problem - for many users that I decided that the default pexpect behavior - should be to sleep just before writing to the child application. - 1/10th of a second (100 ms) seems to be enough to clear up the problem. - You can set delaybeforesend to 0 to return to the old behavior. - - Note that spawn is clever about finding commands on your path. - It uses the same logic that "which" uses to find executables. - - If you wish to get the exit status of the child you must call - the close() method. The exit or signal status of the child will be - stored in self.exitstatus or self.signalstatus. - If the child exited normally then exitstatus will store the exit return code and - signalstatus will be None. - If the child was terminated abnormally with a signal then signalstatus will store - the signal value and exitstatus will be None. - If you need more detail you can also read the self.status member which stores - the status returned by os.waitpid. You can interpret this using - os.WIFEXITED/os.WEXITSTATUS or os.WIFSIGNALED/os.TERMSIG. - """ - self.STDIN_FILENO = pty.STDIN_FILENO - self.STDOUT_FILENO = pty.STDOUT_FILENO - self.STDERR_FILENO = pty.STDERR_FILENO - self.stdin = sys.stdin - self.stdout = sys.stdout - self.stderr = sys.stderr - - self.patterns = None - self.ignorecase = False - self.before = None - self.after = None - self.match = None - self.match_index = None - self.terminated = True - self.exitstatus = None - self.signalstatus = None - self.status = None # status returned by os.waitpid - self.flag_eof = False - self.pid = None - self.child_fd = -1 # initially closed - self.timeout = timeout - self.delimiter = EOF - self.logfile = logfile - self.maxread = maxread # Max bytes to read at one time into buffer. - self.buffer = '' # This is the read buffer. See maxread. - self.searchwindowsize = searchwindowsize # Anything before searchwindowsize point is preserved, but not searched. - self.delaybeforesend = 0.1 # Sets sleep time used just before sending data to child. - self.delayafterclose = 0.1 # Sets delay in close() method to allow kernel time to update process status. - self.delayafterterminate = 0.1 # Sets delay in terminate() method to allow kernel time to update process status. - self.softspace = False # File-like object. - self.name = '<' + repr(self) + '>' # File-like object. - self.encoding = None # File-like object. - self.closed = True # File-like object. - self.env = env - self.__irix_hack = sys.platform.lower().find('irix') >= 0 # This flags if we are running on irix - self.use_native_pty_fork = not (sys.platform.lower().find('solaris') >= 0) # Solaris uses internal __fork_pty(). All other use pty.fork(). - - # allow dummy instances for subclasses that may not use command or args. - if command is None: - self.command = None - self.args = None - self.name = '' - return - - # If command is an int type then it may represent a file descriptor. - if type(command) == type(0): - raise ExceptionPexpect ('Command is an int type. If this is a file descriptor then maybe you want to use fdpexpect.fdspawn which takes an existing file descriptor instead of a command string.') - - if type (args) != type([]): - raise TypeError ('The argument, args, must be a list.') - - if args == []: - self.args = split_command_line(command) - self.command = self.args[0] - else: - self.args = args[:] # work with a copy - self.args.insert (0, command) - self.command = command - - command_with_path = which(self.command) - if command_with_path is None: - raise ExceptionPexpect ('The command was not found or was not executable: %s.' % self.command) - self.command = command_with_path - self.args[0] = self.command - - self.name = '<' + ' '.join (self.args) + '>' - self.__spawn() - - def __del__(self): - """This makes sure that no system resources are left open. - Python only garbage collects Python objects. OS file descriptors - are not Python objects, so they must be handled explicitly. - If the child file descriptor was opened outside of this class - (passed to the constructor) then this does not close it. - """ - if not self.closed: - self.close() - - def __str__(self): - """This returns the current state of the pexpect object as a string. - """ - s = [] - s.append(repr(self)) - s.append('version: ' + __version__ + ' (' + __revision__ + ')') - s.append('command: ' + str(self.command)) - s.append('args: ' + str(self.args)) - if self.patterns is None: - s.append('patterns: None') - else: - s.append('patterns:') - for p in self.patterns: - if type(p) is type(re.compile('')): - s.append(' ' + str(p.pattern)) - else: - s.append(' ' + str(p)) - s.append('buffer (last 100 chars): ' + str(self.buffer)[-100:]) - s.append('before (last 100 chars): ' + str(self.before)[-100:]) - s.append('after: ' + str(self.after)) - s.append('match: ' + str(self.match)) - s.append('match_index: ' + str(self.match_index)) - s.append('exitstatus: ' + str(self.exitstatus)) - s.append('flag_eof: ' + str(self.flag_eof)) - s.append('pid: ' + str(self.pid)) - s.append('child_fd: ' + str(self.child_fd)) - s.append('closed: ' + str(self.closed)) - s.append('timeout: ' + str(self.timeout)) - s.append('delimiter: ' + str(self.delimiter)) - s.append('logfile: ' + str(self.logfile)) - s.append('maxread: ' + str(self.maxread)) - s.append('ignorecase: ' + str(self.ignorecase)) - s.append('searchwindowsize: ' + str(self.searchwindowsize)) - s.append('delaybeforesend: ' + str(self.delaybeforesend)) - s.append('delayafterclose: ' + str(self.delayafterclose)) - s.append('delayafterterminate: ' + str(self.delayafterterminate)) - return '\n'.join(s) - - def __spawn(self): - """This starts the given command in a child process. - This does all the fork/exec type of stuff for a pty. - This is called by __init__. - """ - # The pid and child_fd of this object get set by this method. - # Note that it is difficult for this method to fail. - # You cannot detect if the child process cannot start. - # So the only way you can tell if the child process started - # or not is to try to read from the file descriptor. If you get - # EOF immediately then it means that the child is already dead. - # That may not necessarily be bad because you may haved spawned a child - # that performs some task; creates no stdout output; and then dies. - - assert self.pid is None, 'The pid member should be None.' - assert self.command is not None, 'The command member should not be None.' - - if self.use_native_pty_fork: - try: - self.pid, self.child_fd = pty.fork() - except OSError, e: - raise ExceptionPexpect('Error! pty.fork() failed: ' + str(e)) - else: # Use internal __fork_pty - self.pid, self.child_fd = self.__fork_pty() - - if self.pid == 0: # Child - try: - self.child_fd = sys.stdout.fileno() # used by setwinsize() - self.setwinsize(24, 80) - except: - # Some platforms do not like setwinsize (Cygwin). - # This will cause problem when running applications that - # are very picky about window size. - # This is a serious limitation, but not a show stopper. - pass - # Do not allow child to inherit open file descriptors from parent. - max_fd = resource.getrlimit(resource.RLIMIT_NOFILE)[0] - for i in range (3, max_fd): - try: - os.close (i) - except OSError: - pass - - # I don't know why this works, but ignoring SIGHUP fixes a - # problem when trying to start a Java daemon with sudo - # (specifically, Tomcat). - signal.signal(signal.SIGHUP, signal.SIG_IGN) - - if self.env is None: - os.execv(self.command, self.args) - else: - os.execvpe(self.command, self.args, self.env) - - # Parent - self.terminated = False - self.closed = False - - def __fork_pty(self): - """This implements a substitute for the forkpty system call. - This should be more portable than the pty.fork() function. - Specifically, this should work on Solaris. - - Modified 10.06.05 by Geoff Marshall: - Implemented __fork_pty() method to resolve the issue with Python's - pty.fork() not supporting Solaris, particularly ssh. - Based on patch to posixmodule.c authored by Noah Spurrier: - http://mail.python.org/pipermail/python-dev/2003-May/035281.html - """ - parent_fd, child_fd = os.openpty() - if parent_fd < 0 or child_fd < 0: - raise ExceptionPexpect, "Error! Could not open pty with os.openpty()." - - pid = os.fork() - if pid < 0: - raise ExceptionPexpect, "Error! Failed os.fork()." - elif pid == 0: - # Child. - os.close(parent_fd) - self.__pty_make_controlling_tty(child_fd) - - os.dup2(child_fd, 0) - os.dup2(child_fd, 1) - os.dup2(child_fd, 2) - - if child_fd > 2: - os.close(child_fd) - else: - # Parent. - os.close(child_fd) - - return pid, parent_fd - - def __pty_make_controlling_tty(self, tty_fd): - """This makes the pseudo-terminal the controlling tty. - This should be more portable than the pty.fork() function. - Specifically, this should work on Solaris. - """ - child_name = os.ttyname(tty_fd) - - # Disconnect from controlling tty if still connected. - fd = os.open("/dev/tty", os.O_RDWR | os.O_NOCTTY); - if fd >= 0: - os.close(fd) - - os.setsid() - - # Verify we are disconnected from controlling tty - try: - fd = os.open("/dev/tty", os.O_RDWR | os.O_NOCTTY); - if fd >= 0: - os.close(fd) - raise ExceptionPexpect, "Error! We are not disconnected from a controlling tty." - except: - # Good! We are disconnected from a controlling tty. - pass - - # Verify we can open child pty. - fd = os.open(child_name, os.O_RDWR); - if fd < 0: - raise ExceptionPexpect, "Error! Could not open child pty, " + child_name - else: - os.close(fd) - - # Verify we now have a controlling tty. - fd = os.open("/dev/tty", os.O_WRONLY) - if fd < 0: - raise ExceptionPexpect, "Error! Could not open controlling tty, /dev/tty" - else: - os.close(fd) - - def fileno (self): # File-like object. - """This returns the file descriptor of the pty for the child. - """ - return self.child_fd - - def close (self, force=True): # File-like object. - """This closes the connection with the child application. - Note that calling close() more than once is valid. - This emulates standard Python behavior with files. - Set force to True if you want to make sure that the child is terminated - (SIGKILL is sent if the child ignores SIGHUP and SIGINT). - """ - if not self.closed: - self.flush() - os.close (self.child_fd) - self.child_fd = -1 - self.closed = True - time.sleep(self.delayafterclose) # Give kernel time to update process status. - if self.isalive(): - if not self.terminate(force): - raise ExceptionPexpect ('close() could not terminate the child using terminate()') - - def flush (self): # File-like object. - """This does nothing. It is here to support the interface for a File-like object. - """ - pass - - def isatty (self): # File-like object. - """This returns True if the file descriptor is open and connected to a tty(-like) device, else False. - """ - return os.isatty(self.child_fd) - - def setecho (self, state): - """This sets the terminal echo mode on or off. - Note that anything the child sent before the echo will be lost, so - you should be sure that your input buffer is empty before you setecho. - For example, the following will work as expected. - p = pexpect.spawn('cat') - p.sendline ('1234') # We will see this twice (once from tty echo and again from cat). - p.expect (['1234']) - p.expect (['1234']) - p.setecho(False) # Turn off tty echo - p.sendline ('abcd') # We will set this only once (echoed by cat). - p.sendline ('wxyz') # We will set this only once (echoed by cat) - p.expect (['abcd']) - p.expect (['wxyz']) - The following WILL NOT WORK because the lines sent before the setecho - will be lost: - p = pexpect.spawn('cat') - p.sendline ('1234') # We will see this twice (once from tty echo and again from cat). - p.setecho(False) # Turn off tty echo - p.sendline ('abcd') # We will set this only once (echoed by cat). - p.sendline ('wxyz') # We will set this only once (echoed by cat) - p.expect (['1234']) - p.expect (['1234']) - p.expect (['abcd']) - p.expect (['wxyz']) - """ - self.child_fd - new = termios.tcgetattr(self.child_fd) - if state: - new[3] = new[3] | termios.ECHO - else: - new[3] = new[3] & ~termios.ECHO - # I tried TCSADRAIN and TCSAFLUSH, but these were inconsistent - # and blocked on some platforms. TCSADRAIN is probably ideal if it worked. - termios.tcsetattr(self.child_fd, termios.TCSANOW, new) - - def read_nonblocking (self, size = 1, timeout = -1): - """This reads at most size characters from the child application. - It includes a timeout. If the read does not complete within the - timeout period then a TIMEOUT exception is raised. - If the end of file is read then an EOF exception will be raised. - If a log file was set using setlog() then all data will - also be written to the log file. - - If timeout==None then the read may block indefinitely. - If timeout==-1 then the self.timeout value is used. - If timeout==0 then the child is polled and - if there was no data immediately ready then this will raise a TIMEOUT exception. - - The "timeout" refers only to the amount of time to read at least one character. - This is not effected by the 'size' parameter, so if you call - read_nonblocking(size=100, timeout=30) and only one character is - available right away then one character will be returned immediately. - It will not wait for 30 seconds for another 99 characters to come in. - - This is a wrapper around os.read(). - It uses select.select() to implement a timeout. - """ - if self.closed: - raise ValueError ('I/O operation on closed file in read_nonblocking().') - - if timeout == -1: - timeout = self.timeout - - # Note that some systems such as Solaris do not give an EOF when - # the child dies. In fact, you can still try to read - # from the child_fd -- it will block forever or until TIMEOUT. - # For this case, I test isalive() before doing any reading. - # If isalive() is false, then I pretend that this is the same as EOF. - if not self.isalive(): - r,w,e = self.__select([self.child_fd], [], [], 0) # timeout of 0 means "poll" - if not r: - self.flag_eof = True - raise EOF ('End Of File (EOF) in read_nonblocking(). Braindead platform.') - elif self.__irix_hack: - # This is a hack for Irix. It seems that Irix requires a long delay before checking isalive. - # This adds a 2 second delay, but only when the child is terminated. - r, w, e = self.__select([self.child_fd], [], [], 2) - if not r and not self.isalive(): - self.flag_eof = True - raise EOF ('End Of File (EOF) in read_nonblocking(). Pokey platform.') - - r,w,e = self.__select([self.child_fd], [], [], timeout) - - if not r: - if not self.isalive(): - # Some platforms, such as Irix, will claim that their processes are alive; - # then timeout on the select; and then finally admit that they are not alive. - self.flag_eof = True - raise EOF ('End of File (EOF) in read_nonblocking(). Very pokey platform.') - else: - raise TIMEOUT ('Timeout exceeded in read_nonblocking().') - - if self.child_fd in r: - try: - s = os.read(self.child_fd, size) - except OSError, e: # Linux does this - self.flag_eof = True - raise EOF ('End Of File (EOF) in read_nonblocking(). Exception style platform.') - if s == '': # BSD style - self.flag_eof = True - raise EOF ('End Of File (EOF) in read_nonblocking(). Empty string style platform.') - - if self.logfile is not None: - self.logfile.write (s) - self.logfile.flush() - - return s - - raise ExceptionPexpect ('Reached an unexpected state in read_nonblocking().') - - def read (self, size = -1): # File-like object. - """This reads at most "size" bytes from the file - (less if the read hits EOF before obtaining size bytes). - If the size argument is negative or omitted, - read all data until EOF is reached. - The bytes are returned as a string object. - An empty string is returned when EOF is encountered immediately. - """ - if size == 0: - return '' - if size < 0: - self.expect (self.delimiter) # delimiter default is EOF - return self.before - - # I could have done this more directly by not using expect(), but - # I deliberately decided to couple read() to expect() so that - # I would catch any bugs early and ensure consistant behavior. - # It's a little less efficient, but there is less for me to - # worry about if I have to later modify read() or expect(). - # Note, it's OK if size==-1 in the regex. That just means it - # will never match anything in which case we stop only on EOF. - cre = re.compile('.{%d}' % size, re.DOTALL) - index = self.expect ([cre, self.delimiter]) # delimiter default is EOF - if index == 0: - return self.after ### self.before should be ''. Should I assert this? - return self.before - - def readline (self, size = -1): # File-like object. - """This reads and returns one entire line. A trailing newline is kept in - the string, but may be absent when a file ends with an incomplete line. - Note: This readline() looks for a \\r\\n pair even on UNIX because - this is what the pseudo tty device returns. So contrary to what you - may expect you will receive the newline as \\r\\n. - An empty string is returned when EOF is hit immediately. - Currently, the size agument is mostly ignored, so this behavior is not - standard for a file-like object. If size is 0 then an empty string - is returned. - """ - if size == 0: - return '' - index = self.expect (['\r\n', self.delimiter]) # delimiter default is EOF - if index == 0: - return self.before + '\r\n' - else: - return self.before - - def __iter__ (self): # File-like object. - """This is to support iterators over a file-like object. - """ - return self - - def next (self): # File-like object. - """This is to support iterators over a file-like object. - """ - result = self.readline() - if result == "": - raise StopIteration - return result - - def readlines (self, sizehint = -1): # File-like object. - """This reads until EOF using readline() and returns a list containing - the lines thus read. The optional "sizehint" argument is ignored. - """ - lines = [] - while True: - line = self.readline() - if not line: - break - lines.append(line) - return lines - - def write(self, str): # File-like object. - """This is similar to send() except that there is no return value. - """ - self.send (str) - - def writelines (self, sequence): # File-like object. - """This calls write() for each element in the sequence. - The sequence can be any iterable object producing strings, - typically a list of strings. This does not add line separators - There is no return value. - """ - for str in sequence: - self.write (str) - - def send(self, str): - """This sends a string to the child process. - This returns the number of bytes written. - If a log file was set then the data is also written to the log. - """ - time.sleep(self.delaybeforesend) - if self.logfile is not None: - self.logfile.write (str) - self.logfile.flush() - c = os.write(self.child_fd, str) - return c - - def sendline(self, str=''): - """This is like send(), but it adds a line feed (os.linesep). - This returns the number of bytes written. - """ - n = self.send(str) - n = n + self.send (os.linesep) - return n - - def sendeof(self): - """This sends an EOF to the child. - This sends a character which causes the pending parent output - buffer to be sent to the waiting child program without - waiting for end-of-line. If it is the first character of the - line, the read() in the user program returns 0, which - signifies end-of-file. This means to work as expected - a sendeof() has to be called at the begining of a line. - This method does not send a newline. It is the responsibility - of the caller to ensure the eof is sent at the beginning of a line. - """ - fd = sys.stdin.fileno() - old = termios.tcgetattr(fd) # remember current state - new = termios.tcgetattr(fd) - new[3] = new[3] | termios.ICANON # ICANON must be set to recognize EOF - try: # use try/finally to ensure state gets restored - termios.tcsetattr(fd, termios.TCSADRAIN, new) - if 'CEOF' in dir(termios): - os.write (self.child_fd, '%c' % termios.CEOF) - else: - os.write (self.child_fd, '%c' % 4) # Silly platform does not define CEOF so assume CTRL-D - finally: # restore state - termios.tcsetattr(fd, termios.TCSADRAIN, old) - - def eof (self): - """This returns True if the EOF exception was ever raised. - """ - return self.flag_eof - - def terminate(self, force=False): - """This forces a child process to terminate. - It starts nicely with SIGHUP and SIGINT. If "force" is True then - moves onto SIGKILL. - This returns True if the child was terminated. - This returns False if the child could not be terminated. - """ - if not self.isalive(): - return True - self.kill(signal.SIGHUP) - time.sleep(self.delayafterterminate) - if not self.isalive(): - return True - self.kill(signal.SIGCONT) - time.sleep(self.delayafterterminate) - if not self.isalive(): - return True - self.kill(signal.SIGINT) - time.sleep(self.delayafterterminate) - if not self.isalive(): - return True - if force: - self.kill(signal.SIGKILL) - time.sleep(self.delayafterterminate) - if not self.isalive(): - return True - else: - return False - return False - #raise ExceptionPexpect ('terminate() could not terminate child process. Try terminate(force=True)?') - - def wait(self): - """This waits until the child exits. This is a blocking call. - This will not read any data from the child, so this will block forever - if the child has unread output and has terminated. In other words, the child - may have printed output then called exit(); but, technically, the child is - still alive until its output is read. - """ - if self.isalive(): - pid, status = os.waitpid(self.pid, 0) - else: - raise ExceptionPexpect ('Cannot wait for dead child process.') - self.exitstatus = os.WEXITSTATUS(status) - if os.WIFEXITED (status): - self.status = status - self.exitstatus = os.WEXITSTATUS(status) - self.signalstatus = None - self.terminated = True - elif os.WIFSIGNALED (status): - self.status = status - self.exitstatus = None - self.signalstatus = os.WTERMSIG(status) - self.terminated = True - elif os.WIFSTOPPED (status): - raise ExceptionPexpect ('Wait was called for a child process that is stopped. This is not supported. Is some other process attempting job control with our child pid?') - return self.exitstatus - - def isalive(self): - """This tests if the child process is running or not. - This is non-blocking. If the child was terminated then this - will read the exitstatus or signalstatus of the child. - This returns True if the child process appears to be running or False if not. - It can take literally SECONDS for Solaris to return the right status. - """ - if self.terminated: - return False - - if self.flag_eof: - # This is for Linux, which requires the blocking form of waitpid to get - # status of a defunct process. This is super-lame. The flag_eof would have - # been set in read_nonblocking(), so this should be safe. - waitpid_options = 0 - else: - waitpid_options = os.WNOHANG - - try: - pid, status = os.waitpid(self.pid, waitpid_options) - except OSError, e: # No child processes - if e[0] == errno.ECHILD: - raise ExceptionPexpect ('isalive() encountered condition where "terminated" is 0, but there was no child process. Did someone else call waitpid() on our process?') - else: - raise e - - # I have to do this twice for Solaris. I can't even believe that I figured this out... - # If waitpid() returns 0 it means that no child process wishes to - # report, and the value of status is undefined. - if pid == 0: - try: - pid, status = os.waitpid(self.pid, waitpid_options) ### os.WNOHANG) # Solaris! - except OSError, e: # This should never happen... - if e[0] == errno.ECHILD: - raise ExceptionPexpect ('isalive() encountered condition that should never happen. There was no child process. Did someone else call waitpid() on our process?') - else: - raise e - - # If pid is still 0 after two calls to waitpid() then - # the process really is alive. This seems to work on all platforms, except - # for Irix which seems to require a blocking call on waitpid or select, so I let read_nonblocking - # take care of this situation (unfortunately, this requires waiting through the timeout). - if pid == 0: - return True - - if pid == 0: - return True - - if os.WIFEXITED (status): - self.status = status - self.exitstatus = os.WEXITSTATUS(status) - self.signalstatus = None - self.terminated = True - elif os.WIFSIGNALED (status): - self.status = status - self.exitstatus = None - self.signalstatus = os.WTERMSIG(status) - self.terminated = True - elif os.WIFSTOPPED (status): - raise ExceptionPexpect ('isalive() encountered condition where child process is stopped. This is not supported. Is some other process attempting job control with our child pid?') - return False - - def kill(self, sig): - """This sends the given signal to the child application. - In keeping with UNIX tradition it has a misleading name. - It does not necessarily kill the child unless - you send the right signal. - """ - # Same as os.kill, but the pid is given for you. - if self.isalive(): - os.kill(self.pid, sig) - - def compile_pattern_list(self, patterns): - """This compiles a pattern-string or a list of pattern-strings. - Patterns must be a StringType, EOF, TIMEOUT, SRE_Pattern, or - a list of those. Patterns may also be None which results in - an empty list. - - This is used by expect() when calling expect_list(). - Thus expect() is nothing more than:: - cpl = self.compile_pattern_list(pl) - return self.expect_list(clp, timeout) - - If you are using expect() within a loop it may be more - efficient to compile the patterns first and then call expect_list(). - This avoid calls in a loop to compile_pattern_list(): - cpl = self.compile_pattern_list(my_pattern) - while some_condition: - ... - i = self.expect_list(clp, timeout) - ... - """ - if patterns is None: - return [] - if type(patterns) is not types.ListType: - patterns = [patterns] - - compile_flags = re.DOTALL # Allow dot to match \n - if self.ignorecase: - compile_flags = compile_flags | re.IGNORECASE - compiled_pattern_list = [] - for p in patterns: - if type(p) is types.StringType: - compiled_pattern_list.append(re.compile(p, compile_flags)) - elif p is EOF: - compiled_pattern_list.append(EOF) - elif p is TIMEOUT: - compiled_pattern_list.append(TIMEOUT) - elif type(p) is type(re.compile('')): - compiled_pattern_list.append(p) - else: - raise TypeError ('Argument must be one of StringType, EOF, TIMEOUT, SRE_Pattern, or a list of those type. %s' % str(type(p))) - - return compiled_pattern_list - - def expect(self, pattern, timeout = -1, searchwindowsize=None): - - """This seeks through the stream until a pattern is matched. - The pattern is overloaded and may take several types including a list. - The pattern can be a StringType, EOF, a compiled re, or a list of - those types. Strings will be compiled to re types. This returns the - index into the pattern list. If the pattern was not a list this - returns index 0 on a successful match. This may raise exceptions for - EOF or TIMEOUT. To avoid the EOF or TIMEOUT exceptions add - EOF or TIMEOUT to the pattern list. - - After a match is found the instance attributes - 'before', 'after' and 'match' will be set. - You can see all the data read before the match in 'before'. - You can see the data that was matched in 'after'. - The re.MatchObject used in the re match will be in 'match'. - If an error occured then 'before' will be set to all the - data read so far and 'after' and 'match' will be None. - - If timeout is -1 then timeout will be set to the self.timeout value. - - Note: A list entry may be EOF or TIMEOUT instead of a string. - This will catch these exceptions and return the index - of the list entry instead of raising the exception. - The attribute 'after' will be set to the exception type. - The attribute 'match' will be None. - This allows you to write code like this: - index = p.expect (['good', 'bad', pexpect.EOF, pexpect.TIMEOUT]) - if index == 0: - do_something() - elif index == 1: - do_something_else() - elif index == 2: - do_some_other_thing() - elif index == 3: - do_something_completely_different() - instead of code like this: - try: - index = p.expect (['good', 'bad']) - if index == 0: - do_something() - elif index == 1: - do_something_else() - except EOF: - do_some_other_thing() - except TIMEOUT: - do_something_completely_different() - These two forms are equivalent. It all depends on what you want. - You can also just expect the EOF if you are waiting for all output - of a child to finish. For example: - p = pexpect.spawn('/bin/ls') - p.expect (pexpect.EOF) - print p.before - - If you are trying to optimize for speed then see expect_list(). - """ - compiled_pattern_list = self.compile_pattern_list(pattern) - return self.expect_list(compiled_pattern_list, timeout, searchwindowsize) - - def expect_list(self, pattern_list, timeout = -1, searchwindowsize = -1): - """This takes a list of compiled regular expressions and returns - the index into the pattern_list that matched the child output. - The list may also contain EOF or TIMEOUT (which are not - compiled regular expressions). This method is similar to - the expect() method except that expect_list() does not - recompile the pattern list on every call. - This may help if you are trying to optimize for speed, otherwise - just use the expect() method. This is called by expect(). - If timeout==-1 then the self.timeout value is used. - If searchwindowsize==-1 then the self.searchwindowsize value is used. - """ - - self.patterns = pattern_list - - if timeout == -1: - timeout = self.timeout - if timeout is not None: - end_time = time.time() + timeout - if searchwindowsize == -1: - searchwindowsize = self.searchwindowsize - - try: - incoming = self.buffer - while True: # Keep reading until exception or return. - # Sequence through the list of patterns looking for a match. - first_match = -1 - for cre in pattern_list: - if cre is EOF or cre is TIMEOUT: - continue # The patterns for PexpectExceptions are handled differently. - if searchwindowsize is None: # search everything - match = cre.search(incoming) - else: - startpos = max(0, len(incoming) - searchwindowsize) - match = cre.search(incoming, startpos) - if match is None: - continue - if first_match > match.start() or first_match == -1: - first_match = match.start() - self.match = match - self.match_index = pattern_list.index(cre) - if first_match > -1: - self.buffer = incoming[self.match.end() : ] - self.before = incoming[ : self.match.start()] - self.after = incoming[self.match.start() : self.match.end()] - return self.match_index - # No match at this point - if timeout < 0 and timeout is not None: - raise TIMEOUT ('Timeout exceeded in expect_list().') - # Still have time left, so read more data - c = self.read_nonblocking (self.maxread, timeout) - time.sleep (0.0001) - incoming = incoming + c - if timeout is not None: - timeout = end_time - time.time() - except EOF, e: - self.buffer = '' - self.before = incoming - self.after = EOF - if EOF in pattern_list: - self.match = EOF - self.match_index = pattern_list.index(EOF) - return self.match_index - else: - self.match = None - self.match_index = None - raise EOF (str(e) + '\n' + str(self)) - except TIMEOUT, e: - self.before = incoming - self.after = TIMEOUT - if TIMEOUT in pattern_list: - self.match = TIMEOUT - self.match_index = pattern_list.index(TIMEOUT) - return self.match_index - else: - self.match = None - self.match_index = None - raise TIMEOUT (str(e) + '\n' + str(self)) - except Exception: - self.before = incoming - self.after = None - self.match = None - self.match_index = None - raise - - def getwinsize(self): - """This returns the terminal window size of the child tty. - The return value is a tuple of (rows, cols). - """ - if 'TIOCGWINSZ' in dir(termios): - TIOCGWINSZ = termios.TIOCGWINSZ - else: - TIOCGWINSZ = 1074295912L # assume if not defined - s = struct.pack('HHHH', 0, 0, 0, 0) - x = fcntl.ioctl(self.fileno(), TIOCGWINSZ, s) - return struct.unpack('HHHH', x)[0:2] - - def setwinsize(self, r, c): - """This sets the terminal window size of the child tty. - This will cause a SIGWINCH signal to be sent to the child. - This does not change the physical window size. - It changes the size reported to TTY-aware applications like - vi or curses -- applications that respond to the SIGWINCH signal. - """ - # Check for buggy platforms. Some Python versions on some platforms - # (notably OSF1 Alpha and RedHat 7.1) truncate the value for - # termios.TIOCSWINSZ. It is not clear why this happens. - # These platforms don't seem to handle the signed int very well; - # yet other platforms like OpenBSD have a large negative value for - # TIOCSWINSZ and they don't have a truncate problem. - # Newer versions of Linux have totally different values for TIOCSWINSZ. - # Note that this fix is a hack. - if 'TIOCSWINSZ' in dir(termios): - TIOCSWINSZ = termios.TIOCSWINSZ - else: - TIOCSWINSZ = -2146929561 - if TIOCSWINSZ == 2148037735L: # L is not required in Python >= 2.2. - TIOCSWINSZ = -2146929561 # Same bits, but with sign. - # Note, assume ws_xpixel and ws_ypixel are zero. - s = struct.pack('HHHH', r, c, 0, 0) - fcntl.ioctl(self.fileno(), TIOCSWINSZ, s) - - def interact(self, escape_character = chr(29), input_filter = None, output_filter = None): - """This gives control of the child process to the interactive user - (the human at the keyboard). - Keystrokes are sent to the child process, and the stdout and stderr - output of the child process is printed. - This simply echos the child stdout and child stderr to the real - stdout and it echos the real stdin to the child stdin. - When the user types the escape_character this method will stop. - The default for escape_character is ^]. This should not be confused - with ASCII 27 -- the ESC character. ASCII 29 was chosen - for historical merit because this is the character used - by 'telnet' as the escape character. The escape_character will - not be sent to the child process. - - You may pass in optional input and output filter functions. - These functions should take a string and return a string. - The output_filter will be passed all the output from the child process. - The input_filter will be passed all the keyboard input from the user. - The input_filter is run BEFORE the check for the escape_character. - - Note that if you change the window size of the parent - the SIGWINCH signal will not be passed through to the child. - If you want the child window size to change when the parent's - window size changes then do something like the following example: - import pexpect, struct, fcntl, termios, signal, sys - def sigwinch_passthrough (sig, data): - s = struct.pack("HHHH", 0, 0, 0, 0) - a = struct.unpack('hhhh', fcntl.ioctl(sys.stdout.fileno(), termios.TIOCGWINSZ , s)) - global p - p.setwinsize(a[0],a[1]) - p = pexpect.spawn('/bin/bash') # Note this is global and used in sigwinch_passthrough. - signal.signal(signal.SIGWINCH, sigwinch_passthrough) - p.interact() - """ - # Flush the buffer. - self.stdout.write (self.buffer) - self.stdout.flush() - self.buffer = '' - mode = tty.tcgetattr(self.STDIN_FILENO) - tty.setraw(self.STDIN_FILENO) - try: - self.__interact_copy(escape_character, input_filter, output_filter) - finally: - tty.tcsetattr(self.STDIN_FILENO, tty.TCSAFLUSH, mode) - - def __interact_writen(self, fd, data): - """This is used by the interact() method. - """ - while data != '' and self.isalive(): - n = os.write(fd, data) - data = data[n:] - def __interact_read(self, fd): - """This is used by the interact() method. - """ - return os.read(fd, 1000) - def __interact_copy(self, escape_character = None, input_filter = None, output_filter = None): - """This is used by the interact() method. - """ - while self.isalive(): - r,w,e = self.__select([self.child_fd, self.STDIN_FILENO], [], []) - if self.child_fd in r: - data = self.__interact_read(self.child_fd) - if output_filter: data = output_filter(data) - if self.logfile is not None: - self.logfile.write (data) - self.logfile.flush() - os.write(self.STDOUT_FILENO, data) - if self.STDIN_FILENO in r: - data = self.__interact_read(self.STDIN_FILENO) - if input_filter: data = input_filter(data) - i = data.rfind(escape_character) - if i != -1: - data = data[:i] - self.__interact_writen(self.child_fd, data) - break - self.__interact_writen(self.child_fd, data) - def __select (self, iwtd, owtd, ewtd, timeout=None): - """This is a wrapper around select.select() that ignores signals. - If select.select raises a select.error exception and errno is an EINTR error then - it is ignored. Mainly this is used to ignore sigwinch (terminal resize). - """ - # if select() is interrupted by a signal (errno==EINTR) then - # we loop back and enter the select() again. - if timeout is not None: - end_time = time.time() + timeout - while True: - try: - return select.select (iwtd, owtd, ewtd, timeout) - except select.error, e: - if e[0] == errno.EINTR: - # if we loop back we have to subtract the amount of time we already waited. - if timeout is not None: - timeout = end_time - time.time() - if timeout < 0: - return ([],[],[]) - else: # something else caused the select.error, so this really is an exception - raise - -############################################################################## -# The following methods are no longer supported or allowed.. - def setmaxread (self, maxread): - """This method is no longer supported or allowed. - I don't like getters and setters without a good reason. - """ - raise ExceptionPexpect ('This method is no longer supported or allowed. Just assign a value to the maxread member variable.') - def expect_exact (self, pattern_list, timeout = -1): - """This method is no longer supported or allowed. - It was too hard to maintain and keep it up to date with expect_list. - Few people used this method. Most people favored reliability over speed. - The implementation is left in comments in case anyone needs to hack this - feature back into their copy. - If someone wants to diff this with expect_list and make them work - nearly the same then I will consider adding this make in. - """ - raise ExceptionPexpect ('This method is no longer supported or allowed.') - def setlog (self, fileobject): - """This method is no longer supported or allowed. - """ - raise ExceptionPexpect ('This method is no longer supported or allowed. Just assign a value to the logfile member variable.') - -############################################################################## -# End of spawn class -############################################################################## - -def which (filename): - """This takes a given filename; tries to find it in the environment path; - then checks if it is executable. - This returns the full path to the filename if found and executable. - Otherwise this returns None. - """ - # Special case where filename already contains a path. - if os.path.dirname(filename) != '': - if os.access (filename, os.X_OK): - return filename - - if not os.environ.has_key('PATH') or os.environ['PATH'] == '': - p = os.defpath - else: - p = os.environ['PATH'] - - # Oddly enough this was the one line that made Pexpect - # incompatible with Python 1.5.2. - #pathlist = p.split (os.pathsep) - pathlist = string.split (p, os.pathsep) - - for path in pathlist: - f = os.path.join(path, filename) - if os.access(f, os.X_OK): - return f - return None - -def split_command_line(command_line): - """This splits a command line into a list of arguments. - It splits arguments on spaces, but handles - embedded quotes, doublequotes, and escaped characters. - It's impossible to do this with a regular expression, so - I wrote a little state machine to parse the command line. - """ - arg_list = [] - arg = '' - - # Constants to name the states we can be in. - state_basic = 0 - state_esc = 1 - state_singlequote = 2 - state_doublequote = 3 - state_whitespace = 4 # The state of consuming whitespace between commands. - state = state_basic - - for c in command_line: - if state == state_basic or state == state_whitespace: - if c == '\\': # Escape the next character - state = state_esc - elif c == r"'": # Handle single quote - state = state_singlequote - elif c == r'"': # Handle double quote - state = state_doublequote - elif c.isspace(): - # Add arg to arg_list if we aren't in the middle of whitespace. - if state == state_whitespace: - None # Do nothing. - else: - arg_list.append(arg) - arg = '' - state = state_whitespace - else: - arg = arg + c - state = state_basic - elif state == state_esc: - arg = arg + c - state = state_basic - elif state == state_singlequote: - if c == r"'": - state = state_basic - else: - arg = arg + c - elif state == state_doublequote: - if c == r'"': - state = state_basic - else: - arg = arg + c - - if arg != '': - arg_list.append(arg) - return arg_list - diff -Nru hplip-3.14.6/base/pkit.py hplip-3.15.2/base/pkit.py --- hplip-3.14.6/base/pkit.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/pkit.py 2015-01-29 12:20:35.000000000 +0000 @@ -25,15 +25,19 @@ import sys # Local -from base.g import * -from base.codes import * -from base import utils, password +from .g import * +from .codes import * +from . import utils, password from installer import pluginhandler # DBus import dbus import dbus.service -import gobject + +if PY3: + from gi import _gobject as gobject +else: + import gobject import warnings # Ignore: .../dbus/connection.py:242: DeprecationWarning: object.__init__() takes no parameters @@ -154,7 +158,7 @@ log.warning("AccessDeniedException") raise - except dbus.DBusException, ex: + except dbus.DBusException as ex: log.warning("AccessDeniedException %r", ex) raise AccessDeniedException(ex.message) @@ -194,7 +198,7 @@ if utils.to_bool(sys_conf.get('configure', 'policy-kit')): class BackendService(PolicyKitService): INTERFACE_NAME = 'com.hp.hplip' - SERVICE_NAME = 'com.hp.hplip' + SERVICE_NAME = 'com.hp.hplip' def __init__(self, connection=None, path='/'): if connection is None: @@ -228,7 +232,7 @@ if self.version == 0: try: self.check_permission_v0(sender, INSTALL_PLUGIN_ACTION) - except AccessDeniedException, e: + except AccessDeniedException as e: log.error("installPlugin: Failed due to permission error [%s]" %e) return False @@ -245,7 +249,7 @@ log.debug("installPlugin: installing from '%s'" % src_dir) try: from installer import pluginhandler - except ImportError,e: + except ImportError as e: log.error("Failed to Import pluginhandler") return False @@ -292,7 +296,7 @@ try: ok = self.iface.installPlugin(src_dir) return ok - except dbus.DBusException, e: + except dbus.DBusException as e: log.debug("installPlugin: %s" % str(e)) return False @@ -307,7 +311,7 @@ try: ok = self.iface.shutdown("") return ok - except dbus.DBusException, e: + except dbus.DBusException as e: log.debug("shutdown: %s" % str(e)) return False @@ -325,7 +329,7 @@ su_sudo = "%s" need_sudo = False log.debug("Using PolicyKit for authentication") - except dbus.DBusException, ex: + except dbus.DBusException as ex: log.error("PolicyKit NOT installed when configured for use. [%s]"%ex) if os.geteuid() == 0: diff -Nru hplip-3.14.6/base/pml.py hplip-3.15.2/base/pml.py --- hplip-3.14.6/base/pml.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/pml.py 2015-01-29 12:20:35.000000000 +0000 @@ -24,8 +24,10 @@ import struct # Local -from g import * -from base.utils import unprintable +from .g import * +from .utils import printable +from .utils import unprintable +from .sixext import to_bytes_utf8, to_unicode, to_bytes_latin, PY3, to_string_latin # Request codes GET_REQUEST = 0x00 @@ -96,7 +98,7 @@ return buildPMLGetPacket(oid['oid']) def buildEmbeddedPMLSetPacket(oid, value, data_type): - return ''.join(['PML\x20', buildPMLSetPacket(oid, value, data_type)]) + return to_bytes_utf8('').join([to_bytes_utf8('PML\x20'), buildPMLSetPacket(oid, value, data_type)]) def buildPMLSetPacket(oid, value, data_type): # String dotted notation oid = ''.join([chr(int(b.strip())) for b in oid.split('.')]) @@ -125,9 +127,8 @@ p = struct.pack('>BBB%ss%ss' % (len(oid), len(data)), SET_REQUEST, TYPE_OBJECT_IDENTIFIER, - len(oid), oid, + len(oid), to_bytes_utf8(oid), data) - return p def ConvertToPMLDataFormat(value, data_type): @@ -147,7 +148,13 @@ data = struct.pack(">f", float(value)) elif data_type == TYPE_STRING: - #data = struct.pack(">BB%ss" % len(value), 0x01, 0x15, value) + #For PY2: If data is in unicode, converting to string (e.g Fax Name) + #For PY3: If data is in string, converting to bytes + try: + value = value.encode('utf-8') + except (UnicodeEncodeError, UnicodeDecodeError) as e: + value = value + data = struct.pack(">BB%ss" % len(value), 0x00, 0x0e, value) # changed for K80, seems to work on others... elif data_type == TYPE_BINARY: @@ -162,25 +169,23 @@ def ConvertFromPMLDataFormat(data, data_type, desired_int_size=INT_SIZE_INT): if data_type in (TYPE_ENUMERATION, TYPE_SIGNED_INTEGER, TYPE_COLLECTION): - if len(data): - - if data[0] == '\xff': + if data[0] == b'\xff': while len(data) < 4: - data = '\xff' + data + data = b'\xff' + data else: while len(data) < 4: - data = '\x00' + data + data = b'\x00' + data if desired_int_size == INT_SIZE_INT: return struct.unpack(">i", data)[0] elif desired_int_size == INT_SIZE_WORD: - return struct.unpack(">h", data[-INT_SIZE_WORD])[0] + return struct.unpack(">h", data[len(INT_SIZE_WORD)-INT_SIZE_WORD:len(INT_SIZE_WORD)])[0] elif desired_int_size == INT_SIZE_BYTE: - return struct.unpack(">b", data[-INT_SIZE_BYTE])[0] + return struct.unpack(">b", data[len(data)-INT_SIZE_BYTE:len(data)])[0] else: raise Error(ERROR_INTERNAL) @@ -195,10 +200,13 @@ return 0.0 elif data_type == TYPE_STRING: - return ''.join([c for c in data if c not in unprintable]) + if PY3: + return to_string_latin(b''.join([to_bytes_latin(chr(c)) for c in data if to_bytes_latin(chr(c)) not in unprintable])) + else: + return ''.join([c for c in data if c not in unprintable]) elif data_type == TYPE_BINARY: - return data + return to_string_latin(data) return None diff -Nru hplip-3.14.6/base/queues.py hplip-3.15.2/base/queues.py --- hplip-3.14.6/base/queues.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/queues.py 2015-01-29 12:20:35.000000000 +0000 @@ -26,10 +26,12 @@ import re # Local -from base.g import * -from base import utils, tui, password, os_utils, smart_install +from .g import * +from . import utils, tui, password, os_utils, smart_install from prnt import cups from installer import core_install +from .sixext import to_string_utf8 + # ppd type HPCUPS = 1 @@ -38,7 +40,7 @@ HPOTHER = 4 DEVICE_URI_PATTERN = re.compile(r"""(.*):/(.*?)/(\S*?)\?(?:serial=(\S*)|device=(\S*)|ip=(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}[^&]*)|zc=(\S+))(?:&port=(\d))?""", re.I) -NICKNAME_PATTERN = re.compile(r'''\*NickName:\s*\"(.*)"''', re.MULTILINE) +NICKNAME_PATTERN = re.compile(b'''\*NickName:\s*\"(.*)"''', re.MULTILINE) NET_PATTERN = re.compile(r"""(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})""") NET_ZC_PATTERN = re.compile(r'''zc=(.*)''',re.IGNORECASE) NET_OTHER_PATTERN = re.compile(r'''(.*)://(.*)''',re.IGNORECASE) @@ -82,7 +84,8 @@ def parseQueues(mode): is_hpcups_installed = to_bool(sys_conf.get('configure', 'hpcups-install', '0')) is_hpijs_installed = to_bool(sys_conf.get('configure', 'hpijs-install', '0')) - status, output = utils.run('lpstat -v') + st, output = utils.run('lpstat -v') + status = True cups_printers = [] if output.find("No destinations added") != -1 or output.find("lpstat:") != -1: @@ -126,19 +129,25 @@ else: log.debug("PPD: %s" % ppd_file) try: - fileptr = file(ppd_file, 'r').read(4096) + fileptr = open(ppd_file, 'rb').read() except IOError: log.warn("Fail to read ppd=%s file"%ppd_file) + if os.access(ppd_file,os.R_OK): + log.debug("File %s has read permissions" %ppd_file) + else: + log.warn("Insufficient permission to access file %s" %ppd_file) + status = False + return mapofDevices,status desc='' else: try: - desc = NICKNAME_PATTERN.search(fileptr).group(1) + desc = to_string_utf8( NICKNAME_PATTERN.search(fileptr).group(1) ) except AttributeError: desc = '' log.debug("PPD Description: %s" % desc) cmd= 'lpstat -p%s' % printer_name - status, output = utils.run(cmd) + st, output = utils.run(cmd) log.debug("Printer status: %s" % output.replace("\n", "")) #### checking for USb devices #### @@ -196,7 +205,7 @@ addToDeviceList(Key, printer_name, device_uri,back_end, ppd_fileType,PPDFileError, Is_Print_Q_Enabled) log.info("") - return mapofDevices + return mapofDevices,status # Validate and remove Queue @@ -304,7 +313,7 @@ def main_function(passwordObj = None, mode = GUI_MODE, ui_toolkit= UI_TOOLKIT_QT4, quiet_mode = False, DEVICE_URI=None): global Error_Found try: - from base import device, pml + from . import device, pml # This can fail due to hpmudext not being present except ImportError: log.error("Device library is not avail.") @@ -312,39 +321,42 @@ if mode == INTERACTIVE_MODE: try: - from base import password + from . import password except ImportError: log.warn("Failed to import password object") else: cups.setPasswordCallback(password.showPasswordPrompt) - mapofDevices = parseQueues(mode) - if mapofDevices.items() == 0: - log.debug("No queues found.") - - for key,val in mapofDevices.items(): - if len(val) >1: - if not quiet_mode: - Error_Found = True - log.warn("%d queues of same device %s is configured.\nRemove unwanted queues."%(len(val),val[0].PrinterName)) - - for que in val: - reconfigure_Queue(que, mode) - else: - log.debug("") - log.debug("Single print queue is configured for '%s'. " %val[0].PrinterName) - reconfigure_Queue(val[0], mode) - - SI_sts, error_str = smart_install.disable(mode, '', None, None, passwordObj) - if SI_sts != ERROR_NO_SI_DEVICE: - Error_Found = True + mapofDevices,status = parseQueues(mode) + if status: + if list(mapofDevices.items()) == 0: + log.debug("No queues found.") + + for key,val in list(mapofDevices.items()): + if len(val) >1: + if not quiet_mode: + Error_Found = True + log.warn("%d queues of same device %s is configured.\nRemove unwanted queues."%(len(val),val[0].PrinterName)) - if Error_Found is False: - if not quiet_mode: - if len(mapofDevices) == 0: - log.warn("No Queue(s) configured.") + for que in val: + reconfigure_Queue(que, mode) else: - log.info("Queue(s) configured correctly using HPLIP.") + log.debug("") + log.debug("Single print queue is configured for '%s'. " %val[0].PrinterName) + reconfigure_Queue(val[0], mode) + + SI_sts, error_str = smart_install.disable(mode, '', None, None, passwordObj) + if SI_sts != ERROR_NO_SI_DEVICE: + Error_Found = True + + if Error_Found is False: + if not quiet_mode: + if len(mapofDevices) == 0: + log.warn("No Queue(s) configured.") + else: + log.info("Queue(s) configured correctly using HPLIP.") + else: + log.warn("Could not complete Queue(s) configuration check") cups.releaseCupsInstance() @@ -365,34 +377,37 @@ dialog = QueuesDiagnose(None, "","",QUEUES_MSG_SENDING,passwordObj) cups.setPasswordCallback(setupdialog.showPasswordUI) - mapofDevices = parseQueues(mode) - if mapofDevices.items() == 0: - log.debug("No queues found.") - - for key,val in mapofDevices.items(): - if len(val) >1: - log.warn('%d queues of same device %s is configured. Remove unwanted queues.' %(len(val),val[0].PrinterName)) - if not quiet_mode: - Error_Found = True - dialog.showMessage("%d queues of same device %s is configured.\nRemove unwanted queues."%(len(val),val[0].PrinterName)) - for que in val: - reconfigure_Queue(que, mode, dialog,app) + mapofDevices,status = parseQueues(mode) + if status: + if list(mapofDevices.items()) == 0: + log.debug("No queues found.") + + for key,val in list(mapofDevices.items()): + if len(val) >1: + log.warn('%d queues of same device %s is configured. Remove unwanted queues.' %(len(val),val[0].PrinterName)) + if not quiet_mode: + Error_Found = True + dialog.showMessage("%d queues of same device %s is configured.\nRemove unwanted queues."%(len(val),val[0].PrinterName)) + for que in val: + reconfigure_Queue(que, mode, dialog,app) - else: - log.debug("") - log.debug("Single print queue is configured for '%s'. " %val[0].PrinterName) - reconfigure_Queue(val[0], mode, dialog, app) - - SI_sts, error_str = smart_install.disable(mode, ui_toolkit, dialog, app, passwordObj) - if SI_sts != ERROR_NO_SI_DEVICE: - Error_Found = True - - if Error_Found is False: - if not quiet_mode: - if len(mapofDevices) == 0: - msg= "No Queue(s) configured." else: - msg= "Queue(s) configured correctly using HPLIP." - dialog.showSuccessMessage(msg) + log.debug("") + log.debug("Single print queue is configured for '%s'. " %val[0].PrinterName) + reconfigure_Queue(val[0], mode, dialog, app) + + SI_sts, error_str = smart_install.disable(mode, ui_toolkit, dialog, app, passwordObj) + if SI_sts != ERROR_NO_SI_DEVICE: + Error_Found = True + + if Error_Found is False: + if not quiet_mode: + if len(mapofDevices) == 0: + msg= "No Queue(s) configured." + else: + msg= "Queue(s) configured correctly using HPLIP." + dialog.showSuccessMessage(msg) + else: + log.warn("Could not complete Queue(s) configuration check") cups.releaseCupsInstance() diff -Nru hplip-3.14.6/base/services.py hplip-3.15.2/base/services.py --- hplip-3.14.6/base/services.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/services.py 2015-01-29 12:20:35.000000000 +0000 @@ -21,7 +21,7 @@ # # -from __future__ import generators + # Std Lib import sys @@ -39,20 +39,20 @@ import stat import string import glob -import commands # TODO: Replace with subprocess (commands is deprecated in Python 3.0) -import cStringIO +import subprocess # TODO: Replace with subprocess (commands is deprecated in Python 3.0) +import io import re import getpass import locale -import htmlentitydefs -import urllib +from .sixext.moves import html_entities # Local -from base.g import * -from codes import * -from base import utils, tui -import pexpect -import logger +from .g import * +from .codes import * +from . import utils, tui +from . import logger + + # System wide logger log = logger.Logger('', logger.Logger.LOG_LEVEL_INFO, logger.Logger.LOG_TO_CONSOLE) log.set_level('info') @@ -89,7 +89,7 @@ x = 1 for cmd in open_mdns_port_cmd: cmd = passwordObj.getAuthCmd() % cmd - status, output = utils.run(cmd, passwordObj,"Need authentication to open mdns port [%s]"%cmd) + status, output = utils.run(cmd, passwordObj, "Need authentication to open mdns port [%s]"%cmd) if status != 0: log.warn("An error occurred running '%s'" % cmd) @@ -169,7 +169,7 @@ if 'stop' in out or 'inactive' in out: cmd_start = passwordObj.getAuthCmd()%("service %s start"%service_name) log.debug("cmd_start=%s"%cmd_start) - sts,out = utils.run(cmd_start, passwordObj,"Need authentication to start/restart %s service"%service_name) + sts,out = utils.run(cmd_start, passwordObj, "Need authentication to start/restart %s service"%service_name) if sts ==0: ret_Val = True elif 'unrecognized service' in out: @@ -234,7 +234,7 @@ log.error("Smart Install could not be disabled\n") else: try: - from base import pkit + from . import pkit plugin = PLUGIN_REQUIRED plugin_reason = PLUGIN_REASON_NONE ok, sudo_ok = pkit.run_plugin_command(plugin == PLUGIN_REQUIRED, plugin_reason) diff -Nru hplip-3.14.6/base/sixext.py hplip-3.15.2/base/sixext.py --- hplip-3.14.6/base/sixext.py 1970-01-01 00:00:00.000000000 +0000 +++ hplip-3.15.2/base/sixext.py 2015-01-29 12:20:35.000000000 +0000 @@ -0,0 +1,184 @@ +"""Utilities for writing code that runs on Python 2 and 3""" +import sys +import types +from .six import * +__version__ = "1.0" + +def _add_doc(func, doc): + """Add documentation to a function.""" + func.__doc__ = doc + + +class _MovedItems_addon(types.ModuleType): + """Lazy loading of moved objects""" + +_moved_attributes_addon = [ + + MovedModule("builtins", "__builtin__"), + MovedModule("configparser", "ConfigParser"), + MovedModule("copyreg", "copy_reg"), + MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), + MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), + MovedModule("http_cookies", "Cookie", "http.cookies"), + MovedModule("html_entities", "htmlentitydefs", "html.entities"), + MovedModule("html_parser", "HTMLParser", "html.parser"), + MovedModule("http_client", "httplib", "http.client"), + MovedModule("email_mime_multipart", "email.MIMEMultipart", "email.mime.multipart"), + MovedModule("email_mime_text", "email.MIMEText", "email.mime.text"), + MovedModule("email_mime_base", "email.MIMEBase", "email.mime.base"), + MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"), + MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"), + MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"), + MovedModule("cPickle", "cPickle", "pickle"), + MovedModule("queue", "Queue"), + MovedModule("reprlib", "repr"), + MovedModule("socketserver", "SocketServer"), + MovedModule("_thread", "thread", "_thread"), + MovedModule("tkinter", "Tkinter"), + MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"), + MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"), + MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"), + MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"), + MovedModule("tkinter_tix", "Tix", "tkinter.tix"), + MovedModule("tkinter_ttk", "ttk", "tkinter.ttk"), + MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"), + MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"), + MovedModule("tkinter_colorchooser", "tkColorChooser", + "tkinter.colorchooser"), + MovedModule("tkinter_commondialog", "tkCommonDialog", + "tkinter.commondialog"), + MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"), + MovedModule("tkinter_font", "tkFont", "tkinter.font"), + MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"), + MovedModule("tkinter_tksimpledialog", "tkSimpleDialog", + "tkinter.simpledialog"), + MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"), + MovedModule("urllib2_parse", "urllib2", "urllib.parse"), + MovedModule("urllib2_error", "urllib2", "urllib.error"), + MovedModule("urllib2_request", "urllib2", "urllib.request"), + MovedModule("urllib_request", "urllib", "urllib.request"), + MovedModule("urllib_parse", "urllib", "urllib.parse"), + MovedModule("urllib_error", "urllib", "urllib.error"), + MovedModule("xmlrpc_client", "xmlrpclib", "xmlrpc.client"), + MovedModule("winreg", "_winreg"), + MovedModule("email_mime_image", "email.MIMEImage", "email.mime.image"), + MovedModule("email_encoders", "email.Encoders", "email.encoders"), + MovedModule("sha", "sha", "hashlib"), + + MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"), + MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"), + MovedAttribute("filterfalse", "itertools", "itertools", "ifilterfalse", "filterfalse"), + MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"), + MovedAttribute("map", "itertools", "builtins", "imap", "map"), + MovedAttribute("range", "__builtin__", "builtins", "xrange", "range"), + MovedAttribute("reload_module", "__builtin__", "imp", "reload"), + MovedAttribute("reduce", "__builtin__", "functools"), + MovedAttribute("StringIO", "StringIO", "io"), + MovedAttribute("UserString", "UserString", "collections"), + MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"), + MovedAttribute("zip", "itertools", "builtins", "izip", "zip"), + MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"), + + +] + +for attr in _moved_attributes_addon: + setattr(_MovedItems_addon, attr.name, attr) +del attr + + +moves = sys.modules[__name__ + ".moves"] = _MovedItems_addon("moves") + + +import io +class xStringIO(io.BytesIO): + if PY3: + def makefile(self, x): + return self + else: + def makefile(self, x, y): + return self + +if PY3: + + def to_bytes_latin(s): + return s.encode("latin-1") + + + def to_bytes_utf8(s): + return s.encode("utf-8") + + + def to_string_utf8(s): + return s.decode("utf-8") + + + def to_string_latin(s): + return s.decode("latin-1") + + + def to_unicode(s, enc=None): + return str(s) + + + def from_unicode_to_str(s,enc=''): + return s + + + def to_long(i): + return i + + + import io + StringIO = io.StringIO + BytesIO = io.BytesIO + + import subprocess + + +else: + def to_bytes_latin(s): + return s + + + def to_bytes_utf8(s): + return s + + + def to_string_utf8(s): + return s + + + def to_string_latin(s): + return s + + + def to_unicode(s, enc=None): + if enc: + return unicode(s, enc)#, "unicode_escape") + else: + return unicode(s)#, "unicode_escape") + + + def from_unicode_to_str(s,enc='utf-8'): + return s.encode(enc) + + + def to_long(i): + return long(i) + + + import cStringIO + StringIO = BytesIO = cStringIO.StringIO + import gobject + import commands as subprocess + + + +_add_doc(to_bytes_utf8, """Byte literal""") +_add_doc(to_bytes_latin, """Byte literal""") +_add_doc(to_string_utf8, """String literal""") +_add_doc(to_string_latin, """String literal""") +_add_doc(to_unicode, """Text literal""") + + diff -Nru hplip-3.14.6/base/six.py hplip-3.15.2/base/six.py --- hplip-3.14.6/base/six.py 1970-01-01 00:00:00.000000000 +0000 +++ hplip-3.15.2/base/six.py 2015-01-29 12:20:35.000000000 +0000 @@ -0,0 +1,632 @@ +"""Utilities for writing code that runs on Python 2 and 3""" + +# Copyright (c) 2010-2014 Benjamin Peterson +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +import operator +import sys +import types + +__author__ = "Benjamin Peterson " +__version__ = "1.5.2" + + +# Useful for very coarse version differentiation. +PY2 = sys.version_info[0] == 2 +PY3 = sys.version_info[0] == 3 + +if PY3: + string_types = str, + integer_types = int, + class_types = type, + text_type = str + binary_type = bytes + + MAXSIZE = sys.maxsize +else: + string_types = basestring, + integer_types = (int, long) + class_types = (type, types.ClassType) + text_type = unicode + binary_type = str + + if sys.platform.startswith("java"): + # Jython always uses 32 bits. + MAXSIZE = int((1 << 31) - 1) + else: + # It's possible to have sizeof(long) != sizeof(Py_ssize_t). + class X(object): + def __len__(self): + return 1 << 31 + try: + len(X()) + except OverflowError: + # 32-bit + MAXSIZE = int((1 << 31) - 1) + else: + # 64-bit + MAXSIZE = int((1 << 63) - 1) + del X + + +def _add_doc(func, doc): + """Add documentation to a function.""" + func.__doc__ = doc + + +def _import_module(name): + """Import module, returning the module after the last dot.""" + __import__(name) + return sys.modules[name] + + +class _LazyDescr(object): + + def __init__(self, name): + self.name = name + + def __get__(self, obj, tp): + result = self._resolve() + setattr(obj, self.name, result) # Invokes __set__. + # This is a bit ugly, but it avoids running this again. + delattr(obj.__class__, self.name) + return result + + +class MovedModule(_LazyDescr): + + def __init__(self, name, old, new=None): + super(MovedModule, self).__init__(name) + if PY3: + if new is None: + new = name + self.mod = new + else: + self.mod = old + + def _resolve(self): + return _import_module(self.mod) + + def __getattr__(self, attr): + # Hack around the Django autoreloader. The reloader tries to get + # __file__ or __name__ of every module in sys.modules. This doesn't work + # well if this MovedModule is for an module that is unavailable on this + # machine (like winreg on Unix systems). Thus, we pretend __file__ and + # __name__ don't exist if the module hasn't been loaded yet. See issues + # #51 and #53. + if attr in ("__file__", "__name__") and self.mod not in sys.modules: + raise AttributeError + _module = self._resolve() + value = getattr(_module, attr) + setattr(self, attr, value) + return value + + +class _LazyModule(types.ModuleType): + + def __init__(self, name): + super(_LazyModule, self).__init__(name) + self.__doc__ = self.__class__.__doc__ + + def __dir__(self): + attrs = ["__doc__", "__name__"] + attrs += [attr.name for attr in self._moved_attributes] + return attrs + + # Subclasses should override this + _moved_attributes = [] + + +class MovedAttribute(_LazyDescr): + + def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None): + super(MovedAttribute, self).__init__(name) + if PY3: + if new_mod is None: + new_mod = name + self.mod = new_mod + if new_attr is None: + if old_attr is None: + new_attr = name + else: + new_attr = old_attr + self.attr = new_attr + else: + self.mod = old_mod + if old_attr is None: + old_attr = name + self.attr = old_attr + + def _resolve(self): + module = _import_module(self.mod) + return getattr(module, self.attr) + + + +class _MovedItems(_LazyModule): + """Lazy loading of moved objects""" + + +_moved_attributes = [ + MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"), + MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"), + MovedAttribute("filterfalse", "itertools", "itertools", "ifilterfalse", "filterfalse"), + MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"), + MovedAttribute("map", "itertools", "builtins", "imap", "map"), + MovedAttribute("range", "__builtin__", "builtins", "xrange", "range"), + MovedAttribute("reload_module", "__builtin__", "imp", "reload"), + MovedAttribute("reduce", "__builtin__", "functools"), + MovedAttribute("StringIO", "StringIO", "io"), + MovedAttribute("UserString", "UserString", "collections"), + MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"), + MovedAttribute("zip", "itertools", "builtins", "izip", "zip"), + MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"), + + MovedModule("builtins", "__builtin__"), + MovedModule("configparser", "ConfigParser"), + MovedModule("copyreg", "copy_reg"), + MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), + MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), + MovedModule("http_cookies", "Cookie", "http.cookies"), + MovedModule("html_entities", "htmlentitydefs", "html.entities"), + MovedModule("html_parser", "HTMLParser", "html.parser"), + MovedModule("http_client", "httplib", "http.client"), + MovedModule("email_mime_multipart", "email.MIMEMultipart", "email.mime.multipart"), + MovedModule("email_mime_text", "email.MIMEText", "email.mime.text"), + MovedModule("email_mime_base", "email.MIMEBase", "email.mime.base"), + MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"), + MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"), + MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"), + MovedModule("cPickle", "cPickle", "pickle"), + MovedModule("queue", "Queue"), + MovedModule("reprlib", "repr"), + MovedModule("socketserver", "SocketServer"), + MovedModule("_thread", "thread", "_thread"), + MovedModule("tkinter", "Tkinter"), + MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"), + MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"), + MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"), + MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"), + MovedModule("tkinter_tix", "Tix", "tkinter.tix"), + MovedModule("tkinter_ttk", "ttk", "tkinter.ttk"), + MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"), + MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"), + MovedModule("tkinter_colorchooser", "tkColorChooser", + "tkinter.colorchooser"), + MovedModule("tkinter_commondialog", "tkCommonDialog", + "tkinter.commondialog"), + MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"), + MovedModule("tkinter_font", "tkFont", "tkinter.font"), + MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"), + MovedModule("tkinter_tksimpledialog", "tkSimpleDialog", + "tkinter.simpledialog"), + MovedModule("urllib_parse", __name__ + ".moves.urllib_parse", "urllib.parse"), + MovedModule("urllib_error", __name__ + ".moves.urllib_error", "urllib.error"), + MovedModule("urllib", __name__ + ".moves.urllib", __name__ + ".moves.urllib"), + MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"), + MovedModule("xmlrpc_client", "xmlrpclib", "xmlrpc.client"), + MovedModule("winreg", "_winreg"), +] +for attr in _moved_attributes: + setattr(_MovedItems, attr.name, attr) + if isinstance(attr, MovedModule): + sys.modules[__name__ + ".moves." + attr.name] = attr +del attr + +_MovedItems._moved_attributes = _moved_attributes + +moves = sys.modules[__name__ + ".moves"] = _MovedItems(__name__ + ".moves") + + +class Module_six_moves_urllib_parse(_LazyModule): + """Lazy loading of moved objects in six.moves.urllib_parse""" + + +_urllib_parse_moved_attributes = [ + MovedAttribute("ParseResult", "urlparse", "urllib.parse"), + MovedAttribute("parse_qs", "urlparse", "urllib.parse"), + MovedAttribute("parse_qsl", "urlparse", "urllib.parse"), + MovedAttribute("urldefrag", "urlparse", "urllib.parse"), + MovedAttribute("urljoin", "urlparse", "urllib.parse"), + MovedAttribute("urlparse", "urlparse", "urllib.parse"), + MovedAttribute("urlsplit", "urlparse", "urllib.parse"), + MovedAttribute("urlunparse", "urlparse", "urllib.parse"), + MovedAttribute("urlunsplit", "urlparse", "urllib.parse"), + MovedAttribute("quote", "urllib", "urllib.parse"), + MovedAttribute("quote_plus", "urllib", "urllib.parse"), + MovedAttribute("unquote", "urllib", "urllib.parse"), + MovedAttribute("unquote_plus", "urllib", "urllib.parse"), + MovedAttribute("urlencode", "urllib", "urllib.parse"), +] +for attr in _urllib_parse_moved_attributes: + setattr(Module_six_moves_urllib_parse, attr.name, attr) +del attr + +Module_six_moves_urllib_parse._moved_attributes = _urllib_parse_moved_attributes + +sys.modules[__name__ + ".moves.urllib_parse"] = sys.modules[__name__ + ".moves.urllib.parse"] = Module_six_moves_urllib_parse(__name__ + ".moves.urllib_parse") + + +class Module_six_moves_urllib_error(_LazyModule): + """Lazy loading of moved objects in six.moves.urllib_error""" + + +_urllib_error_moved_attributes = [ + MovedAttribute("URLError", "urllib2", "urllib.error"), + MovedAttribute("HTTPError", "urllib2", "urllib.error"), + MovedAttribute("ContentTooShortError", "urllib", "urllib.error"), +] +for attr in _urllib_error_moved_attributes: + setattr(Module_six_moves_urllib_error, attr.name, attr) +del attr + +Module_six_moves_urllib_error._moved_attributes = _urllib_error_moved_attributes + +sys.modules[__name__ + ".moves.urllib_error"] = sys.modules[__name__ + ".moves.urllib.error"] = Module_six_moves_urllib_error(__name__ + ".moves.urllib.error") + + +class Module_six_moves_urllib_request(_LazyModule): + """Lazy loading of moved objects in six.moves.urllib_request""" + + +_urllib_request_moved_attributes = [ + MovedAttribute("urlopen", "urllib2", "urllib.request"), + MovedAttribute("install_opener", "urllib2", "urllib.request"), + MovedAttribute("build_opener", "urllib2", "urllib.request"), + MovedAttribute("pathname2url", "urllib", "urllib.request"), + MovedAttribute("url2pathname", "urllib", "urllib.request"), + MovedAttribute("getproxies", "urllib", "urllib.request"), + MovedAttribute("Request", "urllib2", "urllib.request"), + MovedAttribute("OpenerDirector", "urllib2", "urllib.request"), + MovedAttribute("HTTPDefaultErrorHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPRedirectHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPCookieProcessor", "urllib2", "urllib.request"), + MovedAttribute("ProxyHandler", "urllib2", "urllib.request"), + MovedAttribute("BaseHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPPasswordMgr", "urllib2", "urllib.request"), + MovedAttribute("HTTPPasswordMgrWithDefaultRealm", "urllib2", "urllib.request"), + MovedAttribute("AbstractBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("ProxyBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("AbstractDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("ProxyDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPSHandler", "urllib2", "urllib.request"), + MovedAttribute("FileHandler", "urllib2", "urllib.request"), + MovedAttribute("FTPHandler", "urllib2", "urllib.request"), + MovedAttribute("CacheFTPHandler", "urllib2", "urllib.request"), + MovedAttribute("UnknownHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPErrorProcessor", "urllib2", "urllib.request"), + MovedAttribute("urlretrieve", "urllib", "urllib.request"), + MovedAttribute("urlcleanup", "urllib", "urllib.request"), + MovedAttribute("URLopener", "urllib", "urllib.request"), + MovedAttribute("FancyURLopener", "urllib", "urllib.request"), + MovedAttribute("proxy_bypass", "urllib", "urllib.request"), +] +for attr in _urllib_request_moved_attributes: + setattr(Module_six_moves_urllib_request, attr.name, attr) +del attr + +Module_six_moves_urllib_request._moved_attributes = _urllib_request_moved_attributes + +sys.modules[__name__ + ".moves.urllib_request"] = sys.modules[__name__ + ".moves.urllib.request"] = Module_six_moves_urllib_request(__name__ + ".moves.urllib.request") + + +class Module_six_moves_urllib_response(_LazyModule): + """Lazy loading of moved objects in six.moves.urllib_response""" + + +_urllib_response_moved_attributes = [ + MovedAttribute("addbase", "urllib", "urllib.response"), + MovedAttribute("addclosehook", "urllib", "urllib.response"), + MovedAttribute("addinfo", "urllib", "urllib.response"), + MovedAttribute("addinfourl", "urllib", "urllib.response"), +] +for attr in _urllib_response_moved_attributes: + setattr(Module_six_moves_urllib_response, attr.name, attr) +del attr + +Module_six_moves_urllib_response._moved_attributes = _urllib_response_moved_attributes + +sys.modules[__name__ + ".moves.urllib_response"] = sys.modules[__name__ + ".moves.urllib.response"] = Module_six_moves_urllib_response(__name__ + ".moves.urllib.response") + + +class Module_six_moves_urllib_robotparser(_LazyModule): + """Lazy loading of moved objects in six.moves.urllib_robotparser""" + + +_urllib_robotparser_moved_attributes = [ + MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser"), +] +for attr in _urllib_robotparser_moved_attributes: + setattr(Module_six_moves_urllib_robotparser, attr.name, attr) +del attr + +Module_six_moves_urllib_robotparser._moved_attributes = _urllib_robotparser_moved_attributes + +sys.modules[__name__ + ".moves.urllib_robotparser"] = sys.modules[__name__ + ".moves.urllib.robotparser"] = Module_six_moves_urllib_robotparser(__name__ + ".moves.urllib.robotparser") + + +class Module_six_moves_urllib(types.ModuleType): + """Create a six.moves.urllib namespace that resembles the Python 3 namespace""" + parse = sys.modules[__name__ + ".moves.urllib_parse"] + error = sys.modules[__name__ + ".moves.urllib_error"] + request = sys.modules[__name__ + ".moves.urllib_request"] + response = sys.modules[__name__ + ".moves.urllib_response"] + robotparser = sys.modules[__name__ + ".moves.urllib_robotparser"] + + def __dir__(self): + return ['parse', 'error', 'request', 'response', 'robotparser'] + + +sys.modules[__name__ + ".moves.urllib"] = Module_six_moves_urllib(__name__ + ".moves.urllib") + + +def add_move(move): + """Add an item to six.moves.""" + setattr(_MovedItems, move.name, move) + + +def remove_move(name): + """Remove item from six.moves.""" + try: + delattr(_MovedItems, name) + except AttributeError: + try: + del moves.__dict__[name] + except KeyError: + raise AttributeError("no such move, %r" % (name,)) + + +if PY3: + _meth_func = "__func__" + _meth_self = "__self__" + + _func_closure = "__closure__" + _func_code = "__code__" + _func_defaults = "__defaults__" + _func_globals = "__globals__" + + _iterkeys = "keys" + _itervalues = "values" + _iteritems = "items" + _iterlists = "lists" +else: + _meth_func = "im_func" + _meth_self = "im_self" + + _func_closure = "func_closure" + _func_code = "func_code" + _func_defaults = "func_defaults" + _func_globals = "func_globals" + + _iterkeys = "iterkeys" + _itervalues = "itervalues" + _iteritems = "iteritems" + _iterlists = "iterlists" + + +try: + advance_iterator = next +except NameError: + def advance_iterator(it): + return it.next() +next = advance_iterator + + +try: + callable = callable +except NameError: + def callable(obj): + return any("__call__" in klass.__dict__ for klass in type(obj).__mro__) + + +if PY3: + def get_unbound_function(unbound): + return unbound + + create_bound_method = types.MethodType + + Iterator = object +else: + def get_unbound_function(unbound): + return unbound.im_func + + def create_bound_method(func, obj): + return types.MethodType(func, obj, obj.__class__) + + class Iterator(object): + + def next(self): + return type(self).__next__(self) + + callable = callable +_add_doc(get_unbound_function, + """Get the function out of a possibly unbound function""") + + +get_method_function = operator.attrgetter(_meth_func) +get_method_self = operator.attrgetter(_meth_self) +get_function_closure = operator.attrgetter(_func_closure) +get_function_code = operator.attrgetter(_func_code) +get_function_defaults = operator.attrgetter(_func_defaults) +get_function_globals = operator.attrgetter(_func_globals) + + +def iterkeys(d, **kw): + """Return an iterator over the keys of a dictionary.""" + return iter(getattr(d, _iterkeys)(**kw)) + +def itervalues(d, **kw): + """Return an iterator over the values of a dictionary.""" + return iter(getattr(d, _itervalues)(**kw)) + +def iteritems(d, **kw): + """Return an iterator over the (key, value) pairs of a dictionary.""" + return iter(getattr(d, _iteritems)(**kw)) + +def iterlists(d, **kw): + """Return an iterator over the (key, [values]) pairs of a dictionary.""" + return iter(getattr(d, _iterlists)(**kw)) + + +if PY3: + def b(s): + return s.encode("latin-1") + def u(s): + return s + unichr = chr + if sys.version_info[1] <= 1: + def int2byte(i): + return bytes((i,)) + else: + # This is about 2x faster than the implementation above on 3.2+ + int2byte = operator.methodcaller("to_bytes", 1, "big") + byte2int = operator.itemgetter(0) + indexbytes = operator.getitem + iterbytes = iter + import io + StringIO = io.StringIO + BytesIO = io.BytesIO +else: + def b(s): + return s + # Workaround for standalone backslash + def u(s): + return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape") + unichr = unichr + int2byte = chr + def byte2int(bs): + return ord(bs[0]) + def indexbytes(buf, i): + return ord(buf[i]) + def iterbytes(buf): + return (ord(byte) for byte in buf) + import StringIO + StringIO = BytesIO = StringIO.StringIO +_add_doc(b, """Byte literal""") +_add_doc(u, """Text literal""") + + +if PY3: + exec_ = getattr(moves.builtins, "exec") + + + def reraise(tp, value, tb=None): + if value.__traceback__ is not tb: + raise value.with_traceback(tb) + raise value + +else: + def exec_(_code_, _globs_=None, _locs_=None): + """Execute code in a namespace.""" + if _globs_ is None: + frame = sys._getframe(1) + _globs_ = frame.f_globals + if _locs_ is None: + _locs_ = frame.f_locals + del frame + elif _locs_ is None: + _locs_ = _globs_ + exec("""exec _code_ in _globs_, _locs_""") + + + exec_("""def reraise(tp, value, tb=None): + raise tp, value, tb +""") + + +print_ = getattr(moves.builtins, "print", None) +if print_ is None: + def print_(*args, **kwargs): + """The new-style print function for Python 2.4 and 2.5.""" + fp = kwargs.pop("file", sys.stdout) + if fp is None: + return + def write(data): + if not isinstance(data, basestring): + data = str(data) + # If the file has an encoding, encode unicode with it. + if (isinstance(fp, file) and + isinstance(data, unicode) and + fp.encoding is not None): + errors = getattr(fp, "errors", None) + if errors is None: + errors = "strict" + data = data.encode(fp.encoding, errors) + fp.write(data) + want_unicode = False + sep = kwargs.pop("sep", None) + if sep is not None: + if isinstance(sep, unicode): + want_unicode = True + elif not isinstance(sep, str): + raise TypeError("sep must be None or a string") + end = kwargs.pop("end", None) + if end is not None: + if isinstance(end, unicode): + want_unicode = True + elif not isinstance(end, str): + raise TypeError("end must be None or a string") + if kwargs: + raise TypeError("invalid keyword arguments to print()") + if not want_unicode: + for arg in args: + if isinstance(arg, unicode): + want_unicode = True + break + if want_unicode: + newline = unicode("\n") + space = unicode(" ") + else: + newline = "\n" + space = " " + if sep is None: + sep = space + if end is None: + end = newline + for i, arg in enumerate(args): + if i: + write(sep) + write(arg) + write(end) + +_add_doc(reraise, """Reraise an exception.""") + + +def with_metaclass(meta, *bases): + """Create a base class with a metaclass.""" + return meta("NewBase", bases, {}) + +def add_metaclass(metaclass): + """Class decorator for creating a class with a metaclass.""" + def wrapper(cls): + orig_vars = cls.__dict__.copy() + orig_vars.pop('__dict__', None) + orig_vars.pop('__weakref__', None) + slots = orig_vars.get('__slots__') + if slots is not None: + if isinstance(slots, str): + slots = [slots] + for slots_var in slots: + orig_vars.pop(slots_var) + return metaclass(cls.__name__, cls.__bases__, orig_vars) + return wrapper diff -Nru hplip-3.14.6/base/slp.py hplip-3.15.2/base/slp.py --- hplip-3.14.6/base/slp.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/slp.py 2015-01-29 12:20:35.000000000 +0000 @@ -29,8 +29,9 @@ import re # Local -from g import * -import utils +from .g import * +from . import utils +from .sixext import to_bytes_utf8, to_unicode, to_string_utf8 prod_pat = re.compile(r"""\(\s*x-hp-prod_id\s*=\s*(.*?)\s*\)""", re.IGNORECASE) mac_pat = re.compile(r"""\(\s*x-hp-mac\s*=\s*(.*?)\s*\)""", re.IGNORECASE) @@ -41,27 +42,23 @@ p3_pat = re.compile(r"""\(\s*x-hp-p3\s*=(?:\d\)|\s*(.*?)\s*\))""", re.IGNORECASE) hn_pat = re.compile(r"""\(\s*x-hp-hn\s*=\s*(.*?)\s*\)""", re.IGNORECASE) - -def detectNetworkDevices(ttl=4, timeout=10): #, xid=None, qappobj = None): - mcast_addr, mcast_port ='224.0.1.60', 427 - found_devices = {} - - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) - - x = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +def createSocketsWithsetOption(ttl=4): + s=None try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) + x = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) x.connect(('1.2.3.4', 56)) + intf = x.getsockname()[0] + x.close() + s.setblocking(0) + ttl = struct.pack('B', ttl) except socket.error: - log.error("Network is unreachable. Please check your network connection and try again.") - return {} + log.error("Network error") + if s: + s.close() + return None - intf = x.getsockname()[0] - x.close() - - s.setblocking(0) - ttl = struct.pack('B', ttl) - try: s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) @@ -72,16 +69,28 @@ s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_TTL, ttl) s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_IF, socket.inet_aton(intf) + socket.inet_aton('0.0.0.0')) s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_LOOP ,1) - except Exception, e: + except Exception as e: log.error("Unable to setup multicast socket for SLP: %s" % e) + if s: + s.close() + return None + return s + + +def detectNetworkDevices(ttl=4, timeout=10): #, xid=None, qappobj = None): + mcast_addr, mcast_port ='224.0.1.60', 427 + found_devices = {} + + s = createSocketsWithsetOption(ttl) + if not s: return {} - packet = ''.join(['\x01\x06\x00\x2c\x00\x00\x65\x6e\x00\x03', - struct.pack('!H', random.randint(1, 65535)), '\x00\x00\x00\x18service:x-hpnp-discover:\x00\x00\x00\x00']) + packet = b''.join([to_bytes_utf8('\x01\x06\x00\x2c\x00\x00\x65\x6e\x00\x03'), + struct.pack('!H', random.randint(1, 65535)), to_bytes_utf8('\x00\x00\x00\x18service:x-hpnp-discover:\x00\x00\x00\x00')]) try: s.sendto(packet, 0, (mcast_addr, mcast_port)) - except socket.error, e: + except socket.error as e: log.error("Unable to send broadcast SLP packet: %s" % e) time_left = timeout @@ -103,7 +112,7 @@ x = struct.unpack("!%ds" % attr_length, data[16:])[0].strip() except struct.error: continue - + x= to_string_utf8(x) try: num_ports = int(num_port_pat.search(x).group(1)) except (AttributeError, ValueError): @@ -172,7 +181,7 @@ log.debug("Found device: %s" % y) - + s.close() return found_devices diff -Nru hplip-3.14.6/base/smart_install.py hplip-3.15.2/base/smart_install.py --- hplip-3.14.6/base/smart_install.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/smart_install.py 2015-01-29 12:20:35.000000000 +0000 @@ -28,8 +28,8 @@ import os # Local -from base.g import * -from base import utils, tui +from .g import * +from . import utils, tui from base import password, validation from base.codes import * from base.strings import * @@ -40,7 +40,6 @@ - ########### methods ########### @@ -138,7 +137,7 @@ log.error("Internet connection not found.") else: sts, HPLIP_file = utils.download_from_network(HPLIP_INFO_SITE) - if sts is True: + if sts == 0: hplip_si_conf = ConfigBase(HPLIP_file) url = hplip_si_conf.get("SMART_INSTALL","reference","") if url: @@ -159,13 +158,14 @@ if req_checksum and req_checksum != calc_checksum: return ERROR_FILE_CHECKSUM, queryString(ERROR_CHECKSUM_ERROR, 0, plugin_file) - - #Validate Digital signatures + #Validate Digital Signature gpg_obj = validation.GPG_Verification() digsig_sts, error_str = gpg_obj.validate(smart_install_run, smart_install_asc) return digsig_sts, smart_install_run, smart_install_asc, error_str + + def download(mode, passwordObj): if not utils.check_network_connection(): log.error("Internet connection not found.") @@ -173,7 +173,7 @@ else: sts, HPLIP_file = utils.download_from_network(HPLIP_INFO_SITE) - if sts is True: + if sts == 0: hplip_si_conf = ConfigBase(HPLIP_file) source = hplip_si_conf.get("SMART_INSTALL","url","") if not source: @@ -181,12 +181,12 @@ return ERROR_FAILED_TO_DOWNLOAD_FILE, "" , "", queryString(ERROR_FAILED_TO_DOWNLOAD_FILE, 0, HPLIP_INFO_SITE) sts, smart_install_run = utils.download_from_network(source) - if not sts: + if sts: log.error("Failed to download %s."%source) return ERROR_FAILED_TO_DOWNLOAD_FILE, "" , "", queryString(ERROR_FAILED_TO_DOWNLOAD_FILE, 0, source) sts, smart_install_asc = utils.download_from_network(source+'.asc') - if not sts: + if sts: log.error("Failed to download %s."%(source+'.asc')) return ERROR_FAILED_TO_DOWNLOAD_FILE, "" , "", queryString(ERROR_FAILED_TO_DOWNLOAD_FILE, 0, source + ".asc") @@ -252,10 +252,13 @@ else: sts, smart_install_run, smart_install_asc, error_str = download(mode, passwordObj) + disable_si = False return_val = sts + if sts == ERROR_SUCCESS: disable_si = True + elif sts in (ERROR_UNABLE_TO_RECV_KEYS, ERROR_DIGITAL_SIGN_NOT_FOUND): response, value = tui.enter_yes_no("Digital Sign verification failed, Do you want to continue?") if not response or not value: diff -Nru hplip-3.14.6/base/status.py hplip-3.15.2/base/status.py --- hplip-3.14.6/base/status.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/status.py 2015-01-29 12:20:35.000000000 +0000 @@ -1,3 +1,4 @@ +#!/usr/bin/env python # -*- coding: utf-8 -*- # # (c) Copyright 2003-2007 Hewlett-Packard Development Company, L.P. @@ -19,28 +20,17 @@ # Author: Don Welch, Narla Naga Samrat Chowdary, Yashwant Kumar Sahu # -from __future__ import division + # Std Lib import struct -import cStringIO -from base.g import * -try: - import xml.parsers.expat as expat -except ImportError,e: - log.info("\n") - log.error("Failed to import xml.parsers.expat(%s).\nThis may be due to the incompatible version of python-xml package.\n"%(e)) - if "undefined symbol" in str(e): - log.info(log.blue("Please re-install compatible version (other than 2.7.2-7.14.1) due to bug reported at 'https://bugzilla.novell.com/show_bug.cgi?id=766778'.")) - log.info(log.blue("\n Run the following commands in root mode to change the python-xml package.(i.e Installing 2.7.2-7.1.2)")) - log.info(log.blue("\n Using zypper:\n 'zypper remove python-xml'\n 'zypper install python-xml-2.7.2-7.1.2'")) - log.info(log.blue("\n Using apt-get:\n 'apt-get remove python-xml'\n 'apt-get install python-xml-2.7.2-7.1.2'")) - log.info(log.blue("\n Using yum:\n 'yum remove python-xml'\n 'yum install python-xml-2.7.2-7.1.2'")) - - sys.exit(1) +import io +from .sixext import BytesIO, to_bytes_utf8, to_bytes_latin, to_string_latin, to_long +from .g import * +import xml.parsers.expat as expat import re -import urllib + try: from xml.etree import ElementTree etree_loaded = True @@ -53,11 +43,10 @@ etree_loaded = False # Local -from g import * -from codes import * -import pml, utils +from .g import * +from .codes import * +from . import pml, utils import hpmudext - """ status dict structure: { 'revision' : STATUS_REV_00 .. STATUS_REV_04, @@ -181,19 +170,19 @@ assert STATUS_REV_00 <= revision <= STATUS_REV_04 - top_door = bool(s1[2] & 0x8L) + s1[2] & 0x1L - supply_door = bool(s1[3] & 0x8L) + s1[3] & 0x1L - duplexer = bool(s1[4] & 0xcL) + s1[4] & 0x1L - photo_tray = bool(s1[5] & 0x8L) + s1[5] & 0x1L + top_door = bool(s1[2] & to_long(0x8)) + s1[2] & to_long(0x1) + supply_door = bool(s1[3] & to_long(0x8)) + s1[3] & to_long(0x1) + duplexer = bool(s1[4] & to_long(0xc)) + s1[4] & to_long(0x1) + photo_tray = bool(s1[5] & 0x8) + s1[5] & 0x1 if revision == STATUS_REV_02: - in_tray1 = bool(s1[6] & 0x8L) + s1[6] & 0x1L - in_tray2 = bool(s1[7] & 0x8L) + s1[7] & 0x1L + in_tray1 = bool(s1[6] & to_long(0x8)) + s1[6] & to_long(0x1) + in_tray2 = bool(s1[7] & to_long(0x8)) + s1[7] & to_long(0x1) else: - in_tray1 = bool(s1[6] & 0x8L) - in_tray2 = bool(s1[7] & 0x8L) + in_tray1 = bool(s1[6] & to_long(0x8)) + in_tray2 = bool(s1[7] & to_long(0x8)) - media_path = bool(s1[8] & 0x8L) + (s1[8] & 0x1L) + ((bool(s1[18] & 0x2L))<<1) + media_path = bool(s1[8] & to_long(0x8)) + (s1[8] & to_long(0x1)) + ((bool(s1[18] & to_long(0x2)))<<1) status_pos = STATUS_POS[revision] status_byte = s1[status_pos]<<4 if status_byte != 48: @@ -207,30 +196,30 @@ log.debug("num_pens = %d" % num_pens) for p in range(num_pens): - info = long(s[c : c + pen_data_size], 16) + info = int(s[c : c + pen_data_size], 16) pen['index'] = index if pen_data_size == 4: - pen['type'] = REVISION_2_TYPE_MAP.get(int((info & 0xf000L) >> 12L), 0) + pen['type'] = REVISION_2_TYPE_MAP.get(int((info & to_long(0xf000)) >> to_long(12)), 0) if index < (num_pens / 2): pen['kind'] = AGENT_KIND_HEAD else: pen['kind'] = AGENT_KIND_SUPPLY - pen['level-trigger'] = int ((info & 0x0e00L) >> 9L) - pen['health'] = int((info & 0x0180L) >> 7L) - pen['level'] = int(info & 0x007fL) + pen['level-trigger'] = int ((info & to_long(0x0e00)) >> to_long(9)) + pen['health'] = int((info & to_long(0x0180)) >> to_long(7)) + pen['level'] = int(info & to_long(0x007f)) pen['id'] = 0x1f elif pen_data_size == 8: - pen['kind'] = bool(info & 0x80000000L) + ((bool(info & 0x40000000L))<<1L) - pen['type'] = int((info & 0x3f000000L) >> 24L) - pen['id'] = int((info & 0xf80000) >> 19L) - pen['level-trigger'] = int((info & 0x70000L) >> 16L) - pen['health'] = int((info & 0xc000L) >> 14L) - pen['level'] = int(info & 0xffL) + pen['kind'] = bool(info & to_long(0x80000000)) + ((bool(info & to_long(0x40000000)))<> to_long(24)) + pen['id'] = int((info & 0xf80000) >> to_long(19)) + pen['level-trigger'] = int((info & to_long(0x70000)) >> to_long(16)) + pen['health'] = int((info & to_long(0xc000)) >> to_long(14)) + pen['level'] = int(info & to_long(0xff)) else: log.error("Pen data size error") @@ -238,11 +227,11 @@ if len(z1) > 0: # TODO: Determine cause of IndexError for C6100 (defect #1111) try: - pen['dvc'] = long(z1s[d+1:d+5], 16) - pen['virgin'] = bool(z1[d+5] & 0x8L) - pen['hp-ink'] = bool(z1[d+5] & 0x4L) - pen['known'] = bool(z1[d+5] & 0x2L) - pen['ack'] = bool(z1[d+5] & 0x1L) + pen['dvc'] = int(z1s[d+1:d+5], 16) + pen['virgin'] = bool(z1[d+5] & to_long(0x8)) + pen['hp-ink'] = bool(z1[d+5] & to_long(0x4)) + pen['known'] = bool(z1[d+5] & to_long(0x2)) + pen['ack'] = bool(z1[d+5] & to_long(0x1)) except IndexError: pen['dvc'] = 0 pen['virgin'] = 0 @@ -258,7 +247,7 @@ c += pen_data_size d += Z_SIZE - except (IndexError, ValueError, TypeError), e: + except (IndexError, ValueError, TypeError) as e: log.warn("Status parsing error: %s" % str(e)) return {'revision' : revision, @@ -479,7 +468,7 @@ } try: - detected_error_state = struct.unpack( 'B', value[0])[0] + detected_error_state = struct.unpack( 'B', to_bytes_latin(value[0]))[0] except (IndexError, TypeError): detected_error_state = pml.DETECTED_ERROR_STATE_OFFLINE_MASK @@ -613,7 +602,8 @@ else: agent_health = AGENT_HEALTH_OK - agent_level = int(agent_level/agent_max * 100) + agent_level = int(float(agent_level)/agent_max * 100) + log.debug("agent%d: kind=%d, type=%d, health=%d, level=%d, level-trigger=%d" % \ (x, agent_kind, agent_type, agent_health, agent_level, agent_trigger)) @@ -687,12 +677,12 @@ '=' : '\x20', }) - frm, to = '', '' - map_keys = map.keys() + frm, to = to_bytes_latin(''), to_bytes_latin('') + map_keys = list(map.keys()) map_keys.sort() for x in map_keys: - frm = ''.join([frm, x]) - to = ''.join([to, map[x]]) + frm = to_bytes_latin('').join([frm, to_bytes_latin(x)]) + to = to_bytes_latin('').join([to, to_bytes_latin(map[x])]) global PANEL_TRANSLATOR_FUNC PANEL_TRANSLATOR_FUNC = utils.Translator(frm, to) @@ -702,7 +692,7 @@ def PanelCheck(dev): - line1, line2 = '', '' + line1, line2 = to_bytes_utf8(''), ('') if dev.io_mode not in (IO_MODE_RAW, IO_MODE_UNI): @@ -719,19 +709,19 @@ result, line1 = dev.getPML(oid1) if result < pml.ERROR_MAX_OK: - line1 = PANEL_TRANSLATOR_FUNC(line1).rstrip() + line1 = PANEL_TRANSLATOR_FUNC(line1.encode('utf-8')).rstrip() - if '\x0a' in line1: - line1, line2 = line1.split('\x0a', 1) + if to_bytes_utf8('\x0a') in line1: + line1, line2 = line1.split(to_bytes_utf8('\x0a'), 1) break result, line2 = dev.getPML(oid2) if result < pml.ERROR_MAX_OK: - line2 = PANEL_TRANSLATOR_FUNC(line2).rstrip() + line2 = PANEL_TRANSLATOR_FUNC(line2.encode('utf-8')).rstrip() break - return bool(line1 or line2), line1 or '', line2 or '' + return bool(line1 or line2), line1 or to_bytes_utf8(''), line2 or to_bytes_utf8('') BATTERY_HEALTH_MAP = {0 : AGENT_HEALTH_OK, @@ -1072,13 +1062,13 @@ } def StatusType6(dev): # LaserJet Status (XML) - info_device_status = cStringIO.StringIO() - info_ssp = cStringIO.StringIO() - + info_device_status = BytesIO() + info_ssp = BytesIO() try: dev.getEWSUrl("/hp/device/info_device_status.xml", info_device_status) dev.getEWSUrl("/hp/device/info_ssp.xml", info_ssp) except: + log.warn("Failed to get Device status information") pass info_device_status = info_device_status.getvalue() @@ -1089,7 +1079,7 @@ if info_device_status: try: - log.debug_block("info_device_status", info_device_status) + log.debug_block("info_device_status", to_string_latin(info_device_status)) device_status = utils.XMLToDictParser().parseXML(info_device_status) log.debug(device_status) except expat.ExpatError: @@ -1098,7 +1088,7 @@ if info_ssp: try: - log.debug_block("info_spp", info_ssp) + log.debug_block("info_spp", to_string_latin(info_ssp)) ssp = utils.XMLToDictParser().parseXML(info_ssp) log.debug(ssp) except expat.ExpatError: @@ -1349,23 +1339,23 @@ try: # Will error if printer is busy printing... dev.openPrint() - except Error, e: + except Error as e: log.warn(e.msg) status_code = STATUS_PRINTER_BUSY else: try: try: - dev.writePrint("\x1b%-12345X@PJL INFO STATUS \r\n\x1b%-12345X") + dev.writePrint(to_bytes_utf8("\x1b%-12345X@PJL INFO STATUS \r\n\x1b%-12345X")) pjl_return = dev.readPrint(1024, timeout=5, allow_short_read=True) dev.close() - log.debug_block("PJL return:", pjl_return) + log.debug_block("PJL return:", to_string_latin(pjl_return)) str_code = '10001' for line in pjl_return.splitlines(): line = line.strip() - match = pjl_code_pat.match(line) + match = pjl_code_pat.match(line.decode('utf-8')) if match is not None: str_code = match.group(1) @@ -1513,27 +1503,27 @@ #ExtractXMLData will extract actual data from http response (Transfer-encoding: chunked). #For unchunked response it will not do anything. def ExtractXMLData(data): - if data[0] is not '<': + if data[0:1] != b'<': size = -1 - temp = "" + temp = to_bytes_utf8("") while size: - index = data.find('\r\n') + index = data.find(to_bytes_utf8('\r\n')) size = int(data[0:index+1], 16) temp = temp + data[index+2:index+2+size] data = data[index+2+size+2:len(data)] data = temp - return data + return data def StatusType10FetchUrl(func, url, footer=""): - data_fp = cStringIO.StringIO() + data_fp = BytesIO() if footer: data = func(url, data_fp, footer) else: data = func(url, data_fp) if data: - while data.find('\r\n\r\n') != -1: - data = data.split('\r\n\r\n', 1)[1] - if not data.startswith("HTTP"): + while data.find(to_bytes_utf8('\r\n\r\n')) != -1: + data = data.split(to_bytes_utf8('\r\n\r\n'), 1)[1] + if not data.startswith(to_bytes_utf8("HTTP")): break if data: @@ -1576,8 +1566,8 @@ data = StatusType10FetchUrl(func, "/DevMgmt/ConsumableConfigDyn.xml") if not data: return status_block - data = data.replace("ccdyn:", "").replace("dd:", "") - + data = data.replace(to_bytes_utf8("ccdyn:"), to_bytes_utf8("")).replace(to_bytes_utf8("dd:"), to_bytes_utf8("")) + # Parse the agent status XML agents = [] try: @@ -1616,9 +1606,12 @@ ink_level = 100 try: - agent_sku = e.find("ConsumableSelectibilityNumber").text + agent_sku = e.find("ProductNumber").text except: - pass + try : + agent_sku = e.find("ConsumableSelectibilityNumber").text + except : + pass log.debug("type '%s' state '%s' ink_type '%s' ink_level %d agent_sku = %s" % (type, state, ink_type, ink_level,agent_sku)) @@ -1637,7 +1630,8 @@ except (expat.ExpatError, UnboundLocalError): agents = [] status_block['agents'] = agents - return status_block + + return status_block def StatusType10Media(func): # Low End Data Model status_block = {} @@ -1645,7 +1639,7 @@ data = StatusType10FetchUrl(func, "/DevMgmt/MediaHandlingDyn.xml") if not data: return status_block - data = data.replace("mhdyn:", "").replace("dd:", "") + data = data.replace(to_bytes_utf8("mhdyn:"), to_bytes_utf8("")).replace(to_bytes_utf8("dd:"), to_bytes_utf8("")) # Parse the media handling XML try: @@ -1665,7 +1659,7 @@ elif bin_name == "PhotoTray": status_block['photo-tray'] = PHOTO_TRAY_ENGAGED else: - log.debug("found invalid bin name '%s'" % bin_name) + log.error("found invalid bin name '%s'" % bin_name) try: elements = tree.findall("Accessories/MediaHandlingDeviceFunctionType") @@ -1683,9 +1677,9 @@ data = StatusType10FetchUrl(func, "/DevMgmt/ProductStatusDyn.xml") if not data: return status_block - data = data.replace("psdyn:", "").replace("locid:", "") - data = data.replace("pscat:", "").replace("dd:", "").replace("ad:", "") - + data = data.replace(to_bytes_utf8("psdyn:"), to_bytes_utf8("")).replace(to_bytes_utf8("locid:"), to_bytes_utf8("")) + data = data.replace(to_bytes_utf8("pscat:"), to_bytes_utf8("")).replace(to_bytes_utf8("dd:"), to_bytes_utf8("")).replace(to_bytes_utf8("ad:"), to_bytes_utf8("")) + # Parse the product status XML try: if etree_loaded: @@ -1762,7 +1756,7 @@ status_block['status-code'] = STATUS_PRINTER_PRINTHEAD_MISSING - #Alert messages for Pentane products RQ 8888 + #Alert messages for Pentane products RQ 8888 elif e.text == "scannerADFMispick": status_block['status-code'] = STATUS_SCANNER_ADF_MISPICK @@ -1811,5 +1805,4 @@ else: status_block['status-code'] = STATUS_UNKNOWN_CODE - return status_block diff -Nru hplip-3.14.6/base/strings.py hplip-3.15.2/base/strings.py --- hplip-3.14.6/base/strings.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/strings.py 2015-01-29 12:20:35.000000000 +0000 @@ -16,7 +16,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# Author: Don Welch, Naga Samrat Chowdary Narla, Yashwant Kumar Sahu +# Author: Don Welch, Naga Samrat Chowdary Narla, Yashwant Kumar Sahu, Sanjay Kumar # # string_table := { 'string_id' : 'short', 'long' ), ... } @@ -47,6 +47,7 @@ '110' : (self.__tr('Unknown error'), ''), '111' : (self.__tr('No device found having smart install enabled'), ''), '112' : (self.__tr('Failed to disable smart install'), ''), + '500' : (self.__tr('Started a print job'), ''), '501' : (self.__tr('Print job has completed'), ''), '502' : (self.__tr("Print job failed - required plug-in not found"), self.__tr("Please run hp-plugin (as root) to install the required plug-in")), @@ -328,9 +329,9 @@ def __tr(self,s,c = None): return s - + import re -from base import logger +from . import logger log = logger.Logger('', logger.Logger.LOG_LEVEL_INFO, logger.Logger.LOG_TO_CONSOLE) inter_pat = re.compile(r"""%(.*)%""", re.IGNORECASE) diff -Nru hplip-3.14.6/base/tui.py hplip-3.15.2/base/tui.py --- hplip-3.14.6/base/tui.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/tui.py 2015-01-29 12:20:35.000000000 +0000 @@ -24,9 +24,10 @@ import re # Local -from g import * -import pexpect -import utils +from .g import * +from . import utils +from .sixext import PY3 +from .sixext.moves import input def enter_yes_no(question, default_value='y', choice_prompt=None): @@ -48,7 +49,7 @@ while True: try: - user_input = raw_input(log.bold(question)).lower().strip() + user_input = input(log.bold(question)).lower().strip() except EOFError: continue @@ -70,7 +71,7 @@ def enter_range(question, min_value, max_value, default_value=None): while True: try: - user_input = raw_input(log.bold(question)).lower().strip() + user_input = input(log.bold(question)).lower().strip() except EOFError: continue @@ -102,7 +103,7 @@ while True: try: - user_input = raw_input(log.bold(question)).lower().strip() + user_input = input(log.bold(question)).lower().strip() except EOFError: continue @@ -156,7 +157,7 @@ def continue_prompt(prompt=''): while True: try: - x = raw_input(log.bold(prompt + " Press to continue or 'q' to quit: ")).lower().strip() + x = input(log.bold(prompt + " Press to continue or 'q' to quit: ")).lower().strip() except EOFError: continue @@ -173,7 +174,7 @@ re_obj = re.compile(regex) while True: try: - x = raw_input(log.bold(prompt)) + x = input(log.bold(prompt)) except EOFError: continue @@ -194,8 +195,12 @@ def ttysize(): try: - import commands # TODO: Replace with subprocess (commands is deprecated in Python 3.0) - ln1 = commands.getoutput('stty -a').splitlines()[0] + if PY3: + import subprocess # TODO: Replace with subprocess (commands is deprecated in Python 3.0) + ln1 = subprocess.getoutput('stty -a').splitlines()[0] + else: + import commands + ln1 = commands.getoutput('stty -a').splitlines()[0] vals = {'rows':None, 'columns':None} for ph in ln1.split(';'): x = ph.split() @@ -220,7 +225,7 @@ def update(self, progress, msg=''): # progress in % self.progress = progress - x = self.progress * self.max_size / 100 + x = int(self.progress * self.max_size / 100) if x > self.max_size: x = self.max_size if self.progress >= 100: @@ -319,7 +324,7 @@ sep = [] for c in col_widths: - sep.append('-'*c) + sep.append('-'*int(c)) log.info(formatter.compose(tuple(sep))) @@ -402,6 +407,8 @@ if ok: ret = printers[i] + else : + sys.exit(0) return ret @@ -444,6 +451,8 @@ if ok: ret = device_index[i] + else : + sys.exit(0) return ret @@ -464,7 +473,7 @@ table = Formatter(header=('Num', 'Connection Type', 'Description'), max_widths=(8, 20, 80), min_widths=(8, 10, 40)) - for x, data in ios.items(): + for x, data in list(ios.items()): if x == 0: table.add((str(x) + "*", data[0], data[1])) else: diff -Nru hplip-3.14.6/base/utils.py hplip-3.15.2/base/utils.py --- hplip-3.14.6/base/utils.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/utils.py 2015-01-29 12:20:35.000000000 +0000 @@ -1,3 +1,4 @@ +#!/usr/bin/env python # -*- coding: utf-8 -*- # # (c) Copyright 2001-2009 Hewlett-Packard Development Company, L.P. @@ -21,7 +22,7 @@ # Thanks to Henrique M. Holschuh for various security patches # -from __future__ import generators + # Std Lib import sys @@ -39,14 +40,18 @@ import stat import string import glob -import commands # TODO: Replace with subprocess (commands is deprecated in Python 3.0) -import cStringIO import re -from base.g import * -import xml.parsers.expat as expat +import datetime +from .g import * import locale -import htmlentitydefs -import urllib +from .sixext.moves import html_entities, urllib2_request, urllib2_parse, urllib2_error +from .sixext import PY3, to_unicode, to_bytes_utf8, to_string_utf8, BytesIO, StringIO, subprocess +from . import os_utils +try: + import xml.parsers.expat as expat + xml_expat_avail = True +except ImportError: + xml_expat_avail = False try: import platform @@ -77,10 +82,10 @@ # Local -from g import * -from codes import * -import pexpect -#from base.password import Password +from .g import * +from .codes import * +from . import pexpect + BIG_ENDIAN = 0 LITTLE_ENDIAN = 1 @@ -99,7 +104,8 @@ ERROR_UNABLE_TO_RECV_KEYS =2 ERROR_DIGITAL_SIGN_BAD =3 - +MAJ_VER = sys.version_info[0] +MIN_VER = sys.version_info[1] @@ -107,7 +113,7 @@ pexpect.EOF, # 0 pexpect.TIMEOUT, # 1 "Continue?", # 2 (for zypper) - "passwor[dt]", # en/de/it/ru + "passwor[dt]:", # en/de/it/ru "kennwort", # de? "password for", # en "mot de passe", # fr @@ -201,12 +207,17 @@ #xml_basename_pat = re.compile(r"""HPLIP-(\d*)_(\d*)_(\d*).xml""", re.IGNORECASE) -def Translator(frm='', to='', delete='', keep=None): - allchars = string.maketrans('','') - +def Translator(frm=to_bytes_utf8(''), to=to_bytes_utf8(''), delete=to_bytes_utf8(''), keep=None): #Need Revisit if len(to) == 1: to = to * len(frm) - trans = string.maketrans(frm, to) + + if PY3: + data_types = bytes + else: + data_types = string + + allchars = data_types.maketrans(to_bytes_utf8(''), to_bytes_utf8('')) + trans = data_types.maketrans(frm, to) if keep is not None: delete = allchars.translate(allchars, keep.translate(allchars, delete)) @@ -229,9 +240,9 @@ """ Convert an arbitrary 0/1/T/F/Y/N string to a normalized string 0/1.""" if isinstance(s, str) and s: if s[0].lower() in ['1', 't', 'y']: - return u'1' + return to_unicode('1') elif s[0].lower() in ['0', 'f', 'n']: - return u'0' + return to_unicode('0') return default @@ -286,13 +297,13 @@ def is_path_writable(path): if os.path.exists(path): s = os.stat(path) - mode = s[stat.ST_MODE] & 0777 + mode = s[stat.ST_MODE] & 0o777 - if mode & 02: + if mode & 0o2: return True - elif s[stat.ST_GID] == os.getgid() and mode & 020: + elif s[stat.ST_GID] == os.getgid() and mode & 0o20: return True - elif s[stat.ST_UID] == os.getuid() and mode & 0200: + elif s[stat.ST_UID] == os.getuid() and mode & 0o200: return True return False @@ -318,7 +329,7 @@ if len(textlist) != len(self.columns): log.error("Formatter: Number of text items does not match columns") return - for text, column in map(None, textlist, self.columns): + for text, column in list(map(lambda *x: x, textlist, self.columns)): column.wrap(text) numlines = max(numlines, len(column.lines)) complines = [''] * numlines @@ -333,7 +344,7 @@ class Column: def __init__(self, width=78, alignment=TextFormatter.LEFT, margin=0): - self.width = width + self.width = int(width) self.alignment = alignment self.margin = margin self.lines = [] @@ -350,7 +361,7 @@ self.lines = [] words = [] for word in text.split(): - if word <= self.width: + if word <= str(self.width): words.append(word) else: for i in range(0, len(word), self.width): @@ -456,14 +467,14 @@ def sort_dict_by_value(d): """ Returns the keys of dictionary d sorted by their values """ - items=d.items() + items=list(d.items()) backitems=[[v[1],v[0]] for v in items] backitems.sort() return [backitems[i][1] for i in range(0, len(backitems))] def commafy(val): - return locale.format("%d", val, grouping=True).decode(locale.getpreferredencoding()) + return locale.format("%s", val, grouping=True) def format_bytes(s, show_bytes=False): @@ -471,19 +482,19 @@ return ''.join([commafy(s), ' B']) elif 1024 < s < 1048576: if show_bytes: - return ''.join([unicode(round(s/1024.0, 1)) , u' KB (', commafy(s), ')']) + return ''.join([to_unicode(round(s/1024.0, 1)) , to_unicode(' KB ('), commafy(s), ')']) else: - return ''.join([unicode(round(s/1024.0, 1)) , u' KB']) + return ''.join([to_unicode(round(s/1024.0, 1)) , to_unicode(' KB')]) elif 1048576 < s < 1073741824: if show_bytes: - return ''.join([unicode(round(s/1048576.0, 1)), u' MB (', commafy(s), ')']) + return ''.join([to_unicode(round(s/1048576.0, 1)), to_unicode(' MB ('), commafy(s), ')']) else: - return ''.join([unicode(round(s/1048576.0, 1)), u' MB']) + return ''.join([to_unicode(round(s/1048576.0, 1)), to_unicode(' MB')]) else: if show_bytes: - return ''.join([unicode(round(s/1073741824.0, 1)), u' GB (', commafy(s), ')']) + return ''.join([to_unicode(round(s/1073741824.0, 1)), to_unicode(' GB ('), commafy(s), ')']) else: - return ''.join([unicode(round(s/1073741824.0, 1)), u' GB']) + return ''.join([to_unicode(round(s/1073741824.0, 1)), to_unicode(' GB')]) @@ -492,7 +503,7 @@ except AttributeError: def make_temp_file(suffix='', prefix='', dir='', text=False): # pre-2.3 path = tempfile.mktemp(suffix) - fd = os.open(path, os.O_RDWR|os.O_CREAT|os.O_EXCL, 0700) + fd = os.open(path, os.O_RDWR|os.O_CREAT|os.O_EXCL, 0o700) return ( os.fdopen( fd, 'w+b' ), path ) @@ -624,7 +635,7 @@ self.cmd_fab = user_conf.get('commands', 'fab', self.cmd_fab) self.upgrade_notify= to_bool(user_conf.get('upgrade', 'notify_upgrade', '0')) - self.upgrade_last_update_time = int(float(user_conf.get('upgrade','last_upgraded_time', '0'))) + self.upgrade_last_update_time = int(user_conf.get('upgrade','last_upgraded_time', '0')) self.upgrade_pending_update_time =int(user_conf.get('upgrade', 'pending_upgrade_time', '0')) self.latest_available_version=str(user_conf.get('upgrade', 'latest_available_version','')) self.debug() @@ -815,7 +826,10 @@ } cls.pattern = re.compile(pattern, re.IGNORECASE | re.VERBOSE) - + # if PY3: + # class Template(metaclass=_TemplateMetaclass): + # """A string class for supporting $-substitutions.""" + # else: class Template: """A string class for supporting $-substitutions.""" __metaclass__ = _TemplateMetaclass @@ -914,9 +928,12 @@ return Template(s).substitute(sys._getframe(1).f_globals, **locals) - -identity = string.maketrans('','') -unprintable = identity.translate(identity, string.printable) +if PY3: + identity = bytes.maketrans(b'', b'') + unprintable = identity.translate(identity, string.printable.encode('utf-8')) +else: + identity = string.maketrans('','') + unprintable = identity.translate(identity, string.printable) def printable(s): @@ -1009,12 +1026,12 @@ def startElement(self, name, attrs): #print "START:", name, attrs - self.stack.append(unicode(name).lower()) - self.last_start = unicode(name).lower() + self.stack.append(to_unicode(name).lower()) + self.last_start = to_unicode(name).lower() if len(attrs): for a in attrs: - self.stack.append(unicode(a).lower()) + self.stack.append(to_unicode(a).lower()) self.addData(attrs[a]) self.stack.pop() @@ -1026,18 +1043,18 @@ self.stack.pop() def charData(self, data): - data = unicode(data).strip() + data = to_unicode(data).strip() if data and self.stack: self.addData(data) def addData(self, data): - #print "DATA:", data + #print("DATA:%s" % data) self.last_start = '' try: data = int(data) except ValueError: - data = unicode(data) + data = to_unicode(data) stack_str = '-'.join(self.stack) stack_str_0 = '-'.join([stack_str, '0']) @@ -1053,9 +1070,9 @@ j = 2 while True: try: - self.data['-'.join([stack_str, unicode(j)])] + self.data['-'.join([stack_str, to_unicode(j)])] except KeyError: - self.data['-'.join([stack_str, unicode(j)])] = data + self.data['-'.join([stack_str, to_unicode(j)])] = data break j += 1 @@ -1066,17 +1083,19 @@ def parseXML(self, text): - parser = expat.ParserCreate() - parser.StartElementHandler = self.startElement - parser.EndElementHandler = self.endElement - parser.CharacterDataHandler = self.charData + if xml_expat_avail: + parser = expat.ParserCreate() - try: - parser.Parse(text, True) - except: - log.error("Unicode Error") - return self.data + parser.StartElementHandler = self.startElement + parser.EndElementHandler = self.endElement + parser.CharacterDataHandler = self.charData + parser.Parse(text, True) + + else: + log.error("Failed to import expat module , check python-xml/python3-xml package installation.") + + return self.data class Element: @@ -1146,7 +1165,7 @@ self.nodeStack = [] def StartElement_EE(self,name,attributes): - element = Element(name.encode(),attributes) + element = Element(name, attributes) if len(self.nodeStack) > 0: parent = self.nodeStack[-1] @@ -1159,20 +1178,22 @@ self.nodeStack = self.nodeStack[:-1] def charData_EE(self,data): - if string.strip(data): - data = data.encode() + if data: element = self.nodeStack[-1] element.chardata += data return def Parse(self,xmlString): - Parser = expat.ParserCreate() + if xml_expat_avail: + Parser = expat.ParserCreate() - Parser.StartElementHandler = self.StartElement_EE - Parser.EndElementHandler = self.EndElement_EE - Parser.CharacterDataHandler = self.charData_EE + Parser.StartElementHandler = self.StartElement_EE + Parser.EndElementHandler = self.EndElement_EE + Parser.CharacterDataHandler = self.charData_EE - Parser.Parse(xmlString.encode('utf-8'), True) + Parser.Parse(xmlString, True) + else: + log.error("Failed to import expat module , check python-xml/python3-xml package installation.") return self.root @@ -1186,7 +1207,7 @@ if sys.hexversion < 0x020203f0: def xlstrip(s, chars=' '): i = 0 - for c, i in zip(s, range(len(s))): + for c, i in zip(s, list(range(len(s)))): if c not in chars: break @@ -1204,9 +1225,9 @@ return xreverse(xlstrip(xreverse(xlstrip(s, chars)), chars)) else: - xlstrip = string.lstrip - xrstrip = string.rstrip - xstrip = string.strip + xlstrip = str.lstrip + xrstrip = str.rstrip + xstrip = str.strip def getBitness(): @@ -1236,11 +1257,12 @@ # password object can be created from base.password.py def run(cmd, passwordObj = None, pswd_msg='', log_output=True, spinner=True, timeout=1): - output = cStringIO.StringIO() + import io + output = io.StringIO() try: - child = pexpect.spawn(cmd, timeout=timeout) - except pexpect.ExceptionPexpect, e: + child = pexpect.spawnu(cmd, timeout=timeout) + except pexpect.ExceptionPexpect as e: return -1, '' try: @@ -1249,12 +1271,21 @@ if spinner: update_spinner() - i = child.expect(EXPECT_LIST) + try: + i = child.expect(EXPECT_LIST) + except Exception: + continue if child.before: - output.write(child.before) + try: + output.write(child.before) + except Exception: + pass if log_output: - log.debug(child.before) + try: + log.debug(child.before) + except Exception: + pass if i == 0: # EOF break @@ -1272,15 +1303,16 @@ child.sendline(passwordObj.getPassword(pswd_msg, pswd_queried_cnt)) pswd_queried_cnt += 1 - except Exception, e: + except Exception as e: log.error("Exception: %s" % e) if spinner: cleanup_spinner() try: child.close() - except pexpect.ExceptionPexpect, e: + except pexpect.ExceptionPexpect as e: pass + return child.exitstatus, output.getvalue() @@ -1292,34 +1324,34 @@ u"1-4, 7, 9-12" --> [1,2,3,4,7,9,10,11,12] """ fs = [] - for n in ns.split(u','): + for n in ns.split(to_unicode(',')): n = n.strip() r = n.split('-') if len(r) == 2: # expand name with range - h = r[0].rstrip(u'0123456789') # header + h = r[0].rstrip(to_unicode('0123456789')) # header r[0] = r[0][len(h):] # range can't be empty if not (r[0] and r[1]): - raise ValueError, 'empty range: ' + n + raise ValueError('empty range: ' + n) # handle leading zeros - if r[0] == u'0' or r[0][0] != u'0': + if r[0] == to_unicode('0') or to_unicode(r[0][0]) != '0': h += '%d' else: w = [len(i) for i in r] if w[1] > w[0]: - raise ValueError, 'wide range: ' + n - h += u'%%0%dd' % max(w) + raise ValueError('wide range: ' + n) + h += to_unicode('%%0%dd') % max(w) # check range r = [int(i, 10) for i in r] if r[0] > r[1]: - raise ValueError, 'bad range: ' + n + raise ValueError('bad range: ' + n) for i in range(r[0], r[1]+1): fs.append(h % i) else: # simple name fs.append(n) # remove duplicates - fs = dict([(n, i) for i, n in enumerate(fs)]).keys() + fs = list(dict([(n, i) for i, n in enumerate(fs)]).keys()) # convert to ints and sort fs = [int(x) for x in fs if x] fs.sort() @@ -1342,15 +1374,15 @@ r = True else: if r: - s.append(u'-%s,%s' % (c,i)) + s.append(to_unicode('-%s,%s') % (c,i)) r = False else: - s.append(u',%s' % i) + s.append(to_unicode(',%s') % i) c = i if r: - s.append(u'-%s' % i) + s.append(to_unicode('-%s') % i) return ''.join(s) @@ -1373,13 +1405,12 @@ return os.path.join(dir, "%s%0*d%s" % (basename, digits, m+1, ext)) - -def validate_language(lang, default='en_US'): +def validate_language(lang): if lang is None: - loc, encoder = locale.getdefaultlocale() + loc = os_utils.getSystemLocale() else: lang = lang.lower().strip() - for loc, ll in supported_locales.items(): + for loc, ll in list(supported_locales.items()): if lang in ll: break else: @@ -1398,7 +1429,7 @@ uuidgen = which("uuidgen") if uuidgen: uuidgen = os.path.join(uuidgen, "uuidgen") - return commands.getoutput(uuidgen) # TODO: Replace with subprocess (commands is deprecated in Python 3.0) + return subprocess.getoutput(uuidgen) else: return '' @@ -1510,7 +1541,7 @@ USAGE_STD_NOTES1 = ("If device or printer is not specified, the local device bus is probed and the program enters interactive mode.", "", "note", False) USAGE_STD_NOTES2 = ("If -p\* is specified, the default CUPS printer will be used.", "", "note", False) USAGE_SEEALSO = ("See Also:", "", "heading", False) -USAGE_LANGUAGE = ("Set the language:", "-q or --lang=. Use -q? or --lang=? to see a list of available language codes.", "option", False) +USAGE_LANGUAGE = ("Set the language:", "--loc= or --lang=. Use --loc=? or --lang=? to see a list of available language codes.", "option", False) USAGE_LANGUAGE2 = ("Set the language:", "--lang=. Use --lang=? to see a list of available language codes.", "option", False) USAGE_MODE = ("[MODE]", "", "header", False) USAGE_NON_INTERACTIVE_MODE = ("Run in non-interactive mode:", "-n or --non-interactive", "option", False) @@ -1526,7 +1557,7 @@ def ttysize(): # TODO: Move to base/tui - ln1 = commands.getoutput('stty -a').splitlines()[0] + ln1 = subprocess.getoutput('stty -a').splitlines()[0] vals = {'rows':None, 'columns':None} for ph in ln1.split(';'): x = ph.split() @@ -1774,7 +1805,7 @@ log.info("contact the HPLIP Team.") log.info(".SH COPYRIGHT") - log.info("Copyright (c) 2001-13 Hewlett-Packard Development Company, L.P.") + log.info("Copyright (c) 2001-15 Hewlett-Packard Development Company, L.P.") log.info(".LP") log.info("This software comes with ABSOLUTELY NO WARRANTY.") log.info("This is free software, and you are welcome to distribute it") @@ -1793,7 +1824,7 @@ log.info(log.bold("%s ver. %s" % (program_name, version))) log.info("") - log.info("Copyright (c) 2001-13 Hewlett-Packard Development Company, LP") + log.info("Copyright (c) 2001-15 Hewlett-Packard Development Company, LP") log.info("This software comes with ABSOLUTELY NO WARRANTY.") log.info("This is free software, and you are welcome to distribute it") log.info("under certain conditions. See COPYING file for more details.") @@ -1826,7 +1857,7 @@ # named entity try: #text = unichr(htmlentitydefs.name2codepoint[text[1:-1]]) - text = chr(htmlentitydefs.name2codepoint[text[1:-1]]) + text = chr(html_entities.name2codepoint[text[1:-1]]) except KeyError: pass return text # leave as is @@ -1836,17 +1867,17 @@ # Adds HTML or XML character references and entities from a text string def escape(s): - if not isinstance(s, unicode): - s = unicode(s) # hmmm... + if not isinstance(s, str): + s = to_unicode(s) - s = s.replace(u"&", u"&") + s = s.replace("&", "&") - for c in htmlentitydefs.codepoint2name: + for c in html_entities.codepoint2name: if c != 0x26: # exclude & - s = s.replace(unichr(c), u"&%s;" % htmlentitydefs.codepoint2name[c]) + s = s.replace(chr(c), "&%s;" % html_entities.codepoint2name[c]) - for c in range(0x20) + range(0x7f, 0xa0): - s = s.replace(unichr(c), u"&#%d;" % c) + for c in list(range(0x20)) + list(range(0x7f, 0xa0)): + s = s.replace(chr(c), "&#%d;" % c) return s @@ -1938,13 +1969,37 @@ sys.stdout.write("%s" %(log.color("%2d%%"%percent, 'bold'))) sys.stdout.flush() +def chunk_write(response, out_fd, chunk_size =8192, status_bar = downLoad_status): + if response.info() and response.info().get('Content-Length'): + total_size = int(response.info().get('Content-Length').strip()) + else: + log.debug("Ignoring progres bar") + status_bar = None + bytes_so_far = 0 + while 1: + chunk = response.read(chunk_size) + if not chunk: + break + + out_fd.write(chunk) + bytes_so_far += len(chunk) + + if status_bar: + status_bar(bytes_so_far, 1, total_size) + + +# Return Values. Sts, outFile +# Sts = 0 --> Success +# other thatn 0 --> Fail +# outFile = downloaded Filename. +# empty file on Failure case def download_from_network(weburl, outputFile = None, useURLLIB=False): - result =False + retValue = -1 if weburl is "" or weburl is None: log.error("URL is empty") - return result, "" + return retValue, "" if outputFile is None: fp, outputFile = make_temp_file() @@ -1957,23 +2012,31 @@ status, output = run("%s --cache=off --tries=3 --timeout=60 --output-document=%s %s" %(wget, outputFile, weburl)) if status: log.error("Failed to connect to HPLIP site. Error code = %d" %status) - return False, "" + return retValue, "" else: useURLLIB = True if useURLLIB: - sys.stdout.write("Download in progress...") - urllib.urlretrieve(weburl, outputFile, downLoad_status) + + sys.stdout.write("Download in progress..........") + try: + response = urllib2_request.urlopen(weburl) + file_fd = open(outputFile, 'wb') + chunk_write(response, file_fd) + file_fd.close() + except urllib2_error.URLError as e: + log.error("Failed to open URL: %s" % weburl) + return retValue, "" - except IOError, e: + except IOError as e: log.error("I/O Error: %s" % e.strerror) - return False, "" + return retValue, "" if not os.path.exists(outputFile): - log.error("Failed to download %s file."%outputFile) - return False, "" + log.error("Failed to get hplip version/ %s file not found."%hplip_version_file) + return retValue, "" - return True, outputFile + return 0, outputFile @@ -2223,9 +2286,9 @@ if output: for p in output.splitlines(): cmd = "echo '%s' | awk {'print $2'}" %p - status,pid = commands.getstatusoutput(cmd) + status,pid = subprocess.getstatusoutput(cmd) cmd = "echo '%s' | awk {'print $11,$12'}" %p - status,cmdline = commands.getstatusoutput(cmd) + status,cmdline = subprocess.getstatusoutput(cmd) if pid : process[pid] = cmdline @@ -2233,7 +2296,7 @@ else: return False, {} - except Exception, e: + except Exception as e: log.error("Execution failed: process Name[%s]" %process_name) print >>sys.stderr, "Execution failed:", e return False, {} @@ -2249,4 +2312,46 @@ if 0 != status: log.debug("Failed to remove=%s "%path) - +# This is operator overloading function for compare.. +def cmp_to_key(mycmp): + 'Convert a cmp= function into a key= function' + class K(object): + def __init__(self, obj, *args): + self.obj = obj + def __lt__(self, other): + return mycmp(self.obj, other.obj) < 0 + def __gt__(self, other): + return mycmp(self.obj, other.obj) > 0 + def __eq__(self, other): + return mycmp(self.obj, other.obj) == 0 + def __le__(self, other): + return mycmp(self.obj, other.obj) <= 0 + def __ge__(self, other): + return mycmp(self.obj, other.obj) >= 0 + def __ne__(self, other): + return mycmp(self.obj, other.obj) != 0 + return K + +# This is operator overloading function for compare.. for level functionality. +def levelsCmp(x, y): + return (x[1] > y[1]) - (x[1] < y[1]) or (x[3] > y[3]) - (x[3] < y[3]) + + +def find_pip(): + '''Determine the pip command syntax available for a particular distro. + since it varies across distros''' + + if which('pip-%s'%(str(MAJ_VER)+'.'+str(MIN_VER))): + return 'pip-%s'%(str(MAJ_VER)+'.'+str(MIN_VER)) + elif which('pip-%s'%str(MAJ_VER)): + return 'pip-%s'%str(MAJ_VER) + elif which('pip%s'%str(MAJ_VER)): + return 'pip%s'%str(MAJ_VER) + elif which('pip%s'%(str(MAJ_VER)+'.'+str(MIN_VER))): + return 'pip%s'%(str(MAJ_VER)+'.'+str(MIN_VER)) + elif which('pip-python%s'%str(MAJ_VER)): + return 'pip-python%s'%str(MAJ_VER) + elif which('pip-python'): + return 'pip-python' + else: + log.error("python pip command not found. Please install '%s' package(s) manually"%depends_to_install_using_pip) diff -Nru hplip-3.14.6/base/validation.py hplip-3.15.2/base/validation.py --- hplip-3.14.6/base/validation.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/validation.py 2015-01-29 12:20:35.000000000 +0000 @@ -22,6 +22,7 @@ #Global imports import os import stat +import datetime #Local imports from base.codes import * @@ -31,6 +32,7 @@ from base.g import * from subprocess import Popen, PIPE + class DigiSign_Verification(object): def __init__(self): pass @@ -40,7 +42,6 @@ class GPG_Verification(DigiSign_Verification): - def __init__(self, pgp_site = 'pgp.mit.edu', key = 0xA59047B9): self.__pgp_site = pgp_site self.__key = key @@ -48,23 +49,20 @@ sts, self.__hplipdir = os_utils.getHPLIPDir() self.__gpg_dir = os.path.join(self.__hplipdir, ".gnupg") + + #Make sure gpg directory is present. GPG keys will be retrieved here from the key server + if not os.path.exists(self.__gpg_dir): try: - os.mkdir(self.__gpg_dir, 0755) + os.mkdir(self.__gpg_dir, 0o755) except OSError: log.error("Failed to create %s" % self.__gpg_dir) - self.__change_owner() - - def __change_owner(self, Recursive = False): try: os.umask(0) s = os.stat(self.__hplipdir) - - #When validation is done is sudo mode, files and directories created will have root as owner. - #Changing the ownership back to normal user otherwise next validation operation will fail when run as normal user. os_utils.changeOwner(self.__gpg_dir, s[stat.ST_UID], s[stat.ST_GID], Recursive) except OSError: diff -Nru hplip-3.14.6/base/vcard.py hplip-3.15.2/base/vcard.py --- hplip-3.14.6/base/vcard.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/vcard.py 2015-01-29 12:20:35.000000000 +0000 @@ -32,15 +32,15 @@ # # Local -from base.g import * +from .g import * # Std Lib import quopri import base64 import codecs -import cStringIO +import io import re -import StringIO +import io import codecs @@ -93,15 +93,15 @@ appropriate unicode decoding, else returns the file using standard open function""" #with file(name, 'rb') as f: - f = file(name, 'rb') + f = open(name, 'rb') start = f.read(_maxbomlen) for bom,codec in _boms: if start.startswith(bom): # some codecs don't do readline, so we have to vector via stringio # many postings also claim that the BOM is returned as the first # character but that hasn't been the case in my testing - return StringIO.StringIO(codecs.open(name, "r", codec).read()) - return file(name, "rtU") + return io.StringIO(codecs.open(name, "r", codec).read()) + return open(name, "rtU") _notdigits = re.compile("[^0-9]*") @@ -140,7 +140,7 @@ def nameparser_getfullname(name): """Gets the full name, joining the first/middle/last if necessary""" - if name.has_key("full"): + if "full" in name: return name["full"] return ' '.join([x for x in nameparser_getparts(name) if x]) @@ -229,11 +229,11 @@ # do we have any of the parts? for i in ("first", "middle", "last"): - if name.has_key(i): + if i in name: return (name.get("first", ""), name.get("middle", ""), name.get("last", "")) # check we have full. if not return nickname - if not name.has_key("full"): + if "full" not in name: return (name.get("nickname", ""), "", "") n = name.nameparser_get("full") @@ -265,7 +265,7 @@ return self - def next(self): + def __next__(self): # Get the next non-blank line while True: # python desperately needs do-while line = self._getnextline() @@ -326,7 +326,7 @@ items = b4.upper().split(";") newitems = [] - if isinstance(line, unicode): + if isinstance(line, str): charset = None else: @@ -358,7 +358,7 @@ else: raise VFileException("unknown encoding: "+i) - except Exception,e: + except Exception as e: if isinstance(e,VFileException): raise e raise VFileException("Exception %s while processing encoding %s on data '%s'" % (str(e), i, line)) @@ -425,7 +425,7 @@ return self - def next(self): + def __next__(self): # find vcard start field = value = None for field,value in self.vfile: @@ -524,9 +524,9 @@ field then "email2" is returned, etc""" if name not in dict: return name - for i in xrange(2,99999): - if name+`i` not in dict: - return name+`i` + for i in range(2,99999): + if name+repr(i) not in dict: + return name+repr(i) def _parse(self, lines, result): @@ -546,7 +546,7 @@ def _update_groups(self, result): """Update the groups info """ - for k,e in self._groups.items(): + for k,e in list(self._groups.items()): self._setvalue(result, *e) @@ -857,13 +857,13 @@ # we need to insert our value at the begining values = [value] - for suffix in [""]+range(2,99): + for suffix in [""]+list(range(2,99)): if type+str(suffix) in result: values.append(result[type+str(suffix)]) else: break - suffixes = [""]+range(2,len(values)+1) + suffixes = [""]+list(range(2,len(values)+1)) for l in range(len(suffixes)): result[type+str(suffixes[l])] = values[l] @@ -1246,7 +1246,7 @@ def out_tel(vals, formatter): # ::TODO:: limit to one type of each number - phones = ['phone'+str(x) for x in ['']+range(2,len(vals)+1)] + phones = ['phone'+str(x) for x in ['']+list(range(2,len(vals)+1))] res = "" first = True idx = 0 @@ -1361,7 +1361,7 @@ assert len([f for f in limit_fields if f not in _field_order]) == 0 fmt = profile["_formatter"] - io = cStringIO.StringIO() + io = io.StringIO() io.write(out_line("BEGIN", None, "VCARD", None)) io.write(out_line("VERSION", None, profile["_version"], None)) @@ -1374,7 +1374,7 @@ if f in entry and f in profile: func = profile[f] # does it have a limit? (nice scary introspection :-) - if "limit" in func.func_code.co_varnames[:func.func_code.co_argcount]: + if "limit" in func.__code__.co_varnames[:func.__code__.co_argcount]: lines = func(entry[f], fmt, limit = profile["_limit"]) else: lines = func(entry[f], fmt) diff -Nru hplip-3.14.6/base/wifi.py hplip-3.15.2/base/wifi.py --- hplip-3.14.6/base/wifi.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/base/wifi.py 2015-01-29 12:20:35.000000000 +0000 @@ -21,25 +21,12 @@ # StdLib import time -import cStringIO -from base.g import * -try: - import xml.parsers.expat -except ImportError,e: - log.info("\n") - log.error("Failed to import xml.parsers.expat(%s).\nThis may be due to the incompatible version of python-xml package.\n"%(e)) - if "undefined symbol" in str(e): - log.info(log.blue("Please re-install compatible version (other than 2.7.2-7.14.1) due to bug reported at 'https://bugzilla.novell.com/show_bug.cgi?id=766778'.")) - log.info(log.blue("\n Run the following commands in root mode to change the python-xml package.(i.e Installing 2.7.2-7.1.2)")) - log.info(log.blue("\n Using zypper:\n 'zypper remove python-xml'\n 'zypper install python-xml-2.7.2-7.1.2'")) - log.info(log.blue("\n Using apt-get:\n 'apt-get remove python-xml'\n 'apt-get install python-xml-2.7.2-7.1.2'")) - log.info(log.blue("\n Using yum:\n 'yum remove python-xml'\n 'yum install python-xml-2.7.2-7.1.2'")) +import io +import xml.parsers.expat - sys.exit(1) - # Local -from base.g import * -from base import device, utils +from .g import * +from . import device, utils MAX_NETWORKS = 100 MAX_RETRIES = 20 @@ -60,7 +47,7 @@ bytes_written = dev.writeWifiConfig(request) log.debug("Wrote %d bytes." % bytes_written) - data = cStringIO.StringIO() + data = io.BytesIO() log.debug("Reading response on wifi config channel...") bytesread = dev.readWifiConfig(device.MAX_BUFFER, stream=data, timeout=30) i = 0 @@ -73,19 +60,13 @@ data = data.getvalue() - #log.xml(repr(data)) - # Convert any char references - data = utils.unescape(data) - - #log.xml(repr(data)) - data = unicode(data, 'utf-8') + data = utils.unescape(data.decode('utf-8')) - #log.xml(repr(data)) # C4380 returns invalid XML for DeviceCapabilitiesResponse # Eliminate any invalid characters - data = data.replace(u"Devicecapabilities", u"DeviceCapabilities").replace('\x00', '') + data = data.replace(to_unicode("Devicecapabilities"), to_unicode("DeviceCapabilities")).replace('\x00', '') log.log_data(data) log.debug("Read %d bytes." % len(data)) @@ -98,7 +79,7 @@ try: params = utils.XMLToDictParser().parseXML(data) - except xml.parsers.expat.ExpatError, e: + except xml.parsers.expat.ExpatError as e: log.error("XML parser failed: %s" % e) match = re.search(r"""line\s*(\d+).*?column\s*(\d+)""", str(e), re.I) if match is not None: @@ -184,17 +165,17 @@ ret['adaptorpresence-0'] = params['wificonfig-getadaptorlistresponse-adaptorlist-adaptorinfo-adaptorpresence'] ret['adaptorstate-0'] = params['wificonfig-getadaptorlistresponse-adaptorlist-adaptorinfo-adaptorstate'] ret['adaptortype-0'] = params['wificonfig-getadaptorlistresponse-adaptorlist-adaptorinfo-adaptortype'] - except KeyError, e: + except KeyError as e: log.debug("Missing response key: %s" % e) else: - for a in xrange(adaptor_list_length): + for a in range(adaptor_list_length): try: ret['adaptorid-%d' % a] = params['wificonfig-getadaptorlistresponse-adaptorlist-adaptorinfo-adaptorid-%d' % a] ret['adaptorname-%d' % a] = params['wificonfig-getadaptorlistresponse-adaptorlist-adaptorinfo-adaptorname-%d' % a] ret['adaptorpresence-%d' % a] = params['wificonfig-getadaptorlistresponse-adaptorlist-adaptorinfo-adaptorpresence-%d' % a] ret['adaptorstate-%d' % a] = params['wificonfig-getadaptorlistresponse-adaptorlist-adaptorinfo-adaptorstate-%d' % a] ret['adaptortype-%d' % a] = params['wificonfig-getadaptorlistresponse-adaptorlist-adaptorinfo-adaptortype-%d' % a] - except KeyError, e: + except KeyError as e: log.debug("Missing response key: %s" % e) return ret @@ -212,7 +193,7 @@ except KeyError: num_adaptors = 0 - for n in xrange(num_adaptors): + for n in range(num_adaptors): try: name = ret['adaptortype-%d' % n] except KeyError: @@ -250,7 +231,7 @@ %s %s -""" % (adaptor_id, power_state.encode('utf-8')) +""" % (adaptor_id, power_state) errorreturn, params = _readWriteWifiConfig(dev, request) if not params: @@ -285,7 +266,7 @@ %s %s -""" % (ssid.encode('utf-8'), scan_state) +""" % (ssid, scan_state) typ = 'Directed' rsp = 'directedscanresponse' @@ -316,7 +297,7 @@ try: ssid = params['wificonfig-%s-scanlist-scanentry-ssid' % rsp] if not ssid: - ret['ssid-0'] = u'(unknown)' + ret['ssid-0'] = to_unicode('(unknown)') else: ret['ssid-0'] = ssid ret['bssid-0'] = params['wificonfig-%s-scanlist-scanentry-bssid' % rsp] @@ -326,16 +307,16 @@ ret['encryptiontype-0'] = params['wificonfig-%s-scanlist-scanentry-encryptiontype' % rsp] ret['rank-0'] = params['wificonfig-%s-scanlist-scanentry-rank' % rsp] ret['signalstrength-0'] = params['wificonfig-%s-scanlist-scanentry-signalstrength' % rsp] - except KeyError, e: + except KeyError as e: log.debug("Missing response key: %s" % e) else: - for a in xrange(number_of_scan_entries): + for a in range(number_of_scan_entries): j = a+i try: ssid = params['wificonfig-%s-scanlist-scanentry-ssid-%d' % (rsp, j)] if not ssid: - ret['ssid-%d' % j] = u'(unknown)' + ret['ssid-%d' % j] = to_unicode('(unknown)') else: ret['ssid-%d' % j] = ssid ret['bssid-%d' % j] = params['wificonfig-%s-scanlist-scanentry-bssid-%d' % (rsp, j)] @@ -345,14 +326,14 @@ ret['encryptiontype-%d' % j] = params['wificonfig-%s-scanlist-scanentry-encryptiontype-%d' % (rsp, j)] ret['rank-%d' % j] = params['wificonfig-%s-scanlist-scanentry-rank-%d' % (rsp, j)] ret['signalstrength-%d' % j] = params['wificonfig-%s-scanlist-scanentry-signalstrength-%d' % (rsp, j)] - except KeyError, e: + except KeyError as e: log.debug("Missing response key: %s" % e) try: scan_state = ret['scanstate'] = params['wificonfig-%s-scanstate' % rsp] # MoreEntriesAvailable, ScanComplete ret['signalstrengthmax'] = params['wificonfig-%s-scansettings-signalstrengthmax' % rsp] ret['signalstrengthmin'] = params['wificonfig-%s-scansettings-signalstrengthmin' % rsp] - except KeyError, e: + except KeyError as e: log.debug("Missing response key: %s" % e) if scan_state.lower() == 'scancomplete': @@ -380,9 +361,10 @@ %s %s -""" % (ssid.encode('utf-8'), communication_mode.encode('utf-8'), - encryption_type.encode('utf-8'), u"False".encode('utf-8'), - key.encode('utf-8')) +""" % (ssid, communication_mode, + encryption_type, "False", + key) + errorreturn, params = _readWriteWifiConfig(dev, request) if not params: @@ -483,7 +465,7 @@ gateway = ret['gatewayaddress'] pridns = ret['primarydnsaddress'] sec_dns = ret['alternatednsaddress'] - except KeyError, e: + except KeyError as e: log.debug("Missing response key: %s" % str(e)) return ip, hostname, addressmode, subnetmask, gateway, pridns, sec_dns @@ -532,7 +514,7 @@ ss_min = ret['signalstrengthmin'] ss_val = ret['signalstrengthvalue'] ss_dbm = ret['dbm'] - except KeyError, e: + except KeyError as e: log.debug("Missing response key: %s" % str(e)) return ss_max, ss_min, ss_val, ss_dbm @@ -580,7 +562,7 @@ alg = ret['crypoalgorithm'] mode = ret['crypomode'] secretid = ret['secretid'] - except KeyError, e: + except KeyError as e: log.debug("Missing response key: %s" % str(e)) return alg, mode, secretid @@ -625,16 +607,17 @@ %s %d -""" % (bssid.encode("utf-8"), ss) +""" % (bssid, ss) - import httplib, socket + from .sixext.moves import http_client + import socket ret = {} request_len = len(request) log.log_data(request) try: - conn = httplib.HTTPSConnection("api.skyhookwireless.com") + conn = http_client.HTTPSConnection("api.skyhookwireless.com") conn.putrequest("POST", "/wps2/location") conn.putheader("Content-type", "text/xml") conn.putheader("Content-Length", str(request_len)) diff -Nru hplip-3.14.6/check-plugin.py hplip-3.15.2/check-plugin.py --- hplip-3.14.6/check-plugin.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/check-plugin.py 2015-01-29 12:20:49.000000000 +0000 @@ -20,12 +20,13 @@ # Author: Suma Byrappa, Amarnath Chitumalla # # - +from __future__ import print_function __version__ = '1.1' __title__ = 'AutoConfig Utility for Plug-in Installation' __mod__ = 'hp-check-plugin' __doc__ = "Auto config utility for HPLIP supported multifunction Devices for installing proprietary plug-ins." + # Std Lib import sys import os @@ -92,13 +93,13 @@ #Installs/Uploads the firmware to device once plugin installation is completed. def install_firmware(pluginObj,Plugin_Installation_Completed, USB_param): #timeout check for plugin installation - sleep_timeout = 6000 # 10 mins time out + sleep_timeout = 6000 # 10 mins time out while Plugin_Installation_Completed is False and sleep_timeout != 0: - time.sleep(0.3) #0.3 sec delay - sleep_timeout = sleep_timeout -3 + time.sleep(0.3) #0.3 sec delay + sleep_timeout = sleep_timeout -3 - ps_plugin,output = utils.Is_Process_Running('hp-plugin') - ps_diagnose_plugin,output = utils.Is_Process_Running('hp-diagnose_plugin') + ps_plugin,output = utils.Is_Process_Running('hp-plugin') + ps_diagnose_plugin,output = utils.Is_Process_Running('hp-diagnose_plugin') if ps_plugin is False and ps_diagnose_plugin is False: Plugin_Installation_Completed = True @@ -164,7 +165,7 @@ opts, device_uri, printer_name, mode, ui_toolkit, loc = \ mod.parseStdOpts('l:hHuUmMfFpPgG',['gui','help', 'help-rest', 'help-man', 'help-desc','logging='],handle_device_printer=False) -except getopt.GetoptError, e: +except getopt.GetoptError as e: log.error(e.msg) usage() sys.exit(1) @@ -198,7 +199,7 @@ # GUI_Mode = False elif o == '--help-desc': - print __doc__, + print(__doc__, end=' ') sys.exit(0) elif o in ('-l', '--logging'): @@ -300,7 +301,7 @@ elif Plugin_option_Enabled: if not Is_Plugin_Already_Installed: - install_Plugin (Systray_Is_Running, True) # needs to run hp-plugin without usig systray + install_Plugin (Systray_Is_Running, True) # needs to run hp-plugin without usig systray if Firmware_Option_Enabled: if Is_Plugin_Already_Installed is False: diff -Nru hplip-3.14.6/check.py hplip-3.15.2/check.py --- hplip-3.14.6/check.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/check.py 2015-01-29 12:20:49.000000000 +0000 @@ -19,18 +19,20 @@ # # Author: Don Welch, Amarnath Chitumalla # - +from __future__ import print_function __version__ = '15.1' __title__ = 'Dependency/Version Check Utility' __mod__ = 'hp-check' __doc__ = """Checks dependency versions,permissions of HPLIP. (Run as 'python ./check.py' from the HPLIP tarball before installation.)""" + # Std Lib import sys import os import getopt import re -import StringIO +from base.sixext import PY3, to_string_utf8 +from base.sixext import to_string_utf8 # Local from base.g import * @@ -166,12 +168,6 @@ comment = "'%s needs to be installed'"%package return comment -def get_libusb_version(): - if IS_LIBUSB01_ENABLED == "yes": - return get_version('libusb-config --version') - else: - return '1.0' - ########## Classes ########### @@ -183,6 +179,7 @@ self.num_warns = 0 # self.missing_user_grps = '' + self.ui_toolkit = ui_toolkit self.disable_selinux = False self.req_deps_to_be_installed = [] self.opt_deps_to_be_installed =[] @@ -193,67 +190,71 @@ self.user_grps_cmd = '' - self.hplip_dependencies ={ EXTERNALDEP: - { -# : (, , , , , ), - 'dbus': (True, ['fax'], "DBus", self.check_dbus,'-','dbus-daemon --version'), - 'cups' : (True, ['base'], 'CUPS', self.check_cups,'1.1','cups-config --version'), - 'gs': (True, ['base'], "Ghostscript", self.check_gs,'7.05','gs --version'), - 'policykit': (False, ['gui_qt4'], "Admin-Policy-framework", self.check_policykit,'-','pkexec --version'), # optional for non-sudo behavior of plugins (only optional for Qt4 option) - 'xsane': (False, ['scan'], "SANE-GUI", self.check_xsane,'0.9','FUNC#get_xsane_version'), - 'scanimage': (False, ['scan'], "Shell-Scanning", self.check_scanimage,'1.0','scanimage --version'), - 'network': (False, ['network'], "Network-wget", self.check_wget,'-','wget --version'), - 'avahi-utils': (False, ['network'], "avahi-utils", self.check_avahi_utils, '-','avahi-browse --version'), - }, - GENERALDEP: - {'libpthread': (True, ['base'], "POSIX-Threads-Lib", self.check_libpthread,'-','FUNC#get_libpthread_version'), - 'libusb': (True, ['base'], "USB-Lib", self.check_libusb,'-','FUNC#get_libusb_version'), - 'libcrypto': (True, ['network'], "OpenSSL-Crypto-Lib", self.check_libcrypto,'-','openssl version'), - 'libjpeg': (True, ['base'], "JPEG-Lib", self.check_libjpeg,'-',None), - 'libnetsnmp-devel': (True, ['network'], "SNMP-Networking-SDK", self.check_libnetsnmp,'5.0.9','net-snmp-config --version'), - 'cups-image': (True, ['base'], "CUPS-Image-Lib", self.check_cups_image,'-','cups-config --version'), - 'cups-devel': (True, ['base'], 'CUPS-SDK', self.check_cups_devel,'-','cups-config --version'), - 'cups-ddk': (False, ['base'], "CUPS-DDK", self.check_cupsddk,'-',None), # req. for .drv PPD installs - 'python-dbus': (True, ['fax'], "Python-DBUS", self.check_python_dbus,'0.80.0','FUNC#get_python_dbus_ver'), - 'pyqt4': (True, ['gui_qt4'], "Python-Qt4", self.check_pyqt4,'4.0','FUNC#get_pyQt4_version'), # PyQt 4.x ) - 'pyqt4-dbus' : (True, ['gui_qt4'], "PyQt4-DBUS", self.check_pyqt4_dbus,'4.0','FUNC#get_pyQt4_version'), - 'pyqt': (True, ['gui_qt'], "Python-Qt", self.check_pyqt,'2.3','FUNC#get_pyQt_version'), - 'python-devel' : (True, ['base'], "Python-SDK", self.check_python_devel,'2.2','python --version'), - 'python-notify' : (False, ['gui_qt4'], "Desktop-notifications", self.check_pynotify,'-','python-notify --version'), # Optional for libnotify style popups from hp-systray - 'python-xml' : (True, ['base'], "Python-XML-Lib", self.check_python_xml,'-','FUNC#get_python_xml_version'), - 'pil': (False, ['scan'], "Python-Image-Lib", self.check_pil,'-','FUNC#get_pil_version'), #required for commandline scanning with hp-scan - 'sane': (True, ['scan'], "Scan-Lib", self.check_sane,'-','sane-config --version'), - 'sane-devel' : (True, ['scan'], "SANE-SDK", self.check_sane_devel,'-','sane-config --version'), - 'reportlab': (False, ['fax'], "Python-PDF-Lib", self.check_reportlab,'2.0','FUNC#get_reportlab_version'), - }, - COMPILEDEP: - { 'gcc' : (True, ['base'], 'gcc-Compiler', self.check_gcc, '-','gcc --version'), - 'libtool': (True, ['base'], "Build-tools", self.check_libtool,'-','libtool --version'), - 'make' : (True, ['base'], "GNU-Build-tools", self.check_make,'3.0','make --version'), - }, - PYEXT: - { 'cupsext' : (True, ['base'], 'CUPS-Extension', self.check_cupsext,'-','FUNC#get_HPLIP_version'), - 'hpmudext' : (True, ['base'], 'IO-Extension', self.check_hpmudext,'-','FUNC#get_HPLIP_version'), - 'pcardext' : (True, ['base'], 'PhotoCard-Extension', self.check_pcardext,'-','FUNC#get_HPLIP_version'), - }, - SCANCONF: - { 'hpaio' : (True, ['scan'], 'HPLIP-SANE-Backend', self.check_hpaio,'-','FUNC#get_HPLIP_version'), - 'scanext' : (True, ['scan'], 'Scan-SANE-Extension', self.check_scanext,'-','FUNC#get_HPLIP_version'), - } - } - - self.version_func={ - 'FUNC#get_python_dbus_ver':get_python_dbus_ver, - 'FUNC#get_pyQt4_version':get_pyQt4_version, - 'FUNC#get_pyQt_version':get_pyQt_version, - 'FUNC#get_reportlab_version':get_reportlab_version, - 'FUNC#get_xsane_version':get_xsane_version, - 'FUNC#get_pil_version':get_pil_version, - 'FUNC#get_libpthread_version':get_libpthread_version, - 'FUNC#get_python_xml_version':get_python_xml_version, - 'FUNC#get_HPLIP_version':get_HPLIP_version, - 'FUNC#get_libusb_version':get_libusb_version, - } + + def __update_deps_info(self, sup_dist_vers, d, deps_info): + if d == 'cups-ddk' and self.cups_ddk_not_req == True: + return + elif self.ui_toolkit != 'qt4' and self.ui_toolkit != 'qt3' and d == 'pyqt': + return + elif d == 'pyqt' and self.ui_toolkit == 'qt4': + return + elif d == 'pyqt4' and self.ui_toolkit == 'qt3': + return + elif d == 'hpaio' and not self.scanning_enabled: + return + elif self.distro_name =="rhel" and "5." in self.distro_version: + if d in ['dbus','python-devel','python-dbus','pyqt4-dbus','libnetsnmp-devel','gcc','make','reportlab','policykit','sane-devel','cups-ddk']: + return + + if deps_info[6] is None: + installed_ver = '-' + elif Ver_Func_Pat.search(deps_info[6]): + if deps_info[6] in self.version_func: + installed_ver = self.version_func[deps_info[6]]() + else: + installed_ver = '-' + else: + installed_ver = get_version(deps_info[6]) + Status = Status_Type(deps_info[3](),deps_info[5],installed_ver) + comment = get_comment(d, Status, installed_ver) + packages_to_install, commands=[],[] + if self.is_auto_installer_support(): + packages_to_install, commands = self.get_dependency_data(d) + if not packages_to_install and d == 'hpaio': + packages_to_install.append(d) + else: + packages_to_install, commands = self.get_dependency_data(d,sup_dist_vers) + if not packages_to_install and d == 'hpaio': + packages_to_install.append(d) + + if deps_info[0]: + package_type = "REQUIRED" + else: + package_type = "OPTIONAL" + + if d == 'cups' and ((installed_ver == '-') or check_version(installed_ver,'1.4')): + self.cups_ddk_not_req = True + log.debug("cups -ddk not required as cups version [%s] is => 1.4 "%installed_ver) + if d == 'hpmudext' and Status == 'OK': + self.hpmudext_avail = True + + if Status == 'OK': + log.info(" %-20s %-60s %-15s %-15s %-15s %-10s %s" %(d,deps_info[2], package_type,deps_info[5],installed_ver,Status,comment)) + else: + log.info(log.red(" error: %-13s %-60s %-15s %-15s %-15s %-10s %s" %(d,deps_info[2], package_type,deps_info[5],installed_ver,Status,comment))) + self.num_errors += 1 + for cmd in commands: + if cmd: + self.cmds_to_be_run.append(cmd) + if package_type == "OPTIONAL": + for pkg in packages_to_install: + if pkg: + self.opt_deps_to_be_installed.append(pkg) + else: + for pkg in packages_to_install: + if pkg: + self.req_deps_to_be_installed.append(pkg) + def get_required_deps(self): return self.req_deps_to_be_installed @@ -293,9 +294,9 @@ def validate(self,time_flag=DEPENDENCY_RUN_AND_COMPILE_TIME, is_quiet_mode= False): ############ Variables ####################### - cups_ddk_not_req = False - hpmudext_avail = False - ui_toolkit = sys_conf.get('configure','ui-toolkit') + self.cups_ddk_not_req = False + self.hpmudext_avail = False + self.ui_toolkit = sys_conf.get('configure','ui-toolkit') org_log_location = log.get_where() if is_quiet_mode: @@ -330,8 +331,8 @@ log.info() log.info(log.bold("Current contents of '/etc/hp/hplip.conf' file:")) try: - output = file('/etc/hp/hplip.conf', 'r').read() - except (IOError, OSError), e: + output = open('/etc/hp/hplip.conf', 'r').read() + except (IOError, OSError) as e: log.error("Could not access file: %s. Check HPLIP installation." % e.strerror) self.num_errors += 1 else: @@ -340,8 +341,8 @@ log.info() log.info(log.bold("Current contents of '/var/lib/hp/hplip.state' file:")) try: - output = file(os.path.expanduser('/var/lib/hp/hplip.state'), 'r').read() - except (IOError, OSError), e: + output = open(os.path.expanduser('/var/lib/hp/hplip.state'), 'r').read() + except (IOError, OSError) as e: log.info("Plugins are not installed. Could not access file: %s" % e.strerror) else: log.info(output) @@ -349,96 +350,53 @@ log.info() log.info(log.bold("Current contents of '~/.hplip/hplip.conf' file:")) try: - output = file(os.path.expanduser('~/.hplip/hplip.conf'), 'r').read() - except (IOError, OSError), e: + output = open(os.path.expanduser('~/.hplip/hplip.conf'), 'r').read() + except (IOError, OSError) as e: log.warn("Could not access file: %s" % e.strerror) self.num_warns += 1 else: log.info(output) - scanning_enabled = utils.to_bool(sys_conf.get('configure', 'scanner-build', '0')) + self.scanning_enabled = utils.to_bool(sys_conf.get('configure', 'scanner-build', '0')) log.info(" %-20s %-20s %-10s %-10s %-10s %-10s %s"%( "", " ", "", "","", "", "")) - for s in self.hplip_dependencies: - if s == EXTERNALDEP: - if time_flag == DEPENDENCY_RUN_AND_COMPILE_TIME or time_flag == DEPENDENCY_RUN_TIME: - tui.header(" External Dependencies") - else: continue - elif s == GENERALDEP: - if time_flag == DEPENDENCY_RUN_AND_COMPILE_TIME or time_flag == DEPENDENCY_RUN_TIME: - tui.header(" General Dependencies") - else: continue - elif s == COMPILEDEP: - if time_flag == DEPENDENCY_RUN_AND_COMPILE_TIME or time_flag == DEPENDENCY_COMPILE_TIME: - tui.header(" Compile Time Dependencies") - else: continue - elif s == PYEXT: tui.header(" Python Extentions") - elif s == SCANCONF: tui.header(" Scan Configuration") - else: tui.header(" Other Dependencies") - for d in self.hplip_dependencies[s]: - if d == 'cups-ddk' and cups_ddk_not_req == True: - continue - elif ui_toolkit != 'qt4' and ui_toolkit != 'qt3' and d == 'pyqt': - continue - elif d == 'pyqt' and ui_toolkit == 'qt4': - continue - elif d == 'pyqt4' and ui_toolkit == 'qt3': - continue - elif d == 'hpaio' and not scanning_enabled: - continue - elif self.distro_name =="rhel" and "5." in self.distro_version: - if d in ['dbus','python-devel','python-dbus','pyqt4-dbus','libnetsnmp-devel','gcc','make','reportlab','policykit','sane-devel','cups-ddk']: - continue - if self.hplip_dependencies[s][d][5] is None: - installed_ver = '-' - elif Ver_Func_Pat.search(self.hplip_dependencies[s][d][5]): - if self.hplip_dependencies[s][d][5] in self.version_func: - installed_ver = self.version_func[self.hplip_dependencies[s][d][5]]() - else: - installed_ver = '-' - else: - installed_ver = get_version(self.hplip_dependencies[s][d][5]) - Status = Status_Type(self.hplip_dependencies[s][d][3](),self.hplip_dependencies[s][d][4],installed_ver) - comment = get_comment(d, Status, installed_ver) - packages_to_install, commands=[],[] - if self.is_auto_installer_support(): - packages_to_install, commands = self.get_dependency_data(d) - if not packages_to_install and d == 'hpaio': - packages_to_install.append(d) - else: - packages_to_install, commands = self.get_dependency_data(d,supported_distro_vrs) - if not packages_to_install and d == 'hpaio': - packages_to_install.append(d) - - if self.hplip_dependencies[s][d][0]: - package_type = "REQUIRED" - else: - package_type = "OPTIONAL" - - if d == 'cups' and ((installed_ver == '-') or check_version(installed_ver,'1.4')): - cups_ddk_not_req = True - log.debug("cups -ddk not required as cups version [%s] is => 1.4 "%installed_ver) - if d == 'hpmudext' and Status == 'OK': - hpmudext_avail = True - - if Status == 'OK': - log.info(" %-20s %-25s %-15s %-15s %-15s %-10s %s" %(d,self.hplip_dependencies[s][d][2], package_type,self.hplip_dependencies[s][d][4],installed_ver,Status,comment)) - else: - log.info(log.red(" error: %-13s %-25s %-15s %-15s %-15s %-10s %s" %(d,self.hplip_dependencies[s][d][2], package_type,self.hplip_dependencies[s][d][4],installed_ver,Status,comment))) - self.num_errors += 1 - for cmd in commands: - if cmd: - self.cmds_to_be_run.append(cmd) - if package_type == "OPTIONAL": - for pkg in packages_to_install: - if pkg: - self.opt_deps_to_be_installed.append(pkg) - else: - for pkg in packages_to_install: - if pkg: - self.req_deps_to_be_installed.append(pkg) + self.dependencies.update(self.hplip_dependencies) + if time_flag == DEPENDENCY_RUN_AND_COMPILE_TIME or time_flag == DEPENDENCY_RUN_TIME: + tui.header(" External Dependencies") + for dep in self.dependencies: + if self.dependencies[dep][7] == EXTERNALDEP: + self.__update_deps_info(supported_distro_vrs, dep, self.dependencies[dep]) + + tui.header(" General Dependencies") + for dep in self.dependencies: + if self.dependencies[dep][7] == GENERALDEP: + self.__update_deps_info(supported_distro_vrs, dep, self.dependencies[dep]) + + tui.header(" COMPILEDEP") + for dep in self.dependencies: + if self.dependencies[dep][7] == COMPILEDEP: + self.__update_deps_info(supported_distro_vrs, dep, self.dependencies[dep]) + + tui.header(" Python Extentions") + for dep in self.dependencies: + if self.dependencies[dep][7] == PYEXT: + self.__update_deps_info(supported_distro_vrs, dep, self.dependencies[dep]) + + tui.header(" Scan Configuration") + for dep in self.dependencies: + if self.dependencies[dep][7] == SCANCONF: + self.__update_deps_info(supported_distro_vrs, dep, self.dependencies[dep]) + + tui.header(" Other Dependencies") + for dep in self.dependencies: + if self.dependencies[dep][7] != SCANCONF and \ + self.dependencies[dep][7] != PYEXT and \ + self.dependencies[dep][7] != COMPILEDEP and \ + self.dependencies[dep][7] != GENERALDEP and \ + self.dependencies[dep][7] != EXTERNALDEP: + self.__update_deps_info(supported_distro_vrs, dep, self.dependencies[dep]) - if scanning_enabled: + if self.scanning_enabled: tui.header("DISCOVERED SCANNER DEVICES") if utils.which('scanimage'): status, output = utils.run("scanimage -L") @@ -473,7 +431,7 @@ f = tui.Formatter() f.header = ("Device URI", "Model") - for d, dd in devices.items(): + for d, dd in list(devices.items()): f.add((d, dd[0])) f.output() @@ -544,7 +502,7 @@ log.info("PPD: %s" % ppd) nickname_pat = re.compile(r'''\*NickName:\s*\"(.*)"''', re.MULTILINE) try: - f = file(ppd, 'r').read(4096) + f = to_string_utf8(open(ppd, 'rb').read()) except IOError: log.warn("Failed to read %s ppd file"%ppd) desc = '' @@ -610,7 +568,7 @@ if bus in ('par', 'usb'): try: d.open() - except Error, e: + except Error as e: log.error(e.msg) deviceid = '' else: @@ -656,7 +614,7 @@ # self.num_errors += 1 # self.missing_user_grps = out - if hpmudext_avail: + if self.hpmudext_avail: lsusb = utils.which('lsusb') if lsusb: lsusb = os.path.join(lsusb, 'lsusb') @@ -681,6 +639,7 @@ result_code, deviceuri = hpmudext.make_usb_uri(bus, dev) if result_code == hpmudext.HPMUD_R_OK: + deviceuri = to_string_utf8(deviceuri) # log.info(" Device URI: %s" % deviceuri) d = None try: @@ -723,13 +682,13 @@ out = out +' '+ pat.search(g).group(1) log.info("%-15s %-30s %-15s %-8s %-8s %-8s %s"%("USB", printer_name, "Required", "-", "-", "OK", "Node:'%s' Perm:'%s'"%(devnode,out))) else: - log.info("%-15s %-30s %-15s %-8s %-8s %-8s %s"%("USB", printer_name, "Required","-","-","OK", "Node:'%s' Mode:'%s'"%(devnode,st_mode&0777))) + log.info("%-15s %-30s %-15s %-8s %-8s %-8s %s"%("USB", printer_name, "Required","-","-","OK", "Node:'%s' Mode:'%s'"%(devnode,st_mode&0o777))) selinux_file = '/etc/selinux/config' if os.path.exists(selinux_file): tui.header("SELINUX") try: - selinux_fp = file(selinux_file, 'r') + selinux_fp = open(selinux_file, 'r') except IOError: log.error("Failed to open %s file."%selinux_file) else: @@ -828,7 +787,7 @@ try: opts, args = getopt.getopt(sys.argv[1:], 'hl:gtcrbsi', ['help', 'help-rest', 'help-man', 'help-desc', 'logging=', 'run', 'runtime', 'compile', 'both','fix']) - except getopt.GetoptError, e: + except getopt.GetoptError as e: log.error(e.msg) usage() sys.exit(1) @@ -848,7 +807,7 @@ elif o == '--help-man': usage('man') elif o == '--help-desc': - print __doc__, + print(__doc__, end=' ') sys.exit(0) elif o in ('-l', '--logging'): log_level = a.lower().strip() diff -Nru hplip-3.14.6/clean.py hplip-3.15.2/clean.py --- hplip-3.14.6/clean.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/clean.py 2015-01-29 12:20:49.000000000 +0000 @@ -117,6 +117,9 @@ device_uri = mod.getDeviceUri(device_uri, printer_name, filter={'clean-type': (operator.ne, CLEAN_TYPE_NONE)}) + if not device_uri: + sys.exit(1) + if mode == GUI_MODE: if not utils.canEnterGUIMode4(): log.error("%s -u/--gui requires Qt4 GUI support. Entering interactive mode." % __mod__) @@ -125,7 +128,7 @@ if mode == INTERACTIVE_MODE: try: d = device.Device(device_uri, printer_name) - except Error, e: + except Error as e: log.error("Unable to open device: %s" % e.msg) sys.exit(0) @@ -172,7 +175,7 @@ else: log.error("Cleaning not needed or supported on this device.") - except Error, e: + except Error as e: log.error("An error occured: %s" % e[0]) else: @@ -193,7 +196,6 @@ #try: if 1: app = QApplication(sys.argv) - dlg = CleanDialog(None, device_uri) dlg.show() try: diff -Nru hplip-3.14.6/colorcal.py hplip-3.15.2/colorcal.py --- hplip-3.14.6/colorcal.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/colorcal.py 2015-01-29 12:20:49.000000000 +0000 @@ -35,6 +35,7 @@ # Local from base.g import * from base import device, status, utils, maint, tui, module +from base.sixext.moves import input from prnt import cups @@ -73,7 +74,7 @@ values = [0, 0, 0, 0] ok = True while True: - x = raw_input(log.bold("""Enter the letter ('A' thru 'N') and number (1 thru 14) for the GRAY plot (eg, "C5") or "q" to quit: """)) + x = input(log.bold("""Enter the letter ('A' thru 'N') and number (1 thru 14) for the GRAY plot (eg, "C5") or "q" to quit: """)) if x.lower().strip() == 'q': ok = False @@ -113,7 +114,7 @@ if ok: while True: - x = raw_input(log.bold("""Enter the letter ('P' thru 'V') and number (1 thru 7) for the COLOR plot (eg, "R3") or "q" to quit: """)) + x = input(log.bold("""Enter the letter ('P' thru 'V') and number (1 thru 7) for the COLOR plot (eg, "R3") or "q" to quit: """)) if x.lower().strip() == 'q': ok = False @@ -168,6 +169,9 @@ device_uri = mod.getDeviceUri(device_uri, printer_name, filter={'color-cal-type': (operator.ne, COLOR_CAL_TYPE_NONE)}) + if not device_uri: + sys.exit(1) + if mode == GUI_MODE: if not utils.canEnterGUIMode4(): log.error("%s -u/--gui requires Qt4 GUI support. Entering interactive mode." % __mod__) @@ -176,7 +180,7 @@ if mode == INTERACTIVE_MODE: try: d = device.Device(device_uri, printer_name) - except Error, e: + except Error as e: log.error("Unable to open device: %s" % e.msg) sys.exit(1) @@ -235,7 +239,6 @@ #try: if 1: app = QApplication(sys.argv) - dlg = ColorCalDialog(None, device_uri) dlg.show() try: diff -Nru hplip-3.14.6/common/utils.c hplip-3.15.2/common/utils.c --- hplip-3.14.6/common/utils.c 2014-06-03 06:33:06.000000000 +0000 +++ hplip-3.15.2/common/utils.c 2015-01-29 12:20:21.000000000 +0000 @@ -253,6 +253,7 @@ char str[258]; char *p; int iLogLevel = 0; + fp = fopen ("/etc/cups/cupsd.conf", "r"); if (fp == NULL) return 0; @@ -272,3 +273,5 @@ fclose (fp); return iLogLevel; } + + diff -Nru hplip-3.14.6/configure hplip-3.15.2/configure --- hplip-3.14.6/configure 2014-06-03 06:33:59.000000000 +0000 +++ hplip-3.15.2/configure 2015-01-29 12:21:27.000000000 +0000 @@ -1,8 +1,8 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for HP Linux Imaging and Printing 3.14.6. +# Generated by GNU Autoconf 2.68 for HP Linux Imaging and Printing 3.15.2. # -# Report bugs to <3.14.6>. +# Report bugs to <3.15.2>. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -246,7 +246,7 @@ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else - $as_echo "$0: Please tell bug-autoconf@gnu.org and 3.14.6 about your + $as_echo "$0: Please tell bug-autoconf@gnu.org and 3.15.2 about your $0: system, including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." @@ -569,9 +569,9 @@ # Identity of this package. PACKAGE_NAME='HP Linux Imaging and Printing' PACKAGE_TARNAME='hplip' -PACKAGE_VERSION='3.14.6' -PACKAGE_STRING='HP Linux Imaging and Printing 3.14.6' -PACKAGE_BUGREPORT='3.14.6' +PACKAGE_VERSION='3.15.2' +PACKAGE_STRING='HP Linux Imaging and Printing 3.15.2' +PACKAGE_BUGREPORT='3.15.2' PACKAGE_URL='' # Factoring default headers for most tests. @@ -1464,7 +1464,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures HP Linux Imaging and Printing 3.14.6 to adapt to many kinds of systems. +\`configure' configures HP Linux Imaging and Printing 3.15.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1534,7 +1534,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of HP Linux Imaging and Printing 3.14.6:";; + short | recursive ) echo "Configuration of HP Linux Imaging and Printing 3.15.2:";; esac cat <<\_ACEOF @@ -1629,7 +1629,7 @@ Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. -Report bugs to <3.14.6>. +Report bugs to <3.15.2>. _ACEOF ac_status=$? fi @@ -1692,7 +1692,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -HP Linux Imaging and Printing configure 3.14.6 +HP Linux Imaging and Printing configure 3.15.2 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2159,7 +2159,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## --------------------- ## -## Report this to 3.14.6 ## +## Report this to 3.15.2 ## ## --------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; @@ -2236,7 +2236,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by HP Linux Imaging and Printing $as_me 3.14.6, which was +It was created by HP Linux Imaging and Printing $as_me 3.15.2, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -3052,7 +3052,7 @@ # Define the identity of the package. PACKAGE='hplip' - VERSION='3.14.6' + VERSION='3.15.2' cat >>confdefs.h <<_ACEOF @@ -17100,11 +17100,11 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for path to Python.h" >&5 $as_echo_n "checking for path to Python.h... " >&6; } - PYTHONINCLUDEDIR=`$PYTHON -c "from distutils.sysconfig import get_python_inc; print get_python_inc();"` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"using $PYTHONINCLUDEDIR\"" >&5 -$as_echo "\"using $PYTHONINCLUDEDIR\"" >&6; } + PYTHONINCLUDEDIR=`$PYTHON -c "from distutils.sysconfig import get_python_inc; print (get_python_inc());"` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"using $PYTHONINCLUDEDIR .... python${PYTHON_VERSION}/Python.h\"" >&5 +$as_echo "\"using $PYTHONINCLUDEDIR .... python${PYTHON_VERSION}/Python.h\"" >&6; } - for ac_header in python$PYTHON_VERSION/Python.h + for ac_header in python${PYTHON_VERSION}/Python.h python${PYTHON_VERSION}mu/Python.h python${PYTHON_VERSION}m/Python.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" @@ -17112,13 +17112,14 @@ cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF - -else - as_fn_error 6 "cannot find python-devel support" "$LINENO" 5 + FOUND_HEADER=yes; break; fi done + if test "x$FOUND_HEADER" != "xyes"; then : + as_fn_error 6 "cannot find python-devel support" "$LINENO" 5 +fi fi if test "$hpijs_only_build" = "no" && test "$scan_build" = "yes" && test "$hpcups_only_build" = "no"; then @@ -18229,7 +18230,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by HP Linux Imaging and Printing $as_me 3.14.6, which was +This file was extended by HP Linux Imaging and Printing $as_me 3.15.2, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18280,13 +18281,13 @@ Configuration commands: $config_commands -Report bugs to <3.14.6>." +Report bugs to <3.15.2>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -HP Linux Imaging and Printing config.status 3.14.6 +HP Linux Imaging and Printing config.status 3.15.2 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" diff -Nru hplip-3.14.6/configure.in hplip-3.15.2/configure.in --- hplip-3.14.6/configure.in 2014-06-03 06:33:19.000000000 +0000 +++ hplip-3.15.2/configure.in 2015-01-29 12:20:58.000000000 +0000 @@ -26,7 +26,7 @@ # 104 = no libdl #AC_PREREQ(2.59) -AC_INIT([HP Linux Imaging and Printing], [3.14.6], [3.14.6], [hplip]) +AC_INIT([HP Linux Imaging and Printing], [3.15.2], [3.15.2], [hplip]) #AM_INIT_AUTOMAKE([1.9 foreign]) AM_INIT_AUTOMAKE AC_DISABLE_STATIC @@ -524,10 +524,13 @@ AC_ARG_VAR([PYTHON], [Python interpreter/compiler command]) AM_PATH_PYTHON([2.2]) AC_MSG_CHECKING([for path to Python.h]) - PYTHONINCLUDEDIR=`$PYTHON -c "from distutils.sysconfig import get_python_inc; print get_python_inc();"` - AC_MSG_RESULT("using $PYTHONINCLUDEDIR") + PYTHONINCLUDEDIR=`$PYTHON -c "from distutils.sysconfig import get_python_inc; print (get_python_inc());"` + AC_MSG_RESULT("using $PYTHONINCLUDEDIR .... python${PYTHON_VERSION}/Python.h") AC_ARG_VAR(PYTHONINCLUDEDIR, [path to Python.h C header file]) - AC_CHECK_HEADERS(python$PYTHON_VERSION/Python.h, ,[AC_MSG_ERROR([cannot find python-devel support], 6)]) + AC_CHECK_HEADERS([python${PYTHON_VERSION}/Python.h python${PYTHON_VERSION}mu/Python.h python${PYTHON_VERSION}m/Python.h ], + [FOUND_HEADER=yes; break;]) + AS_IF([test "x$FOUND_HEADER" != "xyes"], + [AC_MSG_ERROR([cannot find python-devel support], 6)]) fi if test "$hpijs_only_build" = "no" && test "$scan_build" = "yes" && test "$hpcups_only_build" = "no"; then @@ -578,7 +581,7 @@ AC_SUBST(abs_datadir) AC_SUBST(abs_sbindir) AC_SUBST(abs_hpppddir) -AC_SUBST(abs_docdir) +AC_SUBST(abs_docdir) AC_SUBST(abs_htmldir) AC_SUBST(abs_ppddir) AC_SUBST(abs_drvdir) diff -Nru hplip-3.14.6/config_usb_printer.py hplip-3.15.2/config_usb_printer.py --- hplip-3.14.6/config_usb_printer.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/config_usb_printer.py 2015-01-29 12:20:49.000000000 +0000 @@ -34,8 +34,9 @@ from base import device, utils, module, services from installer import pluginhandler -DBUS_SERVICE = 'com.hplip.StatusService' -DBUS_AVIALABLE = False + +DBUS_SERVICE='com.hplip.StatusService' +DBUS_AVIALABLE=False ##### METHODS ##### # Send dbus event to hpssd on dbus system bus @@ -57,6 +58,7 @@ utils.format_text(USAGE, typ, __title__, __mod__, __version__) sys.exit(0) + # Systray service. If hp-systray is not running, starts. def start_systray(): if DBUS_AVIALABLE == False: @@ -191,3 +193,4 @@ log.error("User exit") log.debug("Done.") + diff -Nru hplip-3.14.6/copier/copier.py hplip-3.15.2/copier/copier.py --- hplip-3.14.6/copier/copier.py 2014-06-03 06:32:18.000000000 +0000 +++ hplip-3.15.2/copier/copier.py 2015-01-29 12:20:12.000000000 +0000 @@ -19,7 +19,7 @@ # Author: Don Welch # -from __future__ import generators + # Std Lib import sys @@ -27,8 +27,8 @@ import os.path import time import threading -import Queue -from cStringIO import StringIO +from base.sixext.moves import queue +from io import StringIO # Local from base.g import * @@ -369,7 +369,7 @@ if event == COPY_CANCELED: canceled = True log.debug("Cancel pressed!") - except Queue.Empty: + except queue.Empty: break return canceled diff -Nru hplip-3.14.6/cups_drv.inc hplip-3.15.2/cups_drv.inc --- hplip-3.14.6/cups_drv.inc 2014-06-03 06:33:52.000000000 +0000 +++ hplip-3.15.2/cups_drv.inc 2015-01-29 12:21:19.000000000 +0000 @@ -271,6 +271,9 @@ ppd/hpcups/hp-envy_120_series.ppd.gz \ ppd/hpcups/hp-envy_4500_series.ppd.gz \ ppd/hpcups/hp-envy_5530_series.ppd.gz \ + ppd/hpcups/hp-envy_5640_series.ppd.gz \ + ppd/hpcups/hp-envy_5660_series.ppd.gz \ + ppd/hpcups/hp-envy_7640_series.ppd.gz \ ppd/hpcups/hp-laserjet_1000.ppd.gz \ ppd/hpcups/hp-laserjet_1005_series.ppd.gz \ ppd/hpcups/hp-laserjet_1010.ppd.gz \ @@ -446,6 +449,8 @@ ppd/hpcups/hp-laserjet_p4515xm.ppd.gz \ ppd/hpcups/hp-laserjet_pro_mfp_m125a.ppd.gz \ ppd/hpcups/hp-laserjet_pro_mfp_m125nw.ppd.gz \ + ppd/hpcups/hp-laserjet_pro_mfp_m125r.ppd.gz \ + ppd/hpcups/hp-laserjet_pro_mfp_m125ra.ppd.gz \ ppd/hpcups/hp-laserjet_pro_mfp_m125rnw.ppd.gz \ ppd/hpcups/hp-laserjet_pro_mfp_m126a.ppd.gz \ ppd/hpcups/hp-laserjet_pro_mfp_m126nw.ppd.gz \ @@ -516,6 +521,7 @@ ppd/hpcups/hp-officejet_5110v.ppd.gz \ ppd/hpcups/hp-officejet_5500_series.ppd.gz \ ppd/hpcups/hp-officejet_5600_series.ppd.gz \ + ppd/hpcups/hp-officejet_5740_series.ppd.gz \ ppd/hpcups/hp-officejet_6000_e609a.ppd.gz \ ppd/hpcups/hp-officejet_6000_e609n.ppd.gz \ ppd/hpcups/hp-officejet_6100.ppd.gz \ @@ -529,6 +535,7 @@ ppd/hpcups/hp-officejet_6500_e710n-z.ppd.gz \ ppd/hpcups/hp-officejet_6600.ppd.gz \ ppd/hpcups/hp-officejet_6700.ppd.gz \ + ppd/hpcups/hp-officejet_6800.ppd.gz \ ppd/hpcups/hp-officejet_7000_e809a.ppd.gz \ ppd/hpcups/hp-officejet_7000_e809a_series.ppd.gz \ ppd/hpcups/hp-officejet_7100_series.ppd.gz \ @@ -538,6 +545,7 @@ ppd/hpcups/hp-officejet_7400_series.ppd.gz \ ppd/hpcups/hp-officejet_7500_e910.ppd.gz \ ppd/hpcups/hp-officejet_7610_series.ppd.gz \ + ppd/hpcups/hp-officejet_8040_series.ppd.gz \ ppd/hpcups/hp-officejet_9100_series-pcl3.ppd.gz \ ppd/hpcups/hp-officejet_d_series.ppd.gz \ ppd/hpcups/hp-officejet_g55.ppd.gz \ @@ -564,6 +572,8 @@ ppd/hpcups/hp-officejet_pro_1170c_series.ppd.gz \ ppd/hpcups/hp-officejet_pro_3610.ppd.gz \ ppd/hpcups/hp-officejet_pro_3620.ppd.gz \ + ppd/hpcups/hp-officejet_pro_6230.ppd.gz \ + ppd/hpcups/hp-officejet_pro_6830.ppd.gz \ ppd/hpcups/hp-officejet_pro_8000_a809.ppd.gz \ ppd/hpcups/hp-officejet_pro_8100.ppd.gz \ ppd/hpcups/hp-officejet_pro_8500_a909a.ppd.gz \ diff -Nru hplip-3.14.6/dat2drv.py hplip-3.15.2/dat2drv.py --- hplip-3.14.6/dat2drv.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/dat2drv.py 2015-01-29 12:20:49.000000000 +0000 @@ -33,14 +33,13 @@ import getopt import re from xml.dom.minidom import Document, parse, parseString -from types import StringType, UnicodeType import string # Local from base.g import * from base import utils, tui, models #from prnt import printable_areas - +from base.sixext import text_type # Globals errors = 0 count = 0 @@ -93,7 +92,7 @@ def _encode(v): - if isinstance(v, UnicodeType): + if isinstance(v, text_type): v = v.encode(enc) return v @@ -133,7 +132,7 @@ def add(self, tag, **kwargs): el = self.doc.createElement(tag) - for k, v in kwargs.items(): + for k, v in list(kwargs.items()): el.setAttribute(k, _encode(str(v))) return self._inst(self.el.appendChild(el)) @@ -155,7 +154,7 @@ return _encode(string.join(rc, sep)) def getAll(self, tag): - return map(self._inst, self.el.getElementsByTagName(tag)) + return list(map(self._inst, self.el.getElementsByTagName(tag))) class XMLDocument(XMLElement): @@ -315,10 +314,14 @@ if models_dict[m]['support-type'] == SUPPORT_TYPE_NONE: unsupported_models.append((c, m)) - norm_models_keys = norm_models.keys() - norm_models_keys.sort(lambda x, y: sort_product(x, y)) + norm_models_keys = list(norm_models.keys()) + try: + norm_models_keys.sort(key=lambda y: pat_prod_num.search(y).group(1)) + except: + norm_models_keys.sort(key=str.lower) - unsupported_models.sort(lambda x, y: sort_product2(x, y)) + unsupported_models.sort(key= lambda x: x[0]) + total_models = len(norm_models) @@ -348,7 +351,7 @@ 'help-rest', 'help-man', 'drv=', 'output=', 'verbose', 'quiet']) - except getopt.GetoptError, e: + except getopt.GetoptError as e: log.error(e.msg) usage() sys.exit(0) @@ -474,8 +477,10 @@ matches.append(m) if matches: - matches.sort(lambda x, y: sort_product(x, y)) - + try: + matches.sort(key=lambda y: pat_prod_num.search(y).group(1)) + except: + matches.sort(key=str.lower) for p in matches: if verbose: @@ -553,6 +558,8 @@ pp = p.replace('_', ' ') if 'apollo' in p.lower(): devid = "MFG:Apollo;MDL:%s;DES:%s;" % (pp, pp) + elif 'laserjet' in p.lower() or 'designjet' in p.lower(): + devid = "MFG:Hewlett-Packard;MDL:%s;DES:%s;" % (pp, pp) else: devid = "MFG:HP;MDL:%s;DES:%s;" % (pp, pp) @@ -616,7 +623,8 @@ for f in files_to_delete: os.remove(f) - driver_f = file(driver_path, 'w') + driver_f = open(driver_path, 'w') + driver_doc = XMLDocument("driver", id="driver/hplip") name_node = driver_doc.add("name") @@ -810,7 +818,7 @@ if verbose: log.info("\n\n%s:" % output_filename) - output_f = file(output_filename, 'w') + output_f = open(output_filename, 'w') doc = XMLDocument("printer", id="printer/%s" % printerID) make_node = doc.add("make") diff -Nru hplip-3.14.6/data/models/models.dat hplip-3.15.2/data/models/models.dat --- hplip-3.14.6/data/models/models.dat 2014-06-03 06:32:19.000000000 +0000 +++ hplip-3.15.2/data/models/models.dat 2015-01-29 12:20:33.000000000 +0000 @@ -2585,7 +2585,7 @@ wifi-config=3 [officejet_100_mobile_l411] -align-type=10 +align-type=-1 clean-type=1 color-cal-type=0 copy-type=0 @@ -2608,10 +2608,10 @@ pq-diag-type=0 r-type=1 r0-agent1-kind=3 -r0-agent1-sku=94/98 +r0-agent1-sku=94/98 r0-agent1-type=1 r0-agent2-kind=3 -r0-agent2-sku=95/97 +r0-agent2-sku=95/97 r0-agent2-type=2 r0-agent3-kind=3 r0-agent3-sku=99 @@ -3984,6 +3984,88 @@ usb-vid=3f0 wifi-config=0 +[hp_laserjet_pro_mfp_m125r] +align-type=0 +clean-type=0 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=0 +fw-download=False +icon=hp_color_laserjet_cp2025.png +io-mfp-mode=1 +io-mode=1 +io-support=2 +job-storage=0 +linefeed-cal-type=0 +model1=HP LaserJet Pro MFP M125r +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=1 +plugin-reason=65 +power-settings=0 +pq-diag-type=0 +r-type=0 +r0-agent1-kind=4 +r0-agent1-sku=CE285A +r0-agent1-type=1 +scan-src=1 +scan-type=5 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=219b2b +support-type=2 +support-ver=3.14.10 +tech-class=Hbpl1 +tech-subclass=Mono +tech-type=3 +usb-pid=222a +usb-vid=3f0 +wifi-config=0 +[hp_laserjet_pro_mfp_m125ra] +align-type=0 +clean-type=0 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=0 +fw-download=False +icon=hp_color_laserjet_cp2025.png +io-mfp-mode=1 +io-mode=1 +io-support=2 +job-storage=0 +linefeed-cal-type=0 +model1=HP LaserJet Pro MFP M125ra +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=1 +plugin-reason=65 +power-settings=0 +pq-diag-type=0 +r-type=0 +r0-agent1-kind=4 +r0-agent1-sku=CE285A +r0-agent1-type=1 +scan-src=1 +scan-type=5 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=219b2b +support-type=2 +support-ver=3.14.10 +tech-class=Hbpl1 +tech-subclass=Mono +tech-type=3 +usb-pid=222a +usb-vid=3f0 +wifi-config=0 [hp_laserjet_pro_mfp_m125a] align-type=0 @@ -4581,8 +4663,8 @@ wifi-config=0 [officejet_150_mobile_l511] -align-type=10 -clean-type=1 +align-type=-1 +clean-type=-1 color-cal-type=0 copy-type=0 embedded-server-type=0 @@ -6248,6 +6330,167 @@ usb-vid=3f0 wifi-config=0 +[hp_laserjet_pro_m201dw] +align-type=0 +clean-type=0 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=0 +fw-download=False +icon=hp_LaserJet_1200.png +io-mfp-mode=1 +io-mode=1 +io-support=14 +job-storage=0 +linefeed-cal-type=0 +model1=HP LaserJet Pro M201dw Printer +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=0 +plugin-reason=0 +power-settings=0 +ppd-name=laserjet_pro_m201_m202 +pq-diag-type=0 +r-type=0 +scan-src=0 +scan-type=0 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=45e8 +support-type=2 +support-ver=3.14.10 +tech-class=Postscript +tech-subclass=Normal +tech-type=3 +usb-pid=2c2a +usb-vid=3f0 +wifi-config=3 + +[hp_laserjet_pro_m202n] +align-type=0 +clean-type=0 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=0 +fw-download=False +icon=hp_LaserJet_1200.png +io-mfp-mode=1 +io-mode=1 +io-support=14 +job-storage=0 +linefeed-cal-type=0 +model1=HP LaserJet Pro M202n Printer +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=0 +plugin-reason=0 +power-settings=0 +ppd-name=laserjet_pro_m201_m202 +pq-diag-type=0 +r-type=0 +scan-src=0 +scan-type=0 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=45e8 +support-type=2 +support-ver=3.14.10 +tech-class=Postscript +tech-subclass=Normal +tech-type=3 +usb-pid=2c2a +usb-vid=3f0 +wifi-config=3 + +[hp_laserjet_pro_m202dw] +align-type=0 +clean-type=0 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=0 +fw-download=False +icon=hp_LaserJet_1200.png +io-mfp-mode=1 +io-mode=1 +io-support=14 +job-storage=0 +linefeed-cal-type=0 +model1=HP LaserJet Pro M202dw Printer +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=0 +plugin-reason=0 +power-settings=0 +ppd-name=laserjet_pro_m201_m202 +pq-diag-type=0 +r-type=0 +scan-src=0 +scan-type=0 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=45e8 +support-type=2 +support-ver=3.14.10 +tech-class=Postscript +tech-subclass=Normal +tech-type=3 +usb-pid=2c2a +usb-vid=3f0 +wifi-config=3 + + +[hp_laserjet_pro_m201n] +align-type=0 +clean-type=0 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=0 +fw-download=False +icon=hp_LaserJet_1200.png +io-mfp-mode=1 +io-mode=1 +io-support=14 +job-storage=0 +linefeed-cal-type=0 +model1=HP LaserJet Pro M201n Printer +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=0 +plugin-reason=0 +power-settings=0 +ppd-name=laserjet_pro_m201_m202 +pq-diag-type=0 +r-type=0 +scan-src=0 +scan-type=0 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=45e8 +support-type=2 +support-ver=3.14.10 +tech-class=Postscript +tech-subclass=Normal +tech-type=3 +usb-pid=2c2a +usb-vid=3f0 +wifi-config=3 + [hp_laserjet_200_color_m251n] align-type=0 clean-type=0 @@ -6653,6 +6896,206 @@ usb-vid=3f0 wifi-config=0 +[hp_laserjet_pro_mfp_m225rdn] +align-type=0 +clean-type=0 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=7 +fw-download=False +icon=hp_LaserJet_1200.png +io-mfp-mode=1 +io-mode=1 +io-support=14 +job-storage=0 +linefeed-cal-type=0 +model1=HP LaserJet Pro MFP M225rdn +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=1 +plugin-reason=2112 +power-settings=0 +ppd-name=laserjet_pro_mfp_m225_m226 +pq-diag-type=0 +r-type=0 +scan-src=3 +scan-type=5 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=45e8 +support-type=2 +support-ver=3.14.10 +tech-class=Postscript +tech-subclass=Normal +tech-type=3 +usb-pid=2d2a +usb-vid=3f0 +wifi-config=3 + + +[hp_laserjet_pro_mfp_m225dw] +align-type=0 +clean-type=0 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=7 +fw-download=False +icon=hp_LaserJet_1200.png +io-mfp-mode=1 +io-mode=1 +io-support=14 +job-storage=0 +linefeed-cal-type=0 +model1=HP LaserJet Pro MFP M225dw +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=1 +plugin-reason=2112 +power-settings=0 +ppd-name=laserjet_pro_mfp_m225_m226 +pq-diag-type=0 +r-type=0 +scan-src=3 +scan-type=5 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=45e8 +support-type=2 +support-ver=3.14.10 +tech-class=Postscript +tech-subclass=Normal +tech-type=3 +usb-pid=2d2a +usb-vid=3f0 +wifi-config=3 + +[hp_laserjet_pro_mfp_m225dn] +align-type=0 +clean-type=0 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=7 +fw-download=False +icon=hp_LaserJet_1200.png +io-mfp-mode=1 +io-mode=1 +io-support=14 +job-storage=0 +linefeed-cal-type=0 +model1=HP LaserJet Pro MFP M225dn +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=1 +plugin-reason=2112 +power-settings=0 +ppd-name=laserjet_pro_mfp_m225_m226 +pq-diag-type=0 +r-type=0 +scan-src=3 +scan-type=5 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=45e8 +support-type=2 +support-ver=3.14.10 +tech-class=Postscript +tech-subclass=Normal +tech-type=3 +usb-pid=2d2a +usb-vid=3f0 +wifi-config=3 + +[hp_laserjet_pro_mfp_m226dw] +align-type=0 +clean-type=0 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=7 +fw-download=False +icon=hp_LaserJet_1200.png +io-mfp-mode=1 +io-mode=1 +io-support=14 +job-storage=0 +linefeed-cal-type=0 +model1=HP LaserJet Pro MFP M226dw +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=1 +plugin-reason=2112 +power-settings=0 +ppd-name=laserjet_pro_mfp_m225_m226 +pq-diag-type=0 +r-type=0 +scan-src=3 +scan-type=5 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=45e8 +support-type=2 +support-ver=3.14.10 +tech-class=Postscript +tech-subclass=Normal +tech-type=3 +usb-pid=2d2a +usb-vid=3f0 +wifi-config=3 + +[hp_laserjet_pro_mfp_m226dn] +align-type=0 +clean-type=0 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=7 +fw-download=False +icon=hp_LaserJet_1200.png +io-mfp-mode=1 +io-mode=1 +io-support=14 +job-storage=0 +linefeed-cal-type=0 +model1=HP LaserJet Pro MFP M226dn +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=1 +plugin-reason=2112 +power-settings=0 +ppd-name=laserjet_pro_mfp_m225_m226 +pq-diag-type=0 +r-type=0 +scan-src=3 +scan-type=5 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=45e8 +support-type=2 +support-ver=3.14.10 +tech-class=Postscript +tech-subclass=Normal +tech-type=3 +usb-pid=2d2a +usb-vid=3f0 +wifi-config=3 [hp_designjet_230] align-type=0 clean-type=0 @@ -8746,7 +9189,7 @@ icon=HP_LaserJet_1012.png io-mfp-mode=1 io-mode=1 -io-support=2 +io-support=6 job-storage=0 linefeed-cal-type=0 model1=HP LaserJet 400 M401dne @@ -12984,6 +13427,51 @@ usb-vid=3f0 wifi-config=0 +[hp_laserjet_mfp_m630] +align-type=0 +clean-type=0 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=-1 +fw-download=False +icon=HP_Color_LaserJet_4730mfp.png +io-mfp-mode=3 +io-mode=1 +io-support=6 +job-storage=1 +linefeed-cal-type=0 +model1=HP LaserJet Enterprise MFP M630dn +model2=HP LaserJet Enterprise MFP M630f +model3=HP LaserJet Enterprise MFP M630h +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=0 +plugin-reason=0 +power-settings=0 +ppd-name=hp-laserjet_mfp_m630 +pq-diag-type=0 +r-type=0 +r0-agent1-kind=4 +r0-agent1-sku=CF281X +r0-agent1-type=1 +scan-src=0 +scan-type=-2 +status-battery-check=0 +status-dynamic-counters=0 +status-type=8 +support-released=True +support-subtype=430e +support-type=2 +support-ver=3.14.10 +tech-class=Postscript +tech-subclass=Normal +tech-type=3 +usb-pid=282a +usb-vid=3f0 +wifi-config=0 + [deskjet_630c] align-type=0 clean-type=0 @@ -13029,6 +13517,49 @@ usb-vid=3f0 wifi-config=0 +[hp_laserjet_flow_mfp_m630] +align-type=0 +clean-type=0 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=-1 +fw-download=False +icon=HP_Color_LaserJet_4730mfp.png +io-mfp-mode=3 +io-mode=1 +io-support=6 +job-storage=1 +linefeed-cal-type=0 +model1=HP LaserJet Enterprise Flow MFP M630z +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=0 +plugin-reason=0 +power-settings=0 +ppd-name=hp-laserjet_flow_mfp_m630 +pq-diag-type=0 +r-type=0 +r0-agent1-kind=4 +r0-agent1-sku=CF281X +r0-agent1-type=1 +scan-src=0 +scan-type=-2 +status-battery-check=0 +status-dynamic-counters=0 +status-type=8 +support-released=True +support-subtype=430e +support-type=2 +support-ver=3.14.10 +tech-class=Postscript +tech-subclass=Normal +tech-type=3 +usb-pid=432a +usb-vid=3f0 +wifi-config=0 + [deskjet_632c] align-type=0 clean-type=0 @@ -13633,6 +14164,7 @@ usb-pid=0 usb-vid=3f0 wifi-config=0 + [hp_color_laserjet_mfp_m680] align-type=0 clean-type=0 @@ -25463,7 +25995,7 @@ r0-agent1-type=1 scan-src=3 scan-type=5 -status-battery-check=2 +status-battery-check=0 status-dynamic-counters=0 status-type=10 support-released=True @@ -25506,7 +26038,7 @@ r0-agent1-type=1 scan-src=1 scan-type=5 -status-battery-check=2 +status-battery-check=0 status-dynamic-counters=0 status-type=10 support-released=True @@ -25549,7 +26081,7 @@ r0-agent1-type=1 scan-src=1 scan-type=5 -status-battery-check=2 +status-battery-check=0 status-dynamic-counters=0 status-type=10 support-released=True @@ -25592,7 +26124,7 @@ r0-agent1-type=1 scan-src=1 scan-type=5 -status-battery-check=2 +status-battery-check=0 status-dynamic-counters=0 status-type=10 support-released=True @@ -30493,14 +31025,15 @@ job-storage=0 linefeed-cal-type=0 model1=HP Deskjet 2540 All-in-One Printer -model2=HP Deskjet 2542 All-in-One Printer -model3=HP Deskjet 2543 All-in-One Printer -model4=HP Deskjet 2544 All-in-One Printer -model5=HP Deskjet 2549 All-in-One Printer -model6=HP Deskjet Ink Advantage 2540 All-in-One Printer Series -model7=HP Deskjet Ink Advantage 2545 All-in-One Printer -model8=HP Deskjet Ink Advantage 2546 All-in-One Printer -model9=HP Deskjet Ink Advantage 2548 All-in-One Printer +model2=HP Deskjet 2541 All-in-One Printer +model3=HP Deskjet 2542 All-in-One Printer +model4=HP Deskjet 2543 All-in-One Printer +model5=HP Deskjet 2544 All-in-One Printer +model6=HP Deskjet 2549 All-in-One Printer +model7=HP Deskjet Ink Advantage 2540 All-in-One Printer Series +model8=HP Deskjet Ink Advantage 2545 All-in-One Printer +model9=HP Deskjet Ink Advantage 2546 All-in-One Printer +model10=HP Deskjet Ink Advantage 2548 All-in-One Printer monitor-type=0 panel-check-type=0 pcard-type=0 @@ -39921,8 +40454,13 @@ job-storage=0 linefeed-cal-type=0 model1=HP Envy 4500 e-All-in-One -model2=HP Envy 4502 e-All-in-One -model3=HP Envy 4504 e-All-in-One +model2=HP Envy 4501 e-All-in-One +model3=HP Envy 4502 e-All-in-One +model4=HP Envy 4503 e-All-in-One +model5=HP Envy 4504 e-All-in-One +model6=HP Envy 4505 e-All-in-One +model7=HP Envy 4507 e-All-in-One +model8=HP Envy 4508 e-All-in-One monitor-type=0 panel-check-type=0 pcard-type=0 @@ -44723,9 +45261,10 @@ job-storage=0 linefeed-cal-type=0 model1=HP ENVY 5530 e-All-in-One Printer -model2=HP ENVY 5535 e-All-in-One Printer +model2=HP ENVY 5531 e-All-in-One Printer model3=HP ENVY 5532 e-All-in-One Printer -model4=HP ENVY 5531 e-All-in-One Printer +model4=HP ENVY 5534 e-All-in-One Printer +model5=HP ENVY 5535 e-All-in-One Printer monitor-type=0 panel-check-type=0 pcard-type=2 @@ -45063,6 +45602,87 @@ usb-vid=3f0 wifi-config=0 +[envy_5640_series] +align-type=-1 +clean-type=-1 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=0 +fw-download=False +icon=psc_2300_series.png +io-mfp-mode=1 +io-mode=1 +io-support=10 +job-storage=0 +linefeed-cal-type=0 +model1=HP Envy 5640 e-All-in-One +model2=HP Envy 5642 e-All-in-One +model3=HP Envy 5643 e-All-in-One +model4=HP Envy 5644 e-All-in-One +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=0 +plugin-reason=0 +power-settings=0 +pq-diag-type=0 +r-type=0 +scan-src=1 +scan-type=7 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=41a4 +support-type=2 +support-ver=3.14.10 +tech-class=CopperheadIPH +tech-subclass=Normal +tech-type=0 +usb-pid=cc11 +usb-vid=3f0 +wifi-config=3 + +[envy_5660_series] +align-type=-1 +clean-type=-1 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=0 +fw-download=False +icon=psc_2300_series.png +io-mfp-mode=1 +io-mode=1 +io-support=10 +job-storage=0 +linefeed-cal-type=0 +model1=HP Envy 5660 e-All-in-One +model2=HP Envy 5665 e-All-in-One +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=0 +plugin-reason=0 +power-settings=0 +pq-diag-type=0 +r-type=0 +scan-src=1 +scan-type=7 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=41a4 +support-type=2 +support-ver=3.14.10 +tech-class=CopperheadIPH +tech-subclass=Normal +tech-type=0 +usb-pid=cc11 +usb-vid=3f0 +wifi-config=3 [deskjet_5650] align-type=1 clean-type=1 @@ -45162,6 +45782,101 @@ usb-vid=3f0 wifi-config=0 +[officejet_j5700_series] +align-type=1 +clean-type=1 +color-cal-type=3 +copy-type=0 +embedded-server-type=1 +fax-type=1 +fw-download=False +icon=officejet_5600.png +io-mfp-mode=3 +io-mode=1 +io-support=2 +job-storage=0 +linefeed-cal-type=0 +model1=HP Officejet J5725 All-in-One Printer +model10=HP Officejet J5785 All-in-One Printer +model11=HP Officejet J5788 All-in-One Printer +model12=HP Officejet J5790 All-in-One Printer +model2=HP Officejet J5725 All-in-One Printer +model3=HP Officejet J5730 All-in-One Printer +model4=HP Officejet J5735 All-in-One Printer +model5=HP Officejet J5738 All-in-One Printer +model6=HP Officejet J5740 All-in-One Printer +model7=HP Officejet J5750 All-in-One Printer +model8=HP Officejet J5780 All-in-One Printer +model9=HP Officejet J5783 All-in-One Printer +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=0 +plugin-reason=0 +power-settings=0 +pq-diag-type=0 +r-type=1 +r0-agent1-kind=3 +r0-agent1-sku=74/74XL +r0-agent1-type=1 +r0-agent2-kind=3 +r0-agent2-sku=75/75XL +r0-agent2-type=2 +r0-agent3-kind=3 +r0-agent3-sku=99 +r0-agent3-type=3 +r10-agent1-kind=3 +r10-agent1-sku=860/860XL +r10-agent1-type=1 +r10-agent2-kind=3 +r10-agent2-sku=861/861XL +r10-agent2-type=2 +r10-agent3-kind=3 +r10-agent3-sku=858 +r10-agent3-type=3 +r2-agent1-kind=3 +r2-agent1-sku=74/74XL +r2-agent1-type=1 +r2-agent2-kind=3 +r2-agent2-sku=75/75/XL +r2-agent2-type=2 +r2-agent3-kind=3 +r2-agent3-sku=99 +r2-agent3-type=3 +r4-agent1-kind=3 +r4-agent1-sku=350/350XL +r4-agent1-type=1 +r4-agent2-kind=3 +r4-agent2-sku=351/351XL +r4-agent2-type=2 +r4-agent3-kind=3 +r4-agent3-sku=348 +r4-agent3-type=3 +r8-agent1-kind=3 +r8-agent1-sku=140/140XL +r8-agent1-type=1 +r8-agent2-kind=3 +r8-agent2-sku=141/141XL +r8-agent2-type=2 +r8-agent3-kind=3 +r8-agent3-sku=138 +r8-agent3-type=3 +scan-src=1 +scan-type=1 +status-battery-check=0 +status-dynamic-counters=1 +status-type=2 +support-released=True +support-subtype=219b2b +support-type=2 +support-ver=1.7.2 +tech-class=DJGenericVIP +tech-subclass=Normal +tech-type=2 +usb-pid=5b11 +usb-vid=3f0 +wifi-config=0 + [deskjet_5700] align-type=1 clean-type=1 @@ -45278,32 +45993,23 @@ usb-vid=3f0 wifi-config=0 -[officejet_j5700_series] -align-type=1 -clean-type=1 -color-cal-type=3 +[officejet_5740_series] +align-type=-1 +clean-type=-1 +color-cal-type=0 copy-type=0 embedded-server-type=1 -fax-type=1 +fax-type=6 fw-download=False -icon=officejet_5600.png -io-mfp-mode=3 +icon=psc_2300_series.png +io-mfp-mode=1 io-mode=1 -io-support=2 +io-support=14 job-storage=0 linefeed-cal-type=0 -model1=HP Officejet J5725 All-in-One Printer -model10=HP Officejet J5785 All-in-One Printer -model11=HP Officejet J5788 All-in-One Printer -model12=HP Officejet J5790 All-in-One Printer -model2=HP Officejet J5725 All-in-One Printer -model3=HP Officejet J5730 All-in-One Printer -model4=HP Officejet J5735 All-in-One Printer -model5=HP Officejet J5738 All-in-One Printer -model6=HP Officejet J5740 All-in-One Printer -model7=HP Officejet J5750 All-in-One Printer -model8=HP Officejet J5780 All-in-One Printer -model9=HP Officejet J5783 All-in-One Printer +model1=HP Officejet 5740 e-All-in-One +model2=HP Officejet 5742 e-All-in-One +model3=HP Officejet 5745 e-All-in-One monitor-type=0 panel-check-type=0 pcard-type=0 @@ -45311,67 +46017,22 @@ plugin-reason=0 power-settings=0 pq-diag-type=0 -r-type=1 -r0-agent1-kind=3 -r0-agent1-sku=74/74XL -r0-agent1-type=1 -r0-agent2-kind=3 -r0-agent2-sku=75/75XL -r0-agent2-type=2 -r0-agent3-kind=3 -r0-agent3-sku=99 -r0-agent3-type=3 -r10-agent1-kind=3 -r10-agent1-sku=860/860XL -r10-agent1-type=1 -r10-agent2-kind=3 -r10-agent2-sku=861/861XL -r10-agent2-type=2 -r10-agent3-kind=3 -r10-agent3-sku=858 -r10-agent3-type=3 -r2-agent1-kind=3 -r2-agent1-sku=74/74XL -r2-agent1-type=1 -r2-agent2-kind=3 -r2-agent2-sku=75/75/XL -r2-agent2-type=2 -r2-agent3-kind=3 -r2-agent3-sku=99 -r2-agent3-type=3 -r4-agent1-kind=3 -r4-agent1-sku=350/350XL -r4-agent1-type=1 -r4-agent2-kind=3 -r4-agent2-sku=351/351XL -r4-agent2-type=2 -r4-agent3-kind=3 -r4-agent3-sku=348 -r4-agent3-type=3 -r8-agent1-kind=3 -r8-agent1-sku=140/140XL -r8-agent1-type=1 -r8-agent2-kind=3 -r8-agent2-sku=141/141XL -r8-agent2-type=2 -r8-agent3-kind=3 -r8-agent3-sku=138 -r8-agent3-type=3 -scan-src=1 -scan-type=1 +r-type=0 +scan-src=3 +scan-type=7 status-battery-check=0 -status-dynamic-counters=1 -status-type=2 +status-dynamic-counters=0 +status-type=10 support-released=True -support-subtype=219b2b +support-subtype=449e support-type=2 -support-ver=1.7.2 -tech-class=DJGenericVIP +support-ver=3.14.10 +tech-class=CopperheadIPH tech-subclass=Normal tech-type=2 -usb-pid=5b11 +usb-pid=cd11 usb-vid=3f0 -wifi-config=0 +wifi-config=3 [deskjet_5800] align-type=1 @@ -47152,6 +47813,45 @@ usb-vid=3f0 wifi-config=0 +[officejet_pro_6230] +align-type=15 +clean-type=4 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=0 +fw-download=False +icon=default_printer.png +io-mfp-mode=1 +io-mode=1 +io-support=14 +job-storage=0 +linefeed-cal-type=0 +model1=HP OfficeJet Pro 6230 ePrinter +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=0 +plugin-reason=0 +power-settings=0 +pq-diag-type=0 +r-type=0 +scan-src=0 +scan-type=0 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=447b +support-type=2 +support-ver=3.14.10 +tech-class=CopperheadXLP +tech-subclass=Normal +tech-type=2 +usb-pid=7312 +usb-vid=3f0 +wifi-config=3 + [photosmart_c6300_series] align-type=1 clean-type=1 @@ -48865,6 +49565,88 @@ usb-vid=3f0 wifi-config=0 +[officejet_6800] +align-type=-1 +clean-type=-1 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=6 +fw-download=False +icon=default_printer.png +io-mfp-mode=1 +io-mode=1 +io-support=14 +job-storage=0 +linefeed-cal-type=0 +model1=HP OfficeJet 6800 e-All-in-one +model2=HP OfficeJet 6810 e-All-in-One Printer Series +model3=HP OfficeJet 6812 e-All-in-One Printer +model4=HP OfficeJet 6815 e-All-in-One Printer +monitor-type=0 +panel-check-type=0 +pcard-type=2 +plugin=0 +plugin-reason=0 +power-settings=0 +pq-diag-type=0 +r-type=0 +scan-src=3 +scan-type=7 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=447b +support-type=2 +support-ver=3.14.10 +tech-class=CopperheadXLP +tech-subclass=Normal +tech-type=2 +usb-pid=7412 +usb-vid=3f0 +wifi-config=3 + +[officejet_pro_6830] +align-type=-1 +clean-type=-1 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=6 +fw-download=False +icon=default_printer.png +io-mfp-mode=1 +io-mode=1 +io-support=14 +job-storage=0 +linefeed-cal-type=0 +model1=HP OfficeJet Pro 6830 e-All-in-one +model2=HP OfficeJet Pro 6835 e-All-in-one +monitor-type=0 +panel-check-type=0 +pcard-type=2 +plugin=0 +plugin-reason=0 +power-settings=0 +pq-diag-type=0 +r-type=0 +scan-src=3 +scan-type=7 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=447b +support-type=2 +support-ver=3.14.10 +tech-class=CopperheadXLP +tech-subclass=Normal +tech-type=2 +usb-pid=7212 +usb-vid=3f0 +wifi-config=3 + [deskjet_6940_series] align-type=1 clean-type=1 @@ -52395,6 +53177,7 @@ job-storage=0 linefeed-cal-type=0 model1=HP Officejet 7610 Wide Format e-All-in-One Printer +model2=HP Officejet 7612 Wide Format e-All-in-One Printer monitor-type=0 panel-check-type=0 pcard-type=0 @@ -52431,6 +53214,46 @@ usb-vid=3f0 wifi-config=3 +[envy_7640_series] +align-type=-1 +clean-type=-1 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=6 +fw-download=False +icon=psc_2300_series.png +io-mfp-mode=1 +io-mode=1 +io-support=14 +job-storage=0 +linefeed-cal-type=0 +model1=HP Envy 7640 e-All-in-One +model2=HP Envy 7645 e-All-in-One +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=0 +plugin-reason=0 +power-settings=0 +pq-diag-type=0 +r-type=0 +scan-src=3 +scan-type=7 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=449e +support-type=2 +support-ver=3.14.10 +tech-class=CopperheadIPH +tech-subclass=Normal +tech-type=2 +usb-pid=dc11 +usb-vid=3f0 +wifi-config=3 + [officejet_pro_l7700] align-type=12 clean-type=1 @@ -53073,6 +53896,44 @@ usb-vid=3f0 wifi-config=0 +[officejet_8040_series] +align-type=-1 +clean-type=-1 +color-cal-type=0 +copy-type=0 +embedded-server-type=1 +fax-type=6 +fw-download=False +icon=psc_2300_series.png +io-mfp-mode=1 +io-mode=1 +io-support=14 +job-storage=0 +linefeed-cal-type=0 +monitor-type=0 +panel-check-type=0 +pcard-type=0 +plugin=0 +plugin-reason=0 +power-settings=0 +pq-diag-type=0 +r-type=0 +scan-src=3 +scan-type=7 +status-battery-check=0 +status-dynamic-counters=0 +status-type=10 +support-released=True +support-subtype=449e +support-type=2 +support-ver=3.14.10 +tech-class=CopperheadIPH +tech-subclass=Normal +tech-type=2 +usb-pid=DE11 +usb-vid=3f0 +wifi-config=3 + [hp_cm8050_mfp_with_edgeline] align-type=0 clean-type=0 @@ -54653,6 +55514,7 @@ linefeed-cal-type=0 model1=HP OfficeJet Pro 8610 e-All-in-One Printer model2=HP OfficeJet Pro 8615 e-All-in-One Printer +model3=HP OfficeJet Pro 8616 e-All-in-One Printer monitor-type=0 panel-check-type=1 pcard-type=0 @@ -56428,6 +57290,8 @@ # Ampere # Copperhead # Copperhead12 +# CopperheadIPH +# CopperheadXLP # Corbett # DJ3320 # DJ350 diff -Nru hplip-3.14.6/data/rules/56-hpmud.rules hplip-3.15.2/data/rules/56-hpmud.rules --- hplip-3.14.6/data/rules/56-hpmud.rules 2014-06-03 06:32:30.000000000 +0000 +++ hplip-3.15.2/data/rules/56-hpmud.rules 2015-01-29 12:20:25.000000000 +0000 @@ -11,7 +11,7 @@ ATTR{idVendor}=="03f0", ATTR{idProduct}=="????", OWNER="root", GROUP="lp", MODE="0664", ENV{sane_hpaio}="yes", ENV{libsane_matched}="yes", ENV{hp_test}="yes", ENV{ID_HPLIP}="1" -# This rule will add the printer and install plugin +# This rule will check the smart install feature, plugin status and firmware download for the required printers. ENV{hp_test}=="yes", PROGRAM="/bin/sh -c 'logger -p user.info loading HP Device $env{BUSNUM} $env{DEVNUM}'", RUN+="/bin/sh -c 'if [ -f /usr/bin/systemctl ]; then /usr/bin/systemctl --no-block start hplip-printer@$env{BUSNUM}:$env{DEVNUM}.service; else /usr/bin/nohup /usr/bin/python /usr/bin/hp-config_usb_printer $env{BUSNUM}:$env{DEVNUM} ; fi &'" # If sane-bankends is installed add hpaio backend support to dll.conf if needed. diff -Nru hplip-3.14.6/debian/changelog hplip-3.15.2/debian/changelog --- hplip-3.14.6/debian/changelog 2014-07-29 20:51:51.000000000 +0000 +++ hplip-3.15.2/debian/changelog 2015-02-05 00:15:50.000000000 +0000 @@ -1,3 +1,34 @@ +hplip (3.15.2-0ubuntu1) vivid; urgency=low + + * New upstream release + - Python3 support for HPLIP + - Doesn't build against libjpeg-turbo 1.3.90 (LP: #1388126) + - hpcups crashes if DEVICE_URI not set in environment (LP: #1395676) + - Incorrect call to hpmudext.device_open (LP: #1388007) + - plugin download fails if python links to python3 (LP: #1187055) + - Incorrect IEEE 1284 Device IDs for many models (LP: #802999) + * debian/patches/85_rebuild_python_ui.dpatch: Manually updated to apply to new + upstream source code. + * debian/patches/hp_photosmart_pro_b9100_support.dpatch, + debian/patches/simple-scan-as-default.dpatch, + debian/patches/hpfax-bug-function-used-before-importing-log.dpatch, + debian/patches/hp-systray-make-menu-title-visible-in-sni-qt-indicator.dpatch, + debian/patches/hp-systray-make-menu-appear-in-sni-qt-indicator-with-kde.dpatch, + debian/patches/hpaio-option-duplex.diff, + debian/patches/musb-c-do-not-crash-on-usb-failure.patch, + debian/patches/process-events-for-systray.patch: Refreshed with quilt. + * debian/rules: Force Python3 build using PYTHON=python3 ./configure option + * debian/rules: Use py3versions to get system's Python3 interpreter version + * debian/rules: Use relative symlink for /usr/sbin/hpssd, so that shebang + correction works. + * debian/rules: Make sure that the Python interpreter paths in all executables + use python3. + * debian/rules: Use dh_python3 instead of dh_python2. + * debian/control: Replaced all Python-related dependencies by their + Python3 equivalent. + + -- Till Kamppeter Wed, 4 Feb 2015 21:18:00 -0200 + hplip (3.14.6-1ubuntu1) utopic; urgency=medium * Add process-events-for-systray.patch to enable sni-qt compatiblity to diff -Nru hplip-3.14.6/debian/control hplip-3.15.2/debian/control --- hplip-3.14.6/debian/control 2014-07-29 20:51:53.000000000 +0000 +++ hplip-3.15.2/debian/control 2015-02-05 00:10:58.000000000 +0000 @@ -1,17 +1,16 @@ Source: hplip Section: utils Priority: optional -Maintainer: Ubuntu Developers -XSBC-Original-Maintainer: Debian HPIJS and HPLIP maintainers +Maintainer: Debian HPIJS and HPLIP maintainers Uploaders: Mark Purcell , Till Kamppeter Build-Depends: libcups2-dev, libcupsimage2-dev, libsane-dev, libsnmp-dev, libjpeg-dev, libusb-1.0-0-dev [linux-any], libusb2-dev [kfreebsd-any], libusb-dev [!linux-any !kfreebsd-any], debhelper (>= 9), autotools-dev, autoconf, automake, libtool, cups (>= 1.4.0) | cupsddk, patch (>= 2.5.9-3bpo1), findutils (>= 4.2.28), - python-dev, python-all-dev (>= 2.6.6-3~), python-qt4, pyqt4-dev-tools, - python-dbus (>= 0.80), python-qt4-dbus, libdbus-1-dev, libudev-dev [linux-any], policykit-1, + python3-dev, python3-all-dev (>= 2.6.6-3~), python3-pyqt4, pyqt4-dev-tools, + python3-dbus (>= 0.80), libdbus-1-dev, libudev-dev [linux-any], policykit-1, fdupes, lsb-release, pyppd (>= 1.0.1), dh-autoreconf -X-Python-Version: >= 2.7.5 +X-Python-Version: >= 3.0 Standards-Version: 3.9.4 Homepage: http://hplipopensource.com/hplip-web/index.html Vcs-Svn: svn://anonscm.debian.org/pkg-hpijs/hplip/trunk/ @@ -22,11 +21,11 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, libsane-hpaio (= ${hplip:binary:Version}), libhpmud0 (= ${hplip:binary:Version}), hplip-data (= ${hplip:source:Version}), printer-driver-hpcups (= ${hplip:binary:Version}), - ${python:Depends}, python-dbus (>= 0.80), python-imaging, python-pexpect, python-reportlab, + ${python3:Depends}, python3-dbus (>= 0.80), python3-pil, python3-pexpect, python3-reportlab, coreutils (>= 5.1.0), lsb-base (>= 3), adduser (>= 3.34), cups (>= 1.1.20), - policykit-1, python-gobject-2, wget + policykit-1, python3-gi, wget Recommends: printer-driver-postscript-hp, sane-utils, avahi-daemon -Suggests: hplip-gui, hplip-doc, python-notify, system-config-printer +Suggests: hplip-gui, hplip-doc, python3-notify2, system-config-printer Description: HP Linux Printing and Imaging System (HPLIP) The HP Linux Printing and Imaging System provides full support for printing on most HP SFP (single function peripheral) inkjets and many @@ -60,7 +59,7 @@ Package: hplip-data Architecture: all Suggests: hplip -Depends: ${python:Depends}, ${misc:Depends}, xz-utils +Depends: ${python3:Depends}, ${misc:Depends}, xz-utils Description: HP Linux Printing and Imaging - data files The HP Linux Printing and Imaging System provides full support for printing on most HP SFP (single function peripheral) inkjets and many @@ -87,9 +86,9 @@ Package: hplip-gui Architecture: all Depends: ${misc:Depends}, hplip (>= ${hplip:source:Version}), dbus-x11, - ${python:Depends}, python-qt4, python-qt4-dbus, + ${python3:Depends}, python3-pyqt4, python3-dbus.mainloop.qt, gksu | kdebase-bin (<< 4:4.4.0-1) | kde-runtime | kdebase-runtime | kdesudo | ktsuss -Recommends: xsane | simple-scan | skanlite, python-notify +Recommends: xsane | simple-scan | skanlite, python3-notify2 Replaces: hplip (<< 3.12.4-2) Breaks: hplip (<< 3.12.4-2) Description: HP Linux Printing and Imaging - GUI utilities (Qt-based) diff -Nru hplip-3.14.6/debian/patches/85_rebuild_python_ui.dpatch hplip-3.15.2/debian/patches/85_rebuild_python_ui.dpatch --- hplip-3.14.6/debian/patches/85_rebuild_python_ui.dpatch 2013-12-09 18:05:20.000000000 +0000 +++ hplip-3.15.2/debian/patches/85_rebuild_python_ui.dpatch 2015-02-05 00:10:58.000000000 +0000 @@ -5,10 +5,8 @@ ## DP: No description. @DPATCH@ -Index: hplip-3.13.10/Makefile.am -=================================================================== ---- hplip-3.13.10.orig/Makefile.am 2013-10-11 20:40:14.000000000 +1100 -+++ hplip-3.13.10/Makefile.am 2013-11-09 14:29:21.000000000 +1100 +--- a/Makefile.am ++++ b/Makefile.am @@ -3,6 +3,11 @@ # # (c) 2004-2015 Copyright Hewlett-Packard Development Company, LP @@ -21,14 +19,12 @@ INCLUDES = -Iip -Iio/hpmud -Iscan/sane -Iprnt/hpijs -Icommon/ CFLAGS+= -DCONFDIR=\"$(hplip_confdir)\" CXXFLAGS+= -DCONFDIR=\"$(hplip_confdir)\" -Index: hplip-3.13.10/configure.in -=================================================================== ---- hplip-3.13.10.orig/configure.in 2013-10-11 20:40:26.000000000 +1100 -+++ hplip-3.13.10/configure.in 2013-11-09 14:29:21.000000000 +1100 -@@ -538,6 +538,8 @@ - AC_MSG_RESULT("using $PYTHONINCLUDEDIR") - AC_ARG_VAR(PYTHONINCLUDEDIR, [path to Python.h C header file]) - AC_CHECK_HEADERS(python$PYTHON_VERSION/Python.h, ,[AC_MSG_ERROR([cannot find python-devel support], 6)]) +--- a/configure.in ++++ b/configure.in +@@ -531,6 +531,8 @@ + [FOUND_HEADER=yes; break;]) + AS_IF([test "x$FOUND_HEADER" != "xyes"], + [AC_MSG_ERROR([cannot find python-devel support], 6)]) + AC_ARG_VAR([PYUIC4], [PyQT pyuic4 .ui to .py compiler command]) + AC_CHECK_TOOLS([PYUIC4], [pyuic4]) fi diff -Nru hplip-3.14.6/debian/patches/hpaio-option-duplex.diff hplip-3.15.2/debian/patches/hpaio-option-duplex.diff --- hplip-3.14.6/debian/patches/hpaio-option-duplex.diff 2013-12-09 18:56:43.000000000 +0000 +++ hplip-3.15.2/debian/patches/hpaio-option-duplex.diff 2015-02-05 00:10:58.000000000 +0000 @@ -1,8 +1,6 @@ -Index: hplip-3.13.11/scan/sane/sclpml.c -=================================================================== ---- hplip-3.13.11.orig/scan/sane/sclpml.c 2013-10-31 22:45:07.000000000 +1100 -+++ hplip-3.13.11/scan/sane/sclpml.c 2013-12-10 05:21:16.000000000 +1100 -@@ -1083,20 +1083,17 @@ +--- a/scan/sane/sclpml.c ++++ b/scan/sane/sclpml.c +@@ -1084,20 +1084,17 @@ hpaio->option[OPTION_ADF_MODE].constraint_type = SANE_CONSTRAINT_STRING_LIST; hpaio->option[OPTION_ADF_MODE].constraint.string_list = hpaio->adfModeList; diff -Nru hplip-3.14.6/debian/patches/hpfax-bug-function-used-before-importing-log.dpatch hplip-3.15.2/debian/patches/hpfax-bug-function-used-before-importing-log.dpatch --- hplip-3.14.6/debian/patches/hpfax-bug-function-used-before-importing-log.dpatch 2012-05-26 00:25:50.000000000 +0000 +++ hplip-3.15.2/debian/patches/hpfax-bug-function-used-before-importing-log.dpatch 2015-02-05 00:10:58.000000000 +0000 @@ -5,11 +5,9 @@ ## DP: No description. @DPATCH@ -Index: hplip-3.12.4/fax/backend/hpfax.py -=================================================================== ---- hplip-3.12.4.orig/fax/backend/hpfax.py 2012-04-10 18:34:59.000000000 +1000 -+++ hplip-3.12.4/fax/backend/hpfax.py 2012-05-26 10:21:30.000000000 +1000 -@@ -52,7 +52,10 @@ +--- a/fax/backend/hpfax.py ++++ b/fax/backend/hpfax.py +@@ -55,7 +55,10 @@ def bug(msg): syslog.syslog("hpfax[%d]: error: %s\n" % (pid, msg)) diff -Nru hplip-3.14.6/debian/patches/hp_photosmart_pro_b9100_support.dpatch hplip-3.15.2/debian/patches/hp_photosmart_pro_b9100_support.dpatch --- hplip-3.14.6/debian/patches/hp_photosmart_pro_b9100_support.dpatch 2013-12-09 18:05:20.000000000 +0000 +++ hplip-3.15.2/debian/patches/hp_photosmart_pro_b9100_support.dpatch 2015-02-05 00:10:58.000000000 +0000 @@ -5,11 +5,9 @@ ## DP: No description. @DPATCH@ -Index: hplip-3.13.11/data/models/models.dat -=================================================================== ---- hplip-3.13.11.orig/data/models/models.dat 2013-10-31 22:45:11.000000000 +1100 -+++ hplip-3.13.11/data/models/models.dat 2013-12-08 09:44:01.000000000 +1100 -@@ -54152,9 +54152,9 @@ +--- a/data/models/models.dat ++++ b/data/models/models.dat +@@ -56536,9 +56536,9 @@ status-type=2 support-released=True support-subtype=219b2b diff -Nru hplip-3.14.6/debian/patches/hp-systray-make-menu-appear-in-sni-qt-indicator-with-kde.dpatch hplip-3.15.2/debian/patches/hp-systray-make-menu-appear-in-sni-qt-indicator-with-kde.dpatch --- hplip-3.14.6/debian/patches/hp-systray-make-menu-appear-in-sni-qt-indicator-with-kde.dpatch 2013-09-11 22:41:19.000000000 +0000 +++ hplip-3.15.2/debian/patches/hp-systray-make-menu-appear-in-sni-qt-indicator-with-kde.dpatch 2015-02-05 00:10:58.000000000 +0000 @@ -7,7 +7,7 @@ @DPATCH@ --- a/ui4/systemtray.py +++ b/ui4/systemtray.py -@@ -566,6 +566,9 @@ +@@ -569,6 +569,9 @@ elif reason == QSystemTrayIcon.Trigger: #print "single click" diff -Nru hplip-3.14.6/debian/patches/hp-systray-make-menu-title-visible-in-sni-qt-indicator.dpatch hplip-3.15.2/debian/patches/hp-systray-make-menu-title-visible-in-sni-qt-indicator.dpatch --- hplip-3.14.6/debian/patches/hp-systray-make-menu-title-visible-in-sni-qt-indicator.dpatch 2013-09-11 22:41:19.000000000 +0000 +++ hplip-3.15.2/debian/patches/hp-systray-make-menu-title-visible-in-sni-qt-indicator.dpatch 2015-02-05 00:10:58.000000000 +0000 @@ -7,7 +7,7 @@ @DPATCH@ --- a/ui4/systemtray.py +++ b/ui4/systemtray.py -@@ -434,29 +434,11 @@ +@@ -437,29 +437,11 @@ def setMenu(self): self.menu = QMenu() diff -Nru hplip-3.14.6/debian/patches/musb-c-do-not-crash-on-usb-failure.patch hplip-3.15.2/debian/patches/musb-c-do-not-crash-on-usb-failure.patch --- hplip-3.14.6/debian/patches/musb-c-do-not-crash-on-usb-failure.patch 2014-04-04 15:05:13.000000000 +0000 +++ hplip-3.15.2/debian/patches/musb-c-do-not-crash-on-usb-failure.patch 2015-02-05 00:10:58.000000000 +0000 @@ -1,6 +1,6 @@ --- a/io/hpmud/musb.c +++ b/io/hpmud/musb.c -@@ -689,7 +689,8 @@ +@@ -690,7 +690,8 @@ int numdevs = 0; /* number of connected devices */ int i, conf, iface, altset ; @@ -10,7 +10,7 @@ numdevs = libusb_get_device_list(libusb_ctx, &libusb_dev_list); for (i=0; i< numdevs; i++) { -@@ -2033,7 +2034,8 @@ +@@ -2034,7 +2035,8 @@ char serial[128], mfg[128], sz[HPMUD_LINE_SIZE]; int r, size=0; @@ -20,7 +20,7 @@ numdevs = libusb_get_device_list(ctx, &list); if (numdevs <= 0) -@@ -2129,12 +2131,14 @@ +@@ -2130,12 +2132,14 @@ }//end for loop bugout: @@ -38,7 +38,7 @@ return size; } -@@ -2160,7 +2164,8 @@ +@@ -2161,7 +2165,8 @@ *bytes_read=0; @@ -48,7 +48,7 @@ numdevs = libusb_get_device_list(ctx, &list); if (numdevs <= 0) -@@ -2263,8 +2268,10 @@ +@@ -2264,8 +2269,10 @@ if (hd != NULL) libusb_close(hd); @@ -61,7 +61,7 @@ return stat; } -@@ -2283,7 +2290,8 @@ +@@ -2284,7 +2291,8 @@ *bytes_read=0; @@ -71,7 +71,7 @@ numdevs = libusb_get_device_list(ctx, &list); if (numdevs <= 0) -@@ -2309,8 +2317,10 @@ +@@ -2310,8 +2318,10 @@ stat = HPMUD_R_OK; bugout: diff -Nru hplip-3.14.6/debian/patches/process-events-for-systray.patch hplip-3.15.2/debian/patches/process-events-for-systray.patch --- hplip-3.14.6/debian/patches/process-events-for-systray.patch 2014-07-29 20:50:43.000000000 +0000 +++ hplip-3.15.2/debian/patches/process-events-for-systray.patch 2015-02-05 00:10:58.000000000 +0000 @@ -13,11 +13,9 @@ Last-Update: 2014-07-29 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: hplip-3.14.6/ui4/systemtray.py -=================================================================== ---- hplip-3.14.6.orig/ui4/systemtray.py -+++ hplip-3.14.6/ui4/systemtray.py -@@ -824,6 +824,18 @@ def run(read_pipe): +--- a/ui4/systemtray.py ++++ b/ui4/systemtray.py +@@ -820,6 +820,18 @@ while i < 60: if QSystemTrayIcon.isSystemTrayAvailable(): break diff -Nru hplip-3.14.6/debian/patches/series hplip-3.15.2/debian/patches/series --- hplip-3.14.6/debian/patches/series 2014-07-29 07:15:51.000000000 +0000 +++ hplip-3.15.2/debian/patches/series 2014-04-04 15:05:13.000000000 +0000 @@ -18,4 +18,3 @@ #hp-mkuri-libnotify-so-4-support.dpatch hpaio-option-duplex.diff musb-c-do-not-crash-on-usb-failure.patch -process-events-for-systray.patch diff -Nru hplip-3.14.6/debian/patches/simple-scan-as-default.dpatch hplip-3.15.2/debian/patches/simple-scan-as-default.dpatch --- hplip-3.14.6/debian/patches/simple-scan-as-default.dpatch 2013-09-11 22:41:19.000000000 +0000 +++ hplip-3.15.2/debian/patches/simple-scan-as-default.dpatch 2015-02-05 00:10:58.000000000 +0000 @@ -7,7 +7,7 @@ @DPATCH@ --- a/base/utils.py +++ b/base/utils.py -@@ -556,18 +556,21 @@ +@@ -566,18 +566,21 @@ # Scan self.cmd_scan = '' @@ -38,8 +38,8 @@ path = which('hp-unload') --- a/ui4/ui_utils.py +++ b/ui4/ui_utils.py -@@ -141,7 +141,7 @@ - +@@ -182,7 +182,7 @@ + return '' def loadDefaults(self): - self.cmd_scan = self.__setup(['xsane -V %SANE_URI%', 'kooka', 'xscanimage']) diff -Nru hplip-3.14.6/debian/rules hplip-3.15.2/debian/rules --- hplip-3.14.6/debian/rules 2014-05-07 10:55:36.000000000 +0000 +++ hplip-3.15.2/debian/rules 2015-02-05 00:10:58.000000000 +0000 @@ -11,14 +11,19 @@ export DH_ALWAYS_EXCLUDE=CVS:.cvsignore #export DH_VERBOSE=1 --include /usr/share/python/python.mk - ifeq (,$(py_sitename)) +-include /usr/share/python3/python.mk +ifeq (,$(py_sitename)) py_sitename = site-packages py_libdir = /usr/lib/python$(subst python,,$(1))/site-packages py_sitename_sh = $(py_sitename) py_libdir_sh = $(py_libdir) endif -PYTHON_DEFAULT_VERSION:=$(shell pyversions -dv) + +# Override py_sitename as the python.mk module gives the wrong "dist-packages" +py_sitename = site-packages + +PYTHON=python3 +PYTHON_DEFAULT_VERSION:=$(shell py3versions -dv) PYTHON_SITENAME:=$(call py_sitename, $(PYTHON_DEFAULT_VERSION)) @@ -114,6 +119,7 @@ rm -f config.cache ./configure CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)"\ + PYTHON="$(PYTHON)" \ HPLIP_PPD_PATH=/usr/share/ppd \ $(CONFFLAGS) \ --config-cache \ @@ -261,17 +267,26 @@ dest=hp-$${file%.py}; \ ln -s ../../usr/share/hplip/$$file \ ../../bin/$$dest 2>/dev/null || :; \ + if true; then \ PYTHONPATH=../../lib/python$(PYTHON_DEFAULT_VERSION)/$(PYTHON_SITENAME)/ \ - LD_LIBRARY_PATH=../../lib/ ../../bin/$$dest --help-man > $(CURDIR)/$$dest.1 ; \ + LD_LIBRARY_PATH=../../lib/ python3 ../../bin/$$dest --help-man > $(CURDIR)/$$dest.1 ; \ + else \ + touch $(CURDIR)/$$dest.1; \ + fi; \ fi; \ done \ ) install -d ./debian/tmp/usr/sbin/ - ln -s /usr/share/hplip/hpssd.py ./debian/tmp/usr/sbin/hpssd + ln -s ../../usr/share/hplip/hpssd.py ./debian/tmp/usr/sbin/hpssd # Correct Python interpreter path in all executables for file in ./debian/tmp/usr/bin/* ./debian/tmp/usr/sbin/* ./debian/tmp/usr/lib/cups/*/*; do \ - perl -p -i -e 's:^\s*\#\!/usr/bin/env\s+python.*:#!/usr/bin/python:' `readlink -f $$file`; \ + perl -p -i -e 's:^\s*\#\!\s*/usr/bin/env\s+python.*:#!/usr/bin/python:' `readlink -f $$file`; \ + done + + # "Upgrade" Python interpreter path to Python3 + for file in ./debian/tmp/usr/bin/* ./debian/tmp/usr/sbin/* ./debian/tmp/usr/lib/cups/*/*; do \ + perl -p -i -e 's:^\s*\#\!\s*/usr/bin/python\b:#!/usr/bin/python3:' `readlink -f $$file`; \ done # Remove all *.pyc files, they do not need to be shipped with the @@ -383,7 +398,7 @@ dh_compress -i dh_fixperms -i # dh_perl -i - dh_python2 -i /usr/share/hplip + dh_python3 -i /usr/share/hplip --no-shebang-rewrite # dh_makeshlibs -i dh_installdeb -i dh_shlibdeps -i --dpkg-shlibdeps-params=--ignore-missing-info @@ -414,7 +429,7 @@ dh_installman -a # dh_installinfo -a dh_installchangelogs -a $(CHANGELOG) - # must come after dh_pysupport and dh_python, or the postinst + # must come after dh_pysupport and dh_python3, or the postinst # ordering will be screwed up and break. #dh_installinit -phplip --init-script=hplip -- multiuser 19 dh_installudev @@ -423,7 +438,7 @@ dh_compress -a dh_fixperms -a dh_makeshlibs -a - dh_python2 -a --no-guessing-versions + dh_python3 -a --no-shebang-rewrite dh_installdeb -a dh_shlibdeps -a --dpkg-shlibdeps-params=--ignore-missing-info dh_gencontrol -a -- \ diff -Nru hplip-3.14.6/devicesettings.py hplip-3.15.2/devicesettings.py --- hplip-3.14.6/devicesettings.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/devicesettings.py 2015-01-29 12:20:49.000000000 +0000 @@ -53,6 +53,9 @@ device_uri = mod.getDeviceUri(device_uri, printer_name, filter={'power-settings': (operator.gt, 0)}) + if not device_uri: + sys.exit(1) + if not utils.canEnterGUIMode4(): log.error("%s -u/--gui requires Qt4 GUI support. Exiting." % __mod__) sys.exit(1) @@ -64,17 +67,14 @@ log.error("Unable to load Qt4 support. Is it installed?") sys.exit(1) - #try: - if 1: - app = QApplication(sys.argv) - - dlg = DeviceSetupDialog(None, device_uri) - dlg.show() - try: - log.debug("Starting GUI loop...") - app.exec_() - except KeyboardInterrupt: - sys.exit(0) + app = QApplication(sys.argv) + dlg = DeviceSetupDialog(None, device_uri) + dlg.show() + try: + log.debug("Starting GUI loop...") + app.exec_() + except KeyboardInterrupt: + sys.exit(0) diff -Nru hplip-3.14.6/diagnose_queues.py hplip-3.15.2/diagnose_queues.py --- hplip-3.14.6/diagnose_queues.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/diagnose_queues.py 2015-01-29 12:20:49.000000000 +0000 @@ -19,7 +19,7 @@ # # Author: Amarnath Chitumalla # - +from __future__ import print_function __version__ = '1.1' __title__ = 'AutoConfig Utility to check queues configuration' __mod__ = 'hp-daignose-queues' @@ -67,7 +67,7 @@ handle_device_printer=False) - except getopt.GetoptError, e: + except getopt.GetoptError as e: log.error(e.msg) usage() sys.exit(1) @@ -88,7 +88,7 @@ usage('man') elif o == '--help-desc': - print __doc__, + print(__doc__, end=' ') sys.exit(0) elif o in ('-l', '--logging'): diff -Nru hplip-3.14.6/doctor.py hplip-3.15.2/doctor.py --- hplip-3.14.6/doctor.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/doctor.py 2015-01-29 12:20:49.000000000 +0000 @@ -202,7 +202,7 @@ mod.parseStdOpts('hl:gnid:f:w', ['summary-only','help', 'help-rest', 'help-man', 'help-desc', 'interactive', 'gui', 'lang=','logging=', 'debug'], handle_device_printer=False) -except getopt.GetoptError, e: +except getopt.GetoptError as e: log.error(e.msg) usage() diff -Nru hplip-3.14.6/fab.py hplip-3.15.2/fab.py --- hplip-3.14.6/fab.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/fab.py 2015-01-29 12:20:49.000000000 +0000 @@ -33,7 +33,7 @@ # Local from base.g import * from base import utils, tui, module - +from base.sixext.moves import input # Console class (from ASPN Python Cookbook) # Author: James Thiele @@ -52,7 +52,7 @@ # Command definitions def do_hist(self, args): """Print a list of commands that have been entered""" - print self._hist + print(self._hist) def do_exit(self, args): """Exits from the console""" @@ -92,7 +92,7 @@ Despite the claims in the Cmd documentaion, Cmd.postloop() is not a stub. """ cmd.Cmd.postloop(self) # Clean up command completion - print "Exiting..." + print("Exiting...") def precmd(self, line): """ This method is called after the line has been input but before @@ -119,12 +119,12 @@ if not args: while True: if alt_text: - nickname = raw_input(log.bold("Enter the name to add to the group (=done*, c=cancel) ? ")).strip() + nickname = input(log.bold("Enter the name to add to the group (=done*, c=cancel) ? ")).strip() else: - nickname = raw_input(log.bold("Enter name (c=cancel) ? ")).strip() + nickname = input(log.bold("Enter name (c=cancel) ? ")).strip() if nickname.lower() == 'c': - print log.red("Canceled") + print(log.red("Canceled")) return '' if not nickname: @@ -169,13 +169,13 @@ if not args: while True: if alt_text: - groupname = raw_input(log.bold("Enter the group to join (=done*, c=cancel) ? ")).strip() + groupname = input(log.bold("Enter the group to join (=done*, c=cancel) ? ")).strip() else: - groupname = raw_input(log.bold("Enter the group (c=cancel) ? ")).strip() + groupname = input(log.bold("Enter the group (c=cancel) ? ")).strip() if groupname.lower() == 'c': - print log.red("Canceled") + print(log.red("Canceled")) return '' if not groupname: @@ -186,7 +186,7 @@ continue if groupname == 'All': - print "Cannot specify group 'All'. Please choose a different group." + print("Cannot specify group 'All'. Please choose a different group.") return '' if fail_if_match: @@ -247,21 +247,21 @@ all_entries = self.db.get_all_records() log.debug(all_entries) - print log.bold("\nNames:\n") + print(log.bold("\nNames:\n")) if len(all_entries) > 0: f = tui.Formatter() f.header = ("Name", "Fax Number", "Notes", "Member of Group(s)") - for name, e in all_entries.items(): + for name, e in list(all_entries.items()): if not name.startswith('__'): f.add((name, e['fax'], e['notes'], ', '.join(e['groups']))) f.output() else: - print "(None)" + print("(None)") - print + print() def do_groups(self, args): """ @@ -271,7 +271,7 @@ all_groups = self.db.get_all_groups() log.debug(all_groups) - print log.bold("\nGroups:\n") + print(log.bold("\nGroups:\n")) if len(all_groups): f = tui.Formatter() @@ -281,9 +281,9 @@ f.output() else: - print "(None)" + print("(None)") - print + print() def do_edit(self, args): @@ -298,7 +298,7 @@ e = self.db.get(nickname) log.debug(e) - print log.bold("\nEdit/modify information for %s:\n" % nickname) + print(log.bold("\nEdit/modify information for %s:\n" % nickname)) # save_title = e['title'] # title = raw_input(log.bold("Title (='%s', c=cancel) ? " % save_title)).strip() @@ -336,10 +336,10 @@ save_faxnum = e['fax'] while True: - faxnum = raw_input(log.bold("Fax Number (='%s', c=cancel) ? " % save_faxnum)).strip() + faxnum = input(log.bold("Fax Number (='%s', c=cancel) ? " % save_faxnum)).strip() if faxnum.lower() == 'c': - print log.red("Canceled") + print(log.red("Canceled")) return if not faxnum and not save_faxnum: @@ -360,17 +360,17 @@ if ok: break save_notes = e['notes'] - notes = raw_input(log.bold("Notes (='%s', c=cancel) ? " % save_notes)).strip() + notes = input(log.bold("Notes (='%s', c=cancel) ? " % save_notes)).strip() if notes.lower() == 'c': - print log.red("Canceled") + print(log.red("Canceled")) return if not notes: notes = save_notes if e['groups']: - print "\nLeave or Stay in a Group:\n" + print("\nLeave or Stay in a Group:\n") new_groups = [] for g in e['groups']: @@ -381,19 +381,19 @@ choice_prompt="(y=yes* (stay), n=no (leave), c=cancel) ? ") if not ok: - print log.red("Canceled") + print(log.red("Canceled")) return if ans: new_groups.append(g) - print "\nJoin New Group(s):\n" + print("\nJoin New Group(s):\n") while True: add_group = self.get_groupname('', fail_if_match=False, alt_text=True) if add_group.lower() == 'c': - print log.red("Canceled") + print(log.red("Canceled")) return if not add_group: @@ -407,7 +407,7 @@ choice_prompt="(y=yes* (new), n=no, c=cancel) ? ") if not ok: - print log.red("Canceled") + print(log.red("Canceled")) return if not ans: @@ -422,7 +422,7 @@ self.db.set(nickname, title, firstname, lastname, faxnum, new_groups, notes) self.do_show(nickname) - print + print() do_modify = do_edit @@ -440,7 +440,7 @@ new_entries = [] - print "\nExisting Names in Group:\n" + print("\nExisting Names in Group:\n") for e in old_entries: if not e.startswith('__'): @@ -450,19 +450,19 @@ continue if not ok: - print log.red("Canceled") + print(log.red("Canceled")) return if ans: new_entries.append(e) - print "\nAdd New Names to Group:\n" + print("\nAdd New Names to Group:\n") while True: nickname = self.get_nickname('', fail_if_match=False, alt_text=True) if nickname.lower() == 'c': - print log.red("Canceled") + print(log.red("Canceled")) return if not nickname.lower(): @@ -472,7 +472,7 @@ self.db.update_groups(group, new_entries) - print + print() do_modifygrp = do_editgrp @@ -486,7 +486,7 @@ nickname = self.get_nickname(args, fail_if_match=True) if not nickname: return - print log.bold("\nEnter information for %s:\n" % nickname) + print(log.bold("\nEnter information for %s:\n" % nickname)) # title = raw_input(log.bold("Title (c=cancel) ? ")).strip() # @@ -511,10 +511,10 @@ lastname = '' while True: - faxnum = raw_input(log.bold("Fax Number (c=cancel) ? ")).strip() + faxnum = input(log.bold("Fax Number (c=cancel) ? ")).strip() if faxnum.lower() == 'c': - print log.red("Canceled") + print(log.red("Canceled")) return if not faxnum: @@ -531,33 +531,33 @@ if ok: break - notes = raw_input(log.bold("Notes (c=cancel) ? ")).strip() + notes = input(log.bold("Notes (c=cancel) ? ")).strip() if notes.strip().lower() == 'c': - print log.red("Canceled") + print(log.red("Canceled")) return groups = [] all_groups = self.db.get_all_groups() while True: - add_group = raw_input(log.bold("Member of group (=done*, c=cancel) ? " )).strip() + add_group = input(log.bold("Member of group (=done*, c=cancel) ? " )).strip() if add_group.lower() == 'c': - print log.red("Canceled") + print(log.red("Canceled")) return if not add_group: break if add_group == 'All': - print log.red("Cannot specify 'All'.") + print(log.red("Cannot specify 'All'.")) continue if add_group not in all_groups: log.warn("Group not found.") while True: - user_input = raw_input(log.bold("Is this a new group (y=yes*, n=no) ? ")).lower().strip() + user_input = input(log.bold("Is this a new group (y=yes*, n=no) ? ")).lower().strip() if user_input not in ['', 'n', 'y']: log.error("Please enter 'y', 'n' or press for 'yes'.") @@ -597,7 +597,7 @@ nickname = self.get_nickname('', fail_if_match=False, alt_text=True) if nickname.lower() == 'c': - print log.red("Canceled") + print(log.red("Canceled")) return if not nickname.lower(): @@ -607,7 +607,7 @@ self.db.update_groups(group, entries) - print + print() do_newgrp = do_addgrp @@ -620,19 +620,19 @@ all_entries = self.db.get_all_records() log.debug(all_entries) - print log.bold("\nView all Data:\n") + print(log.bold("\nView all Data:\n")) if len(all_entries) > 0: f = tui.Formatter() f.header = ("Name", "Fax", "Notes", "Member of Group(s)") - for name, e in all_entries.items(): + for name, e in list(all_entries.items()): if not name.startswith('__'): f.add((name, e['fax'], e['notes'], ', '.join(e['groups']))) f.output() - print + print() @@ -662,7 +662,7 @@ else: log.error("Name not found. Use the 'names' command to view all names.") - print + print() do_details = do_show @@ -677,7 +677,7 @@ self.db.delete(nickname) - print + print() do_del = do_rm @@ -692,7 +692,7 @@ self.db.delete_group(group) - print + print() do_delgrp = do_rmgrp @@ -735,18 +735,18 @@ elif ext == '.ldif': typ = 'ldif' else: - head = file(filename, 'r').read(1024).lower() + head = open(filename, 'r').read(1024).lower() if 'begin:vcard' in head: typ = 'vcf' else: typ = 'ldif' if typ == 'ldif': - print "Importing from LDIF file %s..." % filename + print("Importing from LDIF file %s..." % filename) ok, error_str = self.db.import_ldif(filename) elif typ in ('vcard', 'vcf'): - print "Importing from VCF file %s..." % filename + print("Importing from VCF file %s..." % filename) ok, error_str = self.db.import_vcard(filename) if not ok: @@ -754,7 +754,7 @@ else: self.do_list('') - print + print() @@ -855,7 +855,6 @@ if 1: app = QApplication(sys.argv) - fab = FABWindow(None) fab.show() diff -Nru hplip-3.14.6/fax/backend/hpfax.py hplip-3.15.2/fax/backend/hpfax.py --- hplip-3.14.6/fax/backend/hpfax.py 2014-06-03 06:33:06.000000000 +0000 +++ hplip-3.15.2/fax/backend/hpfax.py 2015-01-29 12:20:35.000000000 +0000 @@ -27,13 +27,16 @@ # StdLib import sys import getopt -import ConfigParser import os.path, os import syslog import time import operator import tempfile +if sys.version_info[0] == 3: + import configparser +else: + import ConfigParser as configparser CUPS_BACKEND_OK = 0 # Job completed successfully CUPS_BACKEND_FAILED = 1 # Job failed, use error-policy @@ -56,7 +59,7 @@ if os.path.exists(config_file): - config = ConfigParser.ConfigParser() + config = configparser.ConfigParser() config.read(config_file) try: @@ -82,7 +85,7 @@ from base import device from base import utils from prnt import cups -except ImportError, e: +except ImportError as e: bug("Error importing HPLIP modules: %s\n" % (pid, e)) sys.exit(1) @@ -159,49 +162,49 @@ if mq.get('fax-type', FAX_TYPE_NONE) in (FAX_TYPE_MARVELL,): # HP Fax 3 if bus == 'usb': - print 'direct %s "HP Fax 3" "%s USB %s HP Fax HPLIP" "MFG:HP;MDL:Fax 3;DES:HP Fax 3;"' % \ - (uri.replace("hp:", "hpfax:"), model.replace('_', ' '), serial) + print('direct %s "HP Fax 3" "%s USB %s HP Fax HPLIP" "MFG:HP;MDL:Fax 3;DES:HP Fax 3;"' % \ + (uri.replace("hp:", "hpfax:"), model.replace('_', ' '), serial)) else: # par - print 'direct %s "HP Fax 3" "%s LPT HP Fax HPLIP" "MFG:HP;MDL:Fax 3;DES:HP Fax 3;"' % \ - (uri.replace("hp:", "hpfax:"), model.replace('_', ' ')) + print('direct %s "HP Fax 3" "%s LPT HP Fax HPLIP" "MFG:HP;MDL:Fax 3;DES:HP Fax 3;"' % \ + (uri.replace("hp:", "hpfax:"), model.replace('_', ' '))) elif mq.get('fax-type', FAX_TYPE_NONE) in (FAX_TYPE_SOAP,) or mq.get('fax-type', FAX_TYPE_NONE) in (FAX_TYPE_LEDMSOAP,): # HP Fax 2 if bus == 'usb': - print 'direct %s "HP Fax 2" "%s USB %s HP Fax HPLIP" "MFG:HP;MDL:Fax 2;DES:HP Fax 2;"' % \ - (uri.replace("hp:", "hpfax:"), model.replace('_', ' '), serial) + print('direct %s "HP Fax 2" "%s USB %s HP Fax HPLIP" "MFG:HP;MDL:Fax 2;DES:HP Fax 2;"' % \ + (uri.replace("hp:", "hpfax:"), model.replace('_', ' '), serial)) else: # par - print 'direct %s "HP Fax 2" "%s LPT HP Fax HPLIP" "MFG:HP;MDL:Fax 2;DES:HP Fax 2;"' % \ - (uri.replace("hp:", "hpfax:"), model.replace('_', ' ')) + print('direct %s "HP Fax 2" "%s LPT HP Fax HPLIP" "MFG:HP;MDL:Fax 2;DES:HP Fax 2;"' % \ + (uri.replace("hp:", "hpfax:"), model.replace('_', ' '))) elif mq.get('fax-type', FAX_TYPE_NONE) in (FAX_TYPE_LEDM,): # HP Fax 4 if bus == 'usb': - print 'direct %s "HP Fax 4" "%s USB %s HP Fax HPLIP" "MFG:HP;MDL:Fax 4;DES:HP Fax 4;"' % \ - (uri.replace("hp:", "hpfax:"), model.replace('_', ' '), serial) + print('direct %s "HP Fax 4" "%s USB %s HP Fax HPLIP" "MFG:HP;MDL:Fax 4;DES:HP Fax 4;"' % \ + (uri.replace("hp:", "hpfax:"), model.replace('_', ' '), serial)) else: # par - print 'direct %s "HP Fax 4" "%s LPT HP Fax HPLIP" "MFG:HP;MDL:Fax 4;DES:HP Fax 4;"' % \ - (uri.replace("hp:", "hpfax:"), model.replace('_', ' ')) + print('direct %s "HP Fax 4" "%s LPT HP Fax HPLIP" "MFG:HP;MDL:Fax 4;DES:HP Fax 4;"' % \ + (uri.replace("hp:", "hpfax:"), model.replace('_', ' '))) else: # HP Fax if bus == 'usb': - print 'direct %s "HP Fax" "%s USB %s HP Fax HPLIP" "MFG:HP;MDL:Fax;DES:HP Fax;"' % \ - (uri.replace("hp:", "hpfax:"), model.replace('_', ' '), serial) + print('direct %s "HP Fax" "%s USB %s HP Fax HPLIP" "MFG:HP;MDL:Fax;DES:HP Fax;"' % \ + (uri.replace("hp:", "hpfax:"), model.replace('_', ' '), serial)) else: # par - print 'direct %s "HP Fax" "%s LPT HP Fax HPLIP" "MFG:HP;MDL:Fax;DES:HP Fax;"' % \ - (uri.replace("hp:", "hpfax:"), model.replace('_', ' ')) + print('direct %s "HP Fax" "%s LPT HP Fax HPLIP" "MFG:HP;MDL:Fax;DES:HP Fax;"' % \ + (uri.replace("hp:", "hpfax:"), model.replace('_', ' '))) good_devices += 1 if good_devices == 0: if cups11: - print 'direct hpfax:/no_device_found "HP Fax" "no_device_found" ""' + print('direct hpfax:/no_device_found "HP Fax" "no_device_found" ""') else: - print 'direct hpfax "Unknown" "HP Fax (HPLIP)" ""' + print('direct hpfax "Unknown" "HP Fax (HPLIP)" ""') sys.exit(CUPS_BACKEND_OK) @@ -239,7 +242,7 @@ send_message(device_uri, printer_name, EVENT_START_FAX_PRINT_JOB, username, job_id, title) try: - input_fd = file(args[5], 'r') + input_fd = open(args[5], 'r') except IndexError: input_fd = 0 @@ -252,7 +255,7 @@ # Create the named pipe. Make sure it exists before sending # message to hppsd. - os.umask(0111) + os.umask(0o111) try: os.mkfifo(pipe_name) except OSError: diff -Nru hplip-3.14.6/fax/faxdevice.py hplip-3.15.2/fax/faxdevice.py --- hplip-3.14.6/fax/faxdevice.py 2014-06-03 06:33:06.000000000 +0000 +++ hplip-3.15.2/fax/faxdevice.py 2015-01-29 12:20:35.000000000 +0000 @@ -23,11 +23,9 @@ from base.g import * from prnt import cups from base import device, codes -from soapfax import SOAPFaxDevice -from pmlfax import PMLFaxDevice -from marvellfax import MarvellFaxDevice -from ledmfax import LEDMFaxDevice -from ledmsoapfax import LEDMSOAPFaxDevice +from .soapfax import SOAPFaxDevice +from .pmlfax import PMLFaxDevice +from .marvellfax import MarvellFaxDevice def FaxDevice(device_uri=None, printer_name=None, callback=None, @@ -58,12 +56,14 @@ return SOAPFaxDevice(device_uri, printer_name, callback, fax_type, disable_dbus) elif fax_type == FAX_TYPE_LEDMSOAP: + from .ledmsoapfax import LEDMSOAPFaxDevice return LEDMSOAPFaxDevice(device_uri, printer_name, callback, fax_type, disable_dbus) elif fax_type == FAX_TYPE_MARVELL: return MarvellFaxDevice(device_uri, printer_name, callback, fax_type, disable_dbus) elif fax_type == FAX_TYPE_LEDM: + from .ledmfax import LEDMFaxDevice return LEDMFaxDevice(device_uri, printer_name, callback, fax_type, disable_dbus) diff -Nru hplip-3.14.6/fax/fax.py hplip-3.15.2/fax/fax.py --- hplip-3.14.6/fax/fax.py 2014-06-03 06:33:06.000000000 +0000 +++ hplip-3.15.2/fax/fax.py 2015-01-29 12:20:35.000000000 +0000 @@ -19,15 +19,14 @@ # Author: Don Welch # -from __future__ import generators + # Std Lib import sys import os import threading -import cPickle +import pickle import time -from cStringIO import StringIO import struct # Local @@ -36,9 +35,10 @@ from base.ldif import LDIFParser from base import device, utils, vcard from prnt import cups - +from base.sixext import BytesIO +from base.sixext import to_bytes_utf8, to_long, to_unicode try: - import coverpages + from . import coverpages except ImportError: pass @@ -180,7 +180,7 @@ except KeyError: pass - grps.append(u'All') + grps.append(to_unicode('All')) groups = [g for g in grps if g] if nickname: @@ -213,25 +213,26 @@ # Load the existing pickle if present if os.path.exists(self._fab): - pickle_file = open(self._fab, "r") - self._data = cPickle.load(pickle_file) + pickle_file = open(self._fab, "rb") + self._data = pickle.load(pickle_file) pickle_file.close() else: self.save() # save the empty file to create the file def set(self, name, title, firstname, lastname, fax, groups, notes): - try: - grps = [unicode(s) for s in groups] - except UnicodeDecodeError: - grps = [unicode(s.decode('utf-8')) for s in groups] - - self._data[unicode(name)] = {'name' : unicode(name), - 'title': unicode(title), # NOT USED STARTING IN 2.8.9 - 'firstname': unicode(firstname), # NOT USED STARTING IN 2.8.9 - 'lastname': unicode(lastname), # NOT USED STARTING IN 2.8.9 - 'fax': unicode(fax), - 'notes': unicode(notes), + # try: + # grps = [to_unicode(s) for s in groups] + # except UnicodeDecodeError: + # grps = [to_unicode(s.decode('utf-8')) for s in groups] + grps = [to_unicode(s) for s in groups] + + self._data[to_unicode(name)] = {'name' : to_unicode(name), + 'title': to_unicode(title), # NOT USED STARTING IN 2.8.9 + 'firstname': to_unicode(firstname), # NOT USED STARTING IN 2.8.9 + 'lastname': to_unicode(lastname), # NOT USED STARTING IN 2.8.9 + 'fax': to_unicode(fax), + 'notes': to_unicode(notes), 'groups': grps} self.save() @@ -240,7 +241,7 @@ def set_key_value(self, name, key, value): - self._data[unicode(name)][key] = value + self._data[to_unicode(name)][key] = value self.save() @@ -266,7 +267,7 @@ def get_all_groups(self): all_groups = [] - for e, v in self._data.items(): + for e, v in list(self._data.items()): for g in v['groups']: if g not in all_groups: all_groups.append(g) @@ -278,13 +279,13 @@ def get_all_names(self): - return self._data.keys() + return list(self._data.keys()) def save(self): try: - pickle_file = open(self._fab, "w") - cPickle.dump(self._data, pickle_file, cPickle.HIGHEST_PROTOCOL) + pickle_file = open(self._fab, "wb") + pickle.dump(self._data, pickle_file, protocol=2) pickle_file.close() except IOError: log.error("I/O error saving fab file.") @@ -312,26 +313,26 @@ def update_groups(self, group, members): - for e, v in self._data.items(): + for e, v in list(self._data.items()): if v['name'] in members: # membership indicated if not group in v['groups']: - v['groups'].append(unicode(group)) + v['groups'].append(to_unicode(group)) else: if group in v['groups']: - v['groups'].remove(unicode(group)) + v['groups'].remove(to_unicode(group)) self.save() def delete_group(self, group): - for e, v in self._data.items(): + for e, v in list(self._data.items()): if group in v['groups']: - v['groups'].remove(unicode(group)) + v['groups'].remove(to_unicode(group)) self.save() def group_members(self, group): members = [] - for e, v in self._data.items(): + for e, v in list(self._data.items()): if group in v['groups']: members.append(e) return members @@ -371,12 +372,12 @@ parser.parse() self.save() return True, '' - except ValueError, e: + except ValueError as e: return False, e.message def import_vcard(self, filename): - data = file(filename, 'r').read() + data = open(filename, 'r').read() log.debug_block(filename, data) for card in vcard.VCards(vcard.VFile(vcard.opentextfile(filename))): @@ -407,13 +408,13 @@ if not org: org = [] - org.append(u'All') + org.append(to_unicode('All')) groups = [o for o in org if o] name = card['name'] - notes = card.get('notes', u'') + notes = card.get('notes', to_unicode('')) log.debug("Import: name=%s, fax=%s group(s)=%s notes=%s" % (name, fax, ','.join(groups), notes)) - self.set(name, u'', u'', u'', fax, groups, notes) + self.set(name, to_unicode(''), to_unicode(''), to_unicode(''), fax, groups, notes) return True, '' @@ -517,23 +518,23 @@ log.debug("fax-type=%d" % fax_type) if fax_type in (FAX_TYPE_BLACK_SEND_EARLY_OPEN, FAX_TYPE_BLACK_SEND_LATE_OPEN): - from pmlfax import PMLFaxDevice + from .pmlfax import PMLFaxDevice return PMLFaxDevice(device_uri, printer_name, callback, fax_type, disable_dbus) elif fax_type == FAX_TYPE_SOAP: - from soapfax import SOAPFaxDevice + from .soapfax import SOAPFaxDevice return SOAPFaxDevice(device_uri, printer_name, callback, fax_type, disable_dbus) elif fax_type == FAX_TYPE_LEDMSOAP: - from ledmsoapfax import LEDMSOAPFaxDevice + from .ledmsoapfax import LEDMSOAPFaxDevice return LEDMSOAPFaxDevice(device_uri, printer_name, callback, fax_type, disable_dbus) elif fax_type == FAX_TYPE_MARVELL: - from marvellfax import MarvellFaxDevice + from .marvellfax import MarvellFaxDevice return MarvellFaxDevice(device_uri, printer_name, callback, fax_type, disable_dbus) elif fax_type == FAX_TYPE_LEDM: - from ledmfax import LEDMFaxDevice + from .ledmfax import LEDMFaxDevice return LEDMFaxDevice(device_uri, printer_name, callback, fax_type, disable_dbus) else: @@ -578,7 +579,7 @@ self.cover_re = cover_re self.cover_func = cover_func self.current_printer = printer_name - self.stream = StringIO() + self.stream = BytesIO() self.prev_update = '' self.remove_temp_file = False self.preserve_formatting = preserve_formatting @@ -642,14 +643,14 @@ if os.path.exists(fax_file_name): self.results[fax_file_name] = ERROR_SUCCESS - fax_file_fd = file(fax_file_name, 'r') + fax_file_fd = open(fax_file_name, 'rb') header = fax_file_fd.read(FILE_HEADER_SIZE) magic, version, total_pages, hort_dpi, vert_dpi, page_size, \ resolution, encoding, reserved1, reserved2 = \ self.decode_fax_header(header) - if magic != 'hplip_g3': + if magic != b'hplip_g3': log.error("Invalid file header. Bad magic.") self.results[fax_file_name] = ERROR_FAX_INVALID_FAX_FILE state = STATE_ERROR @@ -742,7 +743,7 @@ self.f = self.recipient_file_list[0][0] try: - f_fd = file(self.f, 'r') + f_fd = open(self.f, 'rb') except IOError: log.error("Unable to open fax file: %s" % self.f) state = STATE_ERROR @@ -754,7 +755,7 @@ self.results[self.f] = ERROR_SUCCESS - if magic != 'hplip_g3': + if magic != b'hplip_g3': log.error("Invalid file header. Bad magic.") self.results[self.f] = ERROR_FAX_INVALID_FAX_FILE state = STATE_ERROR @@ -778,10 +779,10 @@ f_fd, self.f = utils.make_temp_file() log.debug("Temp file=%s" % self.f) - data = struct.pack(">8sBIHHBBBII", "hplip_g3", 1L, self.job_total_pages, + data = struct.pack(">8sBIHHBBBII", b"hplip_g3", to_long(1), self.job_total_pages, self.job_hort_dpi, self.job_vert_dpi, self.job_page_size, self.job_resolution, self.job_encoding, - 0L, 0L) + to_long(0), to_long(0)) os.write(f_fd, data) @@ -792,13 +793,13 @@ log.debug("Processing file: %s..." % fax_file_name) if self.results[fax_file_name] == ERROR_SUCCESS: - fax_file_fd = file(fax_file_name, 'r') + fax_file_fd = open(fax_file_name, 'rb') header = fax_file_fd.read(FILE_HEADER_SIZE) magic, version, total_pages, hort_dpi, vert_dpi, page_size, \ resolution, encoding, reserved1, reserved2 = self.decode_fax_header(header) - if magic != 'hplip_g3': + if magic != b'hplip_g3': log.error("Invalid file header. Bad magic.") state = STATE_ERROR break @@ -817,7 +818,7 @@ state - STATE_ERROR break - header = struct.pack(">IIIIII", job_page_num, ppr, rpp, bytes_to_read, thumbnail_bytes, 0L) + header = struct.pack(">IIIIII", job_page_num, ppr, rpp, bytes_to_read, thumbnail_bytes, to_long(0)) os.write(f_fd, header) self.write_queue((STATUS_PROCESSING_FILES, job_page_num, '')) @@ -889,7 +890,7 @@ end_time = time.time() + 300.0 # wait for 5 min. max while time.time() < end_time: - log.debug("Waiting for fax...") + log.debug("Waiting for fax... type =%s"%type(self.dev.device_uri)) result = list(self.service.CheckForWaitingFax(self.dev.device_uri, prop.username, sent_job_id)) @@ -930,7 +931,10 @@ def render_cover_page(self, a): log.debug("Creating cover page...") + #Read file again just before creating the coverpage, so that we get updated voice_phone and email_address from /hplip.conf file + #hplip.conf file get updated, whenever user changes coverpage info from hp-faxsetup window. user_conf.read() + pdf = self.cover_func(page_size=coverpages.PAGE_SIZE_LETTER, total_pages=self.job_total_pages, diff -Nru hplip-3.14.6/fax/filters/pstotiff hplip-3.15.2/fax/filters/pstotiff --- hplip-3.14.6/fax/filters/pstotiff 2014-06-03 06:33:06.000000000 +0000 +++ hplip-3.15.2/fax/filters/pstotiff 2015-01-29 12:20:35.000000000 +0000 @@ -6,6 +6,8 @@ import sys import tempfile +PY3 = sys.version_info[0] == 3 + READ_SIZE = 8192 total_bytes_read = 0 @@ -32,7 +34,10 @@ out_handle = open(temp_out_fname, mode='rb') while (total_bytes_read < file_len): data = out_handle.read(READ_SIZE) - sys.stdout.write(data) + if PY3: + sys.stdout.buffer.write(data) + else: + sys.stdout.write(data) total_bytes_read += READ_SIZE out_handle.close() diff -Nru hplip-3.14.6/fax/ledmfax.py hplip-3.15.2/fax/ledmfax.py --- hplip-3.14.6/fax/ledmfax.py 2014-06-03 06:33:06.000000000 +0000 +++ hplip-3.15.2/fax/ledmfax.py 2015-01-29 12:20:35.000000000 +0000 @@ -25,38 +25,25 @@ import sys import os import time -import cStringIO -import urllib # TODO: Replace with urllib2 (urllib is deprecated in Python 3.0) +from base.sixext import BytesIO, to_bytes_utf8, to_unicode import re import threading import struct import time -from base.g import * -try: - import xml.parsers.expat as expat -except ImportError,e: - log.info("\n") - log.error("Failed to import xml.parsers.expat(%s).\nThis may be due to the incompatible version of python-xml package.\n"%(e)) - if "undefined symbol" in str(e): - log.info(log.blue("Please re-install compatible version (other than 2.7.2-7.14.1) due to bug reported at 'https://bugzilla.novell.com/show_bug.cgi?id=766778'.")) - log.info(log.blue("\n Run the following commands in root mode to change the python-xml package.(i.e Installing 2.7.2-7.1.2)")) - log.info(log.blue("\n Using zypper:\n 'zypper remove python-xml'\n 'zypper install python-xml-2.7.2-7.1.2'")) - log.info(log.blue("\n Using apt-get:\n 'apt-get remove python-xml'\n 'apt-get install python-xml-2.7.2-7.1.2'")) - log.info(log.blue("\n Using yum:\n 'yum remove python-xml'\n 'yum install python-xml-2.7.2-7.1.2'")) - - sys.exit(1) +import xml.parsers.expat as expat from stat import * # Local from base.g import * from base.codes import * from base import device, utils, codes, dime, status -from fax import * +from base.sixext import to_bytes_utf8 +from .fax import * # **************************************************************************** # -http_result_pat = re.compile("""HTTP/\d.\d\s(\d+)""", re.I) +http_result_pat = re.compile(b"""HTTP/\d.\d\s(\d+)""", re.I) HTTP_OK = 200 HTTP_ACCEPTED = 202 @@ -107,10 +94,10 @@ Host: %s\r Content-length: %d\r \r -%s""" % (url, str(self.http_host), len(post), post) +%s""" % (url, self.http_host, len(post), post) log.log_data(data) - self.writeLEDM(data) - response = cStringIO.StringIO() + self.writeLEDM(data.encode('utf-8')) + response = BytesIO() while self.readLEDM(512, response, timeout=5): pass @@ -137,14 +124,13 @@ def getPhoneNum(self): - return self.readAttributeFromXml("/DevMgmt/FaxConfigDyn.xml",'faxcfgdyn:faxconfigdyn-faxcfgdyn:systemsettings-dd:phonenumber') - + return self.readAttributeFromXml("/DevMgmt/FaxConfigDyn.xml",'faxcfgdyn:faxconfigdyn-faxcfgdyn:systemsettings-dd:phonenumber') phone_num = property(getPhoneNum, setPhoneNum) def setStationName(self, name): try: - xml = setStationNameXML %(name.encode('utf-8')) + xml = setStationNameXML % name except(UnicodeEncodeError, UnicodeDecodeError): log.error("Unicode Error") @@ -152,7 +138,7 @@ def getStationName(self): - return self.readAttributeFromXml("/DevMgmt/FaxConfigDyn.xml",'faxcfgdyn:faxconfigdyn-faxcfgdyn:systemsettings-dd:companyname') + return to_unicode(self.readAttributeFromXml("/DevMgmt/FaxConfigDyn.xml",'faxcfgdyn:faxconfigdyn-faxcfgdyn:systemsettings-dd:companyname')) station_name = property(getStationName, setStationName) @@ -262,7 +248,7 @@ try: try: self.dev.open() - except Error, e: + except Error as e: log.error("Unable to open device (%s)." % e.msg) state = STATE_ERROR else: @@ -292,7 +278,7 @@ state = STATE_COVER_PAGE try: - recipient = next_recipient.next() + recipient = next(next_recipient) log.debug("Processing for recipient %s" % recipient['name']) self.write_queue((STATUS_SENDING_TO_RECIPIENT, 0, recipient['name'])) except StopIteration: @@ -378,7 +364,7 @@ fax_send_state = FAX_SEND_STATE_BEGINJOB try: self.dev.open() - except Error, e: + except Error as e: log.error("Unable to open device (%s)." % e.msg) fax_send_state = FAX_SEND_STATE_ERROR else: @@ -388,7 +374,7 @@ elif fax_send_state == FAX_SEND_STATE_BEGINJOB: # -------------- BeginJob (110, 50, 0) log.debug("%s State: BeginJob" % ("*"*20)) try: - ff = file(self.f, 'r') + ff = open(self.f, 'rb') except IOError: log.error("Unable to read fax file.") fax_send_state = FAX_SEND_STATE_ERROR @@ -404,7 +390,7 @@ magic, version, total_pages, hort_dpi, vert_dpi, page_size, \ resolution, encoding, reserved1, reserved2 = self.decode_fax_header(header) - if magic != 'hplip_g3': + if magic != to_bytes_utf8('hplip_g3'): log.error("Invalid file header. Bad magic.") fax_send_state = FAX_SEND_STATE_ERROR else: @@ -412,15 +398,15 @@ (magic, version, total_pages, hort_dpi, vert_dpi, page_size, resolution, encoding)) - faxnum = recipient['fax'].encode('ascii') + faxnum = recipient['fax'] createJob = createJobXML %(faxnum, total_pages) data = self.format_http_post("/FaxPCSend/Job",len(createJob),createJob) - log.log_data(data) + log.log_data(data) self.dev.openLEDM() - self.dev.writeLEDM(data) - response = cStringIO.StringIO() + self.dev.writeLEDM(to_bytes_utf8(data)) + response = BytesIO() try: while self.dev.readLEDM(512, response, timeout=5): pass @@ -431,23 +417,24 @@ self.dev.closeLEDM() response = response.getvalue() - log.log_data(response) + log.log_data(response) if self.get_error_code(response) == HTTP_CREATED: fax_send_state = FAX_SEND_STATE_DOWNLOADPAGES else: fax_send_state = FAX_SEND_STATE_ERROR log.error("Create Job request failed") break - - responsestr = str(response) - pos = responsestr.find("/Jobs/JobList/",0,len(responsestr)) - pos1 = responsestr.find("Content-Length",0,len(responsestr)) - jobListURI = responsestr[pos:pos1].strip() - log.debug("jobListURI = [%s]" %(jobListURI)) + pos = response.find(b"/Jobs/JobList/",0,len(response)) + pos1 = response.find(b"Content-Length",0,len(response)) + jobListURI = response[pos:pos1].strip() + jobListURI = jobListURI.replace(b'\r',b'').replace(b'\n',b'') + log.debug("jobListURI = [%s] type=%s" %(jobListURI, type(jobListURI))) + if type(jobListURI) != str: + jobListURI = jobListURI.decode('utf-8') elif fax_send_state == FAX_SEND_STATE_DOWNLOADPAGES: # -------------- DownloadPages (110, 60, 0) log.debug("%s State: DownloadPages" % ("*"*20)) - page = StringIO() + page = BytesIO() log.debug("Total Number of pages are:%d" %total_pages) for p in range(total_pages): @@ -484,7 +471,7 @@ fax_send_state = FAX_SEND_STATE_ERROR break - if data == '': + if data == b'': log.error("No data!") fax_send_state = FAX_SEND_STATE_ERROR break @@ -504,10 +491,10 @@ self.dev.closeLEDM() break - response = cStringIO.StringIO() + response = BytesIO() try: while self.dev.readLEDM(512, response, timeout=5): - pass + pass except Error: fax_send_state = FAX_SEND_STATE_ERROR self.dev.closeLEDM() @@ -520,7 +507,7 @@ fax_send_state = FAX_SEND_STATE_ERROR log.error("Page config data is not accepted by the device") break - + pageImageURI = self.dev.readAttributeFromXml(jobListURI,"j:job-faxpcsendstatus-resourceuri") while(True): if self.check_for_cancel(): @@ -537,13 +524,13 @@ break elif Status == FAX_SEND_STATE_SUCCESS: break - + if fax_send_state == FAX_SEND_STATE_ABORT or fax_send_state == FAX_SEND_STATE_ERROR: break xmldata = self.format_http_post(pageImageURI,len(data),"","application/octet-stream") - log.debug("Sending Page Image XML Data [%s] to the device" %str(xmldata)) + log.debug("Sending Page Image XML Data [%s] to the device" %xmldata) self.dev.openLEDM() self.dev.writeLEDM(xmldata) log.debug("Sending Raw Data to printer............") @@ -554,10 +541,10 @@ self.dev.closeLEDM() break - response = cStringIO.StringIO() + response = BytesIO() try: while self.dev.readLEDM(512, response, timeout=10): - pass + pass except Error: fax_send_state = FAX_SEND_STATE_ERROR self.dev.closeLEDM() @@ -580,20 +567,20 @@ elif fax_send_state == FAX_SEND_STATE_ENDJOB: # -------------- EndJob (110, 70, 0) - fax_send_state = FAX_SEND_STATE_SUCCESS + fax_send_state = FAX_SEND_STATE_SUCCESS elif fax_send_state == FAX_SEND_STATE_CANCELJOB: # -------------- CancelJob (110, 80, 0) log.debug("%s State: CancelJob" % ("*"*20)) - + xmldata = cancelJobXML %(jobListURI) data = self.format_http_put(jobListURI,len(xmldata),xmldata) log.log_data(data) self.dev.openLEDM() - self.dev.writeLEDM(data) + self.dev.writeLEDM(to_bytes_utf8(data)) - response = cStringIO.StringIO() + response = BytesIO() try: while self.dev.readLEDM(512, response, timeout=10): pass @@ -603,9 +590,9 @@ break self.dev.closeLEDM() response = response.getvalue() - log.log_data(response) + log.log_data(response) - if self.get_error_code(response) == HTTP_OK: + if self.get_error_code(response) == HTTP_OK: fax_send_state = FAX_SEND_STATE_CLOSE_SESSION else: fax_send_state = FAX_SEND_STATE_ERROR @@ -655,7 +642,7 @@ return code def checkForError(self,uri): - stream = cStringIO.StringIO() + stream = BytesIO() data = self.dev.FetchLEDMUrl(uri) if not data: log.error("Unable To read the XML data from device") @@ -669,23 +656,23 @@ state = FAX_SEND_STATE_ERROR Fax_send_state = STATUS_ERROR - if cmp(str(xmlDict['j:job-faxpcsendstatus-faxtxmachinestatus']),"Transmitting")==0 \ - and cmp(str(xmlDict['j:job-faxpcsendstatus-faxtxerrorstatus']),"CommunicationError")== 0: + if cmp(xmlDict['j:job-faxpcsendstatus-faxtxmachinestatus'],"Transmitting")==0 \ + and cmp(xmlDict['j:job-faxpcsendstatus-faxtxerrorstatus'],"CommunicationError")== 0: state = FAX_SEND_STATE_ERROR Fax_send_state = STATUS_ERROR_IN_TRANSMITTING - elif(cmp(str(xmlDict['j:job-faxpcsendstatus-faxtxmachinestatus']),"Connecting")==0 \ - and cmp(str(xmlDict['j:job-faxpcsendstatus-faxtxerrorstatus']),"NoAnswer")== 0): + elif(cmp(xmlDict['j:job-faxpcsendstatus-faxtxmachinestatus'],"Connecting")==0 \ + and cmp(xmlDict['j:job-faxpcsendstatus-faxtxerrorstatus'],"NoAnswer")== 0): state = FAX_SEND_STATE_ERROR Fax_send_state = STATUS_ERROR_IN_CONNECTING - elif(cmp(str(xmlDict['j:job-faxpcsendstatus-faxtxerrorstatus']),"PcDisconnect")==0 \ - and cmp(str(xmlDict['j:job-faxpcsendstatus-pagestatus-state']),"Error")== 0): + elif(cmp(xmlDict['j:job-faxpcsendstatus-faxtxerrorstatus'],"PcDisconnect")==0 \ + and cmp(xmlDict['j:job-faxpcsendstatus-pagestatus-state'],"Error")== 0): state = FAX_SEND_STATE_ERROR Fax_send_state = STATUS_ERROR_PROBLEM_IN_FAXLINE - elif(cmp(str(xmlDict['j:job-faxpcsendstatus-faxtxerrorstatus']),"Stop")==0 \ - and cmp(str(xmlDict['j:job-faxpcsendstatus-pagestatus-state']),"Error")== 0): + elif(cmp(xmlDict['j:job-faxpcsendstatus-faxtxerrorstatus'],"Stop")==0 \ + and cmp(xmlDict['j:job-faxpcsendstatus-pagestatus-state'],"Error")== 0): state = FAX_SEND_STATE_ERROR Fax_send_state = STATUS_JOB_CANCEL - elif(cmp(str(xmlDict['j:job-faxpcsendstatus-faxtxmachinestatus']),"Transmitting")== 0): + elif(cmp(xmlDict['j:job-faxpcsendstatus-faxtxmachinestatus'],"Transmitting")== 0): state = FAX_SEND_STATE_SUCCESS Fax_send_state = FAX_SEND_STATE_SUCCESS return state,Fax_send_state diff -Nru hplip-3.14.6/fax/ledmsoapfax.py hplip-3.15.2/fax/ledmsoapfax.py --- hplip-3.14.6/fax/ledmsoapfax.py 2014-06-03 06:33:06.000000000 +0000 +++ hplip-3.15.2/fax/ledmsoapfax.py 2015-01-29 12:20:35.000000000 +0000 @@ -19,24 +19,23 @@ # Author: Don Welch # -from __future__ import division + # Std Lib import sys import os import time -import cStringIO -import urllib # TODO: Replace with urllib2 (urllib is deprecated in Python 3.0) +from base.sixext import BytesIO import re # Local from base.g import * from base.codes import * from base import device, utils, codes, dime -from fax import * -from ledmfax import * -from soapfax import SOAPFaxSendThread -from soapfax import SOAPFaxDevice +from .fax import * +from .ledmfax import * +from .soapfax import SOAPFaxSendThread +from .soapfax import SOAPFaxDevice # **************************************************************************** # @@ -61,16 +60,16 @@ Host: %s\r Content-length: %d\r \r -%s""" % (url, str(self.http_host), len(post), post) +%s""" % (url, self.http_host, len(post), post) log.log_data(data) - self.writeEWS_LEDM(data) - response = cStringIO.StringIO() + self.writeEWS_LEDM(data.encode('utf-8')) + response = BytesIO() while self.readEWS_LEDM(4096, response, timeout=5): pass response = response.getvalue() - log.log_data(response) + log.log_data(response.decode('utf-8')) self.closeEWS_LEDM() match = http_result_pat.match(response) @@ -97,7 +96,7 @@ def setStationName(self, name): try: - xml = setStationNameXML %(name.encode('utf-8')) + xml = setStationNameXML %name except(UnicodeEncodeError, UnicodeDecodeError): log.error("Unicode Error") diff -Nru hplip-3.14.6/fax/marvellfax.py hplip-3.15.2/fax/marvellfax.py --- hplip-3.14.6/fax/marvellfax.py 2014-06-03 06:33:06.000000000 +0000 +++ hplip-3.15.2/fax/marvellfax.py 2015-01-29 12:20:35.000000000 +0000 @@ -26,8 +26,7 @@ import struct import time import threading -import cStringIO - +from io import BytesIO #TBD check whether this requires base.six ... from stat import * # Local @@ -35,7 +34,7 @@ from base.codes import * from base import device, utils, pml, codes from prnt import cups -from fax import * +from .fax import * import hpmudext try: @@ -46,7 +45,9 @@ log.error("Marvell fax support requires python-ctypes module. Exiting!") sys.exit(1) - +if sys.version_info[0] == 2 and sys.version_info[1] < 7: + memoryview = buffer + # **************************************************************************** # # Marvell Message Types START_FAX_JOB = 0 @@ -109,7 +110,7 @@ sys.exit(1) else: self.libfax_marvell = cdll.LoadLibrary(lib_name) - except Error, e: + except Error as e: log.error("Loading fax_marvell failed (%s)\n" % e.msg); sys.exit(1) @@ -124,8 +125,11 @@ i_buf = int_array_8(0, 0, 0, 0, 0, 0, 0, 0) result = self.libfax_marvell.create_packet(msg_type, param1, param2, status, data_len, byref(i_buf)) - buf = buffer(i_buf) - log.log_data(buf, 32) + buf = memoryview(i_buf) + try: + log.log_data(buf.tobytes(), 32) + except: + log.log_data(buf, 32) # For Python 2.6 self.writeMarvellFax(buf) # self.closeMarvellFax() @@ -136,7 +140,7 @@ # Reads the response from device, and sends the data read to the caller of this method # No Marvell specific code or info def read_response_for_message(self, msg_type): - ret_buf = cStringIO.StringIO() + ret_buf = BytesIO() while self.readMarvellFax(32, ret_buf, timeout=10): pass @@ -152,7 +156,7 @@ def setPhoneNum(self, num): log.debug("************************* setPhoneNum (%s) START **************************" % num) - set_buf = cStringIO.StringIO() + set_buf = BytesIO() int_array = c_int * 8 i_buf = int_array(0, 0, 0, 0, 0, 0, 0, 0) @@ -170,20 +174,26 @@ result = self.libfax_marvell.create_packet(SET_FAX_SETTINGS, 0, 0, 0, 0, byref(i_buf)) result = self.libfax_marvell.create_fax_settings_packet(self.station_name, str(num), date_buf, byref(c_buf)) - msg_buf = buffer(i_buf) - msg_c_buf = buffer(c_buf) + msg_buf = memoryview(i_buf) + msg_c_buf = memoryview(c_buf) for i in range(0, 32): - set_buf.write(msg_buf[i]) + try: + set_buf.write(str(msg_buf.tobytes()[i]).encode('utf-8')) + except: + set_buf.write(str(msg_buf[i])) #For python 2.6 for i in range(0, 308): - set_buf.write(msg_c_buf[i]) + try: + set_buf.write(str(msg_c_buf.tobytes()[i]).encode('utf-8')) + except: + set_buf.write(msg_c_buf[i]) #For python 2.6 set_buf = set_buf.getvalue() log.debug("setPhoneNum: send SET_FAX_SETTINGS message and data ===> ") log.log_data(set_buf, 340) self.writeMarvellFax(set_buf) - ret_buf = cStringIO.StringIO() + ret_buf = BytesIO() while self.readMarvellFax(32, ret_buf, timeout=10): pass ret_buf = ret_buf.getvalue() @@ -202,13 +212,10 @@ ph_buf = int_array_8(0, 0, 0, 0, 0, 0, 0, 0) log.debug("******************** getPhoneNum START **********************") - result = self.libfax_marvell.create_packet(GET_FAX_SETTINGS, 0, 0, 0, 0, byref(i_buf)) - - buf = buffer(i_buf) + buf = memoryview(i_buf) self.writeMarvellFax(buf) - #self.closeMarvellFax() - ret_buf = cStringIO.StringIO() + ret_buf = BytesIO() while self.readMarvellFax(512, ret_buf, timeout=10): pass ret_buf = ret_buf.getvalue() @@ -218,16 +225,19 @@ log.debug("create_packet: response is %d" % response) response = self.libfax_marvell.extract_phone_number(ret_buf, ph_buf) - ph_num_buf = cStringIO.StringIO() + ph_num_buf = BytesIO() for i in range(0, 7): if ph_buf[i]: - ph_num_buf.write(str(ph_buf[i])) + try: + ph_num_buf.write(str(ph_buf[i])) + except: + pass ph_num_buf = ph_num_buf.getvalue() log.debug("getPhoneNum: ph_num_buf=%s " % (ph_num_buf)) log.debug("******************** getPhoneNum END **********************") - return ph_num_buf + return str(ph_num_buf) # Note down the fax (phone) number @@ -241,7 +251,7 @@ int_array = c_int * 8 i_buf = int_array(0, 0, 0, 0, 0, 0, 0, 0) - set_buf = cStringIO.StringIO() + set_buf = BytesIO() char_array = c_char * 308 c_buf = char_array() @@ -256,23 +266,30 @@ result = self.libfax_marvell.create_packet(SET_FAX_SETTINGS, 0, 0, 0, 0, byref(i_buf)) try: - result = self.libfax_marvell.create_fax_settings_packet(name.encode('utf-8'), self.phone_num, date_buf, byref(c_buf)) + result = self.libfax_marvell.create_fax_settings_packet(name, self.phone_num, date_buf, byref(c_buf)) except(UnicodeEncodeError, UnicodeDecodeError): log.error("Unicode Error") - msg_buf = buffer(i_buf) - msg_c_buf = buffer(c_buf) + msg_buf = memoryview(i_buf) + msg_c_buf = memoryview(c_buf) for i in range(0, 32): - set_buf.write(msg_buf[i]) + try: + set_buf.write(str(msg_buf.tobytes()[i]).encode('utf-8')) + except: + set_buf.write(msg_buf[i]) #For python 2.6 for i in range(0, 308): - set_buf.write(msg_c_buf[i]) + try: + set_buf.write(str(msg_c_buf.tobytes()[i]).encode('utf-8')) + except: + set_buf.write(msg_c_buf[i]) #For python 2.6 set_buf = set_buf.getvalue() log.debug("setStationName: SET_FAX_SETTINGS message and data ===> ") log.log_data(set_buf, 340) self.writeMarvellFax(set_buf) - ret_buf = cStringIO.StringIO() + ret_buf = BytesIO() + while self.readMarvellFax(32, ret_buf, timeout=10): pass ret_buf = ret_buf.getvalue() @@ -294,11 +311,11 @@ result = self.libfax_marvell.create_packet(GET_FAX_SETTINGS, 0, 0, 0, 0, byref(i_buf)) - buf = buffer(i_buf) + buf = memoryview(i_buf) self.writeMarvellFax(buf) #self.closeMarvellFax() - ret_buf = cStringIO.StringIO() + ret_buf = BytesIO() while self.readMarvellFax(512, ret_buf, timeout=10): pass @@ -312,7 +329,7 @@ log.debug("getStationName: station_name=%s ; result is %d" % (st_buf.value, result)) log.debug("************************* getStationName END **************************") - return st_buf.value + return st_buf.value.decode('utf-8') # Note down the station-name @@ -331,8 +348,8 @@ log.debug("************************* setDateAndTime START **************************") c_buf = create_string_buffer(308) - set_buf = cStringIO.StringIO() - ret_buf = cStringIO.StringIO() + set_buf = BytesIO() + ret_buf = BytesIO() date_array = c_char * 15 date_buf = date_array() @@ -343,11 +360,15 @@ log.debug(date_buf) result = self.libfax_marvell.create_packet(SET_FAX_SETTINGS, 0, 0, 0, 0, byref(i_buf)) - result = self.libfax_marvell.create_fax_settings_packet(self.phone_num, self.station_name, date_buf, c_buf) +# TBD: Need to check.. create_marvell_faxsettings_pkt showing as not defined... +# result = create_marvell_faxsettings_pkt(self.phone_num, self.station_name, date_buf, c_buf) - msg_buf = buffer(i_buf) + msg_buf = memoryview(i_buf) for i in range(0, 31): - set_buf.write(msg_buf[i]) + try: + set_buf.write(msg_buf.tobytes()[i:i+1]) + except: + set_buf.write(msg_buf[i]) # For python 2.6 set_buf.write(c_buf.raw) set_buf = set_buf.getvalue() @@ -376,10 +397,10 @@ param1 = c_int(0) result = self.libfax_marvell.create_packet(REQUEST_FAX_STATUS, 0, 0, 0, 0, byref(i_buf)) - buf = buffer(i_buf) + buf = memoryview(i_buf) self.writeMarvellFax(buf) - ret_buf = cStringIO.StringIO() + ret_buf = BytesIO() while self.readMarvellFax(32, ret_buf, timeout=5): pass ret_buf = ret_buf.getvalue() @@ -488,7 +509,7 @@ try: try: self.dev.open() - except Error, e: + except Error as e: log.error("Unable to open device (%s)." % e.msg) state = STATE_ERROR else: @@ -518,7 +539,7 @@ state = STATE_COVER_PAGE try: - recipient = next_recipient.next() + recipient = next(next_recipient) self.write_queue((STATUS_SENDING_TO_RECIPIENT, 0, recipient['name'])) @@ -620,7 +641,7 @@ fax_send_state = FAX_SEND_STATE_NEXT_FILE try: self.dev.open() - except Error, e: + except Error as e: log.error("Unable to open device (%s)." % e.msg) fax_send_state = FAX_SEND_STATE_ERROR else: @@ -632,7 +653,7 @@ log.debug("%s State: Open device" % ("*"*20)) fax_send_state = FAX_SEND_STATE_CHECK_IDLE try: - fax_file = next_file.next() + fax_file = next(next_file) self.f = fax_file[0] log.debug("***** file name is : %s..." % self.f) except StopIteration: @@ -645,7 +666,7 @@ fax_send_state = FAX_SEND_STATE_START_JOB_REQUEST try: - ff = file(self.f, 'r') + ff = open(self.f, 'rb') except IOError: log.error("Unable to read fax file.") fax_send_state = FAX_SEND_STATE_ERROR @@ -661,7 +682,7 @@ magic, version, total_pages, hort_dpi, vert_dpi, page_size, \ resolution, encoding, reserved1, reserved2 = self.decode_fax_header(header) - if magic != 'hplip_g3': + if magic != b'hplip_g3': log.error("Invalid file header. Bad magic.") fax_send_state = FAX_SEND_STATE_ERROR else: @@ -716,7 +737,7 @@ fax_send_state = FAX_SEND_STATE_SEND_FAX_HEADER c_buf = create_string_buffer(68) - set_buf = cStringIO.StringIO() + set_buf = BytesIO() no_data = None ret_val = self.dev.libfax_marvell.create_job_settings_packet(no_data, rec_num, c_buf) @@ -735,7 +756,7 @@ log.debug("%s State: Send pages" % ("*"*20)) fax_send_state = FAX_SEND_STATE_END_FILE_DATA current_state = SUCCESS - page = StringIO() + page = BytesIO() file_len = os.stat(self.f)[ST_SIZE] bytes_to_read = file_len - FILE_HEADER_SIZE - (PAGE_HEADER_SIZE*total_pages) diff -Nru hplip-3.14.6/fax/pmlfax.py hplip-3.15.2/fax/pmlfax.py --- hplip-3.14.6/fax/pmlfax.py 2014-06-03 06:33:06.000000000 +0000 +++ hplip-3.15.2/fax/pmlfax.py 2015-01-29 12:20:35.000000000 +0000 @@ -26,13 +26,14 @@ import struct import time import threading - +from base.sixext.moves import StringIO +from io import BytesIO # Local from base.g import * from base.codes import * from base import device, utils, pml, codes from prnt import cups -from fax import * +from .fax import * # **************************************************************************** # @@ -141,28 +142,32 @@ return self.setPML(pml.OID_FAX_LOCAL_PHONE_NUM, str(num)) def getPhoneNum(self): - return utils.printable(str(self.getPML(pml.OID_FAX_LOCAL_PHONE_NUM)[1])) - + if PY3: + data = utils.printable(self.getPML(pml.OID_FAX_LOCAL_PHONE_NUM)[1].encode('utf-8')) + return data.decode('utf-8') + else: + return utils.printable(self.getPML(pml.OID_FAX_LOCAL_PHONE_NUM)[1]) phone_num = property(getPhoneNum, setPhoneNum, doc="OID_FAX_LOCAL_PHONE_NUM") def setStationName(self, name): - try: - name = name.encode('utf-8') - except(UnicodeEncodeError, UnicodeDecodeError): - log.error("Unicode Error") return self.setPML(pml.OID_FAX_STATION_NAME, name) def getStationName(self): - return utils.printable(str(self.getPML(pml.OID_FAX_STATION_NAME)[1])) + if PY3: + data = utils.printable(self.getPML(pml.OID_FAX_STATION_NAME)[1].encode('utf-8')) + return data.decode('utf-8') + else: + return utils.printable(self.getPML(pml.OID_FAX_STATION_NAME)[1]) station_name = property(getStationName, setStationName, doc="OID_FAX_STATION_NAME") - def setDateAndTime(self): - t = time.localtime() - p = struct.pack("BBBBBBB", t[0]-2000, t[1], t[2], t[6]+1, t[3], t[4], t[5]) - log.debug(repr(p)) - return self.setPML(pml.OID_DATE_AND_TIME, p) + def setDateAndTime(self): #Need Revisit + pass + #t = time.localtime() + #p = struct.pack("BBBBBBB", t[0]-2000, t[1], t[2], t[6]+1, t[3], t[4], t[5]) + #log.debug(repr(p)) + #return self.setPML(pml.OID_DATE_AND_TIME, p.decode('latin-1')) def uploadLog(self): if not self.isUloadLogActive(): @@ -236,7 +241,7 @@ state = STATE_REQUEST_START try: self.dev.open() - except Error, e: + except Error as e: log.error("Unable to open device (%s)." % e.msg) state = STATE_ERROR else: @@ -360,7 +365,7 @@ try: try: self.dev.open() - except Error, e: + except Error as e: log.error("Unable to open device (%s)." % e.msg) state = STATE_ERROR else: @@ -392,7 +397,7 @@ state = STATE_COVER_PAGE try: - recipient = next_recipient.next() + recipient = next(next_recipient) #print recipient log.debug("Processing for recipient %s" % recipient['name']) @@ -494,7 +499,7 @@ fax_send_state = FAX_SEND_STATE_SET_TOKEN try: self.dev.open() - except Error, e: + except Error as e: log.error("Unable to open device (%s)." % e.msg) fax_send_state = FAX_SEND_STATE_ERROR else: @@ -538,7 +543,7 @@ log.debug("Opening fax channel.") try: self.dev.openFax() - except Error, e: + except Error as e: log.error("Unable to open channel (%s)." % e.msg) fax_send_state = FAX_SEND_STATE_ERROR else: @@ -622,7 +627,7 @@ self.dev.setPML(pml.OID_FAXJOB_TX_TYPE, pml.FAXJOB_TX_TYPE_HOST_ONLY) log.debug("Setting date and time on device.") self.dev.setDateAndTime() - except Error, e: + except Error as e: log.error("PML/SNMP error (%s)" % e.msg) fax_send_state = FAX_SEND_STATE_ERROR @@ -668,7 +673,7 @@ fax_send_state = FAX_SEND_STATE_SEND_PAGES try: - ff = file(self.f, 'r') + ff = open(self.f, 'rb') except IOError: log.error("Unable to read fax file.") fax_send_state = FAX_SEND_STATE_ERROR @@ -684,7 +689,7 @@ magic, version, total_pages, hort_dpi, vert_dpi, page_size, \ resolution, encoding, reserved1, reserved2 = self.decode_fax_header(header) - if magic != 'hplip_g3': + if magic != b'hplip_g3': log.error("Invalid file header. Bad magic.") fax_send_state = FAX_SEND_STATE_ERROR else: @@ -705,7 +710,7 @@ elif fax_send_state == FAX_SEND_STATE_SEND_PAGES: # --------------------------------- Send fax pages state machine (110, 130, 0) log.debug("%s State: Send pages" % ("*"*20)) fax_send_state = FAX_SEND_STATE_SEND_END_OF_STREAM - page = StringIO() + page = BytesIO() for p in range(total_pages): @@ -763,7 +768,7 @@ fax_send_state = FAX_SEND_STATE_ABORT break - if data == '': + if data == b'': self.create_eop_record(rpp) try: @@ -1020,7 +1025,7 @@ def create_mfpdtf_fax_header(self, total_pages): self.stream.write(struct.pack(" 12: hr -= 12 - post = {"DateFormat" : dateformat, - "Year" : t[0], - "Month" : t[1], - "Day" : t[2], - "TimeFormat" : timeformat, - "Hour" : hr, - "Minute" : t[4]} + post = {"DateFormat" : str(dateformat), + "Year" : str(t[0]), + "Month" : str(t[1]), + "Day" : str(t[2]), + "TimeFormat" : str(timeformat), + "Hour" : str(hr), + "Minute" : str(t[4])} if timeformat == TIME_FORMAT_AM_PM: - post['AM'] = am_pm + post['AM'] = str(am_pm) return self.post("/hp/device/set_config.html", post) @@ -297,7 +300,7 @@ try: try: self.dev.open() - except Error, e: + except Error as e: log.error("Unable to open device (%s)." % e.msg) state = STATE_ERROR else: @@ -327,7 +330,7 @@ state = STATE_COVER_PAGE try: - recipient = next_recipient.next() + recipient = next(next_recipient) log.debug("Processing for recipient %s" % recipient['name']) self.write_queue((STATUS_SENDING_TO_RECIPIENT, 0, recipient['name'])) except StopIteration: @@ -413,7 +416,7 @@ fax_send_state = FAX_SEND_STATE_BEGINJOB try: self.dev.open() - except Error, e: + except Error as e: log.error("Unable to open device (%s)." % e.msg) fax_send_state = FAX_SEND_STATE_ERROR else: @@ -424,7 +427,7 @@ log.debug("%s State: BeginJob" % ("*"*20)) try: - ff = file(self.f, 'r') + ff = open(self.f, 'rb') except IOError: log.error("Unable to read fax file.") fax_send_state = FAX_SEND_STATE_ERROR @@ -440,7 +443,7 @@ magic, version, total_pages, hort_dpi, vert_dpi, page_size, \ resolution, encoding, reserved1, reserved2 = self.decode_fax_header(header) - if magic != 'hplip_g3': + if magic != b'hplip_g3': log.error("Invalid file header. Bad magic.") fax_send_state = FAX_SEND_STATE_ERROR else: @@ -450,7 +453,7 @@ job_id = self.job_id delay = 0 - faxnum = recipient['fax'].encode('ascii') + faxnum = recipient['fax'] speeddial = 0 if resolution == RESOLUTION_STD: @@ -463,15 +466,15 @@ soap = utils.cat( """$job_id$res$delay$faxnum$speeddial""") - data = self.format_http(soap) + data = self.format_http(soap.encode('utf-8')) + log.log_data(data) if log.is_debug(): - file('beginjob.log', 'w').write(data) - + open('beginjob.log', 'wb').write(data) self.dev.openSoapFax() self.dev.writeSoapFax(data) - ret = cStringIO.StringIO() + ret = BytesIO() while self.dev.readSoapFax(8192, ret, timeout=5): pass @@ -479,12 +482,11 @@ ret = ret.getvalue() if log.is_debug(): - file('beginjob_ret.log', 'w').write(ret) - + open('beginjob_ret.log', 'wb').write(ret) log.log_data(ret) self.dev.closeSoapFax() - if self.get_error_code(ret) == HTTP_OK: + if self.get_error_code(ret.decode('utf-8')) == HTTP_OK: fax_send_state = FAX_SEND_STATE_DOWNLOADPAGES else: fax_send_state = FAX_SEND_STATE_ERROR @@ -492,7 +494,7 @@ elif fax_send_state == FAX_SEND_STATE_DOWNLOADPAGES: # -------------- DownloadPages (110, 60, 0) log.debug("%s State: DownloadPages" % ("*"*20)) - page = StringIO() + page = BytesIO() for p in range(total_pages): if self.check_for_cancel(): @@ -528,7 +530,7 @@ fax_send_state = FAX_SEND_STATE_ERROR break - if data == '': + if data == b'': log.error("No data!") fax_send_state = FAX_SEND_STATE_ERROR break @@ -540,24 +542,23 @@ """$job_id$height""") m = dime.Message() - m.add_record(dime.Record("cid:id0", "http://schemas.xmlsoap.org/soap/envelope/", - dime.TYPE_T_URI, soap)) + m.add_record(dime.Record(b"cid:id0", b"http://schemas.xmlsoap.org/soap/envelope/", + dime.TYPE_T_URI, to_bytes_utf8(soap))) - m.add_record(dime.Record("", "image/g4fax", dime.TYPE_T_MIME, data)) + m.add_record(dime.Record(b"", b"image/g4fax", dime.TYPE_T_MIME, data)) - output = cStringIO.StringIO() + output = BytesIO() m.generate(output) data = self.format_http(output.getvalue(), content_type="application/dime") log.log_data(data) if log.is_debug(): - file('downloadpages%d.log' % p, 'w').write(data) - + open('downloadpages%d.log' % p, 'wb').write(data) try: self.dev.writeSoapFax(data) except Error: fax_send_state = FAX_SEND_STATE_ERROR - ret = cStringIO.StringIO() + ret = BytesIO() try: while self.dev.readSoapFax(8192, ret, timeout=5): @@ -568,12 +569,12 @@ ret = ret.getvalue() if log.is_debug(): - file('downloadpages%d_ret.log' % p, 'w').write(ret) + open('downloadpages%d_ret.log' % p, 'wb').write(ret) log.log_data(ret) self.dev.closeSoapFax() - if self.get_error_code(ret) != HTTP_OK: + if self.get_error_code(ret.decode('utf-8')) != HTTP_OK: fax_send_state = FAX_SEND_STATE_ERROR break @@ -592,15 +593,15 @@ soap = utils.cat( """$job_id$job_id""") - data = self.format_http(soap) + data = self.format_http(soap.encode('utf-8')) log.log_data(data) if log.is_debug(): - file('endjob.log', 'w').write(data) + open('endjob.log', 'wb').write(data) self.dev.writeSoapFax(data) - ret = cStringIO.StringIO() + ret = BytesIO() while self.dev.readSoapFax(8192, ret, timeout=5): pass @@ -608,12 +609,12 @@ ret = ret.getvalue() if log.is_debug(): - file('endjob_ret.log', 'w').write(ret) + open('endjob_ret.log', 'wb').write(ret) log.log_data(ret) self.dev.closeSoapFax() - if self.get_error_code(ret) == HTTP_OK: + if self.get_error_code(ret.decode('utf-8')) == HTTP_OK: fax_send_state = FAX_SEND_STATE_SUCCESS else: fax_send_state = FAX_SEND_STATE_ERROR @@ -626,15 +627,15 @@ soap = utils.cat( """$job_id$job_id""") - data = self.format_http(soap) + data = self.format_http(soap.encode('utf-8')) log.log_data(data) if log.is_debug(): - file('canceljob.log', 'w').write(data) + open('canceljob.log', 'wb').write(data) self.dev.writeSoapFax(data) - ret = cStringIO.StringIO() + ret = BytesIO() while self.dev.readSoapFax(8192, ret, timeout=5): pass @@ -642,12 +643,12 @@ ret = ret.getvalue() if log.is_debug(): - file('canceljob_ret.log', 'w').write(ret) + open('canceljob_ret.log', 'wb').write(ret) log.log_data(ret) self.dev.closeSoapFax() - if self.get_error_code(ret) == HTTP_OK: + if self.get_error_code(ret.decode('utf-8')) == HTTP_OK: fax_send_state = FAX_SEND_STATE_CLOSE_SESSION else: fax_send_state = FAX_SEND_STATE_ERROR @@ -707,7 +708,7 @@ host = self.http_host soap_len = len(soap) - return utils.cat( + return (utils.cat( """POST / HTTP/1.1\r Host: $host\r User-Agent: hplip/2.0\r @@ -715,8 +716,7 @@ Content-Length: $soap_len\r Connection: close\r SOAPAction: ""\r -\r -$soap""") +\r\n""")).encode('utf-8') + soap diff -Nru hplip-3.14.6/faxsetup.py hplip-3.15.2/faxsetup.py --- hplip-3.14.6/faxsetup.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/faxsetup.py 2015-01-29 12:20:49.000000000 +0000 @@ -54,7 +54,6 @@ filter={'fax-type': (operator.gt, 0)}) if device_uri is None: - log.error("Device doesn't support FAX functionality") sys.exit(1) if not utils.canEnterGUIMode4(): @@ -69,7 +68,6 @@ sys.exit(1) app = QApplication(sys.argv) - dlg = FaxSetupDialog(None, device_uri) dlg.show() try: diff -Nru hplip-3.14.6/firmware.py hplip-3.15.2/firmware.py --- hplip-3.14.6/firmware.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/firmware.py 2015-01-29 12:20:49.000000000 +0000 @@ -50,9 +50,6 @@ ("Seconds to delay before download:", "-y or --delay= (float value, e.g. 0.5)", "option", False)], see_also_list=['hp-plugin', 'hp-toolbox']) - opts, device_uri, printer_name, mode, ui_toolkit, lang = \ - mod.parseStdOpts('y:s:', ['delay=']) - device_uri = None printer_name = None usb_bus_node = None @@ -61,6 +58,9 @@ silent = False delay = 0.0 + opts, device_uri, printer_name, mode, ui_toolkit, lang = \ + mod.parseStdOpts('y:s:', ['delay=']) + for o, a in opts: if o == '-s': silent = True @@ -125,9 +125,8 @@ device_uri = mod.getDeviceUri(device_uri, printer_name, filter={'fw-download': (operator.gt, 0)}) - if 1: + if device_uri: app = QApplication(sys.argv) - dialog = FirmwareDialog(None, device_uri) dialog.show() try: @@ -138,7 +137,7 @@ dialog.exec_loop() except KeyboardInterrupt: sys.exit(0) - + sys.exit(0) mod.showTitle() @@ -155,6 +154,9 @@ device_uri = mod.getDeviceUri(device_uri, printer_name, filter={'fw-download': (operator.gt, 0)}) + if not device_uri: + sys.exit(1) + try: d = device.Device(device_uri, printer_name) except Error: @@ -168,7 +170,7 @@ try: d.open() d.queryModel() - except Error, e: + except Error as e: log.error("Error opening device (%s). Exiting." % e.msg) sys.exit(1) diff -Nru hplip-3.14.6/foomatic_drv.inc hplip-3.15.2/foomatic_drv.inc --- hplip-3.14.6/foomatic_drv.inc 2014-06-03 06:33:52.000000000 +0000 +++ hplip-3.15.2/foomatic_drv.inc 2015-01-29 12:21:19.000000000 +0000 @@ -180,6 +180,7 @@ ppd/hpijs/hp-laserjet_m9050_mfp-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-color_laserjet_4550-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-deskjet_f4500_series-hpijs.ppd.gz \ + ppd/hpijs/hp-envy_7640_series-hpijs.ppd.gz \ ppd/hpijs/hp-photosmart_a440_series-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_h470-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_f300_series-hpijs.ppd.gz \ @@ -281,12 +282,14 @@ ppd/hpijs/hp-laserjet_cp_1025-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_m1319f_mfp-hpijs.ppd.gz \ ppd/hpijs/hp-business_inkjet_1000-hpijs.ppd.gz \ + ppd/hpijs/hp-officejet_6800-hpijs.ppd.gz \ ppd/hpijs/hp-photosmart_d5400_series-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_cm1415fnw-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-color_laserjet_5-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_p4015tn-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_5652-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_m5035_mfp-hpijs-pcl3.ppd.gz \ + ppd/hpijs/hp-envy_5660_series-hpijs.ppd.gz \ ppd/hpijs/hp-photosmart_c7200_series-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_pro_mfp_m126a-hpijs.ppd.gz \ ppd/hpijs/hp-psc_950xi-hpijs.ppd.gz \ @@ -303,6 +306,7 @@ ppd/hpijs/hp-deskjet_5520_series-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_2200_series-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_3819-hpijs.ppd.gz \ + ppd/hpijs/hp-officejet_pro_6230-hpijs.ppd.gz \ ppd/hpijs/hp-psc_750-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_1600cn-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_4200_series-hpijs.ppd.gz \ @@ -322,6 +326,7 @@ ppd/hpijs/hp-photosmart_c5100_series-hpijs.ppd.gz \ ppd/hpijs/hp-color_laserjet_cp1215-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_p2055x-hpijs-pcl3.ppd.gz \ + ppd/hpijs/hp-officejet_pro_6830-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_professional_p1569-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_980c-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_3740-hpijs.ppd.gz \ @@ -469,13 +474,16 @@ ppd/hpijs/hp-laserjet_1300-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-officejet_g55xi-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_7000_e809a-hpijs.ppd.gz \ + ppd/hpijs/hp-officejet_5740_series-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_3390-hpijs-pcl3.ppd.gz \ + ppd/hpijs/hp-envy_5640_series-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_f735-hpijs.ppd.gz \ ppd/hpijs/hp-business_inkjet_2280-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-photosmart_230-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_d2400_series-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_845c-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_4350-hpijs-pcl3.ppd.gz \ + ppd/hpijs/hp-laserjet_pro_mfp_m125r-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_5110-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_4610_series-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_series_630-hpijs.ppd.gz \ @@ -550,6 +558,7 @@ ppd/hpijs/hp-laserjet_1300n-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-laserjet_9050_mfp-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-deskjet_660-hpijs.ppd.gz \ + ppd/hpijs/hp-officejet_8040_series-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_p2014n-hpijs-zxs.ppd.gz \ ppd/hpijs/hp-officejet_6600-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_professional_m1139_mfp-hpijs.ppd.gz \ @@ -686,6 +695,7 @@ ppd/hpijs/hp-deskjet_d1600_series-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_5110v-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_professional_m1218nfg_mfp-hpijs.ppd.gz \ + ppd/hpijs/hp-laserjet_pro_mfp_m125ra-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_professional_p1106-hpijs.ppd.gz \ ppd/hpijs/hp-photosmart_7550-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_pro_8620-hpijs.ppd.gz \ @@ -766,6 +776,7 @@ prnt/ps/hp-laserjet_3300_3310_3320-ps.ppd.gz \ prnt/ps/hp-laserjet_100_color_mfp_m175-ps.ppd.gz \ prnt/ps/hp-color_laserjet_mfp_m680-ps.ppd.gz \ + prnt/ps/hp-laserjet_mfp_m630-ps.ppd.gz \ prnt/ps/hp-designjet_t920-postscript.ppd.gz \ prnt/ps/hp-laserjet_4100_series-ps.ppd.gz \ prnt/ps/hp-laserjet_pro_mfp_m435-ps.ppd.gz \ @@ -818,6 +829,7 @@ prnt/ps/hp-laserjet_m1522nf_mfp-ps.ppd.gz \ prnt/ps/hp-color_laserjet_4650-ps.ppd.gz \ prnt/ps/hp-designjet_t1120ps_44in-ps.ppd.gz \ + prnt/ps/hp-laserjet_pro_m201_m202-ps.ppd.gz \ prnt/ps/hp-laserjet_2430-ps.ppd.gz \ prnt/ps/hp-designjet_t1500-postscript.ppd.gz \ prnt/ps/hp-color_laserjet_4500-ps.ppd.gz \ @@ -889,6 +901,7 @@ prnt/ps/hp-laserjet_9040_mfp-ps.ppd.gz \ prnt/ps/hp-laserjet_2300-ps.ppd.gz \ prnt/ps/hp-laserjet_9000_series-ps.ppd.gz \ + prnt/ps/hp-laserjet_flow_mfp_m630-ps.ppd.gz \ prnt/ps/hp-color_laserjet_2830-ps.ppd.gz \ prnt/ps/hp-color_laserjet_flow_mfp_m880-ps.ppd.gz \ prnt/ps/hp-laserjet_500_color_mfp_m575-ps.ppd.gz \ @@ -957,6 +970,7 @@ prnt/ps/hp-designjet_z6200_42in_photo-ps.ppd.gz \ prnt/ps/hp-laserjet_1320n-ps.ppd.gz \ prnt/ps/hp-designjet_z6100ps_42in_photo-ps.ppd.gz \ + prnt/ps/hp-laserjet_pro_mfp_m225_m226-ps.ppd.gz \ prnt/ps/hp-color_laserjet_cp3505-ps.ppd.gz \ prnt/ps/hp-laserjet_2420-ps.ppd.gz \ prnt/ps/hp-laserjet_8000_series-ps.ppd.gz \ diff -Nru hplip-3.14.6/hpdio.py hplip-3.15.2/hpdio.py --- hplip-3.14.6/hpdio.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/hpdio.py 2015-01-29 12:20:49.000000000 +0000 @@ -31,14 +31,15 @@ import struct import os import time -import Queue +from base.sixext.moves import queue import select -from cPickle import dumps, HIGHEST_PROTOCOL +from pickle import dumps, HIGHEST_PROTOCOL # Local from base.g import * from base.codes import * from base import utils, device, status, models +from base.sixext import PY3 # dBus try: @@ -66,7 +67,7 @@ global r2, w3 # tmp_dir = '/tmp' - os.umask(0111) + os.umask(0o111) try: log.set_module("hp-systray(hpdio)") @@ -85,7 +86,7 @@ r, w, e = select.select([r2], [], [r2], 1.0) except KeyboardInterrupt: break - except select.error, e: + except select.error as e: if e[0] == errno.EINTR: continue else: @@ -93,19 +94,20 @@ if not r: continue if e: break - - m = ''.join([m, os.read(r2, fmt_size)]) - + m = os.read(r2, fmt_size) if not m: break while len(m) >= fmt_size: response.clear() - event = device.Event(*struct.unpack(fmt, m[:fmt_size])) + event = device.Event(*[x.rstrip(b'\x00').decode('utf-8') if isinstance(x, bytes) else x for x in struct.unpack(fmt, m[:fmt_size])]) m = m[fmt_size:] action = event.event_code - device_uri = event.device_uri + if PY3: + device_uri = event.device_uri + else: + device_uri = str(event.device_uri) log.debug("Handling event...") event.debug() @@ -125,7 +127,7 @@ try: #print "Device.open()" dev.open() - except Error, e: + except Error as e: log.error(e.msg) response = {'error-state': ERROR_STATE_ERROR, 'device-state': DEVICE_STATE_NOT_FOUND, @@ -139,7 +141,7 @@ #print "Device.queryDevice()" dev.queryDevice() - except Error, e: + except Error as e: log.error("Query device error (%s)." % e.msg) dev.error_state = ERROR_STATE_ERROR dev.status_code = EVENT_ERROR_DEVICE_IO_ERROR @@ -155,7 +157,7 @@ try: dev.pollDevice() - except Error, e: + except Error as e: log.error("Poll device error (%s)." % e.msg) dev.error_state = ERROR_STATE_ERROR diff -Nru hplip-3.14.6/hplip-install hplip-3.15.2/hplip-install --- hplip-3.14.6/hplip-install 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/hplip-install 2015-01-29 12:20:49.000000000 +0000 @@ -1,7 +1,11 @@ #!/bin/bash -python ./install.py -i $* - - - - - +MAJOR=`python -c 'import sys; print(sys.version_info[0])'` +MINOR=`python -c 'import sys; print(sys.version_info[1])'` +if [ "$MAJOR" -le 2 ] && [ "$MINOR" -lt 6 ];then + echo -e "\e[1;31mInstalled python version is ${MAJOR}.${MINOR}\e[0m" + echo -e "\e[1;31mThis installer cannot be run on python version < 2.6\e[0m" + echo -e "\e[1;31mPlease download the appropriate hplip version form www.hplipopensource.com\e[0m" + exit 0 +else + python ./install.py -i $* +fi diff -Nru hplip-3.14.6/hplip.list.in hplip-3.15.2/hplip.list.in --- hplip-3.14.6/hplip.list.in 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/hplip.list.in 2015-01-29 12:20:49.000000000 +0000 @@ -186,6 +186,8 @@ @epm_full@f 755 root root $home/hpssd.py hpssd.py @epm_full@d 775 root root $home/base - @epm_full@f 644 root root $home/base base/*.py +@epm_full@d 775 root root $home/base/pexpect - +@epm_full@f 644 root root $home/base/pexpect/__init__.py base/pexpect/__init__.py @epm_full@f 644 root root $home/hpaio.desc scan/sane/hpaio.desc @epm_full@f 755 root root $home/align.py align.py @epm_full@f 755 root root $home/timedate.py timedate.py diff -Nru hplip-3.14.6/hpssd.py hplip-3.15.2/hpssd.py --- hplip-3.14.6/hpssd.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/hpssd.py 2015-01-29 12:20:49.000000000 +0000 @@ -37,19 +37,26 @@ import tempfile #import threading #import Queue -from cPickle import loads, HIGHEST_PROTOCOL +from pickle import loads, HIGHEST_PROTOCOL # Local from base.g import * from base.codes import * from base import utils, device, status, models, module, services, os_utils - +from base.sixext import PY3 +from base.sixext import to_bytes_utf8 # dBus try: from dbus import lowlevel, SystemBus, SessionBus import dbus.service from dbus.mainloop.glib import DBusGMainLoop - from gobject import MainLoop, timeout_add, threads_init, io_add_watch, IO_IN + if PY3: + try: + from gi._gobject import MainLoop, timeout_add, threads_init, io_add_watch, IO_IN #python3-gi version: 3.4.0 + except: + from gi.repository.GLib import MainLoop, timeout_add, threads_init, io_add_watch, IO_IN #python3-gi version: 3.8.0 + else: + from gobject import MainLoop, timeout_add, threads_init, io_add_watch, IO_IN dbus_loaded = True except ImportError: log.error("dbus failed to load (python-dbus ver. 0.80+ required). Exiting...") @@ -124,7 +131,7 @@ else: t = {} dq = devices[device_uri].dq - [t.setdefault(x, str(dq[x])) for x in dq.keys()] + [t.setdefault(x, str(dq[x])) for x in list(dq.keys())] log.debug(t) return (device_uri, t) @@ -190,7 +197,7 @@ return self.check_for_waiting_fax_return(device_uri, username, job_id) else: # return any matching one from cache. call mult. times to get all. - for u, j in devices[device_uri].faxes.keys(): + for u, j in list(devices[device_uri].faxes.keys()): if u == username: return self.check_for_waiting_fax_return(device_uri, u, j) @@ -215,6 +222,9 @@ def check_device(device_uri): + if not PY3: + device_uri = str(device_uri) + try: devices[device_uri] except KeyError: @@ -319,7 +329,7 @@ # Qt4 only def handle_hpdio_event(event, bytes_written): log.debug("Reading %d bytes from hpdio pipe..." % bytes_written) - total_read, data = 0, '' + total_read, data = 0, to_bytes_utf8('') while True: r, w, e = select.select([r3], [], [r3], 0.0) @@ -328,7 +338,7 @@ x = os.read(r3, PIPE_BUF) if not x: break - data = ''.join([data, x]) + data = to_bytes_utf8('').join([data, x]) total_read += len(x) if total_read == bytes_written: break @@ -349,7 +359,7 @@ def handle_plugin_install(): child_process=os.fork() - if child_process== 0: # child process + if child_process== 0: # child process lockObj = utils.Sync_Lock("/tmp/pluginInstall.tmp") lockObj.acquire() child_pid=os.getpid() @@ -573,13 +583,13 @@ try: system_bus = SystemBus(mainloop=dbus_loop) - except dbus.exceptions.DBusException, e: + except dbus.exceptions.DBusException as e: log.error("Unable to connect to dbus system bus. Exiting.") sys.exit(1) try: session_bus = dbus.SessionBus() - except dbus.exceptions.DBusException, e: + except dbus.exceptions.DBusException as e: if os.getuid() != 0: log.error("Unable to connect to dbus session bus. Exiting.") sys.exit(1) diff -Nru hplip-3.14.6/info.py hplip-3.15.2/info.py --- hplip-3.14.6/info.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/info.py 2015-01-29 12:20:49.000000000 +0000 @@ -42,7 +42,7 @@ devid_mode = '--id' in sys.argv # hack if devid_mode: log.set_level("none") - restrict = False + mod = module.Module(__mod__, __title__, __version__, __doc__, None, (INTERACTIVE_MODE, GUI_MODE), (UI_TOOLKIT_QT4,), @@ -76,6 +76,9 @@ device_uri = mod.getDeviceUri(device_uri, printer_name, restrict_to_installed_devices=restrict) + if not device_uri: + sys.exit(1) + if mode in (INTERACTIVE_MODE, NON_INTERACTIVE_MODE): try: d = device.Device(device_uri, printer_name) @@ -92,7 +95,7 @@ try: d.open() d.queryDevice() - except Error, e: + except Error as e: log.error("Error opening device (%s)." % e.msg) #sys.exit(1) @@ -107,12 +110,12 @@ if devid_mode: try: if d.dq['deviceid']: - print(d.dq['deviceid']) + print((d.dq['deviceid'])) sys.exit(0) except KeyError: log.error("Device ID not available.") else: - dq_keys = d.dq.keys() + dq_keys = list(d.dq.keys()) dq_keys.sort() log.info(log.bold("Device Parameters (dynamic data):")) @@ -126,7 +129,7 @@ log.info(log.bold(formatter.compose(("Parameter", "Value(s)")))) log.info(formatter.compose(('-'*28, '-'*58))) - mq_keys = d.mq.keys() + mq_keys = list(d.mq.keys()) mq_keys.sort() for key in mq_keys: @@ -168,7 +171,6 @@ if 1: app = QApplication(sys.argv) - dlg = InfoDialog(None, device_uri) dlg.show() try: diff -Nru hplip-3.14.6/installer/core_install.py hplip-3.15.2/installer/core_install.py --- hplip-3.14.6/installer/core_install.py 2014-06-03 06:31:24.000000000 +0000 +++ hplip-3.15.2/installer/core_install.py 2015-01-29 12:20:24.000000000 +0000 @@ -1,3 +1,4 @@ +#!/usr/bin/env python # -*- coding: utf-8 -*- # # (c) Copyright 2003-2009 Hewlett-Packard Development Company, L.P. @@ -25,7 +26,6 @@ import os.path import re import time -import cStringIO import grp import pwd import tarfile @@ -45,14 +45,12 @@ return sha.new(s).hexdigest() -import urllib # TODO: Replace with urllib2 (urllib is deprecated in Python 3.0) - # Local from base.g import * from base.codes import * -from base import utils, pexpect, tui, password, services, os_utils -from dcheck import * +from base import utils, tui, password, services, os_utils +from .dcheck import * @@ -72,7 +70,8 @@ DEPENDENCY_COMPILE_TIME = 2 DEPENDENCY_RUN_AND_COMPILE_TIME = 3 - +DEPENDENCY_REQUIRED_INDEX = 0 +DEPENDENCY_DISPLAY_INDEX = 2 # Mapping from patterns to probability contribution of pattern # Example code from David Mertz' Text Processing in Python. @@ -144,6 +143,49 @@ } +EXTERNALDEP = 1 +GENERALDEP = 2 +COMPILEDEP = 3 +PYEXT = 4 +SCANCONF = 5 + +JPEG_STR = "libjpeg - JPEG library" +LIBTOOL_STR = "libtool - Library building support services" +CUPS_STR = "CUPS - Common Unix Printing System" +CUPS_DEV_STR = "CUPS devel- Common Unix Printing System development files" +CUPS_IMG_STR = "CUPS image - CUPS image development files" +GCC_STR = "gcc - GNU Project C and C++ Compiler" +MAKE_STR = "make - GNU make utility to maintain groups of programs" +THREAD_STR = "libpthread - POSIX threads library" +GS_STR = "GhostScript - PostScript and PDF language interpreter and previewer" +USB_STR = "libusb - USB library" +CUPS_DDK_STR = "CUPS DDK - CUPS driver development kit" +SANE_STR = "SANE - Scanning library" +SANE_DEV_STR = "SANE - Scanning library development files" +XSANE_STR = "xsane - Graphical scanner frontend for SANE" +SCANIMAGE_STR = "scanimage - Shell scanning program" +DBUS_STR = "DBus - Message bus system" +POLKIT_STR = "PolicyKit - Administrative policy framework" +SNMP_DEV_STR = "libnetsnmp-devel - SNMP networking library development files" +CRYPTO_STR = "libcrypto - OpenSSL cryptographic library" +NETWORK_STR = "network -wget" +AVAHI_STR = "avahi-utils" +PYTHON_STR = "Python 2.2 or greater - Python programming language" +PYNTF_STR = "Python libnotify - Python bindings for the libnotify Desktop notifications" +QT4DBUS_STR = "PyQt 4 DBus - DBus Support for PyQt4" +QT4_STR = "PyQt 4- Qt interface for Python (for Qt version 4.x)" +PYDBUS_STR = "Python DBus - Python bindings for DBus" +PYXML_STR = "Python XML libraries" +PY_DEV_STR = "Python devel - Python development files" +PIL_STR = "PIL - Python Imaging Library (required for commandline scanning with hp-scan)" +REPORTLAB_STR = "Reportlab - PDF library for Python" +CUPSEXT_STR = 'CUPS-Extension' +HPMUDEXT_STR = 'IO-Extension' +HPAIO_STR = 'HPLIP-SANE-Backend' +SCANEXT_STR = 'Scan-SANE-Extension' +QT_STR = "Python-Qt" + + try: from functools import update_wrapper except ImportError: # using Python version < 2.5 @@ -167,7 +209,7 @@ class CoreInstall(object): def __init__(self, mode=MODE_INSTALLER, ui_mode=INTERACTIVE_MODE, ui_toolkit='qt4'): - os.umask(0022) + os.umask(0o022) self.mode = mode self.ui_mode = ui_mode self.passwordObj = password.Password(ui_mode) @@ -280,55 +322,98 @@ # Note: any change to the list of dependencies must be reflected in base/distros.py self.dependencies = { # Required base packages - 'libjpeg': (True, ['base'], "libjpeg - JPEG library", self.check_libjpeg, DEPENDENCY_RUN_AND_COMPILE_TIME), - 'libtool': (True, ['base'], "libtool - Library building support services", self.check_libtool, DEPENDENCY_COMPILE_TIME), - 'cups' : (True, ['base'], 'CUPS - Common Unix Printing System', self.check_cups, DEPENDENCY_RUN_TIME), - 'cups-devel': (True, ['base'], 'CUPS devel- Common Unix Printing System development files', self.check_cups_devel, DEPENDENCY_COMPILE_TIME), - 'cups-image': (True, ['base'], "CUPS image - CUPS image development files", self.check_cups_image, DEPENDENCY_COMPILE_TIME), - 'gcc' : (True, ['base'], 'gcc - GNU Project C and C++ Compiler', self.check_gcc, DEPENDENCY_COMPILE_TIME), - 'make' : (True, ['base'], "make - GNU make utility to maintain groups of programs", self.check_make, DEPENDENCY_COMPILE_TIME), - 'python-devel' : (True, ['base'], "Python devel - Python development files", self.check_python_devel, DEPENDENCY_COMPILE_TIME), - 'libpthread' : (True, ['base'], "libpthread - POSIX threads library", self.check_libpthread, DEPENDENCY_RUN_AND_COMPILE_TIME), - 'python2x': (True, ['base'], "Python 2.2 or greater - Python programming language", self.check_python2x, DEPENDENCY_RUN_AND_COMPILE_TIME), - 'python-xml' : (True, ['base'], "Python XML libraries", self.check_python_xml, DEPENDENCY_RUN_TIME), - 'gs': (True, ['base'], "GhostScript - PostScript and PDF language interpreter and previewer", self.check_gs, DEPENDENCY_RUN_TIME), - 'libusb': (True, ['base'], "libusb - USB library", self.check_libusb, DEPENDENCY_RUN_AND_COMPILE_TIME), + 'libjpeg': (True, ['base'], JPEG_STR, self.check_libjpeg, DEPENDENCY_RUN_AND_COMPILE_TIME,'-',None, GENERALDEP), + 'libtool': (True, ['base'], LIBTOOL_STR, self.check_libtool, DEPENDENCY_COMPILE_TIME,'-','libtool --version',COMPILEDEP), + 'cups' : (True, ['base'], CUPS_STR, self.check_cups, DEPENDENCY_RUN_TIME,'1.1','cups-config --version', EXTERNALDEP), + 'cups-devel': (True, ['base'], CUPS_DEV_STR, self.check_cups_devel, DEPENDENCY_COMPILE_TIME,'-','cups-config --version', GENERALDEP), + 'cups-image': (True, ['base'], CUPS_IMG_STR, self.check_cups_image, DEPENDENCY_COMPILE_TIME,'-','cups-config --version', GENERALDEP), + 'gcc' : (True, ['base'], GCC_STR, self.check_gcc, DEPENDENCY_COMPILE_TIME, '-','gcc --version',COMPILEDEP), + 'make' : (True, ['base'], MAKE_STR, self.check_make, DEPENDENCY_COMPILE_TIME,'3.0','make --version',COMPILEDEP), + 'libpthread' : (True, ['base'], THREAD_STR, self.check_libpthread, DEPENDENCY_RUN_AND_COMPILE_TIME, '-','FUNC#get_libpthread_version', GENERALDEP), + 'gs': (True, ['base'], GS_STR, self.check_gs, DEPENDENCY_RUN_TIME, '7.05','gs --version', EXTERNALDEP), + 'libusb': (True, ['base'], USB_STR, self.check_libusb, DEPENDENCY_RUN_AND_COMPILE_TIME, '-','FUNC#get_libusb_version', GENERALDEP), # Optional base packages - 'cups-ddk': (False, ['base'], "CUPS DDK - CUPS driver development kit", self.check_cupsddk, DEPENDENCY_RUN_TIME), # req. for .drv PPD installs + 'cups-ddk': (False, ['base'], CUPS_DDK_STR, self.check_cupsddk, DEPENDENCY_RUN_TIME,'-',None, GENERALDEP), # req. for .drv PPD installs # Required scan packages - 'sane': (True, ['scan'], "SANE - Scanning library", self.check_sane, DEPENDENCY_RUN_TIME), - 'sane-devel' : (True, ['scan'], "SANE - Scanning library development files", self.check_sane_devel, DEPENDENCY_COMPILE_TIME), + 'sane': (True, ['scan'], SANE_STR, self.check_sane, DEPENDENCY_RUN_TIME,'-','sane-config --version',GENERALDEP), + 'sane-devel' : (True, ['scan'], SANE_DEV_STR, self.check_sane_devel, DEPENDENCY_COMPILE_TIME,'-','sane-config --version',GENERALDEP), # Optional scan packages - 'xsane': (False, ['scan'], "xsane - Graphical scanner frontend for SANE", self.check_xsane, DEPENDENCY_RUN_TIME), - 'scanimage': (False, ['scan'], "scanimage - Shell scanning program", self.check_scanimage, DEPENDENCY_RUN_TIME), - 'pil': (False, ['scan'], "PIL - Python Imaging Library (required for commandline scanning with hp-scan)", self.check_pil, DEPENDENCY_RUN_TIME), + 'xsane': (False, ['scan'], XSANE_STR, self.check_xsane, DEPENDENCY_RUN_TIME,'0.9','FUNC#get_xsane_version', EXTERNALDEP), + 'scanimage': (False, ['scan'], SCANIMAGE_STR, self.check_scanimage, DEPENDENCY_RUN_TIME, '1.0','scanimage --version', EXTERNALDEP), # Required fax packages - 'python23': (True, ['fax'], "Python 2.3 or greater - Required for fax functionality", self.check_python23, DEPENDENCY_RUN_TIME), - 'dbus': (True, ['fax'], "DBus - Message bus system", self.check_dbus, DEPENDENCY_RUN_AND_COMPILE_TIME), - 'python-dbus': (True, ['fax'], "Python DBus - Python bindings for DBus", self.check_python_dbus, DEPENDENCY_RUN_TIME), - - # Optional fax packages - 'reportlab': (False, ['fax'], "Reportlab - PDF library for Python", self.check_reportlab, DEPENDENCY_RUN_TIME), + 'dbus': (True, ['fax'], DBUS_STR, self.check_dbus, DEPENDENCY_RUN_AND_COMPILE_TIME, '-','dbus-daemon --version', EXTERNALDEP), # Required and optional qt4 GUI packages - 'pyqt4': (True, ['gui_qt4'], "PyQt 4- Qt interface for Python (for Qt version 4.x)", self.check_pyqt4, DEPENDENCY_RUN_TIME), # PyQt 4.x ) - 'pyqt4-dbus' : (True, ['gui_qt4'], "PyQt 4 DBus - DBus Support for PyQt4", self.check_pyqt4_dbus, DEPENDENCY_RUN_TIME), - 'policykit': (False, ['gui_qt4'], "PolicyKit - Administrative policy framework", self.check_policykit, DEPENDENCY_RUN_TIME), # optional for non-sudo behavior of plugins (only optional for Qt4 option) - 'python-notify' : (False, ['gui_qt4'], "Python libnotify - Python bindings for the libnotify Desktop notifications", self.check_pynotify, DEPENDENCY_RUN_TIME), # Optional for libnotify style popups from hp-systray + 'policykit': (False, ['gui_qt4'], POLKIT_STR, self.check_policykit, DEPENDENCY_RUN_TIME,'-','pkexec --version', EXTERNALDEP), # optional for non-sudo behavior of plugins (only optional for Qt4 option) # Required network I/O packages - 'libnetsnmp-devel': (True, ['network'], "libnetsnmp-devel - SNMP networking library development files", self.check_libnetsnmp, DEPENDENCY_RUN_AND_COMPILE_TIME), - 'libcrypto': (True, ['network'], "libcrypto - OpenSSL cryptographic library", self.check_libcrypto, DEPENDENCY_RUN_AND_COMPILE_TIME), - 'network': (False, ['network'], "network -wget", self.check_wget, DEPENDENCY_RUN_TIME), - 'avahi-utils': (False, ['network'], "avahi-utils", self.check_avahi_utils, DEPENDENCY_RUN_TIME), -# 'passwd_util': (False, ['gui_qt4'], "GUI Password utility (gksu/kdesu)", self.check_passwd_util, DEPENDENCY_RUN_TIME), + 'libnetsnmp-devel': (True, ['network'], SNMP_DEV_STR, self.check_libnetsnmp, DEPENDENCY_RUN_AND_COMPILE_TIME,'5.0.9','net-snmp-config --version', GENERALDEP), + 'libcrypto': (True, ['network'], CRYPTO_STR, self.check_libcrypto, DEPENDENCY_RUN_AND_COMPILE_TIME, '-','openssl version', GENERALDEP), + 'network': (False, ['network'], NETWORK_STR, self.check_wget, DEPENDENCY_RUN_TIME,'-','wget --version', EXTERNALDEP), + 'avahi-utils': (False, ['network'], AVAHI_STR, self.check_avahi_utils, DEPENDENCY_RUN_TIME, '-','avahi-browse --version', EXTERNALDEP), + } + + python2_dep = { + 'python2X': (True, ['base'], PYTHON_STR, self.check_python, DEPENDENCY_RUN_AND_COMPILE_TIME,'2.2','python --version',GENERALDEP), + 'python-notify' : (False, ['gui_qt4'], PYNTF_STR, self.check_pynotify, DEPENDENCY_RUN_TIME,'-','python-notify --version',GENERALDEP), # Optional for libnotify style popups from hp-systray + 'pyqt4-dbus' : (True, ['gui_qt4'], QT4DBUS_STR, self.check_pyqt4_dbus, DEPENDENCY_RUN_TIME,'4.0','FUNC#get_pyQt4_version', GENERALDEP), + 'pyqt4': (True, ['gui_qt4'], QT4_STR, self.check_pyqt4, DEPENDENCY_RUN_TIME,'4.0','FUNC#get_pyQt4_version', GENERALDEP), # PyQt 4.x ) + 'python-dbus': (True, ['fax'], PYDBUS_STR, self.check_python_dbus, DEPENDENCY_RUN_TIME,'0.80.0','FUNC#get_python_dbus_ver', GENERALDEP), + 'python-xml' : (True, ['base'], PYXML_STR, self.check_python_xml, DEPENDENCY_RUN_TIME,'-','FUNC#get_python_xml_version',GENERALDEP), + 'python-devel' : (True, ['base'], PY_DEV_STR, self.check_python_devel, DEPENDENCY_COMPILE_TIME,'2.2','python --version',GENERALDEP), + 'pil': (False, ['scan'], PIL_STR, self.check_pil, DEPENDENCY_RUN_TIME,'-','FUNC#get_pil_version',GENERALDEP), + # Optional fax packages + 'reportlab': (False, ['fax'], REPORTLAB_STR, self.check_reportlab, DEPENDENCY_RUN_TIME,'2.0','FUNC#get_reportlab_version',GENERALDEP), + } + python3_dep = { + 'python3X': (True, ['base'], PYTHON_STR, self.check_python, DEPENDENCY_RUN_AND_COMPILE_TIME,'2.2','python --version',GENERALDEP), + 'python3-notify2' : (False, ['gui_qt4'], PYNTF_STR, self.check_pynotify, DEPENDENCY_RUN_TIME,'-','python-notify --version',GENERALDEP), # Optional for libnotify style popups from hp-systray + 'python3-pyqt4-dbus': (False, ['gui_qt4'], QT4DBUS_STR, self.check_pyqt4_dbus, DEPENDENCY_RUN_TIME,'4.0','FUNC#get_pyQt4_version', GENERALDEP), + 'python3-pyqt4': (True, ['gui_qt4'], QT4_STR, self.check_pyqt4, DEPENDENCY_RUN_TIME,'4.0','FUNC#get_pyQt4_version', GENERALDEP), # PyQt 4.x ) + 'python3-dbus': (True, ['fax'], PYDBUS_STR, self.check_python_dbus, DEPENDENCY_RUN_TIME,'0.80.0','FUNC#get_python_dbus_ver', GENERALDEP), + 'python3-xml' : (True, ['base'], PYXML_STR, self.check_python_xml, DEPENDENCY_RUN_TIME,'-','FUNC#get_python_xml_version',GENERALDEP), + 'python3-devel' : (True, ['base'], PY_DEV_STR, self.check_python_devel, DEPENDENCY_COMPILE_TIME,'2.2','python --version',GENERALDEP), + 'python3-pil': (False, ['scan'], PIL_STR, self.check_pil, DEPENDENCY_RUN_TIME,'-','FUNC#get_pil_version',GENERALDEP), + # Optional fax packages + 'python3-reportlab': (False, ['fax'], REPORTLAB_STR, self.check_reportlab, DEPENDENCY_RUN_TIME,'2.0','FUNC#get_reportlab_version',GENERALDEP), + } + + from base.sixext import PY3 + + if PY3: + self.dependencies.update(python3_dep) + else: + self.dependencies.update(python2_dep) + + self.hplip_dependencies ={ + 'cupsext' : (True, ['base'], CUPSEXT_STR, self.check_cupsext,DEPENDENCY_RUN_AND_COMPILE_TIME,'-','FUNC#get_HPLIP_version',PYEXT), + 'hpmudext' : (True, ['base'], HPMUDEXT_STR, self.check_hpmudext,DEPENDENCY_RUN_AND_COMPILE_TIME,'-','FUNC#get_HPLIP_version',PYEXT), + 'hpaio' : (True, ['scan'], HPAIO_STR, self.check_hpaio,DEPENDENCY_RUN_AND_COMPILE_TIME,'-','FUNC#get_HPLIP_version',SCANCONF), + 'scanext' : (True, ['scan'], SCANEXT_STR, self.check_scanext,DEPENDENCY_RUN_AND_COMPILE_TIME,'-','FUNC#get_HPLIP_version',SCANCONF), + 'pyqt': (True, ['gui_qt'], QT_STR, self.check_pyqt,DEPENDENCY_RUN_AND_COMPILE_TIME,'2.3','FUNC#get_pyQt_version',GENERALDEP), + } + + self.version_func={ + 'FUNC#get_python_dbus_ver':get_python_dbus_ver, + 'FUNC#get_pyQt4_version':get_pyQt4_version, + 'FUNC#get_pyQt_version':get_pyQt_version, + 'FUNC#get_reportlab_version':get_reportlab_version, + 'FUNC#get_xsane_version':get_xsane_version, + 'FUNC#get_pil_version':get_pil_version, + 'FUNC#get_libpthread_version':get_libpthread_version, + 'FUNC#get_python_xml_version':get_python_xml_version, + 'FUNC#get_HPLIP_version':get_HPLIP_version, + 'FUNC#get_libusb_version':get_libusb_version, + } + + for opt in self.options: update_spinner() for d in self.dependencies: @@ -486,83 +571,83 @@ def get_distro(self): log.debug("Determining distro...") - self.distro, self.distro_version = DISTRO_UNKNOWN, '0.0' - + name, ver = '', '0.0' found = False - lsb_release = utils.which("lsb_release") - - if lsb_release: - log.debug("Using 'lsb_release -is/-rs'") - cmd = os.path.join(lsb_release, "lsb_release") - status, name = utils.run(cmd + ' -is', self.passwordObj) - name = name.lower().strip() - log.debug("Distro name=%s" % name) - if name.find("redhatenterprise") > -1: - name="rhel" - - if not status and name: - status, ver = utils.run(cmd + ' -rs', self.passwordObj) - ver = ver.lower().strip() - log.debug("Distro version=%s" % ver) - if name == "rhel" and ver[0] == "5" and ver[1] == ".": - ver="5.0" - elif name == "rhel" and ver[0] == "6" and ver[1] == ".": - ver="6.0" - - if not status and ver: - for d in self.distros: - if name.find(d) > -1: - self.distro = self.distros[d]['index'] - found = True - self.distro_version = ver - break + # Getting distro information using platform module + try: + import platform + name = platform.dist()[0].lower() + ver = platform.dist()[1] + found = True + except ImportError: + found = False + + # Getting distro information using lsb_release command + # platform retrurn 'redhat' even for 'RHEL' so re-reading using lsb_release. + if not found or name == 'redhat': + lsb_rel = utils.which("lsb_release", True) + if lsb_rel: + log.debug("Using 'lsb_release -is/-rs'") + status, name = utils.run(lsb_rel + ' -is', self.passwordObj) + if not status and name: + status, ver = utils.run(lsb_rel + ' -rs', self.passwordObj) + if not status and ver: + ver = ver.lower().strip() + found = True - if not found: + # Getting distro information using /etc/issue file + if not found: try: - name = file('/etc/issue', 'r').read().lower().strip() + name = open('/etc/issue', 'r').read().lower().strip() except IOError: - # Some O/Ss don't have /etc/issue (Mac) - self.distro, self.distro_version = DISTRO_UNKNOWN, '0.0' + found = False else: - if name.find("redhatenterprise") > -1: - name="rhel" - - for d in self.distros: - if name.find(d) > -1: - self.distro = self.distros[d]['index'] - found = True - else: - for x in self.distros[d].get('alt_names', ''): - if x and name.find(x) > -1: - self.distro = self.distros[d]['index'] - found = True - break - - if found: - break - - if found: - for n in name.split(): - m= n - if '.' in n: - m = '.'.join(n.split('.')[:2]) + found = True + for n in name.split(): + m= n + if '.' in n: + m = '.'.join(n.split('.')[:2]) + try: + ver = float(m) + except ValueError: try: - float(m) + ver = int(m) except ValueError: - try: - int(m) - except ValueError: - self.distro_version = '0.0' - else: - self.distro_version = m - break - else: - self.distro_version = m + ver = '0.0' + + # Updating the distro name and version. + if found: + name = name.lower().strip() + log.debug("Distro name=%s" % name) + if name.find("redhatenterprise") > -1 or name.find("redhat") > -1: + name="rhel" + + log.debug("Distro version=%s" % ver) + if name == "rhel" and ver[0] == "5" and ver[1] == ".": + ver="5.0" + elif name == "rhel" and ver[0] == "6" and ver[1] == ".": + ver="6.0" + + found_in_list = False + for d in self.distros: + if name.find(d) > -1: + self.distro = self.distros[d]['index'] + found_in_list = True + else: + for x in self.distros[d].get('alt_names', ''): + if x and name.find(x) > -1: + self.distro = self.distros[d]['index'] + found_in_list = True break + if found_in_list: + break - log.debug("/etc/issue: %s %s" % (name, self.distro_version)) + self.distro_version = ver + else: + log.warn("Failed to get the distro information.") + self.distro, self.distro_version = DISTRO_UNKNOWN, '0.0' log.debug("distro=%d, distro_version=%s" % (self.distro, self.distro_version)) @@ -723,14 +808,15 @@ vv = self.distros[distro]['versions'][v].copy() vv['same_as_version'] = v self.distros[distro]['versions'][ver] = vv - for key in distros_dat.keys(ver_section): vv[key] = self.__fixup_data(key, distros_dat.get(ver_section, key)) - except KeyError: log.debug("Missing 'same_as_version=' version in distros.dat for section [%s:%s]." % (distro, v)) continue + #import pprint + #pprint.pprint(self.distros) + def pre_install(self): pass @@ -739,11 +825,12 @@ pass - def check_python2x(self): + def check_python(self): py_ver = sys.version_info py_major_ver, py_minor_ver = py_ver[:2] log.debug("Python ver=%d.%d" % (py_major_ver, py_minor_ver)) return py_major_ver >= 2 + def check_gcc(self): @@ -890,14 +977,24 @@ def check_python_devel(self): - return check_file('Python.h') + dir_list = glob.glob('/usr/include/python%d*'%sys.version_info[0]) + Found = False + for p in dir_list: + if check_file('Python.h',dir=p): + Found = True + break + + return Found def check_pynotify(self): try: - import pynotify - except ImportError, RuntimeError: - return False + import notify2 + except (ImportError, RuntimeError): + try: + import pynotify + except (ImportError, RuntimeError): + return False return True @@ -1034,7 +1131,7 @@ for path in ['/etc/sane.d/dll.conf','/etc/sane.d/dll.d/hpaio', '/etc/sane.d/dll.d/hplip']: log.debug("'Checking for hpaio' in '%s'..." % path) try: - f = file(path, 'r') + f = open(path, 'r') except IOError: log.info("'%s' not found." % path) else: @@ -1062,10 +1159,9 @@ if os.path.exists(usrlib_dir+'sane/libsane-hpaio.so.1'): log.debug("'Updating hpaio' in '/etc/sane.d/dll.conf'...") try: - f = file('/etc/sane.d/dll.conf', 'r') + f = open('/etc/sane.d/dll.conf', 'r') except IOError: log.error("'/etc/sane.d/dll.conf' not found. Creating dll.conf file") -# f = file('/etc/sane.d/dll.conf', 'a+') cmd = self.passwordObj.getAuthCmd()%'touch /etc/sane.d/dll.conf' log.debug("cmd=%s"%cmd) utils.run(cmd, self.passwordObj) @@ -1084,13 +1180,13 @@ log.debug("cmd=%s"%cmd) utils.run(cmd, self.passwordObj) try: - f = file('/etc/sane.d/dll.conf', 'a+') + f = open('/etc/sane.d/dll.conf', 'a+') except IOError: log.error("'/etc/sane.d/dll.conf' not found. Creating dll.conf file") else: f.write('hpaio') f.close() - actv_permissions = st.st_mode &0777 + actv_permissions = st.st_mode &0o777 cmd = 'chmod %o /etc/sane.d/dll.conf'%actv_permissions cmd= self.passwordObj.getAuthCmd()%cmd log.debug("cmd=%s"%cmd) @@ -1150,7 +1246,10 @@ def configure(self): configure_cmd = './configure' configuration = {} - dbus_avail = self.have_dependencies['dbus'] and self.have_dependencies['python-dbus'] + if PY3: + dbus_avail = self.have_dependencies['dbus'] and self.have_dependencies['python3-dbus'] + else: + dbus_avail = self.have_dependencies['dbus'] and self.have_dependencies['python-dbus'] configuration['network-build'] = self.selected_options['network'] configuration['fax-build'] = self.selected_options['fax'] and dbus_avail configuration['dbus-build'] = dbus_avail @@ -1259,6 +1358,10 @@ else: configure_cmd += ' --disable-%s' % c + # For Unit/Functional testing changes. + if ".internal" in prop.version and os.path.exists('testcommon/'): + configure_cmd += ' --enable-hplip_testing_flag' + return configure_cmd def configure_html(self): @@ -1288,40 +1391,40 @@ if self.fax_supported is None: configure_cmd += ' --disable-fax-build --disable-dbus-build' else: - configure_cmd += ' --enable-fax-build --enable-dbus-build' + configure_cmd += ' --enable-fax-build --enable-dbus-build' self.network_supported = self.get_distro_ver_data('network_supported') if self.network_supported is None: configure_cmd += ' --disable-network-build' - else: - configure_cmd += ' --enable-network-build' + else: + configure_cmd += ' --enable-network-build' self.scan_supported = self.get_distro_ver_data('scan_supported') if self.scan_supported is None: configure_cmd += ' --disable-scan-build' - else: - configure_cmd += ' --enable-scan-build' + else: + configure_cmd += ' --enable-scan-build' self.policykit = self.get_distro_ver_data('policykit') if self.policykit is not None and self.policykit == 1: configure_cmd += ' --enable-policykit' - else: - configure_cmd += ' --disable-policykit' + else: + configure_cmd += ' --disable-policykit' self.libusb01 = self.get_distro_ver_data('libusb01') if self.libusb01 is not None and self.libusb01 == 1: configure_cmd += ' --enable-libusb01_build' - else: - configure_cmd += ' --disable-libusb01_build' + else: + configure_cmd += ' --disable-libusb01_build' self.udev_sysfs_rule = self.get_distro_ver_data('udev_sysfs_rule') if self.udev_sysfs_rule is not None and self.udev_sysfs_rule == 1: configure_cmd += ' --enable-udev_sysfs_rules' - else: - configure_cmd += ' --disable-udev_sysfs_rules' + else: + configure_cmd += ' --disable-udev_sysfs_rules' configure_cmd += ' --enable-doc-build' - + return configure_cmd @@ -1376,7 +1479,7 @@ def get_dependency_commands(self): - dd = self.dependencies.keys() + dd = list(self.dependencies.keys()) dd.sort() commands_to_run = [] packages_to_install = [] @@ -1435,50 +1538,25 @@ return num_opt_missing - def missing_required_dependencies(self): # missing req. deps in req. options - for opt in self.components[self.selected_component][1]: - if self.options[opt][0]: # required options - for d in self.options[opt][2]: # dependencies for option - if self.dependencies[d][0]: # required option - if not self.have_dependencies[d]: # missing - log.debug("Missing required dependency: %s" % d) - yield d, self.dependencies[d][2], opt - # depend, desc, option + def missing_required_dependencies(self): # missing req. deps for selected components + for comp in self.components[self.selected_component][1]: + if self.selected_options[comp]: # if the component was selected + for dep in self.options[comp][2]: # dependencies for this component + if self.dependencies[dep][DEPENDENCY_REQUIRED_INDEX]: # Is it required dependency? + if not self.have_dependencies[dep]: # Is it not already installed? + log.debug("Missing required dependency: %s" % dep) + yield dep, self.dependencies[dep][DEPENDENCY_DISPLAY_INDEX], comp + def missing_optional_dependencies(self): - # missing deps in opt. options - for opt in self.components[self.selected_component][1]: - if not self.options[opt][0]: # not required option - if self.selected_options[opt]: # only for options that are ON - for d in self.options[opt][2]: # dependencies - if not self.have_dependencies[d]: # missing dependency - log.debug("Missing optional dependency: %s" % d) - yield d, self.dependencies[d][2], self.dependencies[d][0], opt - # depend, desc, required_for_opt, opt + for comp in self.components[self.selected_component][1]: + if self.selected_options[comp]: # if the component was selected + for dep in self.options[comp][2]: # dependencies for this component + if not self.dependencies[dep][DEPENDENCY_REQUIRED_INDEX]: # Is it optional dependency? + if not self.have_dependencies[dep]: # Is it not already installed? + log.debug("Missing optional dependency: %s" % dep) + yield dep, self.dependencies[dep][DEPENDENCY_DISPLAY_INDEX], self.dependencies[dep][0], comp - # opt. deps in req. options - for opt in self.components[self.selected_component][1]: - if self.options[opt][0]: # required options - for d in self.options[opt][2]: # dependencies for option - if d == 'cups-ddk': - status, output = utils.run('cups-config --version', self.passwordObj) - import string - if status == 0 and (string.count(output, '.') == 1 or string.count(output, '.') == 2): - if string.count(output, '.') == 1: - major, minor = string.split(output, '.', 2) - if string.count(output, '.') == 2: - major, minor, release = string.split(output, '.', 3) - if len(minor) > 1 and minor[1] >= '0' and minor[1] <= '9': - minor = ((ord(minor[0]) - ord('0')) * 10) + (ord(minor[1]) - ord('0')) - else: - minor = ord(minor[0]) - ord('0') - if major > '1' or (major == '1' and minor >= 4): - continue - if not self.dependencies[d][0]: # optional dep - if not self.have_dependencies[d]: # missing - log.debug("Missing optional dependency: %s" % d) - yield d, self.dependencies[d][2], self.dependencies[d][0], opt - # depend, desc, option def select_options(self, answer_callback): num_opt_missing = 0 @@ -1670,7 +1748,7 @@ """ err_score = 0.0 - for pat, prob in err_pats.items(): + for pat, prob in list(err_pats.items()): if err_score > 0.9: break if re.search(pat, page): err_score += prob @@ -1930,6 +2008,8 @@ return User_exit, Is_pkg_mgr_running + + #add_groups_to_user() # Input: # missing_user_groups (string) --> Contains only missing groups, to show to user. diff -Nru hplip-3.14.6/installer/dcheck.py hplip-3.15.2/installer/dcheck.py --- hplip-3.14.6/installer/dcheck.py 2014-06-03 06:31:24.000000000 +0000 +++ hplip-3.15.2/installer/dcheck.py 2015-01-29 12:20:24.000000000 +0000 @@ -26,10 +26,12 @@ import re import sys from subprocess import Popen, PIPE +import codecs # Local from base.g import * from base import utils, services +from base.sixext import to_bytes_utf8 ver1_pat = re.compile("""(\d+\.\d+\.\d+)""", re.IGNORECASE) ver_pat = re.compile("""(\d+.\d+)""", re.IGNORECASE) @@ -149,11 +151,12 @@ log.debug("Checking file '%s' for contents '%s'..." % (f, s)) try: if os.path.exists(f): - for a in file(f, 'r'): + s = to_bytes_utf8(s) + for a in open(f, 'rb'): update_spinner() if s in a: - log.debug("'%s' found in file '%s'." % (s.replace('\n', ''), f)) + log.debug("'%s' found in file '%s'." % (s.replace(b'\n', b''), f)) return True log.debug("Contents not found.") @@ -337,7 +340,8 @@ except: output =None else: - output=p1.communicate()[0] + output=p1.communicate()[0].decode('utf-8') + if output: xsane_ver_pat =re.compile('''xsane-(\d{1,}\.\d{1,}).*''') @@ -361,10 +365,7 @@ return '-' else: # LIBC = ctypes.CDLL(ctypes.util.find_library('c'), use_errno=True) - try: - LIBC = ctypes.CDLL(ctypes.util.find_library('c'),ctypes.DEFAULT_MODE,None, True) - except: - LIBC = ctypes.CDLL(ctypes.util.find_library('c'),ctypes.DEFAULT_MODE,None) #python2.4 and below syntax + LIBC = ctypes.CDLL(ctypes.util.find_library('c'),ctypes.DEFAULT_MODE,None, True) LIBC.gnu_get_libc_version.restype = ctypes.c_char_p return LIBC.gnu_get_libc_version() @@ -378,3 +379,11 @@ def get_HPLIP_version(): return prop.version + + +def get_libusb_version(): + + if sys_conf.get('configure', 'libusb01-build', 'no') == "yes": + return get_version('libusb-config --version') + else: + return '1.0' diff -Nru hplip-3.14.6/installer/distros.dat hplip-3.15.2/installer/distros.dat --- hplip-3.14.6/installer/distros.dat 2014-06-03 06:31:24.000000000 +0000 +++ hplip-3.15.2/installer/distros.dat 2015-01-29 12:20:24.000000000 +0000 @@ -112,7 +112,7 @@ [suse] index=3 -versions=12.2,12.3,13.1 +versions=12.2,12.3,13.1,13.2 display_name=SUSE Linux alt_names= display=1 @@ -208,7 +208,7 @@ [suse:12.2:python23] packages=python -[suse:12.2:python2x] +[suse:12.2:python2X] packages=python [suse:12.2:reportlab] @@ -249,6 +249,26 @@ [suse:12.2:avahi-utils] packages=avahi-utils + +[suse:12.2:python3-pyqt4] +packages=python3-qt4,python3-qt4-devel + +[suse:12.2:python3-dbus] +packages=dbus-1-python3,python3-gobject,python3-gobject2-devel + +[suse:12.2:python3-devel] +packages=python3-devel + +[suse:12.2:python3-pyqt4-dbus] +packages=dbus-1-python3-devel,dbus-1-python3 + +[suse:12.2:python3-pil] +packages=PKG_FROM_PIP:pillow + +[suse:12.2:python3-xml] +packages=python3-xml + + # ******************** [suse:12.3] code_name=Dartmouth @@ -328,7 +348,7 @@ [suse:12.3:python23] packages=python -[suse:12.3:python2x] +[suse:12.3:python2X] packages=python [suse:12.3:reportlab] @@ -369,6 +389,26 @@ [suse:12.3:avahi-utils] packages=avahi-utils + +[suse:12.3:python3-pyqt4] +packages=python3-qt4,python3-qt4-devel + +[suse:12.3:python3-dbus] +packages=dbus-1-python3,python3-gobject,python3-gobject2-devel + +[suse:12.3:python3-xml] +packages=python3-xml,python3-lxml + +[suse:12.3:python3-devel] +packages=python3-devel + +[suse:12.3:python3-pyqt4-dbus] +packages=dbus-1-python3-devel,dbus-1-python3 + +[suse:12.3:python3-pil] +packages=PKG_FROM_PIP:pillow + + # **************************************** [suse:13.1] @@ -379,6 +419,149 @@ same_as_version=12.3 # **************************************** + +[suse:13.2] +code_name=Harlequin +supported=1 +packaged_version=3.14.6 +release_date=04.11.2014 +post_depend_cmd=su -c "zypper --non-interactive --no-gpg-checks in --force --auto-agree-with-licenses cups-filters-ghostscript", su -c"service cups restart" +scan_supported=1 +fax_supported=1 +pcard_supported=0 +network_supported=1 +parallel_supported=0 +usb_supported=1 +notes=Please be sure to disable the CD repositories in YaST. +ppd_install=drv +udev_mode_fix=1 +ppd_dir=/usr/share/cups/model/HP +fix_ppd_symlink=0 +drv_dir=/usr/share/cups/drv/HP +cups_path_with_bitness=0 +ui_toolkit=qt4 +native_cups=1 +open_mdns_port=/bin/bash ./init-suse-firewall +pre_depend_cmd=su -c "zypper refresh" + +[suse:13.2:cups] +packages=cups,cups-client + +[suse:13.2:cups-devel] +packages=cups-devel,cupsddk + +[suse:13.2:gcc] +packages=gcc-c++ + +[suse:13.2:gs] +packages=ghostscript-library + +[suse:13.2:libcrypto] +packages=openssl + +[suse:13.2:libjpeg] +packages=libjpeg-devel + +[suse:13.2:libnetsnmp-devel] +packages=net-snmp-devel + +[suse:13.2:libpthread] +packages=glibc + +[suse:13.2:libtool] +packages=libtool,libgphoto2-devel + +[suse:13.2:libusb] +packages=libusb-1_0-devel,libusb-1_0-0 + +[suse:13.2:make] +packages=make + +[suse:13.2:pil] +packages=python-imaging + +[suse:13.2:ppdev] +packages= +commands=su -c "modprobe ppdev" + +[suse:13.2:pyqt] +packages=python-qt + +[suse:13.2:pyqt4] +packages=python-qt4 + +[suse:13.2:pyqt4-dbus] +packages=dbus-1-python-devel,dbus-1-python + +[suse:13.2:python-devel] +packages=python-devel,python-xml,libpython2_7-1_0 + +[suse:13.2:python23] +packages=python + +[suse:13.2:python2X] +packages=python + +[suse:13.2:reportlab] +packages= + +[suse:13.2:sane] +packages=xsane + +[suse:13.2:sane-devel] +packages=sane-backends-devel + +[suse:13.2:scanimage] +packages=sane-backends + +[suse:13.2:xsane] +packages=xsane + +[suse:13.2:cups-ddk] +packages=cupsddk + +[suse:13.2:python-dbus] +packages=dbus-1-python + +[suse:13.2:dbus] +packages=dbus-1-devel,python-gobject2 + +[suse:13.2:python-xml] +packages=python-xml,libpython2_7-1_0 + +[suse:13.2:cups-image] +packages=cups-devel + +[suse:13.2:python-notify] +packages=python-notify + +[suse:13.2:network] +packages=wget + +[suse:13.2:avahi-utils] +packages=avahi-utils + +[suse:13.2:python3-pyqt4] +packages=python3-qt4,python3-qt4-devel + +[suse:13.2:python3-dbus] +packages=dbus-1-python3,python3-gobject,python3-gobject2-devel + +[suse:13.2:python3-xml] +packages=python3-xml,python3-lxml + +[suse:13.2:python3-devel] +packages=python3-devel + +[suse:13.2:python3-pyqt4-dbus] +packages=dbus-1-python3-devel,dbus-1-python3 + +[suse:13.2:python3-pil] +packages=python3-Pillow + + + +# **************************************** [redhat] index=6 versions=8.0,9.0 @@ -579,7 +762,7 @@ # **************************************** [fedora] index=5 -versions=17,18,19,20 +versions=17,18,19,20,21 display_name=Fedora alt_names=Fedora Core display=1 @@ -675,7 +858,7 @@ [fedora:17:python23] packages=python -[fedora:17:python2x] +[fedora:17:python2X] packages=python [fedora:17:reportlab] @@ -792,7 +975,7 @@ [fedora:18:python23] packages=python -[fedora:18:python2x] +[fedora:18:python2X] packages=python [fedora:18:reportlab] @@ -851,6 +1034,16 @@ same_as_version=19 + +# **************************************** + +[fedora:21] +code_name= +supported=1 +packaged_version=3.14.10 +release_date=09/12/2014 +same_as_version=17 + # **************************************** [linspire] index=15 @@ -894,7 +1087,7 @@ # **************************************** [rhel] index=7 -versions=5.0,6.0 +versions=5.0,6.0,7.0 display_name=Red Hat Enterprise Linux alt_names=red hat enterprise linux display=1 @@ -990,7 +1183,7 @@ [rhel:5.0:python23] packages=python -[rhel:5.0:python2x] +[rhel:5.0:python2X] packages=python [rhel:5.0:reportlab] @@ -1107,7 +1300,7 @@ [rhel:6.0:python23] packages=python -[rhel:6.0:python2x] +[rhel:6.0:python2X] packages=python [rhel:6.0:reportlab] @@ -1146,6 +1339,14 @@ [rhel:6.0:avahi-utils] packages=avahi-tools # **************************************** + +[rhel:7.0] +code_name=Maipo +packaged_version=3.13.7 +release_date=10/06/2014 +same_as_version=6.0 + +# **************************************** [slackware] index=8 versions=9.0,9.1,10.0,10.1,10.2,11,12,12.1 @@ -1426,7 +1627,7 @@ [centos:any:python23] packages=python -[centos:any:python2x] +[centos:any:python2X] packages=python [centos:any:reportlab] @@ -1603,7 +1804,7 @@ [pclinuxos:2006.0:python23] packages=python -[pclinuxos:2006.0:python2x] +[pclinuxos:2006.0:python2X] packages=python [pclinuxos:2006.0:reportlab] @@ -1718,7 +1919,7 @@ [pclinuxos:2007.0:python23] packages=python -[pclinuxos:2007.0:python2x] +[pclinuxos:2007.0:python2X] packages=python [pclinuxos:2007.0:reportlab] @@ -1836,7 +2037,7 @@ [pclinuxos:2008.0:python23] packages=python -[pclinuxos:2008.0:python2x] +[pclinuxos:2008.0:python2X] packages=python [pclinuxos:2008.0:reportlab] @@ -1954,7 +2155,7 @@ [pclinuxos:2009.0:python23] packages=python -[pclinuxos:2009.0:python2x] +[pclinuxos:2009.0:python2X] packages=python [pclinuxos:2009.0:reportlab] @@ -2072,7 +2273,7 @@ [pclinuxos:2009.1:python23] packages=python -[pclinuxos:2009.1:python2x] +[pclinuxos:2009.1:python2X] packages=python [pclinuxos:2009.1:reportlab] @@ -2205,7 +2406,7 @@ [igos:1.0:python23] packages=python -[igos:1.0:python2x] +[igos:1.0:python2X] packages=python [igos:1.0:reportlab] @@ -2243,7 +2444,7 @@ # **************************************** [ubuntu] index=12 -versions=10.04,11.10,12.04,12.10,13.04,13.10,14.04 +versions=10.04,11.10,12.04,12.10,13.04,13.10,14.04,14.10 display_name=Ubuntu alt_names=kubuntu,edubuntu,xubuntu display=1 @@ -2338,7 +2539,7 @@ #[ubuntu:10.04:python23] #packages=python -[ubuntu:10.04:python2x] +[ubuntu:10.04:python2X] packages=python [ubuntu:10.04:reportlab] @@ -2379,8 +2580,6 @@ [ubuntu:10.04:avahi-utils] packages=avahi-utils - - # ******************** [ubuntu:11.10] code_name=Oneiric @@ -2460,7 +2659,7 @@ #[ubuntu:11.10:python23] #packages=python -[ubuntu:11.10:python2x] +[ubuntu:11.10:python2X] packages=python [ubuntu:11.10:reportlab] @@ -2580,9 +2779,12 @@ #[ubuntu:12.04:python23] #packages=python -[ubuntu:12.04:python2x] +[ubuntu:12.04:python2X] packages=python +[ubuntu:12.04:python3X] +packages=python3,python3.2 + [ubuntu:12.04:reportlab] packages=python-reportlab @@ -2622,6 +2824,28 @@ [ubuntu:12.04:avahi-utils] packages=avahi-utils +[ubuntu:12.04:python3-notify2] +packages=python3-notify2 + +[ubuntu:12.04:python3-pyqt4-dbus] +packages=python3-dbus.mainloop.qt + +[ubuntu:12.04:python3-pyqt4] +packages=python3-pyqt4,gtk2-engines-pixbuf + +[ubuntu:12.04:python3-dbus] +packages=python3-dbus,python3-gi + +[ubuntu:12.04:python3-xml] +packages=python3-lxml + +[ubuntu:12.04:python3-devel] +packages=python3-dev + +[ubuntu:12.04:python3-pil] +packages=PKG_FROM_PIP:pillow + + # ******************** [ubuntu:12.10] code_name=Quantal @@ -2635,7 +2859,7 @@ supported=1 scan_supported=1 fax_supported=1 -pcard_supported=1 +pcard_supported=0 network_supported=1 parallel_supported=0 usb_supported=1 @@ -2711,6 +2935,9 @@ [ubuntu:13.04:python2X] packages=python +[ubuntu:13.04:python3X] +packages=python3,python3.2 + [ubuntu:13.04:reportlab] packages=python-reportlab @@ -2750,6 +2977,28 @@ [ubuntu:13.04:avahi-utils] packages=avahi-utils +[ubuntu:13.04:python3-notify2] +packages=python3-notify2 + +[ubuntu:13.04:python3-pyqt4-dbus] +packages=python3-dbus.mainloop.qt + +[ubuntu:13.04:python3-pyqt4] +packages=python3-pyqt4,gtk2-engines-pixbuf + +[ubuntu:13.04:python3-dbus] +packages=python3-dbus,python3-gi + +[ubuntu:13.04:python3-xml] +packages=python3-lxml + +[ubuntu:13.04:python3-devel] +packages=python3-dev + +[ubuntu:13.04:python3-pil] +packages=python3-imaging + + # ******************** [ubuntu:13.10] code_name=Saucy @@ -2828,7 +3077,7 @@ #[ubuntu:13.10:python23] #packages=python -[ubuntu:13.10:python2x] +[ubuntu:13.10:python2X] packages=python [ubuntu:13.10:reportlab] @@ -2870,6 +3119,29 @@ [ubuntu:13.10:avahi-utils] packages=avahi-utils +[ubuntu:13.10:python3-notify2] +packages=python3-notify2 + +[ubuntu:13.10:python3-pyqt4-dbus] +packages=python3-dbus.mainloop.qt + +[ubuntu:13.10:python3-pyqt4] +packages=python3-pyqt4,gtk2-engines-pixbuf + +[ubuntu:13.10:python3-dbus] +packages=python3-dbus,python3-gi + +[ubuntu:13.10:python3-xml] +packages=python3-lxml + +[ubuntu:13.10:python3-devel] +packages=python3-dev + +[ubuntu:13.10:python3-pil] +packages=python3-imaging + +[ubuntu:13.10:python3-reportlab] +packages= # ******************** [ubuntu:14.04] @@ -2878,17 +3150,162 @@ release_date=17/04/2014 same_as_version=13.10 +# ******************** +[ubuntu:14.10] +code_name=Utopic +supported=1 +scan_supported=1 +fax_supported=1 +pcard_supported=1 +network_supported=1 +parallel_supported=1 +usb_supported=1 +packaged_version=3.14.6 +release_date=23/10/2014 +notes=Enable the universe/multiverse repositories. Also be sure you are using the Ubuntu "Main" Repositories. See: https://help.ubuntu.com/community/Repositories/Ubuntu for more information. Disable the CD-ROM/DVD source if you do not have the Ubuntu installation media inserted in the drive. +ppd_install=drv +udev_mode_fix=1 +ppd_dir=/usr/share/ppd/HP +fix_ppd_symlink=0 +drv_dir=/usr/share/cups/drv/HP +ui_toolkit=qt4 +native_cups=1 +acl_rules=1 + +libdir_path=/usr/lib +[ubuntu:14.10:cups] +packages=libcups2 + +[ubuntu:14.10:cups-devel] +packages=libcups2-dev,cups-bsd,cups-client + +[ubuntu:14.10:gcc] +packages=build-essential + +[ubuntu:14.10:gs] +packages=ghostscript + +[ubuntu:14.10:libcrypto] +packages=openssl + +[ubuntu:14.10:libjpeg] +packages=libjpeg-dev + +[ubuntu:14.10:libnetsnmp-devel] +packages=libsnmp-dev,snmp-mibs-downloader + +[ubuntu:14.10:libpthread] +packages=build-essential + +[ubuntu:14.10:libtool] +packages=libtool + +[ubuntu:14.10:libusb] +packages=libusb-1.0.0-dev + +[ubuntu:14.10:make] +packages=build-essential + +[ubuntu:14.10:pil] +packages=python-imaging + +[ubuntu:14.10:ppdev] +packages= +commands=sudo modprobe ppdev,sudo cp -f /etc/modules /etc/modules.hplip,echo ppdev | sudo tee -a /etc/modules + +[ubuntu:14.10:pyqt] +packages=gtk2-engines-pixbuf,python-qt4 + +[ubuntu:14.10:python-devel] +packages=python-dev + +[ubuntu:14.10:pyqt4] +packages=gtk2-engines-pixbuf,python-qt4 + +[ubuntu:14.10:pyqt4-dbus] +packages=python-qt4-dbus + +#[ubuntu:14.10:python23] +#packages=python + +[ubuntu:14.10:python2X] +packages=python + +[ubuntu:14.10:reportlab] +packages=python-reportlab + +[ubuntu:14.10:sane] +packages=libsane + +[ubuntu:14.10:sane-devel] +packages=libsane-dev + +[ubuntu:14.10:scanimage] +packages=sane-utils + +[ubuntu:14.10:xsane] +packages=gtk2-engines-pixbuf,xsane + +[ubuntu:14.10:python-dbus] +packages=python-dbus,python-gobject + +[ubuntu:14.10:dbus] +packages=libdbus-1-dev + +[ubuntu:14.10:cups-image] +packages=libcupsimage2-dev + +[ubuntu:14.10:cups-ddk] +packages=cups + +[ubuntu:14.10:policykit] +packages=policykit-1,policykit-1-gnome + +[ubuntu:14.10:python-notify] +packages=python-notify + +[ubuntu:14.10:network] +packages=wget + +[ubuntu:14.10:avahi-utils] +packages=avahi-utils + +[ubuntu:14.10:python3-notify2] +packages=python3-notify2 + +[ubuntu:14.10:python3-pyqt4-dbus] +packages=python3-dbus.mainloop.qt + +[ubuntu:14.10:python3-pyqt4] +packages=python3-pyqt4,gtk2-engines-pixbuf + +[ubuntu:14.10:python3-dbus] +packages=python3-dbus,python3-gi + +[ubuntu:14.10:python3-xml] +packages=python3-lxml + +[ubuntu:14.10:python3-devel] +packages=python3-dev + +[ubuntu:14.10:python3-pil] +packages=python3-pil + +[ubuntu:14.10:python3-reportlab] +packages= + + # **************************************** [debian] index=2 -versions=6.0,6.0.1,6.0.2,6.0.3,6.0.4,6.0.5,6.0.6,6.0.7,6.0.8,6.0.9,7.0,7.1,7.2,7.3,7.4,7.5 +versions=6.0,6.0.1,6.0.2,6.0.3,6.0.4,6.0.5,6.0.6,6.0.7,6.0.8,6.0.9,6.0.10,7.0,7.1,7.2,7.3,7.4,7.5,7.6,7.7,7.8 display_name=Debian alt_names= display=1 notes= package_mgrs=dpkg,apt-get,synaptic,update-manager,adept,aptitude package_mgr_cmd=su -c "apt-get install --force-yes -y $packages_to_install" -pre_depend_cmd=su -c "dpkg --configure -a",su -c "apt-get install -f",su -c "apt-get update",su -c "apt-get install --yes cupsys-bsd" +pre_depend_cmd=su -c "dpkg --configure -a",su -c "apt-get install -f",su -c "apt-get update" post_depend_cmd= hplip_remove_cmd=su -c "apt-get remove --yes hplip hpijs hplip-data" su_sudo=su @@ -2922,7 +3339,7 @@ [debian:6.0:cups] -packages=libcups2 +packages=cups,libcups2 [debian:6.0:cups-devel] packages=libcups2-dev,cups-bsd,cups-client @@ -2976,7 +3393,7 @@ [debian:6.0:python23] packages=python -[debian:6.0:python2x] +[debian:6.0:python2X] packages=python [debian:6.0:reportlab] @@ -3048,6 +3465,9 @@ [debian:6.0.9] same_as_version=6.0 +[debian:6.0.10] +same_as_version=6.0 + # ********************* [debian:7.0] @@ -3075,7 +3495,7 @@ libdir_path=/usr/lib/x86_64-linux-gnu [debian:7.0:cups] -packages=libcups2 +packages=cups,libcups2 [debian:7.0:cups-devel] packages=libcups2-dev,cups-bsd,cups-client @@ -3129,7 +3549,7 @@ [debian:7.0:python23] packages=python -[debian:7.0:python2x] +[debian:7.0:python2X] packages=python [debian:7.0:reportlab] @@ -3173,6 +3593,29 @@ [debian:7.0:avahi-utils] packages=avahi-utils + +[debian:7.0:python3-notify2] +packages=python3-notify2 + +[debian:7.0:python3-pyqt4-dbus] +packages=python3-dbus.mainloop.qt + +[debian:7.0:python3-pyqt4] +packages=python3-pyqt4,gtk2-engines-pixbuf + +[debian:7.0:python3-dbus] +packages=python3-dbus,python3-gi + +[debian:7.0:python3-xml] +packages=python3-lxml + +[debian:7.0:python3-devel] +packages=python3-dev + +[debian:7.0:python3-pil] +packages=PKG_FROM_PIP:pillow + + # **************************************** [debian:7.1] @@ -3186,9 +3629,19 @@ [debian:7.4] same_as_version=7.0 + [debian:7.5] same_as_version=7.0 +[debian:7.6] +same_as_version=7.0 + +[debian:7.7] +same_as_version=7.0 + +[debian:7.8] +same_as_version=7.0 + # ********************* [xandros] @@ -3485,7 +3938,7 @@ [mepis:6.0:python23] packages=python -[mepis:6.0:python2x] +[mepis:6.0:python2X] packages=python [mepis:6.0:reportlab] @@ -3595,7 +4048,7 @@ [mepis:6.5:python23] packages=python -[mepis:6.5:python2x] +[mepis:6.5:python2X] packages=python [mepis:6.5:reportlab] @@ -3706,7 +4159,7 @@ [mepis:7.0:python23] packages=python -[mepis:7.0:python2x] +[mepis:7.0:python2X] packages=python [mepis:7.0:reportlab] @@ -3817,7 +4270,7 @@ [mepis:8.0:python23] packages=python -[mepis:8.0:python2x] +[mepis:8.0:python2X] packages=python [mepis:8.0:reportlab] @@ -4009,7 +4462,7 @@ [mandriva:10.1:python23] packages=python -[mandriva:10.1:python2x] +[mandriva:10.1:python2X] packages=python [mandriva:10.1:reportlab] @@ -4120,7 +4573,7 @@ [mandriva:10.2:python23] packages=python -[mandriva:10.2:python2x] +[mandriva:10.2:python2X] packages=python [mandriva:10.2:reportlab] @@ -4230,7 +4683,7 @@ [mandriva:2006.0:python23] packages=python -[mandriva:2006.0:python2x] +[mandriva:2006.0:python2X] packages=python [mandriva:2006.0:reportlab] @@ -4340,7 +4793,7 @@ [mandriva:2007.0:python23] packages=python -[mandriva:2007.0:python2x] +[mandriva:2007.0:python2X] packages=python [mandriva:2007.0:reportlab] @@ -4450,7 +4903,7 @@ [mandriva:2007.1:python23] packages=python -[mandriva:2007.1:python2x] +[mandriva:2007.1:python2X] packages=python [mandriva:2007.1:reportlab] @@ -4564,7 +5017,7 @@ [mandriva:2008.0:python23] packages=python -[mandriva:2008.0:python2x] +[mandriva:2008.0:python2X] packages=python [mandriva:2008.0:reportlab] @@ -4677,7 +5130,7 @@ [mandriva:2008.1:python23] packages=python -[mandriva:2008.1:python2x] +[mandriva:2008.1:python2X] packages=python [mandriva:2008.1:reportlab] @@ -4791,7 +5244,7 @@ [mandriva:2009:python23] packages=python -[mandriva:2009:python2x] +[mandriva:2009:python2X] packages=python [mandriva:2009:reportlab] @@ -4908,7 +5361,7 @@ [mandriva:2009.0:python23] packages=python -[mandriva:2009.0:python2x] +[mandriva:2009.0:python2X] packages=python [mandriva:2009.0:reportlab] @@ -5025,7 +5478,7 @@ [mandriva:2010.0:python23] packages=python -[mandriva:2010.0:python2x] +[mandriva:2010.0:python2X] packages=python [mandriva:2010.0:reportlab] @@ -5142,7 +5595,7 @@ [mandriva:2011.0:python23] packages=python -[mandriva:2011.0:python2x] +[mandriva:2011.0:python2X] packages=python [mandriva:2011.0:reportlab] @@ -5183,7 +5636,6 @@ [mandriva:2011.0:avahi-utils] packages=avahi - # **************************************** [linuxmint] index=22 @@ -5212,9 +5664,9 @@ supported=1 scan_supported=1 fax_supported=1 -pcard_supported=1 +pcard_supported=0 network_supported=1 -parallel_supported=1 +parallel_supported=0 usb_supported=1 packaged_version=3.12.2 release_date=2012 @@ -5285,7 +5737,7 @@ #[linuxmint:13:python23] #packages=python -[linuxmint:13:python2x] +[linuxmint:13:python2X] packages=python [linuxmint:13:reportlab] @@ -5326,6 +5778,28 @@ [linuxmint:13:avahi-utils] packages=avahi-utils + +[linuxmint:13:python3-notify2] +packages= + +[linuxmint:13:python3-pyqt4-dbus] +packages=python3-dbus.mainloop.qt + +[linuxmint:13:python3-pyqt4] +packages=python3-pyqt4 + +[linuxmint:13:python3-dbus] +packages=python3-dbus,python3-gi + +[linuxmint:13:python3-xml] +packages=python3-lxml + +[linuxmint:13:python3-devel] +packages=python3-dev + +[linuxmint:13:python3-pil] +packages=PKG_FROM_PIP:pillow + # **************************************** [linuxmint:14] @@ -5446,6 +5920,28 @@ [linuxmint:14:avahi-utils] packages=avahi-utils +[linuxmint:14:python3-notify2] +packages=python3-notify2 + +[linuxmint:14:python3-pyqt4-dbus] +packages=python3-dbus.mainloop.qt + +[linuxmint:14:python3-pyqt4] +packages=python3-pyqt4 + +[linuxmint:14:python3-dbus] +packages=python3-dbus,python3-gi + +[linuxmint:14:python3-xml] +packages=python3-lxml + +[linuxmint:14:python3-devel] +packages=python3-dev + +[linuxmint:14:python3-pil] +packages=PKG_FROM_PIP:pillow + + # **************************************** [linuxmint:15] @@ -5526,7 +6022,7 @@ #[linuxmint:15:python23] #packages=python -[linuxmint:15:python2x] +[linuxmint:15:python2X] packages=python [linuxmint:15:reportlab] @@ -5568,22 +6064,181 @@ [linuxmint:15:avahi-utils] packages=avahi-utils + +[linuxmint:15:python3-notify2] +packages=python3-notify2 + +[linuxmint:15:python3-pyqt4-dbus] +packages=python3-dbus.mainloop.qt + +[linuxmint:15:python3-pyqt4] +packages=python3-pyqt4 + +[linuxmint:15:python3-dbus] +packages=python3-dbus,python3-gi + +[linuxmint:15:python3-xml] +packages=python3-lxml + +[linuxmint:15:python3-devel] +packages=python3-dev + +[linuxmint:15:python3-pil] +packages=PKG_FROM_PIP:pillow + # **************************************** [linuxmint:16] code_name=Petra -packaged_version=3.13.10 +packaged_version=3.14.1 release_date=30/11/2013 same_as_version=15 - # **************************************** [linuxmint:17] code_name=Qiana packaged_version=3.14.3 release_date=31/05/2014 -same_as_version=15 +supported=1 +scan_supported=1 +fax_supported=1 +pcard_supported=1 +network_supported=1 +parallel_supported=1 +usb_supported=1 +notes=Enable the universe/multiverse repositories. Also be sure you are using the Ubuntu "Main" Repositories. See: https://help.ubuntu.com/community/Repositories/Ubuntu for more information. Disable the CD-ROM/DVD source if you do not have the Ubuntu installation media inserted in the drive. +ppd_install=drv +udev_mode_fix=1 +ppd_dir=/usr/share/ppd/HP +fix_ppd_symlink=0 +drv_dir=/usr/share/cups/drv/HP +ui_toolkit=qt4 +native_cups=1 +acl_rules=1 + +libdir_path=/usr/lib/x86_64-linux-gnu + +[linuxmint:17:cups] +packages=libcups2 + +[linuxmint:17:cups-devel] +packages=libcups2-dev,cups-bsd,cups-client + +[linuxmint:17:gcc] +packages=build-essential + +[linuxmint:17:gs] +packages=ghostscript + +[linuxmint:17:libcrypto] +packages=openssl + +[linuxmint:17:libjpeg] +packages=libjpeg8-dev + +[linuxmint:17:libnetsnmp-devel] +packages=libsnmp-dev,snmp-mibs-downloader + +[linuxmint:17:libpthread] +packages=build-essential + +[linuxmint:17:libtool] +packages=libtool + +[linuxmint:17:libusb] +packages=libusb-1.0.0-dev + +[linuxmint:17:make] +packages=build-essential + +[linuxmint:17:pil] +packages=python-imaging + +[linuxmint:17:ppdev] +packages= +commands=sudo modprobe ppdev,sudo cp -f /etc/modules /etc/modules.hplip,echo ppdev | sudo tee -a /etc/modules + +[linuxmint:17:pyqt] +packages=python-qt4 + +[linuxmint:17:python-devel] +packages=python-dev + +[linuxmint:17:pyqt4] +packages=python-qt4 + +[linuxmint:17:pyqt4-dbus] +packages=python-qt4-dbus + +#[linuxmint:17:python23] +#packages=python + +[linuxmint:17:python2X] +packages=python + +[linuxmint:17:reportlab] +packages=python-reportlab + +[linuxmint:17:sane] +packages=libsane + +[linuxmint:17:sane-devel] +packages=libsane-dev + +[linuxmint:17:scanimage] +packages=sane-utils + +[linuxmint:17:xsane] +packages=xsane + +[linuxmint:17:python-dbus] +packages=python-dbus,python-gobject + +[linuxmint:17:dbus] +packages=libdbus-1-dev + +[linuxmint:17:cups-image] +packages=libcupsimage2-dev + +[linuxmint:17:cups-ddk] +packages=cups,libcupsimage2-dev + +[linuxmint:17:policykit] +packages=policykit-1,policykit-1-gnome + +[linuxmint:17:python-notify] +packages=python-notify + +[linuxmint:17:network] +packages=wget + +[linuxmint:17:avahi-utils] +packages=avahi-utils + + +[linuxmint:17:python3-notify2] +packages=python3-notify2 + +[linuxmint:17:python3-pyqt4-dbus] +packages=python3-dbus.mainloop.qt + +[linuxmint:17:python3-pyqt4] +packages=python3-pyqt4 + +[linuxmint:17:python3-dbus] +packages=python3-dbus,python3-gi + +[linuxmint:17:python3-xml] +packages=python3-lxml + +[linuxmint:17:python3-devel] +packages=python3-dev + +[linuxmint:17:python3-pil] +packages=python3-pil + + # **************************************** @@ -5683,7 +6338,7 @@ [linpus:9.5:python23] packages=python -[linpus:9.5:python2x] +[linpus:9.5:python2X] packages=python [linpus:9.5:reportlab] @@ -5798,7 +6453,7 @@ [linpus:9.4:python23] packages=python -[linpus:9.4:python2x] +[linpus:9.4:python2X] packages=python [linpus:9.4:reportlab] @@ -5931,7 +6586,7 @@ [gos:8.04.1:python23] packages=python -[gos:8.04.1:python2x] +[gos:8.04.1:python2X] packages=python [gos:8.04.1:reportlab] @@ -5969,7 +6624,6 @@ [gos:8.04.1:avahi-utils] packages=avahi - # **************************************** [boss] index=34 @@ -6066,7 +6720,7 @@ [boss:3.0:python23] packages=python -[boss:3.0:python2x] +[boss:3.0:python2X] packages=python [boss:3.0:reportlab] @@ -6309,7 +6963,7 @@ [lfs:6:python23] packages=python -[lfs:6:python2x] +[lfs:6:python2X] packages=python [lfs:6:reportlab] diff -Nru hplip-3.14.6/installer/pluginhandler.py hplip-3.15.2/installer/pluginhandler.py --- hplip-3.14.6/installer/pluginhandler.py 2014-06-03 06:31:24.000000000 +0000 +++ hplip-3.15.2/installer/pluginhandler.py 2015-01-29 12:20:24.000000000 +0000 @@ -20,18 +20,14 @@ # import os -import cStringIO -import time -import string import shutil -import urllib # TODO: Replace with urllib2 (urllib is deprecated in Python 3.0) from base import utils, tui, os_utils, validation from base.g import * from base.codes import * from base.strings import * +from base.sixext.moves import configparser from installer import core_install -from base import pexpect try: import hashlib # new in 2.5 @@ -51,7 +47,6 @@ - class PluginHandle(object): def __init__(self, pluginPath = prop.user_dir): self.__plugin_path = pluginPath @@ -91,7 +86,7 @@ # Copying plugin.spec file to home dir. if src_dir != HOMEDIR: shutil.copyfile(src_dir+"/plugin.spec", HOMEDIR+"/plugin.spec") - os.chmod(HOMEDIR+"/plugin.spec",0644) + os.chmod(HOMEDIR+"/plugin.spec",0o644) processor = utils.getProcessor() if processor == 'power_machintosh': @@ -166,7 +161,7 @@ for src, trg, link in copies: if link != "": - if utils.check_library(link) == False: + if not utils.check_library(link): self.__plugin_state = PLUGIN_FILES_CORRUPTED @@ -183,8 +178,7 @@ try: try: if self.__plugin_conf_file.startswith('file://'): - filename, headers = urllib.urlretrieve(self.__plugin_conf_file, local_conf, callback) - + status, filename = utils.download_from_network(self.__plugin_conf_file, local_conf, True) else: wget = utils.which("wget", True) if wget: @@ -195,7 +189,7 @@ else: log.error("Please install wget package to download the plugin.") return status, url, check_sum - except IOError, e: + except IOError as e: log.error("I/O Error: %s" % e.strerror) return status, url, check_sum @@ -208,8 +202,8 @@ url = plugin_conf_p.get(self.__required_version, 'url','') check_sum = plugin_conf_p.get(self.__required_version, 'checksum') status = ERROR_SUCCESS - except (KeyError, ConfigParser.NoSectionError): - log.error("Error reading plugin.conf: Missing section [%s]" % self.__required_version) + except (KeyError, configparser.NoSectionError) as e: + log.error("Error reading plugin.conf: Missing section [%s] Error[%s]" % (self.__required_version,e)) return ERROR_FILE_NOT_FOUND, url, check_sum if url == '': @@ -223,18 +217,20 @@ def __validatePlugin(self,plugin_file, digsig_file, req_checksum): - calc_checksum = get_checksum(file(plugin_file, 'r').read()) + + #Validate Checksum + calc_checksum = get_checksum(open(plugin_file, 'rb').read()) log.debug("D/L file checksum=%s" % calc_checksum) if req_checksum and req_checksum != calc_checksum: return ERROR_CHECKSUM_ERROR, queryString(ERROR_CHECKSUM_ERROR, 0, plugin_file) + #Validate Digital Signatures gpg_obj = validation.GPG_Verification() digsig_sts, error_str = gpg_obj.validate(plugin_file, digsig_file) return digsig_sts, error_str - def __setPluginConfFile(self): home = sys_conf.get('dirs', 'home') @@ -252,6 +248,7 @@ def download(self, pluginPath='',callback = None): + core = core_install.CoreInstall() if pluginPath:# and os.path.exists(pluginPath): @@ -268,19 +265,19 @@ try: os.umask(0) if not os.path.exists(self.__plugin_path): - os.makedirs(self.__plugin_path, 0755) + os.makedirs(self.__plugin_path, 0o755) if os.path.exists(plugin_file): os.remove(plugin_file) if os.path.exists(plugin_file+'.asc'): os.remove(plugin_file+'.asc') - except (OSError, IOError), e: + except (OSError, IOError) as e: log.error("Failed in OS operations:%s "%e.strerror) return ERROR_DIRECTORY_NOT_FOUND, "", self.__plugin_path + queryString(102) try: if src.startswith('file://'): - filename, headers = urllib.urlretrieve(src, plugin_file, callback) + status, filename = utils.download_from_network(src, plugin_file, True) else: wget = utils.which("wget", True) if wget: @@ -297,16 +294,17 @@ log.debug(cmd) status, output = utils.run(cmd) - if status != 0 or os_utils.getFileSize(plugin_file) <= 0: - log.error("Plug-in download is failed from both URL and fallback location.") - return ERROR_FILE_NOT_FOUND, "", queryString(ERROR_FILE_NOT_FOUND, 0, plugin_file) - except IOError, e: + except IOError as e: log.error("Plug-in download failed: %s" % e.strerror) return ERROR_FILE_NOT_FOUND, "", queryString(ERROR_FILE_NOT_FOUND, 0, plugin_file) - if core.isErrorPage(file(plugin_file, 'r').read(1024)): - log.debug(file(plugin_file, 'r').read(1024)) + if status !=0 or os_utils.getFileSize(plugin_file) <= 0: + log.error("Plug-in download failed." ) + return ERROR_FILE_NOT_FOUND, "", queryString(ERROR_FILE_NOT_FOUND, 0, plugin_file) + + if core.isErrorPage(open(plugin_file, 'r').read(1024)): + log.debug("open(plugin_file, 'r').read(1024)") os.remove(plugin_file) return ERROR_FILE_NOT_FOUND, "", queryString(ERROR_FILE_NOT_FOUND, 0, plugin_file) @@ -318,17 +316,21 @@ try: if digsig_url.startswith('file://'): - filename, headers = urllib.urlretrieve(digsig_url, digsig_file, callback) + status, filename = utils.download_from_network(digsig_url, digsig_file, True) else: cmd = "%s --cache=off -P %s %s" % (wget,self.__plugin_path,digsig_url) log.debug(cmd) status, output = utils.run(cmd) - except IOError, e: + except IOError as e: log.error("Plug-in GPG file [%s] download failed: %s" % (digsig_url,e.strerror)) return ERROR_DIGITAL_SIGN_NOT_FOUND, plugin_file, queryString(ERROR_DIGITAL_SIGN_NOT_FOUND, 0, digsig_file) - if core.isErrorPage(file(digsig_file, 'r').read(1024)): - log.debug(file(digsig_file, 'r').read()) + if status !=0: + log.error("Plug-in GPG file [%s] download failed." % (digsig_url)) + return ERROR_DIGITAL_SIGN_NOT_FOUND, plugin_file, queryString(ERROR_DIGITAL_SIGN_NOT_FOUND, 0, digsig_file) + + if core.isErrorPage(open(digsig_file, 'r').read(1024)): + log.debug(open(digsig_file, 'r').read()) os.remove(digsig_file) return ERROR_DIGITAL_SIGN_NOT_FOUND, plugin_file, queryString(ERROR_DIGITAL_SIGN_NOT_FOUND, 0, digsig_file) @@ -382,7 +384,7 @@ if not os.path.exists(trg_dir): log.debug("Target directory %s does not exist. Creating." % trg_dir) - os.makedirs(trg_dir, 0755) + os.makedirs(trg_dir, 0o755) if not os.path.isdir(trg_dir): log.error("Target directory %s exists but is not a directory. Skipping." % trg_dir) @@ -390,7 +392,7 @@ try: shutil.copyfile(src, trg) - except (IOError, OSError), e: + except (IOError, OSError) as e: log.error("File copy failed: %s" % e.strerror) continue @@ -410,7 +412,7 @@ try: os.symlink(trg, link) - except (OSError, IOError), e: + except (OSError, IOError) as e: log.debug("Unable to create symlink: %s" % e.strerror) pass @@ -433,7 +435,7 @@ home = sys_conf.get('dirs', 'home') files = self.__getPluginFilesList(home) - if size(files) == 0: + if len(files) == 0: log.debug("Fail to get Plugin files list") return False diff -Nru hplip-3.14.6/installer/text_install.py hplip-3.15.2/installer/text_install.py --- hplip-3.14.6/installer/text_install.py 2014-06-03 06:31:24.000000000 +0000 +++ hplip-3.15.2/installer/text_install.py 2015-01-29 12:20:24.000000000 +0000 @@ -25,13 +25,19 @@ import sys import getpass import signal +import re # Local -from base.g import * -from base import utils, tui -from core_install import * +from base.g import * +from base import utils, tui, os_utils +from base.sixext import PY3 +from .core_install import * from installer import pluginhandler +# Workaround due to incomplete Python3 support in Linux distros. +PIP_PACKAGE_SEARCH = "PKG_FROM_PIP:" +Fedora_Py3 = False +xsane_reg = re.compile(r'\b({0})\b'.format("xsane")) def progress_callback(cmd="", desc="Working..."): if cmd: @@ -117,7 +123,7 @@ auto = True elif choice == 'w': - import web_install + from . import web_install log.debug("Starting web browser installer...") web_install.start(language) return @@ -178,6 +184,10 @@ if not ok: sys.exit(0) + if PY3 and core.distro_name.lower() == 'fedora': + global Fedora_Py3 # Workaround due to incomplete Python3 support in Linux distros. + Fedora_Py3 = True + if distro_alternate_version: core.distro_version = distro_alternate_version @@ -224,8 +234,8 @@ (core.distro, core.distro_name, distro_display_name)) if core.distro != DISTRO_UNKNOWN: - versions = core.distros[core.distro_name]['versions'].keys() - versions.sort(lambda x, y: utils.compare(x, y)) + versions = list(core.distros[core.distro_name]['versions'].keys()) + versions.sort(key=utils.cmp_to_key(cmp)) log.info(log.bold('\nChoose the version of "%s" that most closely matches your system:\n' % distro_display_name)) formatter = utils.TextFormatter( @@ -364,6 +374,7 @@ # package_mgr_cmd = core.get_distro_data('package_mgr_cmd') depends_to_install = [] + depends_to_install_using_pip = [] if num_req_missing: tui.title("INSTALL MISSING REQUIRED DEPENDENCIES") @@ -372,6 +383,8 @@ for depend, desc, option in core.missing_required_dependencies(): log.warning("Missing REQUIRED dependency: %s (%s)" % (depend, desc)) + if Fedora_Py3: # Workaround due to incomplete Python3 support in Linux distros. + continue ok = False packages, commands = core.get_dependency_data(depend,distro_alternate_version) @@ -384,11 +397,16 @@ answer = True else: ok, answer = tui.enter_yes_no("\nWould you like to have this installer install the missing dependency") - if not ok: sys.exit(0) + if not ok: sys.exit(0) ### TBD: TELL CUSTOMER THAT YOU ARE QUITTING if answer: ok = True - log.debug("Adding '%s' to list of dependencies to install." % depend) + log.debug("Adding '%s' to list of dependencies to install. %s" % (depend,packages)) + #Adding package which requires python(3)-pip package. + for pk in packages: + if PIP_PACKAGE_SEARCH in pk: + depends_to_install_using_pip.append(pk.replace(PIP_PACKAGE_SEARCH,'')) + depends_to_install.append(depend) else: @@ -398,6 +416,16 @@ log.error("Installation cannot continue without this dependency. Please manually install this dependency and re-run this installer.") sys.exit(0) + + if Fedora_Py3: # Workaround due to incomplete Python3 support in Linux distros. + log.info("") + log.error("'yum' tool required for package downloads is not supported for Python 3 environments by Fedora.\nHPLIP installation failed.") + log.info("") + log.warn(log.bold("Manually install the required dependencies to to use HPLIP with Python 3.x on Fedora. More information is available at http://hplipopensource.com/node/369")) + log.info("") + sys.exit(1) + + # # OPTIONAL dependencies # @@ -415,6 +443,9 @@ else: log.warning("Missing OPTIONAL dependency for option '%s': %s (%s)" % (opt, depend, desc)) + if Fedora_Py3: # Workaround due to incomplete Python3 support in Linux distros. + continue + installed = False packages, commands = core.get_dependency_data(depend,distro_alternate_version) log.debug("Packages: %s" % ','.join(packages)) @@ -430,11 +461,16 @@ if not ok: sys.exit(0) if answer: - log.debug("Adding '%s' to list of dependencies to install." % depend) + log.debug("Adding '%s' to list of dependencies to install. %s" % (depend,packages)) + #Adding package which requires python(3)-pip package. + for pk in packages: + if PIP_PACKAGE_SEARCH in pk: + depends_to_install_using_pip.append(pk.replace(PIP_PACKAGE_SEARCH,'')) + depends_to_install.append(depend) else: - log.warning("Missing dependencies may effect the proper functioning of HPLIP. Please manually install this dependency after you exit this installer.") + log.warning("Missing dependencies may affect the proper functioning of HPLIP. Please manually install this dependency after you exit this installer.") log.warning("Note: Options that have REQUIRED dependencies that are missing will be turned off.") if required_for_opt: @@ -447,6 +483,13 @@ log.warn("Option '%s' has been turned off." % opt) core.selected_options[opt] = False + if Fedora_Py3: # Workaround due to incomplete Python3 support in Linux distros. + log.info("") + log.warn("'yum' tool required for package downloads is not supported for Python 3 environments by Fedora.") + log.warn("Missing dependencies may affect the proper functioning of HPLIP") + log.info("") + log.notice(log.bold("Manually install the above missing dependencies if required. More information is available at http://hplipopennsource.com/node/369")) + log.info("") log.debug("Dependencies to install: %s hplip_present:%s" % (depends_to_install, core.hplip_present)) @@ -489,8 +532,9 @@ # tui.title("RUNNING PRE-PACKAGE COMMANDS") - core.run_pre_depend(progress_callback,distro_alternate_version) - log.info("OK") + if not Fedora_Py3: # Workaround due to incomplete Python3 support in Linux distros. + core.run_pre_depend(progress_callback,distro_alternate_version) + log.info("OK") # # INSTALL PACKAGES AND RUN COMMANDS @@ -533,12 +577,42 @@ log.debug("Commands: %s" % commands_to_run) log.debug("Install individual packages: %s" % individual_pkgs) + PY_PIP = False + if len(depends_to_install_using_pip): # Workaround due to incomplete Python3 support in Linux distros. + if PY3: + packages_to_install = 'python3-pip' + else: + packages_to_install = 'python-pip' + + cmd = utils.cat(package_mgr_cmd) + log.info("Running '%s'\nPlease wait, this may take several minutes..." % cmd) + status, output = utils.run(cmd, core.passwordObj) + if status != 0: + log.error("Package install command failed with error code %d" % status) + log.warn("Some HPLIP functionality might not function due to missing package(s). [%s]"%depends_to_install_using_pip) + if PY3: # Workaround due to incomplete Python3 support in Linux distros. + log.notice(log.bold("More information is available at http://hplipopensource.com/node/369")) + sys.exit(1) + else: + PY_PIP = True + + if package_mgr_cmd and packages: if individual_pkgs: for packages_to_install in packages: + if PIP_PACKAGE_SEARCH in packages_to_install: + continue #This will be installed using python(3)-pip + + # Workaround due to incomplete Python3 support in Linux distros. + xsane_var = PY3 and core.get_distro_data('display_name', '(unknown)') in ["Ubuntu", "Linux Mint"] retries = 0 while True: cmd = utils.cat(package_mgr_cmd) + # Workaround due to incomplete Python3 support in Linux distros. + if xsane_var and xsane_reg.search(cmd): + package_mgr_cmd_xsane = "sudo apt-get install --no-install-recommends --assume-yes $packages_to_install" + cmd = utils.cat(package_mgr_cmd_xsane) + log.debug("Package manager command: %s" % cmd) log.info("Running '%s'\nPlease wait, this may take several minutes..." % cmd) @@ -551,6 +625,10 @@ continue log.error("Package install command failed with error code %d" % status) + if PY3: + log.notice("Some installation may not get installed on python3 due to distro incompatibilites") + log.info("") + log.notice("Please check for more information at http://hplipopensource.com/node/369") ok, ans = tui.enter_yes_no("Would you like to retry installing the missing package(s)") if not ok: @@ -587,6 +665,18 @@ break else: break + if PY_PIP: + pip_cmd = utils.find_pip() + if pip_cmd: + for d in depends_to_install_using_pip: + cmd = "%s install %s"%(pip_cmd,d) + cmd = core.passwordObj.getAuthCmd()%cmd + log.info("Running '%s'\nPlease wait, this may take several minutes..." % cmd) + status, output = utils.run(cmd, core.passwordObj) + if status != 0: + log.error("Package install command failed with error code %d" % status) + log.warn("Some HPLIP functionality might not function due to missing package(s). [%s]"%d) + if commands_to_run: for cmd in commands_to_run: @@ -599,8 +689,6 @@ sys.exit(1) - - # # HPLIP REMOVE # @@ -612,7 +700,7 @@ if num_req_missing == 0 and core.hplip_present and core.selected_component == 'hplip' and core.distro_version_supported: path = utils.which('hp-uninstall') - ok, choice = tui.enter_choice("HPLIP-%s exists, this may conflict with the new one being installed.\nDo you want to ('i'= Remove and Install*, 'o'= Overwrite, 'q'= Quit)? :"%(prev_hplip_version),['i','o','q'],'i') + ok, choice = tui.enter_choice("HPLIP-%s exists, this may conflict with the new one being installed.\nDo you want to ('i'= Remove and Install*, 'o'= Overwrite, 'q'= Quit)? :"%(prev_hplip_version),['i','o','q'],'i') if not ok or choice=='q': log.error("User Exit") sys.exit(0) @@ -687,7 +775,7 @@ log.info("OK") tui.title("BUILD AND INSTALL") - os.umask(0022) + os.umask(0o022) for cmd in core.build_cmds(): log.info("Running '%s'\nPlease wait, this may take several minutes..." % cmd) status, output = utils.run(cmd , core.passwordObj) @@ -695,6 +783,7 @@ if status != 0: if 'configure' in cmd: log.error("Configure failed with error: %s" % (CONFIGURE_ERRORS.get(status, CONFIGURE_ERRORS[1]))) + log.error("output = %s"%output) else: log.error("'%s' command failed with status code %d" % (cmd, status)) @@ -871,4 +960,3 @@ log.error("Aborted.") sys.exit(0) - diff -Nru hplip-3.14.6/install.py hplip-3.15.2/install.py --- hplip-3.14.6/install.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/install.py 2015-01-29 12:20:49.000000000 +0000 @@ -19,7 +19,7 @@ # # Author: Don Welch # - +from __future__ import print_function __version__ = '5.1' __title__ = 'HPLIP Installer' __mod__ = 'hplip-install' @@ -86,10 +86,10 @@ disable = [] if((re.search(' ',os.getcwd()))!= None): - log.info("Current hplip source directory path has space character in it. Please update path by removing space characters. Example: Change %s.run to %s.run" % (os.getcwd(),(os.getcwd()).replace(' ',''))) - cmd = "rm -r ../%s" % (os.getcwd()).rsplit('/').pop() - os_utils.execute(cmd) - sys.exit(0) + log.info("Current hplip source directory path has space character in it. Please update path by removing space characters. Example: Change %s.run to %s.run" % (os.getcwd(),(os.getcwd()).replace(' ',''))) + cmd = "rm -r ../%s" % (os.getcwd()).rsplit('/').pop() + os_utils.execute(cmd) + sys.exit(0) try: opts, args = getopt.getopt(sys.argv[1:], 'hl:giatxdq:nr:b', @@ -98,7 +98,7 @@ 'network', 'retries=', 'enable=', 'disable=', 'no-qt4', 'policykit', 'no-policykit', 'debug']) -except getopt.GetoptError, e: +except getopt.GetoptError as e: log.error(e.msg) usage() sys.exit(1) @@ -120,7 +120,7 @@ language = a.lower() elif o == '--help-desc': - print __doc__, + print(__doc__, end=' ') sys.exit(0) elif o in ('-l', '--logging'): diff -Nru hplip-3.14.6/io/hpmud/dot4.h hplip-3.15.2/io/hpmud/dot4.h --- hplip-3.14.6/io/hpmud/dot4.h 2014-06-03 06:33:07.000000000 +0000 +++ hplip-3.15.2/io/hpmud/dot4.h 2015-01-29 12:20:45.000000000 +0000 @@ -25,6 +25,7 @@ #ifndef _DOT4_H #define _DOT4_H +#include "mlc.h" enum DOT4_COMMAND { diff -Nru hplip-3.14.6/io/hpmud/hpmud.c hplip-3.15.2/io/hpmud/hpmud.c --- hplip-3.14.6/io/hpmud/hpmud.c 2014-06-03 06:33:07.000000000 +0000 +++ hplip-3.15.2/io/hpmud/hpmud.c 2015-01-29 12:20:45.000000000 +0000 @@ -86,7 +86,9 @@ int __attribute__ ((visibility ("hidden"))) is_hp(const char *id) { char *pMf; - + if (id == 0 || id[0] == 0) + return 0; + if ((pMf = strstr(id, "MFG:")) != NULL) pMf+=4; else if ((pMf = strstr(id, "MANUFACTURER:")) != NULL) @@ -107,6 +109,10 @@ const char *pMd=sz; int i, j, dd=0; + if (sz == 0 || sz[0] == 0) + return 0; + + for (i=0; pMd[i] == ' ' && i < bufSize; i++); /* eat leading white space */ for (j=0; (pMd[i] != 0) && (pMd[i] != ';') && (j < bufSize); i++) @@ -138,7 +144,10 @@ { const char *pMd=sz; int i, j; - + + if (sz == 0 || sz[0] == 0) + return 0; + for (i=0; pMd[i] == ' ' && i < bufSize; i++); /* eat leading white space */ for (j=0; (pMd[i] != 0) && (i < bufSize); i++) @@ -159,6 +168,9 @@ char *p; int i; + if (uri == 0 || uri[0] == 0) + return 0; + buf[0] = 0; if ((p = strcasestr(uri, "serial=")) != NULL) @@ -269,12 +281,13 @@ return stat; } + static int new_device(const char *uri, enum HPMUD_IO_MODE mode, int *result) { int index=0; /* device[0] is unused */ int i=1; - if (uri[0] == 0) + if (uri == 0 || uri[0] == 0) return 0; pthread_mutex_lock(&msp->mutex); @@ -312,6 +325,7 @@ index = 0; goto bugout; } + *result = HPMUD_R_OK; msp->device[i].io_mode = mode; msp->device[i].index = index; msp->device[i].channel_cnt = 0; @@ -340,6 +354,8 @@ { int i, dd=1; + if (!ps) return 0; + if(!ps->device[dd].index) return 0; /* nothing to do */ @@ -382,6 +398,9 @@ { char *pMd; + if (id == 0 || id[0] == 0) + return 0; + buf[0] = 0; if ((pMd = strstr(id, "MDL:")) != NULL) @@ -400,6 +419,9 @@ char *pMd; int i; + if (id == 0 || id[0] == 0) + return 0; + raw[0] = 0; if ((pMd = strstr(id, "MDL:")) != NULL) @@ -422,6 +444,9 @@ char *p; int i; + if (uri == 0 || uri[0] == 0) + return 0; + buf[0] = 0; if ((p = strstr(uri, "/")) == NULL) @@ -448,6 +473,9 @@ char ip[HPMUD_LINE_SIZE]; #endif + if (uri == 0 || uri[0] == 0) + return 0; + buf[0] = 0; if ((p = strcasestr(uri, "device=")) != NULL) @@ -579,7 +607,9 @@ int len=0; DBG("[%d] hpmud_probe_devices() bus=%d\n", getpid(), bus); - + if (buf == NULL || buf_size <= 0) + return HPMUD_R_INVALID_LENGTH; + buf[0] = 0; *cnt = 0; @@ -702,4 +732,3 @@ bugout: return stat; } - diff -Nru hplip-3.14.6/io/hpmud/hpmud.h hplip-3.15.2/io/hpmud/hpmud.h --- hplip-3.14.6/io/hpmud/hpmud.h 2014-06-03 06:33:07.000000000 +0000 +++ hplip-3.15.2/io/hpmud/hpmud.h 2015-01-29 12:20:45.000000000 +0000 @@ -548,3 +548,25 @@ #endif // _HPMUD_H +/*********************** For Python 2.X and 3.X support ***************************/ + + +#if PY_MAJOR_VERSION >= 3 + #define MOD_ERROR_VAL NULL + #define MOD_SUCCESS_VAL(val) val + #define MOD_INIT(name) PyMODINIT_FUNC PyInit_##name(void) + #define MOD_DEF(ob, name, doc, methods) \ + static struct PyModuleDef moduledef = { \ + PyModuleDef_HEAD_INIT, name, doc, -1, methods, }; \ + ob = PyModule_Create(&moduledef); + #define FORMAT_STRING "(iy#ii)" + #define FORMAT_STRING1 "(iy#)" +#else + #define MOD_ERROR_VAL + #define MOD_SUCCESS_VAL(val) + #define MOD_INIT(name) void init##name(void) + #define MOD_DEF(ob, name, doc, methods) \ + ob = Py_InitModule3(name, methods, doc); + #define FORMAT_STRING "(is#ii)" + #define FORMAT_STRING1 "(is#)" +#endif diff -Nru hplip-3.14.6/io/hpmud/hpmudi.h hplip-3.15.2/io/hpmud/hpmudi.h --- hplip-3.14.6/io/hpmud/hpmudi.h 2014-06-03 06:33:07.000000000 +0000 +++ hplip-3.15.2/io/hpmud/hpmudi.h 2015-01-29 12:20:45.000000000 +0000 @@ -209,13 +209,15 @@ int __attribute__ ((visibility ("hidden"))) get_uri_model(const char *uri, char *buf, int bufSize); int __attribute__ ((visibility ("hidden"))) get_uri_serial(const char *uri, char *buf, int bufSize); enum HPMUD_RESULT __attribute__ ((visibility ("hidden"))) service_to_channel(mud_device *pd, const char *sn, HPMUD_CHANNEL *index); -int (*getSIData)(char **pData , int *pDataLen, char **pModeSwitch, int *pModeSwitchLen); -void (*freeSIData)(char *pData, char *pModeSwitch); +extern int (*getSIData)(char **pData , int *pDataLen, char **pModeSwitch, int *pModeSwitchLen); +extern void (*freeSIData)(char *pData, char *pModeSwitch); static const char *SnmpPort[] = { "","public","public.1","public.2","public.3"}; + #define PORT_PUBLIC 1 #define PORT_PUBLIC_1 2 #define PORT_PUBLIC_2 3 #define PORT_PUBLIC_3 4 + #endif // _HPMUDI_H diff -Nru hplip-3.14.6/io/hpmud/jd.c hplip-3.15.2/io/hpmud/jd.c --- hplip-3.14.6/io/hpmud/jd.c 2014-06-03 06:33:07.000000000 +0000 +++ hplip-3.15.2/io/hpmud/jd.c 2015-01-29 12:20:45.000000000 +0000 @@ -24,7 +24,6 @@ Author: Naga Samrat Chowdary Narla, Sarbeswar Meher \*****************************************************************************/ - #ifdef HAVE_LIBNETSNMP #ifndef _GNU_SOURCE @@ -50,7 +49,7 @@ static mud_channel_vf jd_channel_vf = { - .open = jd_s_channel_open, + .open = jd_s_channel_open, .close = jd_s_channel_close, .channel_write = jd_s_channel_write, .channel_read = jd_s_channel_read @@ -87,11 +86,12 @@ maxSize = (size > 1024) ? 1024 : size; /* RH8 has a size limit for device id */ if ((len = GetSnmp(iporhostname, port, (char *)kStatusOID, (unsigned char *)buffer, maxSize, &dt, &status, &result)) == 0) - { + { + //Try one more time with previous default community name string "public.1" which was used for old HP printers. if ((len = GetSnmp(iporhostname, PORT_PUBLIC_1, (char *)kStatusOID, (unsigned char *)buffer, maxSize, &dt, &status, &result)) == 0) - { - BUG("unable to read device-id\n"); - } + { + BUG("unable to read device-id\n"); + } } return len; /* length does not include zero termination */ @@ -172,6 +172,7 @@ pd->port = strtol(p+5, &tail, 10); else pd->port = PORT_PUBLIC; + if (pd->port > PORT_PUBLIC_3) { stat = HPMUD_R_INVALID_IP_PORT; @@ -669,7 +670,10 @@ int i, x=0; unsigned char *p=dns_name; - for (i=0; i +#include #include "utils.h" diff -Nru hplip-3.14.6/io/mudext/hpmudext.c hplip-3.15.2/io/mudext/hpmudext.c --- hplip-3.14.6/io/mudext/hpmudext.c 2014-06-03 06:33:07.000000000 +0000 +++ hplip-3.15.2/io/mudext/hpmudext.c 2015-01-29 12:20:44.000000000 +0000 @@ -25,6 +25,7 @@ \*****************************************************************************/ #include +#include #include "hpmud.h" #include "hpmudi.h" @@ -35,6 +36,12 @@ #define PY_SSIZE_T_MIN INT_MIN #endif +#define _STRINGIZE(x) #x +#define STRINGIZE(x) _STRINGIZE(x) + + + + /* HPMUDEXT API: @@ -213,7 +220,7 @@ result = hpmud_read_channel(dd, cd, (void *)buf, bytes_to_read, timeout, &bytes_read); Py_END_ALLOW_THREADS - return Py_BuildValue("(is#)", result, buf, bytes_read); + return Py_BuildValue(FORMAT_STRING1, result, buf, bytes_read); } static PyObject *set_pml(PyObject *self, PyObject *args) @@ -254,8 +261,7 @@ Py_BEGIN_ALLOW_THREADS result = hpmud_get_pml(dd, cd, oid, (void *)buf, HPMUD_BUFFER_SIZE * 4, &bytes_read, &type, &pml_result); Py_END_ALLOW_THREADS - - return Py_BuildValue("(is#ii)", result, buf, bytes_read, type, pml_result); + return Py_BuildValue(FORMAT_STRING, result, buf, bytes_read, type, pml_result); } static PyObject *make_usb_uri(PyObject *self, PyObject *args) @@ -273,7 +279,7 @@ result = hpmud_make_usb_uri(busnum, devnum, uri, HPMUD_BUFFER_SIZE, &bytes_read); Py_END_ALLOW_THREADS - return Py_BuildValue("(is#)", result, uri, bytes_read); + return Py_BuildValue(FORMAT_STRING1, result, uri, bytes_read); } #ifdef HAVE_LIBNETSNMP @@ -292,12 +298,12 @@ result = hpmud_make_net_uri(ip, port, uri, HPMUD_BUFFER_SIZE, &bytes_read); Py_END_ALLOW_THREADS - return Py_BuildValue("(is#)", result, uri, bytes_read); + return Py_BuildValue(FORMAT_STRING1, result, uri, bytes_read); } #else static PyObject *make_net_uri(PyObject *self, PyObject *args) { - return Py_BuildValue("(is#)", HPMUD_R_INVALID_URI, "", 0); + return Py_BuildValue(FORMAT_STRING1, HPMUD_R_INVALID_URI, "", 0); } #endif /* HAVE_LIBSNMP */ @@ -317,12 +323,12 @@ result = hpmud_make_mdns_uri(hn, port, uri, HPMUD_BUFFER_SIZE, &bytes_read); Py_END_ALLOW_THREADS - return Py_BuildValue("(is#)", result, uri, bytes_read); + return Py_BuildValue(FORMAT_STRING1, result, uri, bytes_read); } #else static PyObject *make_zc_uri(PyObject *self, PyObject *args) { - return Py_BuildValue("(is#)", HPMUD_R_INVALID_URI, "", 0); + return Py_BuildValue(FORMAT_STRING1, HPMUD_R_INVALID_URI, "", 0); } #endif /* HAVE_LIBSNMP */ @@ -364,12 +370,12 @@ result = hpmud_make_par_uri(devnode, uri, HPMUD_BUFFER_SIZE, &bytes_read); Py_END_ALLOW_THREADS - return Py_BuildValue("(is#)", result, uri, bytes_read); + return Py_BuildValue(FORMAT_STRING1, result, uri, bytes_read); } #else static PyObject *make_par_uri(PyObject *self, PyObject *args) { - return Py_BuildValue("(is#)", HPMUD_R_INVALID_URI, "", 0); + return Py_BuildValue(FORMAT_STRING1, HPMUD_R_INVALID_URI, "", 0); } #endif /* HAVE_PPORT */ @@ -408,7 +414,7 @@ static void insint(PyObject *d, char *name, int value) { - PyObject *v = PyInt_FromLong((long) value); + PyObject *v = PyLong_FromLong((long) value); if (!v || PyDict_SetItemString(d, name, v)) Py_FatalError("Initialization failed."); @@ -418,7 +424,7 @@ static void insstr(PyObject *d, char *name, char *value) { - PyObject *v = PyString_FromString(value); + PyObject *v = PyUnicode_FromString(value); if (!v || PyDict_SetItemString(d, name, v)) Py_FatalError("Initialization failed."); @@ -426,15 +432,30 @@ Py_DECREF(v); } +#if PY_MAJOR_VERSION >= 3 + static struct PyModuleDef moduledef = { + PyModuleDef_HEAD_INIT, + "hpmudext", /* m_name */ + mudext_documentation, /* m_doc */ + -1, /* m_size */ + mudext_functions, /* m_methods */ + NULL, /* m_reload */ + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL, /* m_free */ + }; +#endif -void inithpmudext(void) +/*void inithpmudext(void)*/ +/*PyObject* PyInit_hpmudext(void) { - PyObject *mod = Py_InitModule3("hpmudext", mudext_functions, mudext_documentation); + /*PyObject *mod = Py_InitModule3("hpmudext", mudext_functions, mudext_documentation);*/ + /* PyObject* mod = PyModule_Create(&moduledef); if (mod == NULL) - return; + return NULL ; - PyObject * d = PyModule_GetDict(mod); + PyObject* d = PyModule_GetDict(mod); // enum HPMUD_RESULT insint(d, "HPMUD_R_OK", HPMUD_R_OK); @@ -491,6 +512,78 @@ // Max buffer size insint(d, "HPMUD_BUFFER_SIZE", HPMUD_BUFFER_SIZE); + return mod; + } + */ + +MOD_INIT(hpmudext) { + PyObject* mod ; + MOD_DEF(mod, "hpmudext", mudext_documentation, mudext_functions); + if (mod == NULL) + return MOD_ERROR_VAL; + +PyObject* d = PyModule_GetDict(mod); + + // enum HPMUD_RESULT + insint(d, "HPMUD_R_OK", HPMUD_R_OK); + insint(d, "HPMUD_R_INVALID_DEVICE", HPMUD_R_INVALID_DEVICE); + insint(d, "HPMUD_R_INVALID_DESCRIPTOR", HPMUD_R_INVALID_DESCRIPTOR); + insint(d, "HPMUD_R_INVALID_URI", HPMUD_R_INVALID_URI); + insint(d, "HPMUD_R_INVALID_LENGTH", HPMUD_R_INVALID_LENGTH); + insint(d, "HPMUD_R_IO_ERROR", HPMUD_R_IO_ERROR); + insint(d, "HPMUD_R_DEVICE_BUSY", HPMUD_R_DEVICE_BUSY); + insint(d, "HPMUD_R_INVALID_SN", HPMUD_R_INVALID_SN); + insint(d, "HPMUD_R_INVALID_CHANNEL_ID", HPMUD_R_INVALID_CHANNEL_ID); + insint(d, "HPMUD_R_INVALID_STATE", HPMUD_R_INVALID_STATE); + insint(d, "HPMUD_R_INVALID_DEVICE_OPEN", HPMUD_R_INVALID_DEVICE_OPEN); + insint(d, "HPMUD_R_INVALID_DEVICE_NODE", HPMUD_R_INVALID_DEVICE_NODE); + insint(d, "HPMUD_R_INVALID_IP", HPMUD_R_INVALID_IP); + insint(d, "HPMUD_R_INVALID_IP_PORT", HPMUD_R_INVALID_IP_PORT); + insint(d, "HPMUD_R_INVALID_TIMEOUT", HPMUD_R_INVALID_TIMEOUT); + insint(d, "HPMUD_R_DATFILE_ERROR", HPMUD_R_DATFILE_ERROR); + insint(d, "HPMUD_R_IO_TIMEOUT", HPMUD_R_IO_TIMEOUT); + + // enum HPMUD_IO_MODE + insint(d, "HPMUD_UNI_MODE", HPMUD_UNI_MODE); + insint(d, "HPMUD_RAW_MODE",HPMUD_RAW_MODE); + insint(d, "HPMUD_DOT4_MODE", HPMUD_DOT4_MODE); + insint(d, "HPMUD_DOT4_PHOENIX_MODE", HPMUD_DOT4_PHOENIX_MODE); + insint(d, "HPMUD_DOT4_BRIDGE_MODE", HPMUD_DOT4_BRIDGE_MODE); + insint(d, "HPMUD_MLC_GUSHER_MODE", HPMUD_MLC_GUSHER_MODE); + insint(d, "HPMUD_MLC_MISER_MODE", HPMUD_MLC_MISER_MODE); + + // enum HPMUD_BUS_ID + insint(d, "HPMUD_BUS_NA", HPMUD_BUS_NA); + insint(d, "HPMUD_BUS_USB", HPMUD_BUS_USB); + insint(d, "HPMUD_BUS_PARALLEL", HPMUD_BUS_PARALLEL); + insint(d, "HPMUD_BUS_ALL", HPMUD_BUS_ALL); + + // Channel names + insstr(d, "HPMUD_S_PRINT_CHANNEL", HPMUD_S_PRINT_CHANNEL); + insstr(d, "HPMUD_S_PML_CHANNEL", HPMUD_S_PML_CHANNEL); + insstr(d, "HPMUD_S_SCAN_CHANNEL", HPMUD_S_SCAN_CHANNEL); + insstr(d, "HPMUD_S_FAX_SEND_CHANNEL", HPMUD_S_FAX_SEND_CHANNEL); + insstr(d, "HPMUD_S_CONFIG_UPLOAD_CHANNEL", HPMUD_S_CONFIG_UPLOAD_CHANNEL); + insstr(d, "HPMUD_S_CONFIG_DOWNLOAD_CHANNEL", HPMUD_S_CONFIG_DOWNLOAD_CHANNEL); + insstr(d, "HPMUD_S_MEMORY_CARD_CHANNEL", HPMUD_S_MEMORY_CARD_CHANNEL); + insstr(d, "HPMUD_S_EWS_CHANNEL", HPMUD_S_EWS_CHANNEL); + insstr(d, "HPMUD_S_EWS_LEDM_CHANNEL", HPMUD_S_EWS_LEDM_CHANNEL); + insstr(d, "HPMUD_S_SOAP_SCAN", HPMUD_S_SOAP_SCAN); + insstr(d, "HPMUD_S_SOAP_FAX", HPMUD_S_SOAP_FAX); + insstr(d, "HPMUD_S_DEVMGMT_CHANNEL", HPMUD_S_DEVMGMT_CHANNEL); + insstr(d, "HPMUD_S_WIFI_CHANNEL", HPMUD_S_WIFI_CHANNEL); + insstr(d, "HPMUD_S_MARVELL_FAX_CHANNEL", HPMUD_S_MARVELL_FAX_CHANNEL); + insstr(d, "HPMUD_S_LEDM_SCAN", HPMUD_S_LEDM_SCAN); + insstr(d, "HPMUD_S_MARVELL_EWS_CHANNEL", HPMUD_S_MARVELL_EWS_CHANNEL); + + // Max buffer size + insint(d, "HPMUD_BUFFER_SIZE", HPMUD_BUFFER_SIZE); + + + return MOD_SUCCESS_VAL(mod); + +} + diff -Nru hplip-3.14.6/levels.py hplip-3.15.2/levels.py --- hplip-3.14.6/levels.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/levels.py 2015-01-29 12:20:49.000000000 +0000 @@ -46,6 +46,7 @@ adj = 100.0/size if adj==0.0: adj=100.0 bar = int(agent_level/adj) + size = int(size) if bar > (size-2): bar = size-2 if use_colors: @@ -67,7 +68,7 @@ if agent_type in (AGENT_TYPE_CMY, AGENT_TYPE_KCM): color = log.codes['fuscia'] - log.info(("-"*size)+color) + log.info(("-"*(size))+color) color = '' if use_colors: @@ -75,14 +76,15 @@ color = log.codes['yellow'] log.info("%s%s%s%s (approx. %d%%)%s" % ("|", bar_char*bar, - " "*(size-bar-2), "|", agent_level, color)) + " "*((size)-bar-2), "|", agent_level, color)) + color = '' if use_colors: color = log.codes['reset'] - log.info(("-"*size)+color) - + log.info(("-"*int(size))+color) + #log.info(("-"*(size))+color) log.set_module('hp-levels') @@ -102,6 +104,8 @@ mod.parseStdOpts('s:ca:', ['size=', 'color', 'char=']) device_uri = mod.getDeviceUri(device_uri, printer_name) + if not device_uri: + sys.exit(1) size = DEFAULT_BAR_GRAPH_SIZE color = True @@ -139,7 +143,7 @@ try: d.open() d.queryDevice() - except Error, e: + except Error as e: log.error("Error opening device (%s). Exiting." % e.msg) sys.exit(1) @@ -159,8 +163,7 @@ else: sorted_supplies.append((a, agent_kind, agent_type, agent_sku)) a += 1 - - sorted_supplies.sort(lambda x, y: cmp(x[1], y[1]) or cmp(x[3], y[3])) + sorted_supplies.sort(key=utils.cmp_to_key(utils.levelsCmp)) for x in sorted_supplies: a, agent_kind, agent_type, agent_sku = x diff -Nru hplip-3.14.6/linefeedcal.py hplip-3.15.2/linefeedcal.py --- hplip-3.14.6/linefeedcal.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/linefeedcal.py 2015-01-29 12:20:49.000000000 +0000 @@ -52,6 +52,9 @@ device_uri = mod.getDeviceUri(device_uri, printer_name, filter={'linefeed-cal-type': (operator.gt, 0)}) + if not device_uri: + sys.exit(1) + if not utils.canEnterGUIMode4(): log.error("%s -u/--gui requires Qt4 GUI support. Exiting." % __mod__) sys.exit(1) @@ -67,7 +70,6 @@ #try: if 1: app = QApplication(sys.argv) - dlg = LineFeedCalDialog(None, device_uri) dlg.show() try: diff -Nru hplip-3.14.6/logcapture.py hplip-3.15.2/logcapture.py --- hplip-3.14.6/logcapture.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/logcapture.py 2015-01-29 12:20:49.000000000 +0000 @@ -19,7 +19,7 @@ # # Author: Amarnath Chitumalla # - +from __future__ import print_function __version__ = '1.0' __title__ = 'HPLIP logs capture Utility' __mod__ = 'hp-logcapture' @@ -32,6 +32,7 @@ from base.g import * from base import utils,tui,module, os_utils +from base.sixext import to_string_utf8 from subprocess import Popen, PIPE CUPS_FILE='/etc/cups/cupsd.conf' @@ -59,9 +60,9 @@ log.debug ("cmd= %s"%cmd) sts,out=utils.run(cmd) if sts == 0: - cmd = "vi -c '%s/LogLevel warn/LogLevel debug\rhpLogLevel 15/' -c 'wq' %s"%("%s",CUPS_FILE) + cmd = "sed -i 's/LogLevel.*warn/LogLevel debug\rhpLogLevel 15/' %s "%CUPS_FILE log.debug("Changing 'Log level' to debug. cmd=%s"%cmd) - sts, cmd = utils.run(cmd) + sts= os.system(cmd) if sts != 0: log.error("Failed to update Loglevel to Debug in cups=%s"%CUPS_FILE) @@ -168,8 +169,8 @@ (INTERACTIVE_MODE,),run_as_root_ok=True, quiet=True) opts, device_uri, printer_name, mode, ui_toolkit, loc = \ - mod.parseStdOpts('hl:g', ['help', 'help-rest', 'help-man', 'help-desc', 'logging=', 'debug','user='],handle_device_printer=False) -except getopt.GetoptError, e: + mod.parseStdOpts('hl:g:r', ['help', 'help-rest', 'help-man', 'help-desc', 'logging=', 'debug','user='],handle_device_printer=False) +except getopt.GetoptError as e: log.error(e.msg) usage() @@ -187,7 +188,7 @@ usage('man') elif o == '--help-desc': - print __doc__, + print(__doc__, end=' ') clean_exit(0,False) elif o in ('-l', '--logging'): @@ -208,8 +209,8 @@ sys.exit() if not USER_NAME: - pout = Popen(["who", "am", "i"], stdout=PIPE) - output = pout.communicate()[0] + pout = Popen(["who"], stdout=PIPE) + output = to_string_utf8(pout.communicate()[0]) if output: USER_NAME = output.split(' ')[0] @@ -261,10 +262,11 @@ backup_clearLog('/var/log/cups/error_log') + ######## Waiting for user to completed job ####### while 1: log.info(log.bold("\nPlease perform the tasks (Print, scan, fax) for which you need to collect the logs.")) - ok,user_input =tui.enter_choice("Are you done with taks?. Press (y=yes*, q=quit):",['y','q'], 'y') + ok,user_input =tui.enter_choice("Are you done with tasks?. Press (y=yes*, q=quit):",['y','q'], 'y') if ok and user_input == "y": break; elif not ok or user_input == "q": diff -Nru hplip-3.14.6/makecopies.py hplip-3.15.2/makecopies.py --- hplip-3.14.6/makecopies.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/makecopies.py 2015-01-29 12:20:49.000000000 +0000 @@ -30,7 +30,7 @@ import os import getopt import re -import Queue +from base.sixext.moves import queue import time import operator @@ -61,6 +61,10 @@ device_uri = mod.getDeviceUri(device_uri, printer_name, filter={'copy-type': (operator.gt, 0)}) +if not device_uri: + sys.exit(1) + + num_copies = None reduction = None reduction_spec = False @@ -237,7 +241,6 @@ #try: if 1: app = QApplication(sys.argv) - dlg = MakeCopiesDialog(None, device_uri) dlg.show() try: @@ -279,7 +282,7 @@ result_code, max_reduction = dev.getPML(pml.OID_COPIER_REDUCTION_MAXIMUM) result_code, max_enlargement = dev.getPML(pml.OID_COPIER_ENLARGEMENT_MAXIMUM) - except Error, e: + except Error as e: log.error(e.msg) sys.exit(1) @@ -298,8 +301,8 @@ log.debug("max_enlargement = %d" % max_enlargement) log.debug("scan_src = %d" % scan_src) - update_queue = Queue.Queue() - event_queue = Queue.Queue() + update_queue = queue.Queue() + event_queue = queue.Queue() dev.copy(num_copies, contrast, reduction, quality, fit_to_page, scan_src, @@ -311,7 +314,7 @@ while update_queue.qsize(): try: status = update_queue.get(0) - except Queue.Empty: + except queue.Empty: break if status == copier.STATUS_IDLE: diff -Nru hplip-3.14.6/Makefile.am hplip-3.15.2/Makefile.am --- hplip-3.14.6/Makefile.am 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/Makefile.am 2015-01-29 12:20:49.000000000 +0000 @@ -153,9 +153,13 @@ dist_base_DATA = base/maint.py base/codes.py base/g.py base/pml.py base/status.py \ base/__init__.py base/mfpdtf.py base/utils.py base/wifi.py base/LedmWifi.py \ base/device.py base/logger.py base/slp.py base/exif.py base/strings.py base/magic.py \ - base/imagesize.py base/pexpect.py base/models.py base/mdns.py base/tui.py base/dime.py \ - base/ldif.py base/vcard.py base/module.py base/pkit.py base/queues.py base/password.py \ - base/services.py base/os_utils.py base/smart_install.py base/avahi.py base/validation.py + base/imagesize.py base/models.py base/validation.py base/sixext.py base/avahi.py \ + base/mdns.py base/tui.py base/dime.py base/ldif.py base/vcard.py base/module.py \ + base/pkit.py base/queues.py base/password.py base/services.py base/os_utils.py \ + base/smart_install.py base/six.py + +basepexpectdir = $(hplipdir)/base/pexpect +dist_basepexpect_DATA=base/pexpect/__init__.py # installer installdir = $(hplipdir)/installer @@ -248,7 +252,7 @@ cupsextdir = $(pyexecdir) cupsext_LTLIBRARIES = cupsext.la cupsext_la_LDFLAGS = -module -avoid-version -cupsext_la_SOURCES = prnt/cupsext/cupsext.c +cupsext_la_SOURCES = prnt/cupsext/cupsext.c prnt/cupsext/cupsext.h cupsext_la_CFLAGS = -I$(PYTHONINCLUDEDIR) cupsext_la_LIBADD = -lcups diff -Nru hplip-3.14.6/Makefile.in hplip-3.15.2/Makefile.in --- hplip-3.14.6/Makefile.in 2014-06-03 06:33:58.000000000 +0000 +++ hplip-3.15.2/Makefile.in 2015-01-29 12:21:26.000000000 +0000 @@ -39,10 +39,11 @@ host_triplet = @host@ noinst_PROGRAMS = $(am__EXEEXT_1) DIST_COMMON = $(am__configure_deps) $(am__dist_base_DATA_DIST) \ - $(am__dist_cmd_SCRIPTS_DIST) $(am__dist_copier_DATA_DIST) \ - $(am__dist_fax_DATA_DIST) $(am__dist_fax_filters_DATA_DIST) \ - $(am__dist_fin_SCRIPTS_DIST) $(am__dist_halpre_DATA_DIST) \ - $(am__dist_home_DATA_DIST) $(am__dist_hpcupsfaxppd_DATA_DIST) \ + $(am__dist_basepexpect_DATA_DIST) $(am__dist_cmd_SCRIPTS_DIST) \ + $(am__dist_copier_DATA_DIST) $(am__dist_fax_DATA_DIST) \ + $(am__dist_fax_filters_DATA_DIST) $(am__dist_fin_SCRIPTS_DIST) \ + $(am__dist_halpre_DATA_DIST) $(am__dist_home_DATA_DIST) \ + $(am__dist_hpcupsfaxppd_DATA_DIST) \ $(am__dist_hpfax_SCRIPTS_DIST) \ $(am__dist_hpijsfaxppd_DATA_DIST) \ $(am__dist_hplip_SCRIPTS_DIST) \ @@ -161,11 +162,11 @@ "$(DESTDIR)$(plugins4dir)" "$(DESTDIR)$(ripdir)" \ "$(DESTDIR)$(pstotiffdir)" "$(DESTDIR)$(cupsdrvdir)" \ "$(DESTDIR)$(cupsdrv2dir)" "$(DESTDIR)$(basedir)" \ - "$(DESTDIR)$(copierdir)" "$(DESTDIR)$(faxdir)" \ - "$(DESTDIR)$(fax_filtersdir)" "$(DESTDIR)$(halpredir)" \ - "$(DESTDIR)$(homedir)" "$(DESTDIR)$(hpcupsfaxppddir)" \ - "$(DESTDIR)$(hpijsfaxppddir)" "$(DESTDIR)$(hplip_statedir)" \ - "$(DESTDIR)$(images_128x128dir)" \ + "$(DESTDIR)$(basepexpectdir)" "$(DESTDIR)$(copierdir)" \ + "$(DESTDIR)$(faxdir)" "$(DESTDIR)$(fax_filtersdir)" \ + "$(DESTDIR)$(halpredir)" "$(DESTDIR)$(homedir)" \ + "$(DESTDIR)$(hpcupsfaxppddir)" "$(DESTDIR)$(hpijsfaxppddir)" \ + "$(DESTDIR)$(hplip_statedir)" "$(DESTDIR)$(images_128x128dir)" \ "$(DESTDIR)$(images_16x16dir)" "$(DESTDIR)$(images_24x24dir)" \ "$(DESTDIR)$(images_256x256dir)" \ "$(DESTDIR)$(images_32x32dir)" "$(DESTDIR)$(images_64x64dir)" \ @@ -191,7 +192,8 @@ $(noinst_LTLIBRARIES) $(pcardext_LTLIBRARIES) \ $(scanext_LTLIBRARIES) cupsext_la_DEPENDENCIES = -am__cupsext_la_SOURCES_DIST = prnt/cupsext/cupsext.c +am__cupsext_la_SOURCES_DIST = prnt/cupsext/cupsext.c \ + prnt/cupsext/cupsext.h @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@am_cupsext_la_OBJECTS = \ @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ cupsext_la-cupsext.lo cupsext_la_OBJECTS = $(am_cupsext_la_OBJECTS) @@ -585,11 +587,13 @@ base/pml.py base/status.py base/__init__.py base/mfpdtf.py \ base/utils.py base/wifi.py base/LedmWifi.py base/device.py \ base/logger.py base/slp.py base/exif.py base/strings.py \ - base/magic.py base/imagesize.py base/pexpect.py base/models.py \ - base/mdns.py base/tui.py base/dime.py base/ldif.py \ - base/vcard.py base/module.py base/pkit.py base/queues.py \ - base/password.py base/services.py base/os_utils.py \ - base/smart_install.py base/avahi.py base/validation.py + base/magic.py base/imagesize.py base/models.py \ + base/validation.py base/sixext.py base/avahi.py base/mdns.py \ + base/tui.py base/dime.py base/ldif.py base/vcard.py \ + base/module.py base/pkit.py base/queues.py base/password.py \ + base/services.py base/os_utils.py base/smart_install.py \ + base/six.py +am__dist_basepexpect_DATA_DIST = base/pexpect/__init__.py am__dist_copier_DATA_DIST = copier/copier.py copier/__init__.py am__dist_fax_DATA_DIST = fax/fax.py fax/__init__.py fax/coverpages.py \ fax/pmlfax.py fax/ledmfax.py fax/soapfax.py fax/ledmsoapfax.py \ @@ -691,6 +695,7 @@ prnt/ps/hp-laserjet_3300_3310_3320-ps.ppd.gz \ prnt/ps/hp-laserjet_100_color_mfp_m175-ps.ppd.gz \ prnt/ps/hp-color_laserjet_mfp_m680-ps.ppd.gz \ + prnt/ps/hp-laserjet_mfp_m630-ps.ppd.gz \ prnt/ps/hp-designjet_t920-postscript.ppd.gz \ prnt/ps/hp-laserjet_4100_series-ps.ppd.gz \ prnt/ps/hp-laserjet_pro_mfp_m435-ps.ppd.gz \ @@ -743,6 +748,7 @@ prnt/ps/hp-laserjet_m1522nf_mfp-ps.ppd.gz \ prnt/ps/hp-color_laserjet_4650-ps.ppd.gz \ prnt/ps/hp-designjet_t1120ps_44in-ps.ppd.gz \ + prnt/ps/hp-laserjet_pro_m201_m202-ps.ppd.gz \ prnt/ps/hp-laserjet_2430-ps.ppd.gz \ prnt/ps/hp-designjet_t1500-postscript.ppd.gz \ prnt/ps/hp-color_laserjet_4500-ps.ppd.gz \ @@ -814,6 +820,7 @@ prnt/ps/hp-laserjet_9040_mfp-ps.ppd.gz \ prnt/ps/hp-laserjet_2300-ps.ppd.gz \ prnt/ps/hp-laserjet_9000_series-ps.ppd.gz \ + prnt/ps/hp-laserjet_flow_mfp_m630-ps.ppd.gz \ prnt/ps/hp-color_laserjet_2830-ps.ppd.gz \ prnt/ps/hp-color_laserjet_flow_mfp_m880-ps.ppd.gz \ prnt/ps/hp-laserjet_500_color_mfp_m575-ps.ppd.gz \ @@ -882,6 +889,7 @@ prnt/ps/hp-designjet_z6200_42in_photo-ps.ppd.gz \ prnt/ps/hp-laserjet_1320n-ps.ppd.gz \ prnt/ps/hp-designjet_z6100ps_42in_photo-ps.ppd.gz \ + prnt/ps/hp-laserjet_pro_mfp_m225_m226-ps.ppd.gz \ prnt/ps/hp-color_laserjet_cp3505-ps.ppd.gz \ prnt/ps/hp-laserjet_2420-ps.ppd.gz \ prnt/ps/hp-laserjet_8000_series-ps.ppd.gz \ @@ -1092,6 +1100,7 @@ ppd/hpijs/hp-laserjet_m9050_mfp-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-color_laserjet_4550-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-deskjet_f4500_series-hpijs.ppd.gz \ + ppd/hpijs/hp-envy_7640_series-hpijs.ppd.gz \ ppd/hpijs/hp-photosmart_a440_series-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_h470-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_f300_series-hpijs.ppd.gz \ @@ -1193,12 +1202,14 @@ ppd/hpijs/hp-laserjet_cp_1025-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_m1319f_mfp-hpijs.ppd.gz \ ppd/hpijs/hp-business_inkjet_1000-hpijs.ppd.gz \ + ppd/hpijs/hp-officejet_6800-hpijs.ppd.gz \ ppd/hpijs/hp-photosmart_d5400_series-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_cm1415fnw-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-color_laserjet_5-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_p4015tn-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_5652-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_m5035_mfp-hpijs-pcl3.ppd.gz \ + ppd/hpijs/hp-envy_5660_series-hpijs.ppd.gz \ ppd/hpijs/hp-photosmart_c7200_series-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_pro_mfp_m126a-hpijs.ppd.gz \ ppd/hpijs/hp-psc_950xi-hpijs.ppd.gz \ @@ -1215,6 +1226,7 @@ ppd/hpijs/hp-deskjet_5520_series-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_2200_series-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_3819-hpijs.ppd.gz \ + ppd/hpijs/hp-officejet_pro_6230-hpijs.ppd.gz \ ppd/hpijs/hp-psc_750-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_1600cn-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_4200_series-hpijs.ppd.gz \ @@ -1234,6 +1246,7 @@ ppd/hpijs/hp-photosmart_c5100_series-hpijs.ppd.gz \ ppd/hpijs/hp-color_laserjet_cp1215-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_p2055x-hpijs-pcl3.ppd.gz \ + ppd/hpijs/hp-officejet_pro_6830-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_professional_p1569-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_980c-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_3740-hpijs.ppd.gz \ @@ -1381,13 +1394,16 @@ ppd/hpijs/hp-laserjet_1300-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-officejet_g55xi-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_7000_e809a-hpijs.ppd.gz \ + ppd/hpijs/hp-officejet_5740_series-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_3390-hpijs-pcl3.ppd.gz \ + ppd/hpijs/hp-envy_5640_series-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_f735-hpijs.ppd.gz \ ppd/hpijs/hp-business_inkjet_2280-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-photosmart_230-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_d2400_series-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_845c-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_4350-hpijs-pcl3.ppd.gz \ + ppd/hpijs/hp-laserjet_pro_mfp_m125r-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_5110-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_4610_series-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_series_630-hpijs.ppd.gz \ @@ -1462,6 +1478,7 @@ ppd/hpijs/hp-laserjet_1300n-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-laserjet_9050_mfp-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-deskjet_660-hpijs.ppd.gz \ + ppd/hpijs/hp-officejet_8040_series-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_p2014n-hpijs-zxs.ppd.gz \ ppd/hpijs/hp-officejet_6600-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_professional_m1139_mfp-hpijs.ppd.gz \ @@ -1598,6 +1615,7 @@ ppd/hpijs/hp-deskjet_d1600_series-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_5110v-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_professional_m1218nfg_mfp-hpijs.ppd.gz \ + ppd/hpijs/hp-laserjet_pro_mfp_m125ra-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_professional_p1106-hpijs.ppd.gz \ ppd/hpijs/hp-photosmart_7550-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_pro_8620-hpijs.ppd.gz \ @@ -1921,6 +1939,9 @@ ppd/hpcups/hp-envy_120_series.ppd.gz \ ppd/hpcups/hp-envy_4500_series.ppd.gz \ ppd/hpcups/hp-envy_5530_series.ppd.gz \ + ppd/hpcups/hp-envy_5640_series.ppd.gz \ + ppd/hpcups/hp-envy_5660_series.ppd.gz \ + ppd/hpcups/hp-envy_7640_series.ppd.gz \ ppd/hpcups/hp-laserjet_1000.ppd.gz \ ppd/hpcups/hp-laserjet_1005_series.ppd.gz \ ppd/hpcups/hp-laserjet_1010.ppd.gz \ @@ -2096,6 +2117,8 @@ ppd/hpcups/hp-laserjet_p4515xm.ppd.gz \ ppd/hpcups/hp-laserjet_pro_mfp_m125a.ppd.gz \ ppd/hpcups/hp-laserjet_pro_mfp_m125nw.ppd.gz \ + ppd/hpcups/hp-laserjet_pro_mfp_m125r.ppd.gz \ + ppd/hpcups/hp-laserjet_pro_mfp_m125ra.ppd.gz \ ppd/hpcups/hp-laserjet_pro_mfp_m125rnw.ppd.gz \ ppd/hpcups/hp-laserjet_pro_mfp_m126a.ppd.gz \ ppd/hpcups/hp-laserjet_pro_mfp_m126nw.ppd.gz \ @@ -2166,6 +2189,7 @@ ppd/hpcups/hp-officejet_5110v.ppd.gz \ ppd/hpcups/hp-officejet_5500_series.ppd.gz \ ppd/hpcups/hp-officejet_5600_series.ppd.gz \ + ppd/hpcups/hp-officejet_5740_series.ppd.gz \ ppd/hpcups/hp-officejet_6000_e609a.ppd.gz \ ppd/hpcups/hp-officejet_6000_e609n.ppd.gz \ ppd/hpcups/hp-officejet_6100.ppd.gz \ @@ -2179,6 +2203,7 @@ ppd/hpcups/hp-officejet_6500_e710n-z.ppd.gz \ ppd/hpcups/hp-officejet_6600.ppd.gz \ ppd/hpcups/hp-officejet_6700.ppd.gz \ + ppd/hpcups/hp-officejet_6800.ppd.gz \ ppd/hpcups/hp-officejet_7000_e809a.ppd.gz \ ppd/hpcups/hp-officejet_7000_e809a_series.ppd.gz \ ppd/hpcups/hp-officejet_7100_series.ppd.gz \ @@ -2188,6 +2213,7 @@ ppd/hpcups/hp-officejet_7400_series.ppd.gz \ ppd/hpcups/hp-officejet_7500_e910.ppd.gz \ ppd/hpcups/hp-officejet_7610_series.ppd.gz \ + ppd/hpcups/hp-officejet_8040_series.ppd.gz \ ppd/hpcups/hp-officejet_9100_series-pcl3.ppd.gz \ ppd/hpcups/hp-officejet_d_series.ppd.gz \ ppd/hpcups/hp-officejet_g55.ppd.gz \ @@ -2214,6 +2240,8 @@ ppd/hpcups/hp-officejet_pro_1170c_series.ppd.gz \ ppd/hpcups/hp-officejet_pro_3610.ppd.gz \ ppd/hpcups/hp-officejet_pro_3620.ppd.gz \ + ppd/hpcups/hp-officejet_pro_6230.ppd.gz \ + ppd/hpcups/hp-officejet_pro_6830.ppd.gz \ ppd/hpcups/hp-officejet_pro_8000_a809.ppd.gz \ ppd/hpcups/hp-officejet_pro_8100.ppd.gz \ ppd/hpcups/hp-officejet_pro_8500_a909a.ppd.gz \ @@ -2453,8 +2481,8 @@ am__dist_www3_DATA_DIST = $(wwwsrc)/styles/* am__dist_www4_DATA_DIST = $(wwwsrc)/images/* DATA = $(cupsdrv_DATA) $(cupsdrv2_DATA) $(dist_base_DATA) \ - $(dist_copier_DATA) $(dist_fax_DATA) $(dist_fax_filters_DATA) \ - $(dist_halpre_DATA) $(dist_home_DATA) \ + $(dist_basepexpect_DATA) $(dist_copier_DATA) $(dist_fax_DATA) \ + $(dist_fax_filters_DATA) $(dist_halpre_DATA) $(dist_home_DATA) \ $(dist_hpcupsfaxppd_DATA) $(dist_hpijsfaxppd_DATA) \ $(dist_hplip_state_DATA) $(dist_images_128x128_DATA) \ $(dist_images_16x16_DATA) $(dist_images_24x24_DATA) \ @@ -2875,6 +2903,7 @@ ppd/hpijs/hp-laserjet_m9050_mfp-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-color_laserjet_4550-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-deskjet_f4500_series-hpijs.ppd.gz \ + ppd/hpijs/hp-envy_7640_series-hpijs.ppd.gz \ ppd/hpijs/hp-photosmart_a440_series-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_h470-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_f300_series-hpijs.ppd.gz \ @@ -2976,12 +3005,14 @@ ppd/hpijs/hp-laserjet_cp_1025-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_m1319f_mfp-hpijs.ppd.gz \ ppd/hpijs/hp-business_inkjet_1000-hpijs.ppd.gz \ + ppd/hpijs/hp-officejet_6800-hpijs.ppd.gz \ ppd/hpijs/hp-photosmart_d5400_series-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_cm1415fnw-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-color_laserjet_5-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_p4015tn-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_5652-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_m5035_mfp-hpijs-pcl3.ppd.gz \ + ppd/hpijs/hp-envy_5660_series-hpijs.ppd.gz \ ppd/hpijs/hp-photosmart_c7200_series-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_pro_mfp_m126a-hpijs.ppd.gz \ ppd/hpijs/hp-psc_950xi-hpijs.ppd.gz \ @@ -2998,6 +3029,7 @@ ppd/hpijs/hp-deskjet_5520_series-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_2200_series-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_3819-hpijs.ppd.gz \ + ppd/hpijs/hp-officejet_pro_6230-hpijs.ppd.gz \ ppd/hpijs/hp-psc_750-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_1600cn-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_4200_series-hpijs.ppd.gz \ @@ -3017,6 +3049,7 @@ ppd/hpijs/hp-photosmart_c5100_series-hpijs.ppd.gz \ ppd/hpijs/hp-color_laserjet_cp1215-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_p2055x-hpijs-pcl3.ppd.gz \ + ppd/hpijs/hp-officejet_pro_6830-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_professional_p1569-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_980c-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_3740-hpijs.ppd.gz \ @@ -3164,13 +3197,16 @@ ppd/hpijs/hp-laserjet_1300-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-officejet_g55xi-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_7000_e809a-hpijs.ppd.gz \ + ppd/hpijs/hp-officejet_5740_series-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_3390-hpijs-pcl3.ppd.gz \ + ppd/hpijs/hp-envy_5640_series-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_f735-hpijs.ppd.gz \ ppd/hpijs/hp-business_inkjet_2280-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-photosmart_230-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_d2400_series-hpijs.ppd.gz \ ppd/hpijs/hp-deskjet_845c-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_4350-hpijs-pcl3.ppd.gz \ + ppd/hpijs/hp-laserjet_pro_mfp_m125r-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_5110-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_4610_series-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_series_630-hpijs.ppd.gz \ @@ -3245,6 +3281,7 @@ ppd/hpijs/hp-laserjet_1300n-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-laserjet_9050_mfp-hpijs-pcl3.ppd.gz \ ppd/hpijs/hp-deskjet_660-hpijs.ppd.gz \ + ppd/hpijs/hp-officejet_8040_series-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_p2014n-hpijs-zxs.ppd.gz \ ppd/hpijs/hp-officejet_6600-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_professional_m1139_mfp-hpijs.ppd.gz \ @@ -3381,6 +3418,7 @@ ppd/hpijs/hp-deskjet_d1600_series-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_5110v-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_professional_m1218nfg_mfp-hpijs.ppd.gz \ + ppd/hpijs/hp-laserjet_pro_mfp_m125ra-hpijs.ppd.gz \ ppd/hpijs/hp-laserjet_professional_p1106-hpijs.ppd.gz \ ppd/hpijs/hp-photosmart_7550-hpijs.ppd.gz \ ppd/hpijs/hp-officejet_pro_8620-hpijs.ppd.gz \ @@ -3461,6 +3499,7 @@ prnt/ps/hp-laserjet_3300_3310_3320-ps.ppd.gz \ prnt/ps/hp-laserjet_100_color_mfp_m175-ps.ppd.gz \ prnt/ps/hp-color_laserjet_mfp_m680-ps.ppd.gz \ + prnt/ps/hp-laserjet_mfp_m630-ps.ppd.gz \ prnt/ps/hp-designjet_t920-postscript.ppd.gz \ prnt/ps/hp-laserjet_4100_series-ps.ppd.gz \ prnt/ps/hp-laserjet_pro_mfp_m435-ps.ppd.gz \ @@ -3513,6 +3552,7 @@ prnt/ps/hp-laserjet_m1522nf_mfp-ps.ppd.gz \ prnt/ps/hp-color_laserjet_4650-ps.ppd.gz \ prnt/ps/hp-designjet_t1120ps_44in-ps.ppd.gz \ + prnt/ps/hp-laserjet_pro_m201_m202-ps.ppd.gz \ prnt/ps/hp-laserjet_2430-ps.ppd.gz \ prnt/ps/hp-designjet_t1500-postscript.ppd.gz \ prnt/ps/hp-color_laserjet_4500-ps.ppd.gz \ @@ -3584,6 +3624,7 @@ prnt/ps/hp-laserjet_9040_mfp-ps.ppd.gz \ prnt/ps/hp-laserjet_2300-ps.ppd.gz \ prnt/ps/hp-laserjet_9000_series-ps.ppd.gz \ + prnt/ps/hp-laserjet_flow_mfp_m630-ps.ppd.gz \ prnt/ps/hp-color_laserjet_2830-ps.ppd.gz \ prnt/ps/hp-color_laserjet_flow_mfp_m880-ps.ppd.gz \ prnt/ps/hp-laserjet_500_color_mfp_m575-ps.ppd.gz \ @@ -3652,6 +3693,7 @@ prnt/ps/hp-designjet_z6200_42in_photo-ps.ppd.gz \ prnt/ps/hp-laserjet_1320n-ps.ppd.gz \ prnt/ps/hp-designjet_z6100ps_42in_photo-ps.ppd.gz \ + prnt/ps/hp-laserjet_pro_mfp_m225_m226-ps.ppd.gz \ prnt/ps/hp-color_laserjet_cp3505-ps.ppd.gz \ prnt/ps/hp-laserjet_2420-ps.ppd.gz \ prnt/ps/hp-laserjet_8000_series-ps.ppd.gz \ @@ -3958,6 +4000,9 @@ ppd/hpcups/hp-envy_120_series.ppd.gz \ ppd/hpcups/hp-envy_4500_series.ppd.gz \ ppd/hpcups/hp-envy_5530_series.ppd.gz \ + ppd/hpcups/hp-envy_5640_series.ppd.gz \ + ppd/hpcups/hp-envy_5660_series.ppd.gz \ + ppd/hpcups/hp-envy_7640_series.ppd.gz \ ppd/hpcups/hp-laserjet_1000.ppd.gz \ ppd/hpcups/hp-laserjet_1005_series.ppd.gz \ ppd/hpcups/hp-laserjet_1010.ppd.gz \ @@ -4133,6 +4178,8 @@ ppd/hpcups/hp-laserjet_p4515xm.ppd.gz \ ppd/hpcups/hp-laserjet_pro_mfp_m125a.ppd.gz \ ppd/hpcups/hp-laserjet_pro_mfp_m125nw.ppd.gz \ + ppd/hpcups/hp-laserjet_pro_mfp_m125r.ppd.gz \ + ppd/hpcups/hp-laserjet_pro_mfp_m125ra.ppd.gz \ ppd/hpcups/hp-laserjet_pro_mfp_m125rnw.ppd.gz \ ppd/hpcups/hp-laserjet_pro_mfp_m126a.ppd.gz \ ppd/hpcups/hp-laserjet_pro_mfp_m126nw.ppd.gz \ @@ -4203,6 +4250,7 @@ ppd/hpcups/hp-officejet_5110v.ppd.gz \ ppd/hpcups/hp-officejet_5500_series.ppd.gz \ ppd/hpcups/hp-officejet_5600_series.ppd.gz \ + ppd/hpcups/hp-officejet_5740_series.ppd.gz \ ppd/hpcups/hp-officejet_6000_e609a.ppd.gz \ ppd/hpcups/hp-officejet_6000_e609n.ppd.gz \ ppd/hpcups/hp-officejet_6100.ppd.gz \ @@ -4216,6 +4264,7 @@ ppd/hpcups/hp-officejet_6500_e710n-z.ppd.gz \ ppd/hpcups/hp-officejet_6600.ppd.gz \ ppd/hpcups/hp-officejet_6700.ppd.gz \ + ppd/hpcups/hp-officejet_6800.ppd.gz \ ppd/hpcups/hp-officejet_7000_e809a.ppd.gz \ ppd/hpcups/hp-officejet_7000_e809a_series.ppd.gz \ ppd/hpcups/hp-officejet_7100_series.ppd.gz \ @@ -4225,6 +4274,7 @@ ppd/hpcups/hp-officejet_7400_series.ppd.gz \ ppd/hpcups/hp-officejet_7500_e910.ppd.gz \ ppd/hpcups/hp-officejet_7610_series.ppd.gz \ + ppd/hpcups/hp-officejet_8040_series.ppd.gz \ ppd/hpcups/hp-officejet_9100_series-pcl3.ppd.gz \ ppd/hpcups/hp-officejet_d_series.ppd.gz \ ppd/hpcups/hp-officejet_g55.ppd.gz \ @@ -4251,6 +4301,8 @@ ppd/hpcups/hp-officejet_pro_1170c_series.ppd.gz \ ppd/hpcups/hp-officejet_pro_3610.ppd.gz \ ppd/hpcups/hp-officejet_pro_3620.ppd.gz \ + ppd/hpcups/hp-officejet_pro_6230.ppd.gz \ + ppd/hpcups/hp-officejet_pro_6830.ppd.gz \ ppd/hpcups/hp-officejet_pro_8000_a809.ppd.gz \ ppd/hpcups/hp-officejet_pro_8100.ppd.gz \ ppd/hpcups/hp-officejet_pro_8500_a909a.ppd.gz \ @@ -4535,10 +4587,13 @@ @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@dist_base_DATA = base/maint.py base/codes.py base/g.py base/pml.py base/status.py \ @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ base/__init__.py base/mfpdtf.py base/utils.py base/wifi.py base/LedmWifi.py \ @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ base/device.py base/logger.py base/slp.py base/exif.py base/strings.py base/magic.py \ -@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ base/imagesize.py base/pexpect.py base/models.py base/mdns.py base/tui.py base/dime.py \ -@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ base/ldif.py base/vcard.py base/module.py base/pkit.py base/queues.py base/password.py \ -@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ base/services.py base/os_utils.py base/smart_install.py base/avahi.py base/validation.py +@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ base/imagesize.py base/models.py base/validation.py base/sixext.py base/avahi.py \ +@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ base/mdns.py base/tui.py base/dime.py base/ldif.py base/vcard.py base/module.py \ +@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ base/pkit.py base/queues.py base/password.py base/services.py base/os_utils.py \ +@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ base/smart_install.py base/six.py +@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@basepexpectdir = $(hplipdir)/base/pexpect +@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@dist_basepexpect_DATA = base/pexpect/__init__.py # installer @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@installdir = $(hplipdir)/installer @@ -4619,7 +4674,7 @@ @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@cupsextdir = $(pyexecdir) @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@cupsext_LTLIBRARIES = cupsext.la @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@cupsext_la_LDFLAGS = -module -avoid-version -@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@cupsext_la_SOURCES = prnt/cupsext/cupsext.c +@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@cupsext_la_SOURCES = prnt/cupsext/cupsext.c prnt/cupsext/cupsext.h @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@cupsext_la_CFLAGS = -I$(PYTHONINCLUDEDIR) @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@cupsext_la_LIBADD = -lcups @@ -7584,6 +7639,26 @@ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(basedir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(basedir)" && rm -f $$files +install-dist_basepexpectDATA: $(dist_basepexpect_DATA) + @$(NORMAL_INSTALL) + test -z "$(basepexpectdir)" || $(MKDIR_P) "$(DESTDIR)$(basepexpectdir)" + @list='$(dist_basepexpect_DATA)'; test -n "$(basepexpectdir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(basepexpectdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(basepexpectdir)" || exit $$?; \ + done + +uninstall-dist_basepexpectDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_basepexpect_DATA)'; test -n "$(basepexpectdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(basepexpectdir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(basepexpectdir)" && rm -f $$files install-dist_copierDATA: $(dist_copier_DATA) @$(NORMAL_INSTALL) test -z "$(copierdir)" || $(MKDIR_P) "$(DESTDIR)$(copierdir)" @@ -8630,7 +8705,7 @@ install-binPROGRAMS: install-libLTLIBRARIES installdirs: - for dir in "$(DESTDIR)$(cupsextdir)" "$(DESTDIR)$(hpmudextdir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libsane_hpaiodir)" "$(DESTDIR)$(pcardextdir)" "$(DESTDIR)$(scanextdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(hpdir)" "$(DESTDIR)$(hpcupsdir)" "$(DESTDIR)$(hpcupsfaxdir)" "$(DESTDIR)$(cmddir)" "$(DESTDIR)$(findir)" "$(DESTDIR)$(hpfaxdir)" "$(DESTDIR)$(hplipdir)" "$(DESTDIR)$(plugins4dir)" "$(DESTDIR)$(ripdir)" "$(DESTDIR)$(pstotiffdir)" "$(DESTDIR)$(cupsdrvdir)" "$(DESTDIR)$(cupsdrv2dir)" "$(DESTDIR)$(basedir)" "$(DESTDIR)$(copierdir)" "$(DESTDIR)$(faxdir)" "$(DESTDIR)$(fax_filtersdir)" "$(DESTDIR)$(halpredir)" "$(DESTDIR)$(homedir)" "$(DESTDIR)$(hpcupsfaxppddir)" "$(DESTDIR)$(hpijsfaxppddir)" "$(DESTDIR)$(hplip_statedir)" "$(DESTDIR)$(images_128x128dir)" "$(DESTDIR)$(images_16x16dir)" "$(DESTDIR)$(images_24x24dir)" "$(DESTDIR)$(images_256x256dir)" "$(DESTDIR)$(images_32x32dir)" "$(DESTDIR)$(images_64x64dir)" "$(DESTDIR)$(images_devicesdir)" "$(DESTDIR)$(images_otherdir)" "$(DESTDIR)$(installdir)" "$(DESTDIR)$(ldldir)" "$(DESTDIR)$(localzdir)" "$(DESTDIR)$(modelsdir)" "$(DESTDIR)$(pcarddir)" "$(DESTDIR)$(pcldir)" "$(DESTDIR)$(pluginsdir)" "$(DESTDIR)$(policykit_dbus_etcdir)" "$(DESTDIR)$(policykit_dbus_sharedir)" "$(DESTDIR)$(policykit_policydir)" "$(DESTDIR)$(postscriptdir)" "$(DESTDIR)$(ppddir)" "$(DESTDIR)$(prntdir)" "$(DESTDIR)$(rulesdir)" "$(DESTDIR)$(rulessystemdir)" "$(DESTDIR)$(scandir)" "$(DESTDIR)$(uidir)" "$(DESTDIR)$(ui4dir)" "$(DESTDIR)$(unreldir)" "$(DESTDIR)$(www0dir)" "$(DESTDIR)$(www3dir)" "$(DESTDIR)$(www4dir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(hplip_confdir)" "$(DESTDIR)$(hplip_desktopdir)" "$(DESTDIR)$(hplip_systraydir)"; do \ + for dir in "$(DESTDIR)$(cupsextdir)" "$(DESTDIR)$(hpmudextdir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libsane_hpaiodir)" "$(DESTDIR)$(pcardextdir)" "$(DESTDIR)$(scanextdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(hpdir)" "$(DESTDIR)$(hpcupsdir)" "$(DESTDIR)$(hpcupsfaxdir)" "$(DESTDIR)$(cmddir)" "$(DESTDIR)$(findir)" "$(DESTDIR)$(hpfaxdir)" "$(DESTDIR)$(hplipdir)" "$(DESTDIR)$(plugins4dir)" "$(DESTDIR)$(ripdir)" "$(DESTDIR)$(pstotiffdir)" "$(DESTDIR)$(cupsdrvdir)" "$(DESTDIR)$(cupsdrv2dir)" "$(DESTDIR)$(basedir)" "$(DESTDIR)$(basepexpectdir)" "$(DESTDIR)$(copierdir)" "$(DESTDIR)$(faxdir)" "$(DESTDIR)$(fax_filtersdir)" "$(DESTDIR)$(halpredir)" "$(DESTDIR)$(homedir)" "$(DESTDIR)$(hpcupsfaxppddir)" "$(DESTDIR)$(hpijsfaxppddir)" "$(DESTDIR)$(hplip_statedir)" "$(DESTDIR)$(images_128x128dir)" "$(DESTDIR)$(images_16x16dir)" "$(DESTDIR)$(images_24x24dir)" "$(DESTDIR)$(images_256x256dir)" "$(DESTDIR)$(images_32x32dir)" "$(DESTDIR)$(images_64x64dir)" "$(DESTDIR)$(images_devicesdir)" "$(DESTDIR)$(images_otherdir)" "$(DESTDIR)$(installdir)" "$(DESTDIR)$(ldldir)" "$(DESTDIR)$(localzdir)" "$(DESTDIR)$(modelsdir)" "$(DESTDIR)$(pcarddir)" "$(DESTDIR)$(pcldir)" "$(DESTDIR)$(pluginsdir)" "$(DESTDIR)$(policykit_dbus_etcdir)" "$(DESTDIR)$(policykit_dbus_sharedir)" "$(DESTDIR)$(policykit_policydir)" "$(DESTDIR)$(postscriptdir)" "$(DESTDIR)$(ppddir)" "$(DESTDIR)$(prntdir)" "$(DESTDIR)$(rulesdir)" "$(DESTDIR)$(rulessystemdir)" "$(DESTDIR)$(scandir)" "$(DESTDIR)$(uidir)" "$(DESTDIR)$(ui4dir)" "$(DESTDIR)$(unreldir)" "$(DESTDIR)$(www0dir)" "$(DESTDIR)$(www3dir)" "$(DESTDIR)$(www4dir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(hplip_confdir)" "$(DESTDIR)$(hplip_desktopdir)" "$(DESTDIR)$(hplip_systraydir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am @@ -8689,21 +8764,21 @@ install-data-am: install-cupsdrv2DATA install-cupsdrvDATA \ install-cupsextLTLIBRARIES install-dist_baseDATA \ - install-dist_cmdSCRIPTS install-dist_copierDATA \ - install-dist_faxDATA install-dist_fax_filtersDATA \ - install-dist_finSCRIPTS install-dist_halpreDATA \ - install-dist_homeDATA install-dist_hpcupsfaxppdDATA \ - install-dist_hpfaxSCRIPTS install-dist_hpijsfaxppdDATA \ - install-dist_hplipSCRIPTS install-dist_hplip_stateDATA \ - install-dist_images_128x128DATA install-dist_images_16x16DATA \ - install-dist_images_24x24DATA install-dist_images_256x256DATA \ - install-dist_images_32x32DATA install-dist_images_64x64DATA \ - install-dist_images_devicesDATA install-dist_images_otherDATA \ - install-dist_installDATA install-dist_ldlDATA \ - install-dist_localzDATA install-dist_modelsDATA \ - install-dist_pcardDATA install-dist_pclDATA \ - install-dist_plugins4SCRIPTS install-dist_pluginsDATA \ - install-dist_policykit_dbus_etcDATA \ + install-dist_basepexpectDATA install-dist_cmdSCRIPTS \ + install-dist_copierDATA install-dist_faxDATA \ + install-dist_fax_filtersDATA install-dist_finSCRIPTS \ + install-dist_halpreDATA install-dist_homeDATA \ + install-dist_hpcupsfaxppdDATA install-dist_hpfaxSCRIPTS \ + install-dist_hpijsfaxppdDATA install-dist_hplipSCRIPTS \ + install-dist_hplip_stateDATA install-dist_images_128x128DATA \ + install-dist_images_16x16DATA install-dist_images_24x24DATA \ + install-dist_images_256x256DATA install-dist_images_32x32DATA \ + install-dist_images_64x64DATA install-dist_images_devicesDATA \ + install-dist_images_otherDATA install-dist_installDATA \ + install-dist_ldlDATA install-dist_localzDATA \ + install-dist_modelsDATA install-dist_pcardDATA \ + install-dist_pclDATA install-dist_plugins4SCRIPTS \ + install-dist_pluginsDATA install-dist_policykit_dbus_etcDATA \ install-dist_policykit_dbus_shareDATA \ install-dist_policykit_policyDATA install-dist_postscriptDATA \ install-dist_ppdDATA install-dist_prntDATA \ @@ -8768,13 +8843,13 @@ uninstall-am: uninstall-binPROGRAMS uninstall-cupsdrv2DATA \ uninstall-cupsdrvDATA uninstall-cupsextLTLIBRARIES \ - uninstall-dist_baseDATA uninstall-dist_cmdSCRIPTS \ - uninstall-dist_copierDATA uninstall-dist_faxDATA \ - uninstall-dist_fax_filtersDATA uninstall-dist_finSCRIPTS \ - uninstall-dist_halpreDATA uninstall-dist_homeDATA \ - uninstall-dist_hpcupsfaxppdDATA uninstall-dist_hpfaxSCRIPTS \ - uninstall-dist_hpijsfaxppdDATA uninstall-dist_hplipSCRIPTS \ - uninstall-dist_hplip_stateDATA \ + uninstall-dist_baseDATA uninstall-dist_basepexpectDATA \ + uninstall-dist_cmdSCRIPTS uninstall-dist_copierDATA \ + uninstall-dist_faxDATA uninstall-dist_fax_filtersDATA \ + uninstall-dist_finSCRIPTS uninstall-dist_halpreDATA \ + uninstall-dist_homeDATA uninstall-dist_hpcupsfaxppdDATA \ + uninstall-dist_hpfaxSCRIPTS uninstall-dist_hpijsfaxppdDATA \ + uninstall-dist_hplipSCRIPTS uninstall-dist_hplip_stateDATA \ uninstall-dist_images_128x128DATA \ uninstall-dist_images_16x16DATA \ uninstall-dist_images_24x24DATA \ @@ -8822,21 +8897,21 @@ install-cupsdrv2DATA install-cupsdrvDATA \ install-cupsextLTLIBRARIES install-data install-data-am \ install-data-hook install-dist_baseDATA \ - install-dist_cmdSCRIPTS install-dist_copierDATA \ - install-dist_faxDATA install-dist_fax_filtersDATA \ - install-dist_finSCRIPTS install-dist_halpreDATA \ - install-dist_homeDATA install-dist_hpcupsfaxppdDATA \ - install-dist_hpfaxSCRIPTS install-dist_hpijsfaxppdDATA \ - install-dist_hplipSCRIPTS install-dist_hplip_stateDATA \ - install-dist_images_128x128DATA install-dist_images_16x16DATA \ - install-dist_images_24x24DATA install-dist_images_256x256DATA \ - install-dist_images_32x32DATA install-dist_images_64x64DATA \ - install-dist_images_devicesDATA install-dist_images_otherDATA \ - install-dist_installDATA install-dist_ldlDATA \ - install-dist_localzDATA install-dist_modelsDATA \ - install-dist_pcardDATA install-dist_pclDATA \ - install-dist_plugins4SCRIPTS install-dist_pluginsDATA \ - install-dist_policykit_dbus_etcDATA \ + install-dist_basepexpectDATA install-dist_cmdSCRIPTS \ + install-dist_copierDATA install-dist_faxDATA \ + install-dist_fax_filtersDATA install-dist_finSCRIPTS \ + install-dist_halpreDATA install-dist_homeDATA \ + install-dist_hpcupsfaxppdDATA install-dist_hpfaxSCRIPTS \ + install-dist_hpijsfaxppdDATA install-dist_hplipSCRIPTS \ + install-dist_hplip_stateDATA install-dist_images_128x128DATA \ + install-dist_images_16x16DATA install-dist_images_24x24DATA \ + install-dist_images_256x256DATA install-dist_images_32x32DATA \ + install-dist_images_64x64DATA install-dist_images_devicesDATA \ + install-dist_images_otherDATA install-dist_installDATA \ + install-dist_ldlDATA install-dist_localzDATA \ + install-dist_modelsDATA install-dist_pcardDATA \ + install-dist_pclDATA install-dist_plugins4SCRIPTS \ + install-dist_pluginsDATA install-dist_policykit_dbus_etcDATA \ install-dist_policykit_dbus_shareDATA \ install-dist_policykit_policyDATA install-dist_postscriptDATA \ install-dist_ppdDATA install-dist_prntDATA \ @@ -8861,12 +8936,13 @@ tags uninstall uninstall-am uninstall-binPROGRAMS \ uninstall-cupsdrv2DATA uninstall-cupsdrvDATA \ uninstall-cupsextLTLIBRARIES uninstall-dist_baseDATA \ - uninstall-dist_cmdSCRIPTS uninstall-dist_copierDATA \ - uninstall-dist_faxDATA uninstall-dist_fax_filtersDATA \ - uninstall-dist_finSCRIPTS uninstall-dist_halpreDATA \ - uninstall-dist_homeDATA uninstall-dist_hpcupsfaxppdDATA \ - uninstall-dist_hpfaxSCRIPTS uninstall-dist_hpijsfaxppdDATA \ - uninstall-dist_hplipSCRIPTS uninstall-dist_hplip_stateDATA \ + uninstall-dist_basepexpectDATA uninstall-dist_cmdSCRIPTS \ + uninstall-dist_copierDATA uninstall-dist_faxDATA \ + uninstall-dist_fax_filtersDATA uninstall-dist_finSCRIPTS \ + uninstall-dist_halpreDATA uninstall-dist_homeDATA \ + uninstall-dist_hpcupsfaxppdDATA uninstall-dist_hpfaxSCRIPTS \ + uninstall-dist_hpijsfaxppdDATA uninstall-dist_hplipSCRIPTS \ + uninstall-dist_hplip_stateDATA \ uninstall-dist_images_128x128DATA \ uninstall-dist_images_16x16DATA \ uninstall-dist_images_24x24DATA \ diff -Nru hplip-3.14.6/makeuri.py hplip-3.15.2/makeuri.py --- hplip-3.14.6/makeuri.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/makeuri.py 2015-01-29 12:20:49.000000000 +0000 @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python # -*- coding: utf-8 -*- # # (c) Copyright 2003-2008 Hewlett-Packard Development Company, L.P. @@ -127,27 +127,27 @@ sys.exit(1) if cups_quiet_mode: - print cups_uri + print(cups_uri) elif not quiet_mode: - print "CUPS URI: %s" % cups_uri + print("CUPS URI: %s" % cups_uri) if sane_uri: if sane_quiet_mode: - print sane_uri + print(sane_uri) elif not quiet_mode: - print "SANE URI: %s" % sane_uri + print("SANE URI: %s" % sane_uri) elif not sane_uri and sane_quiet_mode: log.error("Device does not support scan.") if fax_uri: if fax_quiet_mode: - print fax_uri + print(fax_uri) elif not quiet_mode: - print "HP Fax URI: %s" % fax_uri + print("HP Fax URI: %s" % fax_uri) elif not fax_uri and fax_quiet_mode: log.error("Device does not support fax.") diff -Nru hplip-3.14.6/pcard/photocard.py hplip-3.15.2/pcard/photocard.py --- hplip-3.14.6/pcard/photocard.py 2014-06-03 06:32:17.000000000 +0000 +++ hplip-3.15.2/pcard/photocard.py 2015-01-29 12:20:12.000000000 +0000 @@ -30,7 +30,7 @@ from base import device, utils, exif try: - import pcardext + from . import pcardext except ImportError: if not os.getenv("HPLIP_BUILD"): log.error("PCARDEXT could not be loaded. Please check HPLIP installation.") @@ -172,7 +172,7 @@ self.open_channel() log.debug("Normal sector read sector=%d count=%d" % (sector, nsector)) - sectors_to_read = range(sector, sector+nsector) + sectors_to_read = list(range(sector, sector+nsector)) request = struct.pack('!HH' + 'I'*nsector, READ_CMD, nsector, *sectors_to_read) #log.log_data(request) @@ -239,7 +239,7 @@ self.open_channel() - sectors_to_write = range(sector, sector+nsector) + sectors_to_write = list(range(sector, sector+nsector)) request = struct.pack('!HHH' + 'I'*nsector, WRITE_CMD, nsector, 0, *sectors_to_write) request = ''.join([request, buffer]) @@ -287,7 +287,7 @@ def _check_cache(self, nsector): if len(self.sector_buffer) > MAX_CACHE: # simple minded: scan for first nsector sectors that has count of 1 and throw it away - t, n = self.sector_buffer.keys()[:], 0 + t, n = list(self.sector_buffer.keys())[:], 0 for s in t: if self.sector_buffer_counts[s] == 1: del self.sector_buffer[s] @@ -380,7 +380,7 @@ self.START_OPERATION('cp') total = 0 try: - f = file(local_file, 'w'); + f = open(local_file, 'w'); total = pcardext.cp(name, f.fileno()) f.close() finally: diff -Nru hplip-3.14.6/pkservice.py hplip-3.15.2/pkservice.py --- hplip-3.14.6/pkservice.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/pkservice.py 2015-01-29 12:20:49.000000000 +0000 @@ -102,5 +102,5 @@ try: BackendService().run(pkit_version) -except dbus.DBusException, ex: +except dbus.DBusException as ex: log.error("Unable to start service (%s)" % ex) diff -Nru hplip-3.14.6/plugin.py hplip-3.15.2/plugin.py --- hplip-3.14.6/plugin.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/plugin.py 2015-01-29 12:20:49.000000000 +0000 @@ -37,6 +37,7 @@ # Local from base.g import * from base import device, utils, tui, module +from base.sixext.moves import input from prnt import cups pm = None @@ -47,7 +48,7 @@ def plugin_install_callback(s): - print s + print(s) def clean_exit(code=0): mod.unlockInstance() @@ -159,7 +160,7 @@ try: pkit = PolicyKit() pkit_installed = True - except dbus.DBusException, ex: + except dbus.DBusException as ex: log.error("PolicyKit support requires DBUS or PolicyKit support files missing") pkit_installed = False except: @@ -246,7 +247,6 @@ clean_exit(1) app = QApplication(sys.argv) - if not pkit_installed and not os.geteuid() == 0: log.error("You must be root to run this utility.") @@ -275,7 +275,7 @@ if not os.geteuid() == 0: log.error("You must be root to run this utility.") clean_exit(1) - + log.info("(Note: Defaults for each question are maked with a '*'. Press to accept the default.)") log.info("") @@ -312,7 +312,7 @@ else : # p - specify plugin path while True: - plugin_path = raw_input(log.bold("Enter the path to the 'hplip-%s-plugin.run' file (q=quit) : " % + plugin_path = input(log.bold("Enter the path to the 'hplip-%s-plugin.run' file (q=quit) : " % version)).strip() if plugin_path.strip().lower() == 'q': diff -Nru hplip-3.14.6/plugins/Deskjet_460.py hplip-3.15.2/plugins/Deskjet_460.py --- hplip-3.14.6/plugins/Deskjet_460.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/plugins/Deskjet_460.py 2015-01-29 12:20:45.000000000 +0000 @@ -19,7 +19,7 @@ # Author: Don Welch # -import powersettingsdialog +from . import powersettingsdialog def settingsUI(d, parent): return powersettingsdialog.settingsUI(d, parent) diff -Nru hplip-3.14.6/plugins/dj450.py hplip-3.15.2/plugins/dj450.py --- hplip-3.14.6/plugins/dj450.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/plugins/dj450.py 2015-01-29 12:20:45.000000000 +0000 @@ -19,7 +19,7 @@ # Author: Don Welch # -import powersettingsdialog +from . import powersettingsdialog def settingsUI(d, parent): return powersettingsdialog.settingsUI(d, parent) diff -Nru hplip-3.14.6/plugins/Officejet_H470.py hplip-3.15.2/plugins/Officejet_H470.py --- hplip-3.14.6/plugins/Officejet_H470.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/plugins/Officejet_H470.py 2015-01-29 12:20:45.000000000 +0000 @@ -19,7 +19,7 @@ # Author: Don Welch # -import powersettingsdialog +from . import powersettingsdialog def settingsUI(d, parent): return powersettingsdialog.settingsUI(d, parent) diff -Nru hplip-3.14.6/plugins/powersettingsdialog_base.py hplip-3.15.2/plugins/powersettingsdialog_base.py --- hplip-3.14.6/plugins/powersettingsdialog_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/plugins/powersettingsdialog_base.py 2015-01-29 12:20:45.000000000 +0000 @@ -94,7 +94,7 @@ def power_setting_clicked(self,a0): - print "PowerSettingsDialog_base.power_setting_clicked(int): Not implemented yet" + print("PowerSettingsDialog_base.power_setting_clicked(int): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("PowerSettingsDialog_base",s,c) diff -Nru hplip-3.14.6/plugins/powersettingsdialog.py hplip-3.15.2/plugins/powersettingsdialog.py --- hplip-3.14.6/plugins/powersettingsdialog.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/plugins/powersettingsdialog.py 2015-01-29 12:20:45.000000000 +0000 @@ -20,12 +20,12 @@ # from base.g import * -import powersettings -import powersettings2 +from . import powersettings +from . import powersettings2 from base import pml from qt import * -from powersettingsdialog_base import PowerSettingsDialog_base +from .powersettingsdialog_base import PowerSettingsDialog_base class PowerSettingsDialog(PowerSettingsDialog_base): # Dyn Ctr (DJ4xx) Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/apollo-2100.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/apollo-2100.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/apollo-2150.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/apollo-2150.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/apollo-2200.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/apollo-2200.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/apollo-2500.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/apollo-2500.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/apollo-2600.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/apollo-2600.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/apollo-2650.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/apollo-2650.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/apollo-p2000-u.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/apollo-p2000-u.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/apollo-p2250.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/apollo-p2250.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-2000c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-2000c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-2500c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-2500c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-910.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-910.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-915.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-915.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-business_inkjet_1000.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-business_inkjet_1000.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-business_inkjet_1100.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-business_inkjet_1100.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-business_inkjet_1200.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-business_inkjet_1200.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-business_inkjet_2200.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-business_inkjet_2200.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-business_inkjet_2230.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-business_inkjet_2230.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-business_inkjet_2250-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-business_inkjet_2250-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-business_inkjet_2280-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-business_inkjet_2280-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-business_inkjet_2300-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-business_inkjet_2300-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-business_inkjet_2600-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-business_inkjet_2600-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-business_inkjet_2800-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-business_inkjet_2800-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-business_inkjet_3000-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-business_inkjet_3000-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_inkjet_cp1700.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_inkjet_cp1700.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_inkjet_printer_cp1700.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_inkjet_printer_cp1700.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_1600.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_1600.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_2500-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_2500-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_2500_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_2500_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_2600n.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_2600n.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_3000-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_3000-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_3500n.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_3500n.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_3500.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_3500.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_3550n.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_3550n.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_3550.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_3550.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_3600.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_3600.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_3700n.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_3700n.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_3700-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_3700-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_3800-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_3800-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_4500-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_4500-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_4550-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_4550-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_4600-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_4600-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_4600_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_4600_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_4610-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_4610-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_4650-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_4650-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_4700-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_4700-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_4730mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_4730mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_5500-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_5500-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_5550-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_5550-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_5m-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_5m-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_5.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_5.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_8500-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_8500-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_8550-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_8550-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_9500_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_9500_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_9500-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_9500-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cm1312_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cm1312_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cm1312nfi_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cm1312nfi_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cm2320fxi_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cm2320fxi_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cm2320_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cm2320_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cm2320nf_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cm2320nf_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cm2320n_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cm2320n_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cm3530_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cm3530_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cm4540_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cm4540_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cm4730_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cm4730_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cm6030_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cm6030_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cm6040_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cm6040_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cm6049_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cm6049_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp1215.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp1215.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp1217.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp1217.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp1514n-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp1514n-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp1515n-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp1515n-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp1518ni-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp1518ni-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp2025dn-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp2025dn-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp2025n-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp2025n-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp2025-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp2025-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp2025x-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp2025x-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp3505-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp3505-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp3525-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp3525-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp4005-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp4005-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp4020_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp4020_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp4520_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp4520_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp5225dn-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp5225dn-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp5225n-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp5225n-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp5225-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp5225-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp5520_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp5520_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_cp6015-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_cp6015-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_pro_mfp_m176n.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_pro_mfp_m176n.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-color_laserjet_pro_mfp_m177fw.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-color_laserjet_pro_mfp_m177fw.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-cp1160.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-cp1160.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_1000_j110_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_1000_j110_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_1010_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_1010_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_1050_j410_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_1050_j410_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_1100.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_1100.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_1120.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_1120.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_1125.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_1125.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_1200c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_1200c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_1220c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_1220c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_1280.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_1280.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_1510_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_1510_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_1600cm.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_1600cm.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_1600cn.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_1600cn.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_1600c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_1600c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_2000_j210_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_2000_j210_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_2020_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_2020_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_2050_j510_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_2050_j510_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_2510_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_2510_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_2520_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_2520_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_2540_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_2540_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_2640_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_2640_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3000_j310_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3000_j310_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3050a_j611_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3050a_j611_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3050_j610_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3050_j610_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3070_b611_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3070_b611_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3320.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3320.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3325.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3325.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3420.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3420.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3425.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3425.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3450.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3450.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3500.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3500.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3510_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3510_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3520_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3520_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3540_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3540_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3550.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3550.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3600.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3600.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3650.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3650.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3740.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3740.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3810.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3810.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3816.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3816.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3819.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3819.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3820.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3820.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3822.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3822.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3840.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3840.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3870.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3870.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3900.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3900.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3910.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3910.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3920.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3920.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_3940.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_3940.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_400l.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_400l.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_400.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_400.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_4510_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_4510_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_460.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_460.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_4610_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_4610_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_4620_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_4620_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_4640_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_4640_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_500c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_500c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_500.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_500.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_505j.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_505j.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_5100.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_5100.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_510.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_510.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_520.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_520.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_5400_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_5400_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_540.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_540.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_550c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_550c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_5520_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_5520_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_5550.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_5550.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_5551.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_5551.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_5552.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_5552.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_5600.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_5600.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_5650.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_5650.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_5652.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_5652.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_5700.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_5700.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_5800.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_5800.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_5850.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_5850.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_5900_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_5900_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_600.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_600.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_610cl.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_610cl.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_610c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_610c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_6120.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_6120.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_6122.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_6122.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_6127.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_6127.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_612c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_612c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_630c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_630c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_632c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_632c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_640c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_640c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_648c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_648c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_6500.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_6500.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_6520_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_6520_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_656c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_656c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_6600.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_6600.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_660.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_660.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_670c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_670c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_670.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_670.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_670tv.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_670tv.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_672c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_672c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_6800.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_6800.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_680.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_680.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_682.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_682.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_690c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_690c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_690.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_690.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_692.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_692.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_693.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_693.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_6940_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_6940_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_694.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_694.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_695.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_695.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_697.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_697.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_6980_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_6980_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_810c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_810c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_812c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_812c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_815c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_815c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_816c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_816c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_825c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_825c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_830c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_830c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_832c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_832c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_840c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_840c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_841c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_841c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_842c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_842c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_843c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_843c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_845c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_845c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_850c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_850c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_855c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_855c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_870c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_870c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_880c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_880c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_882c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_882c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_890c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_890c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_895c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_895c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_916c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_916c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_920c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_920c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_9300.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_9300.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_930c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_930c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_932c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_932c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_933c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_933c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_934c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_934c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_935c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_935c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_940c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_940c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_948c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_948c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_950c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_950c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_952c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_952c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_955c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_955c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_957c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_957c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_959c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_959c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_9600.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_9600.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_960c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_960c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_970c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_970c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_975c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_975c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_9800.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_9800.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_980c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_980c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_990c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_990c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_995c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_995c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_d1300_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_d1300_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_d1400_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_d1400_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_d1500_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_d1500_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_d1600_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_d1600_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_d2300_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_d2300_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_d2400_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_d2400_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_d2500_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_d2500_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_d2600_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_d2600_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_d4100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_d4100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_d4200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_d4200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_d4300_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_d4300_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_d5500_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_d5500_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_d730.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_d730.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_f2100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_f2100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_f2200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_f2200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_f2400_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_f2400_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_f300_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_f300_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_f4100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_f4100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_f4200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_f4200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_f4210_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_f4210_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_f4213_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_f4213_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_f4400_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_f4400_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_f4500_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_f4500_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_f735.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_f735.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_ink_adv_2010_k010.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_ink_adv_2010_k010.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_ink_adv_2060_k110.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_ink_adv_2060_k110.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_ink_advant_k109a-z.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_ink_advant_k109a-z.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-deskjet_ink_advant_k209a-z.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-deskjet_ink_advant_k209a-z.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-dj350.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-dj350.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-dj450.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-dj450.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-envy_100_d410_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-envy_100_d410_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-envy_110_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-envy_110_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-envy_120_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-envy_120_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-envy_4500_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-envy_4500_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-envy_5530_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-envy_5530_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-envy_5640_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-envy_5640_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-envy_5660_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-envy_5660_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-envy_7640_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-envy_7640_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1000.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1000.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1005_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1005_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1010.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1010.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1012.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1012.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1015.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1015.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1018.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1018.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1020.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1020.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1022n-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1022n-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1022nw-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1022nw-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1022nw-zjs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1022nw-zjs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1022n-zjs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1022n-zjs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1022-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1022-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1022-zjs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1022-zjs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1100a.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1100a.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1100.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1100.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1100xi.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1100xi.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1150.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1150.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1160.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1160.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1160_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1160_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1200n.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1200n.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1200-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1200-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1220-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1220-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1220se.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1220se.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1300n-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1300n-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1300-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1300-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1300xi-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1300xi-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1320n.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1320n.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1320nw.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1320nw.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1320.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1320.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1320_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1320_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_1320tn.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_1320tn.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_2100.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_2100.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_2100_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_2100_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_2200-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_2200-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_2200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_2200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_2300-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_2300-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_2300_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_2300_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_2410-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_2410-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_2420-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_2420-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_2430-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_2430-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_3015-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_3015-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_3020-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_3020-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_3030-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_3030-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_3050-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_3050-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_3052-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_3052-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_3055.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_3055.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_3100.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_3100.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_3150.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_3150.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_3200m-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_3200m-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_3200.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_3200.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_3200se.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_3200se.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_3300_3310_3320-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_3300_3310_3320-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_3330.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_3330.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_3380-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_3380-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_3390-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_3390-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_3392.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_3392.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4000_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4000_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4050_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4050_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4100_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4100_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4100_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4100_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4150_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4150_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4200-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4200-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4240-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4240-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4250-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4250-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4300-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4300-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4345_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4345_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4350-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4350-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4l.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4l.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4ml.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4ml.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4mp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4mp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4_plus-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4_plus-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4si-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4si-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_4v-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_4v-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_5000.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_5000.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_5000_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_5000_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_5100_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_5100_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_5200l-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_5200l-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_5200lx.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_5200lx.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_5200-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_5200-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_5l.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_5l.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_5mp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_5mp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_5p.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_5p.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_5si_mopier-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_5si_mopier-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_5si-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_5si-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_6l.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_6l.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_6mp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_6mp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_6p.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_6p.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_8000.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_8000.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_8000_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_8000_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_8100_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_8100_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_8100_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_8100_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_8150_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_8150_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_8150_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_8150_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_9000_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_9000_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_9000_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_9000_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_9040_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_9040_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_9040-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_9040-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_9050_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_9050_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_9050-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_9050-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_9055mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_9055mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_9065mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_9065mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_cm1411fn-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_cm1411fn-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_cm1412fn-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_cm1412fn-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_cm1413fn-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_cm1413fn-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_cm1415fn-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_cm1415fn-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_cm1415fnw-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_cm1415fnw-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_cm1416fnw-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_cm1416fnw-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_cm1417fnw-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_cm1417fnw-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_cp_1025.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_cp_1025.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_cp1025.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_cp1025.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m1005.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m1005.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m1120_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m1120_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m1120n_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m1120n_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m1319f_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m1319f_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m1522nf_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m1522nf_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m1537dnf_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m1537dnf_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m1538dnf_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m1538dnf_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m1539dnf_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m1539dnf_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m2727_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m2727_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m3027_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m3027_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m3035_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m3035_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m4345_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m4345_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m4349_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m4349_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m5025_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m5025_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m5035_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m5035_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m5039_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m5039_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m9040_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m9040_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m9050_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m9050_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_m9059_mfp-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_m9059_mfp-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p1005.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p1005.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p1006.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p1006.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p1007.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p1007.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p1008.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p1008.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p1009.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p1009.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p1505n-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p1505n-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p1505n-zxs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p1505n-zxs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p1505.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p1505.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2014n-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2014n-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2014n-zxs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2014n-zxs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2014-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2014-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2014-zxs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2014-zxs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2015dn_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2015dn_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2015d_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2015d_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2015n_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2015n_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2015_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2015_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2015x_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2015x_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2035n-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2035n-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2035n-zjs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2035n-zjs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2035-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2035-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2035-zjs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2035-zjs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2055dn-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2055dn-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2055d-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2055d-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2055-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2055-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p2055x-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p2055x-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p3004-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p3004-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p3005-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p3005-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p3010_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p3010_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p4014dn.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p4014dn.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p4014n.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p4014n.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p4014.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p4014.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p4015dn.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p4015dn.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p4015n.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p4015n.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p4015.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p4015.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p4015tn.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p4015tn.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p4015x.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p4015x.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p4515n.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p4515n.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p4515.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p4515.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p4515tn.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p4515tn.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p4515xm.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p4515xm.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_p4515x.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_p4515x.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_m1132_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_m1132_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_m1136_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_m1136_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_m1137_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_m1137_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_m1138_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_m1138_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_m1139_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_m1139_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_m1212nf_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_m1212nf_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_m1213nf_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_m1213nf_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_m1214nfh_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_m1214nfh_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_m1216nfh_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_m1216nfh_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_m1217nfw_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_m1217nfw_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_m1218nfg_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_m1218nfg_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_m1218nfs_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_m1218nfs_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_m1219nfg_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_m1219nfg_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_m1219nf_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_m1219nf_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_m1219nfs_mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_m1219nfs_mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1102.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1102.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1106.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1106.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1106w.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1106w.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1107.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1107.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1107w.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1107w.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1108.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1108.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1108w.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1108w.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1109.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1109.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1109w.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1109w.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1566.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1566.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1567.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1567.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1568.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1568.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1569.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1569.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1606dn.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1606dn.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1607dn.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1607dn.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1608dn.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1608dn.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_professional_p1609dn.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_professional_p1609dn.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_pro_mfp_m125a.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_pro_mfp_m125a.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_pro_mfp_m125nw.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_pro_mfp_m125nw.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_pro_mfp_m125ra.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_pro_mfp_m125ra.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_pro_mfp_m125rnw.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_pro_mfp_m125rnw.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_pro_mfp_m125r.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_pro_mfp_m125r.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_pro_mfp_m126a.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_pro_mfp_m126a.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_pro_mfp_m126nw.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_pro_mfp_m126nw.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_pro_mfp_m127fn.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_pro_mfp_m127fn.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_pro_mfp_m127fp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_pro_mfp_m127fp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_pro_mfp_m127fw.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_pro_mfp_m127fw.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_pro_mfp_m128fn.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_pro_mfp_m128fn.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_pro_mfp_m128fp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_pro_mfp_m128fp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-laserjet_pro_mfp_m128fw.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-laserjet_pro_mfp_m128fw.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-mopier_240-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-mopier_240-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-mopier_320-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-mopier_320-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_100_mobile_l411.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_100_mobile_l411.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_150_mobile_l511.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_150_mobile_l511.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_2620_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_2620_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_4000_k210.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_4000_k210.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_4100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_4100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_4105.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_4105.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_4115_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_4115_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_4200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_4200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_4255.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_4255.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_4300_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_4300_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_4400_k410.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_4400_k410.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_4500_g510a-f.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_4500_g510a-f.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_4500_g510g-m.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_4500_g510g-m.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_4500_g510n-z.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_4500_g510n-z.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_4500_k710.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_4500_k710.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_4610_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_4610_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_4620_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_4620_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_4630_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_4630_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_5100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_5100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_5105.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_5105.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_5110.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_5110.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_5110v.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_5110v.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_5500_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_5500_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_5600_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_5600_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_5740_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_5740_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_6000_e609a.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_6000_e609a.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_6000_e609n.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_6000_e609n.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_6100.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_6100.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_6100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_6100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_6150_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_6150_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_6200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_6200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_6300_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_6300_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_6500_e709a.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_6500_e709a.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_6500_e709n.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_6500_e709n.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_6500_e710a-f.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_6500_e710a-f.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_6500_e710n-z.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_6500_e710n-z.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_6600.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_6600.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_6700.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_6700.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_6800.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_6800.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_7000_e809a.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_7000_e809a.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_7000_e809a_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_7000_e809a_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_7100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_7100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_7110_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_7110_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_7200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_7200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_7300_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_7300_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_7400_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_7400_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_7500_e910.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_7500_e910.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_7610_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_7610_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_8040_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_8040_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_9100_series-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_9100_series-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_d_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_d_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_g55.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_g55.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_g55xi.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_g55xi.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_g85.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_g85.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_g85xi.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_g85xi.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_g95.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_g95.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_h470.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_h470.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_j3500_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_j3500_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_j3600_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_j3600_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_j4500_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_j4500_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_j4660_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_j4660_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_j4680_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_j4680_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_j5500_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_j5500_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_j5700_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_j5700_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_j6400_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_j6400_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_k60.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_k60.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_k60xi.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_k60xi.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_k7100.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_k7100.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_k80.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_k80.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_k80xi.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_k80xi.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_lx.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_lx.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_1150c.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_1150c.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_1170c_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_1170c_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_3610.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_3610.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_3620.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_3620.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_6230.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_6230.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_6830.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_6830.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_8000_a809.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_8000_a809.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_8100.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_8100.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_8500_a909a.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_8500_a909a.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_8500_a909g.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_8500_a909g.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_8500_a909n.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_8500_a909n.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_8500_a910.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_8500_a910.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_8600.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_8600.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_8610.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_8610.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_8620.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_8620.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_8630.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_8630.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_8640.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_8640.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_8660.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_8660.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_k5300.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_k5300.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_k5400.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_k5400.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_k550.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_k550.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_k850.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_k850.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_k8600.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_k8600.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_l7300.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_l7300.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_l7400.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_l7400.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_l7500.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_l7500.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_l7600.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_l7600.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_pro_l7700.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_pro_l7700.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_r40.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_r40.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_r40xi.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_r40xi.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_r45.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_r45.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_r60.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_r60.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_r65.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_r65.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_r80.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_r80.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_r80xi.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_r80xi.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_series_300.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_series_300.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_series_310.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_series_310.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_series_320.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_series_320.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_series_330.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_series_330.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_series_350.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_series_350.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_series_520.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_series_520.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_series_570.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_series_570.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_series_580.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_series_580.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_series_590.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_series_590.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_series_600.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_series_600.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_series_610.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_series_610.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_series_630.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_series_630.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_series_700.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_series_700.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_series_710.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_series_710.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_series_720.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_series_720.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_series_725.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_series_725.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_t_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_t_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_v30.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_v30.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_v40.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_v40.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_v40xi.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_v40xi.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-officejet_v45.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-officejet_v45.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_100.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_100.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_1115.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_1115.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_1215.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_1215.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_1218.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_1218.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_130.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_130.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_1315.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_1315.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_140_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_140_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_230.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_230.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_240_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_240_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_2570_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_2570_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_2600_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_2600_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_2700_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_2700_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_3100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_3100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_3200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_3200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_320_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_320_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_3300_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_3300_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_330_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_330_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_370_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_370_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_380_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_380_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_420_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_420_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_470_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_470_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_5510d_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_5510d_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_5510_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_5510_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_5520_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_5520_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_6510_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_6510_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_6520_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_6520_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_7150.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_7150.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_7200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_7200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_7345.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_7345.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_7350.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_7350.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_7400_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_7400_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_7510_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_7510_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_7520_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_7520_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_7550.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_7550.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_7600_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_7600_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_7700_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_7700_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_7800_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_7800_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_7900_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_7900_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_8000_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_8000_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_8100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_8100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_8200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_8200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_8400_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_8400_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_8700_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_8700_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_a310_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_a310_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_a320_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_a320_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_a430_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_a430_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_a440_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_a440_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_a510_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_a510_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_a520_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_a520_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_a530_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_a530_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_a610_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_a610_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_a620_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_a620_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_a630_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_a630_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_a640_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_a640_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_a710_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_a710_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_a820_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_a820_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_b010_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_b010_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_b109a-m.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_b109a-m.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_b109a_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_b109a_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_b110_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_b110_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_b8500_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_b8500_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c309a_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c309a_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c3100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c3100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c4100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c4100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c4200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c4200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c4340_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c4340_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c4380_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c4380_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c4400_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c4400_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c4500_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c4500_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c4600_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c4600_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c4700_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c4700_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c5100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c5100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c5200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c5200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c5300_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c5300_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c5500_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c5500_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c6100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c6100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c6200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c6200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c6300_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c6300_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c7100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c7100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c7200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c7200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_c8100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_c8100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_d110_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_d110_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_d5060_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_d5060_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_d5100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_d5100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_d5300_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_d5300_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_d5400_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_d5400_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_d6100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_d6100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_d7100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_d7100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_d7200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_d7200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_d7300_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_d7300_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_d7400_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_d7400_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_d7500_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_d7500_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_estn_c510_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_estn_c510_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_ink_adv_k510.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_ink_adv_k510.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_p1000.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_p1000.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_p1100.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_p1100.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_plus_b209a-m.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_plus_b209a-m.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_plus_b210_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_plus_b210_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_prem_c310_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_prem_c310_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_prem_c410_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_prem_c410_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_premium_c309g-m.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_premium_c309g-m.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_prem-web_c309n-s.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_prem-web_c309n-s.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_pro_b8300_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_pro_b8300_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_pro_b8800_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_pro_b8800_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-photosmart_wireless_b109n-z.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-photosmart_wireless_b109n-z.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-printer_scanner_copier_300.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-printer_scanner_copier_300.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_1000_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_1000_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_1100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_1100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_1200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_1200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_1300_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_1300_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_1310_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_1310_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_1358_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_1358_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_1400_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_1400_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_1500_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_1500_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_1510_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_1510_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_1600_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_1600_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_2100_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_2100_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_2150_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_2150_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_2170_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_2170_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_2200_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_2200_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_2210_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_2210_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_2300_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_2300_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_2350_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_2350_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_2400_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_2400_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_2500_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_2500_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_500.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_500.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_720.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_720.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_750.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_750.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_750xi.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_750xi.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_760.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_760.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_780.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_780.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_780xi.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_780xi.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_900_series.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_900_series.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_920.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_920.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_950.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_950.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_950vr.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_950vr.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpcups/hp-psc_950xi.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpcups/hp-psc_950xi.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-2000c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-2000c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-2500c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-2500c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-910-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-910-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-915-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-915-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-business_inkjet_1000-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-business_inkjet_1000-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-business_inkjet_1100-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-business_inkjet_1100-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-business_inkjet_1200-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-business_inkjet_1200-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-business_inkjet_2200-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-business_inkjet_2200-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-business_inkjet_2230-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-business_inkjet_2230-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-business_inkjet_2250-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-business_inkjet_2250-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-business_inkjet_2280-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-business_inkjet_2280-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-business_inkjet_2300-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-business_inkjet_2300-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-business_inkjet_2600-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-business_inkjet_2600-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-business_inkjet_2800-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-business_inkjet_2800-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-business_inkjet_3000-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-business_inkjet_3000-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_inkjet_cp1700-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_inkjet_cp1700-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_inkjet_printer_cp1700-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_inkjet_printer_cp1700-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_1600-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_1600-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_2500-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_2500-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_2500_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_2500_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_2600n-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_2600n-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_3000-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_3000-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_3500-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_3500-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_3500n-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_3500n-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_3550-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_3550-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_3550n-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_3550n-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_3600-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_3600-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_3700-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_3700-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_3700n-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_3700n-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_3800-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_3800-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_4500-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_4500-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_4550-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_4550-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_4600-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_4600-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_4600_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_4600_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_4610-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_4610-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_4650-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_4650-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_4700-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_4700-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_4730mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_4730mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_5500-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_5500-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_5550-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_5550-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_5-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_5-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_5m-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_5m-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_8500-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_8500-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_8550-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_8550-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_9500-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_9500-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_9500_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_9500_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cm1312_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cm1312_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cm1312nfi_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cm1312nfi_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cm2320fxi_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cm2320fxi_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cm2320_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cm2320_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cm2320nf_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cm2320nf_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cm2320n_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cm2320n_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cm3530_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cm3530_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cm4540_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cm4540_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cm4730_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cm4730_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cm6030_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cm6030_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cm6040_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cm6040_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cm6049_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cm6049_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp1215-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp1215-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp1217-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp1217-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp1514n-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp1514n-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp1515n-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp1515n-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp1518ni-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp1518ni-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp2025dn-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp2025dn-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp2025-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp2025-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp2025n-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp2025n-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp2025x-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp2025x-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp3505-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp3505-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp3525-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp3525-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp4005-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp4005-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp4020_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp4020_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp4520_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp4520_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp5225dn-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp5225dn-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp5225-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp5225-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp5225n-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp5225n-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp5520_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp5520_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_cp6015-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_cp6015-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_pro_mfp_m176n-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_pro_mfp_m176n-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-color_laserjet_pro_mfp_m177fw-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-color_laserjet_pro_mfp_m177fw-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-cp1160-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-cp1160-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_1000_j110_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_1000_j110_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_1010_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_1010_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_1050_j410_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_1050_j410_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_1100-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_1100-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_1120-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_1120-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_1125-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_1125-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_1200c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_1200c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_1220c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_1220c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_1280-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_1280-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_1510_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_1510_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_1600c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_1600c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_1600cm-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_1600cm-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_1600cn-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_1600cn-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_2000_j210_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_2000_j210_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_2020_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_2020_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_2050_j510_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_2050_j510_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_2510_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_2510_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_2520_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_2520_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_2540_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_2540_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_2640_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_2640_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3000_j310_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3000_j310_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3050a_j611_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3050a_j611_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3050_j610_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3050_j610_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3070_b611_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3070_b611_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3320-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3320-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3325-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3325-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3420-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3420-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3425-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3425-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3450-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3450-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3500-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3500-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3510_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3510_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3520_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3520_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3540_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3540_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3550-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3550-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3600-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3600-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3650-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3650-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3740-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3740-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3810-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3810-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3816-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3816-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3819-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3819-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3820-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3820-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3822-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3822-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3840-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3840-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3870-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3870-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3900-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3900-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3910-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3910-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3920-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3920-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_3940-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_3940-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_400-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_400-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_400l-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_400l-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_4510_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_4510_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_460-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_460-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_4610_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_4610_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_4620_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_4620_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_4640_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_4640_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_500c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_500c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_500-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_500-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_505j-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_505j-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_5100-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_5100-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_510-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_510-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_520-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_520-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_5400_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_5400_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_540-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_540-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_550c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_550c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_5520_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_5520_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_5550-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_5550-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_5551-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_5551-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_5552-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_5552-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_5600-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_5600-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_5650-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_5650-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_5652-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_5652-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_5700-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_5700-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_5800-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_5800-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_5850-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_5850-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_5900_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_5900_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_600-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_600-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_610c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_610c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_610cl-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_610cl-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_6120-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_6120-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_6122-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_6122-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_6127-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_6127-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_612c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_612c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_630c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_630c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_632c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_632c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_640c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_640c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_648c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_648c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_6500-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_6500-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_6520_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_6520_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_656c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_656c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_6600-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_6600-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_660-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_660-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_670c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_670c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_670-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_670-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_670tv-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_670tv-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_672c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_672c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_6800-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_6800-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_680-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_680-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_682-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_682-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_690c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_690c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_690-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_690-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_692-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_692-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_693-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_693-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_6940_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_6940_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_694-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_694-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_695-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_695-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_697-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_697-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_6980_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_6980_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_810c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_810c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_812c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_812c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_815c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_815c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_816c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_816c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_825c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_825c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_830c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_830c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_832c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_832c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_840c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_840c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_841c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_841c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_842c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_842c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_843c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_843c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_845c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_845c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_850c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_850c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_855c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_855c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_870c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_870c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_880c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_880c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_882c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_882c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_890c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_890c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_895c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_895c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_916c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_916c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_920c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_920c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_9300-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_9300-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_930c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_930c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_932c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_932c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_933c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_933c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_934c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_934c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_935c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_935c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_940c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_940c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_948c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_948c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_950c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_950c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_952c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_952c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_955c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_955c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_957c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_957c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_959c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_959c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_9600-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_9600-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_960c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_960c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_970c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_970c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_975c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_975c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_9800-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_9800-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_980c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_980c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_990c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_990c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_995c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_995c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_d1300_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_d1300_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_d1400_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_d1400_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_d1500_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_d1500_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_d1600_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_d1600_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_d2300_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_d2300_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_d2400_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_d2400_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_d2500_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_d2500_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_d2600_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_d2600_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_d4100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_d4100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_d4200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_d4200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_d4300_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_d4300_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_d5500_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_d5500_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_d730-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_d730-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_f2100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_f2100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_f2200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_f2200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_f2400_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_f2400_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_f300_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_f300_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_f4100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_f4100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_f4200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_f4200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_f4210_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_f4210_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_f4213_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_f4213_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_f4400_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_f4400_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_f4500_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_f4500_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_f735-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_f735-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_ink_adv_2010_k010-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_ink_adv_2010_k010-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_ink_adv_2060_k110-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_ink_adv_2060_k110-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_ink_advant_k109a-z-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_ink_advant_k109a-z-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-deskjet_ink_advant_k209a-z-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-deskjet_ink_advant_k209a-z-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-dj350-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-dj350-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-dj450-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-dj450-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-envy_100_d410_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-envy_100_d410_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-envy_110_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-envy_110_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-envy_120_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-envy_120_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-envy_4500_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-envy_4500_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-envy_5530_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-envy_5530_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-envy_5640_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-envy_5640_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-envy_5660_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-envy_5660_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-envy_7640_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-envy_7640_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1000-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1000-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1005_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1005_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1010-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1010-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1012-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1012-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1015-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1015-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1018-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1018-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1020-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1020-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1022-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1022-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1022-hpijs-zjs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1022-hpijs-zjs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1022n-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1022n-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1022n-hpijs-zjs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1022n-hpijs-zjs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1022nw-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1022nw-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1022nw-hpijs-zjs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1022nw-hpijs-zjs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1100a-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1100a-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1100-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1100-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1100xi-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1100xi-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1150-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1150-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1160-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1160-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1160_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1160_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1200-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1200-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1200n-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1200n-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1220-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1220-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1220se-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1220se-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1300-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1300-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1300n-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1300n-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1300xi-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1300xi-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1320-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1320-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1320n-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1320n-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1320nw-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1320nw-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1320_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1320_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_1320tn-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_1320tn-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_2100-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_2100-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_2100_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_2100_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_2200-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_2200-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_2200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_2200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_2300-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_2300-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_2300_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_2300_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_2410-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_2410-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_2420-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_2420-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_2430-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_2430-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_3015-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_3015-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_3020-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_3020-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_3030-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_3030-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_3050-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_3050-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_3052-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_3052-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_3055-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_3055-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_3100-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_3100-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_3150-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_3150-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_3200-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_3200-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_3200m-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_3200m-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_3200se-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_3200se-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_3300_3310_3320-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_3300_3310_3320-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_3330-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_3330-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_3380-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_3380-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_3390-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_3390-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_3392-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_3392-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4000_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4000_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4050_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4050_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4100_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4100_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4100_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4100_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4150_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4150_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4200-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4200-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4240-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4240-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4250-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4250-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4300-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4300-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4345_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4345_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4350-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4350-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4l-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4l-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4ml-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4ml-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4mp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4mp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4_plus-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4_plus-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4si-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4si-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_4v-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_4v-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_5000-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_5000-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_5000_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_5000_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_5100_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_5100_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_5200-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_5200-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_5200l-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_5200l-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_5200lx-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_5200lx-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_5l-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_5l-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_5mp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_5mp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_5p-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_5p-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_5si-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_5si-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_5si_mopier-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_5si_mopier-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_6l-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_6l-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_6mp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_6mp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_6p-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_6p-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_8000-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_8000-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_8000_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_8000_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_8100_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_8100_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_8100_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_8100_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_8150_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_8150_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_8150_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_8150_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_9000_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_9000_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_9000_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_9000_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_9040-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_9040-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_9040_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_9040_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_9050-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_9050-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_9050_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_9050_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_9055mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_9055mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_9065mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_9065mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_cm1411fn-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_cm1411fn-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_cm1412fn-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_cm1412fn-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_cm1413fn-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_cm1413fn-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_cm1415fn-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_cm1415fn-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_cm1415fnw-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_cm1415fnw-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_cm1416fnw-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_cm1416fnw-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_cm1417fnw-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_cm1417fnw-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_cm1418fnw-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_cm1418fnw-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_cp_1025-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_cp_1025-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_cp1025-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_cp1025-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_cp_1025nw-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_cp_1025nw-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_cp1025nw-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_cp1025nw-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m1005-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m1005-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m1120_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m1120_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m1120n_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m1120n_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m1319f_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m1319f_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m1522nf_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m1522nf_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m1537dnf_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m1537dnf_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m1538dnf_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m1538dnf_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m1539dnf_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m1539dnf_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m2727_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m2727_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m3027_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m3027_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m3035_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m3035_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m4345_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m4345_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m4349_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m4349_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m5025_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m5025_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m5035_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m5035_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m5039_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m5039_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m9040_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m9040_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m9050_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m9050_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_m9059_mfp-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_m9059_mfp-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p1005-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p1005-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p1006-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p1006-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p1007-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p1007-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p1008-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p1008-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p1009-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p1009-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p1505-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p1505-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p1505n-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p1505n-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p1505n-hpijs-zxs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p1505n-hpijs-zxs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2014-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2014-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2014-hpijs-zxs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2014-hpijs-zxs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2014n-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2014n-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2014n-hpijs-zxs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2014n-hpijs-zxs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2015dn_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2015dn_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2015d_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2015d_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2015n_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2015n_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2015_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2015_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2015x_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2015x_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2035-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2035-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2035-hpijs-zjs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2035-hpijs-zjs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2035n-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2035n-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2035n-hpijs-zjs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2035n-hpijs-zjs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2055d-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2055d-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2055dn-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2055dn-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2055-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2055-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p2055x-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p2055x-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p3004-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p3004-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p3005-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p3005-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p3010_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p3010_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p4014dn-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p4014dn-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p4014-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p4014-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p4014n-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p4014n-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p4015dn-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p4015dn-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p4015-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p4015-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p4015n-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p4015n-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p4015tn-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p4015tn-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p4015x-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p4015x-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p4515-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p4515-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p4515n-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p4515n-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p4515tn-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p4515tn-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p4515x-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p4515x-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_p4515xm-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_p4515xm-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_m1132_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_m1132_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_m1136_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_m1136_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_m1137_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_m1137_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_m1138_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_m1138_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_m1139_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_m1139_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_m1212nf_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_m1212nf_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_m1213nf_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_m1213nf_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_m1214nfh_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_m1214nfh_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_m1216nfh_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_m1216nfh_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_m1217nfw_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_m1217nfw_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_m1218nfg_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_m1218nfg_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_m1218nfs_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_m1218nfs_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_m1219nfg_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_m1219nfg_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_m1219nf_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_m1219nf_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_m1219nfs_mfp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_m1219nfs_mfp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1102-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1102-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p_1102w-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p_1102w-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1102w-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1102w-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1106-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1106-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1106w-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1106w-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1107-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1107-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1107w-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1107w-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1108-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1108-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1108w-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1108w-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1109-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1109-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1109w-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1109w-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1566-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1566-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1567-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1567-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1568-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1568-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1569-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1569-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1606dn-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1606dn-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1607dn-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1607dn-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1608dn-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1608dn-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_professional_p1609dn-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_professional_p1609dn-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_pro_mfp_m125a-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_pro_mfp_m125a-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_pro_mfp_m125nw-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_pro_mfp_m125nw-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_pro_mfp_m125ra-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_pro_mfp_m125ra-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_pro_mfp_m125r-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_pro_mfp_m125r-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_pro_mfp_m125rnw-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_pro_mfp_m125rnw-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_pro_mfp_m126a-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_pro_mfp_m126a-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_pro_mfp_m126nw-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_pro_mfp_m126nw-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_pro_mfp_m127fn-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_pro_mfp_m127fn-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_pro_mfp_m127fp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_pro_mfp_m127fp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_pro_mfp_m127fw-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_pro_mfp_m127fw-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_pro_mfp_m128fn-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_pro_mfp_m128fn-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_pro_mfp_m128fp-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_pro_mfp_m128fp-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-laserjet_pro_mfp_m128fw-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-laserjet_pro_mfp_m128fw-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-mopier_240-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-mopier_240-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-mopier_320-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-mopier_320-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_100_mobile_l411-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_100_mobile_l411-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_150_mobile_l511-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_150_mobile_l511-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_2620_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_2620_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_4000_k210-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_4000_k210-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_4100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_4100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_4105-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_4105-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_4115_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_4115_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_4200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_4200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_4255-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_4255-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_4300_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_4300_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_4400_k410-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_4400_k410-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_4500_g510a-f-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_4500_g510a-f-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_4500_g510g-m-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_4500_g510g-m-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_4500_g510n-z-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_4500_g510n-z-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_4500_k710-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_4500_k710-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_4610_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_4610_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_4620_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_4620_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_4630_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_4630_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_5100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_5100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_5105-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_5105-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_5110-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_5110-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_5110v-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_5110v-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_5500_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_5500_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_5600_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_5600_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_5740_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_5740_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_6000_e609a-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_6000_e609a-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_6000_e609n-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_6000_e609n-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_6100-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_6100-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_6100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_6100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_6150_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_6150_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_6200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_6200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_6300_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_6300_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_6500_e709a-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_6500_e709a-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_6500_e709n-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_6500_e709n-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_6500_e710a-f-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_6500_e710a-f-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_6500_e710n-z-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_6500_e710n-z-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_6600-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_6600-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_6700-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_6700-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_6800-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_6800-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_7000_e809a-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_7000_e809a-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_7000_e809a_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_7000_e809a_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_7100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_7100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_7110_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_7110_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_7200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_7200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_7300_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_7300_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_7400_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_7400_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_7500_e910-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_7500_e910-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_7610_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_7610_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_8040_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_8040_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_9100_series-hpijs-pcl3.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_9100_series-hpijs-pcl3.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_d_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_d_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_g55-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_g55-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_g55xi-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_g55xi-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_g85-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_g85-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_g85xi-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_g85xi-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_g95-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_g95-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_h470-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_h470-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_j3500_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_j3500_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_j3600_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_j3600_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_j4500_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_j4500_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_j4660_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_j4660_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_j4680_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_j4680_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_j5500_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_j5500_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_j5700_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_j5700_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_j6400_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_j6400_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_k60-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_k60-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_k60xi-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_k60xi-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_k7100-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_k7100-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_k80-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_k80-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_k80xi-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_k80xi-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_lx-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_lx-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_1150c-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_1150c-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_1170c_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_1170c_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_3610-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_3610-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_3620-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_3620-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_6230-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_6230-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_6830-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_6830-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_8000_a809-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_8000_a809-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_8100-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_8100-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_8500_a909a-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_8500_a909a-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_8500_a909g-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_8500_a909g-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_8500_a909n-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_8500_a909n-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_8500_a910-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_8500_a910-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_8600-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_8600-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_8610-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_8610-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_8620-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_8620-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_8630-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_8630-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_8640-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_8640-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_8660-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_8660-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_k5300-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_k5300-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_k5400-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_k5400-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_k550-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_k550-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_k850-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_k850-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_k8600-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_k8600-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_l7300-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_l7300-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_l7400-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_l7400-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_l7500-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_l7500-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_l7600-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_l7600-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_pro_l7700-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_pro_l7700-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_r40-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_r40-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_r40xi-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_r40xi-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_r45-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_r45-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_r60-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_r60-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_r65-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_r65-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_r80-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_r80-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_r80xi-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_r80xi-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_series_300-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_series_300-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_series_310-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_series_310-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_series_320-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_series_320-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_series_330-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_series_330-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_series_350-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_series_350-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_series_520-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_series_520-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_series_570-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_series_570-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_series_580-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_series_580-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_series_590-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_series_590-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_series_600-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_series_600-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_series_610-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_series_610-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_series_630-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_series_630-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_series_700-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_series_700-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_series_710-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_series_710-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_series_720-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_series_720-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_series_725-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_series_725-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_t_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_t_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_v30-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_v30-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_v40-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_v40-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_v40xi-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_v40xi-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-officejet_v45-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-officejet_v45-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_100-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_100-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_1115-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_1115-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_1215-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_1215-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_1218-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_1218-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_130-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_130-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_1315-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_1315-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_140_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_140_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_230-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_230-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_240_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_240_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_2570_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_2570_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_2600_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_2600_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_2700_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_2700_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_3100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_3100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_3200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_3200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_320_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_320_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_3300_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_3300_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_330_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_330_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_370_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_370_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_380_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_380_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_420_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_420_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_470_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_470_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_5510d_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_5510d_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_5510_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_5510_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_5520_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_5520_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_6510_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_6510_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_6520_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_6520_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_7150-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_7150-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_7200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_7200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_7345-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_7345-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_7350-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_7350-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_7400_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_7400_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_7510_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_7510_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_7520_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_7520_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_7550-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_7550-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_7600_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_7600_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_7700_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_7700_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_7800_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_7800_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_7900_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_7900_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_8000_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_8000_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_8100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_8100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_8200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_8200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_8400_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_8400_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_8700_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_8700_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_a310_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_a310_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_a320_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_a320_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_a430_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_a430_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_a440_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_a440_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_a510_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_a510_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_a520_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_a520_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_a530_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_a530_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_a610_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_a610_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_a620_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_a620_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_a630_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_a630_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_a640_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_a640_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_a710_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_a710_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_a820_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_a820_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_b010_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_b010_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_b109a-m-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_b109a-m-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_b109a_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_b109a_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_b110_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_b110_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_b8500_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_b8500_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c309a_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c309a_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c3100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c3100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c4100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c4100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c4200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c4200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c4340_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c4340_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c4380_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c4380_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c4400_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c4400_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c4500_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c4500_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c4600_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c4600_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c4700_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c4700_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c5100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c5100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c5200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c5200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c5300_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c5300_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c5500_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c5500_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c6100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c6100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c6200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c6200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c6300_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c6300_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c7100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c7100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c7200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c7200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_c8100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_c8100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_d110_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_d110_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_d5060_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_d5060_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_d5100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_d5100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_d5300_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_d5300_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_d5400_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_d5400_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_d6100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_d6100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_d7100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_d7100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_d7200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_d7200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_d7300_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_d7300_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_d7400_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_d7400_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_d7500_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_d7500_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_estn_c510_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_estn_c510_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_ink_adv_k510-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_ink_adv_k510-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_p1000-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_p1000-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_p1100-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_p1100-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_plus_b209a-m-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_plus_b209a-m-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_plus_b210_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_plus_b210_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_prem_c310_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_prem_c310_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_prem_c410_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_prem_c410_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_premium_c309g-m-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_premium_c309g-m-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_prem-web_c309n-s-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_prem-web_c309n-s-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_pro_b8300_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_pro_b8300_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_pro_b8800_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_pro_b8800_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-photosmart_wireless_b109n-z-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-photosmart_wireless_b109n-z-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-printer_scanner_copier_300-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-printer_scanner_copier_300-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_1000_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_1000_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_1100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_1100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_1200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_1200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_1300_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_1300_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_1310_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_1310_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_1358_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_1358_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_1400_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_1400_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_1500_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_1500_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_1510_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_1510_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_1600_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_1600_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_2100_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_2100_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_2150_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_2150_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_2170_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_2170_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_2200_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_2200_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_2210_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_2210_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_2300_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_2300_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_2350_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_2350_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_2400_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_2400_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_2500_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_2500_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_500-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_500-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_720-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_720-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_750-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_750-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_750xi-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_750xi-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_760-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_760-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_780-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_780-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_780xi-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_780xi-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_900_series-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_900_series-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_920-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_920-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_950-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_950-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_950vr-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_950vr-hpijs.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/ppd/hpijs/hp-psc_950xi-hpijs.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/ppd/hpijs/hp-psc_950xi-hpijs.ppd.gz differ diff -Nru hplip-3.14.6/pqdiag.py hplip-3.15.2/pqdiag.py --- hplip-3.14.6/pqdiag.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/pqdiag.py 2015-01-29 12:20:49.000000000 +0000 @@ -52,6 +52,9 @@ device_uri = mod.getDeviceUri(device_uri, printer_name) + if not device_uri: + sys.exit(1) + if not utils.canEnterGUIMode4(): log.error("%s -u/--gui requires Qt4 GUI support. Exiting." % __mod__) sys.exit(1) @@ -64,7 +67,6 @@ sys.exit(1) app = QApplication(sys.argv) - dlg = PQDiagDialog(None, device_uri) # TODO: add device_uri dlg.show() try: diff -Nru hplip-3.14.6/print.py hplip-3.15.2/print.py --- hplip-3.14.6/print.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/print.py 2015-01-29 12:20:49.000000000 +0000 @@ -50,7 +50,9 @@ opts, device_uri, printer_name, mode, ui_toolkit, loc = \ mod.parseStdOpts() -printer_name, device_uri = mod.getPrinterName(printer_name, device_uri) +sts, printer_name, device_uri = mod.getPrinterName(printer_name, device_uri) +if not sts: + sys.exit(1) if ui_toolkit == 'qt3': if not utils.canEnterGUIMode(): @@ -132,7 +134,6 @@ if 1: app = QApplication(sys.argv) - dlg = PrintDialog(None, printer_name, mod.args) dlg.show() try: diff -Nru hplip-3.14.6/printsettings.py hplip-3.15.2/printsettings.py --- hplip-3.14.6/printsettings.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/printsettings.py 2015-01-29 12:20:49.000000000 +0000 @@ -59,7 +59,9 @@ else: back_end_filter = ['hp', 'hpfax'] - printer_name, device_uri = mod.getPrinterName(printer_name, device_uri, back_end_filter) + sts, printer_name, device_uri = mod.getPrinterName(printer_name, device_uri, back_end_filter) + if not sts: + sys.exit(1) if ui_toolkit == 'qt3': log.error("%s requires Qt4 support. Use hp-toolbox to adjust print settings. Exiting." % __mod__) @@ -77,7 +79,6 @@ sys.exit(1) app = QApplication(sys.argv) - dialog = PrintSettingsDialog(None, printer_name, fax_mode) dialog.show() try: diff -Nru hplip-3.14.6/prnt/backend/hp.c hplip-3.15.2/prnt/backend/hp.c --- hplip-3.14.6/prnt/backend/hp.c 2014-06-03 06:30:53.000000000 +0000 +++ hplip-3.15.2/prnt/backend/hp.c 2015-01-29 12:20:42.000000000 +0000 @@ -116,6 +116,7 @@ #define DONT_SEND_TO_BACKEND 16 #define DONT_SEND_TO_PRINTER 32 + /* Actual vstatus codes are mapped to 1000+vstatus for DeviceError messages. */ typedef enum { @@ -642,8 +643,10 @@ { char fname[256] = {0,}; FILE *temp_fp = NULL; + snprintf(fname, sizeof(fname), "%s/hp_%s_out_%s_XXXXXX",CUPS_TMP_DIR, user_name, job_id); createTempFile(fname, &temp_fp); + if (temp_fp) { chmod(fname, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH); @@ -652,30 +655,38 @@ { BUG("ERROR: unable to create Temporary file %s: %m\n", fname); } + return temp_fp; } + static void save_out_file(int fd, int copies, FILE * temp_fp) { int len = 0; char buf[HPMUD_BUFFER_SIZE]; + if (NULL == temp_fp) { BUG("ERROR: save_out_file function recieved NULL temp_fp pointer\n"); return; } + while (copies > 0) { copies--; + if (fd != 0) { lseek(fd, 0, SEEK_SET); } + while ((len = read(fd, buf, sizeof(buf))) > 0) { fwrite (buf, 1, len, temp_fp); } + } } + int main(int argc, char *argv[]) { int fd; @@ -742,6 +753,7 @@ if(temp_fp) saveoutfile = 1; } + if( DONT_SEND_TO_PRINTER & iLogLevel ) { if(temp_fp) @@ -751,6 +763,9 @@ } exit (BACKEND_OK); } + + + signal(SIGTERM, SIG_IGN); init_dbus(); @@ -785,6 +800,7 @@ { if (saveoutfile) fwrite (buf, 1, len, temp_fp); + /* Got some data now open the hp device. This will handle any HPIJS device contention. */ if (hd <= 0) { @@ -865,6 +881,7 @@ stat = hpmud_write_channel(hd, cd, buf+total, size, EXCEPTION_TIMEOUT, &n); + if (n != size) { /* IO error, get printer status. */ diff -Nru hplip-3.14.6/prnt/cupsext/cupsext.c hplip-3.15.2/prnt/cupsext/cupsext.c --- hplip-3.14.6/prnt/cupsext/cupsext.c 2014-06-03 06:30:53.000000000 +0000 +++ hplip-3.15.2/prnt/cupsext/cupsext.c 2015-01-29 12:20:42.000000000 +0000 @@ -79,9 +79,15 @@ #include #include #include +#include +#include #include #include + +#include "cupsext.h" + + /* Ref: PEP 353 (Python 2.5) */ #if PY_VERSION_HEX < 0x02050000 typedef int Py_ssize_t; @@ -89,6 +95,10 @@ #define PY_SSIZE_T_MIN INT_MIN #endif +#define _STRINGIZE(x) #x +#define STRINGIZE(x) _STRINGIZE(x) + + #if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5) #define HAVE_CUPS_1_6 1 #endif @@ -215,7 +225,8 @@ } ascii[i] = '\0'; - val = PyString_FromString( ascii ); + //val = PyString_FromString( ascii ); + val = PYUnicode_STRING( ascii ); free( ascii ); } @@ -230,7 +241,8 @@ } -staticforward PyTypeObject printer_Type; +//staticforward PyTypeObject printer_Type; +static PyTypeObject printer_Type; #define printerObject_Check(v) ((v)->ob_type == &printer_Type) @@ -277,8 +289,10 @@ static PyTypeObject printer_Type = { - PyObject_HEAD_INIT( &PyType_Type ) - 0, /* ob_size */ + /* PyObject_HEAD_INIT( &PyType_Type ) */ + /* 0, */ + /* /\* ob_size *\/ */ + PyVarObject_HEAD_INIT( &PyType_Type, 0 ) "cupsext.Printer", /* tp_name */ sizeof( printer_Object ), /* tp_basicsize */ 0, /* tp_itemsize */ @@ -937,8 +951,8 @@ -staticforward PyTypeObject job_Type; - +//staticforward PyTypeObject job_Type; +static PyTypeObject job_Type; typedef struct { PyObject_HEAD @@ -977,8 +991,9 @@ static PyTypeObject job_Type = { - PyObject_HEAD_INIT( &PyType_Type ) - 0, /* ob_size */ + /* PyObject_HEAD_INIT( &PyType_Type ) */ + /* 0, /\* ob_size *\/ */ + PyVarObject_HEAD_INIT( &PyType_Type, 0 ) "Job", /* tp_name */ sizeof( job_Object ), /* tp_basicsize */ 0, /* tp_itemsize */ @@ -1876,8 +1891,8 @@ usernameObj = PyTuple_GetItem(result, 0); if (!usernameObj) return ""; - username = PyString_AsString(usernameObj); - // printf("usernameObj=%p, username='%s'\n", usernameObj, username); + username = PYUnicode_UNICODE(usernameObj); + /* printf("usernameObj=%p, username='%s'\n", usernameObj, username); */ if (!username) return ""; @@ -1886,8 +1901,8 @@ passwordObj = PyTuple_GetItem(result, 1); if (!passwordObj) return ""; - password = PyString_AsString(passwordObj); - // printf("passwrdObj=%p, passwrd='%s'\n", passwordObj, password); + password = PYUnicode_UNICODE(passwordObj); + /* printf("passwordObj=%p, password='%s'\n", passwordObj, password); */ if (!password) return ""; @@ -2001,17 +2016,26 @@ static char cupsext_documentation[] = "Python extension for CUPS 1.x"; -void initcupsext( void ) -{ +/* void initcupsext( void ) */ +/* { */ - PyObject * mod = Py_InitModule4( "cupsext", cupsext_methods, - cupsext_documentation, ( PyObject* ) NULL, - PYTHON_API_VERSION ); +/* PyObject * mod = Py_InitModule4( "cupsext", cupsext_methods, */ +/* cupsext_documentation, ( PyObject* ) NULL, */ +/* PYTHON_API_VERSION ); */ - if ( mod == NULL ) - return ; +/* if ( mod == NULL ) */ +/* return ; */ +/* } */ -} +MOD_INIT(cupsext) { + + PyObject* mod ; + MOD_DEF(mod, "cupsext", cupsext_documentation, cupsext_methods); + if (mod == NULL) + return MOD_ERROR_VAL; + return MOD_SUCCESS_VAL(mod); + +} diff -Nru hplip-3.14.6/prnt/cupsext/cupsext.h hplip-3.15.2/prnt/cupsext/cupsext.h --- hplip-3.14.6/prnt/cupsext/cupsext.h 1970-01-01 00:00:00.000000000 +0000 +++ hplip-3.15.2/prnt/cupsext/cupsext.h 2015-01-29 12:20:42.000000000 +0000 @@ -0,0 +1,19 @@ + #if PY_MAJOR_VERSION >= 3 + #define MOD_ERROR_VAL NULL + #define MOD_SUCCESS_VAL(val) val + #define MOD_INIT(name) PyMODINIT_FUNC PyInit_##name(void) + #define MOD_DEF(ob, name, doc, methods) \ + static struct PyModuleDef moduledef = { \ + PyModuleDef_HEAD_INIT, name, doc, -1, methods, }; \ + ob = PyModule_Create(&moduledef); + #define PYUnicode_STRING PyUnicode_FromString + #define PYUnicode_UNICODE(x) PyBytes_AS_STRING(PyUnicode_AsEncodedString(x, "utf-8","")) +#else + #define MOD_ERROR_VAL + #define MOD_SUCCESS_VAL(val) + #define MOD_INIT(name) void init##name(void) + #define MOD_DEF(ob, name, doc, methods) \ + ob = Py_InitModule3(name, methods, doc); + #define PYUnicode_STRING PyString_FromString + #define PYUnicode_UNICODE PyString_AsString +#endif diff -Nru hplip-3.14.6/prnt/cups.py hplip-3.15.2/prnt/cups.py --- hplip-3.14.6/prnt/cups.py 2014-06-03 06:31:00.000000000 +0000 +++ hplip-3.15.2/prnt/cups.py 2015-01-29 12:20:43.000000000 +0000 @@ -1,3 +1,4 @@ +#!/usr/bin/env python # -*- coding: utf-8 -*- # # (c) Copyright 2003-2009 Hewlett-Packard Development Company, L.P. @@ -25,13 +26,13 @@ import gzip import re import time -import urllib import tempfile import glob # Local from base.g import * from base import utils, models, os_utils +from base.sixext import PY3 INVALID_PRINTER_NAME_CHARS = """~`!@#$%^&*()=+[]{}()\\/,.<>?'\";:| """ @@ -64,7 +65,6 @@ os.environ['LC_CTYPE'] = newctype import cupsext - # restore the old env values if current_ctype is not None: os.environ['LC_CTYPE'] = current_ctype @@ -217,7 +217,7 @@ files.extend(glob.glob(path)) for f in files: #log.debug( "Capturing allowable MIME types from: %s" % f ) - conv_file = file(f, 'r') + conv_file = open(f, 'r') for line in conv_file: if not line.startswith("#") and len(line) > 1: @@ -242,10 +242,10 @@ if f.endswith('.gz'): nickname = gzip.GzipFile(f, 'r').read(4096) else: - nickname = file(f, 'r').read(4096) + nickname = open(f, 'r').read(4096) try: - desc = nickname_pat.search(nickname).group(1) + desc = nickname_pat.search(nickname.decode('utf-8')).group(1) except AttributeError: desc = '' @@ -334,7 +334,7 @@ a,b = b,a n,m = m,n - current = range(n+1) + current = list(range(n+1)) for i in range(1,m+1): previous, current = current, [i]+[0]*m @@ -358,7 +358,7 @@ '-jr', '-lidl', '-lidil', '-ldl', '-hpijs'] -for p in models.TECH_CLASS_PDLS.values(): +for p in list(models.TECH_CLASS_PDLS.values()): pp = '-%s' % p if pp not in STRIP_STRINGS2: STRIP_STRINGS2.append(pp) @@ -393,7 +393,7 @@ log.debug("1st stage edit distance match") mins = {} eds = {} - min_edit_distance = sys.maxint + min_edit_distance = sys.maxsize log.debug("Determining edit distance from %s (only showing edit distances < 4)..." % stripped_model) for f in ppds: @@ -503,7 +503,7 @@ if num_matches == 0: log.debug("No PPD found for model %s using new algorithm. Trying old algorithm..." % stripped_model) #Using Old algo, ignores the series keyword in ppd searching. - matches2 = getPPDFile(stripModel(stripped_model), ppds).items() + matches2 = list(getPPDFile(stripModel(stripped_model), ppds).items()) log.debug(matches2) num_matches2 = len(matches2) if num_matches2: @@ -618,7 +618,7 @@ def getErrorLogLevel(): cups_conf = '/etc/cups/cupsd.conf' try: - f = file(cups_conf, 'r') + f = open(cups_conf, 'r') except OSError: log.error("%s not found." % cups_conf) except IOError: @@ -644,13 +644,13 @@ #if level in ('debug', 'debug2'): if 1: try: - f = file(cups_conf, 'r') + f = open(cups_conf, 'r') except (IOError, OSError): log.error("Could not open the CUPS error_log file: %s" % cups_conf) return '' else: - if s in file(cups_conf, 'r').read(): + if s in open(cups_conf, 'r').read(): queue = utils.Queue() job_found = False @@ -792,9 +792,11 @@ def printFile(printer, filename, title): if os.path.exists(filename): - printer = printer.encode('utf-8') - filename = filename.encode('utf-8') - title = title.encode('utf-8') + if not PY3: + printer = printer.encode('utf-8') + filename = filename.encode('utf-8') + title = title.encode('utf-8') + return cupsext.printFileWithOptions(printer, filename, title) else: diff -Nru hplip-3.14.6/prnt/drv/hpcups.drv.in hplip-3.15.2/prnt/drv/hpcups.drv.in --- hplip-3.14.6/prnt/drv/hpcups.drv.in 2014-06-03 06:33:22.000000000 +0000 +++ hplip-3.15.2/prnt/drv/hpcups.drv.in 2015-01-29 12:21:00.000000000 +0000 @@ -1,12 +1,12 @@ -// hpcups.drv - hpcups driver information file +// hpcups.drv - hpcups driver information file // -// This driver information file (drv) produces PPD files for the CUPS interface solution. +// This driver information file (drv) produces PPD files for the CUPS interface solution. // Multiple printers are supported by a finite set of device classes. This file defines the device classes // and each model that is associated with that device class. // // All the PPDs created by this file are consumed by the /prnt/hpcups driver. Hpcups is a raster driver that // produces printer-ready-bits. The hpcups driver only works CUPS. Hpcups does not use the APDK, but -// is based on re-purposed APDK code. +// is based on re-purposed APDK code. // // Each device class will use the following Attributes to define what printer language and printer platform is // used by hpcups. @@ -14,14 +14,14 @@ // Attribute "hpPrinterLanguage" "" "pcl3gui" // Attribute "hpPrinterPlatform" "" "dj970" // -// Note the "cupsModelName" is no longer used and can be removed. +// Note the "cupsModelName" is no longer used and can be removed. // -// The "hpPrinterLanguage" is required by all device classes. The "hpPrinterPlatform" is optional and is not +// The "hpPrinterLanguage" is required by all device classes. The "hpPrinterPlatform" is optional and is not // required for all device classes. For example the pcl3gui2 does use the "hpPrinterPlatform" attribute. // -// Print modes, paper sizes and printable regions parameters are all now defined in the PPDs. In the old APDK code +// Print modes, paper sizes and printable regions parameters are all now defined in the PPDs. In the old APDK code // these parameters were all hardcoded in the code. -// +// // Each device class will have multiple model entrys. // // ModelName "HP Deskjet 970c" @@ -38,10 +38,10 @@ // will create the final hpcups.drv file with the appropriate version number set. // // Normally the hpcups.drv.in file is built at bootstrap time and hpcups.drv file is build at configure time. -// +// // The "ModelName" is a friendly name that can be displayed to the user for driver selection. // -// The "PCFileName" should match the IEEE 1284 device-id model name. The model name is generated from the +// The "PCFileName" should match the IEEE 1284 device-id model name. The model name is generated from the // IEEE 1284 "MDL" field. Leading and trailing spaces are removed, in-line spaces are replaced with a single // "_" character. Then an "hp-" prefix and "-hpijs.ppd" postfix is added/changed. // @@ -50,15 +50,15 @@ // // There should be one drv model entry for every unique device-id supported by hpcups. This means one model entry // may support more than one product. For example the DeskJet 970c, DeskJet 970cxi and DeskJet 950csi all have the -// same device-id "MFG:HP;MDL:deskjet 970c;DES:deskjet 970c;". In this case there will only be one model entry +// same device-id "MFG:HP;MDL:deskjet 970c;DES:deskjet 970c;". In this case there will only be one model entry // the "DeskJet 970c". // -// Hpcups is a raster driver similar to hpijs. Hpcups is not a postscript driver. In order to discriminate hpcups +// Hpcups is a raster driver similar to hpijs. Hpcups is not a postscript driver. In order to discriminate hpcups // from other drivers we will use the following PPD file naming convention. // // hpijs with foomatic-rip -// hp-xxxxxxx-hpijs-zzz.ppd for -// +// hp-xxxxxxx-hpijs-zzz.ppd for +// // hpcups with native CUPS // hp-xxxxxxx-zzz.ppd // @@ -76,13 +76,13 @@ // 2/14/08 dsuffield // Tried using "#include xxx_margin.defs" inside the different device blocks, but CUPSDDK 1.2 did not handle it. // Driver "sizes" are deleted for every new block in ppdcSource::scan_file. So all xxx_margin.defs are in-lined. -// +// // 4/20/09 dsuffield -// All xxxDuplex papersizes have 1/8 inch subtracted from the length. Since ghostscript 8.63 cannot handle the same papersize +// All xxxDuplex papersizes have 1/8 inch subtracted from the length. Since ghostscript 8.63 cannot handle the same papersize // with different printable regions. The xxxDuplex printable region length is adjusted accordingly. // // 4/21/09 dsuffield -// Ijsdump can no longer be used to update printable margins for xxxDuplex and xxxFB papersizes. +// Ijsdump can no longer be used to update printable margins for xxxDuplex and xxxFB papersizes. // // 4/22/09 dsuffield // Since ijsdump is no longer useful, I collapsed most large format MediaSizes. @@ -101,7 +101,7 @@ // // 10/28/09 jcallough // Corrected margin issues for the following printer classes: -// LJZjsMono, LJZjsColor, LJFastRaster, +// LJZjsMono, LJZjsColor, LJFastRaster, // LJFastRaster: Changed the CupsInteger0 from a specific # to 96 to ensure that the image is printed correctly // LJJetReady: Changed some CupsInteger0 #'s, changed some Imageable area parameters // @@ -113,18 +113,18 @@ // DJ850, DJ630, DJ600&6xx : Deleted 3x5 paper size (doesn't fit in printer), Changed cupsInteger0 to 101 // // 11/5/09 jcallough -// DJ890: changed ExecutiveJIS and American Foolscap to cupsIntege0 101 from 10, Changed A2 and C6 cupsInteger0 to 101, +// DJ890: changed ExecutiveJIS and American Foolscap to cupsIntege0 101 from 10, Changed A2 and C6 cupsInteger0 to 101, // Changed #4 Envelope to cupsInteger0 to 101, DL Envelope to 101, #3 Envelope to 101, 5x7 to CupsInteger0 101 -// DJ8xx: Changed A2 margins to 9 36 9 9, -// DJ6xxPhoto: Changed C6Envelope to CupsInteger0 101, Oufuku-Hagaki to CupsInteger0 101, +// DJ8xx: Changed A2 margins to 9 36 9 9, +// DJ6xxPhoto: Changed C6Envelope to CupsInteger0 101, Oufuku-Hagaki to CupsInteger0 101, // // 11/12/09 jcallough // DJ8x5: Removed ExecutiveJIS (paper size not supported), Removed American Foolscap (paper size not supported), -// Changed 16k CupsInteger0 to 40, +// Changed 16k CupsInteger0 to 40, // DJ540: Changed ExecutiveJIS and AmericanFoolscap CupsInteger0 to 101,#10 Envelope CupsInteger0 to 101,DL Envelope -// CupsInteger0 to 101, -// DJ9xxVIP without 1200-dpi mode and without paper type sensor: Changed ExecutiveJIS and AmericanFoolscap CupsInteger0 -// to 101, +// CupsInteger0 to 101, +// DJ9xxVIP without 1200-dpi mode and without paper type sensor: Changed ExecutiveJIS and AmericanFoolscap CupsInteger0 +// to 101, // // 11/13/09 jcallough // DJ350: Removed paper sized smaller than JB5 (don't fit), Removed envelope sizes (don't fit), Oufuku-Hagaki CupsInteger0 @@ -132,12 +132,12 @@ // DJ130: Removed 3x5 Index Card (doesn't fit), Removed #4 Envelope (doesn't fit), Removed Monarch Envelope, Changed Imageable area // for all regular paper sizes to {9 36 9 9}, Changed Imageable area for all full bleed paper sizes to {0 0 0 ~46} // PSP470 5x7 4sided full bleed: Removed 3x5 Index, Oufuku-Hagaki, and A5 (don't fit); Monarch (not supported) -// DJ630: Oufuku-Hagaki cupsInteger0 to 101, -// DJ600 & 6xx, DJ6xxPhoto: Changed Hagaki, 4x6, A6, 5x8, Oufuku-Hagaki, #3 Envelope cupsInteger0 to 101; +// DJ630: Oufuku-Hagaki cupsInteger0 to 101, +// DJ600 & 6xx, DJ6xxPhoto: Changed Hagaki, 4x6, A6, 5x8, Oufuku-Hagaki, #3 Envelope cupsInteger0 to 101; // DJGenericVIP 4x6 4sided Fullbleed: Removed 3x5 (doesn't fit) and Monarch Envelope (paper size not supported) // // 11/17/09 jcallough -// DJ4100: Added the printer platform "djd2600" to the Deskjet D2660 printer under the DJ4100 class to allow for +// DJ4100: Added the printer platform "djd2600" to the Deskjet D2660 printer under the DJ4100 class to allow for // proper grayscale printing // // 11/23/09 mubeen @@ -163,10 +163,10 @@ // ViperMinusVIP: Updated custom paper size margins // Stabler: Correct paper names for 3.5x5in, 3.5x5in FB, 2L // Corbett: Redid the class to align with the specs. -// +// // 12/10/09 Shakil // Corbett: Changed the JB5.FB PCL ID to 45 -// +// // 12/10/09 mubeen // Corbett: Added UIConstraints for Draft and Fullbleed // Stabler, ViperPlusVIP, ViperMinusVIP: Added UIConstraints for FastDraft and Fullbleed @@ -195,7 +195,7 @@ // Added new classes Python. Created NoAutoDuplex, and NoCDDVD sub-class // // 02/03/10 mubeen -// Added new Python B-size(Python:LargeFormatA3:NoAutoDuplex) and OJ7000 class +// Added new Python B-size(Python:LargeFormatA3:NoAutoDuplex) and OJ7000 class // // 02/11/10 mubeen // Added new tech subclass NoMaxDPI for Python class. @@ -224,7 +224,7 @@ // 21 February 2011 Goutam // Added new class StingrayOJ for Alpha -// +// // 10 March 2011 Goutam // Corrected the Overspray values for borderless paper sizes in StingrayOJ class // replaced names PhotoL.FB with L.FB and Photo3.5x5.FB with PhotoL.FB @@ -251,7 +251,7 @@ // 5 December 2012 // Added new tech class MimasTDR - + // Include necessary files... #include @@ -370,7 +370,7 @@ UIConstraints "*PageSize EnvChou4 *Duplex" UIConstraints "*PageSize EnvMonarch *Duplex" - Attribute "cupsModelName" "" "DESKJET 930" // APDK device class + Attribute "cupsModelName" "" "DESKJET 930" // APDK device class // 4x6 or smaller CustomMedia "Card3x5/Index Card 3x5in" 216 360 18 36 18 9 "<>setpagedevice" @@ -379,7 +379,7 @@ "<>setpagedevice" CustomMedia "Hagaki.Duplex/Hagaki AutoDuplex 100x148mm" 284 411 9 27 9 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 36 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 36 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 9 36 9 9 "<>setpagedevice" "<>setpagedevice" @@ -421,7 +421,7 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 783 18 27 18 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36 9.72 9.00 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36 9.72 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595 833 9.72 27 9.72 36 "<>setpagedevice" "<>setpagedevice" @@ -462,6 +462,24 @@ // <%DJ9xx:Normal%> { + ModelName "HP Photosmart p1000" + Attribute "NickName" "" "HP Photosmart p1000, hpcups $Version" + Attribute "ShortNickName" "" "HP Photosmart p1000" + Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart p1000;DES:photosmart p1000;" + PCFileName "hp-photosmart_p1000.ppd" + Attribute "Product" "" "(HP Photosmart p1000/1000 Printer)" + Attribute "Product" "" "(HP Photosmart p1000xi Printer)" + } + { + ModelName "HP Photosmart p1100" + Attribute "NickName" "" "HP Photosmart p1100, hpcups $Version" + Attribute "ShortNickName" "" "HP Photosmart p1100" + Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart p1100;DES:photosmart p1100;" + PCFileName "hp-photosmart_p1100.ppd" + Attribute "Product" "" "(HP Photosmart p1100 Printer)" + Attribute "Product" "" "(HP Photosmart p1100xi Printer)" + } + { ModelName "HP Officejet v30" Attribute "NickName" "" "HP Officejet v30, hpcups $Version" Attribute "ShortNickName" "" "HP Officejet v30" @@ -470,6 +488,57 @@ Attribute "Product" "" "(HP Officejet v30 All-in-one Printer)" } { + ModelName "HP Deskjet 3810" + Attribute "NickName" "" "HP Deskjet 3810, hpcups $Version" + Attribute "ShortNickName" "" "HP Deskjet 3810" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3810;DES:deskjet 3810;" + PCFileName "hp-deskjet_3810.ppd" + Attribute "Product" "" "(HP Deskjet 3810 Color Inkjet Printer)" + } + { + ModelName "HP Deskjet 3816" + Attribute "NickName" "" "HP Deskjet 3816, hpcups $Version" + Attribute "ShortNickName" "" "HP Deskjet 3816" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3816;DES:deskjet 3816;" + PCFileName "hp-deskjet_3816.ppd" + Attribute "Product" "" "(HP Deskjet 3816 Color Inkjet Printer)" + Attribute "Product" "" "(HP Deskjet 3818 Color Inkjet Printer)" + } + { + ModelName "HP Deskjet 3819" + Attribute "NickName" "" "HP Deskjet 3819, hpcups $Version" + Attribute "ShortNickName" "" "HP Deskjet 3819" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3819;DES:deskjet 3819;" + PCFileName "hp-deskjet_3819.ppd" + Attribute "Product" "" "(HP Deskjet 3819 Color Inkjet Printer)" + } + { + ModelName "HP Deskjet 3820" + Attribute "NickName" "" "HP Deskjet 3820, hpcups $Version" + Attribute "ShortNickName" "" "HP Deskjet 3820" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3820;DES:deskjet 3820;" + PCFileName "hp-deskjet_3820.ppd" + Attribute "Product" "" "(HP Deskjet 3820 Color Inkjet Printer)" + Attribute "Product" "" "(HP Deskjet 3820v Color Inkjet Printer)" + Attribute "Product" "" "(HP Deskjet 3820w Color Inkjet Printer)" + } + { + ModelName "HP Deskjet 3822" + Attribute "NickName" "" "HP Deskjet 3822, hpcups $Version" + Attribute "ShortNickName" "" "HP Deskjet 3822" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3822;DES:deskjet 3822;" + PCFileName "hp-deskjet_3822.ppd" + Attribute "Product" "" "(HP Deskjet 3822 Color Inkjet Printer)" + } + { + ModelName "HP Deskjet 3870" + Attribute "NickName" "" "HP Deskjet 3870, hpcups $Version" + Attribute "ShortNickName" "" "HP Deskjet 3870" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3870;DES:deskjet 3870;" + PCFileName "hp-deskjet_3870.ppd" + Attribute "Product" "" "(HP Deskjet 3870 Color Inkjet Printer)" + } + { ModelName "HP Officejet v40xi" Attribute "NickName" "" "HP Officejet v40xi, hpcups $Version" Attribute "ShortNickName" "" "HP Officejet v40xi" @@ -495,6 +564,43 @@ Attribute "Product" "" "(HP Officejet v45 All-in-one Printer)" } { + ModelName "HP Officejet 5100 Series" + Attribute "NickName" "" "HP Officejet 5100 Series, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet 5100 Series" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5100 series;DES:officejet 5100 series;" + PCFileName "hp-officejet_5100_series.ppd" + Attribute "Product" "" "(HP Officejet 5100 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 5105 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 5110v All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 5110xi All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 5110 All-in-one Printer)" + } + { + ModelName "HP Officejet 5105" + Attribute "NickName" "" "HP Officejet 5105, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet 5105" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5105;DES:officejet 5105;" + PCFileName "hp-officejet_5105.ppd" + Attribute "Product" "" "(HP Officejet 5105 All-in-one Printer)" + } + { + ModelName "HP Officejet 5110v" + Attribute "NickName" "" "HP Officejet 5110v, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet 5110v" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5110v;DES:officejet 5110v;" + PCFileName "hp-officejet_5110v.ppd" + Attribute "Product" "" "(HP Officejet 5110v All-in-one Printer)" + } + { + ModelName "HP Officejet 5110" + Attribute "NickName" "" "HP Officejet 5110, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet 5110" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5110;DES:officejet 5110;" + PCFileName "hp-officejet_5110.ppd" + Attribute "Product" "" "(HP Officejet 5110 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 5110xi All-in-one Printer)" + } + { ModelName "HP Officejet g55" Attribute "NickName" "" "HP Officejet g55, hpcups $Version" Attribute "ShortNickName" "" "HP Officejet g55" @@ -527,46 +633,6 @@ Attribute "Product" "" "(HP Officejet k60 All-in-one Printer)" } { - ModelName "HP Officejet k80xi" - Attribute "NickName" "" "HP Officejet k80xi, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet k80xi" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet k80xi;DES:officejet k80xi;" - PCFileName "hp-officejet_k80xi.ppd" - Attribute "Product" "" "(HP Officejet k80xi All-in-one Printer)" - } - { - ModelName "HP Officejet k80" - Attribute "NickName" "" "HP Officejet k80, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet k80" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet k80;DES:officejet k80;" - PCFileName "hp-officejet_k80.ppd" - Attribute "Product" "" "(HP Officejet k80 All-in-one Printer)" - } - { - ModelName "HP Officejet g85" - Attribute "NickName" "" "HP Officejet g85, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet g85" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet g85;DES:officejet g85;" - PCFileName "hp-officejet_g85.ppd" - Attribute "Product" "" "(HP Officejet g85 All-in-one Printer)" - } - { - ModelName "HP Officejet g85xi" - Attribute "NickName" "" "HP Officejet g85xi, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet g85xi" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet g85xi;DES:officejet g85xi;" - PCFileName "hp-officejet_g85xi.ppd" - Attribute "Product" "" "(HP Officejet g85xi All-in-one Printer)" - } - { - ModelName "HP Officejet g95" - Attribute "NickName" "" "HP Officejet g95, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet g95" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet g95;DES:officejet g95;" - PCFileName "hp-officejet_g95.ppd" - Attribute "Product" "" "(HP Officejet g95 All-in-one Printer)" - } - { ModelName "HP PSC 720" Attribute "NickName" "" "HP PSC 720, hpcups $Version" Attribute "ShortNickName" "" "HP PSC 720" @@ -615,6 +681,38 @@ Attribute "Product" "" "(HP PSC 780xi All-in-one Printer)" } { + ModelName "HP Officejet k80xi" + Attribute "NickName" "" "HP Officejet k80xi, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet k80xi" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet k80xi;DES:officejet k80xi;" + PCFileName "hp-officejet_k80xi.ppd" + Attribute "Product" "" "(HP Officejet k80xi All-in-one Printer)" + } + { + ModelName "HP Officejet k80" + Attribute "NickName" "" "HP Officejet k80, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet k80" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet k80;DES:officejet k80;" + PCFileName "hp-officejet_k80.ppd" + Attribute "Product" "" "(HP Officejet k80 All-in-one Printer)" + } + { + ModelName "HP Officejet g85" + Attribute "NickName" "" "HP Officejet g85, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet g85" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet g85;DES:officejet g85;" + PCFileName "hp-officejet_g85.ppd" + Attribute "Product" "" "(HP Officejet g85 All-in-one Printer)" + } + { + ModelName "HP Officejet g85xi" + Attribute "NickName" "" "HP Officejet g85xi, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet g85xi" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet g85xi;DES:officejet g85xi;" + PCFileName "hp-officejet_g85xi.ppd" + Attribute "Product" "" "(HP Officejet g85xi All-in-one Printer)" + } + { ModelName "HP PSC 900 Series" Attribute "NickName" "" "HP PSC 900 Series, hpcups $Version" Attribute "ShortNickName" "" "HP PSC 900 Series" @@ -710,6 +808,14 @@ Attribute "Product" "" "(HP Deskjet 948c Printer)" } { + ModelName "HP Officejet g95" + Attribute "NickName" "" "HP Officejet g95, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet g95" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet g95;DES:officejet g95;" + PCFileName "hp-officejet_g95.ppd" + Attribute "Product" "" "(HP Officejet g95 All-in-one Printer)" + } + { ModelName "HP PSC 950xi" Attribute "NickName" "" "HP PSC 950xi, hpcups $Version" Attribute "ShortNickName" "" "HP PSC 950xi" @@ -794,115 +900,9 @@ Attribute "Product" "" "(HP Deskjet 975cse Printer)" Attribute "Product" "" "(HP Deskjet 975cxi Printer)" } - { - ModelName "HP Photosmart p1000" - Attribute "NickName" "" "HP Photosmart p1000, hpcups $Version" - Attribute "ShortNickName" "" "HP Photosmart p1000" - Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart p1000;DES:photosmart p1000;" - PCFileName "hp-photosmart_p1000.ppd" - Attribute "Product" "" "(HP Photosmart p1000/1000 Printer)" - Attribute "Product" "" "(HP Photosmart p1000xi Printer)" - } - { - ModelName "HP Photosmart p1100" - Attribute "NickName" "" "HP Photosmart p1100, hpcups $Version" - Attribute "ShortNickName" "" "HP Photosmart p1100" - Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart p1100;DES:photosmart p1100;" - PCFileName "hp-photosmart_p1100.ppd" - Attribute "Product" "" "(HP Photosmart p1100 Printer)" - Attribute "Product" "" "(HP Photosmart p1100xi Printer)" - } - { - ModelName "HP Deskjet 3810" - Attribute "NickName" "" "HP Deskjet 3810, hpcups $Version" - Attribute "ShortNickName" "" "HP Deskjet 3810" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3810;DES:deskjet 3810;" - PCFileName "hp-deskjet_3810.ppd" - Attribute "Product" "" "(HP Deskjet 3810 Color Inkjet Printer)" - } - { - ModelName "HP Deskjet 3816" - Attribute "NickName" "" "HP Deskjet 3816, hpcups $Version" - Attribute "ShortNickName" "" "HP Deskjet 3816" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3816;DES:deskjet 3816;" - PCFileName "hp-deskjet_3816.ppd" - Attribute "Product" "" "(HP Deskjet 3816 Color Inkjet Printer)" - Attribute "Product" "" "(HP Deskjet 3818 Color Inkjet Printer)" - } - { - ModelName "HP Deskjet 3819" - Attribute "NickName" "" "HP Deskjet 3819, hpcups $Version" - Attribute "ShortNickName" "" "HP Deskjet 3819" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3819;DES:deskjet 3819;" - PCFileName "hp-deskjet_3819.ppd" - Attribute "Product" "" "(HP Deskjet 3819 Color Inkjet Printer)" - } - { - ModelName "HP Deskjet 3820" - Attribute "NickName" "" "HP Deskjet 3820, hpcups $Version" - Attribute "ShortNickName" "" "HP Deskjet 3820" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3820;DES:deskjet 3820;" - PCFileName "hp-deskjet_3820.ppd" - Attribute "Product" "" "(HP Deskjet 3820 Color Inkjet Printer)" - Attribute "Product" "" "(HP Deskjet 3820v Color Inkjet Printer)" - Attribute "Product" "" "(HP Deskjet 3820w Color Inkjet Printer)" - } - { - ModelName "HP Deskjet 3822" - Attribute "NickName" "" "HP Deskjet 3822, hpcups $Version" - Attribute "ShortNickName" "" "HP Deskjet 3822" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3822;DES:deskjet 3822;" - PCFileName "hp-deskjet_3822.ppd" - Attribute "Product" "" "(HP Deskjet 3822 Color Inkjet Printer)" - } - { - ModelName "HP Deskjet 3870" - Attribute "NickName" "" "HP Deskjet 3870, hpcups $Version" - Attribute "ShortNickName" "" "HP Deskjet 3870" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3870;DES:deskjet 3870;" - PCFileName "hp-deskjet_3870.ppd" - Attribute "Product" "" "(HP Deskjet 3870 Color Inkjet Printer)" - } - { - ModelName "HP Officejet 5100 Series" - Attribute "NickName" "" "HP Officejet 5100 Series, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet 5100 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5100 series;DES:officejet 5100 series;" - PCFileName "hp-officejet_5100_series.ppd" - Attribute "Product" "" "(HP Officejet 5100 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 5105 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 5110v All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 5110xi All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 5110 All-in-one Printer)" - } - { - ModelName "HP Officejet 5105" - Attribute "NickName" "" "HP Officejet 5105, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet 5105" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5105;DES:officejet 5105;" - PCFileName "hp-officejet_5105.ppd" - Attribute "Product" "" "(HP Officejet 5105 All-in-one Printer)" - } - { - ModelName "HP Officejet 5110v" - Attribute "NickName" "" "HP Officejet 5110v, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet 5110v" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5110v;DES:officejet 5110v;" - PCFileName "hp-officejet_5110v.ppd" - Attribute "Product" "" "(HP Officejet 5110v All-in-one Printer)" - } - { - ModelName "HP Officejet 5110" - Attribute "NickName" "" "HP Officejet 5110, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet 5110" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5110;DES:officejet 5110;" - PCFileName "hp-officejet_5110.ppd" - Attribute "Product" "" "(HP Officejet 5110 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 5110xi All-in-one Printer)" - } } // End Supported media sizes. - { + { // Large format UIConstraints "*PageSize A3 *Duplex" UIConstraints "*PageSize B4 *Duplex" @@ -930,7 +930,7 @@ // Custom page sizes from 1x4in to SuperB HWMargins 18 36 18 36 VariablePaperSize Yes - MinSize 1in 4in + MinSize 1in 4in MaxSize 936 1368 // <%DJ9xx:LargeFormatSuperB%> @@ -1037,7 +1037,7 @@ UIConstraints "*PageSize EnvChou4 *Duplex" UIConstraints "*PageSize EnvMonarch *Duplex" - Attribute "cupsModelName" "" "DESKJET 930" // APDK device class + Attribute "cupsModelName" "" "DESKJET 930" // APDK device class // 4x6 or smaller CustomMedia "Card3x5/Index Card 3x5in" 216 360 18.00 36.00 18.00 9.00 "<>setpagedevice" @@ -1046,7 +1046,7 @@ "<>setpagedevice" CustomMedia "Hagaki.Duplex/Hagaki AutoDuplex 100x148mm" 284 411 9 27 9 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 36 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 36 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" @@ -1088,7 +1088,7 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 783 18 27 18 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36.00 9.72 9.00 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36.00 9.72 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595 833 18 27 18 36 "<>setpagedevice" "<>setpagedevice" @@ -1143,7 +1143,7 @@ } } // End Supported media sizes. - { + { // Large format UIConstraints "*PageSize A3 *Duplex" UIConstraints "*PageSize B4 *Duplex" @@ -1170,7 +1170,7 @@ // Custom page sizes from 1x4in to SuperB HWMargins 18 36 18 36 VariablePaperSize Yes - MinSize 1in 4in + MinSize 1in 4in MaxSize 936 1368 // <%DJ9xx:NoPhotoMode:LargeFormatSuperB%> @@ -1269,9 +1269,9 @@ UIConstraints "*PageSize SuperB *Duplex" UIConstraints "*PageSize 8k *Duplex" - Attribute "cupsModelName" "" "DESKJET 930" // APDK device class + Attribute "cupsModelName" "" "DESKJET 930" // APDK device class - { + { // 4x6 or smaller CustomMedia "Card3x5/Index Card 3x5in" 216 360 9 36 9 9 "<>setpagedevice" "<>setpagedevice" @@ -1279,7 +1279,7 @@ "<>setpagedevice" CustomMedia "Hagaki.Duplex/Hagaki AutoDuplex 100x148mm" 284 411 9 27 9 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 36 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 36 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 9 36 9 9 "<>setpagedevice" "<>setpagedevice" @@ -1321,7 +1321,7 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 783 18 27 18 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 36 18 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 36 18 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595 833 18 27 18 36 "<>setpagedevice" "<>setpagedevice" @@ -1479,7 +1479,7 @@ UIConstraints "*PageSize EnvChou4 *Duplex" UIConstraints "*PageSize EnvMonarch *Duplex" - Attribute "cupsModelName" "" "DESKJET 990" // APDK device class + Attribute "cupsModelName" "" "DESKJET 990" // APDK device class // Supported media sizes // 4x6 or smaller @@ -1489,7 +1489,7 @@ "<>setpagedevice" CustomMedia "Hagaki.Duplex/Hagaki AutoDuplex 100x148mm" 284 411 9 27 9 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" @@ -1531,7 +1531,7 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 783 18 27 18 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 36.00 18 9.00 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 36.00 18 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595 833 18 27 18 36 "<>setpagedevice" "<>setpagedevice" @@ -1573,27 +1573,37 @@ // <%DJ9xxVIP:Normal%> { - ModelName "HP Officejet D Series" - Attribute "NickName" "" "HP Officejet D Series, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet D Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet d series;DES:officejet d series;" - PCFileName "hp-officejet_d_series.ppd" - Attribute "Product" "" "(HP Officejet d125xi All-in-one Printer)" - Attribute "Product" "" "(HP Officejet d135 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet d135xi All-in-one Printer)" - Attribute "Product" "" "(HP Officejet d145xi All-in-one Printer)" - Attribute "Product" "" "(HP Officejet d145 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet d155xi All-in-one Printer)" + ModelName "HP cp1160" + Attribute "NickName" "" "HP cp1160, hpcups $Version" + Attribute "ShortNickName" "" "HP cp1160" + Attribute "1284DeviceID" "" "MFG:HP;MDL:cp1160;DES:cp1160;" + PCFileName "hp-cp1160.ppd" + Attribute "Product" "" "(HP Color Inkjet cp1160 Printer)" + Attribute "Product" "" "(HP Color Inkjet cp1160tn Printer)" } { - ModelName "HP dj450" - Attribute "NickName" "" "HP dj450, hpcups $Version" - Attribute "ShortNickName" "" "HP dj450" - Attribute "1284DeviceID" "" "MFG:HP;MDL:dj450;DES:dj450;" - PCFileName "hp-dj450.ppd" - Attribute "Product" "" "(HP Deskjet 450ci Mobile Printer)" - Attribute "Product" "" "(HP Deskjet 450cbi Mobile Printer)" - Attribute "Product" "" "(HP Deskjet 450wbt Mobile Printer)" + ModelName "HP Deskjet 6120" + Attribute "NickName" "" "HP Deskjet 6120, hpcups $Version" + Attribute "ShortNickName" "" "HP Deskjet 6120" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 6120;DES:deskjet 6120;" + PCFileName "hp-deskjet_6120.ppd" + Attribute "Product" "" "(HP Deskjet 6120 Color Inkjet Printer)" + } + { + ModelName "HP Deskjet 6122" + Attribute "NickName" "" "HP Deskjet 6122, hpcups $Version" + Attribute "ShortNickName" "" "HP Deskjet 6122" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 6122;DES:deskjet 6122;" + PCFileName "hp-deskjet_6122.ppd" + Attribute "Product" "" "(HP Deskjet 6122 Color Inkjet Printer)" + } + { + ModelName "HP Deskjet 6127" + Attribute "NickName" "" "HP Deskjet 6127, hpcups $Version" + Attribute "ShortNickName" "" "HP Deskjet 6127" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 6127;DES:deskjet 6127;" + PCFileName "hp-deskjet_6127.ppd" + Attribute "Product" "" "(HP Deskjet 6127 Color Inkjet Printer)" } { ModelName "HP Deskjet 960c" @@ -1635,6 +1645,52 @@ Attribute "Product" "" "(HP Deskjet 995ck Printer)" } { + ModelName "HP dj450" + Attribute "NickName" "" "HP dj450, hpcups $Version" + Attribute "ShortNickName" "" "HP dj450" + Attribute "1284DeviceID" "" "MFG:HP;MDL:dj450;DES:dj450;" + PCFileName "hp-dj450.ppd" + Attribute "Product" "" "(HP Deskjet 450ci Mobile Printer)" + Attribute "Product" "" "(HP Deskjet 450cbi Mobile Printer)" + Attribute "Product" "" "(HP Deskjet 450wbt Mobile Printer)" + } + { + ModelName "HP Color Inkjet cp1700" + Attribute "NickName" "" "HP Color Inkjet cp1700, hpcups $Version" + Attribute "ShortNickName" "" "HP Color Inkjet cp1700" + Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color inkjet cp1700;DES:hp color inkjet cp1700;" + PCFileName "hp-color_inkjet_cp1700.ppd" + Attribute "Product" "" "(HP Color Inkjet cp1700 Printer)" + } + { + ModelName "HP Officejet 7100 Series" + Attribute "NickName" "" "HP Officejet 7100 Series, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet 7100 Series" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 7100 series;DES:officejet 7100 series;" + PCFileName "hp-officejet_7100_series.ppd" + Attribute "Product" "" "(HP Officejet 7100 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 7110 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 7110xi All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 7115 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 7130 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 7130xi All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 7135xi All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 7140xi All-in-one Printer)" + } + { + ModelName "HP Officejet D Series" + Attribute "NickName" "" "HP Officejet D Series, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet D Series" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet d series;DES:officejet d series;" + PCFileName "hp-officejet_d_series.ppd" + Attribute "Product" "" "(HP Officejet d125xi All-in-one Printer)" + Attribute "Product" "" "(HP Officejet d135 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet d135xi All-in-one Printer)" + Attribute "Product" "" "(HP Officejet d145xi All-in-one Printer)" + Attribute "Product" "" "(HP Officejet d145 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet d155xi All-in-one Printer)" + } + { ModelName "HP Photosmart 1115" Attribute "NickName" "" "HP Photosmart 1115, hpcups $Version" Attribute "ShortNickName" "" "HP Photosmart 1115" @@ -1643,15 +1699,6 @@ Attribute "Product" "" "(HP Photosmart 1115 Printer)" } { - ModelName "HP cp1160" - Attribute "NickName" "" "HP cp1160, hpcups $Version" - Attribute "ShortNickName" "" "HP cp1160" - Attribute "1284DeviceID" "" "MFG:HP;MDL:cp1160;DES:cp1160;" - PCFileName "hp-cp1160.ppd" - Attribute "Product" "" "(HP Color Inkjet cp1160 Printer)" - Attribute "Product" "" "(HP Color Inkjet cp1160tn Printer)" - } - { ModelName "HP Photosmart 1215" Attribute "NickName" "" "HP Photosmart 1215, hpcups $Version" Attribute "ShortNickName" "" "HP Photosmart 1215" @@ -1678,14 +1725,6 @@ Attribute "Product" "" "(HP Photosmart 1315 Printer)" } { - ModelName "HP Color Inkjet cp1700" - Attribute "NickName" "" "HP Color Inkjet cp1700, hpcups $Version" - Attribute "ShortNickName" "" "HP Color Inkjet cp1700" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color inkjet cp1700;DES:hp color inkjet cp1700;" - PCFileName "hp-color_inkjet_cp1700.ppd" - Attribute "Product" "" "(HP Color Inkjet cp1700 Printer)" - } - { ModelName "HP PSC 2100 Series" Attribute "NickName" "" "HP PSC 2100 Series, hpcups $Version" Attribute "ShortNickName" "" "HP PSC 2100 Series" @@ -1719,49 +1758,10 @@ Attribute "Product" "" "(HP PSC 2175 All-in-one Printer)" Attribute "Product" "" "(HP PSC 2179 All-in-one Printer)" } - { - ModelName "HP Deskjet 6120" - Attribute "NickName" "" "HP Deskjet 6120, hpcups $Version" - Attribute "ShortNickName" "" "HP Deskjet 6120" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 6120;DES:deskjet 6120;" - PCFileName "hp-deskjet_6120.ppd" - Attribute "Product" "" "(HP Deskjet 6120 Color Inkjet Printer)" - } - { - ModelName "HP Deskjet 6122" - Attribute "NickName" "" "HP Deskjet 6122, hpcups $Version" - Attribute "ShortNickName" "" "HP Deskjet 6122" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 6122;DES:deskjet 6122;" - PCFileName "hp-deskjet_6122.ppd" - Attribute "Product" "" "(HP Deskjet 6122 Color Inkjet Printer)" - } - { - ModelName "HP Deskjet 6127" - Attribute "NickName" "" "HP Deskjet 6127, hpcups $Version" - Attribute "ShortNickName" "" "HP Deskjet 6127" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 6127;DES:deskjet 6127;" - PCFileName "hp-deskjet_6127.ppd" - Attribute "Product" "" "(HP Deskjet 6127 Color Inkjet Printer)" - } - { - ModelName "HP Officejet 7100 Series" - Attribute "NickName" "" "HP Officejet 7100 Series, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet 7100 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 7100 series;DES:officejet 7100 series;" - PCFileName "hp-officejet_7100_series.ppd" - Attribute "Product" "" "(HP Officejet 7100 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 7110 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 7110xi All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 7115 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 7130 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 7130xi All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 7135xi All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 7140xi All-in-one Printer)" - } } // End Supported media sizes. - { + { // Large format UIConstraints "*PageSize A3 *Duplex" UIConstraints "*PageSize B4 *Duplex" @@ -1788,7 +1788,7 @@ // Custom page sizes from 1x4in to SuperB HWMargins 18 36 18 36 VariablePaperSize Yes - MinSize 1in 4in + MinSize 1in 4in MaxSize 936 1368 // <%DJ9xxVIP:LargeFormatSuperB%> @@ -1881,7 +1881,7 @@ UIConstraints "*PageSize EnvChou4 *Duplex" UIConstraints "*PageSize EnvMonarch *Duplex" - Attribute "cupsModelName" "" "DESKJET 990" // APDK device class + Attribute "cupsModelName" "" "DESKJET 990" // APDK device class { // 4x6 or smaller @@ -1891,7 +1891,7 @@ "<>setpagedevice" CustomMedia "Hagaki.Duplex/Hagaki AutoDuplex 100x148mm" 284 411 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" @@ -1933,7 +1933,7 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 783 18 27 18 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36.00 9.72 9.0 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36.00 9.72 9.0 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595 833 18 27 18 36 "<>setpagedevice" "<>setpagedevice" @@ -2062,13 +2062,13 @@ // Duplexer is optional... Installable "OptionDuplex/Duplexer Installed" - + // Constraints //UIConstraints "*Duplex *OptionDuplex False" UIConstraints "*ColorModel KGray *OutputMode Photo" UIConstraints "*ColorModel CMYGray *OutputMode Photo" UIConstraints "*MediaType Automatic *OutputMode FastDraft" - + UIConstraints "*MediaType Glossy *OutputMode FastDraft" UIConstraints "*MediaType Glossy *OutputMode Draft" UIConstraints "*MediaType TransparencyFilm *OutputMode FastDraft" @@ -2103,11 +2103,11 @@ UIConstraints "*PageSize EnvC5 *Duplex" UIConstraints "*PageSize EnvChou3 *Duplex" UIConstraints "*PageSize EnvChou4 *Duplex" - UIConstraints "*PageSize EnvMonarch *Duplex" - + UIConstraints "*PageSize EnvMonarch *Duplex" + { - // APDK device class + // APDK device class Attribute "cupsModelName" "" "deskjet 5550" // 4x6 or smaller @@ -2117,13 +2117,13 @@ "<>setpagedevice" CustomMedia "Hagaki.Duplex/Hagaki AutoDuplex 100x148mm" 284 411 9 27 9 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 27 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 27 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 9 27 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6.Duplex/A6 AutoDuplex 105x148mm)" 297 411 9 27 9 36 "<>setpagedevice" "<>setpagedevice" - + // 5x7 CustomMedia "Photo5x7/Photo 5x7in" 360 504 9 27 9 9 "<>setpagedevice" "<>setpagedevice" @@ -2159,7 +2159,7 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 783 18 27 18 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 27.00 9.72 9.00 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 27.00 9.72 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595 833 18 27 18 36 "<>setpagedevice" "<>setpagedevice" @@ -2246,7 +2246,7 @@ Attribute "Product" "" "(HP Deskjet 5551 Color Inkjet Printer)" } } // End Supported media sizes. - + } // End DJ55xx @@ -2353,7 +2353,7 @@ "<>setpagedevice" CustomMedia "Hagaki.Duplex/Hagaki AutoDuplex 100x148mm" 284 411 9 27 9 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6 in" 298 442 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -2411,9 +2411,9 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 783 9 27 9 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 605 852 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 605 852 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595 833 9 27 9 36 "<>setpagedevice" "<>setpagedevice" @@ -2425,7 +2425,7 @@ "<>setpagedevice" CustomMedia "Legal.Duplex/Legal AutoDuplex 8.5x14in" 612 999 9 27 9 36 "<>setpagedevice" "<>setpagedevice" - + // CDDVD CustomMedia "CDDVD80/CD DVD 80mm" 238 238 4 4 4 4 "<>setpagedevice" "<>setpagedevice" @@ -2461,31 +2461,6 @@ // <%DJGenericVIP:Normal%> { - ModelName "HP Deskjet Ink Advant k209a-z" - Attribute "NickName" "" "HP Deskjet Ink Advant k209a-z, hpcups $Version" - Attribute "ShortNickName" "" "HP Deskjet Ink Advant k209a-z" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet ink advant k209a-z;DES:deskjet ink advant k209a-z;" - PCFileName "hp-deskjet_ink_advant_k209a-z.ppd" - Attribute "Product" "" "(HP Deskjet Ink Advantage k209a All-in-one Printer)" - } - { - ModelName "HP Deskjet d730" - Attribute "NickName" "" "HP Deskjet d730, hpcups $Version" - Attribute "ShortNickName" "" "HP Deskjet d730" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet d730;DES:deskjet d730;" - PCFileName "hp-deskjet_d730.ppd" - Attribute "Product" "" "(HP Deskjet d730 Printer)" - } - { - ModelName "HP Deskjet f735" - Attribute "NickName" "" "HP Deskjet f735, hpcups $Version" - Attribute "ShortNickName" "" "HP Deskjet f735" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet f735;DES:deskjet f735;" - PCFileName "hp-deskjet_f735.ppd" - Attribute "Product" "" "(HP Deskjet f735 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f4280 All-in-one)" - } - { ModelName "HP Business Inkjet 1000" Attribute "NickName" "" "HP Business Inkjet 1000, hpcups $Version" Attribute "ShortNickName" "" "HP Business Inkjet 1000" @@ -2536,6 +2511,14 @@ Attribute "Product" "" "(HP PSC 1615 All-in-one Printer)" } { + ModelName "HP Deskjet Ink Advant k209a-z" + Attribute "NickName" "" "HP Deskjet Ink Advant k209a-z, hpcups $Version" + Attribute "ShortNickName" "" "HP Deskjet Ink Advant k209a-z" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet ink advant k209a-z;DES:deskjet ink advant k209a-z;" + PCFileName "hp-deskjet_ink_advant_k209a-z.ppd" + Attribute "Product" "" "(HP Deskjet Ink Advantage k209a All-in-one Printer)" + } + { ModelName "HP PSC 2200 Series" Attribute "NickName" "" "HP PSC 2200 Series, hpcups $Version" Attribute "ShortNickName" "" "HP PSC 2200 Series" @@ -3054,19 +3037,6 @@ Attribute "Product" "" "(HP Deskjet 5652 Color Inkjet Printer)" } { - ModelName "HP Deskjet 5700" - Attribute "NickName" "" "HP Deskjet 5700, hpcups $Version" - Attribute "ShortNickName" "" "HP Deskjet 5700" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 5700;DES:deskjet 5700;" - PCFileName "hp-deskjet_5700.ppd" - Attribute "Product" "" "(HP Deskjet 5700 Color Inkjet Printer)" - Attribute "Product" "" "(HP Deskjet 5740 Color Inkjet Printer)" - Attribute "Product" "" "(HP Deskjet 5740xi Color Inkjet Printer)" - Attribute "Product" "" "(HP Deskjet 5743 Color Inkjet Printer)" - Attribute "Product" "" "(HP Deskjet 5745 Color Inkjet Printer)" - Attribute "Product" "" "(HP Deskjet 5748 Color Inkjet Printer)" - } - { ModelName "HP Officejet j5700 Series" Attribute "NickName" "" "HP Officejet j5700 Series, hpcups $Version" Attribute "ShortNickName" "" "HP Officejet j5700 Series" @@ -3086,6 +3056,19 @@ Attribute "Product" "" "(HP Officejet j5790 All-in-one Printer)" } { + ModelName "HP Deskjet 5700" + Attribute "NickName" "" "HP Deskjet 5700, hpcups $Version" + Attribute "ShortNickName" "" "HP Deskjet 5700" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 5700;DES:deskjet 5700;" + PCFileName "hp-deskjet_5700.ppd" + Attribute "Product" "" "(HP Deskjet 5700 Color Inkjet Printer)" + Attribute "Product" "" "(HP Deskjet 5740 Color Inkjet Printer)" + Attribute "Product" "" "(HP Deskjet 5740xi Color Inkjet Printer)" + Attribute "Product" "" "(HP Deskjet 5743 Color Inkjet Printer)" + Attribute "Product" "" "(HP Deskjet 5745 Color Inkjet Printer)" + Attribute "Product" "" "(HP Deskjet 5748 Color Inkjet Printer)" + } + { ModelName "HP Deskjet 5800" Attribute "NickName" "" "HP Deskjet 5800, hpcups $Version" Attribute "ShortNickName" "" "HP Deskjet 5800" @@ -3401,6 +3384,14 @@ Attribute "Product" "" "(HP Photosmart 7268 Photo Printer)" } { + ModelName "HP Deskjet d730" + Attribute "NickName" "" "HP Deskjet d730, hpcups $Version" + Attribute "ShortNickName" "" "HP Deskjet d730" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet d730;DES:deskjet d730;" + PCFileName "hp-deskjet_d730.ppd" + Attribute "Product" "" "(HP Deskjet d730 Printer)" + } + { ModelName "HP Officejet 7300 Series" Attribute "NickName" "" "HP Officejet 7300 Series, hpcups $Version" Attribute "ShortNickName" "" "HP Officejet 7300 Series" @@ -3431,6 +3422,15 @@ Attribute "Product" "" "(HP Photosmart 7345 Printer)" } { + ModelName "HP Deskjet f735" + Attribute "NickName" "" "HP Deskjet f735, hpcups $Version" + Attribute "ShortNickName" "" "HP Deskjet f735" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet f735;DES:deskjet f735;" + PCFileName "hp-deskjet_f735.ppd" + Attribute "Product" "" "(HP Deskjet f735 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f4280 All-in-one)" + } + { ModelName "HP Photosmart 7350" Attribute "NickName" "" "HP Photosmart 7350, hpcups $Version" Attribute "ShortNickName" "" "HP Photosmart 7350" @@ -3593,7 +3593,7 @@ } } // End Supported media sizes with full bleed. - { + { // Large format UIConstraints "*PageSize A3 *Duplex" UIConstraints "*PageSize B4 *Duplex" @@ -3620,7 +3620,7 @@ // Custom page sizes from 1x4in to SuperB HWMargins 18 36 18 36 VariablePaperSize Yes - MinSize 1in 4in + MinSize 1in 4in MaxSize 936 1368 // <%DJGenericVIP:LargeFormatSuperB%> @@ -3764,7 +3764,7 @@ "<>setpagedevice" CustomMedia "HagakiFB/Hagaki Borderless 100x148mm" 294 430 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6 in" 298 442 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -3822,11 +3822,11 @@ "<>setpagedevice" CustomMedia "Letter.FB/Letter Borderless 8.5x11in" 622 802 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595 833 9 27 9 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 605 852 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 605 852 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 9 9 9 9 "<>setpagedevice" "<>setpagedevice" @@ -3872,7 +3872,7 @@ } // End Supported media sizes with full bleed. - { + { // Large format UIConstraints "*PageSize A3 *Duplex" UIConstraints "*PageSize B4 *Duplex" @@ -3899,7 +3899,7 @@ // Custom page sizes from 1x4in to SuperB HWMargins 18 36 18 36 VariablePaperSize Yes - MinSize 1in 4in + MinSize 1in 4in MaxSize 936 1368 // <%DJGenericVIP:LargeFormatSuperB:NoAutoTray%> @@ -4023,7 +4023,7 @@ "<>setpagedevice" CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 294 430 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6 in" 298 442 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -4081,11 +4081,11 @@ "<>setpagedevice" CustomMedia "Letter.FB/Letter Borderless 8.5x11in" 622 802 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595 833 9 27 9 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 605 852 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 605 852 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 9 9 9 9 "<>setpagedevice" "<>setpagedevice" @@ -4208,7 +4208,7 @@ "<>setpagedevice" CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 296.424 433.872 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6in" 303.552 446.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -4250,9 +4250,9 @@ "<>setpagedevice" CustomMedia "Letter.FB/Letter Borderless 8.5x11in" 627.552 806.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "Legal/Legal 8.5x14in" 612 1008 9 9 9 9 "<>setpagedevice" "<>setpagedevice" @@ -4359,7 +4359,7 @@ //////// StingrayOJ { - + Attribute "hpPrinterLanguage" "" "pcl3gui2" Attribute "HPMechOffset" "" "70" @@ -4369,21 +4369,21 @@ Choice "CMYGray/High Quality Grayscale" "<>setpagedevice" Choice "KGray/Black Only Grayscale" "<>setpagedevice" *Choice "RGB/Color" "<>setpagedevice" - + // cupsMediaType values map to MEDIATYPE from global_types.h Option "MediaType/Media Type" PickOne AnySetup 10.0 *Choice "Automatic/Automatic" "<>setpagedevice" Choice "Plain/Plain Paper" "<>setpagedevice" Choice "Glossy/Photo Paper" "<>setpagedevice" - - + + // cupsCompression values map to QUALITY_MODE from global_types.h Option "OutputMode/Print Quality" PickOne AnySetup 10.0 *Choice "Normal/Normal" "<>setpagedevice" Choice "FastDraft/Fast Draft" "<>setpagedevice" Choice "Best/Best" "<>setpagedevice" Choice "Photo/High-Resolution Photo" "<>setpagedevice" - + Option "InputSlot/Media Source" PickOne AnySetup 10.0 *Choice "Tray1/Tray 1" "<>setpagedevice" @@ -4391,7 +4391,7 @@ //MediaType & OutputMode UIConstraints "*MediaType Plain *OutputMode Photo" UIConstraints "*MediaType Glossy *OutputMode FastDraft" - + //PaperSizes & MediaTypes UIConstraints "*PageSize PhotoL.FB *MediaType Plain" //UIConstraints "*PageSize Photo3.5x5.FB *MediaType Plain" @@ -4411,11 +4411,11 @@ UIConstraints "*PageSize Photo13x18 *MediaType Plain" UIConstraints "*PageSize Photo5x7 *MediaType Plain" UIConstraints "*PageSize Photo8x10 *MediaType Plain" - + UIConstraints "*PageSize Statement *MediaType Glossy" UIConstraints "*PageSize A5 *MediaType Glossy" UIConstraints "*PageSize JB5 *MediaType Glossy" - UIConstraints "*PageSize Executive *MediaType Glossy" + UIConstraints "*PageSize Executive *MediaType Glossy" UIConstraints "*PageSize A4 *MediaType Glossy" UIConstraints "*PageSize Letter *MediaType Glossy" UIConstraints "*PageSize Legal *MediaType Glossy" @@ -4453,13 +4453,13 @@ "<>setpagedevice" CustomMedia "Photo3x5/Photo 3x5in" 216 360 5.76 33.84 5.76 8.64 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 5.76 33.84 5.76 8.64 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 5.76 33.84 5.76 8.64 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6.FB/Borderless Photo 4x6in" 298.22 455.23 0 0 0 0 "<>setpagedevice" + CustomMedia "Photo4x6.FB/Borderless Photo 4x6in" 298.22 455.23 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 5.76 33.84 5.76 8.64 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6tab/Photo 4x6in (tab)" 288 432 5.76 33.84 5.76 8.64 "<>setpagedevice" + CustomMedia "Photo4x6tab/Photo 4x6in (tab)" 288 432 5.76 33.84 5.76 8.64 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6tab.FB/Borderless Photo 4x6in (tab)" 298.22 455.23 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -4471,8 +4471,8 @@ "<>setpagedevice" CustomMedia "A5/A5 148x210mm" 419.76 595.44 9.36 33.84 9.36 8.64 "<>setpagedevice" "<>setpagedevice" - - + + // Standard CustomMedia "JB5/JB5 182x257mm" 516.24 728.64 9.36 33.84 9.36 8.64 "<>setpagedevice" "<>setpagedevice" @@ -4480,7 +4480,7 @@ "<>setpagedevice" *CustomMedia "Letter/Letter 8.5x11in" 612 792 18 33.84 18 8.64 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.36 33.84 9.36 8.64 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.36 33.84 9.36 8.64 "<>setpagedevice" "<>setpagedevice" CustomMedia "Legal/Legal 8.5x14in" 612 1008 18 33.84 18 8.64 "<>setpagedevice" "<>setpagedevice" @@ -4523,7 +4523,7 @@ CustomMedia "EnvC5/C5 Envelope 162x229mm" 459 649 9.36 40.32 9.36 40.32 "<>setpagedevice" "<>setpagedevice" - + // Custom page sizes from 1x4in to legal HWMargins 18 40.32 18 8.64 @@ -4554,7 +4554,7 @@ //////// Copperhead { - + Attribute "hpPrinterLanguage" "" "pcl3gui2" Attribute "HPMechOffset" "" "69" @@ -4564,14 +4564,14 @@ *Choice "RGB/Color" "<>setpagedevice" Choice "CMYGray/High Quality Grayscale" "<>setpagedevice" Choice "KGray/Black Only Grayscale" "<>setpagedevice" - + // cupsMediaType values map to MEDIATYPE from global_types.h Option "MediaType/Media Type" PickOne AnySetup 10.0 *Choice "Plain/Plain Paper" "<>setpagedevice" Choice "Glossy/Photo Paper" "<>setpagedevice" Choice "TransparencyFilm/Transparency Film" "<>setpagedevice" - - + + // cupsCompression values map to QUALITY_MODE from global_types.h Option "OutputMode/Print Quality" PickOne AnySetup 10.0 *Choice "Normal/Normal" "<>setpagedevice" @@ -4579,7 +4579,7 @@ Choice "Best/Best" "<>setpagedevice" Choice "Photo/High-Resolution Photo" "<>setpagedevice" - + Option "InputSlot/Media Source" PickOne AnySetup 10.0 *Choice "Auto/Auto-Select" "<>setpagedevice" Choice "PhotoTray/Photo Tray" "<>setpagedevice" @@ -4592,7 +4592,7 @@ UIConstraints "*MediaType TransparencyFilm *OutputMode FastDraft" UIConstraints "*MediaType TransparencyFilm *OutputMode Best" UIConstraints "*MediaType TransparencyFilm *OutputMode Photo" - + //PaperSizes & MediaTypes //For 5510, following constraints are causing some issues in displaying plain paper type in Application UI. Commenting it, untill issue is fixed. //UIConstraints "*PageSize PhotoL.FB *MediaType Plain" @@ -4613,10 +4613,10 @@ //UIConstraints "*PageSize Photo13x18 *MediaType Plain" //UIConstraints "*PageSize Photo5x7 *MediaType Plain" //UIConstraints "*PageSize Photo8x10 *MediaType Plain" - + UIConstraints "*PageSize A5 *MediaType Glossy" UIConstraints "*PageSize JB5 *MediaType Glossy" - UIConstraints "*PageSize Executive *MediaType Glossy" + UIConstraints "*PageSize Executive *MediaType Glossy" UIConstraints "*PageSize A4 *MediaType Glossy" UIConstraints "*PageSize Letter *MediaType Glossy" UIConstraints "*PageSize Legal *MediaType Glossy" @@ -4638,23 +4638,23 @@ "<>setpagedevice" CustomMedia "PhotoL.FB/Borderless Photo 3.5x5in" 264.744 374.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6.FB/Borderless Photo 4x6in" 303.552 446.112 0 0 0 0 "<>setpagedevice" + CustomMedia "Photo4x6.FB/Borderless Photo 4x6in" 303.552 446.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6tab/Photo 4x6in (tab)" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6tab/Photo 4x6in (tab)" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6tab.FB/Borderless Photo 4x6in (tab)" 303.552 446.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 9 9 9 9 "<>setpagedevice" - "<>setpagedevice" + "<>setpagedevice" CustomMedia "A6.FB/A6 Borderless 105x148mm" 310.104 433.872 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "Hagaki/Hagaki 100x148mm" 283.68 419.76 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 296.424 433.872 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - + // 5x7 CustomMedia "Photo5x7/Photo 5x7in" 360 504 9 9 9 9 "<>setpagedevice" "<>setpagedevice" @@ -4676,8 +4676,8 @@ "<>setpagedevice" CustomMedia "Oufuku/Oufuku-Hagaki 200x148mm" 566.64 419.76 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - - + + // Standard CustomMedia "JB5/JB5 182x257mm" 516.24 728.64 9 9 9 9 "<>setpagedevice" "<>setpagedevice" @@ -4687,9 +4687,9 @@ "<>setpagedevice" CustomMedia "Letter.FB/Letter Borderless 8.5x11in" 627.552 806.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "Legal/Legal 8.5x14in" 612 1008 9 9 9 9 "<>setpagedevice" "<>setpagedevice" @@ -4717,7 +4717,7 @@ MinSize 3in 4in MaxSize 8.5in 30in - + { UIConstraints "*PageSize EnvChou4 *MediaType Glossy" UIConstraints "*PageSize EnvA2 *MediaType Glossy" @@ -4791,9 +4791,9 @@ Choice "DuplexTumble/Short Edge (Flip)" "<>setpagedevice" *Choice "None/Off" "<>setpagedevice" - - CustomMedia "Card4x6.Duplex/Index Card AutoDuplex 4x6in" 288 423 9 0 9 9 "<>setpagedevice" + + CustomMedia "Card4x6.Duplex/Index Card AutoDuplex 4x6in" 288 423 9 0 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Card5x8.Duplex/Index Card AutoDuplex 5x8in" 360 567 9 0 9 9 "<>setpagedevice" "<>setpagedevice" @@ -4832,7 +4832,7 @@ } } }// End Supported media sizes with full bleed. - + //Copperhead with less envelope { @@ -4888,12 +4888,396 @@ Attribute "Product" "" "(HP Officejet 4622 E-all-in-one Printer)" } } -} // End Copperhead +} // End Copperhead + +//////// CopperheadXLP +{ + Attribute "cupsEvenDuplex" "" "True" + Attribute "cupsBackSide" "" "Rotated" + Attribute "cupsFlipDuplex" "" "True" + Attribute "hpPrinterLanguage" "" "pcl3gui2" + Attribute "HPMechOffset" "" "71" + + Group "General/General" + + Option "ColorModel/Output Mode" PickOne AnySetup 10.0 + *Choice "RGB/Color" "<>setpagedevice" + Choice "CMYGray/High Quality Grayscale" "<>setpagedevice" + Choice "KGray/Black Only Grayscale" "<>setpagedevice" + + // cupsMediaType values map to MEDIATYPE from global_types.h + Option "MediaType/Media Type" PickOne AnySetup 10.0 + *Choice "Plain/Plain paper" "<>setpagedevice" + Choice "ThickPlain/Thick plain paper" "<>setpagedevice" + Choice "Glossy/HP Photo Papers" "<>setpagedevice" + Choice "FastGlossy/Other photo inkjet papers" "<>setpagedevice" + Choice "HagakiGlossy/Photo hagaki" "<>setpagedevice" + Choice "CoatedBrochure/HP Matte Brochure or Professional Paper" "<>setpagedevice" + Choice "CoatedMatte/HP Matte Presentation Paper" "<>setpagedevice" + Choice "Coated/Other matte inkjet papers" "<>setpagedevice" + Choice "BrochureGlosy/HP Glosy Brochure or Professional Paper" "<>setpagedevice" + Choice "Brochure/Other glosy inkjet papers" "<>setpagedevice" + Choice "BrochureHagaki/Inkjet hagaki" "<>setpagedevice" + + + // cupsCompression values map to QUALITY_MODE from global_types.h + Option "OutputMode/Print Quality" PickOne AnySetup 10.0 + *Choice "Normal/Normal" "<>setpagedevice" + Choice "FastDraft/Draft" "<>setpagedevice" + Choice "Best/Best" "<>setpagedevice" + Choice "Photo/High-Resolution Photo" "<>setpagedevice" + + + Option "InputSlot/Media Source" PickOne AnySetup 10.0 + *Choice "Auto/Auto-Select" "<>setpagedevice" + Choice "Upper/Main Tray" "<>setpagedevice" + + Option "Duplex/Double-Sided Printing" PickOne AnySetup 10.0 + Choice "DuplexNoTumble/Long Edge (Standard)" "<>setpagedevice" + Choice "DuplexTumble/Short Edge (Flip)" "<>setpagedevice" + *Choice "None/Off" "<>setpagedevice" + + //Constraints + //MediaType & OutputMode + UIConstraints "*MediaType FastGlossy *OutputMode FastDraft" + UIConstraints "*MediaType HagakiGlossy *OutputMode FastDraft" + UIConstraints "*MediaType Glossy *OutputMode FastDraft" + UIConstraints "*MediaType CoatedBrochure *OutputMode FastDraft" + UIConstraints "*MediaType CoatedMatte *OutputMode FastDraft" + UIConstraints "*MediaType Coated *OutputMode FastDraft" + UIConstraints "*MediaType BrochureGlosy *OutputMode FastDraft" + UIConstraints "*MediaType Brochure *OutputMode FastDraft" + UIConstraints "*MediaType BrochureHagaki *OutputMode FastDraft" + + //PaperSizes & MediaTypes + UIConstraints "*PageSize L.FB *MediaType Plain" + UIConstraints "*PageSize Photo4x6.FB *MediaType Plain" + UIConstraints "*PageSize Photo10x15.FB *MediaType Plain" + UIConstraints "*PageSize Photo2L.FB *MediaType Plain" + UIConstraints "*PageSize Photo13x18.FB *MediaType Plain" + UIConstraints "*PageSize Photo5x7.FB *MediaType Plain" + UIConstraints "*PageSize 8x10.FB *MediaType Plain" + UIConstraints "*PageSize Photo3x5 *MediaType Plain" + UIConstraints "*PageSize PhotoL *MediaType Plain" + UIConstraints "*PageSize Photo10x15 *MediaType Plain" + UIConstraints "*PageSize Photo4x6 *MediaType Plain" + UIConstraints "*PageSize Photo2L *MediaType Plain" + UIConstraints "*PageSize Photo13x18 *MediaType Plain" + UIConstraints "*PageSize Photo5x7 *MediaType Plain" + UIConstraints "*PageSize Photo8x10 *MediaType Plain" + + UIConstraints "*PageSize L.FB *MediaType ThickPlain" + UIConstraints "*PageSize Photo4x6.FB *MediaType ThickPlain" + UIConstraints "*PageSize Photo10x15.FB *MediaType ThickPlain" + UIConstraints "*PageSize Photo2L.FB *MediaType ThickPlain" + UIConstraints "*PageSize Photo13x18.FB *MediaType ThickPlain" + UIConstraints "*PageSize Photo5x7.FB *MediaType ThickPlain" + UIConstraints "*PageSize 8x10.FB *MediaType ThickPlain" + UIConstraints "*PageSize Photo3x5 *MediaType ThickPlain" + UIConstraints "*PageSize PhotoL *MediaType ThickPlain" + UIConstraints "*PageSize Photo10x15 *MediaType ThickPlain" + UIConstraints "*PageSize Photo4x6 *MediaType ThickPlain" + UIConstraints "*PageSize Photo2L *MediaType ThickPlain" + UIConstraints "*PageSize Photo13x18 *MediaType ThickPlain" + UIConstraints "*PageSize Photo5x7 *MediaType ThickPlain" + UIConstraints "*PageSize Photo8x10 *MediaType ThickPlain" + + UIConstraints "*PageSize A5 *MediaType FastGlossy" + UIConstraints "*PageSize JB5 *MediaType FastGlossy" + UIConstraints "*PageSize B5 *MediaType FastGlossy" + UIConstraints "*PageSize Executive *MediaType FastGlossy" + UIConstraints "*PageSize A4 *MediaType FastGlossy" + UIConstraints "*PageSize Letter *MediaType FastGlossy" + UIConstraints "*PageSize Legal *MediaType FastGlossy" + UIConstraints "*PageSize CardA4 *MediaType FastGlossy" + UIConstraints "*PageSize CardLetter *MediaType FastGlossy" + UIConstraints "*PageSize Card3x5 *MediaType FastGlossy" + UIConstraints "*PageSize Card4x6 *MediaType FastGlossy" + UIConstraints "*PageSize Card5x8 *MediaType FastGlossy" + UIConstraints "*PageSize 8.5x13 *MediaType FastGlossy" + UIConstraints "*PageSize Statement *MediaType FastGlossy" + + + UIConstraints "*PageSize EnvChou4 *MediaType FastGlossy" + UIConstraints "*PageSize EnvA2 *MediaType FastGlossy" + UIConstraints "*PageSize EnvC6 *MediaType FastGlossy" + UIConstraints "*PageSize EnvChou3 *MediaType FastGlossy" + UIConstraints "*PageSize EnvMonarch *MediaType FastGlossy" + UIConstraints "*PageSize Env10 *MediaType FastGlossy" + UIConstraints "*PageSize EnvDL *MediaType FastGlossy" + UIConstraints "*PageSize EnvC5 *MediaType FastGlossy" + UIConstraints "*PageSize Env6 *MediaType FastGlossy" + UIConstraints "*PageSize EnvCard *MediaType FastGlossy" + + UIConstraints "*PageSize A5 *MediaType HagakiGlossy" + UIConstraints "*PageSize JB5 *MediaType HagakiGlossy" + UIConstraints "*PageSize B5 *MediaType HagakiGlossy" + UIConstraints "*PageSize Executive *MediaType HagakiGlossy" + UIConstraints "*PageSize A4 *MediaType HagakiGlossy" + UIConstraints "*PageSize Letter *MediaType HagakiGlossy" + UIConstraints "*PageSize Legal *MediaType HagakiGlossy" + UIConstraints "*PageSize CardA4 *MediaType HagakiGlossy" + UIConstraints "*PageSize CardLetter *MediaType HagakiGlossy" + UIConstraints "*PageSize Card3x5 *MediaType HagakiGlossy" + UIConstraints "*PageSize Card4x6 *MediaType HagakiGlossy" + UIConstraints "*PageSize Card5x8 *MediaType HagakiGlossy" + UIConstraints "*PageSize 8.5x13 *MediaType HagakiGlossy" + UIConstraints "*PageSize Statement *MediaType HagakiGlossy" + + + UIConstraints "*PageSize EnvChou4 *MediaType HagakiGlossy" + UIConstraints "*PageSize EnvA2 *MediaType HagakiGlossy" + UIConstraints "*PageSize EnvC6 *MediaType HagakiGlossy" + UIConstraints "*PageSize EnvChou3 *MediaType HagakiGlossy" + UIConstraints "*PageSize EnvMonarch *MediaType HagakiGlossy" + UIConstraints "*PageSize Env10 *MediaType HagakiGlossy" + UIConstraints "*PageSize EnvDL *MediaType HagakiGlossy" + UIConstraints "*PageSize EnvC5 *MediaType HagakiGlossy" + UIConstraints "*PageSize Env6 *MediaType HagakiGlossy" + UIConstraints "*PageSize EnvCard *MediaType HagakiGlossy" + + UIConstraints "*PageSize A5 *MediaType Glossy" + UIConstraints "*PageSize JB5 *MediaType Glossy" + UIConstraints "*PageSize B5 *MediaType Glossy" + UIConstraints "*PageSize Executive *MediaType Glossy" + UIConstraints "*PageSize A4 *MediaType Glossy" + UIConstraints "*PageSize Letter *MediaType Glossy" + UIConstraints "*PageSize Legal *MediaType Glossy" + UIConstraints "*PageSize CardA4 *MediaType Glossy" + UIConstraints "*PageSize CardLetter *MediaType Glossy" + UIConstraints "*PageSize Card3x5 *MediaType Glossy" + UIConstraints "*PageSize Card4x6 *MediaType Glossy" + UIConstraints "*PageSize Card5x8 *MediaType Glossy" + UIConstraints "*PageSize 8.5x13 *MediaType Glossy" + UIConstraints "*PageSize Statement *MediaType Glossy" + + + UIConstraints "*PageSize EnvChou4 *MediaType Glossy" + UIConstraints "*PageSize EnvA2 *MediaType Glossy" + UIConstraints "*PageSize EnvC6 *MediaType Glossy" + UIConstraints "*PageSize EnvChou3 *MediaType Glossy" + UIConstraints "*PageSize EnvMonarch *MediaType Glossy" + UIConstraints "*PageSize Env10 *MediaType Glossy" + UIConstraints "*PageSize EnvDL *MediaType Glossy" + UIConstraints "*PageSize EnvC5 *MediaType Glossy" + UIConstraints "*PageSize Env6 *MediaType Glossy" + UIConstraints "*PageSize EnvCard *MediaType Glossy" + + //UIConstraints "*Duplex *OptionDuplex False" + UIConstraints "*PageSize L.FB *Duplex" + UIConstraints "*PageSize A6.FB *Duplex" + UIConstraints "*PageSize A5.FB *Duplex" + UIConstraints "*PageSize JB5.FB *Duplex" + UIConstraints "*PageSize Photo2L.FB *Duplex" + UIConstraints "*PageSize Photo5x7.FB *Duplex" + UIConstraints "*PageSize Photo4x6.FB *Duplex" + UIConstraints "*PageSize 8x10.FB *Duplex" + UIConstraints "*PageSize Photo10x15.FB *Duplex" + UIConstraints "*PageSize Photo13x18.FB *Duplex" + + UIConstraints "*PageSize A5 *Duplex" + UIConstraints "*PageSize A6 *Duplex" + UIConstraints "*PageSize JB5 *Duplex" + UIConstraints "*PageSize 6x8 *Duplex" + UIConstraints "*PageSize Env6 *Duplex" + UIConstraints "*PageSize Legal *Duplex" + UIConstraints "*PageSize Env10 *Duplex" + UIConstraints "*PageSize EnvA2 *Duplex" + UIConstraints "*PageSize EnvC5 *Duplex" + UIConstraints "*PageSize EnvC6 *Duplex" + UIConstraints "*PageSize EnvDL *Duplex" + UIConstraints "*PageSize PhotoL *Duplex" + UIConstraints "*PageSize 8.5x13 *Duplex" + UIConstraints "*PageSize CardA4 *Duplex" + UIConstraints "*PageSize Oufuku *Duplex" + UIConstraints "*PageSize EnvCard *Duplex" + UIConstraints "*PageSize Photo2L *Duplex" + UIConstraints "*PageSize Card3x5 *Duplex" + UIConstraints "*PageSize Card4x6 *Duplex" + UIConstraints "*PageSize Card5x8 *Duplex" + UIConstraints "*PageSize EnvChou3 *Duplex" + UIConstraints "*PageSize EnvChou4 *Duplex" + UIConstraints "*PageSize Photo5x7 *Duplex" + UIConstraints "*PageSize Photo3x5 *Duplex" + UIConstraints "*PageSize Photo4x6 *Duplex" + UIConstraints "*PageSize Statement *Duplex" + UIConstraints "*PageSize Photo8x10 *Duplex" + UIConstraints "*PageSize Photo10x15 *Duplex" + UIConstraints "*PageSize Photo13x18 *Duplex" + UIConstraints "*PageSize EnvMonarch *Duplex" + UIConstraints "*PageSize CardLetter *Duplex" + + + // 4x6 or smaller + CustomMedia "Card3x5/Index Card 3x5in" 216 360 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Card4x6/Index Card 4x6in" 288 432 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo3x5/Photo 3x5in" 216 360 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "PhotoL/Photo L 89x127mm" 252 360 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "L.FB/Borderless Photo L 89x127mm" 266.4 371.952 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo4x6.FB/Borderless Photo 4x6in" 302.4 443.952 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "A6/A6 105x148mm" 297.36 419.76 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "A6.FB/A6 Borderless 105x148mm" 311.76 431.712 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 297.36 431.71 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Hagaki.Duplex/Hagaki AutoDuplex 100x148mm" 283 420 8.4 0 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + + // 5x7 + CustomMedia "Photo5x7/Photo 5x7in" 360 504 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo5x7.FB/Photo Borderless 5x7in" 374.4 515.952 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Card5x8/Index Card 5x8in" 360 576 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "A5/A5 148x210mm" 419.76 595.44 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "A5.FB/A5 Borderless 148x210mm" 434.16 607.392 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Oufuku/Oufuku-Hagaki 200x148mm" 566.64 419.76 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + + + // Standard + CustomMedia "Postcard/Postcard" 283 420 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + + CustomMedia "6x8/6x8in" 432 576 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "8.5x13/8.5x13in" 612 936 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "B5/B5 176x250mm" 498.96 708.48 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "B5.Duplex/B5 AutoDuplex 176x250mm" 498.96 708.48 8.4 0 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "JB5/JB5 182x257mm" 516.24 728.64 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "JB5.FB/JB5 Borderless 182x257mm" 530.64 740.592 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Executive/Executive 7.25x10.5in" 522 756 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Executive.Duplex/Executive AutoDuplex 7.25x10.5in" 522 756 8.4 0 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + *CustomMedia "Letter/Letter 8.5x11in" 612 792 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 792 8.4 0 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Letter.FB/Letter Borderless 8.5x11in" 626.4 803.952 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "CardLetter/Index Card Letter 8.5x11in" 612 792 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Statement/Statement 5.5x8.5in" 396 612 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + + CustomMedia "A4/A4 210x297mm" 595.44 841.68 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595.44 841.68 8.4 0 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + + CustomMedia "A4.FB/A4 Borderless 210x297mm" 609.84 853.632 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "CardA4/Index Card A4 210x297mm" 595.44 841.68 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + + CustomMedia "Legal/Legal 8.5x14in" 612 1008 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo10x15/Photo 10x15cm" 288 432 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo10x15.FB/Borderless Photo 10x15cm" 302.4 443.952 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo2L/Photo 2L 127x178mm" 360 504 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo2L.FB/Photo 2L Borderless 127x178mm" 374.4 515.952 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + + CustomMedia "Photo13x18/Photo 13x18cm" 360 504 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo13x18.FB/Photo Borderless 13x18cm" 374.4 515.952 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo8x10/Photo 8x10in" 576 720 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "8x10.FB/Borderless 8x10in" 590.4 731.952 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + + + { + // Custom page sizes from 1x4in to legal + HWMargins 9 9 9 9 + VariablePaperSize Yes + MinSize 3in 4in + MaxSize 8.5in 30in + + + } + + + // Envelope + CustomMedia "EnvA2/A2 Envelope 4.37x5.75in" 314.64 414 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvC6/C6 Envelope 114x162mm" 323.28 459.36 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvChou4/#4 Japanese Envelope 90x205mm" 254.88 581.04 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Env6/#6 Envelope 3.63x6.5in" 261.36 468 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvCard/Card Envelope 4.4x6in" 316 432 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvMonarch/Monarch Envelope 3.875x7.5in" 279 540 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvDL/DL Envelope 110x220mm" 311.76 623.52 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Env10/#10 Envelope 4.125x9.5in" 297 684 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvChou3/#3 Japanese Envelope 120x235mm" 339.84 666 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvC5/C5 Envelope 162x229mm" 459.36 649.44 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + + // <%CopperheadXLP:Normal%> + { + ModelName "HP Officejet Pro 6230" + Attribute "NickName" "" "HP Officejet Pro 6230, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet Pro 6230" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet pro 6230;DES:officejet pro 6230;" + PCFileName "hp-officejet_pro_6230.ppd" + Attribute "Product" "" "(HP Officejet Pro 6230 Eprinter)" + } + { + ModelName "HP Officejet 6800" + Attribute "NickName" "" "HP Officejet 6800, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet 6800" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 6800;DES:officejet 6800;" + PCFileName "hp-officejet_6800.ppd" + Attribute "Product" "" "(HP Officejet 6800 E-all-in-one)" + Attribute "Product" "" "(HP Officejet 6810 E-all-in-one Printer Series)" + Attribute "Product" "" "(HP Officejet 6812 E-all-in-one Printer)" + Attribute "Product" "" "(HP Officejet 6815 E-all-in-one Printer)" + } + { + ModelName "HP Officejet Pro 6830" + Attribute "NickName" "" "HP Officejet Pro 6830, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet Pro 6830" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet pro 6830;DES:officejet pro 6830;" + PCFileName "hp-officejet_pro_6830.ppd" + Attribute "Product" "" "(HP Officejet Pro 6830 E-all-in-one)" + Attribute "Product" "" "(HP Officejet Pro 6835 E-all-in-one)" + } + +}// End CopperheadXLP //////// Copperhead12 { - + Attribute "cupsEvenDuplex" "" "True" Attribute "cupsBackSide" "" "Rotated" Attribute "cupsFlipDuplex" "" "True" @@ -4911,13 +5295,13 @@ *Choice "RGB/Color" "<>setpagedevice" Choice "CMYGray/High Quality Grayscale" "<>setpagedevice" Choice "KGray/Black Only Grayscale" "<>setpagedevice" - + // cupsMediaType values map to MEDIATYPE from global_types.h Option "MediaType/Media Type" PickOne AnySetup 10.0 *Choice "Plain/Plain Paper" "<>setpagedevice" Choice "Glossy/Photo Paper" "<>setpagedevice" Choice "TransparencyFilm/Transparency Film" "<>setpagedevice" - + // cupsCompression values map to QUALITY_MODE from global_types.h Option "OutputMode/Print Quality" PickOne AnySetup 10.0 @@ -4925,8 +5309,8 @@ Choice "FastDraft/Fast Draft" "<>setpagedevice" Choice "Best/Best" "<>setpagedevice" Choice "Photo/High-Resolution Photo" "<>setpagedevice" - - + + // Duplexer is optional... Installable "OptionDuplex/Duplexer Installed" @@ -4949,7 +5333,7 @@ UIConstraints "*MediaType TransparencyFilm *OutputMode FastDraft" UIConstraints "*MediaType TransparencyFilm *OutputMode Best" UIConstraints "*MediaType TransparencyFilm *OutputMode Photo" - + //PaperSizes & MediaTypes UIConstraints "*PageSize PhotoL.FB *MediaType Plain" //UIConstraints "*PageSize Photo3.5x5.FB *MediaType Plain" @@ -4968,10 +5352,10 @@ UIConstraints "*PageSize Photo13x18 *MediaType Plain" UIConstraints "*PageSize Photo5x7 *MediaType Plain" UIConstraints "*PageSize Photo8x10 *MediaType Plain" - + UIConstraints "*PageSize A5 *MediaType Glossy" UIConstraints "*PageSize JB5 *MediaType Glossy" - UIConstraints "*PageSize Executive *MediaType Glossy" + UIConstraints "*PageSize Executive *MediaType Glossy" UIConstraints "*PageSize A4 *MediaType Glossy" UIConstraints "*PageSize Letter *MediaType Glossy" UIConstraints "*PageSize Legal *MediaType Glossy" @@ -4994,7 +5378,7 @@ "<>setpagedevice" CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6.Duplex/Index Card AutoDuplex 4x6in" 288 423 9 0 9 9 "<>setpagedevice" + CustomMedia "Card4x6.Duplex/Index Card AutoDuplex 4x6in" 288 423 9 0 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "PhotoL/Photo L 89x127mm" 252 360 9 9 9 9 "<>setpagedevice" "<>setpagedevice" @@ -5004,16 +5388,16 @@ "<>setpagedevice" CustomMedia "PhotoL.FB/Borderless Photo 3.5x5in" 264.744 374.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6.FB/Borderless Photo 4x6in" 303.552 446.112 0 0 0 0 "<>setpagedevice" + CustomMedia "Photo4x6.FB/Borderless Photo 4x6in" 303.552 446.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6tab/Photo 4x6in (tab)" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6tab/Photo 4x6in (tab)" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6tab.FB/Borderless Photo 4x6in (tab)" 303.552 446.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 9 9 9 9 "<>setpagedevice" - "<>setpagedevice" + "<>setpagedevice" CustomMedia "A6.FB/A6 Borderless 105x148mm" 310.104 433.872 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "Hagaki/Hagaki 100x148mm" 283.68 419.76 9 9 9 9 "<>setpagedevice" @@ -5022,7 +5406,7 @@ "<>setpagedevice" CustomMedia "Hagaki.Duplex/Hagaki AutoDuplex 100x148mm" 283.68 410.76 9 0 9 9 "<>setpagedevice" "<>setpagedevice" - + // 5x7 CustomMedia "Photo5x7/Photo 5x7in" 360 504 9 9 9 9 "<>setpagedevice" "<>setpagedevice" @@ -5046,8 +5430,8 @@ "<>setpagedevice" CustomMedia "Oufuku.Duplex/Oufuku-Hagaki AutoDuplex 200x148mm" 566.64 410.76 9 0 9 9 "<>setpagedevice" "<>setpagedevice" - - + + // Standard CustomMedia "JB5/JB5 182x257mm" 516.24 728.64 9 9 9 9 "<>setpagedevice" "<>setpagedevice" @@ -5063,9 +5447,9 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 783 9 33.192 9 42.192 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595.44 832.68 9 33.192 9 42.192 "<>setpagedevice" "<>setpagedevice" @@ -5087,7 +5471,7 @@ "<>setpagedevice" CustomMedia "8x10.FB/Borderless 8x10in" 591.552 734.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - + // Envelope CustomMedia "EnvA2/A2 Envelope 4.37x5.75in" 314.64 414 9 42.192 9 9 "<>setpagedevice" @@ -5110,7 +5494,7 @@ "<>setpagedevice" CustomMedia "EnvC5/C5 Envelope 162x229mm" 459.36 649.44 9 42.192 9 9 "<>setpagedevice" "<>setpagedevice" - + // Custom page sizes from 1x4in to legal HWMargins 9 9 9 9 VariablePaperSize Yes @@ -5193,10 +5577,352 @@ } // End Copperhead12 - -//////// Saipan +//////// CopperheadIPH { + Attribute "cupsEvenDuplex" "" "True" + Attribute "cupsBackSide" "" "Rotated" + Attribute "cupsFlipDuplex" "" "True" + Attribute "hpPrinterLanguage" "" "pcl3gui2" + Attribute "HPMechOffset" "" "69" + + Group "General/General" + + Option "ColorModel/Output Mode" PickOne AnySetup 10.0 + *Choice "RGB/Color" "<>setpagedevice" + Choice "CMYGray/High Quality Grayscale" "<>setpagedevice" + Choice "KGray/Black Only Grayscale" "<>setpagedevice" + + // cupsMediaType values map to MEDIATYPE from global_types.h + Option "MediaType/Media Type" PickOne AnySetup 10.0 + *Choice "Plain/Plain Paper" "<>setpagedevice" + Choice "FastGlossy/HP Photo Papers" "<>setpagedevice" + Choice "Coated/HP Matte Brochure or Professional Paper" "<>setpagedevice" + Choice "Coated1/HP Matte Presentation Paper" "<>setpagedevice" + Choice "Brochure/HP Glossy Brochure or Professional Paper" "<>setpagedevice" + Choice "FastGlossy1/Other photo inkjet papers" "<>setpagedevice" + Choice "Coated2/Other matte inkjet papers Paper" "<>setpagedevice" + Choice "Brochure1/Other glossy inkjet Paper" "<>setpagedevice" + + + // cupsCompression values map to QUALITY_MODE from global_types.h + Option "OutputMode/Print Quality" PickOne AnySetup 10.0 + *Choice "Normal/Normal" "<>setpagedevice" + Choice "FastDraft/Draft" "<>setpagedevice" + Choice "Best/Best" "<>setpagedevice" + Choice "Photo/High-Resolution Photo" "<>setpagedevice" + + + Option "InputSlot/Media Source" PickOne AnySetup 10.0 + *Choice "Auto/Auto-Select" "<>setpagedevice" + Choice "PhotoTray/Photo Tray" "<>setpagedevice" + Choice "Upper/Main Tray" "<>setpagedevice" + + Option "Duplex/Double-Sided Printing" PickOne AnySetup 10.0 + Choice "DuplexNoTumble/Long Edge (Standard)" "<>setpagedevice" + Choice "DuplexTumble/Short Edge (Flip)" "<>setpagedevice" + *Choice "None/Off" "<>setpagedevice" + + //Constraints + + + //PaperSizes & MediaTypes + + + UIConstraints "*PageSize Photo4x6.FB *MediaType Plain" + UIConstraints "*PageSize Photo10x15.FB *MediaType Plain" + UIConstraints "*PageSize Photo13x18.FB *MediaType Plain" + UIConstraints "*PageSize Photo2L.FB *MediaType Plain" + UIConstraints "*PageSize Photo5x7.FB *MediaType Plain" + UIConstraints "*PageSize Photo8x10.FB *MediaType Plain" + UIConstraints "*PageSize A6.FB *MediaType Plain" + UIConstraints "*PageSize PhotoL *MediaType Plain" + UIConstraints "*PageSize Photo4x6 *MediaType Plain" + UIConstraints "*PageSize Photo10x15 *MediaType Plain" + UIConstraints "*PageSize Photo13x18 *MediaType Plain" + UIConstraints "*PageSize Photo2L *MediaType Plain" + UIConstraints "*PageSize Photo5x7 *MediaType Plain" + UIConstraints "*PageSize Photo8x10 *MediaType Plain" + UIConstraints "*PageSize A6 *MediaType Plain" + + //Non duplex media against duplex + UIConstraints "*PageSize Photo10x15 *Duplex" + UIConstraints "*PageSize Photo10x15.FB *Duplex" + UIConstraints "*PageSize Photo13x18 *Duplex" + UIConstraints "*PageSize Photo13x18.FB *Duplex" + UIConstraints "*PageSize Photo2L *Duplex" + UIConstraints "*PageSize Photo2L.FB *Duplex" + UIConstraints "*PageSize Photo2L *Duplex" + UIConstraints "*PageSize Photo4x6 *Duplex" + UIConstraints "*PageSize Photo4x6.FB *Duplex" + UIConstraints "*PageSize Photo5x7 *Duplex" + UIConstraints "*PageSize Photo5x7.FB *Duplex" + UIConstraints "*PageSize 8.5x13 *Duplex" + UIConstraints "*PageSize Photo8x10 *Duplex" + UIConstraints "*PageSize Photo8x10.FB *Duplex" + UIConstraints "*PageSize A5 *Duplex" + UIConstraints "*PageSize A5.FB *Duplex" + UIConstraints "*PageSize Legal *Duplex" + UIConstraints "*PageSize A6 *Duplex" + UIConstraints "*PageSize A6.FB *Duplex" + UIConstraints "*PageSize Env10 *Duplex" + UIConstraints "*PageSize EnvC6 *Duplex" + UIConstraints "*PageSize EnvC5 *Duplex" + UIConstraints "*PageSize EnvMonarch *Duplex" + UIConstraints "*PageSize EnvDL *Duplex" + UIConstraints "*PageSize EnvChou3 *Duplex" + + + UIConstraints "*PageSize 8.5x13 *MediaType FastGlossy" + UIConstraints "*PageSize A4 *MediaType FastGlossy" + UIConstraints "*PageSize A5 *MediaType FastGlossy" + UIConstraints "*PageSize JB5 *MediaType FastGlossy" + UIConstraints "*PageSize B5 *MediaType FastGlossy" + UIConstraints "*PageSize EnvC6 *MediaType FastGlossy" + UIConstraints "*PageSize EnvChou3 *MediaType FastGlossy" + UIConstraints "*PageSize EnvMonarch *MediaType FastGlossy" + UIConstraints "*PageSize Env10 *MediaType FastGlossy" + UIConstraints "*PageSize EnvDL *MediaType FastGlossy" + UIConstraints "*PageSize EnvC5 *MediaType FastGlossy" + UIConstraints "*PageSize Executive *MediaType FastGlossy" + UIConstraints "*PageSize Card4x6 *MediaType FastGlossy" + UIConstraints "*PageSize Card5x8 *MediaType FastGlossy" + UIConstraints "*PageSize CardA4 *MediaType FastGlossy" + UIConstraints "*PageSize CardLetter *MediaType FastGlossy" + UIConstraints "*PageSize Letter *MediaType FastGlossy" + UIConstraints "*PageSize Legal *MediaType FastGlossy" + UIConstraints "*PageSize Statement *MediaType FastGlossy" + + UIConstraints "*PageSize 8.5x13 *MediaType FastGlossy1" + UIConstraints "*PageSize A4 *MediaType FastGlossy1" + UIConstraints "*PageSize A5 *MediaType FastGlossy1" + UIConstraints "*PageSize JB5 *MediaType FastGlossy1" + UIConstraints "*PageSize B5 *MediaType FastGlossy1" + UIConstraints "*PageSize EnvC6 *MediaType FastGlossy1" + UIConstraints "*PageSize EnvChou3 *MediaType FastGlossy1" + UIConstraints "*PageSize EnvMonarch *MediaType FastGlossy1" + UIConstraints "*PageSize Env10 *MediaType FastGlossy1" + UIConstraints "*PageSize EnvDL *MediaType FastGlossy1" + UIConstraints "*PageSize EnvC5 *MediaType FastGlossy1" + UIConstraints "*PageSize Executive *MediaType FastGlossy1" + UIConstraints "*PageSize Card4x6 *MediaType FastGlossy1" + UIConstraints "*PageSize Card5x8 *MediaType FastGlossy1" + UIConstraints "*PageSize CardA4 *MediaType FastGlossy1" + UIConstraints "*PageSize CardLetter *MediaType FastGlossy1" + UIConstraints "*PageSize Letter *MediaType FastGlossy1" + UIConstraints "*PageSize Legal *MediaType FastGlossy1" + UIConstraints "*PageSize Statement *MediaType FastGlossy1" + + UIConstraints "*PageSize 8.5x13 *MediaType Brochure" + UIConstraints "*PageSize A4 *MediaType Brochure" + UIConstraints "*PageSize A5 *MediaType Brochure" + UIConstraints "*PageSize JB5 *MediaType Brochure" + UIConstraints "*PageSize B5 *MediaType Brochure" + UIConstraints "*PageSize EnvC6 *MediaType Brochure" + UIConstraints "*PageSize EnvChou3 *MediaType Brochure" + UIConstraints "*PageSize EnvMonarch *MediaType Brochure" + UIConstraints "*PageSize Env10 *MediaType Brochure" + UIConstraints "*PageSize EnvDL *MediaType Brochure" + UIConstraints "*PageSize EnvC5 *MediaType Brochure" + UIConstraints "*PageSize Executive *MediaType Brochure" + UIConstraints "*PageSize Card4x6 *MediaType Brochure" + UIConstraints "*PageSize Card5x8 *MediaType Brochure" + UIConstraints "*PageSize CardA4 *MediaType Brochure" + UIConstraints "*PageSize CardLetter *MediaType Brochure" + UIConstraints "*PageSize Letter *MediaType Brochure" + UIConstraints "*PageSize Legal *MediaType Brochure" + UIConstraints "*PageSize Statement *MediaType Brochure" + + UIConstraints "*PageSize 8.5x13 *MediaType Brochure1" + UIConstraints "*PageSize A4 *MediaType Brochure1" + UIConstraints "*PageSize A5 *MediaType Brochure1" + UIConstraints "*PageSize JB5 *MediaType Brochure1" + UIConstraints "*PageSize B5 *MediaType Brochure1" + UIConstraints "*PageSize EnvC6 *MediaType Brochure1" + UIConstraints "*PageSize EnvChou3 *MediaType Brochure1" + UIConstraints "*PageSize EnvMonarch *MediaType Brochure1" + UIConstraints "*PageSize Env10 *MediaType Brochure1" + UIConstraints "*PageSize EnvDL *MediaType Brochure1" + UIConstraints "*PageSize EnvC5 *MediaType Brochure1" + UIConstraints "*PageSize Executive *MediaType Brochure1" + UIConstraints "*PageSize Card4x6 *MediaType Brochure1" + UIConstraints "*PageSize Card5x8 *MediaType Brochure1" + UIConstraints "*PageSize CardA4 *MediaType Brochure1" + UIConstraints "*PageSize CardLetter *MediaType Brochure1" + UIConstraints "*PageSize Letter *MediaType Brochure1" + UIConstraints "*PageSize Legal *MediaType Brochure1" + UIConstraints "*PageSize Statement *MediaType Brochure1" + + + + // 4x6 or smaller + CustomMedia "Card4x6/Index Card 4x6in" 288 432 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "PhotoL/Photo L 89x127mm" 252 360 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo4x6.FB/Borderless Photo 4x6in" 288 432 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "A6/A6 105x148mm" 297.63 419.52 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "A6.FB/A6 Borderless 105x148mm" 297.63 419.52 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Statement/Statement 5.5x8.5in" 396 612 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + + // 5x7 + CustomMedia "Photo5x7/Photo 5x7in" 360 504 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo5x7.FB/Photo Borderless 5x7in" 360 504 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Card5x8/Index Card 5x8in" 360 576 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "A5/A5 148x210mm" 419.52 595.27 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "A5.FB/A5 Borderless 148x210mm" 419.52 595.27 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo2L/2L 127x178mm" 360 504 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo2L.FB/2L Borderless 127x178mm" 360 504 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Oufuku/Oufuku-Hagaki 200x148mm" 566.92 419.52 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + + + // Standard + CustomMedia "Postcard/Postcard" 283 420 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 283 420 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Hagaki.Duplex/Hagaki AutoDuplex 100x148mm" 283 420 8.4 0 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "JB5/JB5 182x257mm" 515.90 728.50 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "JB5.Duplex/JB5 AutoDuplex 182x257mm" 515.90 728.50 8.4 0 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "JB5.FB/JB5 Borderless 182x257mm" 515.90 728.50 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "B5/B5 176x250mm" 498.96 708.48 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "B5.Duplex/B5 AutoDuplex 176x250mm" 498.96 699.48 8.4 0 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Executive/Executive 7.25x10.5in" 522 756 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Executive.Duplex/Executive AutoDuplex 7.25x10.5in" 522 756 8.4 0 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + *CustomMedia "Letter/Letter 8.5x11in" 612 792 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 792 8.4 0 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Letter.FB/Letter Borderless 8.5x11in" 612 792 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "CardLetter/Index Card Letter 8.5x11in" 612 792 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.27 841.88 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595.27 841.88 8.4 0 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 595.27 841.88 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "CardA4/Index Card A4 210x297mm" 595.27 841.88 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Legal/Legal 8.5x14in" 612 1008 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo10x15/Photo 10x15cm" 288 432 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo10x15.FB/Borderless Photo 10x15cm" 288 432 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo13x18/Photo 13x18cm" 360 504 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo13x18.FB/Photo Borderless 13x18in" 360 504 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo8x10/Photo 8x10in" 576 720 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Photo8x10.FB/Borderless Photo 8x10in" 576 720 0 0 0 0 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "8.5x13/8.5x13in" 612 936 8.4 8.4 8.4 8.4 "<>setpagedevice" + "<>setpagedevice" + + + // Envelope + CustomMedia "Env10/#10 Envelope 4.125x9.5in" 297 684 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvA2/A2 Envelope 4.37x5.75in" 314.64 414 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvC5/C5 Envelope 162x229mm" 459.36 649.44 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvC6/C6 Envelope 114x162mm" 323.28 459.36 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvDL/DL Envelope 110x220mm" 311.76 623.52 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvMonarch/Monarch Envelope 3.875x7.5in" 279 540 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvChou3/#3 Japanese Envelope 120x235mm" 339.84 666 8.4 46.8 8.4 46.8 "<>setpagedevice" + "<>setpagedevice" + + + // Custom page sizes from 1x4in to legal + HWMargins 8.4 8.4 8.4 8.4 + VariablePaperSize Yes + MinSize 3in 4in + MaxSize 8.5in 23in + + // <%CopperheadIPH:Normal%> + { + ModelName "HP Envy 5640 Series" + Attribute "NickName" "" "HP Envy 5640 Series, hpcups $Version" + Attribute "ShortNickName" "" "HP Envy 5640 Series" + Attribute "1284DeviceID" "" "MFG:HP;MDL:envy 5640 series;DES:envy 5640 series;" + PCFileName "hp-envy_5640_series.ppd" + Attribute "Product" "" "(HP Envy 5640 E-all-in-one)" + Attribute "Product" "" "(HP Envy 5642 E-all-in-one)" + Attribute "Product" "" "(HP Envy 5643 E-all-in-one)" + Attribute "Product" "" "(HP Envy 5644 E-all-in-one)" + } + { + ModelName "HP Envy 5660 Series" + Attribute "NickName" "" "HP Envy 5660 Series, hpcups $Version" + Attribute "ShortNickName" "" "HP Envy 5660 Series" + Attribute "1284DeviceID" "" "MFG:HP;MDL:envy 5660 series;DES:envy 5660 series;" + PCFileName "hp-envy_5660_series.ppd" + Attribute "Product" "" "(HP Envy 5660 E-all-in-one)" + Attribute "Product" "" "(HP Envy 5665 E-all-in-one)" + } + { + ModelName "HP Officejet 5740 Series" + Attribute "NickName" "" "HP Officejet 5740 Series, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet 5740 Series" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5740 series;DES:officejet 5740 series;" + PCFileName "hp-officejet_5740_series.ppd" + Attribute "Product" "" "(HP Officejet 5740 E-all-in-one)" + Attribute "Product" "" "(HP Officejet 5742 E-all-in-one)" + Attribute "Product" "" "(HP Officejet 5745 E-all-in-one)" + } + { + ModelName "HP Envy 7640 Series" + Attribute "NickName" "" "HP Envy 7640 Series, hpcups $Version" + Attribute "ShortNickName" "" "HP Envy 7640 Series" + Attribute "1284DeviceID" "" "MFG:HP;MDL:envy 7640 series;DES:envy 7640 series;" + PCFileName "hp-envy_7640_series.ppd" + Attribute "Product" "" "(HP Envy 7640 E-all-in-one)" + Attribute "Product" "" "(HP Envy 7645 E-all-in-one)" + } + { + ModelName "HP Officejet 8040 Series" + Attribute "NickName" "" "HP Officejet 8040 Series, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet 8040 Series" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 8040 series;DES:officejet 8040 series;" + PCFileName "hp-officejet_8040_series.ppd" + Attribute "Product" "" "(HP Officejet 8040 Series)" + } + +} // End CopperheadIPH + + +//////// Saipan +{ + Attribute "hpPrinterLanguage" "" "pcl3gui2" Attribute "HPMechOffset" "" "130" @@ -5206,14 +5932,14 @@ *Choice "RGB/Color" "<>setpagedevice" Choice "CMYGray/High Quality Grayscale" "<>setpagedevice" Choice "KGray/Black Only Grayscale" "<>setpagedevice" - + // cupsMediaType values map to MEDIATYPE from global_types.h Option "MediaType/Media Type" PickOne AnySetup 10.0 *Choice "Plain/Plain Paper" "<>setpagedevice" Choice "Glossy/Photo Paper" "<>setpagedevice" //Choice "TransparencyFilm/Transparency Film" "<>setpagedevice" - - + + // cupsCompression values map to QUALITY_MODE from global_types.h Option "OutputMode/Print Quality" PickOne AnySetup 10.0 *Choice "Normal/Normal" "<>setpagedevice" @@ -5221,7 +5947,7 @@ Choice "Best/Best" "<>setpagedevice" Choice "Photo/High-Resolution Photo" "<>setpagedevice" - + Option "InputSlot/Media Source" PickOne AnySetup 10.0 *Choice "Tray1/Tray 1" "<>setpagedevice" @@ -5232,7 +5958,7 @@ //UIConstraints "*MediaType TransparencyFilm *OutputMode Draft" //UIConstraints "*MediaType TransparencyFilm *OutputMode Best" //UIConstraints "*MediaType TransparencyFilm *OutputMode Photo" - + // 4x6 or smaller CustomMedia "Card3x5/Index Card 3x5in" 216 360 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" @@ -5242,12 +5968,12 @@ "<>setpagedevice" CustomMedia "L.FB/Borderless Photo L 89x127mm" 265.032 374.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.36 9.36 9.36 9.36 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6.FB/Borderless Photo 4x6in" 303.552 446.112 0 0 0 0 "<>setpagedevice" + CustomMedia "Photo4x6.FB/Borderless Photo 4x6in" 303.552 446.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.65 419.54 9.36 9.36 9.36 9.36 "<>setpagedevice" - "<>setpagedevice" + "<>setpagedevice" CustomMedia "A6.FB/A6 Borderless 105x148mm" 310.392 433.656 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "Hagaki/Hagaki card 100x148mm" 283.46 419.54 9.36 9.36 9.36 9.36 "<>setpagedevice" @@ -5256,7 +5982,7 @@ "<>setpagedevice" CustomMedia "Photo3x5/Photo 3x5in" 216 360 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" - + // 5x7 CustomMedia "Photo5x7/Photo 5x7in" 360 504 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" @@ -5274,7 +6000,7 @@ "<>setpagedevice" CustomMedia "Ofuku/Ofuku-Hagaki 200x148mm" 566.92 419.54 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" - + // Standard CustomMedia "Photo2L.FB/2L Borderless 127x178mm" 372.81 518.328 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -5294,11 +6020,11 @@ "<>setpagedevice" CustomMedia "CardLetter/Index Card Letter 8.5x11in" 612 792 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.29 841.89 9.36 9.36 9.36 9.36 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.29 841.89 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.848 856.008 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.848 856.008 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "CardA4/Index Card A4 210x297mm" 595.44 841.68 9.36 9.36 9.36 9.36 "<>setpagedevice" + CustomMedia "CardA4/Index Card A4 210x297mm" 595.44 841.68 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" CustomMedia "Legal/Legal 8.5x14in" 612 1008 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" @@ -5313,8 +6039,8 @@ CustomMedia "8x10.FB/Borderless 8x10in" 591.552 734.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "8.5x13/8.5x13in" 612 936 9.36 9.36 9.36 9.36 "<>setpagedevice" - "<>setpagedevice" - + "<>setpagedevice" + // Envelope CustomMedia "EnvA2/A2 Envelope 4.37x5.75in" 314.64 413.856 9.36 46.8 9.36 46.8 "<>setpagedevice" "<>setpagedevice" @@ -5397,7 +6123,7 @@ UIConstraints "*PageSize Executive *Duplex" UIConstraints "*PageSize Photo8x10 *Duplex" UIConstraints "*PageSize 8x10.FB *Duplex" - UIConstraints "*PageSize Letter.FB *Duplex" + UIConstraints "*PageSize Letter.FB *Duplex" UIConstraints "*PageSize A4.FB *Duplex" UIConstraints "*PageSize Legal *Duplex" UIConstraints "*PageSize EnvA2 *Duplex" @@ -5411,7 +6137,7 @@ UIConstraints "*PageSize EnvC5 *Duplex" UIConstraints "*PageSize Statement *Duplex" UIConstraints "*PageSize Photo10x15 *Duplex" - UIConstraints "*PageSize Photo10x15.FB *Duplex" + UIConstraints "*PageSize Photo10x15.FB *Duplex" UIConstraints "*PageSize Photo13x18 *Duplex" UIConstraints "*PageSize Photo13x18.FB *Duplex" UIConstraints "*PageSize 6X8 *Duplex" @@ -5421,11 +6147,11 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 792 9.36 33.192 9.36 42.552 "<>setpagedevice" "<>setpagedevice" - CustomMedia "CardA4.Duplex/Index Card A4 210x297mm AutoDuplex" 595.44 841.68 9.36 33.192 9.36 42.552 "<>setpagedevice" + CustomMedia "CardA4.Duplex/Index Card A4 210x297mm AutoDuplex" 595.44 841.68 9.36 33.192 9.36 42.552 "<>setpagedevice" "<>setpagedevice" CustomMedia "CardLetter.Duplex/Index Card Letter 8.5x11in AutoDuplex" 612 792 9.36 33.192 9.36 42.552 "<>setpagedevice" "<>setpagedevice" - + // <%Saipan:AutoDuplex%> { ModelName "HP Officejet 6700" @@ -5435,7 +6161,7 @@ PCFileName "hp-officejet_6700.ppd" Attribute "Product" "" "(HP Officejet 6700 Premium E-all-in-one printer-h711n)" } - + { // Large Media and Small margins @@ -5463,7 +6189,8 @@ "<>setpagedevice" CustomMedia "Env6/#6 Envelope 3.63x6.5in" 261.36 468 9.36 46.8 9.36 46.8 "<>setpagedevice" "<>setpagedevice" - + + // <%Saipan:Advanced%> { ModelName "HP Officejet 7110 Series" @@ -5480,10 +6207,11 @@ Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 7610 series;DES:officejet 7610 series;" PCFileName "hp-officejet_7610_series.ppd" Attribute "Product" "" "(HP Officejet 7610 Wide Format E-all-in-one Printer)" + Attribute "Product" "" "(HP Officejet 7612 Wide Format E-all-in-one Printer)" } } } - + } // End Saipan @@ -5636,6 +6364,7 @@ } // End Kapan + //////// Python11 { Attribute "cupsEvenDuplex" "" "True" @@ -5663,7 +6392,7 @@ Choice "Plain/Plain Paper" "<>setpagedevice" Choice "Glossy/Photo Paper" "<>setpagedevice" Choice "TransparencyFilm/Transparency Film" "<>setpagedevice" - + Option "OutputMode/Print Quality" PickOne AnySetup 10.0 Choice "Auto/Automatic" "<>setpagedevice" Choice "FastDraft/Fast Draft" "<>setpagedevice" @@ -5756,13 +6485,13 @@ "<>setpagedevice" CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 296.424 433.872 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6in" 303.552 446.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6tab/Photo 4x6in (tab)" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6tab/Photo 4x6in (tab)" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6tab.FB/Photo Borderless 4x6in (tab)" 303.55 446.11 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -5812,9 +6541,9 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 783 9 33.192 9 42.192 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595.44 832.68 9 33.192 9 42.192 "<>setpagedevice" "<>setpagedevice" @@ -5866,7 +6595,7 @@ UIConstraints "*PageSize Cabinet.FB *Duplex" UIConstraints "*PageSize Cabinet.FB *OutputMode FastDraft" - CustomMedia "Cabinet/Cabinet Size 165x120mm" 339.84 468 9 9 9 9 "<>setpagedevice" + CustomMedia "Cabinet/Cabinet Size 165x120mm" 339.84 468 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Cabinet.FB/Cabinet Size 120x165 Borderless" 352.584 482.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -5897,7 +6626,7 @@ Attribute "Product" "" "(HP Photosmart 7525 E-all-in-one)" } } - + } // End Python11 @@ -5961,7 +6690,7 @@ "<>setpagedevice" CustomMedia "PhotoL.FB/Photo Borderless 3.5x5in" 264.74 370.36 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6in" 303.55 442.36 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -6005,9 +6734,9 @@ "<>setpagedevice" CustomMedia "Letter.FB/Letter Borderless 8.5x11in" 627.55 802.36 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.99 852.04 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.99 852.04 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "Legal/Legal 8.5x14in" 612 1008 9 9 9 9 "<>setpagedevice" "<>setpagedevice" @@ -6099,14 +6828,6 @@ Attribute "Product" "" "(HP Photosmart d110 Series Printer)" } { - ModelName "HP Photosmart Ink Adv k510" - Attribute "NickName" "" "HP Photosmart Ink Adv k510, hpcups $Version" - Attribute "ShortNickName" "" "HP Photosmart Ink Adv k510" - Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart ink adv k510;DES:photosmart ink adv k510;" - PCFileName "hp-photosmart_ink_adv_k510.ppd" - Attribute "Product" "" "(HP Photosmart Ink Adv k510)" - } - { ModelName "HP Officejet 4400 k410" Attribute "NickName" "" "HP Officejet 4400 k410, hpcups $Version" Attribute "ShortNickName" "" "HP Officejet 4400 k410" @@ -6200,6 +6921,14 @@ Attribute "Product" "" "(HP Photosmart c4799 All-in-one Printer)" } { + ModelName "HP Photosmart Ink Adv k510" + Attribute "NickName" "" "HP Photosmart Ink Adv k510, hpcups $Version" + Attribute "ShortNickName" "" "HP Photosmart Ink Adv k510" + Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart ink adv k510;DES:photosmart ink adv k510;" + PCFileName "hp-photosmart_ink_adv_k510.ppd" + Attribute "Product" "" "(HP Photosmart Ink Adv k510)" + } + { ModelName "HP Deskjet d5500 Series" Attribute "NickName" "" "HP Deskjet d5500 Series, hpcups $Version" Attribute "ShortNickName" "" "HP Deskjet d5500 Series" @@ -6256,11 +6985,11 @@ // 4x6 or smaller CustomMedia "Card3x5/Index Card 3x5in" 216 360 9 36 9 4.968 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6/Card 4x6in" 288 432 9 36 9 4.968 "<>setpagedevice" + CustomMedia "Card4x6/Card 4x6in" 288 432 9 36 9 4.968 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 36 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 36 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6tab/Photo 4x6in (tab)" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6tab/Photo 4x6in (tab)" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6tab.FB/Photo Borderless 4x6in (tab)" 303.55 443.01 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -6288,7 +7017,7 @@ "<>setpagedevice" *CustomMedia "Letter/Letter 8.5x11in" 612 792 9 36 9 4.968 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 36 9 4.968 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 36 9 4.968 "<>setpagedevice" "<>setpagedevice" CustomMedia "Legal/Legal 8.5x14in" 612 1008 18 36 18 4.968 "<>setpagedevice" "<>setpagedevice" @@ -6428,7 +7157,7 @@ "<>setpagedevice" CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 296.42 430.12 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6in" 303.55 442.36 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -6486,9 +7215,9 @@ "<>setpagedevice" CustomMedia "Letter.FB/Letter Borderless 8.5x11in" 627.55 802.36 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.99 852.04 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.99 852.04 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "Legal/Legal 8.5x14in" 612 1008 9 9 9 9 "<>setpagedevice" "<>setpagedevice" @@ -6606,11 +7335,11 @@ // 4x6 or smaller CustomMedia "Card3x5/Index Card 3x5in" 216 360 9 36 9 4.968 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6/Card 4x6in" 288 432 9 36 9 4.968 "<>setpagedevice" + CustomMedia "Card4x6/Card 4x6in" 288 432 9 36 9 4.968 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 36 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 36 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6tab/Photo 4x6in (tab)" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6tab/Photo 4x6in (tab)" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6tab.FB/Photo Borderless 4x6in (tab)" 303.55 443.01 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -6638,7 +7367,7 @@ "<>setpagedevice" *CustomMedia "Letter/Letter 8.5x11in" 612 792 9 36 9 4.968 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 36 9 4.968 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 36 9 4.968 "<>setpagedevice" "<>setpagedevice" CustomMedia "Legal/Legal 8.5x14in" 612 1008 18 36 18 4.968 "<>setpagedevice" "<>setpagedevice" @@ -6701,7 +7430,7 @@ *Choice "Auto/Auto-Select" "<>setpagedevice" Choice "Tray1/Tray 1" "<>setpagedevice" Choice "Tray2/Tray 2" "<>setpagedevice" - + Option "ColorModel/Output Mode" PickOne AnySetup 10.0 *Choice "RGB/Color" "<>setpagedevice" Choice "CMYGray/High Quality Grayscale" "<>setpagedevice" @@ -6760,7 +7489,7 @@ UIConstraints "*PageSize EnvChou4 *Duplex" UIConstraints "*PageSize EnvMonarch *Duplex" UIConstraints "*PageSize EnvCard *Duplex" - + // Constraint FB and Draft UIConstraints "*PageSize L.FB *OutputMode Draft" UIConstraints "*PageSize Hagaki.FB *OutputMode Draft" @@ -6798,11 +7527,11 @@ "<>setpagedevice" CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 296.64 430.2 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6/Index Card 4x6in" 288 432 9.36 9.36 9.36 9.36 "<>setpagedevice" + CustomMedia "Card4x6/Index Card 4x6in" 288 432 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6.Duplex/Index Card AutoDuplex 4x6in" 288 423 9.36 25.56 9.36 34.56 "<>setpagedevice" + CustomMedia "Card4x6.Duplex/Index Card AutoDuplex 4x6in" 288 423 9.36 25.56 9.36 34.56 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.36 9.36 9.36 9.36 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6in" 300.96 442.44 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -6863,9 +7592,9 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 783 9.36 24.84 9.36 33.84 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.36 9.36 9.36 9.36 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 608.4 852.84 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 608.4 852.84 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595.44 832.68 9.36 24.84 9.36 33.84 "<>setpagedevice" "<>setpagedevice" @@ -6969,7 +7698,7 @@ *Choice "Auto/Auto-Select" "<>setpagedevice" Choice "Tray1/Tray 1" "<>setpagedevice" Choice "Tray2/Tray 2" "<>setpagedevice" - + Option "ColorModel/Output Mode" PickOne AnySetup 10.0 *Choice "RGB/Color" "<>setpagedevice" Choice "CMYGray/High Quality Grayscale" "<>setpagedevice" @@ -6996,7 +7725,7 @@ UIConstraints "*MediaType Plain *OutputMode Photo" UIConstraints "*MediaType Glossy *OutputMode Draft" UIConstraints "*MediaType TransparencyFilm *OutputMode Draft" - + // Constraints //UIConstraints "*Duplex *OptionDuplex False" @@ -7033,9 +7762,9 @@ "<>setpagedevice" CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 296 430 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6/Index Card 4x6in" 288 432 9.36 9.36 9.36 9.36 "<>setpagedevice" + CustomMedia "Card4x6/Index Card 4x6in" 288 432 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.36 9.36 9.36 9.36 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6in" 301 442 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -7095,19 +7824,19 @@ "<>setpagedevice" CustomMedia "CardLetter/Index Card Letter 8.5x11in" 612 792 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.296 841.896 9.36 9.36 9.36 9.36 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.296 841.896 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 608 853 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 608 853 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595.296 841.896 9.36 7.92 9.36 17.28 "<>setpagedevice" "<>setpagedevice" - CustomMedia "CardA4/Index Card A4 210x297mm" 595.44 841.68 9.36 9.36 9.36 9.36 "<>setpagedevice" + CustomMedia "CardA4/Index Card A4 210x297mm" 595.44 841.68 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" CustomMedia "8.5x13/8.5x13in" 612 936 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" CustomMedia "Legal/Legal 8.5x14in" 612 1008 9.36 9.36 9.36 9.36 "<>setpagedevice" "<>setpagedevice" - + // Envelope CustomMedia "EnvA2/A2 Envelope 4.37x5.75in" 314.64 413.856 9.36 46.8 9.36 9.36 "<>setpagedevice" "<>setpagedevice" @@ -7162,6 +7891,7 @@ PCFileName "hp-officejet_pro_8610.ppd" Attribute "Product" "" "(HP Officejet Pro 8610 E-all-in-one Printer)" Attribute "Product" "" "(HP Officejet Pro 8615 E-all-in-one Printer)" + Attribute "Product" "" "(HP Officejet Pro 8616 E-all-in-one Printer)" } { ModelName "HP Officejet Pro 8620" @@ -7330,11 +8060,11 @@ "<>setpagedevice" CustomMedia "Hagaki.Duplex/Hagaki AutoDuplex 100x148mm" 283.68 410.76 9 0 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6.Duplex/Index Card AutoDuplex 4x6in" 288 423 9 0 9 9 "<>setpagedevice" + CustomMedia "Card4x6.Duplex/Index Card AutoDuplex 4x6in" 288 423 9 0 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6in" 303.552 446.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -7398,9 +8128,9 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 783 9 33.192 9 42.192 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595.44 832.68 9 33.192 9 42.192 "<>setpagedevice" "<>setpagedevice" @@ -7592,11 +8322,11 @@ "<>setpagedevice" CustomMedia "Hagaki.Duplex/Hagaki AutoDuplex 100x148mm" 283.68 410.76 9 0 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6.Duplex/Index Card AutoDuplex 4x6in" 288 423 9 0 9 9 "<>setpagedevice" + CustomMedia "Card4x6.Duplex/Index Card AutoDuplex 4x6in" 288 423 9 0 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6in" 303.552 446.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -7660,9 +8390,9 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 783 9 33.192 9 42.192 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595.44 832.68 9 33.192 9 42.192 "<>setpagedevice" "<>setpagedevice" @@ -7845,11 +8575,11 @@ "<>setpagedevice" CustomMedia "Hagaki.Duplex/Hagaki AutoDuplex 100x148mm" 283.68 410.76 9 0 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6.Duplex/Index Card AutoDuplex 4x6in" 288 423 9 0 9 9 "<>setpagedevice" + CustomMedia "Card4x6.Duplex/Index Card AutoDuplex 4x6in" 288 423 9 0 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6in" 303.552 446.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -7913,9 +8643,9 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 783 9 33.192 9 42.192 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595.44 832.68 9 33.192 9 42.192 "<>setpagedevice" "<>setpagedevice" @@ -8046,9 +8776,9 @@ "<>setpagedevice" CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 296.424 433.872 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6in" 303.552 446.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -8098,9 +8828,9 @@ "<>setpagedevice" CustomMedia "Letter.FB/Letter Borderless 8.5x11in" 627.552 806.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "Legal/Legal 8.5x14in" 612 1008 9 9 9 9 "<>setpagedevice" "<>setpagedevice" @@ -8231,9 +8961,9 @@ "<>setpagedevice" CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 296.424 433.872 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6in" 303.552 446.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -8283,9 +9013,9 @@ "<>setpagedevice" CustomMedia "Letter.FB/Letter Borderless 8.5x11in" 627.552 806.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "Legal/Legal 8.5x14in" 612 1008 9 9 9 9 "<>setpagedevice" "<>setpagedevice" @@ -8421,9 +9151,9 @@ "<>setpagedevice" CustomMedia "JB7.FB/JB7 Borderless 91x128mm" 271.872 376.992 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6in" 303.552 446.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -8476,7 +9206,7 @@ "<>setpagedevice" CustomMedia "Photo4x12.FB/Photo Borderless 4x12in" 307.8 878.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - + // Standard CustomMedia "B5/B5 176x250mm" 498.96 708.48 9 9 9 9 "<>setpagedevice" @@ -8495,15 +9225,15 @@ "<>setpagedevice" CustomMedia "Letter.FB/Letter Borderless 8.5x11in" 627.552 806.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "Legal/Legal 8.5x14in" 612 1008 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "DoubleA4/Double A4 210x594mm" 595.44 1684.08 9 9 9 9 "<>setpagedevice" + CustomMedia "DoubleA4/Double A4 210x594mm" 595.44 1684.08 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "DoubleA4.FB/Double A4 Borderless 210x594mm" 621.648 1698.192 0 0 0 0 "<>setpagedevice" + CustomMedia "DoubleA4.FB/Double A4 Borderless 210x594mm" 621.648 1698.192 0 0 0 0 "<>setpagedevice" "<>setpagedevice" // Envelope @@ -8530,7 +9260,7 @@ CustomMedia "EnvKaku2/#2 Envelope Kaku 240x332mm" 680.40 941.04 9 42.192 9 9 "<>setpagedevice" "<>setpagedevice" - { + { // Large Media CustomMedia "11x14/11x14in" 792 1008 9 9 9 9 "<>setpagedevice" "<>setpagedevice" @@ -8561,7 +9291,7 @@ // Custom page sizes from 3x4in to 13x44in HWMargins 9 9 9 9 VariablePaperSize Yes - MinSize 3in 4in + MinSize 3in 4in MaxSize 13in 44in // <%Python:LargeFormatA3:NoAutoDuplex%> @@ -8608,7 +9338,6 @@ } // End Python B-size - //////// Python10 { Attribute "cupsEvenDuplex" "" "True" @@ -8722,9 +9451,9 @@ "<>setpagedevice" CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 296.424 433.872 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6in" 303.552 446.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -8782,9 +9511,9 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 783 9 33.192 9 42.192 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595.44 832.68 9 33.192 9 42.192 "<>setpagedevice" "<>setpagedevice" @@ -8819,16 +9548,16 @@ MinSize 3in 4in MaxSize 8.5in 30in - //Python10 with NoCDDVD + //Python10 with NoCDDVD { // MediaPosition values map to MediaSource enumeration in global_types.h Option "InputSlot/Media Source" PickOne AnySetup 10.0 *Choice "Auto/Auto-Select" "<>setpagedevice" Choice "PhotoTray/Photo Tray" "<>setpagedevice" Choice "Upper/Main Tray" "<>setpagedevice" - + //With NoMaxDPI - { + { // cupsCompression values map to QUALITY_MODE from global_types.h Option "OutputMode/Print Quality" PickOne AnySetup 10.0 Choice "Auto/Automatic" "<>setpagedevice" @@ -8865,14 +9594,14 @@ } //NOCDDVD Block Ends - //Python10 with NoAutoTray + //Python10 with NoAutoTray { // MediaPosition values map to MediaSource enumeration in global_types.h Option "InputSlot/Media Source" PickOne AnySetup 10.0 Choice "Main/Main Tray" "<>setpagedevice" - + //With MaxDPI as 1200x1200 - { + { // cupsCompression values map to QUALITY_MODE from global_types.h Option "OutputMode/Print Quality" PickOne AnySetup 10.0 Choice "Auto/Automatic" "<>setpagedevice" @@ -8893,7 +9622,7 @@ } } //NoAutoTray Block Ends - + } // End Python10 @@ -8936,12 +9665,12 @@ *Choice "Normal/Normal" "<>setpagedevice" Choice "Best/Best" "<>setpagedevice" Choice "Photo/High-Resolution Photo" "<>setpagedevice" - Choice "FastDraft/Fast Draft" "<>setpagedevice" + Choice "FastDraft/Fast Draft" "<>setpagedevice" // Duplexer is optional... Installable "OptionDuplex/Duplexer Installed" - + // Constraints //UIConstraints "*Duplex *OptionDuplex False" @@ -9013,13 +9742,13 @@ "<>setpagedevice" CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6.Duplex/Index Card AutoDuplex 4x6in" 288 423 9 27 9 36 "<>setpagedevice" + CustomMedia "Card4x6.Duplex/Index Card AutoDuplex 4x6in" 288 423 9 27 9 36 "<>setpagedevice" "<>setpagedevice" CustomMedia "L/L 89x127mm" 252 360 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "L.FB/L Borderless 89x127mm" 264.74 370.36 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6in" 303.55 442.36 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -9075,11 +9804,11 @@ "<>setpagedevice" CustomMedia "Letter.FB/Letter Borderless 8.5x11in" 627.55 802.36 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595.44 832.68 9 27 9 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.99 852.04 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.99 852.04 0 0 0 0 "<>setpagedevice" "<>setpagedevice" // Envelope @@ -9434,8 +10163,13 @@ Attribute "1284DeviceID" "" "MFG:HP;MDL:envy 4500 series;DES:envy 4500 series;" PCFileName "hp-envy_4500_series.ppd" Attribute "Product" "" "(HP Envy 4500 E-all-in-one)" + Attribute "Product" "" "(HP Envy 4501 E-all-in-one)" Attribute "Product" "" "(HP Envy 4502 E-all-in-one)" + Attribute "Product" "" "(HP Envy 4503 E-all-in-one)" Attribute "Product" "" "(HP Envy 4504 E-all-in-one)" + Attribute "Product" "" "(HP Envy 4505 E-all-in-one)" + Attribute "Product" "" "(HP Envy 4507 E-all-in-one)" + Attribute "Product" "" "(HP Envy 4508 E-all-in-one)" } { ModelName "HP Deskjet 4510 Series" @@ -9477,9 +10211,10 @@ Attribute "1284DeviceID" "" "MFG:HP;MDL:envy 5530 series;DES:envy 5530 series;" PCFileName "hp-envy_5530_series.ppd" Attribute "Product" "" "(HP Envy 5530 E-all-in-one Printer)" - Attribute "Product" "" "(HP Envy 5535 E-all-in-one Printer)" - Attribute "Product" "" "(HP Envy 5532 E-all-in-one Printer)" Attribute "Product" "" "(HP Envy 5531 E-all-in-one Printer)" + Attribute "Product" "" "(HP Envy 5532 E-all-in-one Printer)" + Attribute "Product" "" "(HP Envy 5534 E-all-in-one Printer)" + Attribute "Product" "" "(HP Envy 5535 E-all-in-one Printer)" } } // End MimasTDR @@ -9517,7 +10252,7 @@ // 4x6 or smaller CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 41.04 9 4.32 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 41.04 9 4.32 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 41.04 9 4.32 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6tab/Photo 4x6in (tab)" 288 432 9 41.04 9 4.32 "<>setpagedevice" "<>setpagedevice" @@ -9735,6 +10470,7 @@ Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 2540 series;DES:deskjet 2540 series;" PCFileName "hp-deskjet_2540_series.ppd" Attribute "Product" "" "(HP Deskjet 2540 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet 2541 All-in-one Printer)" Attribute "Product" "" "(HP Deskjet 2542 All-in-one Printer)" Attribute "Product" "" "(HP Deskjet 2543 All-in-one Printer)" Attribute "Product" "" "(HP Deskjet 2544 All-in-one Printer)" @@ -9826,10 +10562,10 @@ CustomMedia "Card5x8/Index Card 5x8in" 360 576 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6tab/Photo 4x6in (tab)" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6tab/Photo 4x6in (tab)" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo10x15/Photo 10x15cm" 288 432 9 9 9 9 "<>setpagedevice" @@ -9881,7 +10617,7 @@ CustomMedia "Legal/Legal 8.5x14in" 612 1008 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" *CustomMedia "Letter/Letter 8.5x11in" 612 792 9 9 9 9 "<>setpagedevice" @@ -9936,7 +10672,7 @@ CustomMedia "8x10.FB/Borderless 8x10in" 591.552 734.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "Letter.FB/Letter Borderless 8.5x11in" 627.552 806.112 0 0 0 0 "<>setpagedevice" @@ -10049,9 +10785,9 @@ "<>setpagedevice" CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 296.424 433.872 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Card4x6/Index Card 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6in" 303.552 446.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -10103,9 +10839,9 @@ "<>setpagedevice" CustomMedia "Letter.FB/Letter Borderless 8.5x11in" 627.552 806.112 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 610.992 855.792 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "Legal/Legal 8.5x14in" 612 1008 9 9 9 9 "<>setpagedevice" "<>setpagedevice" @@ -10128,7 +10864,7 @@ CustomMedia "EnvKaku2/#2 Envelope Kaku 240x332mm" 680.40 941.04 9 42.192 9 9 "<>setpagedevice" "<>setpagedevice" - { + { // Large Media CustomMedia "11x14/11x14in" 792 1008 14.184 56.736 14.184 56.736 "<>setpagedevice" "<>setpagedevice" @@ -10161,7 +10897,7 @@ // Custom page sizes from 3x4in to 13x44in HWMargins 9 9 9 9 VariablePaperSize Yes - MinSize 3in 4in + MinSize 3in 4in MaxSize 13in 44in // <%OJ7000:LargeFormatA3%> @@ -10183,7 +10919,7 @@ } } // End Large format media sizes with full bleed - { + { // Large Media and Small Margins CustomMedia "11x14/11x14in" 792 1008 14.184 56.736 14.184 56.736 "<>setpagedevice" "<>setpagedevice" @@ -10233,7 +10969,7 @@ // Custom page sizes from 3x4in to 13x44in HWMargins 9 9 9 9 VariablePaperSize Yes - MinSize 3in 5in + MinSize 3in 5in MaxSize 13in 44in // <%OJ7000:LargeFormatA3:SmallMargins%> @@ -10339,7 +11075,7 @@ UIConstraints "*PageSize EnvChou4 *Duplex" UIConstraints "*PageSize EnvMonarch *Duplex" - Attribute "cupsModelName" "" "Officejet Pro K5400" // APDK device class + Attribute "cupsModelName" "" "Officejet Pro K5400" // APDK device class // Supported media sizes with no full bleed // 4x6 or smaller @@ -10349,7 +11085,7 @@ "<>setpagedevice" CustomMedia "Hagaki.Duplex/Hagaki AutoDuplex 100x148mm" 284 411 9 27 9 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 9 9 9 9 "<>setpagedevice" "<>setpagedevice" @@ -10391,7 +11127,7 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 783 9 27 9 36 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595 833 9 27 9 36 "<>setpagedevice" "<>setpagedevice" @@ -10554,7 +11290,7 @@ } // End Supported media sizes with no full bleed. - { + { // Large format UIConstraints "*PageSize A3 *Duplex" UIConstraints "*PageSize B4 *Duplex" @@ -10582,7 +11318,7 @@ // Custom page sizes from 1x4in to SuperB HWMargins 9 36 9 36 VariablePaperSize Yes - MinSize 1in 4in + MinSize 1in 4in MaxSize 936 1368 // <%DJGenericVIP:LargeFormatSuperB:NoFullBleed%> @@ -10605,7 +11341,7 @@ Attribute "Product" "" "(HP Officejet Pro k850 Printer)" Attribute "Product" "" "(HP Officejet Pro k850dn Printer)" } - + } // End Large format media sizes no full bleed. } // End OJProKx50 and DJGenericVIP with no fullbleed @@ -10666,7 +11402,7 @@ UIConstraints "*MediaType Glossy *OutputMode DraftGray" UIConstraints "*MediaType Plain *OutputMode Photo" - Attribute "cupsModelName" "" "deskjet 3320" // APDK device class + Attribute "cupsModelName" "" "deskjet 3320" // APDK device class { // 4x6 or smaller @@ -10674,7 +11410,7 @@ "<>setpagedevice" CustomMedia "Hagaki/Hagaki 100x148mm" 284 420 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" @@ -10700,7 +11436,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 18 36 18 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36.00 9.72 9.00 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36.00 9.72 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18 36 18 9 "<>setpagedevice" "<>setpagedevice" @@ -11087,7 +11823,7 @@ UIConstraints "*MediaType Glossy *OutputMode DraftGray" UIConstraints "*MediaType Plain *OutputMode Photo" - Attribute "cupsModelName" "" "deskjet 3600" // APDK device class + Attribute "cupsModelName" "" "deskjet 3600" // APDK device class { // 4x6 or smaller @@ -11097,7 +11833,7 @@ "<>setpagedevice" CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 294 430 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6 in" 298 442 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -11125,7 +11861,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 18 36 18 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36.00 9.72 9.00 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36.00 9.72 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18 36 18 9 "<>setpagedevice" "<>setpagedevice" @@ -11162,43 +11898,6 @@ // <%DJ3600:Normal%> { - ModelName "HP Deskjet f300 Series" - Attribute "NickName" "" "HP Deskjet f300 Series, hpcups $Version" - Attribute "ShortNickName" "" "HP Deskjet f300 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet f300 series;DES:deskjet f300 series;" - PCFileName "hp-deskjet_f300_series.ppd" - Attribute "Product" "" "(HP Deskjet f310 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f325 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f335 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f340 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f350 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f370 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f375 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f378 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f379 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f380 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f385 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f388 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f390 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f394 All-in-one Printer)" - } - { - ModelName "HP 910" - Attribute "NickName" "" "HP 910, hpcups $Version" - Attribute "ShortNickName" "" "HP 910" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp 910;DES:hp 910;" - PCFileName "hp-910.ppd" - Attribute "Product" "" "(HP 910 Printer)" - } - { - ModelName "HP 915" - Attribute "NickName" "" "HP 915, hpcups $Version" - Attribute "ShortNickName" "" "HP 915" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp 915;DES:hp 915;" - PCFileName "hp-915.ppd" - Attribute "Product" "" "(HP 915 Inkjet All-in-one Printer)" - } - { ModelName "HP PSC 1300 Series" Attribute "NickName" "" "HP PSC 1300 Series, hpcups $Version" Attribute "ShortNickName" "" "HP PSC 1300 Series" @@ -11284,6 +11983,27 @@ Attribute "Product" "" "(HP Deskjet d4263 Printer)" } { + ModelName "HP Deskjet f300 Series" + Attribute "NickName" "" "HP Deskjet f300 Series, hpcups $Version" + Attribute "ShortNickName" "" "HP Deskjet f300 Series" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet f300 series;DES:deskjet f300 series;" + PCFileName "hp-deskjet_f300_series.ppd" + Attribute "Product" "" "(HP Deskjet f310 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f325 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f335 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f340 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f350 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f370 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f375 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f378 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f379 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f380 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f385 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f388 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f390 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f394 All-in-one Printer)" + } + { ModelName "HP Officejet j3500 Series" Attribute "NickName" "" "HP Officejet j3500 Series, hpcups $Version" Attribute "ShortNickName" "" "HP Officejet j3500 Series" @@ -11433,6 +12153,22 @@ Attribute "Product" "" "(HP Officejet 5679 All-in-one Printer)" Attribute "Product" "" "(HP Officejet 5680 All-in-one Printer)" } + { + ModelName "HP 910" + Attribute "NickName" "" "HP 910, hpcups $Version" + Attribute "ShortNickName" "" "HP 910" + Attribute "1284DeviceID" "" "MFG:HP;MDL:hp 910;DES:hp 910;" + PCFileName "hp-910.ppd" + Attribute "Product" "" "(HP 910 Printer)" + } + { + ModelName "HP 915" + Attribute "NickName" "" "HP 915, hpcups $Version" + Attribute "ShortNickName" "" "HP 915" + Attribute "1284DeviceID" "" "MFG:HP;MDL:hp 915;DES:hp 915;" + PCFileName "hp-915.ppd" + Attribute "Product" "" "(HP 915 Inkjet All-in-one Printer)" + } } // End Supported media sizes. } // End DJ3600 @@ -11502,7 +12238,7 @@ "<>setpagedevice" CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 294 430 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6 in" 298 442 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -11542,9 +12278,9 @@ "<>setpagedevice" CustomMedia "Letter.FB/Letter Borderless 8.5x11in" 622 802 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36.00 9.72 9.00 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36.00 9.72 9.00 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.FB/A4 Borderless 210x297mm" 605 852 0 0 0 0 "<>setpagedevice" + CustomMedia "A4.FB/A4 Borderless 210x297mm" 605 852 0 0 0 0 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18.00 36.00 18.00 9.00 "<>setpagedevice" "<>setpagedevice" @@ -11579,7 +12315,7 @@ MinSize 1in 4in MaxSize 8.5in 14in { - Attribute "cupsModelName" "" "Deskjet D4100" // APDK device class + Attribute "cupsModelName" "" "Deskjet D4100" // APDK device class Attribute "hpPrinterPlatform" "" "dj4100" // <%DJ4100:Normal%> { @@ -11662,7 +12398,7 @@ // Constraints UIConstraints "*MediaType Plain *OutputMode Photo" - Attribute "cupsModelName" "" "PHOTOSMART 100" // APDK device class + Attribute "cupsModelName" "" "PHOTOSMART 100" // APDK device class { // 4x6 or smaller @@ -11670,7 +12406,7 @@ "<>setpagedevice" CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 294 430 0 0 0 46 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in with tear-off tab" 288 432 9 36 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in with tear-off tab" 288 432 9 36 9 9 "<>setpagedevice" "<>setpagedevice" *CustomMedia "Photo4x6.FB/Photo Borderless 4x6 in" 298 442 0 0 0 46 "<>setpagedevice" "<>setpagedevice" @@ -11782,7 +12518,7 @@ // Constraints UIConstraints "*MediaType Plain *OutputMode Photo" - Attribute "cupsModelName" "" "deskjet 5600" // APDK device class + Attribute "cupsModelName" "" "deskjet 5600" // APDK device class { // 4x6 or smaller @@ -11790,7 +12526,7 @@ "<>setpagedevice" CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 294 430 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" *CustomMedia "Photo4x6.FB/Photo Borderless 4x6 in" 298 442 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -11982,7 +12718,7 @@ UIConstraints "*MediaType Glossy *OutputMode Draft" UIConstraints "*MediaType Plain *OutputMode Photo" - Attribute "cupsModelName" "" "Photosmart 470" // APDK device class + Attribute "cupsModelName" "" "Photosmart 470" // APDK device class { // 4x6 or smaller @@ -11990,7 +12726,7 @@ "<>setpagedevice" CustomMedia "Hagaki.FB/Hagaki Borderless 100x148mm" 294 430 0 0 0 0 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9 9 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Photo4x6.FB/Photo Borderless 4x6 in" 298 442 0 0 0 0 "<>setpagedevice" "<>setpagedevice" @@ -12007,7 +12743,7 @@ CustomMedia "Card5x8/Index Card 5x8in" 360 576 9 9 9 9 "<>setpagedevice" "<>setpagedevice" -// Envelope +// Envelope CustomMedia "EnvA2/A2 Envelope 4.37x5.75in" 314.64 414 9 42 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "EnvC6/C6 Envelope 114x162mm" 323.28 459.36 9 39 9 9 "<>setpagedevice" @@ -12126,7 +12862,7 @@ // Constraints - Attribute "cupsModelName" "" "Photosmart A530" // APDK device class + Attribute "cupsModelName" "" "Photosmart A530" // APDK device class { *CustomMedia "0_Automatic/Automatic" 288 432 0 0 0 0 "<>setpagedevice" @@ -12217,14 +12953,14 @@ // Constraints //UIConstraints "*Duplex *OptionDuplex False" - Attribute "cupsModelName" "" "HP LaserJet" // APDK device class + Attribute "cupsModelName" "" "HP LaserJet" // APDK device class // 4x6 or smaller CustomMedia "Card3x5/Index Card 3x5in" 216 360 18 14 18 14 "<>setpagedevice" "<>setpagedevice" CustomMedia "Hagaki/Hagaki 100x148mm" 284 420 18 14 18 14 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 18 14 18 14 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 18 14 18 14 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 18 14 18 14 "<>setpagedevice" "<>setpagedevice" @@ -12234,154 +12970,64 @@ "<>setpagedevice" CustomMedia "Card5x8/Index Card 5x8in" 360 576 18 14 18 14 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Oufuku/Oufuku-Hagaki 148x200mm" 567 420 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "A5/A5 148x210mm" 419.76 595.44 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - -// Standard - CustomMedia "B5/B5 176x250mm" 498.96 708.48 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "JB5/JB5 182x257mm" 516.24 728.64 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "Executive/Executive 7.25x10.5in" 522 756 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "16k/16k 7.75x10.75in" 558 774 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" // custom - *CustomMedia "Letter/Letter 8.5x11in" 612 792 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "FLSA/American Foolscap 8.5x13in" 612 936 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "Legal/Legal 8.5x14in" 612 1008 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - -// Envelope - CustomMedia "EnvA2/A2 Envelope 4.37x5.75in" 314.64 414 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "EnvC6/C6 Envelope 114x162mm" 323.28 459.36 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "EnvChou4/#4 Japanese Envelope 90x205mm" 254.88 581.04 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "EnvMonarch/Monarch Envelope 3.875x7.5in" 279 540 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "EnvDL/DL Envelope 110x220mm" 311.76 623.52 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "Env10/#10 Envelope 4.12x9.5in" 297 684 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "EnvChou3/#3 Japanese Envelope 120x235mm" 339.84 666 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "EnvC5/C5 Envelope 162x229mm" 459 649 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "EnvB5/B5 Envelope 176x250mm" 499 709 18 14 18 14 "<>setpagedevice" - "<>setpagedevice" - - { - // Custom page sizes from 1x4in to Legal - HWMargins 18 14 18 14 - VariablePaperSize Yes - MinSize 1in 4in - MaxSize 8.5in 14in - - // <%LJMono:Normal%> - { - ModelName "HP LaserJet 4mp" - Attribute "NickName" "" "HP LaserJet 4mp pcl3, hpcups $Version" - Attribute "ShortNickName" "" "HP LaserJet 4mp" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4mp;DES:hp laserjet 4mp;" - PCFileName "hp-laserjet_4mp-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 4mp Printer)" - } - { - ModelName "HP LaserJet 4 Plus" - Attribute "NickName" "" "HP LaserJet 4 Plus pcl3, hpcups $Version" - Attribute "ShortNickName" "" "HP LaserJet 4 Plus" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4 plus;DES:hp laserjet 4 plus;" - PCFileName "hp-laserjet_4_plus-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 4 Plus Printer)" - Attribute "Product" "" "(HP LaserJet 4m Plus Printer)" - } - { - ModelName "HP LaserJet 4v" - Attribute "NickName" "" "HP LaserJet 4v pcl3, hpcups $Version" - Attribute "ShortNickName" "" "HP LaserJet 4v" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4v;DES:hp laserjet 4v;" - PCFileName "hp-laserjet_4v-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 4v Printer)" - } - { - ModelName "HP LaserJet 4si" - Attribute "NickName" "" "HP LaserJet 4si pcl3, hpcups $Version" - Attribute "ShortNickName" "" "HP LaserJet 4si" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4si;DES:hp laserjet 4si;" - PCFileName "hp-laserjet_4si-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 4si Printer)" - Attribute "Product" "" "(HP LaserJet 4si Mx Printer)" - } - { - ModelName "HP LaserJet 5l" - Attribute "NickName" "" "HP LaserJet 5l, hpcups $Version" - Attribute "ShortNickName" "" "HP LaserJet 5l" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5l;DES:hp laserjet 5l;" - PCFileName "hp-laserjet_5l.ppd" - Attribute "Product" "" "(HP LaserJet 5l Printer)" - Attribute "Product" "" "(HP LaserJet 5l-fs Printer)" - Attribute "Product" "" "(HP LaserJet 5l Xtra Printer)" - } - { - ModelName "HP LaserJet 5mp" - Attribute "NickName" "" "HP LaserJet 5mp pcl3, hpcups $Version" - Attribute "ShortNickName" "" "HP LaserJet 5mp" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5mp;DES:hp laserjet 5mp;" - PCFileName "hp-laserjet_5mp-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 5mp Printer)" - } - { - ModelName "HP LaserJet 5p" - Attribute "NickName" "" "HP LaserJet 5p, hpcups $Version" - Attribute "ShortNickName" "" "HP LaserJet 5p" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5p;DES:hp laserjet 5p;" - PCFileName "hp-laserjet_5p.ppd" - Attribute "Product" "" "(HP LaserJet 5p Printer)" - } - { - ModelName "HP LaserJet 6l" - Attribute "NickName" "" "HP LaserJet 6l, hpcups $Version" - Attribute "ShortNickName" "" "HP LaserJet 6l" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 6l;DES:hp laserjet 6l;" - PCFileName "hp-laserjet_6l.ppd" - Attribute "Product" "" "(HP LaserJet 6l Printer)" - Attribute "Product" "" "(HP LaserJet 6lse Printer)" - Attribute "Product" "" "(HP LaserJet 6lxi Printer)" - Attribute "Product" "" "(HP LaserJet 6l Gold Printer)" - Attribute "Product" "" "(HP LaserJet 6l Pro Printer)" - } - { - ModelName "HP LaserJet 6p" - Attribute "NickName" "" "HP LaserJet 6p, hpcups $Version" - Attribute "ShortNickName" "" "HP LaserJet 6p" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 6p;DES:hp laserjet 6p;" - PCFileName "hp-laserjet_6p.ppd" - Attribute "Product" "" "(HP LaserJet 6p Printer)" - } - { - ModelName "HP LaserJet 6mp" - Attribute "NickName" "" "HP LaserJet 6mp pcl3, hpcups $Version" - Attribute "ShortNickName" "" "HP LaserJet 6mp" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 6mp;DES:hp laserjet 6mp;" - PCFileName "hp-laserjet_6mp-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 6mp Printer)" - Attribute "Product" "" "(HP LaserJet 6mp Se Printer)" - Attribute "Product" "" "(HP LaserJet 6mp Xi Printer)" - } + CustomMedia "Oufuku/Oufuku-Hagaki 148x200mm" 567 420 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "A5/A5 148x210mm" 419.76 595.44 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + +// Standard + CustomMedia "B5/B5 176x250mm" 498.96 708.48 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "JB5/JB5 182x257mm" 516.24 728.64 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Executive/Executive 7.25x10.5in" 522 756 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "16k/16k 7.75x10.75in" 558 774 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" // custom + *CustomMedia "Letter/Letter 8.5x11in" 612 792 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "FLSA/American Foolscap 8.5x13in" 612 936 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Legal/Legal 8.5x14in" 612 1008 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + +// Envelope + CustomMedia "EnvA2/A2 Envelope 4.37x5.75in" 314.64 414 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvC6/C6 Envelope 114x162mm" 323.28 459.36 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvChou4/#4 Japanese Envelope 90x205mm" 254.88 581.04 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvMonarch/Monarch Envelope 3.875x7.5in" 279 540 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvDL/DL Envelope 110x220mm" 311.76 623.52 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "Env10/#10 Envelope 4.12x9.5in" 297 684 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvChou3/#3 Japanese Envelope 120x235mm" 339.84 666 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvC5/C5 Envelope 162x229mm" 459 649 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + CustomMedia "EnvB5/B5 Envelope 176x250mm" 499 709 18 14 18 14 "<>setpagedevice" + "<>setpagedevice" + + { + // Custom page sizes from 1x4in to Legal + HWMargins 18 14 18 14 + VariablePaperSize Yes + MinSize 1in 4in + MaxSize 8.5in 14in + + // <%LJMono:Normal%> { ModelName "HP LaserJet 1015" Attribute "NickName" "" "HP LaserJet 1015, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1015" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1015;DES:hp laserjet 1015;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1015;DES:hp laserjet 1015;" PCFileName "hp-laserjet_1015.ppd" Attribute "Product" "" "(HP LaserJet 1015 Printer)" } @@ -12389,7 +13035,7 @@ ModelName "HP LaserJet 1022nw" Attribute "NickName" "" "HP LaserJet 1022nw pcl3, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1022nw" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1022nw;DES:hp laserjet 1022nw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1022nw;DES:hp laserjet 1022nw;" PCFileName "hp-laserjet_1022nw-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1022nw Printer)" } @@ -12397,7 +13043,7 @@ ModelName "HP LaserJet 1022n" Attribute "NickName" "" "HP LaserJet 1022n pcl3, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1022n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1022n;DES:hp laserjet 1022n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1022n;DES:hp laserjet 1022n;" PCFileName "hp-laserjet_1022n-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1022n Printer)" Attribute "Product" "" "(HP LaserJet 1022nxi Printer)" @@ -12406,7 +13052,7 @@ ModelName "HP LaserJet 1022" Attribute "NickName" "" "HP LaserJet 1022 pcl3, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1022" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1022;DES:hp laserjet 1022;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1022;DES:hp laserjet 1022;" PCFileName "hp-laserjet_1022-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1022 Printer)" } @@ -12414,7 +13060,7 @@ ModelName "HP LaserJet 1100a" Attribute "NickName" "" "HP LaserJet 1100a, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1100a" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1100a;DES:hp laserjet 1100a;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1100a;DES:hp laserjet 1100a;" PCFileName "hp-laserjet_1100a.ppd" Attribute "Product" "" "(HP LaserJet 1100a All-in-one Printer)" Attribute "Product" "" "(HP LaserJet 1100a Se All-in-one Printer)" @@ -12423,7 +13069,7 @@ ModelName "HP LaserJet 1100xi" Attribute "NickName" "" "HP LaserJet 1100xi, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1100xi" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1100xi;DES:hp laserjet 1100xi;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1100xi;DES:hp laserjet 1100xi;" PCFileName "hp-laserjet_1100xi.ppd" Attribute "Product" "" "(HP LaserJet 1100a Xi All-in-one Printer)" } @@ -12431,7 +13077,7 @@ ModelName "HP LaserJet 1100" Attribute "NickName" "" "HP LaserJet 1100, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1100" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1100;DES:hp laserjet 1100;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1100;DES:hp laserjet 1100;" PCFileName "hp-laserjet_1100.ppd" Attribute "Product" "" "(HP LaserJet 1100 Printer)" Attribute "Product" "" "(HP LaserJet 1100se Printer)" @@ -12441,7 +13087,7 @@ ModelName "HP LaserJet 1150" Attribute "NickName" "" "HP LaserJet 1150, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1150" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1150;DES:hp laserjet 1150;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1150;DES:hp laserjet 1150;" PCFileName "hp-laserjet_1150.ppd" Attribute "Product" "" "(HP LaserJet 1150 Printer)" } @@ -12449,7 +13095,7 @@ ModelName "HP LaserJet 1160" Attribute "NickName" "" "HP LaserJet 1160, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1160" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1160;DES:hp laserjet 1160;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1160;DES:hp laserjet 1160;" PCFileName "hp-laserjet_1160.ppd" Attribute "Product" "" "(HP LaserJet 1160 Printer)" Attribute "Product" "" "(HP LaserJet 1160le Printer)" @@ -12458,7 +13104,7 @@ ModelName "HP LaserJet 1160 Series" Attribute "NickName" "" "HP LaserJet 1160 Series, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1160 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1160 series;DES:hp laserjet 1160 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1160 series;DES:hp laserjet 1160 series;" PCFileName "hp-laserjet_1160_series.ppd" Attribute "Product" "" "(HP LaserJet 1160 Series Printer)" } @@ -12466,7 +13112,7 @@ ModelName "HP LaserJet 1200" Attribute "NickName" "" "HP LaserJet 1200 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1200" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1200;DES:hp laserjet 1200;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1200;DES:hp laserjet 1200;" PCFileName "hp-laserjet_1200-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1200 Printer)" Attribute "Product" "" "(HP LaserJet 1200se Printer)" @@ -12475,7 +13121,7 @@ ModelName "HP LaserJet 1200n" Attribute "NickName" "" "HP LaserJet 1200n, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1200n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1200n;DES:hp laserjet 1200n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1200n;DES:hp laserjet 1200n;" PCFileName "hp-laserjet_1200n.ppd" Attribute "Product" "" "(HP LaserJet 1200n Printer)" } @@ -12483,7 +13129,7 @@ ModelName "HP LaserJet 1220se" Attribute "NickName" "" "HP LaserJet 1220se, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1220se" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1220se;DES:hp laserjet 1220se;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1220se;DES:hp laserjet 1220se;" PCFileName "hp-laserjet_1220se.ppd" Attribute "Product" "" "(HP LaserJet 1220se All-in-one Printer)" } @@ -12491,7 +13137,7 @@ ModelName "HP LaserJet 1220" Attribute "NickName" "" "HP LaserJet 1220 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1220" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1220;DES:hp laserjet 1220;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1220;DES:hp laserjet 1220;" PCFileName "hp-laserjet_1220-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1220 All-in-one Printer)" } @@ -12499,7 +13145,7 @@ ModelName "HP LaserJet 1300" Attribute "NickName" "" "HP LaserJet 1300 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1300" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1300;DES:hp laserjet 1300;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1300;DES:hp laserjet 1300;" PCFileName "hp-laserjet_1300-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1300 Printer)" Attribute "Product" "" "(HP LaserJet 1300t Printer)" @@ -12508,7 +13154,7 @@ ModelName "HP LaserJet 1300n" Attribute "NickName" "" "HP LaserJet 1300n pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1300n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1300n;DES:hp laserjet 1300n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1300n;DES:hp laserjet 1300n;" PCFileName "hp-laserjet_1300n-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1300n Printer)" } @@ -12516,7 +13162,7 @@ ModelName "HP LaserJet 1300xi" Attribute "NickName" "" "HP LaserJet 1300xi pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1300xi" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1300xi;DES:hp laserjet 1300xi;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1300xi;DES:hp laserjet 1300xi;" PCFileName "hp-laserjet_1300xi-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1300xi Printer)" } @@ -12524,7 +13170,7 @@ ModelName "HP LaserJet 1320 Series" Attribute "NickName" "" "HP LaserJet 1320 Series pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1320 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1320 series;DES:hp laserjet 1320 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1320 series;DES:hp laserjet 1320 series;" PCFileName "hp-laserjet_1320_series-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1320 Series Printer)" } @@ -12532,7 +13178,7 @@ ModelName "HP LaserJet 1320n" Attribute "NickName" "" "HP LaserJet 1320n, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1320n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1320n;DES:hp laserjet 1320n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1320n;DES:hp laserjet 1320n;" PCFileName "hp-laserjet_1320n.ppd" Attribute "Product" "" "(HP LaserJet 1320n Printer)" } @@ -12540,7 +13186,7 @@ ModelName "HP LaserJet 1320tn" Attribute "NickName" "" "HP LaserJet 1320tn, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1320tn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1320tn;DES:hp laserjet 1320tn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1320tn;DES:hp laserjet 1320tn;" PCFileName "hp-laserjet_1320tn.ppd" Attribute "Product" "" "(HP LaserJet 1320tn Printer)" } @@ -12548,7 +13194,7 @@ ModelName "HP LaserJet 1320" Attribute "NickName" "" "HP LaserJet 1320, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1320" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1320;DES:hp laserjet 1320;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1320;DES:hp laserjet 1320;" PCFileName "hp-laserjet_1320.ppd" Attribute "Product" "" "(HP LaserJet 1320 Printer)" Attribute "Product" "" "(HP LaserJet 1320t Printer)" @@ -12557,7 +13203,7 @@ ModelName "HP LaserJet 1320nw" Attribute "NickName" "" "HP LaserJet 1320nw, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1320nw" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1320nw;DES:hp laserjet 1320nw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1320nw;DES:hp laserjet 1320nw;" PCFileName "hp-laserjet_1320nw.ppd" Attribute "Product" "" "(HP LaserJet 1320nw Printer)" } @@ -12565,7 +13211,7 @@ ModelName "HP LaserJet p1505n" Attribute "NickName" "" "HP LaserJet p1505n pcl3, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p1505n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p1505n;DES:hp laserjet p1505n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p1505n;DES:hp laserjet p1505n;" PCFileName "hp-laserjet_p1505n-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p1505n Printer)" } @@ -12573,7 +13219,7 @@ ModelName "HP LaserJet m1522nf MFP" Attribute "NickName" "" "HP LaserJet m1522nf MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet m1522nf MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m1522nf mfp;DES:hp laserjet m1522nf mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m1522nf mfp;DES:hp laserjet m1522nf mfp;" PCFileName "hp-laserjet_m1522nf_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m1522nf Multifunction Printer)" } @@ -12581,7 +13227,7 @@ ModelName "HP LaserJet m1537dnf MFP" Attribute "NickName" "" "HP LaserJet m1537dnf MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet m1537dnf MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m1537dnf mfp;DES:hp laserjet m1537dnf mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m1537dnf mfp;DES:hp laserjet m1537dnf mfp;" PCFileName "hp-laserjet_m1537dnf_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m1537dnf MFP)" } @@ -12589,7 +13235,7 @@ ModelName "HP LaserJet m1538dnf MFP" Attribute "NickName" "" "HP LaserJet m1538dnf MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet m1538dnf MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m1538dnf mfp;DES:hp laserjet m1538dnf mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m1538dnf mfp;DES:hp laserjet m1538dnf mfp;" PCFileName "hp-laserjet_m1538dnf_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m1538dnf MFP)" } @@ -12597,7 +13243,7 @@ ModelName "HP LaserJet m1539dnf MFP" Attribute "NickName" "" "HP LaserJet m1539dnf MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet m1539dnf MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m1539dnf mfp;DES:hp laserjet m1539dnf mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m1539dnf mfp;DES:hp laserjet m1539dnf mfp;" PCFileName "hp-laserjet_m1539dnf_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m1539dnf MFP)" } @@ -12605,7 +13251,7 @@ ModelName "HP LaserJet p2014" Attribute "NickName" "" "HP LaserJet p2014 pcl3, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p2014" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2014;DES:hp laserjet p2014;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2014;DES:hp laserjet p2014;" PCFileName "hp-laserjet_p2014-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2014 Printer)" } @@ -12613,7 +13259,7 @@ ModelName "HP LaserJet p2014n" Attribute "NickName" "" "HP LaserJet p2014n pcl3, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p2014n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2014n;DES:hp laserjet p2014n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2014n;DES:hp laserjet p2014n;" PCFileName "hp-laserjet_p2014n-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2014n Printer)" } @@ -12621,7 +13267,7 @@ ModelName "HP LaserJet p2015dn Series" Attribute "NickName" "" "HP LaserJet p2015dn Series, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p2015dn Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2015dn series;DES:hp laserjet p2015dn series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2015dn series;DES:hp laserjet p2015dn series;" PCFileName "hp-laserjet_p2015dn_series.ppd" Attribute "Product" "" "(HP LaserJet p2015dn Printer)" } @@ -12629,7 +13275,7 @@ ModelName "HP LaserJet p2015x Series" Attribute "NickName" "" "HP LaserJet p2015x Series, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p2015x Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2015x series;DES:hp laserjet p2015x series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2015x series;DES:hp laserjet p2015x series;" PCFileName "hp-laserjet_p2015x_series.ppd" Attribute "Product" "" "(HP LaserJet p2015x Printer)" } @@ -12637,7 +13283,7 @@ ModelName "HP LaserJet p2015d Series" Attribute "NickName" "" "HP LaserJet p2015d Series, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p2015d Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2015d series;DES:hp laserjet p2015d series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2015d series;DES:hp laserjet p2015d series;" PCFileName "hp-laserjet_p2015d_series.ppd" Attribute "Product" "" "(HP LaserJet p2015d Printer)" } @@ -12645,7 +13291,7 @@ ModelName "HP LaserJet p2015 Series" Attribute "NickName" "" "HP LaserJet p2015 Series pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p2015 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2015 series;DES:hp laserjet p2015 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2015 series;DES:hp laserjet p2015 series;" PCFileName "hp-laserjet_p2015_series-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2015 Printer)" } @@ -12653,7 +13299,7 @@ ModelName "HP LaserJet p2015n Series" Attribute "NickName" "" "HP LaserJet p2015n Series, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p2015n Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2015n series;DES:hp laserjet p2015n series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2015n series;DES:hp laserjet p2015n series;" PCFileName "hp-laserjet_p2015n_series.ppd" Attribute "Product" "" "(HP LaserJet p2015n Printer)" } @@ -12661,7 +13307,7 @@ ModelName "HP LaserJet p2035n" Attribute "NickName" "" "HP LaserJet p2035n pcl3, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p2035n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2035n;DES:hp laserjet p2035n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2035n;DES:hp laserjet p2035n;" PCFileName "hp-laserjet_p2035n-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2035n Printer)" } @@ -12669,7 +13315,7 @@ ModelName "HP LaserJet p2035" Attribute "NickName" "" "HP LaserJet p2035 pcl3, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p2035" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2035;DES:hp laserjet p2035;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2035;DES:hp laserjet p2035;" PCFileName "hp-laserjet_p2035-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2035 Printer)" } @@ -12677,7 +13323,7 @@ ModelName "HP LaserJet p2055dn" Attribute "NickName" "" "HP LaserJet p2055dn pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p2055dn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2055dn;DES:hp laserjet p2055dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2055dn;DES:hp laserjet p2055dn;" PCFileName "hp-laserjet_p2055dn-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2055dn Printer)" } @@ -12685,7 +13331,7 @@ ModelName "HP LaserJet p2055" Attribute "NickName" "" "HP LaserJet p2055 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p2055" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2055;DES:hp laserjet p2055;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2055;DES:hp laserjet p2055;" PCFileName "hp-laserjet_p2055-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2055 Printer)" } @@ -12693,7 +13339,7 @@ ModelName "HP LaserJet p2055d" Attribute "NickName" "" "HP LaserJet p2055d pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p2055d" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2055d;DES:hp laserjet p2055d;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2055d;DES:hp laserjet p2055d;" PCFileName "hp-laserjet_p2055d-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2055d Printer)" } @@ -12701,7 +13347,7 @@ ModelName "HP LaserJet p2055x" Attribute "NickName" "" "HP LaserJet p2055x pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p2055x" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2055x;DES:hp laserjet p2055x;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2055x;DES:hp laserjet p2055x;" PCFileName "hp-laserjet_p2055x-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2055x Printer)" } @@ -12709,7 +13355,7 @@ ModelName "HP LaserJet 2100" Attribute "NickName" "" "HP LaserJet 2100, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 2100" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2100;DES:hp laserjet 2100;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2100;DES:hp laserjet 2100;" PCFileName "hp-laserjet_2100.ppd" Attribute "Product" "" "(HP LaserJet 2100 Printer)" Attribute "Product" "" "(HP LaserJet 2100m Printer)" @@ -12721,7 +13367,7 @@ ModelName "HP LaserJet 2100 Series" Attribute "NickName" "" "HP LaserJet 2100 Series pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 2100 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2100 series;DES:hp laserjet 2100 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2100 series;DES:hp laserjet 2100 series;" PCFileName "hp-laserjet_2100_series-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 2100 Series Printer)" } @@ -12729,7 +13375,7 @@ ModelName "HP LaserJet 2200 Series" Attribute "NickName" "" "HP LaserJet 2200 Series, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 2200 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2200 series;DES:hp laserjet 2200 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2200 series;DES:hp laserjet 2200 series;" PCFileName "hp-laserjet_2200_series.ppd" Attribute "Product" "" "(HP LaserJet 2200 Series Printer)" } @@ -12737,7 +13383,7 @@ ModelName "HP LaserJet 2200" Attribute "NickName" "" "HP LaserJet 2200 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 2200" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2200;DES:hp laserjet 2200;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2200;DES:hp laserjet 2200;" PCFileName "hp-laserjet_2200-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 2200 Printer)" Attribute "Product" "" "(HP LaserJet 2200d Printer)" @@ -12750,7 +13396,7 @@ ModelName "HP LaserJet 2300" Attribute "NickName" "" "HP LaserJet 2300 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 2300" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2300;DES:hp laserjet 2300;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2300;DES:hp laserjet 2300;" PCFileName "hp-laserjet_2300-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 2300 Printer)" Attribute "Product" "" "(HP LaserJet 2300n Printer)" @@ -12763,7 +13409,7 @@ ModelName "HP LaserJet 2300 Series" Attribute "NickName" "" "HP LaserJet 2300 Series, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 2300 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2300 series;DES:hp laserjet 2300 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2300 series;DES:hp laserjet 2300 series;" PCFileName "hp-laserjet_2300_series.ppd" Attribute "Product" "" "(HP LaserJet 2300 Series Printer)" } @@ -12771,7 +13417,7 @@ ModelName "HP LaserJet 2410" Attribute "NickName" "" "HP LaserJet 2410 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 2410" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2410;DES:hp laserjet 2410;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2410;DES:hp laserjet 2410;" PCFileName "hp-laserjet_2410-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 2410 Printer)" } @@ -12779,7 +13425,7 @@ ModelName "HP LaserJet 2420" Attribute "NickName" "" "HP LaserJet 2420 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 2420" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2420;DES:hp laserjet 2420;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2420;DES:hp laserjet 2420;" PCFileName "hp-laserjet_2420-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 2420 Printer)" Attribute "Product" "" "(HP LaserJet 2420d Printer)" @@ -12790,7 +13436,7 @@ ModelName "HP LaserJet 2430" Attribute "NickName" "" "HP LaserJet 2430 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 2430" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2430;DES:hp laserjet 2430;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2430;DES:hp laserjet 2430;" PCFileName "hp-laserjet_2430-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 2430t Printer)" Attribute "Product" "" "(HP LaserJet 2430 Printer)" @@ -12802,7 +13448,7 @@ ModelName "HP LaserJet m2727 MFP" Attribute "NickName" "" "HP LaserJet m2727 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet m2727 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m2727 mfp;DES:hp laserjet m2727 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m2727 mfp;DES:hp laserjet m2727 mfp;" PCFileName "hp-laserjet_m2727_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m2727 Multifunction Printer)" } @@ -12810,7 +13456,7 @@ ModelName "HP LaserJet p3004" Attribute "NickName" "" "HP LaserJet p3004 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p3004" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p3004;DES:hp laserjet p3004;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p3004;DES:hp laserjet p3004;" PCFileName "hp-laserjet_p3004-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p3004 Printer)" } @@ -12818,7 +13464,7 @@ ModelName "HP LaserJet p3005" Attribute "NickName" "" "HP LaserJet p3005 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p3005" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p3005;DES:hp laserjet p3005;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p3005;DES:hp laserjet p3005;" PCFileName "hp-laserjet_p3005-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p3005 Printer)" Attribute "Product" "" "(HP LaserJet p3005d Printer)" @@ -12831,7 +13477,7 @@ ModelName "HP LaserJet p3010 Series" Attribute "NickName" "" "HP LaserJet p3010 Series pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p3010 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p3010 series;DES:hp laserjet p3010 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p3010 series;DES:hp laserjet p3010 series;" PCFileName "hp-laserjet_p3010_series-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p3015 Printer)" Attribute "Product" "" "(HP LaserJet p3011 Printer)" @@ -12840,7 +13486,7 @@ ModelName "HP LaserJet 3015" Attribute "NickName" "" "HP LaserJet 3015 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 3015" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3015;DES:hp laserjet 3015;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3015;DES:hp laserjet 3015;" PCFileName "hp-laserjet_3015-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3015 All-in-one Printer)" } @@ -12848,7 +13494,7 @@ ModelName "HP LaserJet 3020" Attribute "NickName" "" "HP LaserJet 3020 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 3020" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3020;DES:hp laserjet 3020;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3020;DES:hp laserjet 3020;" PCFileName "hp-laserjet_3020-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3020 All-in-one Printer)" } @@ -12856,7 +13502,7 @@ ModelName "HP LaserJet m3027 MFP" Attribute "NickName" "" "HP LaserJet m3027 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet m3027 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m3027 mfp;DES:hp laserjet m3027 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m3027 mfp;DES:hp laserjet m3027 mfp;" PCFileName "hp-laserjet_m3027_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m3027 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet m3027x Multifunction Printer)" @@ -12865,7 +13511,7 @@ ModelName "HP LaserJet 3030" Attribute "NickName" "" "HP LaserJet 3030 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 3030" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3030;DES:hp laserjet 3030;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3030;DES:hp laserjet 3030;" PCFileName "hp-laserjet_3030-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3030 All-in-one Printer)" } @@ -12873,7 +13519,7 @@ ModelName "HP LaserJet 3050" Attribute "NickName" "" "HP LaserJet 3050 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 3050" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3050;DES:hp laserjet 3050;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3050;DES:hp laserjet 3050;" PCFileName "hp-laserjet_3050-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3050 All-in-one Printer)" Attribute "Product" "" "(HP LaserJet 3050z All-in-one Printer)" @@ -12882,7 +13528,7 @@ ModelName "HP LaserJet 3052" Attribute "NickName" "" "HP LaserJet 3052 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 3052" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3052;DES:hp laserjet 3052;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3052;DES:hp laserjet 3052;" PCFileName "hp-laserjet_3052-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3052 All-in-one Printer)" } @@ -12890,7 +13536,7 @@ ModelName "HP LaserJet 3055" Attribute "NickName" "" "HP LaserJet 3055, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 3055" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3055;DES:hp laserjet 3055;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3055;DES:hp laserjet 3055;" PCFileName "hp-laserjet_3055.ppd" Attribute "Product" "" "(HP LaserJet 3055 All-in-one Printer)" } @@ -12898,7 +13544,7 @@ ModelName "HP LaserJet 3100" Attribute "NickName" "" "HP LaserJet 3100, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 3100" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3100;DES:hp laserjet 3100;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3100;DES:hp laserjet 3100;" PCFileName "hp-laserjet_3100.ppd" Attribute "Product" "" "(HP LaserJet 3100 All-in-one Printer)" Attribute "Product" "" "(HP LaserJet 3100se All-in-one Printer)" @@ -12908,7 +13554,7 @@ ModelName "HP LaserJet 3150" Attribute "NickName" "" "HP LaserJet 3150, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 3150" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3150;DES:hp laserjet 3150;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3150;DES:hp laserjet 3150;" PCFileName "hp-laserjet_3150.ppd" Attribute "Product" "" "(HP LaserJet 3150xi All-in-one Printer)" Attribute "Product" "" "(HP LaserJet 3150se All-in-one Printer)" @@ -12918,7 +13564,7 @@ ModelName "HP LaserJet 3200m" Attribute "NickName" "" "HP LaserJet 3200m pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 3200m" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3200m;DES:hp laserjet 3200m;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3200m;DES:hp laserjet 3200m;" PCFileName "hp-laserjet_3200m-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3200m All-in-one Printer)" } @@ -12926,7 +13572,7 @@ ModelName "HP LaserJet 3200se" Attribute "NickName" "" "HP LaserJet 3200se, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 3200se" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3200se;DES:hp laserjet 3200se;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3200se;DES:hp laserjet 3200se;" PCFileName "hp-laserjet_3200se.ppd" Attribute "Product" "" "(HP LaserJet 3200 All-in-one Printer)" } @@ -12934,7 +13580,7 @@ ModelName "HP LaserJet 3200" Attribute "NickName" "" "HP LaserJet 3200, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 3200" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3200;DES:hp laserjet 3200;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3200;DES:hp laserjet 3200;" PCFileName "hp-laserjet_3200.ppd" Attribute "Product" "" "(HP LaserJet 3200 All-in-one Printer)" } @@ -12942,7 +13588,7 @@ ModelName "HP LaserJet 3300 3310 3320" Attribute "NickName" "" "HP LaserJet 3300 3310 3320 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 3300 3310 3320" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3300 3310 3320;DES:hp laserjet 3300 3310 3320;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3300 3310 3320;DES:hp laserjet 3300 3310 3320;" PCFileName "hp-laserjet_3300_3310_3320-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3300 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet 3310 Digital Printer Copier)" @@ -12954,7 +13600,7 @@ ModelName "HP LaserJet 3330" Attribute "NickName" "" "HP LaserJet 3330, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 3330" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3330;DES:hp laserjet 3330;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3330;DES:hp laserjet 3330;" PCFileName "hp-laserjet_3330.ppd" Attribute "Product" "" "(HP LaserJet 3330 Multifunction Printer)" } @@ -12962,7 +13608,7 @@ ModelName "HP LaserJet 3380" Attribute "NickName" "" "HP LaserJet 3380 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 3380" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3380;DES:hp laserjet 3380;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3380;DES:hp laserjet 3380;" PCFileName "hp-laserjet_3380-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3380 All-in-one Printer)" } @@ -12970,7 +13616,7 @@ ModelName "HP LaserJet 3390" Attribute "NickName" "" "HP LaserJet 3390 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 3390" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3390;DES:hp laserjet 3390;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3390;DES:hp laserjet 3390;" PCFileName "hp-laserjet_3390-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3390 All-in-one Printer)" } @@ -12978,15 +13624,49 @@ ModelName "HP LaserJet 3392" Attribute "NickName" "" "HP LaserJet 3392, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 3392" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3392;DES:hp laserjet 3392;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3392;DES:hp laserjet 3392;" PCFileName "hp-laserjet_3392.ppd" Attribute "Product" "" "(HP LaserJet 3392 All-in-one Printer)" } { + ModelName "HP LaserJet 4mp" + Attribute "NickName" "" "HP LaserJet 4mp pcl3, hpcups $Version" + Attribute "ShortNickName" "" "HP LaserJet 4mp" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4mp;DES:hp laserjet 4mp;" + PCFileName "hp-laserjet_4mp-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 4mp Printer)" + } + { + ModelName "HP LaserJet 4 Plus" + Attribute "NickName" "" "HP LaserJet 4 Plus pcl3, hpcups $Version" + Attribute "ShortNickName" "" "HP LaserJet 4 Plus" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4 plus;DES:hp laserjet 4 plus;" + PCFileName "hp-laserjet_4_plus-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 4 Plus Printer)" + Attribute "Product" "" "(HP LaserJet 4m Plus Printer)" + } + { + ModelName "HP LaserJet 4v" + Attribute "NickName" "" "HP LaserJet 4v pcl3, hpcups $Version" + Attribute "ShortNickName" "" "HP LaserJet 4v" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4v;DES:hp laserjet 4v;" + PCFileName "hp-laserjet_4v-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 4v Printer)" + } + { + ModelName "HP LaserJet 4si" + Attribute "NickName" "" "HP LaserJet 4si pcl3, hpcups $Version" + Attribute "ShortNickName" "" "HP LaserJet 4si" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4si;DES:hp laserjet 4si;" + PCFileName "hp-laserjet_4si-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 4si Printer)" + Attribute "Product" "" "(HP LaserJet 4si Mx Printer)" + } + { ModelName "HP LaserJet 4000 Series" Attribute "NickName" "" "HP LaserJet 4000 Series pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 4000 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4000 series;DES:hp laserjet 4000 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4000 series;DES:hp laserjet 4000 series;" PCFileName "hp-laserjet_4000_series-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4000 Printer)" Attribute "Product" "" "(HP LaserJet 4000n Printer)" @@ -12998,7 +13678,7 @@ ModelName "HP LaserJet p4014dn" Attribute "NickName" "" "HP LaserJet p4014dn, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p4014dn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4014dn;DES:hp laserjet p4014dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4014dn;DES:hp laserjet p4014dn;" PCFileName "hp-laserjet_p4014dn.ppd" Attribute "Product" "" "(HP LaserJet p4014dn Printer)" } @@ -13006,7 +13686,7 @@ ModelName "HP LaserJet p4014" Attribute "NickName" "" "HP LaserJet p4014, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p4014" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4014;DES:hp laserjet p4014;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4014;DES:hp laserjet p4014;" PCFileName "hp-laserjet_p4014.ppd" Attribute "Product" "" "(HP LaserJet p4014 Printer)" } @@ -13014,7 +13694,7 @@ ModelName "HP LaserJet p4014n" Attribute "NickName" "" "HP LaserJet p4014n, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p4014n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4014n;DES:hp laserjet p4014n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4014n;DES:hp laserjet p4014n;" PCFileName "hp-laserjet_p4014n.ppd" Attribute "Product" "" "(HP LaserJet p4014n Printer)" } @@ -13022,7 +13702,7 @@ ModelName "HP LaserJet p4015tn" Attribute "NickName" "" "HP LaserJet p4015tn, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p4015tn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4015tn;DES:hp laserjet p4015tn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4015tn;DES:hp laserjet p4015tn;" PCFileName "hp-laserjet_p4015tn.ppd" Attribute "Product" "" "(HP LaserJet p4015tn Printer)" } @@ -13030,7 +13710,7 @@ ModelName "HP LaserJet p4015" Attribute "NickName" "" "HP LaserJet p4015, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p4015" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4015;DES:hp laserjet p4015;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4015;DES:hp laserjet p4015;" PCFileName "hp-laserjet_p4015.ppd" Attribute "Product" "" "(HP LaserJet p4015 Printer)" } @@ -13038,7 +13718,7 @@ ModelName "HP LaserJet p4015x" Attribute "NickName" "" "HP LaserJet p4015x, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p4015x" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4015x;DES:hp laserjet p4015x;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4015x;DES:hp laserjet p4015x;" PCFileName "hp-laserjet_p4015x.ppd" Attribute "Product" "" "(HP LaserJet p4015x Printer)" } @@ -13046,7 +13726,7 @@ ModelName "HP LaserJet p4015n" Attribute "NickName" "" "HP LaserJet p4015n, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p4015n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4015n;DES:hp laserjet p4015n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4015n;DES:hp laserjet p4015n;" PCFileName "hp-laserjet_p4015n.ppd" Attribute "Product" "" "(HP LaserJet p4015n Printer)" } @@ -13054,7 +13734,7 @@ ModelName "HP LaserJet p4015dn" Attribute "NickName" "" "HP LaserJet p4015dn, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p4015dn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4015dn;DES:hp laserjet p4015dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4015dn;DES:hp laserjet p4015dn;" PCFileName "hp-laserjet_p4015dn.ppd" Attribute "Product" "" "(HP LaserJet p4015dn Printer)" } @@ -13062,7 +13742,7 @@ ModelName "HP LaserJet 4050 Series" Attribute "NickName" "" "HP LaserJet 4050 Series pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 4050 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4050 series;DES:hp laserjet 4050 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4050 series;DES:hp laserjet 4050 series;" PCFileName "hp-laserjet_4050_series-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4050 Printer)" Attribute "Product" "" "(HP LaserJet 4050n Printer)" @@ -13074,7 +13754,7 @@ ModelName "HP LaserJet 4100 MFP" Attribute "NickName" "" "HP LaserJet 4100 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 4100 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4100 mfp;DES:hp laserjet 4100 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4100 mfp;DES:hp laserjet 4100 mfp;" PCFileName "hp-laserjet_4100_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4100 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet 4101 Multifunction Printer)" @@ -13083,7 +13763,7 @@ ModelName "HP LaserJet 4100 Series" Attribute "NickName" "" "HP LaserJet 4100 Series pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 4100 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4100 series;DES:hp laserjet 4100 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4100 series;DES:hp laserjet 4100 series;" PCFileName "hp-laserjet_4100_series-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 410dtn Printer)" Attribute "Product" "" "(HP LaserJet 4100tn Printer)" @@ -13094,7 +13774,7 @@ ModelName "HP LaserJet 4150 Series" Attribute "NickName" "" "HP LaserJet 4150 Series, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 4150 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4150 series;DES:hp laserjet 4150 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4150 series;DES:hp laserjet 4150 series;" PCFileName "hp-laserjet_4150_series.ppd" Attribute "Product" "" "(HP LaserJet 4150 Printer)" } @@ -13102,7 +13782,7 @@ ModelName "HP LaserJet 4200" Attribute "NickName" "" "HP LaserJet 4200 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 4200" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4200;DES:hp laserjet 4200;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4200;DES:hp laserjet 4200;" PCFileName "hp-laserjet_4200-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4200 Printer)" Attribute "Product" "" "(HP LaserJet 4200l Printer)" @@ -13118,7 +13798,7 @@ ModelName "HP LaserJet 4240" Attribute "NickName" "" "HP LaserJet 4240 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 4240" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4240;DES:hp laserjet 4240;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4240;DES:hp laserjet 4240;" PCFileName "hp-laserjet_4240-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4240n Printer)" Attribute "Product" "" "(HP LaserJet 4240 Printer)" @@ -13127,7 +13807,7 @@ ModelName "HP LaserJet 4250" Attribute "NickName" "" "HP LaserJet 4250 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 4250" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4250;DES:hp laserjet 4250;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4250;DES:hp laserjet 4250;" PCFileName "hp-laserjet_4250-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4250 Printer)" Attribute "Product" "" "(HP LaserJet 4250dtn Printer)" @@ -13139,7 +13819,7 @@ ModelName "HP LaserJet 4300" Attribute "NickName" "" "HP LaserJet 4300 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 4300" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4300;DES:hp laserjet 4300;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4300;DES:hp laserjet 4300;" PCFileName "hp-laserjet_4300-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4300 Printer)" Attribute "Product" "" "(HP LaserJet 4300dtn Printer)" @@ -13152,7 +13832,7 @@ ModelName "HP LaserJet 4345 MFP" Attribute "NickName" "" "HP LaserJet 4345 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 4345 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4345 mfp;DES:hp laserjet 4345 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4345 mfp;DES:hp laserjet 4345 mfp;" PCFileName "hp-laserjet_4345_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4345 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet 4345x Multifunction Printer)" @@ -13163,7 +13843,7 @@ ModelName "HP LaserJet m4345 MFP" Attribute "NickName" "" "HP LaserJet m4345 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet m4345 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m4345 mfp;DES:hp laserjet m4345 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m4345 mfp;DES:hp laserjet m4345 mfp;" PCFileName "hp-laserjet_m4345_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m4345 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet m4345x Multifunction Printer)" @@ -13174,7 +13854,7 @@ ModelName "HP LaserJet m4349 MFP" Attribute "NickName" "" "HP LaserJet m4349 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet m4349 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m4349 mfp;DES:hp laserjet m4349 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m4349 mfp;DES:hp laserjet m4349 mfp;" PCFileName "hp-laserjet_m4349_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m4349 MFP)" } @@ -13182,7 +13862,7 @@ ModelName "HP LaserJet 4350" Attribute "NickName" "" "HP LaserJet 4350 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 4350" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4350;DES:hp laserjet 4350;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4350;DES:hp laserjet 4350;" PCFileName "hp-laserjet_4350-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4350 Printer)" Attribute "Product" "" "(HP LaserJet 4350dtn Printer)" @@ -13194,7 +13874,7 @@ ModelName "HP LaserJet p4515tn" Attribute "NickName" "" "HP LaserJet p4515tn, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p4515tn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4515tn;DES:hp laserjet p4515tn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4515tn;DES:hp laserjet p4515tn;" PCFileName "hp-laserjet_p4515tn.ppd" Attribute "Product" "" "(HP LaserJet p4515tn Printer)" } @@ -13202,7 +13882,7 @@ ModelName "HP LaserJet p4515n" Attribute "NickName" "" "HP LaserJet p4515n, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p4515n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4515n;DES:hp laserjet p4515n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4515n;DES:hp laserjet p4515n;" PCFileName "hp-laserjet_p4515n.ppd" Attribute "Product" "" "(HP LaserJet p4515n Printer)" } @@ -13210,7 +13890,7 @@ ModelName "HP LaserJet p4515xm" Attribute "NickName" "" "HP LaserJet p4515xm, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p4515xm" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4515xm;DES:hp laserjet p4515xm;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4515xm;DES:hp laserjet p4515xm;" PCFileName "hp-laserjet_p4515xm.ppd" Attribute "Product" "" "(HP LaserJet p4515xm Printer)" } @@ -13218,7 +13898,7 @@ ModelName "HP LaserJet p4515" Attribute "NickName" "" "HP LaserJet p4515, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p4515" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4515;DES:hp laserjet p4515;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4515;DES:hp laserjet p4515;" PCFileName "hp-laserjet_p4515.ppd" Attribute "Product" "" "(HP LaserJet p4515 Printer)" } @@ -13226,15 +13906,41 @@ ModelName "HP LaserJet p4515x" Attribute "NickName" "" "HP LaserJet p4515x, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet p4515x" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4515x;DES:hp laserjet p4515x;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4515x;DES:hp laserjet p4515x;" PCFileName "hp-laserjet_p4515x.ppd" Attribute "Product" "" "(HP LaserJet p4515x Printer)" } { + ModelName "HP LaserJet 5l" + Attribute "NickName" "" "HP LaserJet 5l, hpcups $Version" + Attribute "ShortNickName" "" "HP LaserJet 5l" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5l;DES:hp laserjet 5l;" + PCFileName "hp-laserjet_5l.ppd" + Attribute "Product" "" "(HP LaserJet 5l Printer)" + Attribute "Product" "" "(HP LaserJet 5l-fs Printer)" + Attribute "Product" "" "(HP LaserJet 5l Xtra Printer)" + } + { + ModelName "HP LaserJet 5mp" + Attribute "NickName" "" "HP LaserJet 5mp pcl3, hpcups $Version" + Attribute "ShortNickName" "" "HP LaserJet 5mp" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5mp;DES:hp laserjet 5mp;" + PCFileName "hp-laserjet_5mp-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 5mp Printer)" + } + { + ModelName "HP LaserJet 5p" + Attribute "NickName" "" "HP LaserJet 5p, hpcups $Version" + Attribute "ShortNickName" "" "HP LaserJet 5p" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5p;DES:hp laserjet 5p;" + PCFileName "hp-laserjet_5p.ppd" + Attribute "Product" "" "(HP LaserJet 5p Printer)" + } + { ModelName "HP LaserJet 5000 Series" Attribute "NickName" "" "HP LaserJet 5000 Series pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 5000 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5000 series;DES:hp laserjet 5000 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5000 series;DES:hp laserjet 5000 series;" PCFileName "hp-laserjet_5000_series-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 5000 Series Printer)" } @@ -13242,15 +13948,45 @@ ModelName "HP LaserJet 5200lx" Attribute "NickName" "" "HP LaserJet 5200lx, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 5200lx" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5200lx;DES:hp laserjet 5200lx;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5200lx;DES:hp laserjet 5200lx;" PCFileName "hp-laserjet_5200lx.ppd" Attribute "Product" "" "(HP LaserJet 5200lx Printer)" } { + ModelName "HP LaserJet 6l" + Attribute "NickName" "" "HP LaserJet 6l, hpcups $Version" + Attribute "ShortNickName" "" "HP LaserJet 6l" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 6l;DES:hp laserjet 6l;" + PCFileName "hp-laserjet_6l.ppd" + Attribute "Product" "" "(HP LaserJet 6l Printer)" + Attribute "Product" "" "(HP LaserJet 6lse Printer)" + Attribute "Product" "" "(HP LaserJet 6lxi Printer)" + Attribute "Product" "" "(HP LaserJet 6l Gold Printer)" + Attribute "Product" "" "(HP LaserJet 6l Pro Printer)" + } + { + ModelName "HP LaserJet 6p" + Attribute "NickName" "" "HP LaserJet 6p, hpcups $Version" + Attribute "ShortNickName" "" "HP LaserJet 6p" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 6p;DES:hp laserjet 6p;" + PCFileName "hp-laserjet_6p.ppd" + Attribute "Product" "" "(HP LaserJet 6p Printer)" + } + { + ModelName "HP LaserJet 6mp" + Attribute "NickName" "" "HP LaserJet 6mp pcl3, hpcups $Version" + Attribute "ShortNickName" "" "HP LaserJet 6mp" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 6mp;DES:hp laserjet 6mp;" + PCFileName "hp-laserjet_6mp-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 6mp Printer)" + Attribute "Product" "" "(HP LaserJet 6mp Se Printer)" + Attribute "Product" "" "(HP LaserJet 6mp Xi Printer)" + } + { ModelName "HP LaserJet 8000 Series" Attribute "NickName" "" "HP LaserJet 8000 Series pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 8000 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 8000 series;DES:hp laserjet 8000 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 8000 series;DES:hp laserjet 8000 series;" PCFileName "hp-laserjet_8000_series-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 8000 Series Printer)" } @@ -13258,7 +13994,7 @@ ModelName "HP LaserJet 8100 MFP" Attribute "NickName" "" "HP LaserJet 8100 MFP, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 8100 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 8100 mfp;DES:hp laserjet 8100 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 8100 mfp;DES:hp laserjet 8100 mfp;" PCFileName "hp-laserjet_8100_mfp.ppd" Attribute "Product" "" "(HP LaserJet 8100 Multifunction Printer)" } @@ -13266,7 +14002,7 @@ ModelName "HP LaserJet 8150 MFP" Attribute "NickName" "" "HP LaserJet 8150 MFP, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 8150 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 8150 mfp;DES:hp laserjet 8150 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 8150 mfp;DES:hp laserjet 8150 mfp;" PCFileName "hp-laserjet_8150_mfp.ppd" Attribute "Product" "" "(HP LaserJet 8150 Multifunction Printer)" } @@ -13274,7 +14010,7 @@ ModelName "HP LaserJet m9040 MFP" Attribute "NickName" "" "HP LaserJet m9040 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet m9040 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m9040 mfp;DES:hp laserjet m9040 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m9040 mfp;DES:hp laserjet m9040 mfp;" PCFileName "hp-laserjet_m9040_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m9040 Multifunction Printer)" } @@ -13282,7 +14018,7 @@ ModelName "HP LaserJet m9050 MFP" Attribute "NickName" "" "HP LaserJet m9050 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet m9050 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m9050 mfp;DES:hp laserjet m9050 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m9050 mfp;DES:hp laserjet m9050 mfp;" PCFileName "hp-laserjet_m9050_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m9050 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet m9059 Multifunction Printer)" @@ -13291,18 +14027,18 @@ ModelName "HP LaserJet m9059 MFP" Attribute "NickName" "" "HP LaserJet m9059 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet m9059 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m9059 mfp;DES:hp laserjet m9059 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m9059 mfp;DES:hp laserjet m9059 mfp;" PCFileName "hp-laserjet_m9059_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m9059 MFP)" } { - UIConstraints "*OutputMode Best *MediaType" + UIConstraints "*OutputMode Best *MediaType" // <%LJMono:300dpiOnly%> { ModelName "HP LaserJet 4l" Attribute "NickName" "" "HP LaserJet 4l, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 4l" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4l;DES:hp laserjet 4l;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4l;DES:hp laserjet 4l;" PCFileName "hp-laserjet_4l.ppd" Attribute "Product" "" "(HP LaserJet 4l Printer)" Attribute "Product" "" "(HP LaserJet 4l Pro Printer)" @@ -13313,14 +14049,14 @@ ModelName "HP LaserJet 4ml" Attribute "NickName" "" "HP LaserJet 4ml, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 4ml" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4ml;DES:hp laserjet 4ml;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4ml;DES:hp laserjet 4ml;" PCFileName "hp-laserjet_4ml.ppd" Attribute "Product" "" "(HP LaserJet 4ml Printer)" } } } // End Supported media sizes. - { + { // Large CustomMedia "SuperB/SuperB 13x19in" 936 1368 18 14 18 14 "<>setpagedevice" "<>setpagedevice" @@ -13336,31 +14072,11 @@ // Custom page sizes from 1x4in to SuperB HWMargins 18 14 18 14 VariablePaperSize Yes - MinSize 1in 4in + MinSize 1in 4in MaxSize 936 1368 // <%LJMono:LargeFormatA3%> { - ModelName "HP LaserJet 5si" - Attribute "NickName" "" "HP LaserJet 5si pcl3, hpcups $Version" - Attribute "ShortNickName" "" "HP LaserJet 5si" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5si;DES:hp laserjet 5si;" - PCFileName "hp-laserjet_5si-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 5si Printer)" - Attribute "Product" "" "(HP LaserJet 5si Hm Printer)" - Attribute "Product" "" "(HP LaserJet 5si Mx Printer)" - Attribute "Product" "" "(HP LaserJet 5si Nx Printer)" - } - { - ModelName "HP LaserJet 5si Mopier" - Attribute "NickName" "" "HP LaserJet 5si Mopier pcl3, hpcups $Version" - Attribute "ShortNickName" "" "HP LaserJet 5si Mopier" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5si mopier;DES:hp laserjet 5si mopier;" - PCFileName "hp-laserjet_5si_mopier-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 5si Mopier)" - Attribute "Product" "" "(HP LaserJet 5si Mopier Engine)" - } - { ModelName "HP Mopier 240" Attribute "NickName" "" "HP Mopier 240 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Mopier 240" @@ -13369,6 +14085,15 @@ Attribute "Product" "" "(HP Mopier 240 Printer)" } { + ModelName "HP LaserJet m3035 MFP" + Attribute "NickName" "" "HP LaserJet m3035 MFP pcl3, hpcups $Version" + Attribute "ShortNickName" "" "HP LaserJet m3035 MFP" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m3035 mfp;DES:hp laserjet m3035 mfp;" + PCFileName "hp-laserjet_m3035_mfp-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet m3035 Multifunction Printer)" + Attribute "Product" "" "(HP LaserJet m3035xs Multifunction Printer)" + } + { ModelName "HP Mopier 320" Attribute "NickName" "" "HP Mopier 320 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Mopier 320" @@ -13377,19 +14102,30 @@ Attribute "Product" "" "(HP Mopier 320 Printer)" } { - ModelName "HP LaserJet m3035 MFP" - Attribute "NickName" "" "HP LaserJet m3035 MFP pcl3, hpcups $Version" - Attribute "ShortNickName" "" "HP LaserJet m3035 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m3035 mfp;DES:hp laserjet m3035 mfp;" - PCFileName "hp-laserjet_m3035_mfp-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet m3035 Multifunction Printer)" - Attribute "Product" "" "(HP LaserJet m3035xs Multifunction Printer)" + ModelName "HP LaserJet 5si" + Attribute "NickName" "" "HP LaserJet 5si pcl3, hpcups $Version" + Attribute "ShortNickName" "" "HP LaserJet 5si" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5si;DES:hp laserjet 5si;" + PCFileName "hp-laserjet_5si-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 5si Printer)" + Attribute "Product" "" "(HP LaserJet 5si Hm Printer)" + Attribute "Product" "" "(HP LaserJet 5si Mx Printer)" + Attribute "Product" "" "(HP LaserJet 5si Nx Printer)" + } + { + ModelName "HP LaserJet 5si Mopier" + Attribute "NickName" "" "HP LaserJet 5si Mopier pcl3, hpcups $Version" + Attribute "ShortNickName" "" "HP LaserJet 5si Mopier" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5si mopier;DES:hp laserjet 5si mopier;" + PCFileName "hp-laserjet_5si_mopier-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 5si Mopier)" + Attribute "Product" "" "(HP LaserJet 5si Mopier Engine)" } { ModelName "HP LaserJet 5000" Attribute "NickName" "" "HP LaserJet 5000, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 5000" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5000;DES:hp laserjet 5000;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5000;DES:hp laserjet 5000;" PCFileName "hp-laserjet_5000.ppd" Attribute "Product" "" "(HP LaserJet 5000 Printer)" Attribute "Product" "" "(HP LaserJet 5000le Printer)" @@ -13401,7 +14137,7 @@ ModelName "HP LaserJet m5025 MFP" Attribute "NickName" "" "HP LaserJet m5025 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet m5025 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m5025 mfp;DES:hp laserjet m5025 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m5025 mfp;DES:hp laserjet m5025 mfp;" PCFileName "hp-laserjet_m5025_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m5025 Multifunction Printer)" } @@ -13409,7 +14145,7 @@ ModelName "HP LaserJet m5035 MFP" Attribute "NickName" "" "HP LaserJet m5035 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet m5035 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m5035 mfp;DES:hp laserjet m5035 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m5035 mfp;DES:hp laserjet m5035 mfp;" PCFileName "hp-laserjet_m5035_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m5035 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet m5035x Multifunction Printer)" @@ -13419,7 +14155,7 @@ ModelName "HP LaserJet m5039 MFP" Attribute "NickName" "" "HP LaserJet m5039 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet m5039 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m5039 mfp;DES:hp laserjet m5039 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m5039 mfp;DES:hp laserjet m5039 mfp;" PCFileName "hp-laserjet_m5039_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m5039 Multifunction Printer)" } @@ -13427,7 +14163,7 @@ ModelName "HP LaserJet 5100 Series" Attribute "NickName" "" "HP LaserJet 5100 Series pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 5100 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5100 series;DES:hp laserjet 5100 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5100 series;DES:hp laserjet 5100 series;" PCFileName "hp-laserjet_5100_series-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 5100 Printer)" Attribute "Product" "" "(HP LaserJet 5100le Printer)" @@ -13439,7 +14175,7 @@ ModelName "HP LaserJet 5200" Attribute "NickName" "" "HP LaserJet 5200 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 5200" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5200;DES:hp laserjet 5200;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5200;DES:hp laserjet 5200;" PCFileName "hp-laserjet_5200-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 5200 Printer)" Attribute "Product" "" "(HP LaserJet 5200n Printer)" @@ -13450,7 +14186,7 @@ ModelName "HP LaserJet 5200l" Attribute "NickName" "" "HP LaserJet 5200l pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 5200l" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5200l;DES:hp laserjet 5200l;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5200l;DES:hp laserjet 5200l;" PCFileName "hp-laserjet_5200l-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 5200l Printer)" } @@ -13458,7 +14194,7 @@ ModelName "HP LaserJet 8000" Attribute "NickName" "" "HP LaserJet 8000, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 8000" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 8000;DES:hp laserjet 8000;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 8000;DES:hp laserjet 8000;" PCFileName "hp-laserjet_8000.ppd" Attribute "Product" "" "(HP LaserJet 8000 Printer)" Attribute "Product" "" "(HP LaserJet 8000dn Printer)" @@ -13468,7 +14204,7 @@ ModelName "HP LaserJet 8100 Series" Attribute "NickName" "" "HP LaserJet 8100 Series pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 8100 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 8100 series;DES:hp laserjet 8100 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 8100 series;DES:hp laserjet 8100 series;" PCFileName "hp-laserjet_8100_series-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 8100 Printer)" Attribute "Product" "" "(HP LaserJet 8100dn Printer)" @@ -13478,7 +14214,7 @@ ModelName "HP LaserJet 8150 Series" Attribute "NickName" "" "HP LaserJet 8150 Series pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 8150 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 8150 series;DES:hp laserjet 8150 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 8150 series;DES:hp laserjet 8150 series;" PCFileName "hp-laserjet_8150_series-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 8150 Printer)" Attribute "Product" "" "(HP LaserJet 8150n Printer)" @@ -13489,7 +14225,7 @@ ModelName "HP LaserJet 9000 Series" Attribute "NickName" "" "HP LaserJet 9000 Series pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 9000 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 9000 series;DES:hp laserjet 9000 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 9000 series;DES:hp laserjet 9000 series;" PCFileName "hp-laserjet_9000_series-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 9000 Printer)" Attribute "Product" "" "(HP LaserJet 9000n Printer)" @@ -13501,7 +14237,7 @@ ModelName "HP LaserJet 9000 MFP" Attribute "NickName" "" "HP LaserJet 9000 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 9000 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 9000 mfp;DES:hp laserjet 9000 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 9000 mfp;DES:hp laserjet 9000 mfp;" PCFileName "hp-laserjet_9000_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 9000 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet 9000l Multifunction Printer)" @@ -13510,7 +14246,7 @@ ModelName "HP LaserJet 9040 MFP" Attribute "NickName" "" "HP LaserJet 9040 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 9040 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 9040 mfp;DES:hp laserjet 9040 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 9040 mfp;DES:hp laserjet 9040 mfp;" PCFileName "hp-laserjet_9040_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 9040n Printer)" Attribute "Product" "" "(HP LaserJet 9040dn Printer)" @@ -13520,7 +14256,7 @@ ModelName "HP LaserJet 9040" Attribute "NickName" "" "HP LaserJet 9040 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 9040" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 9040;DES:hp laserjet 9040;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 9040;DES:hp laserjet 9040;" PCFileName "hp-laserjet_9040-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 9040 Printer)" Attribute "Product" "" "(HP LaserJet 9040n Printer)" @@ -13530,7 +14266,7 @@ ModelName "HP LaserJet 9050" Attribute "NickName" "" "HP LaserJet 9050 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 9050" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 9050;DES:hp laserjet 9050;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 9050;DES:hp laserjet 9050;" PCFileName "hp-laserjet_9050-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 9050 Printer)" Attribute "Product" "" "(HP LaserJet 9050n Printer)" @@ -13540,7 +14276,7 @@ ModelName "HP LaserJet 9050 MFP" Attribute "NickName" "" "HP LaserJet 9050 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 9050 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 9050 mfp;DES:hp laserjet 9050 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 9050 mfp;DES:hp laserjet 9050 mfp;" PCFileName "hp-laserjet_9050_mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 9050 Multifunction Printer)" } @@ -13548,7 +14284,7 @@ ModelName "HP LaserJet 9055mfp" Attribute "NickName" "" "HP LaserJet 9055mfp pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 9055mfp" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 9055mfp;DES:hp laserjet 9055mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 9055mfp;DES:hp laserjet 9055mfp;" PCFileName "hp-laserjet_9055mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 9055 Multifunction Printer)" } @@ -13556,7 +14292,7 @@ ModelName "HP LaserJet 9065mfp" Attribute "NickName" "" "HP LaserJet 9065mfp pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 9065mfp" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 9065mfp;DES:hp laserjet 9065mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 9065mfp;DES:hp laserjet 9065mfp;" PCFileName "hp-laserjet_9065mfp-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 9065 Multifunction Printer)" } @@ -13598,14 +14334,14 @@ // Constraints //UIConstraints "*Duplex *OptionDuplex False" - Attribute "cupsModelName" "" "hp color LaserJet" // APDK device class + Attribute "cupsModelName" "" "hp color LaserJet" // APDK device class // 4x6 or smaller CustomMedia "Card3x5/Index Card 3x5in" 216 360 18.00 14.40 18.00 14.40 "<>setpagedevice" "<>setpagedevice" CustomMedia "Hagaki/Hagaki 100x148mm" 284 420 18.00 14.40 18.00 14.40 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 18.00 14.40 18.00 14.40 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 18.00 14.40 18.00 14.40 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 18.00 14.40 18.00 14.40 "<>setpagedevice" "<>setpagedevice" @@ -13631,7 +14367,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 18.00 14.40 18.00 14.40 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 18.00 14.40 18.00 14.40 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 18.00 14.40 18.00 14.40 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18.00 14.40 18.00 14.40 "<>setpagedevice" "<>setpagedevice" @@ -13666,7 +14402,7 @@ VariablePaperSize Yes MinSize 1in 4in MaxSize 8.5in 14in - { + { // MediaPosition values map to MediaSource enumeration in global_types.h Option "InputSlot/Media Source" PickOne AnySetup 10.0 *Choice "Auto/Auto-Select" "<>setpagedevice" @@ -13682,7 +14418,7 @@ ModelName "HP Color LaserJet cm1312nfi MFP" Attribute "NickName" "" "HP Color LaserJet cm1312nfi MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cm1312nfi MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm1312nfi mfp;DES:hp color laserjet cm1312nfi mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm1312nfi mfp;DES:hp color laserjet cm1312nfi mfp;" PCFileName "hp-color_laserjet_cm1312nfi_mfp-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm1312nfi Multifunction Printer)" } @@ -13690,7 +14426,7 @@ ModelName "HP Color LaserJet cm1312 MFP" Attribute "NickName" "" "HP Color LaserJet cm1312 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cm1312 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm1312 mfp;DES:hp color laserjet cm1312 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm1312 mfp;DES:hp color laserjet cm1312 mfp;" PCFileName "hp-color_laserjet_cm1312_mfp-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm1312 Multifunction Printer)" } @@ -13698,7 +14434,7 @@ ModelName "HP LaserJet cm1411fn" Attribute "NickName" "" "HP LaserJet cm1411fn pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet cm1411fn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cm1411fn;DES:hp laserjet cm1411fn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cm1411fn;DES:hp laserjet cm1411fn;" PCFileName "hp-laserjet_cm1411fn-pcl3.ppd" Attribute "Product" "" "(HP LaserJet Professional cm1411fn)" } @@ -13706,7 +14442,7 @@ ModelName "HP LaserJet cm1412fn" Attribute "NickName" "" "HP LaserJet cm1412fn pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet cm1412fn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cm1412fn;DES:hp laserjet cm1412fn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cm1412fn;DES:hp laserjet cm1412fn;" PCFileName "hp-laserjet_cm1412fn-pcl3.ppd" Attribute "Product" "" "(HP LaserJet Professional cm1412fn)" } @@ -13714,7 +14450,7 @@ ModelName "HP LaserJet cm1413fn" Attribute "NickName" "" "HP LaserJet cm1413fn pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet cm1413fn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cm1413fn;DES:hp laserjet cm1413fn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cm1413fn;DES:hp laserjet cm1413fn;" PCFileName "hp-laserjet_cm1413fn-pcl3.ppd" Attribute "Product" "" "(HP LaserJet Professional cm1413fn)" } @@ -13722,7 +14458,7 @@ ModelName "HP LaserJet cm1415fn" Attribute "NickName" "" "HP LaserJet cm1415fn pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet cm1415fn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cm1415fn;DES:hp laserjet cm1415fn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cm1415fn;DES:hp laserjet cm1415fn;" PCFileName "hp-laserjet_cm1415fn-pcl3.ppd" Attribute "Product" "" "(HP LaserJet Professional cm1415fn)" } @@ -13730,7 +14466,7 @@ ModelName "HP LaserJet cm1415fnw" Attribute "NickName" "" "HP LaserJet cm1415fnw pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet cm1415fnw" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cm1415fnw;DES:hp laserjet cm1415fnw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cm1415fnw;DES:hp laserjet cm1415fnw;" PCFileName "hp-laserjet_cm1415fnw-pcl3.ppd" Attribute "Product" "" "(HP LaserJet Professional cm1415fnw)" } @@ -13738,7 +14474,7 @@ ModelName "HP LaserJet cm1416fnw" Attribute "NickName" "" "HP LaserJet cm1416fnw pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet cm1416fnw" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cm1416fnw;DES:hp laserjet cm1416fnw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cm1416fnw;DES:hp laserjet cm1416fnw;" PCFileName "hp-laserjet_cm1416fnw-pcl3.ppd" Attribute "Product" "" "(HP LaserJet Professional cm1416fnw)" } @@ -13746,7 +14482,7 @@ ModelName "HP LaserJet cm1417fnw" Attribute "NickName" "" "HP LaserJet cm1417fnw pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet cm1417fnw" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cm1417fnw;DES:hp laserjet cm1417fnw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cm1417fnw;DES:hp laserjet cm1417fnw;" PCFileName "hp-laserjet_cm1417fnw-pcl3.ppd" Attribute "Product" "" "(HP LaserJet Professional cm1417fnw)" } @@ -13754,7 +14490,7 @@ ModelName "HP LaserJet cm1418fnw" Attribute "NickName" "" "HP LaserJet cm1418fnw pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet cm1418fnw" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cm1418fnw;DES:hp laserjet cm1418fnw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cm1418fnw;DES:hp laserjet cm1418fnw;" PCFileName "hp-laserjet_cm1418fnw-pcl3.ppd" Attribute "Product" "" "(HP LaserJet Professional cm1418fnw)" } @@ -13762,7 +14498,7 @@ ModelName "HP Color LaserJet cp1514n" Attribute "NickName" "" "HP Color LaserJet cp1514n pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp1514n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp1514n;DES:hp color laserjet cp1514n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp1514n;DES:hp color laserjet cp1514n;" PCFileName "hp-color_laserjet_cp1514n-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp1514n Printer)" } @@ -13770,7 +14506,7 @@ ModelName "HP Color LaserJet cp1515n" Attribute "NickName" "" "HP Color LaserJet cp1515n pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp1515n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp1515n;DES:hp color laserjet cp1515n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp1515n;DES:hp color laserjet cp1515n;" PCFileName "hp-color_laserjet_cp1515n-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp1515n Printer)" } @@ -13778,7 +14514,7 @@ ModelName "HP Color LaserJet cp1518ni" Attribute "NickName" "" "HP Color LaserJet cp1518ni pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp1518ni" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp1518ni;DES:hp color laserjet cp1518ni;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp1518ni;DES:hp color laserjet cp1518ni;" PCFileName "hp-color_laserjet_cp1518ni-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp1518ni Printer)" } @@ -13786,7 +14522,7 @@ ModelName "HP Color LaserJet cp2025dn" Attribute "NickName" "" "HP Color LaserJet cp2025dn pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp2025dn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp2025dn;DES:hp color laserjet cp2025dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp2025dn;DES:hp color laserjet cp2025dn;" PCFileName "hp-color_laserjet_cp2025dn-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp2025dn Printer)" } @@ -13794,7 +14530,7 @@ ModelName "HP Color LaserJet cp2025" Attribute "NickName" "" "HP Color LaserJet cp2025 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp2025" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp2025;DES:hp color laserjet cp2025;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp2025;DES:hp color laserjet cp2025;" PCFileName "hp-color_laserjet_cp2025-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp2025 Printer)" } @@ -13802,7 +14538,7 @@ ModelName "HP Color LaserJet cp2025n" Attribute "NickName" "" "HP Color LaserJet cp2025n pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp2025n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp2025n;DES:hp color laserjet cp2025n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp2025n;DES:hp color laserjet cp2025n;" PCFileName "hp-color_laserjet_cp2025n-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp2025n Printer)" } @@ -13810,7 +14546,7 @@ ModelName "HP Color LaserJet cp2025x" Attribute "NickName" "" "HP Color LaserJet cp2025x pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp2025x" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp2025x;DES:hp color laserjet cp2025x;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp2025x;DES:hp color laserjet cp2025x;" PCFileName "hp-color_laserjet_cp2025x-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp2025x Printer)" } @@ -13828,7 +14564,7 @@ ModelName "HP Color LaserJet 2500" Attribute "NickName" "" "HP Color LaserJet 2500 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 2500" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 2500;DES:hp color laserjet 2500;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 2500;DES:hp color laserjet 2500;" PCFileName "hp-color_laserjet_2500-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 2500 Printer)" } @@ -13836,7 +14572,7 @@ ModelName "HP Color LaserJet 2500 Series" Attribute "NickName" "" "HP Color LaserJet 2500 Series, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 2500 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 2500 series;DES:hp color laserjet 2500 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 2500 series;DES:hp color laserjet 2500 series;" PCFileName "hp-color_laserjet_2500_series.ppd" Attribute "Product" "" "(HP Color LaserJet 2500l Printer)" Attribute "Product" "" "(HP Color LaserJet 2500lse Printer)" @@ -13847,7 +14583,7 @@ ModelName "HP Color LaserJet 3000" Attribute "NickName" "" "HP Color LaserJet 3000 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 3000" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3000;DES:hp color laserjet 3000;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3000;DES:hp color laserjet 3000;" PCFileName "hp-color_laserjet_3000-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 3000 Printer)" Attribute "Product" "" "(HP Color LaserJet 3000n Printer)" @@ -13858,7 +14594,7 @@ ModelName "HP Color LaserJet cp3505" Attribute "NickName" "" "HP Color LaserJet cp3505 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp3505" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp3505;DES:hp color laserjet cp3505;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp3505;DES:hp color laserjet cp3505;" PCFileName "hp-color_laserjet_cp3505-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp3505n Printer)" Attribute "Product" "" "(HP Color LaserJet cp3505dn Printer)" @@ -13869,7 +14605,7 @@ ModelName "HP Color LaserJet cp3525" Attribute "NickName" "" "HP Color LaserJet cp3525 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp3525" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp3525;DES:hp color laserjet cp3525;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp3525;DES:hp color laserjet cp3525;" PCFileName "hp-color_laserjet_cp3525-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp3525 Printer)" Attribute "Product" "" "(HP Color LaserJet cp3525n Printer)" @@ -13880,7 +14616,7 @@ ModelName "HP Color LaserJet cm3530 MFP" Attribute "NickName" "" "HP Color LaserJet cm3530 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cm3530 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm3530 mfp;DES:hp color laserjet cm3530 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm3530 mfp;DES:hp color laserjet cm3530 mfp;" PCFileName "hp-color_laserjet_cm3530_mfp-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm3530 Multifunction Printer)" Attribute "Product" "" "(HP Color LaserJet cm3530fs Multifunction Printer)" @@ -13889,7 +14625,7 @@ ModelName "HP Color LaserJet 3700" Attribute "NickName" "" "HP Color LaserJet 3700 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 3700" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3700;DES:hp color laserjet 3700;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3700;DES:hp color laserjet 3700;" PCFileName "hp-color_laserjet_3700-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 3700 Printer)" } @@ -13897,7 +14633,7 @@ ModelName "HP Color LaserJet 3700n" Attribute "NickName" "" "HP Color LaserJet 3700n, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 3700n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3700n;DES:hp color laserjet 3700n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3700n;DES:hp color laserjet 3700n;" PCFileName "hp-color_laserjet_3700n.ppd" Attribute "Product" "" "(HP Color LaserJet 3700n Printer)" Attribute "Product" "" "(HP Color LaserJet 3700dtn Printer)" @@ -13908,7 +14644,7 @@ ModelName "HP Color LaserJet 3800" Attribute "NickName" "" "HP Color LaserJet 3800 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 3800" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3800;DES:hp color laserjet 3800;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3800;DES:hp color laserjet 3800;" PCFileName "hp-color_laserjet_3800-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 3800 Printer)" Attribute "Product" "" "(HP Color LaserJet 3800n Printer)" @@ -13919,7 +14655,7 @@ ModelName "HP Color LaserJet cp4005" Attribute "NickName" "" "HP Color LaserJet cp4005 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp4005" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp4005;DES:hp color laserjet cp4005;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp4005;DES:hp color laserjet cp4005;" PCFileName "hp-color_laserjet_cp4005-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp4005n Printer)" Attribute "Product" "" "(HP Color LaserJet cp4005dn Printer)" @@ -13929,7 +14665,7 @@ ModelName "HP Color LaserJet cp4020 Series" Attribute "NickName" "" "HP Color LaserJet cp4020 Series pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp4020 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp4020 series;DES:hp color laserjet cp4020 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp4020 series;DES:hp color laserjet cp4020 series;" PCFileName "hp-color_laserjet_cp4020_series-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp4020 Series Printer)" } @@ -13937,7 +14673,7 @@ ModelName "HP Color LaserJet 4500" Attribute "NickName" "" "HP Color LaserJet 4500 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 4500" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 4500;DES:hp color laserjet 4500;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 4500;DES:hp color laserjet 4500;" PCFileName "hp-color_laserjet_4500-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 4500 Printer)" Attribute "Product" "" "(HP Color LaserJet 4500dn Printer)" @@ -13947,7 +14683,7 @@ ModelName "HP Color LaserJet cp4520 Series" Attribute "NickName" "" "HP Color LaserJet cp4520 Series pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp4520 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp4520 series;DES:hp color laserjet cp4520 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp4520 series;DES:hp color laserjet cp4520 series;" PCFileName "hp-color_laserjet_cp4520_series-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp4520 Series Printer)" } @@ -13955,7 +14691,7 @@ ModelName "HP Color LaserJet cm4540 MFP" Attribute "NickName" "" "HP Color LaserJet cm4540 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cm4540 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm4540 mfp;DES:hp color laserjet cm4540 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm4540 mfp;DES:hp color laserjet cm4540 mfp;" PCFileName "hp-color_laserjet_cm4540_mfp-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm4540 Multifunction Printer)" } @@ -13963,7 +14699,7 @@ ModelName "HP Color LaserJet 4550" Attribute "NickName" "" "HP Color LaserJet 4550 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 4550" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 4550;DES:hp color laserjet 4550;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 4550;DES:hp color laserjet 4550;" PCFileName "hp-color_laserjet_4550-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 4550 Printer)" Attribute "Product" "" "(HP Color LaserJet 4550n Printer)" @@ -13976,7 +14712,7 @@ ModelName "HP Color LaserJet 4600 Series" Attribute "NickName" "" "HP Color LaserJet 4600 Series, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 4600 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 4600 series;DES:hp color laserjet 4600 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 4600 series;DES:hp color laserjet 4600 series;" PCFileName "hp-color_laserjet_4600_series.ppd" Attribute "Product" "" "(HP Color LaserJet 4600 Printer)" Attribute "Product" "" "(HP Color LaserJet 4600dn Printer)" @@ -13988,7 +14724,7 @@ ModelName "HP Color LaserJet 4600" Attribute "NickName" "" "HP Color LaserJet 4600 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 4600" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 4600;DES:hp color laserjet 4600;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 4600;DES:hp color laserjet 4600;" PCFileName "hp-color_laserjet_4600-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 4600 Series Printer)" } @@ -13996,7 +14732,7 @@ ModelName "HP Color LaserJet 4610" Attribute "NickName" "" "HP Color LaserJet 4610 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 4610" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 4610;DES:hp color laserjet 4610;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 4610;DES:hp color laserjet 4610;" PCFileName "hp-color_laserjet_4610-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 4610n Printer)" } @@ -14004,7 +14740,7 @@ ModelName "HP Color LaserJet 4650" Attribute "NickName" "" "HP Color LaserJet 4650 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 4650" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 4650;DES:hp color laserjet 4650;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 4650;DES:hp color laserjet 4650;" PCFileName "hp-color_laserjet_4650-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 4650 Printer)" Attribute "Product" "" "(HP Color LaserJet 4650n Printer)" @@ -14016,7 +14752,7 @@ ModelName "HP Color LaserJet 4700" Attribute "NickName" "" "HP Color LaserJet 4700 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 4700" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 4700;DES:hp color laserjet 4700;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 4700;DES:hp color laserjet 4700;" PCFileName "hp-color_laserjet_4700-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 4700 Printer)" Attribute "Product" "" "(HP Color LaserJet 4700dn Printer)" @@ -14028,7 +14764,7 @@ ModelName "HP Color LaserJet cm4730 MFP" Attribute "NickName" "" "HP Color LaserJet cm4730 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cm4730 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm4730 mfp;DES:hp color laserjet cm4730 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm4730 mfp;DES:hp color laserjet cm4730 mfp;" PCFileName "hp-color_laserjet_cm4730_mfp-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm4730 Multifunction Printer)" Attribute "Product" "" "(HP Color LaserJet cm4730f Multifunction Printer)" @@ -14039,7 +14775,7 @@ ModelName "HP Color LaserJet 4730mfp" Attribute "NickName" "" "HP Color LaserJet 4730mfp pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 4730mfp" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 4730mfp;DES:hp color laserjet 4730mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 4730mfp;DES:hp color laserjet 4730mfp;" PCFileName "hp-color_laserjet_4730mfp-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 4730xs Multifunction Printer)" Attribute "Product" "" "(HP Color LaserJet 4730xm Multifunction Printer)" @@ -14050,7 +14786,7 @@ ModelName "HP Color LaserJet cp5225" Attribute "NickName" "" "HP Color LaserJet cp5225 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp5225" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp5225;DES:hp color laserjet cp5225;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp5225;DES:hp color laserjet cp5225;" PCFileName "hp-color_laserjet_cp5225-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp5225)" } @@ -14058,7 +14794,7 @@ ModelName "HP Color LaserJet cp5225n" Attribute "NickName" "" "HP Color LaserJet cp5225n pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp5225n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp5225n;DES:hp color laserjet cp5225n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp5225n;DES:hp color laserjet cp5225n;" PCFileName "hp-color_laserjet_cp5225n-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp5225n)" } @@ -14066,7 +14802,7 @@ ModelName "HP Color LaserJet cp5225dn" Attribute "NickName" "" "HP Color LaserJet cp5225dn pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp5225dn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp5225dn;DES:hp color laserjet cp5225dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp5225dn;DES:hp color laserjet cp5225dn;" PCFileName "hp-color_laserjet_cp5225dn-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp5225dn)" } @@ -14074,7 +14810,7 @@ ModelName "HP Color LaserJet cp5520 Series" Attribute "NickName" "" "HP Color LaserJet cp5520 Series pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp5520 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp5520 series;DES:hp color laserjet cp5520 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp5520 series;DES:hp color laserjet cp5520 series;" PCFileName "hp-color_laserjet_cp5520_series-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp5520 Series Printer)" } @@ -14102,7 +14838,7 @@ ModelName "HP Color LaserJet cm2320 MFP" Attribute "NickName" "" "HP Color LaserJet cm2320 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cm2320 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm2320 mfp;DES:hp color laserjet cm2320 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm2320 mfp;DES:hp color laserjet cm2320 mfp;" PCFileName "hp-color_laserjet_cm2320_mfp-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm2320 Multifuntion Printer)" } @@ -14110,7 +14846,7 @@ ModelName "HP Color LaserJet cm2320nf MFP" Attribute "NickName" "" "HP Color LaserJet cm2320nf MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cm2320nf MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm2320nf mfp;DES:hp color laserjet cm2320nf mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm2320nf mfp;DES:hp color laserjet cm2320nf mfp;" PCFileName "hp-color_laserjet_cm2320nf_mfp-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm2320nf Multifunction Printer)" } @@ -14118,7 +14854,7 @@ ModelName "HP Color LaserJet cm2320fxi MFP" Attribute "NickName" "" "HP Color LaserJet cm2320fxi MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cm2320fxi MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm2320fxi mfp;DES:hp color laserjet cm2320fxi mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm2320fxi mfp;DES:hp color laserjet cm2320fxi mfp;" PCFileName "hp-color_laserjet_cm2320fxi_mfp-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm2320fxi Multifunction Printer)" } @@ -14126,14 +14862,14 @@ ModelName "HP Color LaserJet cm2320n MFP" Attribute "NickName" "" "HP Color LaserJet cm2320n MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cm2320n MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm2320n mfp;DES:hp color laserjet cm2320n mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm2320n mfp;DES:hp color laserjet cm2320n mfp;" PCFileName "hp-color_laserjet_cm2320n_mfp-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm2320n Multifunction Printer)" } } } // End supported media sizes. - { + { // Large CustomMedia "SuperB/SuperB 13x19in" 936 1368 18 14 18 14 "<>setpagedevice" "<>setpagedevice" @@ -14149,7 +14885,7 @@ // Custom page sizes from 1x4in to SuperB HWMargins 18 14 18 14 VariablePaperSize Yes - MinSize 1in 4in + MinSize 1in 4in MaxSize 936 1368 // <%LJColor:LargeFormatSuperB%> @@ -14189,7 +14925,7 @@ ModelName "HP Color LaserJet 5500" Attribute "NickName" "" "HP Color LaserJet 5500 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 5500" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 5500;DES:hp color laserjet 5500;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 5500;DES:hp color laserjet 5500;" PCFileName "hp-color_laserjet_5500-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 5500 Printer)" Attribute "Product" "" "(HP Color LaserJet 5500n Printer)" @@ -14201,7 +14937,7 @@ ModelName "HP Color LaserJet 5550" Attribute "NickName" "" "HP Color LaserJet 5550 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 5550" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 5550;DES:hp color laserjet 5550;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 5550;DES:hp color laserjet 5550;" PCFileName "hp-color_laserjet_5550-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 5550n Printer)" Attribute "Product" "" "(HP Color LaserJet 5550 Printer)" @@ -14213,7 +14949,7 @@ ModelName "HP Color LaserJet cp6015" Attribute "NickName" "" "HP Color LaserJet cp6015 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp6015" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp6015;DES:hp color laserjet cp6015;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp6015;DES:hp color laserjet cp6015;" PCFileName "hp-color_laserjet_cp6015-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp6015dn Printer)" Attribute "Product" "" "(HP Color LaserJet cp6015x Printer)" @@ -14225,7 +14961,7 @@ ModelName "HP Color LaserJet cm6030 MFP" Attribute "NickName" "" "HP Color LaserJet cm6030 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cm6030 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm6030 mfp;DES:hp color laserjet cm6030 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm6030 mfp;DES:hp color laserjet cm6030 mfp;" PCFileName "hp-color_laserjet_cm6030_mfp-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm6030 Multifunction Printer)" Attribute "Product" "" "(HP Color LaserJet cm6030f Multifunction Printer)" @@ -14234,7 +14970,7 @@ ModelName "HP Color LaserJet cm6040 MFP" Attribute "NickName" "" "HP Color LaserJet cm6040 MFP, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cm6040 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm6040 mfp;DES:hp color laserjet cm6040 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm6040 mfp;DES:hp color laserjet cm6040 mfp;" PCFileName "hp-color_laserjet_cm6040_mfp.ppd" Attribute "Product" "" "(HP Color LaserJet cm6040 Multifunction Printer)" Attribute "Product" "" "(HP Color LaserJet cm6040f Multifunction Printer)" @@ -14244,7 +14980,7 @@ ModelName "HP Color LaserJet cm6049 MFP" Attribute "NickName" "" "HP Color LaserJet cm6049 MFP, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet cm6049 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm6049 mfp;DES:hp color laserjet cm6049 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm6049 mfp;DES:hp color laserjet cm6049 mfp;" PCFileName "hp-color_laserjet_cm6049_mfp.ppd" Attribute "Product" "" "(HP Color LaserJet cm6049 MFP)" } @@ -14252,7 +14988,7 @@ ModelName "HP Color LaserJet 8500" Attribute "NickName" "" "HP Color LaserJet 8500 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 8500" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 8500;DES:hp color laserjet 8500;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 8500;DES:hp color laserjet 8500;" PCFileName "hp-color_laserjet_8500-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 8500 Printer)" Attribute "Product" "" "(HP Color LaserJet 8500n Printer)" @@ -14262,7 +14998,7 @@ ModelName "HP Color LaserJet 8550" Attribute "NickName" "" "HP Color LaserJet 8550 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 8550" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 8550;DES:hp color laserjet 8550;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 8550;DES:hp color laserjet 8550;" PCFileName "hp-color_laserjet_8550-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 8550dn Printer)" Attribute "Product" "" "(HP Color LaserJet 8550gn Printer)" @@ -14275,7 +15011,7 @@ ModelName "HP Color LaserJet 9500" Attribute "NickName" "" "HP Color LaserJet 9500 pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 9500" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 9500;DES:hp color laserjet 9500;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 9500;DES:hp color laserjet 9500;" PCFileName "hp-color_laserjet_9500-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 9500n Printer)" Attribute "Product" "" "(HP Color LaserJet 9500hdn Printer)" @@ -14286,31 +15022,15 @@ ModelName "HP Color LaserJet 9500 MFP" Attribute "NickName" "" "HP Color LaserJet 9500 MFP pcl3, hpcups $Version" Attribute "ShortNickName" "" "HP Color LaserJet 9500 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 9500 mfp;DES:hp color laserjet 9500 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 9500 mfp;DES:hp color laserjet 9500 mfp;" PCFileName "hp-color_laserjet_9500_mfp-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 9500 Multifunction Printer)" } } { - UIConstraints "*OutputMode Best *MediaType" + UIConstraints "*OutputMode Best *MediaType" // <%LJColor:300dpiOnly:LargeFormatA3%> { - ModelName "HP Color LaserJet 5" - Attribute "NickName" "" "HP Color LaserJet 5, hpcups $Version" - Attribute "ShortNickName" "" "HP Color LaserJet 5" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 5;DES:hp color laserjet 5;" - PCFileName "hp-color_laserjet_5.ppd" - Attribute "Product" "" "(HP Color LaserJet 5 Printer)" - } - { - ModelName "HP Color LaserJet 5m" - Attribute "NickName" "" "HP Color LaserJet 5m pcl3, hpcups $Version" - Attribute "ShortNickName" "" "HP Color LaserJet 5m" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 5m;DES:hp color laserjet 5m;" - PCFileName "hp-color_laserjet_5m-pcl3.ppd" - Attribute "Product" "" "(HP Color LaserJet 5m Printer)" - } - { ModelName "HP Deskjet 1200c" Attribute "NickName" "" "HP Deskjet 1200c, hpcups $Version" Attribute "ShortNickName" "" "HP Deskjet 1200c" @@ -14342,6 +15062,22 @@ PCFileName "hp-deskjet_1600cm.ppd" Attribute "Product" "" "(HP Deskjet 1600cm Printer)" } + { + ModelName "HP Color LaserJet 5" + Attribute "NickName" "" "HP Color LaserJet 5, hpcups $Version" + Attribute "ShortNickName" "" "HP Color LaserJet 5" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 5;DES:hp color laserjet 5;" + PCFileName "hp-color_laserjet_5.ppd" + Attribute "Product" "" "(HP Color LaserJet 5 Printer)" + } + { + ModelName "HP Color LaserJet 5m" + Attribute "NickName" "" "HP Color LaserJet 5m pcl3, hpcups $Version" + Attribute "ShortNickName" "" "HP Color LaserJet 5m" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 5m;DES:hp color laserjet 5m;" + PCFileName "hp-color_laserjet_5m-pcl3.ppd" + Attribute "Product" "" "(HP Color LaserJet 5m Printer)" + } } } // End Large format media sizes. } // End LJColor @@ -14388,7 +15124,7 @@ // Constraints //UIConstraints "*Duplex *OptionDuplex False" - Attribute "cupsModelName" "" "hp LaserJet 1010" // APDK device class + Attribute "cupsModelName" "" "hp LaserJet 1010" // APDK device class { // 4x6 or smaller @@ -14418,7 +15154,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 12 12 12 12 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 12 12 12 12 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 12 12 12 12 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 12 12 12 12 "<>setpagedevice" "<>setpagedevice" @@ -14458,7 +15194,7 @@ ModelName "HP LaserJet 1010" Attribute "NickName" "" "HP LaserJet 1010, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1010" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1010;DES:hp laserjet 1010;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1010;DES:hp laserjet 1010;" PCFileName "hp-laserjet_1010.ppd" Attribute "Product" "" "(HP LaserJet 1010 Printer)" } @@ -14466,7 +15202,7 @@ ModelName "HP LaserJet 1012" Attribute "NickName" "" "HP LaserJet 1012, hpcups $Version" Attribute "ShortNickName" "" "HP LaserJet 1012" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1012;DES:hp laserjet 1012;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1012;DES:hp laserjet 1012;" PCFileName "hp-laserjet_1012.ppd" Attribute "Product" "" "(HP LaserJet 1012 Printer)" } @@ -14507,7 +15243,7 @@ // Constraints - Attribute "cupsModelName" "" "DESKJET 350" // APDK device class + Attribute "cupsModelName" "" "DESKJET 350" // APDK device class { // 5x7 @@ -14523,7 +15259,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 18 48 18 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 48 18 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 48 18 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18 48 18 9 "<>setpagedevice" "<>setpagedevice" @@ -14592,7 +15328,7 @@ // Constraints - Attribute "cupsModelName" "" "DESKJET 540" // APDK device class + Attribute "cupsModelName" "" "DESKJET 540" // APDK device class { // 4x6 or smaller @@ -14600,7 +15336,7 @@ "<>setpagedevice" CustomMedia "Hagaki/Hagaki 100x148mm" 284 420 18 48 18 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 18 48 18 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 18 48 18 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 18 48 18 9 "<>setpagedevice" "<>setpagedevice" @@ -14626,7 +15362,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 18 48 18 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 48 18 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 48 18 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18 48 18 9 "<>setpagedevice" "<>setpagedevice" @@ -14651,49 +15387,17 @@ CustomMedia "EnvChou3/#3 Japanese Envelope 120x235mm" 339.84 666 18 48 18 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "EnvC5/C5 Envelope 162x229mm" 459 649 18 48 18 9 "<>setpagedevice" - "<>setpagedevice" - CustomMedia "EnvB5/B5 Envelope 176x250mm" 499 709 18 48 18 9 "<>setpagedevice" - "<>setpagedevice" - - // Custom page sizes from 1x4in to Legal - HWMargins 18 48 18 9 - VariablePaperSize Yes - MinSize 1in 4in - MaxSize 8.5in 14in - - // <%DJ540:GrayscaleOnly%> - { - ModelName "HP Officejet" - Attribute "NickName" "" "HP Officejet, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet;DES:officejet;" - PCFileName "hp-officejet.ppd" - Attribute "Product" "" "(HP Officejet All-in-one Printer)" - } - { - ModelName "HP Officejet Lx" - Attribute "NickName" "" "HP Officejet Lx, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet Lx" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet lx;DES:officejet lx;" - PCFileName "hp-officejet_lx.ppd" - Attribute "Product" "" "(HP Officejet Lx All-in-one Printer)" - } - { - ModelName "HP Officejet Series 330" - Attribute "NickName" "" "HP Officejet Series 330, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet Series 330" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet series 330;DES:officejet series 330;" - PCFileName "hp-officejet_series_330.ppd" - Attribute "Product" "" "(HP Officejet 330 All-in-one Printer)" - } - { - ModelName "HP Officejet Series 350" - Attribute "NickName" "" "HP Officejet Series 350, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet Series 350" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet series 350;DES:officejet series 350;" - PCFileName "hp-officejet_series_350.ppd" - Attribute "Product" "" "(HP Officejet 350 All-in-one Printer)" - } + "<>setpagedevice" + CustomMedia "EnvB5/B5 Envelope 176x250mm" 499 709 18 48 18 9 "<>setpagedevice" + "<>setpagedevice" + + // Custom page sizes from 1x4in to Legal + HWMargins 18 48 18 9 + VariablePaperSize Yes + MinSize 1in 4in + MaxSize 8.5in 14in + + // <%DJ540:GrayscaleOnly%> { ModelName "HP Deskjet 500" Attribute "NickName" "" "HP Deskjet 500, hpcups $Version" @@ -14729,6 +15433,38 @@ PCFileName "hp-deskjet_520.ppd" Attribute "Product" "" "(HP Deskjet 520 Printer)" } + { + ModelName "HP Officejet" + Attribute "NickName" "" "HP Officejet, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet;DES:officejet;" + PCFileName "hp-officejet.ppd" + Attribute "Product" "" "(HP Officejet All-in-one Printer)" + } + { + ModelName "HP Officejet Lx" + Attribute "NickName" "" "HP Officejet Lx, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet Lx" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet lx;DES:officejet lx;" + PCFileName "hp-officejet_lx.ppd" + Attribute "Product" "" "(HP Officejet Lx All-in-one Printer)" + } + { + ModelName "HP Officejet Series 330" + Attribute "NickName" "" "HP Officejet Series 330, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet Series 330" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet series 330;DES:officejet series 330;" + PCFileName "hp-officejet_series_330.ppd" + Attribute "Product" "" "(HP Officejet 330 All-in-one Printer)" + } + { + ModelName "HP Officejet Series 350" + Attribute "NickName" "" "HP Officejet Series 350, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet Series 350" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet series 350;DES:officejet series 350;" + PCFileName "hp-officejet_series_350.ppd" + Attribute "Product" "" "(HP Officejet 350 All-in-one Printer)" + } } // End Supported media sizes. } // End DJ540 Grayscale only @@ -14764,7 +15500,7 @@ // Constraints - Attribute "cupsModelName" "" "DESKJET 540" // APDK device class + Attribute "cupsModelName" "" "DESKJET 540" // APDK device class { // 4x6 or smaller @@ -14772,7 +15508,7 @@ "<>setpagedevice" CustomMedia "Hagaki/Hagaki 100x148mm" 284 420 18 48 18 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 18 48 18 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 18 48 18 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 18 48 18 9 "<>setpagedevice" "<>setpagedevice" @@ -14798,7 +15534,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 18 48 18 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 48 18 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 48 18 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18 48 18 9 "<>setpagedevice" "<>setpagedevice" @@ -14932,13 +15668,13 @@ UIConstraints "*MediaType Glossy *OutputMode DraftGray" UIConstraints "*MediaType Plain *OutputMode Photo" - Attribute "cupsModelName" "" "DESKJET 630" // APDK device class + Attribute "cupsModelName" "" "DESKJET 630" // APDK device class { // 4x6 or smaller CustomMedia "Hagaki/Hagaki 100x148mm" 284 420 18.00 48.24 18.00 9.00 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 18.00 48.24 18.00 9.00 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 18.00 48.24 18.00 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 18.00 48.24 18.00 9.00 "<>setpagedevice" "<>setpagedevice" @@ -14964,7 +15700,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 18.00 48.24 18.00 9.00 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 48.24 9.72 9.00 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 48.24 9.72 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18.00 48.24 18.00 9.00 "<>setpagedevice" "<>setpagedevice" @@ -15065,7 +15801,7 @@ "<>setpagedevice" CustomMedia "Hagaki/Hagaki 100x148mm" 284 420 18 48 18 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 18 48 18 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 18 48 18 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 18 48 18 9 "<>setpagedevice" "<>setpagedevice" @@ -15091,7 +15827,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 18 48 18 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 48 18 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 48 18 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18 48 18 9 "<>setpagedevice" "<>setpagedevice" @@ -15100,7 +15836,7 @@ CustomMedia "Legal/Legal 8.5x14in" 612 1008 18 48 18 9 "<>setpagedevice" "<>setpagedevice" -// Envelope +// Envelope CustomMedia "EnvA2/A2 Envelope 4.37x5.75in" 314.64 414 18 48 18 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "EnvC6/C6 Envelope 114x162mm" 323.28 459.36 18 48 18 9 "<>setpagedevice" @@ -15127,7 +15863,7 @@ MaxSize 8.5in 14in { - Attribute "cupsModelName" "" "DESKJET 600" // APDK device class + Attribute "cupsModelName" "" "DESKJET 600" // APDK device class // <%DJ600:Normal%> { ModelName "HP Deskjet 600" @@ -15141,9 +15877,17 @@ } } { - Attribute "cupsModelName" "" "DESKJET 660" // APDK device class + Attribute "cupsModelName" "" "DESKJET 660" // APDK device class // <%DJ6xx:Normal%> { + ModelName "HP Deskjet 1100" + Attribute "NickName" "" "HP Deskjet 1100, hpcups $Version" + Attribute "ShortNickName" "" "HP Deskjet 1100" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 1100;DES:deskjet 1100;" + PCFileName "hp-deskjet_1100.ppd" + Attribute "Product" "" "(HP Deskjet 1100c Printer)" + } + { ModelName "HP Printer Scanner Copier 300" Attribute "NickName" "" "HP Printer Scanner Copier 300, hpcups $Version" Attribute "ShortNickName" "" "HP Printer Scanner Copier 300" @@ -15267,14 +16011,6 @@ PCFileName "hp-deskjet_682.ppd" Attribute "Product" "" "(HP Deskjet 682c Printer)" } - { - ModelName "HP Deskjet 1100" - Attribute "NickName" "" "HP Deskjet 1100, hpcups $Version" - Attribute "ShortNickName" "" "HP Deskjet 1100" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 1100;DES:deskjet 1100;" - PCFileName "hp-deskjet_1100.ppd" - Attribute "Product" "" "(HP Deskjet 1100c Printer)" - } } } // End Supported media sizes. } // End DJ600 and DJ6xx @@ -15317,7 +16053,7 @@ UIConstraints "*MediaType Glossy *OutputMode DraftGray" UIConstraints "*MediaType Plain *OutputMode Photo" - Attribute "cupsModelName" "" "DESKJET 610" // APDK device class + Attribute "cupsModelName" "" "DESKJET 610" // APDK device class { // 4x6 or smaller @@ -15325,7 +16061,7 @@ "<>setpagedevice" CustomMedia "Hagaki/Hagaki 100x148mm" 284 420 18.00 48.24 18.00 9.00 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 18.00 48.24 18.00 9.00 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 18.00 48.24 18.00 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 18.00 48.24 18.00 9.00 "<>setpagedevice" "<>setpagedevice" @@ -15351,7 +16087,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 18.00 48.24 18.00 9.00 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 48.24 9.72 9.00 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 48.24 9.72 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18.00 48.24 18.00 9.00 "<>setpagedevice" "<>setpagedevice" @@ -15564,7 +16300,7 @@ UIConstraints "*MediaType Glossy *OutputMode DraftRGB" UIConstraints "*MediaType Plain *OutputMode Photo" - Attribute "cupsModelName" "" "DESKJET 810" // APDK device class + Attribute "cupsModelName" "" "DESKJET 810" // APDK device class { // 4x6 or smaller @@ -15572,7 +16308,7 @@ "<>setpagedevice" CustomMedia "Hagaki/Hagaki 100x148mm" 284 420 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 9 36 9 9 "<>setpagedevice" "<>setpagedevice" @@ -15598,7 +16334,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 18.00 36.00 18.00 9.00 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36.00 9.72 9.00 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36.00 9.72 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18.00 36.00 18.00 9.00 "<>setpagedevice" "<>setpagedevice" @@ -15635,82 +16371,6 @@ // <%DJ8xx:Normal%> { - ModelName "HP Officejet T Series" - Attribute "NickName" "" "HP Officejet T Series, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet T Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet t series;DES:officejet t series;" - PCFileName "hp-officejet_t_series.ppd" - Attribute "Product" "" "(HP Officejet t45 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet t45xi All-in-one Printer)" - Attribute "Product" "" "(HP Officejet t65 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet t65xi All-in-one Printer)" - } - { - ModelName "HP Officejet r40" - Attribute "NickName" "" "HP Officejet r40, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet r40" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r40;DES:officejet r40;" - PCFileName "hp-officejet_r40.ppd" - Attribute "Product" "" "(HP Officejet r40 All-in-one Printer)" - } - { - ModelName "HP Officejet r40xi" - Attribute "NickName" "" "HP Officejet r40xi, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet r40xi" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r40xi;DES:officejet r40xi;" - PCFileName "hp-officejet_r40xi.ppd" - Attribute "Product" "" "(HP Officejet r40xi All-in-one Printer)" - } - { - ModelName "HP Officejet r45" - Attribute "NickName" "" "HP Officejet r45, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet r45" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r45;DES:officejet r45;" - PCFileName "hp-officejet_r45.ppd" - Attribute "Product" "" "(HP Officejet r45 All-in-one Printer)" - } - { - ModelName "HP Officejet r60" - Attribute "NickName" "" "HP Officejet r60, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet r60" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r60;DES:officejet r60;" - PCFileName "hp-officejet_r60.ppd" - Attribute "Product" "" "(HP Officejet r60 All-in-one Printer)" - } - { - ModelName "HP Officejet r65" - Attribute "NickName" "" "HP Officejet r65, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet r65" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r65;DES:officejet r65;" - PCFileName "hp-officejet_r65.ppd" - Attribute "Product" "" "(HP Officejet r65 All-in-one Printer)" - } - { - ModelName "HP Officejet r80xi" - Attribute "NickName" "" "HP Officejet r80xi, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet r80xi" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r80xi;DES:officejet r80xi;" - PCFileName "hp-officejet_r80xi.ppd" - Attribute "Product" "" "(HP Officejet r80xi All-in-one Printer)" - } - { - ModelName "HP Officejet r80" - Attribute "NickName" "" "HP Officejet r80, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet r80" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r80;DES:officejet r80;" - PCFileName "hp-officejet_r80.ppd" - Attribute "Product" "" "(HP Officejet r80 All-in-one Printer)" - } - { - ModelName "HP PSC 500" - Attribute "NickName" "" "HP PSC 500, hpcups $Version" - Attribute "ShortNickName" "" "HP PSC 500" - Attribute "1284DeviceID" "" "MFG:HP;MDL:psc 500;DES:psc 500;" - PCFileName "hp-psc_500.ppd" - Attribute "Product" "" "(HP PSC 500 All-in-one Printer)" - Attribute "Product" "" "(HP PSC 500xi All-in-one Printer)" - } - { ModelName "HP Deskjet 810c" Attribute "NickName" "" "HP Deskjet 810c, hpcups $Version" Attribute "ShortNickName" "" "HP Deskjet 810c" @@ -15817,6 +16477,82 @@ Attribute "Product" "" "(HP Deskjet 895c Printer)" Attribute "Product" "" "(HP Deskjet 895cxi Printer)" } + { + ModelName "HP Officejet r40" + Attribute "NickName" "" "HP Officejet r40, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet r40" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r40;DES:officejet r40;" + PCFileName "hp-officejet_r40.ppd" + Attribute "Product" "" "(HP Officejet r40 All-in-one Printer)" + } + { + ModelName "HP Officejet r40xi" + Attribute "NickName" "" "HP Officejet r40xi, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet r40xi" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r40xi;DES:officejet r40xi;" + PCFileName "hp-officejet_r40xi.ppd" + Attribute "Product" "" "(HP Officejet r40xi All-in-one Printer)" + } + { + ModelName "HP Officejet r45" + Attribute "NickName" "" "HP Officejet r45, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet r45" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r45;DES:officejet r45;" + PCFileName "hp-officejet_r45.ppd" + Attribute "Product" "" "(HP Officejet r45 All-in-one Printer)" + } + { + ModelName "HP Officejet r60" + Attribute "NickName" "" "HP Officejet r60, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet r60" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r60;DES:officejet r60;" + PCFileName "hp-officejet_r60.ppd" + Attribute "Product" "" "(HP Officejet r60 All-in-one Printer)" + } + { + ModelName "HP Officejet r65" + Attribute "NickName" "" "HP Officejet r65, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet r65" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r65;DES:officejet r65;" + PCFileName "hp-officejet_r65.ppd" + Attribute "Product" "" "(HP Officejet r65 All-in-one Printer)" + } + { + ModelName "HP Officejet r80" + Attribute "NickName" "" "HP Officejet r80, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet r80" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r80;DES:officejet r80;" + PCFileName "hp-officejet_r80.ppd" + Attribute "Product" "" "(HP Officejet r80 All-in-one Printer)" + } + { + ModelName "HP Officejet r80xi" + Attribute "NickName" "" "HP Officejet r80xi, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet r80xi" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r80xi;DES:officejet r80xi;" + PCFileName "hp-officejet_r80xi.ppd" + Attribute "Product" "" "(HP Officejet r80xi All-in-one Printer)" + } + { + ModelName "HP Officejet T Series" + Attribute "NickName" "" "HP Officejet T Series, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet T Series" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet t series;DES:officejet t series;" + PCFileName "hp-officejet_t_series.ppd" + Attribute "Product" "" "(HP Officejet t45 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet t45xi All-in-one Printer)" + Attribute "Product" "" "(HP Officejet t65 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet t65xi All-in-one Printer)" + } + { + ModelName "HP PSC 500" + Attribute "NickName" "" "HP PSC 500, hpcups $Version" + Attribute "ShortNickName" "" "HP PSC 500" + Attribute "1284DeviceID" "" "MFG:HP;MDL:psc 500;DES:psc 500;" + PCFileName "hp-psc_500.ppd" + Attribute "Product" "" "(HP PSC 500 All-in-one Printer)" + Attribute "Product" "" "(HP PSC 500xi All-in-one Printer)" + } } // End supported media sizes. } // End DJ8xx @@ -15858,7 +16594,7 @@ UIConstraints "*MediaType Glossy *OutputMode DraftRGB" UIConstraints "*MediaType Plain *OutputMode Photo" - Attribute "cupsModelName" "" "DESKJET 825" // APDK device class + Attribute "cupsModelName" "" "DESKJET 825" // APDK device class { // 4x6 or smaller @@ -15866,7 +16602,7 @@ "<>setpagedevice" CustomMedia "Hagaki/Hagaki 100x148mm" 284 420 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" @@ -15892,7 +16628,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 18.00 36.00 18.00 9.00 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 36 9 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9 36 9 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "Legal/Legal 8.5x14in" 612 1008 18.00 36.00 18.00 9.00 "<>setpagedevice" "<>setpagedevice" @@ -15981,7 +16717,7 @@ // 4x6 or smaller CustomMedia "Hagaki/Hagaki 100x148mm" 284 420 9 36 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 9 36 9 9 "<>setpagedevice" "<>setpagedevice" @@ -16007,7 +16743,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 18.00 36.00 18.00 9.00 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36.00 9.72 9.00 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36.00 9.72 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18.00 36.00 18.00 9.00 "<>setpagedevice" "<>setpagedevice" @@ -16042,9 +16778,18 @@ MinSize 1in 4in MaxSize 8.5in 14in - Attribute "cupsModelName" "" "DESKJET 850" // APDK device class + Attribute "cupsModelName" "" "DESKJET 850" // APDK device class // <%DJ850:Normal%> { + ModelName "HP Officejet Pro 1150c" + Attribute "NickName" "" "HP Officejet Pro 1150c, hpcups $Version" + Attribute "ShortNickName" "" "HP Officejet Pro 1150c" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet pro 1150c;DES:officejet pro 1150c;" + PCFileName "hp-officejet_pro_1150c.ppd" + Attribute "Product" "" "(HP Officejet Pro 1150c All-in-one Printer)" + Attribute "Product" "" "(HP Officejet Pro 1150cse All-in-one Printer)" + } + { ModelName "HP Deskjet 850c" Attribute "NickName" "" "HP Deskjet 850c, hpcups $Version" Attribute "ShortNickName" "" "HP Deskjet 850c" @@ -16074,15 +16819,6 @@ Attribute "Product" "" "(HP Deskjet 870cse Printer)" Attribute "Product" "" "(HP Deskjet 870cxi Printer)" } - { - ModelName "HP Officejet Pro 1150c" - Attribute "NickName" "" "HP Officejet Pro 1150c, hpcups $Version" - Attribute "ShortNickName" "" "HP Officejet Pro 1150c" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet pro 1150c;DES:officejet pro 1150c;" - PCFileName "hp-officejet_pro_1150c.ppd" - Attribute "Product" "" "(HP Officejet Pro 1150c All-in-one Printer)" - Attribute "Product" "" "(HP Officejet Pro 1150cse All-in-one Printer)" - } } // End supported media sizes. } // End DJ850 @@ -16125,7 +16861,7 @@ "<>setpagedevice" CustomMedia "Hagaki/Hagaki 100x148mm" 284 420 9 36 9 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 9.00 36.00 9.00 9.00 "<>setpagedevice" "<>setpagedevice" @@ -16151,7 +16887,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 18.00 36.00 18.00 9.00 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36.00 9.72 9.00 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 9.72 36.00 9.72 9.00 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18.00 36.00 18.00 9.00 "<>setpagedevice" "<>setpagedevice" @@ -16186,18 +16922,9 @@ MinSize 1in 4in MaxSize 8.5in 14in - Attribute "cupsModelName" "" "DESKJET 890" // APDK device class + Attribute "cupsModelName" "" "DESKJET 890" // APDK device class // <%DJ890:Normal%> { - ModelName "HP Deskjet 890c" - Attribute "NickName" "" "HP Deskjet 890c, hpcups $Version" - Attribute "ShortNickName" "" "HP Deskjet 890c" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 890c;DES:deskjet 890c;" - PCFileName "hp-deskjet_890c.ppd" - Attribute "Product" "" "(HP Deskjet 890cse Printer)" - Attribute "Product" "" "(HP Deskjet 890c Printer)" - } - { ModelName "HP Officejet Pro 1170c Series" Attribute "NickName" "" "HP Officejet Pro 1170c Series, hpcups $Version" Attribute "ShortNickName" "" "HP Officejet Pro 1170c Series" @@ -16210,6 +16937,15 @@ Attribute "Product" "" "(HP Officejet Pro 1175cse All-in-one Printer)" Attribute "Product" "" "(HP Officejet Pro 1175cxi All-in-one Printer)" } + { + ModelName "HP Deskjet 890c" + Attribute "NickName" "" "HP Deskjet 890c, hpcups $Version" + Attribute "ShortNickName" "" "HP Deskjet 890c" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 890c;DES:deskjet 890c;" + PCFileName "hp-deskjet_890c.ppd" + Attribute "Product" "" "(HP Deskjet 890cse Printer)" + Attribute "Product" "" "(HP Deskjet 890c Printer)" + } } // End supported media sizes. } // End DJ890 @@ -16257,7 +16993,7 @@ // Constraints //UIConstraints "*Duplex *OptionDuplex False" - Attribute "cupsModelName" "" "HP LaserJet 1018" // APDK device class + Attribute "cupsModelName" "" "HP LaserJet 1018" // APDK device class { // 4x6 or smaller @@ -16287,7 +17023,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 18 15.5 18 15.5 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 15.5 18 15.5 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 15.5 18 15.5 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18 15.5 18 15.5 "<>setpagedevice" "<>setpagedevice" @@ -16327,7 +17063,7 @@ ModelName "HP LaserJet 1000" Attribute "NickName" "" "HP LaserJet 1000, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1000" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1000;DES:hp laserjet 1000;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1000;DES:hp laserjet 1000;" PCFileName "hp-laserjet_1000.ppd" Attribute "Product" "" "(HP LaserJet 1000 Printer)" } @@ -16335,7 +17071,7 @@ ModelName "HP LaserJet 1005 Series" Attribute "NickName" "" "HP LaserJet 1005 Series, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1005 Series" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1005 series;DES:hp laserjet 1005 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1005 series;DES:hp laserjet 1005 series;" PCFileName "hp-laserjet_1005_series.ppd" Attribute "Product" "" "(HP LaserJet 1005 Printer)" } @@ -16343,7 +17079,7 @@ ModelName "HP LaserJet 1018" Attribute "NickName" "" "HP LaserJet 1018, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1018" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1018;DES:hp laserjet 1018;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1018;DES:hp laserjet 1018;" PCFileName "hp-laserjet_1018.ppd" Attribute "Product" "" "(HP LaserJet 1018 Printer)" Attribute "Product" "" "(HP LaserJet 1018s Printer)" @@ -16352,7 +17088,7 @@ ModelName "HP LaserJet 1020" Attribute "NickName" "" "HP LaserJet 1020, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1020" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1020;DES:hp laserjet 1020;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1020;DES:hp laserjet 1020;" PCFileName "hp-laserjet_1020.ppd" Attribute "Product" "" "(HP LaserJet 1020 Printer)" Attribute "Product" "" "(HP LaserJet 1020 Plus Printer)" @@ -16361,7 +17097,7 @@ ModelName "HP LaserJet 1022nw" Attribute "NickName" "" "HP LaserJet 1022nw zjs, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1022nw" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1022nw;DES:hp laserjet 1022nw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1022nw;DES:hp laserjet 1022nw;" PCFileName "hp-laserjet_1022nw-zjs.ppd" Attribute "Product" "" "(HP LaserJet 1022nw Printer)" } @@ -16369,7 +17105,7 @@ ModelName "HP LaserJet 1022n" Attribute "NickName" "" "HP LaserJet 1022n zjs, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1022n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1022n;DES:hp laserjet 1022n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1022n;DES:hp laserjet 1022n;" PCFileName "hp-laserjet_1022n-zjs.ppd" Attribute "Product" "" "(HP LaserJet 1022n Printer)" Attribute "Product" "" "(HP LaserJet 1022nxi Printer)" @@ -16378,7 +17114,7 @@ ModelName "HP LaserJet 1022" Attribute "NickName" "" "HP LaserJet 1022 zjs, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1022" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1022;DES:hp laserjet 1022;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1022;DES:hp laserjet 1022;" PCFileName "hp-laserjet_1022-zjs.ppd" Attribute "Product" "" "(HP LaserJet 1022 Printer)" } @@ -16386,7 +17122,7 @@ ModelName "HP LaserJet m1120 MFP" Attribute "NickName" "" "HP LaserJet m1120 MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet m1120 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m1120 mfp;DES:hp laserjet m1120 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m1120 mfp;DES:hp laserjet m1120 mfp;" PCFileName "hp-laserjet_m1120_mfp.ppd" Attribute "Product" "" "(HP LaserJet m1120 Multifunction Printer)" } @@ -16394,7 +17130,7 @@ ModelName "HP LaserJet m1120n MFP" Attribute "NickName" "" "HP LaserJet m1120n MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet m1120n MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m1120n mfp;DES:hp laserjet m1120n mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m1120n mfp;DES:hp laserjet m1120n mfp;" PCFileName "hp-laserjet_m1120n_mfp.ppd" Attribute "Product" "" "(HP LaserJet m1120n Multifunction Printer)" } @@ -16402,7 +17138,7 @@ ModelName "HP LaserJet m1319f MFP" Attribute "NickName" "" "HP LaserJet m1319f MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet m1319f MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m1319f mfp;DES:hp laserjet m1319f mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m1319f mfp;DES:hp laserjet m1319f mfp;" PCFileName "hp-laserjet_m1319f_mfp.ppd" Attribute "Product" "" "(HP LaserJet m1319f Multifunction Printer)" } @@ -16410,7 +17146,7 @@ ModelName "HP LaserJet p2035n" Attribute "NickName" "" "HP LaserJet p2035n zjs, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p2035n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2035n;DES:hp laserjet p2035n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2035n;DES:hp laserjet p2035n;" PCFileName "hp-laserjet_p2035n-zjs.ppd" Attribute "Product" "" "(HP LaserJet p2035n Printer)" } @@ -16418,7 +17154,7 @@ ModelName "HP LaserJet p2035" Attribute "NickName" "" "HP LaserJet p2035 zjs, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p2035" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2035;DES:hp laserjet p2035;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2035;DES:hp laserjet p2035;" PCFileName "hp-laserjet_p2035-zjs.ppd" Attribute "Product" "" "(HP LaserJet p2035 Printer)" } @@ -16452,7 +17188,7 @@ Choice "Draft/Draft" "<>setpagedevice" - Attribute "cupsModelName" "" "HP LaserJet 1018" // APDK device class + Attribute "cupsModelName" "" "HP LaserJet 1018" // APDK device class { // 4x6 or smaller @@ -16480,7 +17216,7 @@ "<>setpagedevice" *CustomMedia "Letter/Letter 8.5x11in" 612 792 12 12 12 12 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 15.5 18 15.5 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 15.5 18 15.5 "<>setpagedevice" "<>setpagedevice" CustomMedia "FLSA/American Foolscap 8.5x13in" 612 936 12 12 12 12 "<>setpagedevice" "<>setpagedevice" @@ -16510,7 +17246,7 @@ ModelName "HP LaserJet Professional p1102w" Attribute "NickName" "" "HP LaserJet Professional p1102w, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Professional p1102w" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1102w;DES:hp laserjet professional p1102w;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1102w;DES:hp laserjet professional p1102w;" PCFileName "hp-laserjet_professional_p1102w.ppd" Attribute "Product" "" "(HP LaserJet Professional p1102w Printer)" } @@ -16518,7 +17254,7 @@ ModelName "HP LaserJet Professional p1102" Attribute "NickName" "" "HP LaserJet Professional p1102, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Professional p1102" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1102;DES:hp laserjet professional p1102;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1102;DES:hp laserjet professional p1102;" PCFileName "hp-laserjet_professional_p1102.ppd" Attribute "Product" "" "(HP LaserJet Professional p1102 Printer)" Attribute "Product" "" "(HP LaserJet Professional p1102s Printer)" @@ -16527,7 +17263,7 @@ ModelName "HP LaserJet Professional P 1102w" Attribute "NickName" "" "HP LaserJet Professional P 1102w, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional P 1102w" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p 1102w;DES:hp laserjet professional p 1102w;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p 1102w;DES:hp laserjet professional p 1102w;" PCFileName "hp-laserjet_professional_p_1102w.ppd" Attribute "Product" "" "(HP LaserJet Professional P 1102w Printer)" } @@ -16535,7 +17271,7 @@ ModelName "HP LaserJet Professional p1106w" Attribute "NickName" "" "HP LaserJet Professional p1106w, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Professional p1106w" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1106w;DES:hp laserjet professional p1106w;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1106w;DES:hp laserjet professional p1106w;" PCFileName "hp-laserjet_professional_p1106w.ppd" Attribute "Product" "" "(HP LaserJet Professional p1106w Printer)" } @@ -16543,7 +17279,7 @@ ModelName "HP LaserJet Professional p1106" Attribute "NickName" "" "HP LaserJet Professional p1106, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Professional p1106" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1106;DES:hp laserjet professional p1106;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1106;DES:hp laserjet professional p1106;" PCFileName "hp-laserjet_professional_p1106.ppd" Attribute "Product" "" "(HP LaserJet Professional p1106 Printer)" } @@ -16551,7 +17287,7 @@ ModelName "HP LaserJet Professional p1107" Attribute "NickName" "" "HP LaserJet Professional p1107, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Professional p1107" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1107;DES:hp laserjet professional p1107;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1107;DES:hp laserjet professional p1107;" PCFileName "hp-laserjet_professional_p1107.ppd" Attribute "Product" "" "(HP LaserJet Professional p1107 Printer)" } @@ -16559,7 +17295,7 @@ ModelName "HP LaserJet Professional p1107w" Attribute "NickName" "" "HP LaserJet Professional p1107w, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Professional p1107w" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1107w;DES:hp laserjet professional p1107w;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1107w;DES:hp laserjet professional p1107w;" PCFileName "hp-laserjet_professional_p1107w.ppd" Attribute "Product" "" "(HP LaserJet Professional p1107w Printer)" } @@ -16567,7 +17303,7 @@ ModelName "HP LaserJet Professional p1108w" Attribute "NickName" "" "HP LaserJet Professional p1108w, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Professional p1108w" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1108w;DES:hp laserjet professional p1108w;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1108w;DES:hp laserjet professional p1108w;" PCFileName "hp-laserjet_professional_p1108w.ppd" Attribute "Product" "" "(HP LaserJet Professional p1108w Printer)" } @@ -16575,7 +17311,7 @@ ModelName "HP LaserJet Professional p1108" Attribute "NickName" "" "HP LaserJet Professional p1108, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Professional p1108" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1108;DES:hp laserjet professional p1108;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1108;DES:hp laserjet professional p1108;" PCFileName "hp-laserjet_professional_p1108.ppd" Attribute "Product" "" "(HP LaserJet Professional p1108 Printer)" } @@ -16583,7 +17319,7 @@ ModelName "HP LaserJet Professional p1109w" Attribute "NickName" "" "HP LaserJet Professional p1109w, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Professional p1109w" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1109w;DES:hp laserjet professional p1109w;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1109w;DES:hp laserjet professional p1109w;" PCFileName "hp-laserjet_professional_p1109w.ppd" Attribute "Product" "" "(HP LaserJet Professional p1109w Printer)" } @@ -16591,7 +17327,7 @@ ModelName "HP LaserJet Professional p1109" Attribute "NickName" "" "HP LaserJet Professional p1109, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Professional p1109" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1109;DES:hp laserjet professional p1109;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1109;DES:hp laserjet professional p1109;" PCFileName "hp-laserjet_professional_p1109.ppd" Attribute "Product" "" "(HP LaserJet Professional p1109 Printer)" } @@ -16599,7 +17335,7 @@ ModelName "HP LaserJet Professional m1132 MFP" Attribute "NickName" "" "HP LaserJet Professional m1132 MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional m1132 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1132 mfp;DES:hp laserjet professional m1132 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1132 mfp;DES:hp laserjet professional m1132 mfp;" PCFileName "hp-laserjet_professional_m1132_mfp.ppd" Attribute "Product" "" "(HP LaserJet Professional m1132 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet Professional m1132s Multifunction Printer)" @@ -16608,7 +17344,7 @@ ModelName "HP LaserJet Professional m1136 MFP" Attribute "NickName" "" "HP LaserJet Professional m1136 MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional m1136 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1136 mfp;DES:hp laserjet professional m1136 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1136 mfp;DES:hp laserjet professional m1136 mfp;" PCFileName "hp-laserjet_professional_m1136_mfp.ppd" Attribute "Product" "" "(HP LaserJet Professional m1136 Multifunction Printer)" } @@ -16616,7 +17352,7 @@ ModelName "HP LaserJet Professional m1137 MFP" Attribute "NickName" "" "HP LaserJet Professional m1137 MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional m1137 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1137 mfp;DES:hp laserjet professional m1137 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1137 mfp;DES:hp laserjet professional m1137 mfp;" PCFileName "hp-laserjet_professional_m1137_mfp.ppd" Attribute "Product" "" "(HP LaserJet Professional m1137 Multifunction Printer)" } @@ -16624,7 +17360,7 @@ ModelName "HP LaserJet Professional m1138 MFP" Attribute "NickName" "" "HP LaserJet Professional m1138 MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional m1138 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1138 mfp;DES:hp laserjet professional m1138 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1138 mfp;DES:hp laserjet professional m1138 mfp;" PCFileName "hp-laserjet_professional_m1138_mfp.ppd" Attribute "Product" "" "(HP LaserJet Professional m1138 Multifunction Printer)" } @@ -16632,7 +17368,7 @@ ModelName "HP LaserJet Professional m1139 MFP" Attribute "NickName" "" "HP LaserJet Professional m1139 MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional m1139 MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1139 mfp;DES:hp laserjet professional m1139 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1139 mfp;DES:hp laserjet professional m1139 mfp;" PCFileName "hp-laserjet_professional_m1139_mfp.ppd" Attribute "Product" "" "(HP LaserJet Professional m1139 Multifunction Printer)" } @@ -16640,7 +17376,7 @@ ModelName "HP LaserJet Professional m1212nf MFP" Attribute "NickName" "" "HP LaserJet Professional m1212nf MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional m1212nf MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1212nf mfp;DES:hp laserjet professional m1212nf mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1212nf mfp;DES:hp laserjet professional m1212nf mfp;" PCFileName "hp-laserjet_professional_m1212nf_mfp.ppd" Attribute "Product" "" "(HP LaserJet Professional m1212nf Multifunction Printer)" } @@ -16648,7 +17384,7 @@ ModelName "HP LaserJet Professional m1213nf MFP" Attribute "NickName" "" "HP LaserJet Professional m1213nf MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional m1213nf MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1213nf mfp;DES:hp laserjet professional m1213nf mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1213nf mfp;DES:hp laserjet professional m1213nf mfp;" PCFileName "hp-laserjet_professional_m1213nf_mfp.ppd" Attribute "Product" "" "(HP LaserJet Professional m1213nf Multifunction Printer)" } @@ -16656,7 +17392,7 @@ ModelName "HP LaserJet Professional m1214nfh MFP" Attribute "NickName" "" "HP LaserJet Professional m1214nfh MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional m1214nfh MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1214nfh mfp;DES:hp laserjet professional m1214nfh mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1214nfh mfp;DES:hp laserjet professional m1214nfh mfp;" PCFileName "hp-laserjet_professional_m1214nfh_mfp.ppd" Attribute "Product" "" "(HP LaserJet Professional m1214nfh Multifunction Printer)" } @@ -16664,7 +17400,7 @@ ModelName "HP LaserJet Professional m1216nfh MFP" Attribute "NickName" "" "HP LaserJet Professional m1216nfh MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional m1216nfh MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1216nfh mfp;DES:hp laserjet professional m1216nfh mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1216nfh mfp;DES:hp laserjet professional m1216nfh mfp;" PCFileName "hp-laserjet_professional_m1216nfh_mfp.ppd" Attribute "Product" "" "(HP LaserJet Professional m1216nfh MFP)" } @@ -16672,7 +17408,7 @@ ModelName "HP LaserJet Professional m1217nfw MFP" Attribute "NickName" "" "HP LaserJet Professional m1217nfw MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional m1217nfw MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1217nfw mfp;DES:hp laserjet professional m1217nfw mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1217nfw mfp;DES:hp laserjet professional m1217nfw mfp;" PCFileName "hp-laserjet_professional_m1217nfw_mfp.ppd" Attribute "Product" "" "(HP LaserJet Professional m1217nfw Multifunction Printer)" } @@ -16680,7 +17416,7 @@ ModelName "HP LaserJet Professional m1218nfg MFP" Attribute "NickName" "" "HP LaserJet Professional m1218nfg MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional m1218nfg MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1218nfg mfp;DES:hp laserjet professional m1218nfg mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1218nfg mfp;DES:hp laserjet professional m1218nfg mfp;" PCFileName "hp-laserjet_professional_m1218nfg_mfp.ppd" Attribute "Product" "" "(HP LaserJet m1210 MFP Series)" } @@ -16688,7 +17424,7 @@ ModelName "HP LaserJet Professional m1218nfs MFP" Attribute "NickName" "" "HP LaserJet Professional m1218nfs MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional m1218nfs MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1218nfs mfp;DES:hp laserjet professional m1218nfs mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1218nfs mfp;DES:hp laserjet professional m1218nfs mfp;" PCFileName "hp-laserjet_professional_m1218nfs_mfp.ppd" Attribute "Product" "" "(HP Hotspot LaserJet Pro m1218nfs MFP)" } @@ -16696,7 +17432,7 @@ ModelName "HP LaserJet Professional m1219nfg MFP" Attribute "NickName" "" "HP LaserJet Professional m1219nfg MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional m1219nfg MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1219nfg mfp;DES:hp laserjet professional m1219nfg mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1219nfg mfp;DES:hp laserjet professional m1219nfg mfp;" PCFileName "hp-laserjet_professional_m1219nfg_mfp.ppd" Attribute "Product" "" "(HP LaserJet Professional m1219nfg MFP)" } @@ -16704,7 +17440,7 @@ ModelName "HP LaserJet Professional m1219nfs MFP" Attribute "NickName" "" "HP LaserJet Professional m1219nfs MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional m1219nfs MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1219nfs mfp;DES:hp laserjet professional m1219nfs mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1219nfs mfp;DES:hp laserjet professional m1219nfs mfp;" PCFileName "hp-laserjet_professional_m1219nfs_mfp.ppd" Attribute "Product" "" "(HP LaserJet Professional m1219nfs MFP)" } @@ -16712,7 +17448,7 @@ ModelName "HP LaserJet Professional m1219nf MFP" Attribute "NickName" "" "HP LaserJet Professional m1219nf MFP, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional m1219nf MFP" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1219nf mfp;DES:hp laserjet professional m1219nf mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1219nf mfp;DES:hp laserjet professional m1219nf mfp;" PCFileName "hp-laserjet_professional_m1219nf_mfp.ppd" Attribute "Product" "" "(HP LaserJet Professional m1219nf MFP)" } @@ -16720,7 +17456,7 @@ ModelName "HP LaserJet Professional p1566" Attribute "NickName" "" "HP LaserJet Professional p1566, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Professional p1566" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1566;DES:hp laserjet professional p1566;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1566;DES:hp laserjet professional p1566;" PCFileName "hp-laserjet_professional_p1566.ppd" Attribute "Product" "" "(HP LaserJet Professional p1566)" } @@ -16728,7 +17464,7 @@ ModelName "HP LaserJet Professional p1567" Attribute "NickName" "" "HP LaserJet Professional p1567, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Professional p1567" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1567;DES:hp laserjet professional p1567;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1567;DES:hp laserjet professional p1567;" PCFileName "hp-laserjet_professional_p1567.ppd" Attribute "Product" "" "(HP LaserJet Professional p1567)" } @@ -16736,7 +17472,7 @@ ModelName "HP LaserJet Professional p1568" Attribute "NickName" "" "HP LaserJet Professional p1568, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Professional p1568" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1568;DES:hp laserjet professional p1568;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1568;DES:hp laserjet professional p1568;" PCFileName "hp-laserjet_professional_p1568.ppd" Attribute "Product" "" "(HP LaserJet Professional p1568)" } @@ -16744,7 +17480,7 @@ ModelName "HP LaserJet Professional p1569" Attribute "NickName" "" "HP LaserJet Professional p1569, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Professional p1569" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1569;DES:hp laserjet professional p1569;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1569;DES:hp laserjet professional p1569;" PCFileName "hp-laserjet_professional_p1569.ppd" Attribute "Product" "" "(HP LaserJet Professional p1569)" } @@ -16808,9 +17544,9 @@ UIConstraints "*PageSize EnvDL *Duplex" UIConstraints "*PageSize Env10 *Duplex" UIConstraints "*PageSize EnvC5 *Duplex" - UIConstraints "*PageSize EnvB5 *Duplex" - - Attribute "cupsModelName" "" "HP LaserJet 1018" // APDK device class + UIConstraints "*PageSize EnvB5 *Duplex" + + Attribute "cupsModelName" "" "HP LaserJet 1018" // APDK device class { // 4x6 or smaller @@ -16840,9 +17576,9 @@ "<>setpagedevice" CustomMedia "Letter.Duplex/Letter AutoDuplex 8.5x11in" 612 780 12 12 12 12 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 15.5 18 15.5 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 15.5 18 15.5 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595.44 829.68 18 15.5 18 15.5 "<>setpagedevice" + CustomMedia "A4.Duplex/A4 AutoDuplex 210x297mm" 595.44 829.68 18 15.5 18 15.5 "<>setpagedevice" "<>setpagedevice" CustomMedia "FLSA/American Foolscap 8.5x13in" 612 936 12 12 12 12 "<>setpagedevice" "<>setpagedevice" @@ -16876,7 +17612,7 @@ ModelName "HP LaserJet Professional p1606dn" Attribute "NickName" "" "HP LaserJet Professional p1606dn, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1606dn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1606dn;DES:hp laserjet professional p1606dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1606dn;DES:hp laserjet professional p1606dn;" PCFileName "hp-laserjet_professional_p1606dn.ppd" Attribute "Product" "" "(HP LaserJet Professional p1606dn Printer)" } @@ -16884,7 +17620,7 @@ ModelName "HP LaserJet Professional p1607dn" Attribute "NickName" "" "HP LaserJet Professional p1607dn, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1607dn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1607dn;DES:hp laserjet professional p1607dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1607dn;DES:hp laserjet professional p1607dn;" PCFileName "hp-laserjet_professional_p1607dn.ppd" Attribute "Product" "" "(HP LaserJet Professional p1607dn Printer)" } @@ -16892,7 +17628,7 @@ ModelName "HP LaserJet Professional p1608dn" Attribute "NickName" "" "HP LaserJet Professional p1608dn, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1608dn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1608dn;DES:hp laserjet professional p1608dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1608dn;DES:hp laserjet professional p1608dn;" PCFileName "hp-laserjet_professional_p1608dn.ppd" Attribute "Product" "" "(HP LaserJet Professional p1608dn Printer)" } @@ -16900,7 +17636,7 @@ ModelName "HP LaserJet Professional p1609dn" Attribute "NickName" "" "HP LaserJet Professional p1609dn, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1609dn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1609dn;DES:hp laserjet professional p1609dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1609dn;DES:hp laserjet professional p1609dn;" PCFileName "hp-laserjet_professional_p1609dn.ppd" Attribute "Product" "" "(HP LaserJet Professional p1609dn Printer)" } @@ -16929,14 +17665,14 @@ *Choice "Normal/Normal" "<>setpagedevice" Choice "Draft/Draft" "<>setpagedevice" - Attribute "cupsModelName" "" "HP Color LaserJet 2600n" // APDK device class + Attribute "cupsModelName" "" "HP Color LaserJet 2600n" // APDK device class // 4x6 or smaller CustomMedia "Card3x5/Index Card 3x5in" 216 360 12.96 14.40 12.96 14.40 "<>setpagedevice" "<>setpagedevice" CustomMedia "Hagaki/Hagaki 100x148mm" 284 420 19.12 14.40 19.12 14.40 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 18.00 14.40 18.00 14.40 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 18.00 14.40 18.00 14.40 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 18.12 14.40 18.12 14.40 "<>setpagedevice" "<>setpagedevice" @@ -16962,7 +17698,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 18.00 14.40 18.00 14.40 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 18.00 14.40 18.00 14.40 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 18.00 14.40 18.00 14.40 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18.00 14.40 18.00 14.40 "<>setpagedevice" "<>setpagedevice" @@ -17026,7 +17762,7 @@ ModelName "HP Color LaserJet cp1215" Attribute "NickName" "" "HP Color LaserJet cp1215, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet cp1215" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp1215;DES:hp color laserjet cp1215;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp1215;DES:hp color laserjet cp1215;" PCFileName "hp-color_laserjet_cp1215.ppd" Attribute "Product" "" "(HP Color LaserJet cp1215 Printer)" } @@ -17034,7 +17770,7 @@ ModelName "HP Color LaserJet cp1217" Attribute "NickName" "" "HP Color LaserJet cp1217, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet cp1217" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp1217;DES:hp color laserjet cp1217;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp1217;DES:hp color laserjet cp1217;" PCFileName "hp-color_laserjet_cp1217.ppd" Attribute "Product" "" "(HP Color LaserJet cp1217 Printer)" } @@ -17042,7 +17778,7 @@ ModelName "HP Color LaserJet 1600" Attribute "NickName" "" "HP Color LaserJet 1600, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 1600" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 1600;DES:hp color laserjet 1600;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 1600;DES:hp color laserjet 1600;" PCFileName "hp-color_laserjet_1600.ppd" Attribute "Product" "" "(HP Color LaserJet 1600 Printer)" } @@ -17050,7 +17786,7 @@ ModelName "HP Color LaserJet 2600n" Attribute "NickName" "" "HP Color LaserJet 2600n, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 2600n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 2600n;DES:hp color laserjet 2600n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 2600n;DES:hp color laserjet 2600n;" PCFileName "hp-color_laserjet_2600n.ppd" Attribute "Product" "" "(HP Color LaserJet 2600n Printer)" } @@ -17067,7 +17803,7 @@ ModelName "HP LaserJet cp1025nw" Attribute "NickName" "" "HP LaserJet cp1025nw, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet cp1025nw" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1025nw;DES:hp laserjet cp1025nw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cp1025nw;DES:hp laserjet cp1025nw;" PCFileName "hp-laserjet_cp1025nw.ppd" Attribute "Product" "" "(HP LaserJet Pro cp1025nw Color Printer Series)" } @@ -17075,7 +17811,7 @@ ModelName "HP LaserJet cp1025" Attribute "NickName" "" "HP LaserJet cp1025, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet cp1025" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1025;DES:hp laserjet cp1025;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cp1025;DES:hp laserjet cp1025;" PCFileName "hp-laserjet_cp1025.ppd" Attribute "Product" "" "(HP LaserJet Pro cp1025 Color Printer Series)" } @@ -17083,7 +17819,7 @@ ModelName "HP LaserJet Cp 1025nw" Attribute "NickName" "" "HP LaserJet Cp 1025nw, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Cp 1025nw" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp 1025nw;DES:hp laserjet cp 1025nw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cp 1025nw;DES:hp laserjet cp 1025nw;" PCFileName "hp-laserjet_cp_1025nw.ppd" Attribute "Product" "" "(HP LaserJet Pro Cp 1025nw Color Printer Series)" } @@ -17091,7 +17827,7 @@ ModelName "HP LaserJet Cp 1025" Attribute "NickName" "" "HP LaserJet Cp 1025, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Cp 1025" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp 1025;DES:hp laserjet cp 1025;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cp 1025;DES:hp laserjet cp 1025;" PCFileName "hp-laserjet_cp_1025.ppd" Attribute "Product" "" "(HP LaserJet Pro Cp 1025 Color Printer Series)" } @@ -17207,18 +17943,34 @@ // <%Hbpl1:Mono%> { + ModelName "HP LaserJet Pro MFP m125r" + Attribute "NickName" "" "HP LaserJet Pro MFP m125r, hpcups $Version, requires proprietary plugin" + Attribute "ShortNickName" "" "HP LaserJet Pro MFP m125r" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m125r;DES:hp laserjet pro mfp m125r;" + PCFileName "hp-laserjet_pro_mfp_m125r.ppd" + Attribute "Product" "" "(HP LaserJet Pro MFP m125r)" + } + { ModelName "HP LaserJet Pro MFP m125a" Attribute "NickName" "" "HP LaserJet Pro MFP m125a, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Pro MFP m125a" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m125a;DES:hp laserjet pro mfp m125a;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m125a;DES:hp laserjet pro mfp m125a;" PCFileName "hp-laserjet_pro_mfp_m125a.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m125a)" } { + ModelName "HP LaserJet Pro MFP m125ra" + Attribute "NickName" "" "HP LaserJet Pro MFP m125ra, hpcups $Version, requires proprietary plugin" + Attribute "ShortNickName" "" "HP LaserJet Pro MFP m125ra" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m125ra;DES:hp laserjet pro mfp m125ra;" + PCFileName "hp-laserjet_pro_mfp_m125ra.ppd" + Attribute "Product" "" "(HP LaserJet Pro MFP m125ra)" + } + { ModelName "HP LaserJet Pro MFP m125rnw" Attribute "NickName" "" "HP LaserJet Pro MFP m125rnw, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Pro MFP m125rnw" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m125rnw;DES:hp laserjet pro mfp m125rnw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m125rnw;DES:hp laserjet pro mfp m125rnw;" PCFileName "hp-laserjet_pro_mfp_m125rnw.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m125rnw)" } @@ -17226,7 +17978,7 @@ ModelName "HP LaserJet Pro MFP m125nw" Attribute "NickName" "" "HP LaserJet Pro MFP m125nw, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Pro MFP m125nw" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m125nw;DES:hp laserjet pro mfp m125nw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m125nw;DES:hp laserjet pro mfp m125nw;" PCFileName "hp-laserjet_pro_mfp_m125nw.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m125nw)" } @@ -17234,7 +17986,7 @@ ModelName "HP LaserJet Pro MFP m126a" Attribute "NickName" "" "HP LaserJet Pro MFP m126a, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Pro MFP m126a" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m126a;DES:hp laserjet pro mfp m126a;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m126a;DES:hp laserjet pro mfp m126a;" PCFileName "hp-laserjet_pro_mfp_m126a.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m126a)" } @@ -17242,7 +17994,7 @@ ModelName "HP LaserJet Pro MFP m126nw" Attribute "NickName" "" "HP LaserJet Pro MFP m126nw, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Pro MFP m126nw" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m126nw;DES:hp laserjet pro mfp m126nw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m126nw;DES:hp laserjet pro mfp m126nw;" PCFileName "hp-laserjet_pro_mfp_m126nw.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m126nw)" } @@ -17250,7 +18002,7 @@ ModelName "HP LaserJet Pro MFP m127fp" Attribute "NickName" "" "HP LaserJet Pro MFP m127fp, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Pro MFP m127fp" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m127fp;DES:hp laserjet pro mfp m127fp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m127fp;DES:hp laserjet pro mfp m127fp;" PCFileName "hp-laserjet_pro_mfp_m127fp.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m127fp)" } @@ -17258,7 +18010,7 @@ ModelName "HP LaserJet Pro MFP m127fn" Attribute "NickName" "" "HP LaserJet Pro MFP m127fn, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Pro MFP m127fn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m127fn;DES:hp laserjet pro mfp m127fn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m127fn;DES:hp laserjet pro mfp m127fn;" PCFileName "hp-laserjet_pro_mfp_m127fn.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m127fn)" } @@ -17266,7 +18018,7 @@ ModelName "HP LaserJet Pro MFP m127fw" Attribute "NickName" "" "HP LaserJet Pro MFP m127fw, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Pro MFP m127fw" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m127fw;DES:hp laserjet pro mfp m127fw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m127fw;DES:hp laserjet pro mfp m127fw;" PCFileName "hp-laserjet_pro_mfp_m127fw.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m127fw)" } @@ -17274,7 +18026,7 @@ ModelName "HP LaserJet Pro MFP m128fn" Attribute "NickName" "" "HP LaserJet Pro MFP m128fn, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Pro MFP m128fn" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m128fn;DES:hp laserjet pro mfp m128fn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m128fn;DES:hp laserjet pro mfp m128fn;" PCFileName "hp-laserjet_pro_mfp_m128fn.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m128fn)" } @@ -17282,7 +18034,7 @@ ModelName "HP LaserJet Pro MFP m128fp" Attribute "NickName" "" "HP LaserJet Pro MFP m128fp, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Pro MFP m128fp" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m128fp;DES:hp laserjet pro mfp m128fp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m128fp;DES:hp laserjet pro mfp m128fp;" PCFileName "hp-laserjet_pro_mfp_m128fp.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m128fp)" } @@ -17290,7 +18042,7 @@ ModelName "HP LaserJet Pro MFP m128fw" Attribute "NickName" "" "HP LaserJet Pro MFP m128fw, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Pro MFP m128fw" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m128fw;DES:hp laserjet pro mfp m128fw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m128fw;DES:hp laserjet pro mfp m128fw;" PCFileName "hp-laserjet_pro_mfp_m128fw.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m128fw)" } @@ -17408,7 +18160,7 @@ ModelName "HP Color LaserJet Pro MFP m176n" Attribute "NickName" "" "HP Color LaserJet Pro MFP m176n, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet Pro MFP m176n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet pro mfp m176n;DES:hp color laserjet pro mfp m176n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet pro mfp m176n;DES:hp color laserjet pro mfp m176n;" PCFileName "hp-color_laserjet_pro_mfp_m176n.ppd" Attribute "Product" "" "(HP Color LaserJet Pro Mpf m176n)" } @@ -17416,7 +18168,7 @@ ModelName "HP Color LaserJet Pro MFP m177fw" Attribute "NickName" "" "HP Color LaserJet Pro MFP m177fw, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LJ Pro MFP m177fw" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet pro mfp m177fw;DES:hp color laserjet pro mfp m177fw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet pro mfp m177fw;DES:hp color laserjet pro mfp m177fw;" PCFileName "hp-color_laserjet_pro_mfp_m177fw.ppd" Attribute "Product" "" "(HP Color LaserJet Pro Mpf m177fw)" } @@ -17457,7 +18209,7 @@ Choice "Glossy/Photo Paper" "<>setpagedevice" // cupsCompression values map to QUALITY_MODE from global_types.h - // Best mode is only available with proprietary plugin. + // Best mode is only available with proprietary plugin. // Best mode will down-select to Normal if no proprietary plugin is installed. Option "OutputMode/Print Quality" PickOne AnySetup 10.0 *Choice "Normal/Normal" "<>setpagedevice" @@ -17470,7 +18222,7 @@ // Constraints //UIConstraints "*Duplex *OptionDuplex False" - Attribute "cupsModelName" "" "hp color LaserJet 3500" // APDK device class + Attribute "cupsModelName" "" "hp color LaserJet 3500" // APDK device class { // 4x6 or smaller @@ -17478,7 +18230,7 @@ "<>setpagedevice" CustomMedia "Hagaki/Hagaki 100x148mm" 284 420 13.36 14.40 13.36 14.40 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 17.28 14.40 17.28 14.40 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 17.28 14.40 17.28 14.40 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 14.28 14.40 14.28 14.40 "<>setpagedevice" "<>setpagedevice" @@ -17504,7 +18256,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 14.16 14.40 14.16 14.40 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 13.56 14.40 13.56 14.40 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 13.56 14.40 13.56 14.40 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 14.16 14.40 14.16 14.40 "<>setpagedevice" "<>setpagedevice" @@ -17544,7 +18296,7 @@ ModelName "HP Color LaserJet 3500n" Attribute "NickName" "" "HP Color LaserJet 3500n, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 3500n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3500n;DES:hp color laserjet 3500n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3500n;DES:hp color laserjet 3500n;" PCFileName "hp-color_laserjet_3500n.ppd" Attribute "Product" "" "(HP Color LaserJet 3500n Printer)" } @@ -17552,7 +18304,7 @@ ModelName "HP Color LaserJet 3500" Attribute "NickName" "" "HP Color LaserJet 3500, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 3500" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3500;DES:hp color laserjet 3500;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3500;DES:hp color laserjet 3500;" PCFileName "hp-color_laserjet_3500.ppd" Attribute "Product" "" "(HP Color LaserJet 3500 Printer)" Attribute "Product" "" "(HP Color LaserJet 3500dn Printer)" @@ -17562,7 +18314,7 @@ ModelName "HP Color LaserJet 3550" Attribute "NickName" "" "HP Color LaserJet 3550, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 3550" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3550;DES:hp color laserjet 3550;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3550;DES:hp color laserjet 3550;" PCFileName "hp-color_laserjet_3550.ppd" Attribute "Product" "" "(HP Color LaserJet 3550 Printer)" } @@ -17570,7 +18322,7 @@ ModelName "HP Color LaserJet 3550n" Attribute "NickName" "" "HP Color LaserJet 3550n, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 3550n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3550n;DES:hp color laserjet 3550n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3550n;DES:hp color laserjet 3550n;" PCFileName "hp-color_laserjet_3550n.ppd" Attribute "Product" "" "(HP Color LaserJet 3550n Printer)" } @@ -17578,7 +18330,7 @@ ModelName "HP Color LaserJet 3600" Attribute "NickName" "" "HP Color LaserJet 3600, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 3600" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3600;DES:hp color laserjet 3600;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3600;DES:hp color laserjet 3600;" PCFileName "hp-color_laserjet_3600.ppd" Attribute "Product" "" "(HP Color LaserJet 3600 Printer)" Attribute "Product" "" "(HP Color LaserJet 3600n Printer)" @@ -17628,7 +18380,7 @@ // Constraints //UIConstraints "*Duplex *OptionDuplex False" - Attribute "cupsModelName" "" "HP LaserJet M1005" // APDK device class + Attribute "cupsModelName" "" "HP LaserJet M1005" // APDK device class { // 4x6 or smaller @@ -17658,7 +18410,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 12 13 12 13 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 13.56 13.5 13.56 13.5 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 13.56 13.5 13.56 13.5 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 12 13 12 13 "<>setpagedevice" "<>setpagedevice" @@ -17667,7 +18419,7 @@ CustomMedia "Legal/Legal 8.5x14in" 612 1008 12 13 12 13 "<>setpagedevice" "<>setpagedevice" -// Envelope +// Envelope CustomMedia "EnvA2/A2 Envelope 4.37x5.75in" 314.64 414 12 13 12 13 "<>setpagedevice" "<>setpagedevice" CustomMedia "EnvC6/C6 Envelope 114x162mm" 323.28 459.36 12 13 12 13 "<>setpagedevice" @@ -17698,7 +18450,7 @@ ModelName "HP LaserJet m1005" Attribute "NickName" "" "HP LaserJet m1005, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet m1005" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m1005;DES:hp laserjet m1005;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m1005;DES:hp laserjet m1005;" PCFileName "hp-laserjet_m1005.ppd" Attribute "Product" "" "(HP LaserJet m1005 Multifunction Printer)" } @@ -17706,7 +18458,7 @@ ModelName "HP LaserJet p1505n" Attribute "NickName" "" "HP LaserJet p1505n zxs, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p1505n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p1505n;DES:hp laserjet p1505n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p1505n;DES:hp laserjet p1505n;" PCFileName "hp-laserjet_p1505n-zxs.ppd" Attribute "Product" "" "(HP LaserJet p1505n Printer)" } @@ -17714,7 +18466,7 @@ ModelName "HP LaserJet p1505" Attribute "NickName" "" "HP LaserJet p1505, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p1505" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p1505;DES:hp laserjet p1505;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p1505;DES:hp laserjet p1505;" PCFileName "hp-laserjet_p1505.ppd" Attribute "Product" "" "(HP LaserJet p1505 Printer)" } @@ -17722,7 +18474,7 @@ ModelName "HP LaserJet p2014" Attribute "NickName" "" "HP LaserJet p2014 zxs, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p2014" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2014;DES:hp laserjet p2014;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2014;DES:hp laserjet p2014;" PCFileName "hp-laserjet_p2014-zxs.ppd" Attribute "Product" "" "(HP LaserJet p2014 Printer)" } @@ -17730,7 +18482,7 @@ ModelName "HP LaserJet p2014n" Attribute "NickName" "" "HP LaserJet p2014n zxs, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p2014n" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2014n;DES:hp laserjet p2014n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2014n;DES:hp laserjet p2014n;" PCFileName "hp-laserjet_p2014n-zxs.ppd" Attribute "Product" "" "(HP LaserJet p2014n Printer)" } @@ -17778,7 +18530,7 @@ // Constraints //UIConstraints "*Duplex *OptionDuplex False" - Attribute "cupsModelName" "" "HP LaserJet P1005" // APDK device class + Attribute "cupsModelName" "" "HP LaserJet P1005" // APDK device class { // 4x6 or smaller @@ -17808,7 +18560,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 12 13 12 13 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 13.56 13.5 13.56 13.5 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 13.56 13.5 13.56 13.5 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 12 13 12 13 "<>setpagedevice" "<>setpagedevice" @@ -17817,7 +18569,7 @@ CustomMedia "Legal/Legal 8.5x14in" 612 1008 12 13 12 13 "<>setpagedevice" "<>setpagedevice" -// Envelope +// Envelope CustomMedia "EnvA2/A2 Envelope 4.37x5.75in" 314.64 414 12 13 12 13 "<>setpagedevice" "<>setpagedevice" CustomMedia "EnvC6/C6 Envelope 114x162mm" 323.28 459.36 12 13 12 13 "<>setpagedevice" @@ -17848,7 +18600,7 @@ ModelName "HP LaserJet p1005" Attribute "NickName" "" "HP LaserJet p1005, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p1005" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p1005;DES:hp laserjet p1005;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p1005;DES:hp laserjet p1005;" PCFileName "hp-laserjet_p1005.ppd" Attribute "Product" "" "(HP LaserJet p1005 Printer)" } @@ -17856,7 +18608,7 @@ ModelName "HP LaserJet p1006" Attribute "NickName" "" "HP LaserJet p1006, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p1006" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p1006;DES:hp laserjet p1006;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p1006;DES:hp laserjet p1006;" PCFileName "hp-laserjet_p1006.ppd" Attribute "Product" "" "(HP LaserJet p1006 Printer)" } @@ -17864,7 +18616,7 @@ ModelName "HP LaserJet p1007" Attribute "NickName" "" "HP LaserJet p1007, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p1007" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p1007;DES:hp laserjet p1007;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p1007;DES:hp laserjet p1007;" PCFileName "hp-laserjet_p1007.ppd" Attribute "Product" "" "(HP LaserJet p1007 Printer)" } @@ -17872,7 +18624,7 @@ ModelName "HP LaserJet p1008" Attribute "NickName" "" "HP LaserJet p1008, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p1008" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p1008;DES:hp laserjet p1008;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p1008;DES:hp laserjet p1008;" PCFileName "hp-laserjet_p1008.ppd" Attribute "Product" "" "(HP LaserJet p1008 Printer)" } @@ -17880,7 +18632,7 @@ ModelName "HP LaserJet p1009" Attribute "NickName" "" "HP LaserJet p1009, hpcups $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p1009" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p1009;DES:hp laserjet p1009;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p1009;DES:hp laserjet p1009;" PCFileName "hp-laserjet_p1009.ppd" Attribute "Product" "" "(HP LaserJet p1009 Printer)" } @@ -17935,7 +18687,7 @@ "<>setpagedevice" CustomMedia "Hagaki/Hagaki 100x148mm" 284 420 18 48 18 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "Photo4x6/Photo 4x6in" 288 432 18 48 18 9 "<>setpagedevice" + CustomMedia "Photo4x6/Photo 4x6in" 288 432 18 48 18 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "A6/A6 105x148mm" 297.36 419.76 18 48 18 9 "<>setpagedevice" "<>setpagedevice" @@ -17961,7 +18713,7 @@ "<>setpagedevice" // custom *CustomMedia "Letter/Letter 8.5x11in" 612 792 18 48 18 9 "<>setpagedevice" "<>setpagedevice" - CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 48 18 9 "<>setpagedevice" + CustomMedia "A4/A4 210x297mm" 595.44 841.68 18 48 18 9 "<>setpagedevice" "<>setpagedevice" CustomMedia "ExecutiveJIS/Executive (JIS) 8.5x12.986in" 612 936 18 48 18 9 "<>setpagedevice" "<>setpagedevice" @@ -17997,7 +18749,7 @@ MaxSize 8.5in 14in { - Attribute "cupsModelName" "" "APOLLO P-2200" // APDK device class + Attribute "cupsModelName" "" "APOLLO P-2200" // APDK device class // <%AP2xxx:Apollo2200%> { ModelName "Apollo 2200" @@ -18017,7 +18769,7 @@ } } { - Attribute "cupsModelName" "" "P-2000U" // APDK device class + Attribute "cupsModelName" "" "P-2000U" // APDK device class // <%AP21xx:Apollo2000%> { ModelName "Apollo p2000-u" @@ -18045,7 +18797,7 @@ } } { - Attribute "cupsModelName" "" "APOLLO P2500/2600" // APDK device class + Attribute "cupsModelName" "" "APOLLO P2500/2600" // APDK device class // <%AP2560:Apollo2500%> { ModelName "Apollo 2500" diff -Nru hplip-3.14.6/prnt/drv/hpijs.drv.in hplip-3.15.2/prnt/drv/hpijs.drv.in --- hplip-3.14.6/prnt/drv/hpijs.drv.in 2014-06-03 06:33:23.000000000 +0000 +++ hplip-3.15.2/prnt/drv/hpijs.drv.in 2015-01-29 12:21:01.000000000 +0000 @@ -523,6 +523,24 @@ // <%DJ9xx:Normal%> { + ModelName "HP Photosmart p1000 hpijs" + Attribute "NickName" "" "HP Photosmart p1000 hpijs, $Version" + Attribute "ShortNickName" "" "HP Photosmart p1000 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart p1000;DES:photosmart p1000;" + PCFileName "hp-photosmart_p1000-hpijs.ppd" + Attribute "Product" "" "(HP Photosmart p1000/1000 Printer)" + Attribute "Product" "" "(HP Photosmart p1000xi Printer)" + } + { + ModelName "HP Photosmart p1100 hpijs" + Attribute "NickName" "" "HP Photosmart p1100 hpijs, $Version" + Attribute "ShortNickName" "" "HP Photosmart p1100 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart p1100;DES:photosmart p1100;" + PCFileName "hp-photosmart_p1100-hpijs.ppd" + Attribute "Product" "" "(HP Photosmart p1100 Printer)" + Attribute "Product" "" "(HP Photosmart p1100xi Printer)" + } + { ModelName "HP Officejet v30 hpijs" Attribute "NickName" "" "HP Officejet v30 hpijs, $Version" Attribute "ShortNickName" "" "HP Officejet v30 hpijs" @@ -531,6 +549,57 @@ Attribute "Product" "" "(HP Officejet v30 All-in-one Printer)" } { + ModelName "HP Deskjet 3810 hpijs" + Attribute "NickName" "" "HP Deskjet 3810 hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 3810 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3810;DES:deskjet 3810;" + PCFileName "hp-deskjet_3810-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 3810 Color Inkjet Printer)" + } + { + ModelName "HP Deskjet 3816 hpijs" + Attribute "NickName" "" "HP Deskjet 3816 hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 3816 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3816;DES:deskjet 3816;" + PCFileName "hp-deskjet_3816-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 3816 Color Inkjet Printer)" + Attribute "Product" "" "(HP Deskjet 3818 Color Inkjet Printer)" + } + { + ModelName "HP Deskjet 3819 hpijs" + Attribute "NickName" "" "HP Deskjet 3819 hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 3819 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3819;DES:deskjet 3819;" + PCFileName "hp-deskjet_3819-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 3819 Color Inkjet Printer)" + } + { + ModelName "HP Deskjet 3820 hpijs" + Attribute "NickName" "" "HP Deskjet 3820 hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 3820 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3820;DES:deskjet 3820;" + PCFileName "hp-deskjet_3820-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 3820 Color Inkjet Printer)" + Attribute "Product" "" "(HP Deskjet 3820v Color Inkjet Printer)" + Attribute "Product" "" "(HP Deskjet 3820w Color Inkjet Printer)" + } + { + ModelName "HP Deskjet 3822 hpijs" + Attribute "NickName" "" "HP Deskjet 3822 hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 3822 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3822;DES:deskjet 3822;" + PCFileName "hp-deskjet_3822-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 3822 Color Inkjet Printer)" + } + { + ModelName "HP Deskjet 3870 hpijs" + Attribute "NickName" "" "HP Deskjet 3870 hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 3870 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3870;DES:deskjet 3870;" + PCFileName "hp-deskjet_3870-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 3870 Color Inkjet Printer)" + } + { ModelName "HP Officejet v40xi hpijs" Attribute "NickName" "" "HP Officejet v40xi hpijs, $Version" Attribute "ShortNickName" "" "HP Officejet v40xi hpijs" @@ -556,6 +625,43 @@ Attribute "Product" "" "(HP Officejet v45 All-in-one Printer)" } { + ModelName "HP Officejet 5100 Series hpijs" + Attribute "NickName" "" "HP Officejet 5100 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet 5100 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5100 series;DES:officejet 5100 series;" + PCFileName "hp-officejet_5100_series-hpijs.ppd" + Attribute "Product" "" "(HP Officejet 5100 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 5105 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 5110v All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 5110xi All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 5110 All-in-one Printer)" + } + { + ModelName "HP Officejet 5105 hpijs" + Attribute "NickName" "" "HP Officejet 5105 hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet 5105 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5105;DES:officejet 5105;" + PCFileName "hp-officejet_5105-hpijs.ppd" + Attribute "Product" "" "(HP Officejet 5105 All-in-one Printer)" + } + { + ModelName "HP Officejet 5110v hpijs" + Attribute "NickName" "" "HP Officejet 5110v hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet 5110v hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5110v;DES:officejet 5110v;" + PCFileName "hp-officejet_5110v-hpijs.ppd" + Attribute "Product" "" "(HP Officejet 5110v All-in-one Printer)" + } + { + ModelName "HP Officejet 5110 hpijs" + Attribute "NickName" "" "HP Officejet 5110 hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet 5110 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5110;DES:officejet 5110;" + PCFileName "hp-officejet_5110-hpijs.ppd" + Attribute "Product" "" "(HP Officejet 5110 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 5110xi All-in-one Printer)" + } + { ModelName "HP Officejet g55 hpijs" Attribute "NickName" "" "HP Officejet g55 hpijs, $Version" Attribute "ShortNickName" "" "HP Officejet g55 hpijs" @@ -588,46 +694,6 @@ Attribute "Product" "" "(HP Officejet k60 All-in-one Printer)" } { - ModelName "HP Officejet k80xi hpijs" - Attribute "NickName" "" "HP Officejet k80xi hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet k80xi hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet k80xi;DES:officejet k80xi;" - PCFileName "hp-officejet_k80xi-hpijs.ppd" - Attribute "Product" "" "(HP Officejet k80xi All-in-one Printer)" - } - { - ModelName "HP Officejet k80 hpijs" - Attribute "NickName" "" "HP Officejet k80 hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet k80 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet k80;DES:officejet k80;" - PCFileName "hp-officejet_k80-hpijs.ppd" - Attribute "Product" "" "(HP Officejet k80 All-in-one Printer)" - } - { - ModelName "HP Officejet g85 hpijs" - Attribute "NickName" "" "HP Officejet g85 hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet g85 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet g85;DES:officejet g85;" - PCFileName "hp-officejet_g85-hpijs.ppd" - Attribute "Product" "" "(HP Officejet g85 All-in-one Printer)" - } - { - ModelName "HP Officejet g85xi hpijs" - Attribute "NickName" "" "HP Officejet g85xi hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet g85xi hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet g85xi;DES:officejet g85xi;" - PCFileName "hp-officejet_g85xi-hpijs.ppd" - Attribute "Product" "" "(HP Officejet g85xi All-in-one Printer)" - } - { - ModelName "HP Officejet g95 hpijs" - Attribute "NickName" "" "HP Officejet g95 hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet g95 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet g95;DES:officejet g95;" - PCFileName "hp-officejet_g95-hpijs.ppd" - Attribute "Product" "" "(HP Officejet g95 All-in-one Printer)" - } - { ModelName "HP PSC 720 hpijs" Attribute "NickName" "" "HP PSC 720 hpijs, $Version" Attribute "ShortNickName" "" "HP PSC 720 hpijs" @@ -676,6 +742,38 @@ Attribute "Product" "" "(HP PSC 780xi All-in-one Printer)" } { + ModelName "HP Officejet k80xi hpijs" + Attribute "NickName" "" "HP Officejet k80xi hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet k80xi hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet k80xi;DES:officejet k80xi;" + PCFileName "hp-officejet_k80xi-hpijs.ppd" + Attribute "Product" "" "(HP Officejet k80xi All-in-one Printer)" + } + { + ModelName "HP Officejet k80 hpijs" + Attribute "NickName" "" "HP Officejet k80 hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet k80 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet k80;DES:officejet k80;" + PCFileName "hp-officejet_k80-hpijs.ppd" + Attribute "Product" "" "(HP Officejet k80 All-in-one Printer)" + } + { + ModelName "HP Officejet g85 hpijs" + Attribute "NickName" "" "HP Officejet g85 hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet g85 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet g85;DES:officejet g85;" + PCFileName "hp-officejet_g85-hpijs.ppd" + Attribute "Product" "" "(HP Officejet g85 All-in-one Printer)" + } + { + ModelName "HP Officejet g85xi hpijs" + Attribute "NickName" "" "HP Officejet g85xi hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet g85xi hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet g85xi;DES:officejet g85xi;" + PCFileName "hp-officejet_g85xi-hpijs.ppd" + Attribute "Product" "" "(HP Officejet g85xi All-in-one Printer)" + } + { ModelName "HP PSC 900 Series hpijs" Attribute "NickName" "" "HP PSC 900 Series hpijs, $Version" Attribute "ShortNickName" "" "HP PSC 900 Series hpijs" @@ -771,6 +869,14 @@ Attribute "Product" "" "(HP Deskjet 948c Printer)" } { + ModelName "HP Officejet g95 hpijs" + Attribute "NickName" "" "HP Officejet g95 hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet g95 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet g95;DES:officejet g95;" + PCFileName "hp-officejet_g95-hpijs.ppd" + Attribute "Product" "" "(HP Officejet g95 All-in-one Printer)" + } + { ModelName "HP PSC 950xi hpijs" Attribute "NickName" "" "HP PSC 950xi hpijs, $Version" Attribute "ShortNickName" "" "HP PSC 950xi hpijs" @@ -855,147 +961,41 @@ Attribute "Product" "" "(HP Deskjet 975cse Printer)" Attribute "Product" "" "(HP Deskjet 975cxi Printer)" } - { - ModelName "HP Photosmart p1000 hpijs" - Attribute "NickName" "" "HP Photosmart p1000 hpijs, $Version" - Attribute "ShortNickName" "" "HP Photosmart p1000 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart p1000;DES:photosmart p1000;" - PCFileName "hp-photosmart_p1000-hpijs.ppd" - Attribute "Product" "" "(HP Photosmart p1000/1000 Printer)" - Attribute "Product" "" "(HP Photosmart p1000xi Printer)" - } - { - ModelName "HP Photosmart p1100 hpijs" - Attribute "NickName" "" "HP Photosmart p1100 hpijs, $Version" - Attribute "ShortNickName" "" "HP Photosmart p1100 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart p1100;DES:photosmart p1100;" - PCFileName "hp-photosmart_p1100-hpijs.ppd" - Attribute "Product" "" "(HP Photosmart p1100 Printer)" - Attribute "Product" "" "(HP Photosmart p1100xi Printer)" - } - { - ModelName "HP Deskjet 3810 hpijs" - Attribute "NickName" "" "HP Deskjet 3810 hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 3810 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3810;DES:deskjet 3810;" - PCFileName "hp-deskjet_3810-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 3810 Color Inkjet Printer)" - } - { - ModelName "HP Deskjet 3816 hpijs" - Attribute "NickName" "" "HP Deskjet 3816 hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 3816 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3816;DES:deskjet 3816;" - PCFileName "hp-deskjet_3816-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 3816 Color Inkjet Printer)" - Attribute "Product" "" "(HP Deskjet 3818 Color Inkjet Printer)" - } - { - ModelName "HP Deskjet 3819 hpijs" - Attribute "NickName" "" "HP Deskjet 3819 hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 3819 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3819;DES:deskjet 3819;" - PCFileName "hp-deskjet_3819-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 3819 Color Inkjet Printer)" - } - { - ModelName "HP Deskjet 3820 hpijs" - Attribute "NickName" "" "HP Deskjet 3820 hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 3820 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3820;DES:deskjet 3820;" - PCFileName "hp-deskjet_3820-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 3820 Color Inkjet Printer)" - Attribute "Product" "" "(HP Deskjet 3820v Color Inkjet Printer)" - Attribute "Product" "" "(HP Deskjet 3820w Color Inkjet Printer)" - } - { - ModelName "HP Deskjet 3822 hpijs" - Attribute "NickName" "" "HP Deskjet 3822 hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 3822 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3822;DES:deskjet 3822;" - PCFileName "hp-deskjet_3822-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 3822 Color Inkjet Printer)" - } - { - ModelName "HP Deskjet 3870 hpijs" - Attribute "NickName" "" "HP Deskjet 3870 hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 3870 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3870;DES:deskjet 3870;" - PCFileName "hp-deskjet_3870-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 3870 Color Inkjet Printer)" - } - { - ModelName "HP Officejet 5100 Series hpijs" - Attribute "NickName" "" "HP Officejet 5100 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet 5100 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5100 series;DES:officejet 5100 series;" - PCFileName "hp-officejet_5100_series-hpijs.ppd" - Attribute "Product" "" "(HP Officejet 5100 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 5105 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 5110v All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 5110xi All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 5110 All-in-one Printer)" - } - { - ModelName "HP Officejet 5105 hpijs" - Attribute "NickName" "" "HP Officejet 5105 hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet 5105 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5105;DES:officejet 5105;" - PCFileName "hp-officejet_5105-hpijs.ppd" - Attribute "Product" "" "(HP Officejet 5105 All-in-one Printer)" - } - { - ModelName "HP Officejet 5110v hpijs" - Attribute "NickName" "" "HP Officejet 5110v hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet 5110v hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5110v;DES:officejet 5110v;" - PCFileName "hp-officejet_5110v-hpijs.ppd" - Attribute "Product" "" "(HP Officejet 5110v All-in-one Printer)" - } - { - ModelName "HP Officejet 5110 hpijs" - Attribute "NickName" "" "HP Officejet 5110 hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet 5110 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5110;DES:officejet 5110;" - PCFileName "hp-officejet_5110-hpijs.ppd" - Attribute "Product" "" "(HP Officejet 5110 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 5110xi All-in-one Printer)" - } - { - // Large format SuperB paper support - CustomMedia "B4JIS/B4 (JIS)" 729.00 1033.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=B4JIS" "%% FoomaticRIPOptionSetting: PageSize=B4JIS" - CustomMedia "Ledger/Ledger" 792.00 1224.00 14.40 36.00 14.40 9.00 "%% FoomaticRIPOptionSetting: PageSize=Ledger" "%% FoomaticRIPOptionSetting: PageSize=Ledger" - CustomMedia "SuperB/Super B" 936.00 1368.00 14.40 36.00 14.40 9.00 "%% FoomaticRIPOptionSetting: PageSize=SuperB" "%% FoomaticRIPOptionSetting: PageSize=SuperB" - CustomMedia "w774h1116/8K" 774.00 1116.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w774h1116" "%% FoomaticRIPOptionSetting: PageSize=w774h1116" - CustomMedia "A3/A3" 842.00 1190.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=A3" "%% FoomaticRIPOptionSetting: PageSize=A3" - // <%DJ9xx:LargeFormatSuperB%> - { - ModelName "HP Deskjet 1220c hpijs" - Attribute "NickName" "" "HP Deskjet 1220c hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 1220c hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 1220c;DES:deskjet 1220c;" - PCFileName "hp-deskjet_1220c-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 1220c Printer)" - Attribute "Product" "" "(HP Deskjet 1220cse Printer)" - Attribute "Product" "" "(HP Deskjet 1220cxi Printer)" - Attribute "Product" "" "(HP Deskjet 1220c/ps Printer)" - } - { - ModelName "HP Deskjet 1280 hpijs" - Attribute "NickName" "" "HP Deskjet 1280 hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 1280 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 1280;DES:deskjet 1280;" - PCFileName "hp-deskjet_1280-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 1280 Printer)" - } - { - ModelName "HP Deskjet 9300 hpijs" - Attribute "NickName" "" "HP Deskjet 9300 hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 9300 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp deskjet 9300;DES:hp deskjet 9300;" - PCFileName "hp-deskjet_9300-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 9300 Printer)" - } + { + // Large format SuperB paper support + CustomMedia "B4JIS/B4 (JIS)" 729.00 1033.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=B4JIS" "%% FoomaticRIPOptionSetting: PageSize=B4JIS" + CustomMedia "Ledger/Ledger" 792.00 1224.00 14.40 36.00 14.40 9.00 "%% FoomaticRIPOptionSetting: PageSize=Ledger" "%% FoomaticRIPOptionSetting: PageSize=Ledger" + CustomMedia "SuperB/Super B" 936.00 1368.00 14.40 36.00 14.40 9.00 "%% FoomaticRIPOptionSetting: PageSize=SuperB" "%% FoomaticRIPOptionSetting: PageSize=SuperB" + CustomMedia "w774h1116/8K" 774.00 1116.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w774h1116" "%% FoomaticRIPOptionSetting: PageSize=w774h1116" + CustomMedia "A3/A3" 842.00 1190.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=A3" "%% FoomaticRIPOptionSetting: PageSize=A3" + // <%DJ9xx:LargeFormatSuperB%> + { + ModelName "HP Deskjet 1220c hpijs" + Attribute "NickName" "" "HP Deskjet 1220c hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 1220c hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 1220c;DES:deskjet 1220c;" + PCFileName "hp-deskjet_1220c-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 1220c Printer)" + Attribute "Product" "" "(HP Deskjet 1220cse Printer)" + Attribute "Product" "" "(HP Deskjet 1220cxi Printer)" + Attribute "Product" "" "(HP Deskjet 1220c/ps Printer)" + } + { + ModelName "HP Deskjet 1280 hpijs" + Attribute "NickName" "" "HP Deskjet 1280 hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 1280 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 1280;DES:deskjet 1280;" + PCFileName "hp-deskjet_1280-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 1280 Printer)" + } + { + ModelName "HP Deskjet 9300 hpijs" + Attribute "NickName" "" "HP Deskjet 9300 hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 9300 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:hp deskjet 9300;DES:hp deskjet 9300;" + PCFileName "hp-deskjet_9300-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 9300 Printer)" + } } } // end DJ9xx @@ -1640,27 +1640,37 @@ CustomMedia "w612h935/Executive (JIS)" 612.00 935.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w612h935" "%% FoomaticRIPOptionSetting: PageSize=w612h935" // <%DJ9xxVIP:Normal%> { - ModelName "HP Officejet D Series hpijs" - Attribute "NickName" "" "HP Officejet D Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet D Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet d series;DES:officejet d series;" - PCFileName "hp-officejet_d_series-hpijs.ppd" - Attribute "Product" "" "(HP Officejet d125xi All-in-one Printer)" - Attribute "Product" "" "(HP Officejet d135 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet d135xi All-in-one Printer)" - Attribute "Product" "" "(HP Officejet d145xi All-in-one Printer)" - Attribute "Product" "" "(HP Officejet d145 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet d155xi All-in-one Printer)" + ModelName "HP cp1160 hpijs" + Attribute "NickName" "" "HP cp1160 hpijs, $Version" + Attribute "ShortNickName" "" "HP cp1160 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:cp1160;DES:cp1160;" + PCFileName "hp-cp1160-hpijs.ppd" + Attribute "Product" "" "(HP Color Inkjet cp1160 Printer)" + Attribute "Product" "" "(HP Color Inkjet cp1160tn Printer)" } { - ModelName "HP dj450 hpijs" - Attribute "NickName" "" "HP dj450 hpijs, $Version" - Attribute "ShortNickName" "" "HP dj450 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:dj450;DES:dj450;" - PCFileName "hp-dj450-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 450ci Mobile Printer)" - Attribute "Product" "" "(HP Deskjet 450cbi Mobile Printer)" - Attribute "Product" "" "(HP Deskjet 450wbt Mobile Printer)" + ModelName "HP Deskjet 6120 hpijs" + Attribute "NickName" "" "HP Deskjet 6120 hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 6120 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 6120;DES:deskjet 6120;" + PCFileName "hp-deskjet_6120-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 6120 Color Inkjet Printer)" + } + { + ModelName "HP Deskjet 6122 hpijs" + Attribute "NickName" "" "HP Deskjet 6122 hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 6122 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 6122;DES:deskjet 6122;" + PCFileName "hp-deskjet_6122-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 6122 Color Inkjet Printer)" + } + { + ModelName "HP Deskjet 6127 hpijs" + Attribute "NickName" "" "HP Deskjet 6127 hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 6127 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 6127;DES:deskjet 6127;" + PCFileName "hp-deskjet_6127-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 6127 Color Inkjet Printer)" } { ModelName "HP Deskjet 960c hpijs" @@ -1702,6 +1712,52 @@ Attribute "Product" "" "(HP Deskjet 995ck Printer)" } { + ModelName "HP dj450 hpijs" + Attribute "NickName" "" "HP dj450 hpijs, $Version" + Attribute "ShortNickName" "" "HP dj450 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:dj450;DES:dj450;" + PCFileName "hp-dj450-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 450ci Mobile Printer)" + Attribute "Product" "" "(HP Deskjet 450cbi Mobile Printer)" + Attribute "Product" "" "(HP Deskjet 450wbt Mobile Printer)" + } + { + ModelName "HP Color Inkjet cp1700 hpijs" + Attribute "NickName" "" "HP Color Inkjet cp1700 hpijs, $Version" + Attribute "ShortNickName" "" "HP Color Inkjet cp1700 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color inkjet cp1700;DES:hp color inkjet cp1700;" + PCFileName "hp-color_inkjet_cp1700-hpijs.ppd" + Attribute "Product" "" "(HP Color Inkjet cp1700 Printer)" + } + { + ModelName "HP Officejet 7100 Series hpijs" + Attribute "NickName" "" "HP Officejet 7100 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet 7100 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 7100 series;DES:officejet 7100 series;" + PCFileName "hp-officejet_7100_series-hpijs.ppd" + Attribute "Product" "" "(HP Officejet 7100 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 7110 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 7110xi All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 7115 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 7130 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 7130xi All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 7135xi All-in-one Printer)" + Attribute "Product" "" "(HP Officejet 7140xi All-in-one Printer)" + } + { + ModelName "HP Officejet D Series hpijs" + Attribute "NickName" "" "HP Officejet D Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet D Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet d series;DES:officejet d series;" + PCFileName "hp-officejet_d_series-hpijs.ppd" + Attribute "Product" "" "(HP Officejet d125xi All-in-one Printer)" + Attribute "Product" "" "(HP Officejet d135 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet d135xi All-in-one Printer)" + Attribute "Product" "" "(HP Officejet d145xi All-in-one Printer)" + Attribute "Product" "" "(HP Officejet d145 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet d155xi All-in-one Printer)" + } + { ModelName "HP Photosmart 1115 hpijs" Attribute "NickName" "" "HP Photosmart 1115 hpijs, $Version" Attribute "ShortNickName" "" "HP Photosmart 1115 hpijs" @@ -1710,15 +1766,6 @@ Attribute "Product" "" "(HP Photosmart 1115 Printer)" } { - ModelName "HP cp1160 hpijs" - Attribute "NickName" "" "HP cp1160 hpijs, $Version" - Attribute "ShortNickName" "" "HP cp1160 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:cp1160;DES:cp1160;" - PCFileName "hp-cp1160-hpijs.ppd" - Attribute "Product" "" "(HP Color Inkjet cp1160 Printer)" - Attribute "Product" "" "(HP Color Inkjet cp1160tn Printer)" - } - { ModelName "HP Photosmart 1215 hpijs" Attribute "NickName" "" "HP Photosmart 1215 hpijs, $Version" Attribute "ShortNickName" "" "HP Photosmart 1215 hpijs" @@ -1745,14 +1792,6 @@ Attribute "Product" "" "(HP Photosmart 1315 Printer)" } { - ModelName "HP Color Inkjet cp1700 hpijs" - Attribute "NickName" "" "HP Color Inkjet cp1700 hpijs, $Version" - Attribute "ShortNickName" "" "HP Color Inkjet cp1700 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color inkjet cp1700;DES:hp color inkjet cp1700;" - PCFileName "hp-color_inkjet_cp1700-hpijs.ppd" - Attribute "Product" "" "(HP Color Inkjet cp1700 Printer)" - } - { ModelName "HP PSC 2100 Series hpijs" Attribute "NickName" "" "HP PSC 2100 Series hpijs, $Version" Attribute "ShortNickName" "" "HP PSC 2100 Series hpijs" @@ -1787,45 +1826,6 @@ Attribute "Product" "" "(HP PSC 2179 All-in-one Printer)" } { - ModelName "HP Deskjet 6120 hpijs" - Attribute "NickName" "" "HP Deskjet 6120 hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 6120 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 6120;DES:deskjet 6120;" - PCFileName "hp-deskjet_6120-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 6120 Color Inkjet Printer)" - } - { - ModelName "HP Deskjet 6122 hpijs" - Attribute "NickName" "" "HP Deskjet 6122 hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 6122 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 6122;DES:deskjet 6122;" - PCFileName "hp-deskjet_6122-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 6122 Color Inkjet Printer)" - } - { - ModelName "HP Deskjet 6127 hpijs" - Attribute "NickName" "" "HP Deskjet 6127 hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 6127 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 6127;DES:deskjet 6127;" - PCFileName "hp-deskjet_6127-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 6127 Color Inkjet Printer)" - } - { - ModelName "HP Officejet 7100 Series hpijs" - Attribute "NickName" "" "HP Officejet 7100 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet 7100 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 7100 series;DES:officejet 7100 series;" - PCFileName "hp-officejet_7100_series-hpijs.ppd" - Attribute "Product" "" "(HP Officejet 7100 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 7110 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 7110xi All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 7115 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 7130 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 7130xi All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 7135xi All-in-one Printer)" - Attribute "Product" "" "(HP Officejet 7140xi All-in-one Printer)" - } - { // Large format SuperB paper support CustomMedia "B4JIS/B4 (JIS)" 729.00 1033.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=B4JIS" "%% FoomaticRIPOptionSetting: PageSize=B4JIS" CustomMedia "Ledger/Ledger" 792.00 1224.00 14.40 36.00 14.40 9.00 "%% FoomaticRIPOptionSetting: PageSize=Ledger" "%% FoomaticRIPOptionSetting: PageSize=Ledger" @@ -2561,31 +2561,6 @@ CustomMedia "w612h935/Executive (JIS)" 612.00 935.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w612h935" "%% FoomaticRIPOptionSetting: PageSize=w612h935" // <%DJGenericVIP:Normal%> { - ModelName "HP Deskjet Ink Advant k209a-z hpijs" - Attribute "NickName" "" "HP Deskjet Ink Advant k209a-z hpijs, $Version" - Attribute "ShortNickName" "" "HP DJ Ink Advant k209a-z hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet ink advant k209a-z;DES:deskjet ink advant k209a-z;" - PCFileName "hp-deskjet_ink_advant_k209a-z-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet Ink Advantage k209a All-in-one Printer)" - } - { - ModelName "HP Deskjet d730 hpijs" - Attribute "NickName" "" "HP Deskjet d730 hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet d730 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet d730;DES:deskjet d730;" - PCFileName "hp-deskjet_d730-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet d730 Printer)" - } - { - ModelName "HP Deskjet f735 hpijs" - Attribute "NickName" "" "HP Deskjet f735 hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet f735 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet f735;DES:deskjet f735;" - PCFileName "hp-deskjet_f735-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet f735 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f4280 All-in-one)" - } - { ModelName "HP Business Inkjet 1000 hpijs" Attribute "NickName" "" "HP Business Inkjet 1000 hpijs, $Version" Attribute "ShortNickName" "" "HP Business Inkjet 1000 hpijs" @@ -2636,6 +2611,14 @@ Attribute "Product" "" "(HP PSC 1615 All-in-one Printer)" } { + ModelName "HP Deskjet Ink Advant k209a-z hpijs" + Attribute "NickName" "" "HP Deskjet Ink Advant k209a-z hpijs, $Version" + Attribute "ShortNickName" "" "HP DJ Ink Advant k209a-z hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet ink advant k209a-z;DES:deskjet ink advant k209a-z;" + PCFileName "hp-deskjet_ink_advant_k209a-z-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet Ink Advantage k209a All-in-one Printer)" + } + { ModelName "HP PSC 2200 Series hpijs" Attribute "NickName" "" "HP PSC 2200 Series hpijs, $Version" Attribute "ShortNickName" "" "HP PSC 2200 Series hpijs" @@ -3154,19 +3137,6 @@ Attribute "Product" "" "(HP Deskjet 5652 Color Inkjet Printer)" } { - ModelName "HP Deskjet 5700 hpijs" - Attribute "NickName" "" "HP Deskjet 5700 hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 5700 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 5700;DES:deskjet 5700;" - PCFileName "hp-deskjet_5700-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 5700 Color Inkjet Printer)" - Attribute "Product" "" "(HP Deskjet 5740 Color Inkjet Printer)" - Attribute "Product" "" "(HP Deskjet 5740xi Color Inkjet Printer)" - Attribute "Product" "" "(HP Deskjet 5743 Color Inkjet Printer)" - Attribute "Product" "" "(HP Deskjet 5745 Color Inkjet Printer)" - Attribute "Product" "" "(HP Deskjet 5748 Color Inkjet Printer)" - } - { ModelName "HP Officejet j5700 Series hpijs" Attribute "NickName" "" "HP Officejet j5700 Series hpijs, $Version" Attribute "ShortNickName" "" "HP Officejet j5700 Series hpijs" @@ -3186,6 +3156,19 @@ Attribute "Product" "" "(HP Officejet j5790 All-in-one Printer)" } { + ModelName "HP Deskjet 5700 hpijs" + Attribute "NickName" "" "HP Deskjet 5700 hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 5700 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 5700;DES:deskjet 5700;" + PCFileName "hp-deskjet_5700-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 5700 Color Inkjet Printer)" + Attribute "Product" "" "(HP Deskjet 5740 Color Inkjet Printer)" + Attribute "Product" "" "(HP Deskjet 5740xi Color Inkjet Printer)" + Attribute "Product" "" "(HP Deskjet 5743 Color Inkjet Printer)" + Attribute "Product" "" "(HP Deskjet 5745 Color Inkjet Printer)" + Attribute "Product" "" "(HP Deskjet 5748 Color Inkjet Printer)" + } + { ModelName "HP Deskjet 5800 hpijs" Attribute "NickName" "" "HP Deskjet 5800 hpijs, $Version" Attribute "ShortNickName" "" "HP Deskjet 5800 hpijs" @@ -3501,6 +3484,14 @@ Attribute "Product" "" "(HP Photosmart 7268 Photo Printer)" } { + ModelName "HP Deskjet d730 hpijs" + Attribute "NickName" "" "HP Deskjet d730 hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet d730 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet d730;DES:deskjet d730;" + PCFileName "hp-deskjet_d730-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet d730 Printer)" + } + { ModelName "HP Officejet 7300 Series hpijs" Attribute "NickName" "" "HP Officejet 7300 Series hpijs, $Version" Attribute "ShortNickName" "" "HP Officejet 7300 Series hpijs" @@ -3531,6 +3522,15 @@ Attribute "Product" "" "(HP Photosmart 7345 Printer)" } { + ModelName "HP Deskjet f735 hpijs" + Attribute "NickName" "" "HP Deskjet f735 hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet f735 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet f735;DES:deskjet f735;" + PCFileName "hp-deskjet_f735-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet f735 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f4280 All-in-one)" + } + { ModelName "HP Photosmart 7350 hpijs" Attribute "NickName" "" "HP Photosmart 7350 hpijs, $Version" Attribute "ShortNickName" "" "HP Photosmart 7350 hpijs" @@ -5025,43 +5025,6 @@ CustomMedia "w612h935/Executive (JIS)" 612.00 935.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w612h935" "%% FoomaticRIPOptionSetting: PageSize=w612h935" // <%DJ3600:Normal%> { - ModelName "HP Deskjet f300 Series hpijs" - Attribute "NickName" "" "HP Deskjet f300 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet f300 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet f300 series;DES:deskjet f300 series;" - PCFileName "hp-deskjet_f300_series-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet f310 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f325 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f335 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f340 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f350 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f370 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f375 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f378 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f379 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f380 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f385 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f388 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f390 All-in-one Printer)" - Attribute "Product" "" "(HP Deskjet f394 All-in-one Printer)" - } - { - ModelName "HP 910 hpijs" - Attribute "NickName" "" "HP 910 hpijs, $Version" - Attribute "ShortNickName" "" "HP 910 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp 910;DES:hp 910;" - PCFileName "hp-910-hpijs.ppd" - Attribute "Product" "" "(HP 910 Printer)" - } - { - ModelName "HP 915 hpijs" - Attribute "NickName" "" "HP 915 hpijs, $Version" - Attribute "ShortNickName" "" "HP 915 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp 915;DES:hp 915;" - PCFileName "hp-915-hpijs.ppd" - Attribute "Product" "" "(HP 915 Inkjet All-in-one Printer)" - } - { ModelName "HP PSC 1300 Series hpijs" Attribute "NickName" "" "HP PSC 1300 Series hpijs, $Version" Attribute "ShortNickName" "" "HP PSC 1300 Series hpijs" @@ -5147,6 +5110,27 @@ Attribute "Product" "" "(HP Deskjet d4263 Printer)" } { + ModelName "HP Deskjet f300 Series hpijs" + Attribute "NickName" "" "HP Deskjet f300 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet f300 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet f300 series;DES:deskjet f300 series;" + PCFileName "hp-deskjet_f300_series-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet f310 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f325 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f335 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f340 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f350 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f370 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f375 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f378 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f379 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f380 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f385 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f388 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f390 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet f394 All-in-one Printer)" + } + { ModelName "HP Officejet j3500 Series hpijs" Attribute "NickName" "" "HP Officejet j3500 Series hpijs, $Version" Attribute "ShortNickName" "" "HP Officejet j3500 Series hpijs" @@ -5296,6 +5280,22 @@ Attribute "Product" "" "(HP Officejet 5679 All-in-one Printer)" Attribute "Product" "" "(HP Officejet 5680 All-in-one Printer)" } + { + ModelName "HP 910 hpijs" + Attribute "NickName" "" "HP 910 hpijs, $Version" + Attribute "ShortNickName" "" "HP 910 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:hp 910;DES:hp 910;" + PCFileName "hp-910-hpijs.ppd" + Attribute "Product" "" "(HP 910 Printer)" + } + { + ModelName "HP 915 hpijs" + Attribute "NickName" "" "HP 915 hpijs, $Version" + Attribute "ShortNickName" "" "HP 915 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:hp 915;DES:hp 915;" + PCFileName "hp-915-hpijs.ppd" + Attribute "Product" "" "(HP 915 Inkjet All-in-one Printer)" + } } // end DJ3600 ////////////////// DJ4100 @@ -6287,100 +6287,10 @@ CustomMedia "w612h935/Executive (JIS)" 612.00 935.00 18.00 14.40 18.00 14.40 "%% FoomaticRIPOptionSetting: PageSize=w612h935" "%% FoomaticRIPOptionSetting: PageSize=w612h935" // <%LJMono:Normal%> { - ModelName "HP LaserJet 4mp hpijs" - Attribute "NickName" "" "HP LaserJet 4mp hpijs pcl3, $Version" - Attribute "ShortNickName" "" "HP LaserJet 4mp hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4mp;DES:hp laserjet 4mp;" - PCFileName "hp-laserjet_4mp-hpijs-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 4mp Printer)" - } - { - ModelName "HP LaserJet 4 Plus hpijs" - Attribute "NickName" "" "HP LaserJet 4 Plus hpijs pcl3, $Version" - Attribute "ShortNickName" "" "HP LaserJet 4 Plus hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4 plus;DES:hp laserjet 4 plus;" - PCFileName "hp-laserjet_4_plus-hpijs-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 4 Plus Printer)" - Attribute "Product" "" "(HP LaserJet 4m Plus Printer)" - } - { - ModelName "HP LaserJet 4v hpijs" - Attribute "NickName" "" "HP LaserJet 4v hpijs pcl3, $Version" - Attribute "ShortNickName" "" "HP LaserJet 4v hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4v;DES:hp laserjet 4v;" - PCFileName "hp-laserjet_4v-hpijs-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 4v Printer)" - } - { - ModelName "HP LaserJet 4si hpijs" - Attribute "NickName" "" "HP LaserJet 4si hpijs pcl3, $Version" - Attribute "ShortNickName" "" "HP LaserJet 4si hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4si;DES:hp laserjet 4si;" - PCFileName "hp-laserjet_4si-hpijs-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 4si Printer)" - Attribute "Product" "" "(HP LaserJet 4si Mx Printer)" - } - { - ModelName "HP LaserJet 5l hpijs" - Attribute "NickName" "" "HP LaserJet 5l hpijs, $Version" - Attribute "ShortNickName" "" "HP LaserJet 5l hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5l;DES:hp laserjet 5l;" - PCFileName "hp-laserjet_5l-hpijs.ppd" - Attribute "Product" "" "(HP LaserJet 5l Printer)" - Attribute "Product" "" "(HP LaserJet 5l-fs Printer)" - Attribute "Product" "" "(HP LaserJet 5l Xtra Printer)" - } - { - ModelName "HP LaserJet 5mp hpijs" - Attribute "NickName" "" "HP LaserJet 5mp hpijs pcl3, $Version" - Attribute "ShortNickName" "" "HP LaserJet 5mp hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5mp;DES:hp laserjet 5mp;" - PCFileName "hp-laserjet_5mp-hpijs-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 5mp Printer)" - } - { - ModelName "HP LaserJet 5p hpijs" - Attribute "NickName" "" "HP LaserJet 5p hpijs, $Version" - Attribute "ShortNickName" "" "HP LaserJet 5p hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5p;DES:hp laserjet 5p;" - PCFileName "hp-laserjet_5p-hpijs.ppd" - Attribute "Product" "" "(HP LaserJet 5p Printer)" - } - { - ModelName "HP LaserJet 6l hpijs" - Attribute "NickName" "" "HP LaserJet 6l hpijs, $Version" - Attribute "ShortNickName" "" "HP LaserJet 6l hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 6l;DES:hp laserjet 6l;" - PCFileName "hp-laserjet_6l-hpijs.ppd" - Attribute "Product" "" "(HP LaserJet 6l Printer)" - Attribute "Product" "" "(HP LaserJet 6lse Printer)" - Attribute "Product" "" "(HP LaserJet 6lxi Printer)" - Attribute "Product" "" "(HP LaserJet 6l Gold Printer)" - Attribute "Product" "" "(HP LaserJet 6l Pro Printer)" - } - { - ModelName "HP LaserJet 6p hpijs" - Attribute "NickName" "" "HP LaserJet 6p hpijs, $Version" - Attribute "ShortNickName" "" "HP LaserJet 6p hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 6p;DES:hp laserjet 6p;" - PCFileName "hp-laserjet_6p-hpijs.ppd" - Attribute "Product" "" "(HP LaserJet 6p Printer)" - } - { - ModelName "HP LaserJet 6mp hpijs" - Attribute "NickName" "" "HP LaserJet 6mp hpijs pcl3, $Version" - Attribute "ShortNickName" "" "HP LaserJet 6mp hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 6mp;DES:hp laserjet 6mp;" - PCFileName "hp-laserjet_6mp-hpijs-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 6mp Printer)" - Attribute "Product" "" "(HP LaserJet 6mp Se Printer)" - Attribute "Product" "" "(HP LaserJet 6mp Xi Printer)" - } - { ModelName "HP LaserJet 1015 hpijs" Attribute "NickName" "" "HP LaserJet 1015 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 1015 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1015;DES:hp laserjet 1015;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1015;DES:hp laserjet 1015;" PCFileName "hp-laserjet_1015-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1015 Printer)" } @@ -6388,7 +6298,7 @@ ModelName "HP LaserJet 1022nw hpijs" Attribute "NickName" "" "HP LaserJet 1022nw hpijs pcl3, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1022nw hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1022nw;DES:hp laserjet 1022nw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1022nw;DES:hp laserjet 1022nw;" PCFileName "hp-laserjet_1022nw-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1022nw Printer)" } @@ -6396,7 +6306,7 @@ ModelName "HP LaserJet 1022n hpijs" Attribute "NickName" "" "HP LaserJet 1022n hpijs pcl3, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1022n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1022n;DES:hp laserjet 1022n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1022n;DES:hp laserjet 1022n;" PCFileName "hp-laserjet_1022n-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1022n Printer)" Attribute "Product" "" "(HP LaserJet 1022nxi Printer)" @@ -6405,7 +6315,7 @@ ModelName "HP LaserJet 1022 hpijs" Attribute "NickName" "" "HP LaserJet 1022 hpijs pcl3, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1022 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1022;DES:hp laserjet 1022;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1022;DES:hp laserjet 1022;" PCFileName "hp-laserjet_1022-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1022 Printer)" } @@ -6413,7 +6323,7 @@ ModelName "HP LaserJet 1100a hpijs" Attribute "NickName" "" "HP LaserJet 1100a hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 1100a hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1100a;DES:hp laserjet 1100a;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1100a;DES:hp laserjet 1100a;" PCFileName "hp-laserjet_1100a-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1100a All-in-one Printer)" Attribute "Product" "" "(HP LaserJet 1100a Se All-in-one Printer)" @@ -6422,7 +6332,7 @@ ModelName "HP LaserJet 1100xi hpijs" Attribute "NickName" "" "HP LaserJet 1100xi hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 1100xi hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1100xi;DES:hp laserjet 1100xi;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1100xi;DES:hp laserjet 1100xi;" PCFileName "hp-laserjet_1100xi-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1100a Xi All-in-one Printer)" } @@ -6430,7 +6340,7 @@ ModelName "HP LaserJet 1100 hpijs" Attribute "NickName" "" "HP LaserJet 1100 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 1100 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1100;DES:hp laserjet 1100;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1100;DES:hp laserjet 1100;" PCFileName "hp-laserjet_1100-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1100 Printer)" Attribute "Product" "" "(HP LaserJet 1100se Printer)" @@ -6440,7 +6350,7 @@ ModelName "HP LaserJet 1150 hpijs" Attribute "NickName" "" "HP LaserJet 1150 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 1150 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1150;DES:hp laserjet 1150;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1150;DES:hp laserjet 1150;" PCFileName "hp-laserjet_1150-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1150 Printer)" } @@ -6448,7 +6358,7 @@ ModelName "HP LaserJet 1160 hpijs" Attribute "NickName" "" "HP LaserJet 1160 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 1160 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1160;DES:hp laserjet 1160;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1160;DES:hp laserjet 1160;" PCFileName "hp-laserjet_1160-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1160 Printer)" Attribute "Product" "" "(HP LaserJet 1160le Printer)" @@ -6457,7 +6367,7 @@ ModelName "HP LaserJet 1160 Series hpijs" Attribute "NickName" "" "HP LaserJet 1160 Series hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 1160 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1160 series;DES:hp laserjet 1160 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1160 series;DES:hp laserjet 1160 series;" PCFileName "hp-laserjet_1160_series-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1160 Series Printer)" } @@ -6465,7 +6375,7 @@ ModelName "HP LaserJet 1200 hpijs" Attribute "NickName" "" "HP LaserJet 1200 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 1200 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1200;DES:hp laserjet 1200;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1200;DES:hp laserjet 1200;" PCFileName "hp-laserjet_1200-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1200 Printer)" Attribute "Product" "" "(HP LaserJet 1200se Printer)" @@ -6474,7 +6384,7 @@ ModelName "HP LaserJet 1200n hpijs" Attribute "NickName" "" "HP LaserJet 1200n hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 1200n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1200n;DES:hp laserjet 1200n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1200n;DES:hp laserjet 1200n;" PCFileName "hp-laserjet_1200n-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1200n Printer)" } @@ -6482,7 +6392,7 @@ ModelName "HP LaserJet 1220se hpijs" Attribute "NickName" "" "HP LaserJet 1220se hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 1220se hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1220se;DES:hp laserjet 1220se;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1220se;DES:hp laserjet 1220se;" PCFileName "hp-laserjet_1220se-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1220se All-in-one Printer)" } @@ -6490,7 +6400,7 @@ ModelName "HP LaserJet 1220 hpijs" Attribute "NickName" "" "HP LaserJet 1220 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 1220 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1220;DES:hp laserjet 1220;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1220;DES:hp laserjet 1220;" PCFileName "hp-laserjet_1220-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1220 All-in-one Printer)" } @@ -6498,7 +6408,7 @@ ModelName "HP LaserJet 1300 hpijs" Attribute "NickName" "" "HP LaserJet 1300 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 1300 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1300;DES:hp laserjet 1300;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1300;DES:hp laserjet 1300;" PCFileName "hp-laserjet_1300-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1300 Printer)" Attribute "Product" "" "(HP LaserJet 1300t Printer)" @@ -6507,7 +6417,7 @@ ModelName "HP LaserJet 1300n hpijs" Attribute "NickName" "" "HP LaserJet 1300n hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 1300n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1300n;DES:hp laserjet 1300n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1300n;DES:hp laserjet 1300n;" PCFileName "hp-laserjet_1300n-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1300n Printer)" } @@ -6515,7 +6425,7 @@ ModelName "HP LaserJet 1300xi hpijs" Attribute "NickName" "" "HP LaserJet 1300xi hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 1300xi hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1300xi;DES:hp laserjet 1300xi;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1300xi;DES:hp laserjet 1300xi;" PCFileName "hp-laserjet_1300xi-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1300xi Printer)" } @@ -6523,7 +6433,7 @@ ModelName "HP LaserJet 1320 Series hpijs" Attribute "NickName" "" "HP LaserJet 1320 Series hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 1320 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1320 series;DES:hp laserjet 1320 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1320 series;DES:hp laserjet 1320 series;" PCFileName "hp-laserjet_1320_series-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 1320 Series Printer)" } @@ -6531,7 +6441,7 @@ ModelName "HP LaserJet 1320n hpijs" Attribute "NickName" "" "HP LaserJet 1320n hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 1320n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1320n;DES:hp laserjet 1320n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1320n;DES:hp laserjet 1320n;" PCFileName "hp-laserjet_1320n-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1320n Printer)" } @@ -6539,7 +6449,7 @@ ModelName "HP LaserJet 1320tn hpijs" Attribute "NickName" "" "HP LaserJet 1320tn hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 1320tn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1320tn;DES:hp laserjet 1320tn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1320tn;DES:hp laserjet 1320tn;" PCFileName "hp-laserjet_1320tn-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1320tn Printer)" } @@ -6547,7 +6457,7 @@ ModelName "HP LaserJet 1320 hpijs" Attribute "NickName" "" "HP LaserJet 1320 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 1320 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1320;DES:hp laserjet 1320;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1320;DES:hp laserjet 1320;" PCFileName "hp-laserjet_1320-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1320 Printer)" Attribute "Product" "" "(HP LaserJet 1320t Printer)" @@ -6556,7 +6466,7 @@ ModelName "HP LaserJet 1320nw hpijs" Attribute "NickName" "" "HP LaserJet 1320nw hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 1320nw hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1320nw;DES:hp laserjet 1320nw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1320nw;DES:hp laserjet 1320nw;" PCFileName "hp-laserjet_1320nw-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1320nw Printer)" } @@ -6564,7 +6474,7 @@ ModelName "HP LaserJet p1505n hpijs" Attribute "NickName" "" "HP LaserJet p1505n hpijs pcl3, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p1505n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p1505n;DES:hp laserjet p1505n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p1505n;DES:hp laserjet p1505n;" PCFileName "hp-laserjet_p1505n-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p1505n Printer)" } @@ -6572,7 +6482,7 @@ ModelName "HP LaserJet m1522nf MFP hpijs" Attribute "NickName" "" "HP LaserJet m1522nf MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet m1522nf MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m1522nf mfp;DES:hp laserjet m1522nf mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m1522nf mfp;DES:hp laserjet m1522nf mfp;" PCFileName "hp-laserjet_m1522nf_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m1522nf Multifunction Printer)" } @@ -6580,7 +6490,7 @@ ModelName "HP LaserJet m1537dnf MFP hpijs" Attribute "NickName" "" "HP LaserJet m1537dnf MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet m1537dnf MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m1537dnf mfp;DES:hp laserjet m1537dnf mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m1537dnf mfp;DES:hp laserjet m1537dnf mfp;" PCFileName "hp-laserjet_m1537dnf_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m1537dnf MFP)" } @@ -6588,7 +6498,7 @@ ModelName "HP LaserJet m1538dnf MFP hpijs" Attribute "NickName" "" "HP LaserJet m1538dnf MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet m1538dnf MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m1538dnf mfp;DES:hp laserjet m1538dnf mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m1538dnf mfp;DES:hp laserjet m1538dnf mfp;" PCFileName "hp-laserjet_m1538dnf_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m1538dnf MFP)" } @@ -6596,7 +6506,7 @@ ModelName "HP LaserJet m1539dnf MFP hpijs" Attribute "NickName" "" "HP LaserJet m1539dnf MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet m1539dnf MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m1539dnf mfp;DES:hp laserjet m1539dnf mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m1539dnf mfp;DES:hp laserjet m1539dnf mfp;" PCFileName "hp-laserjet_m1539dnf_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m1539dnf MFP)" } @@ -6604,7 +6514,7 @@ ModelName "HP LaserJet p2014 hpijs" Attribute "NickName" "" "HP LaserJet p2014 hpijs pcl3, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p2014 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2014;DES:hp laserjet p2014;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2014;DES:hp laserjet p2014;" PCFileName "hp-laserjet_p2014-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2014 Printer)" } @@ -6612,7 +6522,7 @@ ModelName "HP LaserJet p2014n hpijs" Attribute "NickName" "" "HP LaserJet p2014n hpijs pcl3, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p2014n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2014n;DES:hp laserjet p2014n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2014n;DES:hp laserjet p2014n;" PCFileName "hp-laserjet_p2014n-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2014n Printer)" } @@ -6620,7 +6530,7 @@ ModelName "HP LaserJet p2015dn Series hpijs" Attribute "NickName" "" "HP LaserJet p2015dn Series hpijs, $Version" Attribute "ShortNickName" "" "HP LJ p2015dn Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2015dn series;DES:hp laserjet p2015dn series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2015dn series;DES:hp laserjet p2015dn series;" PCFileName "hp-laserjet_p2015dn_series-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p2015dn Printer)" } @@ -6628,7 +6538,7 @@ ModelName "HP LaserJet p2015x Series hpijs" Attribute "NickName" "" "HP LaserJet p2015x Series hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet p2015x Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2015x series;DES:hp laserjet p2015x series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2015x series;DES:hp laserjet p2015x series;" PCFileName "hp-laserjet_p2015x_series-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p2015x Printer)" } @@ -6636,7 +6546,7 @@ ModelName "HP LaserJet p2015d Series hpijs" Attribute "NickName" "" "HP LaserJet p2015d Series hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet p2015d Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2015d series;DES:hp laserjet p2015d series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2015d series;DES:hp laserjet p2015d series;" PCFileName "hp-laserjet_p2015d_series-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p2015d Printer)" } @@ -6644,7 +6554,7 @@ ModelName "HP LaserJet p2015 Series hpijs" Attribute "NickName" "" "HP LaserJet p2015 Series hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet p2015 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2015 series;DES:hp laserjet p2015 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2015 series;DES:hp laserjet p2015 series;" PCFileName "hp-laserjet_p2015_series-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2015 Printer)" } @@ -6652,7 +6562,7 @@ ModelName "HP LaserJet p2015n Series hpijs" Attribute "NickName" "" "HP LaserJet p2015n Series hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet p2015n Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2015n series;DES:hp laserjet p2015n series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2015n series;DES:hp laserjet p2015n series;" PCFileName "hp-laserjet_p2015n_series-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p2015n Printer)" } @@ -6660,7 +6570,7 @@ ModelName "HP LaserJet p2035n hpijs" Attribute "NickName" "" "HP LaserJet p2035n hpijs pcl3, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p2035n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2035n;DES:hp laserjet p2035n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2035n;DES:hp laserjet p2035n;" PCFileName "hp-laserjet_p2035n-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2035n Printer)" } @@ -6668,7 +6578,7 @@ ModelName "HP LaserJet p2035 hpijs" Attribute "NickName" "" "HP LaserJet p2035 hpijs pcl3, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p2035 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2035;DES:hp laserjet p2035;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2035;DES:hp laserjet p2035;" PCFileName "hp-laserjet_p2035-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2035 Printer)" } @@ -6676,7 +6586,7 @@ ModelName "HP LaserJet p2055dn hpijs" Attribute "NickName" "" "HP LaserJet p2055dn hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet p2055dn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2055dn;DES:hp laserjet p2055dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2055dn;DES:hp laserjet p2055dn;" PCFileName "hp-laserjet_p2055dn-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2055dn Printer)" } @@ -6684,7 +6594,7 @@ ModelName "HP LaserJet p2055 hpijs" Attribute "NickName" "" "HP LaserJet p2055 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet p2055 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2055;DES:hp laserjet p2055;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2055;DES:hp laserjet p2055;" PCFileName "hp-laserjet_p2055-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2055 Printer)" } @@ -6692,7 +6602,7 @@ ModelName "HP LaserJet p2055d hpijs" Attribute "NickName" "" "HP LaserJet p2055d hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet p2055d hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2055d;DES:hp laserjet p2055d;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2055d;DES:hp laserjet p2055d;" PCFileName "hp-laserjet_p2055d-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2055d Printer)" } @@ -6700,7 +6610,7 @@ ModelName "HP LaserJet p2055x hpijs" Attribute "NickName" "" "HP LaserJet p2055x hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet p2055x hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2055x;DES:hp laserjet p2055x;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2055x;DES:hp laserjet p2055x;" PCFileName "hp-laserjet_p2055x-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p2055x Printer)" } @@ -6708,7 +6618,7 @@ ModelName "HP LaserJet 2100 hpijs" Attribute "NickName" "" "HP LaserJet 2100 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 2100 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2100;DES:hp laserjet 2100;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2100;DES:hp laserjet 2100;" PCFileName "hp-laserjet_2100-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 2100 Printer)" Attribute "Product" "" "(HP LaserJet 2100m Printer)" @@ -6720,7 +6630,7 @@ ModelName "HP LaserJet 2100 Series hpijs" Attribute "NickName" "" "HP LaserJet 2100 Series hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 2100 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2100 series;DES:hp laserjet 2100 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2100 series;DES:hp laserjet 2100 series;" PCFileName "hp-laserjet_2100_series-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 2100 Series Printer)" } @@ -6728,7 +6638,7 @@ ModelName "HP LaserJet 2200 Series hpijs" Attribute "NickName" "" "HP LaserJet 2200 Series hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 2200 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2200 series;DES:hp laserjet 2200 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2200 series;DES:hp laserjet 2200 series;" PCFileName "hp-laserjet_2200_series-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 2200 Series Printer)" } @@ -6736,7 +6646,7 @@ ModelName "HP LaserJet 2200 hpijs" Attribute "NickName" "" "HP LaserJet 2200 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 2200 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2200;DES:hp laserjet 2200;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2200;DES:hp laserjet 2200;" PCFileName "hp-laserjet_2200-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 2200 Printer)" Attribute "Product" "" "(HP LaserJet 2200d Printer)" @@ -6749,7 +6659,7 @@ ModelName "HP LaserJet 2300 hpijs" Attribute "NickName" "" "HP LaserJet 2300 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 2300 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2300;DES:hp laserjet 2300;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2300;DES:hp laserjet 2300;" PCFileName "hp-laserjet_2300-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 2300 Printer)" Attribute "Product" "" "(HP LaserJet 2300n Printer)" @@ -6762,7 +6672,7 @@ ModelName "HP LaserJet 2300 Series hpijs" Attribute "NickName" "" "HP LaserJet 2300 Series hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 2300 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2300 series;DES:hp laserjet 2300 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2300 series;DES:hp laserjet 2300 series;" PCFileName "hp-laserjet_2300_series-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 2300 Series Printer)" } @@ -6770,7 +6680,7 @@ ModelName "HP LaserJet 2410 hpijs" Attribute "NickName" "" "HP LaserJet 2410 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 2410 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2410;DES:hp laserjet 2410;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2410;DES:hp laserjet 2410;" PCFileName "hp-laserjet_2410-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 2410 Printer)" } @@ -6778,7 +6688,7 @@ ModelName "HP LaserJet 2420 hpijs" Attribute "NickName" "" "HP LaserJet 2420 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 2420 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2420;DES:hp laserjet 2420;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2420;DES:hp laserjet 2420;" PCFileName "hp-laserjet_2420-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 2420 Printer)" Attribute "Product" "" "(HP LaserJet 2420d Printer)" @@ -6789,7 +6699,7 @@ ModelName "HP LaserJet 2430 hpijs" Attribute "NickName" "" "HP LaserJet 2430 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 2430 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 2430;DES:hp laserjet 2430;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 2430;DES:hp laserjet 2430;" PCFileName "hp-laserjet_2430-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 2430t Printer)" Attribute "Product" "" "(HP LaserJet 2430 Printer)" @@ -6801,7 +6711,7 @@ ModelName "HP LaserJet m2727 MFP hpijs" Attribute "NickName" "" "HP LaserJet m2727 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet m2727 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m2727 mfp;DES:hp laserjet m2727 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m2727 mfp;DES:hp laserjet m2727 mfp;" PCFileName "hp-laserjet_m2727_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m2727 Multifunction Printer)" } @@ -6809,7 +6719,7 @@ ModelName "HP LaserJet p3004 hpijs" Attribute "NickName" "" "HP LaserJet p3004 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet p3004 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p3004;DES:hp laserjet p3004;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p3004;DES:hp laserjet p3004;" PCFileName "hp-laserjet_p3004-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p3004 Printer)" } @@ -6817,7 +6727,7 @@ ModelName "HP LaserJet p3005 hpijs" Attribute "NickName" "" "HP LaserJet p3005 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet p3005 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p3005;DES:hp laserjet p3005;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p3005;DES:hp laserjet p3005;" PCFileName "hp-laserjet_p3005-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p3005 Printer)" Attribute "Product" "" "(HP LaserJet p3005d Printer)" @@ -6830,7 +6740,7 @@ ModelName "HP LaserJet p3010 Series hpijs" Attribute "NickName" "" "HP LaserJet p3010 Series hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet p3010 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p3010 series;DES:hp laserjet p3010 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p3010 series;DES:hp laserjet p3010 series;" PCFileName "hp-laserjet_p3010_series-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet p3015 Printer)" Attribute "Product" "" "(HP LaserJet p3011 Printer)" @@ -6839,7 +6749,7 @@ ModelName "HP LaserJet 3015 hpijs" Attribute "NickName" "" "HP LaserJet 3015 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 3015 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3015;DES:hp laserjet 3015;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3015;DES:hp laserjet 3015;" PCFileName "hp-laserjet_3015-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3015 All-in-one Printer)" } @@ -6847,7 +6757,7 @@ ModelName "HP LaserJet 3020 hpijs" Attribute "NickName" "" "HP LaserJet 3020 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 3020 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3020;DES:hp laserjet 3020;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3020;DES:hp laserjet 3020;" PCFileName "hp-laserjet_3020-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3020 All-in-one Printer)" } @@ -6855,7 +6765,7 @@ ModelName "HP LaserJet m3027 MFP hpijs" Attribute "NickName" "" "HP LaserJet m3027 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet m3027 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m3027 mfp;DES:hp laserjet m3027 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m3027 mfp;DES:hp laserjet m3027 mfp;" PCFileName "hp-laserjet_m3027_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m3027 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet m3027x Multifunction Printer)" @@ -6864,7 +6774,7 @@ ModelName "HP LaserJet 3030 hpijs" Attribute "NickName" "" "HP LaserJet 3030 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 3030 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3030;DES:hp laserjet 3030;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3030;DES:hp laserjet 3030;" PCFileName "hp-laserjet_3030-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3030 All-in-one Printer)" } @@ -6872,7 +6782,7 @@ ModelName "HP LaserJet 3050 hpijs" Attribute "NickName" "" "HP LaserJet 3050 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 3050 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3050;DES:hp laserjet 3050;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3050;DES:hp laserjet 3050;" PCFileName "hp-laserjet_3050-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3050 All-in-one Printer)" Attribute "Product" "" "(HP LaserJet 3050z All-in-one Printer)" @@ -6881,7 +6791,7 @@ ModelName "HP LaserJet 3052 hpijs" Attribute "NickName" "" "HP LaserJet 3052 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 3052 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3052;DES:hp laserjet 3052;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3052;DES:hp laserjet 3052;" PCFileName "hp-laserjet_3052-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3052 All-in-one Printer)" } @@ -6889,7 +6799,7 @@ ModelName "HP LaserJet 3055 hpijs" Attribute "NickName" "" "HP LaserJet 3055 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 3055 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3055;DES:hp laserjet 3055;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3055;DES:hp laserjet 3055;" PCFileName "hp-laserjet_3055-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 3055 All-in-one Printer)" } @@ -6897,7 +6807,7 @@ ModelName "HP LaserJet 3100 hpijs" Attribute "NickName" "" "HP LaserJet 3100 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 3100 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3100;DES:hp laserjet 3100;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3100;DES:hp laserjet 3100;" PCFileName "hp-laserjet_3100-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 3100 All-in-one Printer)" Attribute "Product" "" "(HP LaserJet 3100se All-in-one Printer)" @@ -6907,7 +6817,7 @@ ModelName "HP LaserJet 3150 hpijs" Attribute "NickName" "" "HP LaserJet 3150 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 3150 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3150;DES:hp laserjet 3150;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3150;DES:hp laserjet 3150;" PCFileName "hp-laserjet_3150-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 3150xi All-in-one Printer)" Attribute "Product" "" "(HP LaserJet 3150se All-in-one Printer)" @@ -6917,7 +6827,7 @@ ModelName "HP LaserJet 3200m hpijs" Attribute "NickName" "" "HP LaserJet 3200m hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 3200m hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3200m;DES:hp laserjet 3200m;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3200m;DES:hp laserjet 3200m;" PCFileName "hp-laserjet_3200m-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3200m All-in-one Printer)" } @@ -6925,7 +6835,7 @@ ModelName "HP LaserJet 3200se hpijs" Attribute "NickName" "" "HP LaserJet 3200se hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 3200se hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3200se;DES:hp laserjet 3200se;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3200se;DES:hp laserjet 3200se;" PCFileName "hp-laserjet_3200se-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 3200 All-in-one Printer)" } @@ -6933,7 +6843,7 @@ ModelName "HP LaserJet 3200 hpijs" Attribute "NickName" "" "HP LaserJet 3200 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 3200 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3200;DES:hp laserjet 3200;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3200;DES:hp laserjet 3200;" PCFileName "hp-laserjet_3200-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 3200 All-in-one Printer)" } @@ -6941,7 +6851,7 @@ ModelName "HP LaserJet 3300 3310 3320 hpijs" Attribute "NickName" "" "HP LaserJet 3300 3310 3320 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LJ 3300 3310 3320 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3300 3310 3320;DES:hp laserjet 3300 3310 3320;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3300 3310 3320;DES:hp laserjet 3300 3310 3320;" PCFileName "hp-laserjet_3300_3310_3320-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3300 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet 3310 Digital Printer Copier)" @@ -6953,7 +6863,7 @@ ModelName "HP LaserJet 3330 hpijs" Attribute "NickName" "" "HP LaserJet 3330 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 3330 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3330;DES:hp laserjet 3330;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3330;DES:hp laserjet 3330;" PCFileName "hp-laserjet_3330-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 3330 Multifunction Printer)" } @@ -6961,7 +6871,7 @@ ModelName "HP LaserJet 3380 hpijs" Attribute "NickName" "" "HP LaserJet 3380 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 3380 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3380;DES:hp laserjet 3380;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3380;DES:hp laserjet 3380;" PCFileName "hp-laserjet_3380-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3380 All-in-one Printer)" } @@ -6969,7 +6879,7 @@ ModelName "HP LaserJet 3390 hpijs" Attribute "NickName" "" "HP LaserJet 3390 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 3390 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3390;DES:hp laserjet 3390;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3390;DES:hp laserjet 3390;" PCFileName "hp-laserjet_3390-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 3390 All-in-one Printer)" } @@ -6977,35 +6887,69 @@ ModelName "HP LaserJet 3392 hpijs" Attribute "NickName" "" "HP LaserJet 3392 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 3392 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 3392;DES:hp laserjet 3392;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 3392;DES:hp laserjet 3392;" PCFileName "hp-laserjet_3392-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 3392 All-in-one Printer)" } { - ModelName "HP LaserJet 4000 Series hpijs" - Attribute "NickName" "" "HP LaserJet 4000 Series hpijs pcl3, $Version" - Attribute "ShortNickName" "" "HP LaserJet 4000 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4000 series;DES:hp laserjet 4000 series;" - PCFileName "hp-laserjet_4000_series-hpijs-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 4000 Printer)" - Attribute "Product" "" "(HP LaserJet 4000n Printer)" - Attribute "Product" "" "(HP LaserJet 4000se Printer)" - Attribute "Product" "" "(HP LaserJet 4000t Printer)" - Attribute "Product" "" "(HP LaserJet 4000tn Printer)" + ModelName "HP LaserJet 4mp hpijs" + Attribute "NickName" "" "HP LaserJet 4mp hpijs pcl3, $Version" + Attribute "ShortNickName" "" "HP LaserJet 4mp hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4mp;DES:hp laserjet 4mp;" + PCFileName "hp-laserjet_4mp-hpijs-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 4mp Printer)" } { - ModelName "HP LaserJet p4014dn hpijs" - Attribute "NickName" "" "HP LaserJet p4014dn hpijs, $Version" - Attribute "ShortNickName" "" "HP LaserJet p4014dn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4014dn;DES:hp laserjet p4014dn;" - PCFileName "hp-laserjet_p4014dn-hpijs.ppd" - Attribute "Product" "" "(HP LaserJet p4014dn Printer)" + ModelName "HP LaserJet 4 Plus hpijs" + Attribute "NickName" "" "HP LaserJet 4 Plus hpijs pcl3, $Version" + Attribute "ShortNickName" "" "HP LaserJet 4 Plus hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4 plus;DES:hp laserjet 4 plus;" + PCFileName "hp-laserjet_4_plus-hpijs-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 4 Plus Printer)" + Attribute "Product" "" "(HP LaserJet 4m Plus Printer)" } { - ModelName "HP LaserJet p4014 hpijs" + ModelName "HP LaserJet 4v hpijs" + Attribute "NickName" "" "HP LaserJet 4v hpijs pcl3, $Version" + Attribute "ShortNickName" "" "HP LaserJet 4v hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4v;DES:hp laserjet 4v;" + PCFileName "hp-laserjet_4v-hpijs-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 4v Printer)" + } + { + ModelName "HP LaserJet 4si hpijs" + Attribute "NickName" "" "HP LaserJet 4si hpijs pcl3, $Version" + Attribute "ShortNickName" "" "HP LaserJet 4si hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4si;DES:hp laserjet 4si;" + PCFileName "hp-laserjet_4si-hpijs-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 4si Printer)" + Attribute "Product" "" "(HP LaserJet 4si Mx Printer)" + } + { + ModelName "HP LaserJet 4000 Series hpijs" + Attribute "NickName" "" "HP LaserJet 4000 Series hpijs pcl3, $Version" + Attribute "ShortNickName" "" "HP LaserJet 4000 Series hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4000 series;DES:hp laserjet 4000 series;" + PCFileName "hp-laserjet_4000_series-hpijs-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 4000 Printer)" + Attribute "Product" "" "(HP LaserJet 4000n Printer)" + Attribute "Product" "" "(HP LaserJet 4000se Printer)" + Attribute "Product" "" "(HP LaserJet 4000t Printer)" + Attribute "Product" "" "(HP LaserJet 4000tn Printer)" + } + { + ModelName "HP LaserJet p4014dn hpijs" + Attribute "NickName" "" "HP LaserJet p4014dn hpijs, $Version" + Attribute "ShortNickName" "" "HP LaserJet p4014dn hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4014dn;DES:hp laserjet p4014dn;" + PCFileName "hp-laserjet_p4014dn-hpijs.ppd" + Attribute "Product" "" "(HP LaserJet p4014dn Printer)" + } + { + ModelName "HP LaserJet p4014 hpijs" Attribute "NickName" "" "HP LaserJet p4014 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet p4014 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4014;DES:hp laserjet p4014;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4014;DES:hp laserjet p4014;" PCFileName "hp-laserjet_p4014-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p4014 Printer)" } @@ -7013,7 +6957,7 @@ ModelName "HP LaserJet p4014n hpijs" Attribute "NickName" "" "HP LaserJet p4014n hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet p4014n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4014n;DES:hp laserjet p4014n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4014n;DES:hp laserjet p4014n;" PCFileName "hp-laserjet_p4014n-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p4014n Printer)" } @@ -7021,7 +6965,7 @@ ModelName "HP LaserJet p4015tn hpijs" Attribute "NickName" "" "HP LaserJet p4015tn hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet p4015tn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4015tn;DES:hp laserjet p4015tn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4015tn;DES:hp laserjet p4015tn;" PCFileName "hp-laserjet_p4015tn-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p4015tn Printer)" } @@ -7029,7 +6973,7 @@ ModelName "HP LaserJet p4015 hpijs" Attribute "NickName" "" "HP LaserJet p4015 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet p4015 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4015;DES:hp laserjet p4015;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4015;DES:hp laserjet p4015;" PCFileName "hp-laserjet_p4015-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p4015 Printer)" } @@ -7037,7 +6981,7 @@ ModelName "HP LaserJet p4015x hpijs" Attribute "NickName" "" "HP LaserJet p4015x hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet p4015x hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4015x;DES:hp laserjet p4015x;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4015x;DES:hp laserjet p4015x;" PCFileName "hp-laserjet_p4015x-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p4015x Printer)" } @@ -7045,7 +6989,7 @@ ModelName "HP LaserJet p4015n hpijs" Attribute "NickName" "" "HP LaserJet p4015n hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet p4015n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4015n;DES:hp laserjet p4015n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4015n;DES:hp laserjet p4015n;" PCFileName "hp-laserjet_p4015n-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p4015n Printer)" } @@ -7053,7 +6997,7 @@ ModelName "HP LaserJet p4015dn hpijs" Attribute "NickName" "" "HP LaserJet p4015dn hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet p4015dn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4015dn;DES:hp laserjet p4015dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4015dn;DES:hp laserjet p4015dn;" PCFileName "hp-laserjet_p4015dn-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p4015dn Printer)" } @@ -7061,7 +7005,7 @@ ModelName "HP LaserJet 4050 Series hpijs" Attribute "NickName" "" "HP LaserJet 4050 Series hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 4050 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4050 series;DES:hp laserjet 4050 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4050 series;DES:hp laserjet 4050 series;" PCFileName "hp-laserjet_4050_series-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4050 Printer)" Attribute "Product" "" "(HP LaserJet 4050n Printer)" @@ -7073,7 +7017,7 @@ ModelName "HP LaserJet 4100 MFP hpijs" Attribute "NickName" "" "HP LaserJet 4100 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 4100 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4100 mfp;DES:hp laserjet 4100 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4100 mfp;DES:hp laserjet 4100 mfp;" PCFileName "hp-laserjet_4100_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4100 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet 4101 Multifunction Printer)" @@ -7082,7 +7026,7 @@ ModelName "HP LaserJet 4100 Series hpijs" Attribute "NickName" "" "HP LaserJet 4100 Series hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 4100 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4100 series;DES:hp laserjet 4100 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4100 series;DES:hp laserjet 4100 series;" PCFileName "hp-laserjet_4100_series-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 410dtn Printer)" Attribute "Product" "" "(HP LaserJet 4100tn Printer)" @@ -7093,7 +7037,7 @@ ModelName "HP LaserJet 4150 Series hpijs" Attribute "NickName" "" "HP LaserJet 4150 Series hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 4150 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4150 series;DES:hp laserjet 4150 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4150 series;DES:hp laserjet 4150 series;" PCFileName "hp-laserjet_4150_series-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 4150 Printer)" } @@ -7101,7 +7045,7 @@ ModelName "HP LaserJet 4200 hpijs" Attribute "NickName" "" "HP LaserJet 4200 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 4200 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4200;DES:hp laserjet 4200;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4200;DES:hp laserjet 4200;" PCFileName "hp-laserjet_4200-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4200 Printer)" Attribute "Product" "" "(HP LaserJet 4200l Printer)" @@ -7117,7 +7061,7 @@ ModelName "HP LaserJet 4240 hpijs" Attribute "NickName" "" "HP LaserJet 4240 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 4240 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4240;DES:hp laserjet 4240;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4240;DES:hp laserjet 4240;" PCFileName "hp-laserjet_4240-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4240n Printer)" Attribute "Product" "" "(HP LaserJet 4240 Printer)" @@ -7126,7 +7070,7 @@ ModelName "HP LaserJet 4250 hpijs" Attribute "NickName" "" "HP LaserJet 4250 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 4250 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4250;DES:hp laserjet 4250;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4250;DES:hp laserjet 4250;" PCFileName "hp-laserjet_4250-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4250 Printer)" Attribute "Product" "" "(HP LaserJet 4250dtn Printer)" @@ -7138,7 +7082,7 @@ ModelName "HP LaserJet 4300 hpijs" Attribute "NickName" "" "HP LaserJet 4300 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 4300 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4300;DES:hp laserjet 4300;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4300;DES:hp laserjet 4300;" PCFileName "hp-laserjet_4300-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4300 Printer)" Attribute "Product" "" "(HP LaserJet 4300dtn Printer)" @@ -7151,7 +7095,7 @@ ModelName "HP LaserJet 4345 MFP hpijs" Attribute "NickName" "" "HP LaserJet 4345 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 4345 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4345 mfp;DES:hp laserjet 4345 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4345 mfp;DES:hp laserjet 4345 mfp;" PCFileName "hp-laserjet_4345_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4345 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet 4345x Multifunction Printer)" @@ -7162,7 +7106,7 @@ ModelName "HP LaserJet m4345 MFP hpijs" Attribute "NickName" "" "HP LaserJet m4345 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet m4345 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m4345 mfp;DES:hp laserjet m4345 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m4345 mfp;DES:hp laserjet m4345 mfp;" PCFileName "hp-laserjet_m4345_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m4345 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet m4345x Multifunction Printer)" @@ -7173,7 +7117,7 @@ ModelName "HP LaserJet m4349 MFP hpijs" Attribute "NickName" "" "HP LaserJet m4349 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet m4349 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m4349 mfp;DES:hp laserjet m4349 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m4349 mfp;DES:hp laserjet m4349 mfp;" PCFileName "hp-laserjet_m4349_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m4349 MFP)" } @@ -7181,7 +7125,7 @@ ModelName "HP LaserJet 4350 hpijs" Attribute "NickName" "" "HP LaserJet 4350 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 4350 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4350;DES:hp laserjet 4350;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4350;DES:hp laserjet 4350;" PCFileName "hp-laserjet_4350-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 4350 Printer)" Attribute "Product" "" "(HP LaserJet 4350dtn Printer)" @@ -7193,7 +7137,7 @@ ModelName "HP LaserJet p4515tn hpijs" Attribute "NickName" "" "HP LaserJet p4515tn hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet p4515tn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4515tn;DES:hp laserjet p4515tn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4515tn;DES:hp laserjet p4515tn;" PCFileName "hp-laserjet_p4515tn-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p4515tn Printer)" } @@ -7201,7 +7145,7 @@ ModelName "HP LaserJet p4515n hpijs" Attribute "NickName" "" "HP LaserJet p4515n hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet p4515n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4515n;DES:hp laserjet p4515n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4515n;DES:hp laserjet p4515n;" PCFileName "hp-laserjet_p4515n-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p4515n Printer)" } @@ -7209,7 +7153,7 @@ ModelName "HP LaserJet p4515xm hpijs" Attribute "NickName" "" "HP LaserJet p4515xm hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet p4515xm hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4515xm;DES:hp laserjet p4515xm;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4515xm;DES:hp laserjet p4515xm;" PCFileName "hp-laserjet_p4515xm-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p4515xm Printer)" } @@ -7217,7 +7161,7 @@ ModelName "HP LaserJet p4515 hpijs" Attribute "NickName" "" "HP LaserJet p4515 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet p4515 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4515;DES:hp laserjet p4515;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4515;DES:hp laserjet p4515;" PCFileName "hp-laserjet_p4515-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p4515 Printer)" } @@ -7225,15 +7169,41 @@ ModelName "HP LaserJet p4515x hpijs" Attribute "NickName" "" "HP LaserJet p4515x hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet p4515x hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p4515x;DES:hp laserjet p4515x;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p4515x;DES:hp laserjet p4515x;" PCFileName "hp-laserjet_p4515x-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p4515x Printer)" } { + ModelName "HP LaserJet 5l hpijs" + Attribute "NickName" "" "HP LaserJet 5l hpijs, $Version" + Attribute "ShortNickName" "" "HP LaserJet 5l hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5l;DES:hp laserjet 5l;" + PCFileName "hp-laserjet_5l-hpijs.ppd" + Attribute "Product" "" "(HP LaserJet 5l Printer)" + Attribute "Product" "" "(HP LaserJet 5l-fs Printer)" + Attribute "Product" "" "(HP LaserJet 5l Xtra Printer)" + } + { + ModelName "HP LaserJet 5mp hpijs" + Attribute "NickName" "" "HP LaserJet 5mp hpijs pcl3, $Version" + Attribute "ShortNickName" "" "HP LaserJet 5mp hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5mp;DES:hp laserjet 5mp;" + PCFileName "hp-laserjet_5mp-hpijs-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 5mp Printer)" + } + { + ModelName "HP LaserJet 5p hpijs" + Attribute "NickName" "" "HP LaserJet 5p hpijs, $Version" + Attribute "ShortNickName" "" "HP LaserJet 5p hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5p;DES:hp laserjet 5p;" + PCFileName "hp-laserjet_5p-hpijs.ppd" + Attribute "Product" "" "(HP LaserJet 5p Printer)" + } + { ModelName "HP LaserJet 5000 Series hpijs" Attribute "NickName" "" "HP LaserJet 5000 Series hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 5000 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5000 series;DES:hp laserjet 5000 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5000 series;DES:hp laserjet 5000 series;" PCFileName "hp-laserjet_5000_series-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 5000 Series Printer)" } @@ -7241,15 +7211,45 @@ ModelName "HP LaserJet 5200lx hpijs" Attribute "NickName" "" "HP LaserJet 5200lx hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 5200lx hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5200lx;DES:hp laserjet 5200lx;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5200lx;DES:hp laserjet 5200lx;" PCFileName "hp-laserjet_5200lx-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 5200lx Printer)" } { + ModelName "HP LaserJet 6l hpijs" + Attribute "NickName" "" "HP LaserJet 6l hpijs, $Version" + Attribute "ShortNickName" "" "HP LaserJet 6l hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 6l;DES:hp laserjet 6l;" + PCFileName "hp-laserjet_6l-hpijs.ppd" + Attribute "Product" "" "(HP LaserJet 6l Printer)" + Attribute "Product" "" "(HP LaserJet 6lse Printer)" + Attribute "Product" "" "(HP LaserJet 6lxi Printer)" + Attribute "Product" "" "(HP LaserJet 6l Gold Printer)" + Attribute "Product" "" "(HP LaserJet 6l Pro Printer)" + } + { + ModelName "HP LaserJet 6p hpijs" + Attribute "NickName" "" "HP LaserJet 6p hpijs, $Version" + Attribute "ShortNickName" "" "HP LaserJet 6p hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 6p;DES:hp laserjet 6p;" + PCFileName "hp-laserjet_6p-hpijs.ppd" + Attribute "Product" "" "(HP LaserJet 6p Printer)" + } + { + ModelName "HP LaserJet 6mp hpijs" + Attribute "NickName" "" "HP LaserJet 6mp hpijs pcl3, $Version" + Attribute "ShortNickName" "" "HP LaserJet 6mp hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 6mp;DES:hp laserjet 6mp;" + PCFileName "hp-laserjet_6mp-hpijs-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 6mp Printer)" + Attribute "Product" "" "(HP LaserJet 6mp Se Printer)" + Attribute "Product" "" "(HP LaserJet 6mp Xi Printer)" + } + { ModelName "HP LaserJet 8000 Series hpijs" Attribute "NickName" "" "HP LaserJet 8000 Series hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 8000 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 8000 series;DES:hp laserjet 8000 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 8000 series;DES:hp laserjet 8000 series;" PCFileName "hp-laserjet_8000_series-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 8000 Series Printer)" } @@ -7257,7 +7257,7 @@ ModelName "HP LaserJet 8100 MFP hpijs" Attribute "NickName" "" "HP LaserJet 8100 MFP hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 8100 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 8100 mfp;DES:hp laserjet 8100 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 8100 mfp;DES:hp laserjet 8100 mfp;" PCFileName "hp-laserjet_8100_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 8100 Multifunction Printer)" } @@ -7265,7 +7265,7 @@ ModelName "HP LaserJet 8150 MFP hpijs" Attribute "NickName" "" "HP LaserJet 8150 MFP hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 8150 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 8150 mfp;DES:hp laserjet 8150 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 8150 mfp;DES:hp laserjet 8150 mfp;" PCFileName "hp-laserjet_8150_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 8150 Multifunction Printer)" } @@ -7273,7 +7273,7 @@ ModelName "HP LaserJet m9040 MFP hpijs" Attribute "NickName" "" "HP LaserJet m9040 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet m9040 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m9040 mfp;DES:hp laserjet m9040 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m9040 mfp;DES:hp laserjet m9040 mfp;" PCFileName "hp-laserjet_m9040_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m9040 Multifunction Printer)" } @@ -7281,7 +7281,7 @@ ModelName "HP LaserJet m9050 MFP hpijs" Attribute "NickName" "" "HP LaserJet m9050 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet m9050 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m9050 mfp;DES:hp laserjet m9050 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m9050 mfp;DES:hp laserjet m9050 mfp;" PCFileName "hp-laserjet_m9050_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m9050 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet m9059 Multifunction Printer)" @@ -7290,7 +7290,7 @@ ModelName "HP LaserJet m9059 MFP hpijs" Attribute "NickName" "" "HP LaserJet m9059 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet m9059 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m9059 mfp;DES:hp laserjet m9059 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m9059 mfp;DES:hp laserjet m9059 mfp;" PCFileName "hp-laserjet_m9059_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m9059 MFP)" } @@ -7302,26 +7302,6 @@ CustomMedia "w774h1116/8K" 774.00 1116.00 18.00 14.40 18.00 14.40 "%% FoomaticRIPOptionSetting: PageSize=w774h1116" "%% FoomaticRIPOptionSetting: PageSize=w774h1116" // <%LJMono:LargeFormatA3%> { - ModelName "HP LaserJet 5si hpijs" - Attribute "NickName" "" "HP LaserJet 5si hpijs pcl3, $Version" - Attribute "ShortNickName" "" "HP LaserJet 5si hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5si;DES:hp laserjet 5si;" - PCFileName "hp-laserjet_5si-hpijs-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 5si Printer)" - Attribute "Product" "" "(HP LaserJet 5si Hm Printer)" - Attribute "Product" "" "(HP LaserJet 5si Mx Printer)" - Attribute "Product" "" "(HP LaserJet 5si Nx Printer)" - } - { - ModelName "HP LaserJet 5si Mopier hpijs" - Attribute "NickName" "" "HP LaserJet 5si Mopier hpijs pcl3, $Version" - Attribute "ShortNickName" "" "HP LaserJet 5si Mopier hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5si mopier;DES:hp laserjet 5si mopier;" - PCFileName "hp-laserjet_5si_mopier-hpijs-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet 5si Mopier)" - Attribute "Product" "" "(HP LaserJet 5si Mopier Engine)" - } - { ModelName "HP Mopier 240 hpijs" Attribute "NickName" "" "HP Mopier 240 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Mopier 240 hpijs" @@ -7330,6 +7310,15 @@ Attribute "Product" "" "(HP Mopier 240 Printer)" } { + ModelName "HP LaserJet m3035 MFP hpijs" + Attribute "NickName" "" "HP LaserJet m3035 MFP hpijs pcl3, $Version" + Attribute "ShortNickName" "" "HP LaserJet m3035 MFP hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m3035 mfp;DES:hp laserjet m3035 mfp;" + PCFileName "hp-laserjet_m3035_mfp-hpijs-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet m3035 Multifunction Printer)" + Attribute "Product" "" "(HP LaserJet m3035xs Multifunction Printer)" + } + { ModelName "HP Mopier 320 hpijs" Attribute "NickName" "" "HP Mopier 320 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Mopier 320 hpijs" @@ -7338,19 +7327,30 @@ Attribute "Product" "" "(HP Mopier 320 Printer)" } { - ModelName "HP LaserJet m3035 MFP hpijs" - Attribute "NickName" "" "HP LaserJet m3035 MFP hpijs pcl3, $Version" - Attribute "ShortNickName" "" "HP LaserJet m3035 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m3035 mfp;DES:hp laserjet m3035 mfp;" - PCFileName "hp-laserjet_m3035_mfp-hpijs-pcl3.ppd" - Attribute "Product" "" "(HP LaserJet m3035 Multifunction Printer)" - Attribute "Product" "" "(HP LaserJet m3035xs Multifunction Printer)" + ModelName "HP LaserJet 5si hpijs" + Attribute "NickName" "" "HP LaserJet 5si hpijs pcl3, $Version" + Attribute "ShortNickName" "" "HP LaserJet 5si hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5si;DES:hp laserjet 5si;" + PCFileName "hp-laserjet_5si-hpijs-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 5si Printer)" + Attribute "Product" "" "(HP LaserJet 5si Hm Printer)" + Attribute "Product" "" "(HP LaserJet 5si Mx Printer)" + Attribute "Product" "" "(HP LaserJet 5si Nx Printer)" + } + { + ModelName "HP LaserJet 5si Mopier hpijs" + Attribute "NickName" "" "HP LaserJet 5si Mopier hpijs pcl3, $Version" + Attribute "ShortNickName" "" "HP LaserJet 5si Mopier hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5si mopier;DES:hp laserjet 5si mopier;" + PCFileName "hp-laserjet_5si_mopier-hpijs-pcl3.ppd" + Attribute "Product" "" "(HP LaserJet 5si Mopier)" + Attribute "Product" "" "(HP LaserJet 5si Mopier Engine)" } { ModelName "HP LaserJet 5000 hpijs" Attribute "NickName" "" "HP LaserJet 5000 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 5000 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5000;DES:hp laserjet 5000;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5000;DES:hp laserjet 5000;" PCFileName "hp-laserjet_5000-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 5000 Printer)" Attribute "Product" "" "(HP LaserJet 5000le Printer)" @@ -7362,7 +7362,7 @@ ModelName "HP LaserJet m5025 MFP hpijs" Attribute "NickName" "" "HP LaserJet m5025 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet m5025 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m5025 mfp;DES:hp laserjet m5025 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m5025 mfp;DES:hp laserjet m5025 mfp;" PCFileName "hp-laserjet_m5025_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m5025 Multifunction Printer)" } @@ -7370,7 +7370,7 @@ ModelName "HP LaserJet m5035 MFP hpijs" Attribute "NickName" "" "HP LaserJet m5035 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet m5035 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m5035 mfp;DES:hp laserjet m5035 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m5035 mfp;DES:hp laserjet m5035 mfp;" PCFileName "hp-laserjet_m5035_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m5035 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet m5035x Multifunction Printer)" @@ -7380,7 +7380,7 @@ ModelName "HP LaserJet m5039 MFP hpijs" Attribute "NickName" "" "HP LaserJet m5039 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet m5039 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m5039 mfp;DES:hp laserjet m5039 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m5039 mfp;DES:hp laserjet m5039 mfp;" PCFileName "hp-laserjet_m5039_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet m5039 Multifunction Printer)" } @@ -7388,7 +7388,7 @@ ModelName "HP LaserJet 5100 Series hpijs" Attribute "NickName" "" "HP LaserJet 5100 Series hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 5100 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5100 series;DES:hp laserjet 5100 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5100 series;DES:hp laserjet 5100 series;" PCFileName "hp-laserjet_5100_series-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 5100 Printer)" Attribute "Product" "" "(HP LaserJet 5100le Printer)" @@ -7400,7 +7400,7 @@ ModelName "HP LaserJet 5200 hpijs" Attribute "NickName" "" "HP LaserJet 5200 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 5200 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5200;DES:hp laserjet 5200;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5200;DES:hp laserjet 5200;" PCFileName "hp-laserjet_5200-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 5200 Printer)" Attribute "Product" "" "(HP LaserJet 5200n Printer)" @@ -7411,7 +7411,7 @@ ModelName "HP LaserJet 5200l hpijs" Attribute "NickName" "" "HP LaserJet 5200l hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 5200l hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 5200l;DES:hp laserjet 5200l;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 5200l;DES:hp laserjet 5200l;" PCFileName "hp-laserjet_5200l-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 5200l Printer)" } @@ -7419,7 +7419,7 @@ ModelName "HP LaserJet 8000 hpijs" Attribute "NickName" "" "HP LaserJet 8000 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 8000 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 8000;DES:hp laserjet 8000;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 8000;DES:hp laserjet 8000;" PCFileName "hp-laserjet_8000-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 8000 Printer)" Attribute "Product" "" "(HP LaserJet 8000dn Printer)" @@ -7429,7 +7429,7 @@ ModelName "HP LaserJet 8100 Series hpijs" Attribute "NickName" "" "HP LaserJet 8100 Series hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 8100 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 8100 series;DES:hp laserjet 8100 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 8100 series;DES:hp laserjet 8100 series;" PCFileName "hp-laserjet_8100_series-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 8100 Printer)" Attribute "Product" "" "(HP LaserJet 8100dn Printer)" @@ -7439,7 +7439,7 @@ ModelName "HP LaserJet 8150 Series hpijs" Attribute "NickName" "" "HP LaserJet 8150 Series hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 8150 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 8150 series;DES:hp laserjet 8150 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 8150 series;DES:hp laserjet 8150 series;" PCFileName "hp-laserjet_8150_series-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 8150 Printer)" Attribute "Product" "" "(HP LaserJet 8150n Printer)" @@ -7450,7 +7450,7 @@ ModelName "HP LaserJet 9000 Series hpijs" Attribute "NickName" "" "HP LaserJet 9000 Series hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 9000 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 9000 series;DES:hp laserjet 9000 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 9000 series;DES:hp laserjet 9000 series;" PCFileName "hp-laserjet_9000_series-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 9000 Printer)" Attribute "Product" "" "(HP LaserJet 9000n Printer)" @@ -7462,7 +7462,7 @@ ModelName "HP LaserJet 9000 MFP hpijs" Attribute "NickName" "" "HP LaserJet 9000 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 9000 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 9000 mfp;DES:hp laserjet 9000 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 9000 mfp;DES:hp laserjet 9000 mfp;" PCFileName "hp-laserjet_9000_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 9000 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet 9000l Multifunction Printer)" @@ -7471,7 +7471,7 @@ ModelName "HP LaserJet 9040 MFP hpijs" Attribute "NickName" "" "HP LaserJet 9040 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 9040 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 9040 mfp;DES:hp laserjet 9040 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 9040 mfp;DES:hp laserjet 9040 mfp;" PCFileName "hp-laserjet_9040_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 9040n Printer)" Attribute "Product" "" "(HP LaserJet 9040dn Printer)" @@ -7481,7 +7481,7 @@ ModelName "HP LaserJet 9040 hpijs" Attribute "NickName" "" "HP LaserJet 9040 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 9040 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 9040;DES:hp laserjet 9040;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 9040;DES:hp laserjet 9040;" PCFileName "hp-laserjet_9040-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 9040 Printer)" Attribute "Product" "" "(HP LaserJet 9040n Printer)" @@ -7491,7 +7491,7 @@ ModelName "HP LaserJet 9050 hpijs" Attribute "NickName" "" "HP LaserJet 9050 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 9050 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 9050;DES:hp laserjet 9050;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 9050;DES:hp laserjet 9050;" PCFileName "hp-laserjet_9050-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 9050 Printer)" Attribute "Product" "" "(HP LaserJet 9050n Printer)" @@ -7501,7 +7501,7 @@ ModelName "HP LaserJet 9050 MFP hpijs" Attribute "NickName" "" "HP LaserJet 9050 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 9050 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 9050 mfp;DES:hp laserjet 9050 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 9050 mfp;DES:hp laserjet 9050 mfp;" PCFileName "hp-laserjet_9050_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 9050 Multifunction Printer)" } @@ -7509,7 +7509,7 @@ ModelName "HP LaserJet 9055mfp hpijs" Attribute "NickName" "" "HP LaserJet 9055mfp hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 9055mfp hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 9055mfp;DES:hp laserjet 9055mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 9055mfp;DES:hp laserjet 9055mfp;" PCFileName "hp-laserjet_9055mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 9055 Multifunction Printer)" } @@ -7517,7 +7517,7 @@ ModelName "HP LaserJet 9065mfp hpijs" Attribute "NickName" "" "HP LaserJet 9065mfp hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet 9065mfp hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 9065mfp;DES:hp laserjet 9065mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 9065mfp;DES:hp laserjet 9065mfp;" PCFileName "hp-laserjet_9065mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet 9065 Multifunction Printer)" } @@ -7660,7 +7660,7 @@ ModelName "HP LaserJet 4l hpijs" Attribute "NickName" "" "HP LaserJet 4l hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 4l hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4l;DES:hp laserjet 4l;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4l;DES:hp laserjet 4l;" PCFileName "hp-laserjet_4l-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 4l Printer)" Attribute "Product" "" "(HP LaserJet 4l Pro Printer)" @@ -7671,7 +7671,7 @@ ModelName "HP LaserJet 4ml hpijs" Attribute "NickName" "" "HP LaserJet 4ml hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 4ml hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 4ml;DES:hp laserjet 4ml;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 4ml;DES:hp laserjet 4ml;" PCFileName "hp-laserjet_4ml-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 4ml Printer)" } @@ -7881,7 +7881,7 @@ ModelName "HP Color LaserJet cm1312nfi MFP hpijs" Attribute "NickName" "" "HP Color LaserJet cm1312nfi MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ cm1312nfi MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm1312nfi mfp;DES:hp color laserjet cm1312nfi mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm1312nfi mfp;DES:hp color laserjet cm1312nfi mfp;" PCFileName "hp-color_laserjet_cm1312nfi_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm1312nfi Multifunction Printer)" } @@ -7889,7 +7889,7 @@ ModelName "HP Color LaserJet cm1312 MFP hpijs" Attribute "NickName" "" "HP Color LaserJet cm1312 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ cm1312 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm1312 mfp;DES:hp color laserjet cm1312 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm1312 mfp;DES:hp color laserjet cm1312 mfp;" PCFileName "hp-color_laserjet_cm1312_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm1312 Multifunction Printer)" } @@ -7897,7 +7897,7 @@ ModelName "HP LaserJet cm1411fn hpijs" Attribute "NickName" "" "HP LaserJet cm1411fn hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet cm1411fn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cm1411fn;DES:hp laserjet cm1411fn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cm1411fn;DES:hp laserjet cm1411fn;" PCFileName "hp-laserjet_cm1411fn-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet Professional cm1411fn)" } @@ -7905,7 +7905,7 @@ ModelName "HP LaserJet cm1412fn hpijs" Attribute "NickName" "" "HP LaserJet cm1412fn hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet cm1412fn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cm1412fn;DES:hp laserjet cm1412fn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cm1412fn;DES:hp laserjet cm1412fn;" PCFileName "hp-laserjet_cm1412fn-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet Professional cm1412fn)" } @@ -7913,7 +7913,7 @@ ModelName "HP LaserJet cm1413fn hpijs" Attribute "NickName" "" "HP LaserJet cm1413fn hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet cm1413fn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cm1413fn;DES:hp laserjet cm1413fn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cm1413fn;DES:hp laserjet cm1413fn;" PCFileName "hp-laserjet_cm1413fn-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet Professional cm1413fn)" } @@ -7921,7 +7921,7 @@ ModelName "HP LaserJet cm1415fn hpijs" Attribute "NickName" "" "HP LaserJet cm1415fn hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet cm1415fn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cm1415fn;DES:hp laserjet cm1415fn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cm1415fn;DES:hp laserjet cm1415fn;" PCFileName "hp-laserjet_cm1415fn-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet Professional cm1415fn)" } @@ -7929,7 +7929,7 @@ ModelName "HP LaserJet cm1415fnw hpijs" Attribute "NickName" "" "HP LaserJet cm1415fnw hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet cm1415fnw hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cm1415fnw;DES:hp laserjet cm1415fnw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cm1415fnw;DES:hp laserjet cm1415fnw;" PCFileName "hp-laserjet_cm1415fnw-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet Professional cm1415fnw)" } @@ -7937,7 +7937,7 @@ ModelName "HP LaserJet cm1416fnw hpijs" Attribute "NickName" "" "HP LaserJet cm1416fnw hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet cm1416fnw hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cm1416fnw;DES:hp laserjet cm1416fnw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cm1416fnw;DES:hp laserjet cm1416fnw;" PCFileName "hp-laserjet_cm1416fnw-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet Professional cm1416fnw)" } @@ -7945,7 +7945,7 @@ ModelName "HP LaserJet cm1417fnw hpijs" Attribute "NickName" "" "HP LaserJet cm1417fnw hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet cm1417fnw hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cm1417fnw;DES:hp laserjet cm1417fnw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cm1417fnw;DES:hp laserjet cm1417fnw;" PCFileName "hp-laserjet_cm1417fnw-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet Professional cm1417fnw)" } @@ -7953,7 +7953,7 @@ ModelName "HP LaserJet cm1418fnw hpijs" Attribute "NickName" "" "HP LaserJet cm1418fnw hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP LaserJet cm1418fnw hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cm1418fnw;DES:hp laserjet cm1418fnw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cm1418fnw;DES:hp laserjet cm1418fnw;" PCFileName "hp-laserjet_cm1418fnw-hpijs-pcl3.ppd" Attribute "Product" "" "(HP LaserJet Professional cm1418fnw)" } @@ -7961,7 +7961,7 @@ ModelName "HP Color LaserJet cp1514n hpijs" Attribute "NickName" "" "HP Color LaserJet cp1514n hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp1514n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp1514n;DES:hp color laserjet cp1514n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp1514n;DES:hp color laserjet cp1514n;" PCFileName "hp-color_laserjet_cp1514n-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp1514n Printer)" } @@ -7969,7 +7969,7 @@ ModelName "HP Color LaserJet cp1515n hpijs" Attribute "NickName" "" "HP Color LaserJet cp1515n hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp1515n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp1515n;DES:hp color laserjet cp1515n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp1515n;DES:hp color laserjet cp1515n;" PCFileName "hp-color_laserjet_cp1515n-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp1515n Printer)" } @@ -7977,7 +7977,7 @@ ModelName "HP Color LaserJet cp1518ni hpijs" Attribute "NickName" "" "HP Color LaserJet cp1518ni hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ cp1518ni hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp1518ni;DES:hp color laserjet cp1518ni;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp1518ni;DES:hp color laserjet cp1518ni;" PCFileName "hp-color_laserjet_cp1518ni-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp1518ni Printer)" } @@ -7985,7 +7985,7 @@ ModelName "HP Color LaserJet cp2025dn hpijs" Attribute "NickName" "" "HP Color LaserJet cp2025dn hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ cp2025dn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp2025dn;DES:hp color laserjet cp2025dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp2025dn;DES:hp color laserjet cp2025dn;" PCFileName "hp-color_laserjet_cp2025dn-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp2025dn Printer)" } @@ -7993,7 +7993,7 @@ ModelName "HP Color LaserJet cp2025 hpijs" Attribute "NickName" "" "HP Color LaserJet cp2025 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp2025 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp2025;DES:hp color laserjet cp2025;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp2025;DES:hp color laserjet cp2025;" PCFileName "hp-color_laserjet_cp2025-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp2025 Printer)" } @@ -8001,7 +8001,7 @@ ModelName "HP Color LaserJet cp2025n hpijs" Attribute "NickName" "" "HP Color LaserJet cp2025n hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp2025n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp2025n;DES:hp color laserjet cp2025n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp2025n;DES:hp color laserjet cp2025n;" PCFileName "hp-color_laserjet_cp2025n-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp2025n Printer)" } @@ -8009,7 +8009,7 @@ ModelName "HP Color LaserJet cp2025x hpijs" Attribute "NickName" "" "HP Color LaserJet cp2025x hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp2025x hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp2025x;DES:hp color laserjet cp2025x;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp2025x;DES:hp color laserjet cp2025x;" PCFileName "hp-color_laserjet_cp2025x-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp2025x Printer)" } @@ -8027,7 +8027,7 @@ ModelName "HP Color LaserJet 2500 hpijs" Attribute "NickName" "" "HP Color LaserJet 2500 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 2500 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 2500;DES:hp color laserjet 2500;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 2500;DES:hp color laserjet 2500;" PCFileName "hp-color_laserjet_2500-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 2500 Printer)" } @@ -8035,7 +8035,7 @@ ModelName "HP Color LaserJet 2500 Series hpijs" Attribute "NickName" "" "HP Color LaserJet 2500 Series hpijs, $Version" Attribute "ShortNickName" "" "HP Color LJ 2500 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 2500 series;DES:hp color laserjet 2500 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 2500 series;DES:hp color laserjet 2500 series;" PCFileName "hp-color_laserjet_2500_series-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet 2500l Printer)" Attribute "Product" "" "(HP Color LaserJet 2500lse Printer)" @@ -8046,7 +8046,7 @@ ModelName "HP Color LaserJet 3000 hpijs" Attribute "NickName" "" "HP Color LaserJet 3000 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 3000 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3000;DES:hp color laserjet 3000;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3000;DES:hp color laserjet 3000;" PCFileName "hp-color_laserjet_3000-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 3000 Printer)" Attribute "Product" "" "(HP Color LaserJet 3000n Printer)" @@ -8057,7 +8057,7 @@ ModelName "HP Color LaserJet cp3505 hpijs" Attribute "NickName" "" "HP Color LaserJet cp3505 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp3505 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp3505;DES:hp color laserjet cp3505;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp3505;DES:hp color laserjet cp3505;" PCFileName "hp-color_laserjet_cp3505-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp3505n Printer)" Attribute "Product" "" "(HP Color LaserJet cp3505dn Printer)" @@ -8068,7 +8068,7 @@ ModelName "HP Color LaserJet cp3525 hpijs" Attribute "NickName" "" "HP Color LaserJet cp3525 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp3525 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp3525;DES:hp color laserjet cp3525;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp3525;DES:hp color laserjet cp3525;" PCFileName "hp-color_laserjet_cp3525-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp3525 Printer)" Attribute "Product" "" "(HP Color LaserJet cp3525n Printer)" @@ -8079,7 +8079,7 @@ ModelName "HP Color LaserJet cm3530 MFP hpijs" Attribute "NickName" "" "HP Color LaserJet cm3530 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ cm3530 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm3530 mfp;DES:hp color laserjet cm3530 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm3530 mfp;DES:hp color laserjet cm3530 mfp;" PCFileName "hp-color_laserjet_cm3530_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm3530 Multifunction Printer)" Attribute "Product" "" "(HP Color LaserJet cm3530fs Multifunction Printer)" @@ -8088,7 +8088,7 @@ ModelName "HP Color LaserJet 3700 hpijs" Attribute "NickName" "" "HP Color LaserJet 3700 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 3700 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3700;DES:hp color laserjet 3700;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3700;DES:hp color laserjet 3700;" PCFileName "hp-color_laserjet_3700-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 3700 Printer)" } @@ -8096,7 +8096,7 @@ ModelName "HP Color LaserJet 3700n hpijs" Attribute "NickName" "" "HP Color LaserJet 3700n hpijs, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 3700n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3700n;DES:hp color laserjet 3700n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3700n;DES:hp color laserjet 3700n;" PCFileName "hp-color_laserjet_3700n-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet 3700n Printer)" Attribute "Product" "" "(HP Color LaserJet 3700dtn Printer)" @@ -8107,7 +8107,7 @@ ModelName "HP Color LaserJet 3800 hpijs" Attribute "NickName" "" "HP Color LaserJet 3800 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 3800 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3800;DES:hp color laserjet 3800;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3800;DES:hp color laserjet 3800;" PCFileName "hp-color_laserjet_3800-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 3800 Printer)" Attribute "Product" "" "(HP Color LaserJet 3800n Printer)" @@ -8118,7 +8118,7 @@ ModelName "HP Color LaserJet cp4005 hpijs" Attribute "NickName" "" "HP Color LaserJet cp4005 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp4005 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp4005;DES:hp color laserjet cp4005;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp4005;DES:hp color laserjet cp4005;" PCFileName "hp-color_laserjet_cp4005-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp4005n Printer)" Attribute "Product" "" "(HP Color LaserJet cp4005dn Printer)" @@ -8128,7 +8128,7 @@ ModelName "HP Color LaserJet cp4020 Series hpijs" Attribute "NickName" "" "HP Color LaserJet cp4020 Series hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ cp4020 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp4020 series;DES:hp color laserjet cp4020 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp4020 series;DES:hp color laserjet cp4020 series;" PCFileName "hp-color_laserjet_cp4020_series-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp4020 Series Printer)" } @@ -8136,7 +8136,7 @@ ModelName "HP Color LaserJet 4500 hpijs" Attribute "NickName" "" "HP Color LaserJet 4500 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 4500 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 4500;DES:hp color laserjet 4500;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 4500;DES:hp color laserjet 4500;" PCFileName "hp-color_laserjet_4500-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 4500 Printer)" Attribute "Product" "" "(HP Color LaserJet 4500dn Printer)" @@ -8146,7 +8146,7 @@ ModelName "HP Color LaserJet cp4520 Series hpijs" Attribute "NickName" "" "HP Color LaserJet cp4520 Series hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ cp4520 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp4520 series;DES:hp color laserjet cp4520 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp4520 series;DES:hp color laserjet cp4520 series;" PCFileName "hp-color_laserjet_cp4520_series-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp4520 Series Printer)" } @@ -8154,7 +8154,7 @@ ModelName "HP Color LaserJet cm4540 MFP hpijs" Attribute "NickName" "" "HP Color LaserJet cm4540 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ cm4540 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm4540 mfp;DES:hp color laserjet cm4540 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm4540 mfp;DES:hp color laserjet cm4540 mfp;" PCFileName "hp-color_laserjet_cm4540_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm4540 Multifunction Printer)" } @@ -8162,7 +8162,7 @@ ModelName "HP Color LaserJet 4550 hpijs" Attribute "NickName" "" "HP Color LaserJet 4550 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 4550 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 4550;DES:hp color laserjet 4550;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 4550;DES:hp color laserjet 4550;" PCFileName "hp-color_laserjet_4550-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 4550 Printer)" Attribute "Product" "" "(HP Color LaserJet 4550n Printer)" @@ -8175,7 +8175,7 @@ ModelName "HP Color LaserJet 4600 Series hpijs" Attribute "NickName" "" "HP Color LaserJet 4600 Series hpijs, $Version" Attribute "ShortNickName" "" "HP Color LJ 4600 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 4600 series;DES:hp color laserjet 4600 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 4600 series;DES:hp color laserjet 4600 series;" PCFileName "hp-color_laserjet_4600_series-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet 4600 Printer)" Attribute "Product" "" "(HP Color LaserJet 4600dn Printer)" @@ -8187,7 +8187,7 @@ ModelName "HP Color LaserJet 4600 hpijs" Attribute "NickName" "" "HP Color LaserJet 4600 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 4600 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 4600;DES:hp color laserjet 4600;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 4600;DES:hp color laserjet 4600;" PCFileName "hp-color_laserjet_4600-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 4600 Series Printer)" } @@ -8195,7 +8195,7 @@ ModelName "HP Color LaserJet 4610 hpijs" Attribute "NickName" "" "HP Color LaserJet 4610 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 4610 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 4610;DES:hp color laserjet 4610;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 4610;DES:hp color laserjet 4610;" PCFileName "hp-color_laserjet_4610-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 4610n Printer)" } @@ -8203,7 +8203,7 @@ ModelName "HP Color LaserJet 4650 hpijs" Attribute "NickName" "" "HP Color LaserJet 4650 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 4650 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 4650;DES:hp color laserjet 4650;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 4650;DES:hp color laserjet 4650;" PCFileName "hp-color_laserjet_4650-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 4650 Printer)" Attribute "Product" "" "(HP Color LaserJet 4650n Printer)" @@ -8215,7 +8215,7 @@ ModelName "HP Color LaserJet 4700 hpijs" Attribute "NickName" "" "HP Color LaserJet 4700 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 4700 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 4700;DES:hp color laserjet 4700;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 4700;DES:hp color laserjet 4700;" PCFileName "hp-color_laserjet_4700-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 4700 Printer)" Attribute "Product" "" "(HP Color LaserJet 4700dn Printer)" @@ -8227,7 +8227,7 @@ ModelName "HP Color LaserJet cm4730 MFP hpijs" Attribute "NickName" "" "HP Color LaserJet cm4730 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ cm4730 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm4730 mfp;DES:hp color laserjet cm4730 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm4730 mfp;DES:hp color laserjet cm4730 mfp;" PCFileName "hp-color_laserjet_cm4730_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm4730 Multifunction Printer)" Attribute "Product" "" "(HP Color LaserJet cm4730f Multifunction Printer)" @@ -8238,7 +8238,7 @@ ModelName "HP Color LaserJet 4730mfp hpijs" Attribute "NickName" "" "HP Color LaserJet 4730mfp hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 4730mfp hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 4730mfp;DES:hp color laserjet 4730mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 4730mfp;DES:hp color laserjet 4730mfp;" PCFileName "hp-color_laserjet_4730mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 4730xs Multifunction Printer)" Attribute "Product" "" "(HP Color LaserJet 4730xm Multifunction Printer)" @@ -8249,7 +8249,7 @@ ModelName "HP Color LaserJet cp5225 hpijs" Attribute "NickName" "" "HP Color LaserJet cp5225 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp5225 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp5225;DES:hp color laserjet cp5225;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp5225;DES:hp color laserjet cp5225;" PCFileName "hp-color_laserjet_cp5225-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp5225)" } @@ -8257,7 +8257,7 @@ ModelName "HP Color LaserJet cp5225n hpijs" Attribute "NickName" "" "HP Color LaserJet cp5225n hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp5225n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp5225n;DES:hp color laserjet cp5225n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp5225n;DES:hp color laserjet cp5225n;" PCFileName "hp-color_laserjet_cp5225n-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp5225n)" } @@ -8265,7 +8265,7 @@ ModelName "HP Color LaserJet cp5225dn hpijs" Attribute "NickName" "" "HP Color LaserJet cp5225dn hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ cp5225dn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp5225dn;DES:hp color laserjet cp5225dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp5225dn;DES:hp color laserjet cp5225dn;" PCFileName "hp-color_laserjet_cp5225dn-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp5225dn)" } @@ -8273,7 +8273,7 @@ ModelName "HP Color LaserJet cp5520 Series hpijs" Attribute "NickName" "" "HP Color LaserJet cp5520 Series hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ cp5520 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp5520 series;DES:hp color laserjet cp5520 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp5520 series;DES:hp color laserjet cp5520 series;" PCFileName "hp-color_laserjet_cp5520_series-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp5520 Series Printer)" } @@ -8292,7 +8292,7 @@ ModelName "HP Color LaserJet cm2320 MFP hpijs" Attribute "NickName" "" "HP Color LaserJet cm2320 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ cm2320 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm2320 mfp;DES:hp color laserjet cm2320 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm2320 mfp;DES:hp color laserjet cm2320 mfp;" PCFileName "hp-color_laserjet_cm2320_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm2320 Multifuntion Printer)" } @@ -8300,7 +8300,7 @@ ModelName "HP Color LaserJet cm2320nf MFP hpijs" Attribute "NickName" "" "HP Color LaserJet cm2320nf MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ cm2320nf MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm2320nf mfp;DES:hp color laserjet cm2320nf mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm2320nf mfp;DES:hp color laserjet cm2320nf mfp;" PCFileName "hp-color_laserjet_cm2320nf_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm2320nf Multifunction Printer)" } @@ -8308,7 +8308,7 @@ ModelName "HP Color LaserJet cm2320fxi MFP hpijs" Attribute "NickName" "" "HP Color LaserJet cm2320fxi MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ cm2320fxi MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm2320fxi mfp;DES:hp color laserjet cm2320fxi mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm2320fxi mfp;DES:hp color laserjet cm2320fxi mfp;" PCFileName "hp-color_laserjet_cm2320fxi_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm2320fxi Multifunction Printer)" } @@ -8316,7 +8316,7 @@ ModelName "HP Color LaserJet cm2320n MFP hpijs" Attribute "NickName" "" "HP Color LaserJet cm2320n MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ cm2320n MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm2320n mfp;DES:hp color laserjet cm2320n mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm2320n mfp;DES:hp color laserjet cm2320n mfp;" PCFileName "hp-color_laserjet_cm2320n_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm2320n Multifunction Printer)" } @@ -8369,7 +8369,7 @@ ModelName "HP Color LaserJet 5500 hpijs" Attribute "NickName" "" "HP Color LaserJet 5500 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 5500 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 5500;DES:hp color laserjet 5500;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 5500;DES:hp color laserjet 5500;" PCFileName "hp-color_laserjet_5500-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 5500 Printer)" Attribute "Product" "" "(HP Color LaserJet 5500n Printer)" @@ -8381,7 +8381,7 @@ ModelName "HP Color LaserJet 5550 hpijs" Attribute "NickName" "" "HP Color LaserJet 5550 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 5550 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 5550;DES:hp color laserjet 5550;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 5550;DES:hp color laserjet 5550;" PCFileName "hp-color_laserjet_5550-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 5550n Printer)" Attribute "Product" "" "(HP Color LaserJet 5550 Printer)" @@ -8393,7 +8393,7 @@ ModelName "HP Color LaserJet cp6015 hpijs" Attribute "NickName" "" "HP Color LaserJet cp6015 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet cp6015 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp6015;DES:hp color laserjet cp6015;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp6015;DES:hp color laserjet cp6015;" PCFileName "hp-color_laserjet_cp6015-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cp6015dn Printer)" Attribute "Product" "" "(HP Color LaserJet cp6015x Printer)" @@ -8405,7 +8405,7 @@ ModelName "HP Color LaserJet cm6030 MFP hpijs" Attribute "NickName" "" "HP Color LaserJet cm6030 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ cm6030 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm6030 mfp;DES:hp color laserjet cm6030 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm6030 mfp;DES:hp color laserjet cm6030 mfp;" PCFileName "hp-color_laserjet_cm6030_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet cm6030 Multifunction Printer)" Attribute "Product" "" "(HP Color LaserJet cm6030f Multifunction Printer)" @@ -8414,7 +8414,7 @@ ModelName "HP Color LaserJet cm6040 MFP hpijs" Attribute "NickName" "" "HP Color LaserJet cm6040 MFP hpijs, $Version" Attribute "ShortNickName" "" "HP Color LJ cm6040 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm6040 mfp;DES:hp color laserjet cm6040 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm6040 mfp;DES:hp color laserjet cm6040 mfp;" PCFileName "hp-color_laserjet_cm6040_mfp-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet cm6040 Multifunction Printer)" Attribute "Product" "" "(HP Color LaserJet cm6040f Multifunction Printer)" @@ -8424,7 +8424,7 @@ ModelName "HP Color LaserJet cm6049 MFP hpijs" Attribute "NickName" "" "HP Color LaserJet cm6049 MFP hpijs, $Version" Attribute "ShortNickName" "" "HP Color LJ cm6049 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cm6049 mfp;DES:hp color laserjet cm6049 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cm6049 mfp;DES:hp color laserjet cm6049 mfp;" PCFileName "hp-color_laserjet_cm6049_mfp-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet cm6049 MFP)" } @@ -8432,7 +8432,7 @@ ModelName "HP Color LaserJet 8500 hpijs" Attribute "NickName" "" "HP Color LaserJet 8500 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 8500 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 8500;DES:hp color laserjet 8500;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 8500;DES:hp color laserjet 8500;" PCFileName "hp-color_laserjet_8500-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 8500 Printer)" Attribute "Product" "" "(HP Color LaserJet 8500n Printer)" @@ -8442,7 +8442,7 @@ ModelName "HP Color LaserJet 8550 hpijs" Attribute "NickName" "" "HP Color LaserJet 8550 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 8550 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 8550;DES:hp color laserjet 8550;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 8550;DES:hp color laserjet 8550;" PCFileName "hp-color_laserjet_8550-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 8550dn Printer)" Attribute "Product" "" "(HP Color LaserJet 8550gn Printer)" @@ -8455,7 +8455,7 @@ ModelName "HP Color LaserJet 9500 hpijs" Attribute "NickName" "" "HP Color LaserJet 9500 hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LaserJet 9500 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 9500;DES:hp color laserjet 9500;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 9500;DES:hp color laserjet 9500;" PCFileName "hp-color_laserjet_9500-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 9500n Printer)" Attribute "Product" "" "(HP Color LaserJet 9500hdn Printer)" @@ -8466,7 +8466,7 @@ ModelName "HP Color LaserJet 9500 MFP hpijs" Attribute "NickName" "" "HP Color LaserJet 9500 MFP hpijs pcl3, $Version" Attribute "ShortNickName" "" "HP Color LJ 9500 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 9500 mfp;DES:hp color laserjet 9500 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 9500 mfp;DES:hp color laserjet 9500 mfp;" PCFileName "hp-color_laserjet_9500_mfp-hpijs-pcl3.ppd" Attribute "Product" "" "(HP Color LaserJet 9500 Multifunction Printer)" } @@ -8666,22 +8666,6 @@ CustomMedia "w774h1116/8K" 774.00 1116.00 18.00 14.40 18.00 14.40 "%% FoomaticRIPOptionSetting: PageSize=w774h1116" "%% FoomaticRIPOptionSetting: PageSize=w774h1116" // <%LJColor:300dpiOnly:LargeFormatA3%> { - ModelName "HP Color LaserJet 5 hpijs" - Attribute "NickName" "" "HP Color LaserJet 5 hpijs, $Version" - Attribute "ShortNickName" "" "HP Color LaserJet 5 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 5;DES:hp color laserjet 5;" - PCFileName "hp-color_laserjet_5-hpijs.ppd" - Attribute "Product" "" "(HP Color LaserJet 5 Printer)" - } - { - ModelName "HP Color LaserJet 5m hpijs" - Attribute "NickName" "" "HP Color LaserJet 5m hpijs pcl3, $Version" - Attribute "ShortNickName" "" "HP Color LaserJet 5m hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 5m;DES:hp color laserjet 5m;" - PCFileName "hp-color_laserjet_5m-hpijs-pcl3.ppd" - Attribute "Product" "" "(HP Color LaserJet 5m Printer)" - } - { ModelName "HP Deskjet 1200c hpijs" Attribute "NickName" "" "HP Deskjet 1200c hpijs, $Version" Attribute "ShortNickName" "" "HP Deskjet 1200c hpijs" @@ -8713,6 +8697,22 @@ PCFileName "hp-deskjet_1600cm-hpijs.ppd" Attribute "Product" "" "(HP Deskjet 1600cm Printer)" } + { + ModelName "HP Color LaserJet 5 hpijs" + Attribute "NickName" "" "HP Color LaserJet 5 hpijs, $Version" + Attribute "ShortNickName" "" "HP Color LaserJet 5 hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 5;DES:hp color laserjet 5;" + PCFileName "hp-color_laserjet_5-hpijs.ppd" + Attribute "Product" "" "(HP Color LaserJet 5 Printer)" + } + { + ModelName "HP Color LaserJet 5m hpijs" + Attribute "NickName" "" "HP Color LaserJet 5m hpijs pcl3, $Version" + Attribute "ShortNickName" "" "HP Color LaserJet 5m hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 5m;DES:hp color laserjet 5m;" + PCFileName "hp-color_laserjet_5m-hpijs-pcl3.ppd" + Attribute "Product" "" "(HP Color LaserJet 5m Printer)" + } } } // end LJColor 300 dpi max. only @@ -8867,7 +8867,7 @@ ModelName "HP LaserJet 1010 hpijs" Attribute "NickName" "" "HP LaserJet 1010 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 1010 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1010;DES:hp laserjet 1010;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1010;DES:hp laserjet 1010;" PCFileName "hp-laserjet_1010-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1010 Printer)" } @@ -8875,7 +8875,7 @@ ModelName "HP LaserJet 1012 hpijs" Attribute "NickName" "" "HP LaserJet 1012 hpijs, $Version" Attribute "ShortNickName" "" "HP LaserJet 1012 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1012;DES:hp laserjet 1012;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1012;DES:hp laserjet 1012;" PCFileName "hp-laserjet_1012-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1012 Printer)" } @@ -9030,7 +9030,7 @@ ModelName "HP Color LaserJet 3500n hpijs" Attribute "NickName" "" "HP Color LaserJet 3500n hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 3500n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3500n;DES:hp color laserjet 3500n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3500n;DES:hp color laserjet 3500n;" PCFileName "hp-color_laserjet_3500n-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet 3500n Printer)" } @@ -9038,7 +9038,7 @@ ModelName "HP Color LaserJet 3500 hpijs" Attribute "NickName" "" "HP Color LaserJet 3500 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 3500 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3500;DES:hp color laserjet 3500;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3500;DES:hp color laserjet 3500;" PCFileName "hp-color_laserjet_3500-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet 3500 Printer)" Attribute "Product" "" "(HP Color LaserJet 3500dn Printer)" @@ -9048,7 +9048,7 @@ ModelName "HP Color LaserJet 3550 hpijs" Attribute "NickName" "" "HP Color LaserJet 3550 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 3550 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3550;DES:hp color laserjet 3550;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3550;DES:hp color laserjet 3550;" PCFileName "hp-color_laserjet_3550-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet 3550 Printer)" } @@ -9056,7 +9056,7 @@ ModelName "HP Color LaserJet 3550n hpijs" Attribute "NickName" "" "HP Color LaserJet 3550n hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 3550n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3550n;DES:hp color laserjet 3550n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3550n;DES:hp color laserjet 3550n;" PCFileName "hp-color_laserjet_3550n-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet 3550n Printer)" } @@ -9064,7 +9064,7 @@ ModelName "HP Color LaserJet 3600 hpijs" Attribute "NickName" "" "HP Color LaserJet 3600 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 3600 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3600;DES:hp color laserjet 3600;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3600;DES:hp color laserjet 3600;" PCFileName "hp-color_laserjet_3600-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet 3600 Printer)" Attribute "Product" "" "(HP Color LaserJet 3600n Printer)" @@ -9351,38 +9351,6 @@ CustomMedia "w612h935/Executive (JIS)" 612.00 935.00 18.00 48.24 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w612h935" "%% FoomaticRIPOptionSetting: PageSize=w612h935" // <%DJ540:GrayscaleOnly%> { - ModelName "HP Officejet hpijs" - Attribute "NickName" "" "HP Officejet hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet;DES:officejet;" - PCFileName "hp-officejet-hpijs.ppd" - Attribute "Product" "" "(HP Officejet All-in-one Printer)" - } - { - ModelName "HP Officejet Lx hpijs" - Attribute "NickName" "" "HP Officejet Lx hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet Lx hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet lx;DES:officejet lx;" - PCFileName "hp-officejet_lx-hpijs.ppd" - Attribute "Product" "" "(HP Officejet Lx All-in-one Printer)" - } - { - ModelName "HP Officejet Series 330 hpijs" - Attribute "NickName" "" "HP Officejet Series 330 hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet Series 330 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet series 330;DES:officejet series 330;" - PCFileName "hp-officejet_series_330-hpijs.ppd" - Attribute "Product" "" "(HP Officejet 330 All-in-one Printer)" - } - { - ModelName "HP Officejet Series 350 hpijs" - Attribute "NickName" "" "HP Officejet Series 350 hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet Series 350 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet series 350;DES:officejet series 350;" - PCFileName "hp-officejet_series_350-hpijs.ppd" - Attribute "Product" "" "(HP Officejet 350 All-in-one Printer)" - } - { ModelName "HP Deskjet 500 hpijs" Attribute "NickName" "" "HP Deskjet 500 hpijs, $Version" Attribute "ShortNickName" "" "HP Deskjet 500 hpijs" @@ -9417,6 +9385,38 @@ PCFileName "hp-deskjet_520-hpijs.ppd" Attribute "Product" "" "(HP Deskjet 520 Printer)" } + { + ModelName "HP Officejet hpijs" + Attribute "NickName" "" "HP Officejet hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet;DES:officejet;" + PCFileName "hp-officejet-hpijs.ppd" + Attribute "Product" "" "(HP Officejet All-in-one Printer)" + } + { + ModelName "HP Officejet Lx hpijs" + Attribute "NickName" "" "HP Officejet Lx hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet Lx hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet lx;DES:officejet lx;" + PCFileName "hp-officejet_lx-hpijs.ppd" + Attribute "Product" "" "(HP Officejet Lx All-in-one Printer)" + } + { + ModelName "HP Officejet Series 330 hpijs" + Attribute "NickName" "" "HP Officejet Series 330 hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet Series 330 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet series 330;DES:officejet series 330;" + PCFileName "hp-officejet_series_330-hpijs.ppd" + Attribute "Product" "" "(HP Officejet 330 All-in-one Printer)" + } + { + ModelName "HP Officejet Series 350 hpijs" + Attribute "NickName" "" "HP Officejet Series 350 hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet Series 350 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet series 350;DES:officejet series 350;" + PCFileName "hp-officejet_series_350-hpijs.ppd" + Attribute "Product" "" "(HP Officejet 350 All-in-one Printer)" + } } // end DJ540 grayscale only /////////////// DJ540 @@ -9949,6 +9949,14 @@ r="HEWLETT-PACKARD" -sDeviceModel="DESKJET 660"" // <%DJ6xx:Normal%> { + ModelName "HP Deskjet 1100 hpijs" + Attribute "NickName" "" "HP Deskjet 1100 hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 1100 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 1100;DES:deskjet 1100;" + PCFileName "hp-deskjet_1100-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 1100c Printer)" + } + { ModelName "HP Printer Scanner Copier 300 hpijs" Attribute "NickName" "" "HP Printer Scanner Copier 300 hpijs, $Version" Attribute "ShortNickName" "" "HP PSC 300 hpijs" @@ -10072,14 +10080,6 @@ PCFileName "hp-deskjet_682-hpijs.ppd" Attribute "Product" "" "(HP Deskjet 682c Printer)" } - { - ModelName "HP Deskjet 1100 hpijs" - Attribute "NickName" "" "HP Deskjet 1100 hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 1100 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 1100;DES:deskjet 1100;" - PCFileName "hp-deskjet_1100-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 1100c Printer)" - } } } // end DJ600 and DJ6xx @@ -10517,88 +10517,12 @@ CustomMedia "w612h935/Executive (JIS)" 612.00 935.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w612h935" "%% FoomaticRIPOptionSetting: PageSize=w612h935" // <%DJ8xx:Normal%> { - ModelName "HP Officejet T Series hpijs" - Attribute "NickName" "" "HP Officejet T Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet T Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet t series;DES:officejet t series;" - PCFileName "hp-officejet_t_series-hpijs.ppd" - Attribute "Product" "" "(HP Officejet t45 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet t45xi All-in-one Printer)" - Attribute "Product" "" "(HP Officejet t65 All-in-one Printer)" - Attribute "Product" "" "(HP Officejet t65xi All-in-one Printer)" - } - { - ModelName "HP Officejet r40 hpijs" - Attribute "NickName" "" "HP Officejet r40 hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet r40 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r40;DES:officejet r40;" - PCFileName "hp-officejet_r40-hpijs.ppd" - Attribute "Product" "" "(HP Officejet r40 All-in-one Printer)" - } - { - ModelName "HP Officejet r40xi hpijs" - Attribute "NickName" "" "HP Officejet r40xi hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet r40xi hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r40xi;DES:officejet r40xi;" - PCFileName "hp-officejet_r40xi-hpijs.ppd" - Attribute "Product" "" "(HP Officejet r40xi All-in-one Printer)" - } - { - ModelName "HP Officejet r45 hpijs" - Attribute "NickName" "" "HP Officejet r45 hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet r45 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r45;DES:officejet r45;" - PCFileName "hp-officejet_r45-hpijs.ppd" - Attribute "Product" "" "(HP Officejet r45 All-in-one Printer)" - } - { - ModelName "HP Officejet r60 hpijs" - Attribute "NickName" "" "HP Officejet r60 hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet r60 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r60;DES:officejet r60;" - PCFileName "hp-officejet_r60-hpijs.ppd" - Attribute "Product" "" "(HP Officejet r60 All-in-one Printer)" - } - { - ModelName "HP Officejet r65 hpijs" - Attribute "NickName" "" "HP Officejet r65 hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet r65 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r65;DES:officejet r65;" - PCFileName "hp-officejet_r65-hpijs.ppd" - Attribute "Product" "" "(HP Officejet r65 All-in-one Printer)" - } - { - ModelName "HP Officejet r80xi hpijs" - Attribute "NickName" "" "HP Officejet r80xi hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet r80xi hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r80xi;DES:officejet r80xi;" - PCFileName "hp-officejet_r80xi-hpijs.ppd" - Attribute "Product" "" "(HP Officejet r80xi All-in-one Printer)" - } - { - ModelName "HP Officejet r80 hpijs" - Attribute "NickName" "" "HP Officejet r80 hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet r80 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r80;DES:officejet r80;" - PCFileName "hp-officejet_r80-hpijs.ppd" - Attribute "Product" "" "(HP Officejet r80 All-in-one Printer)" - } - { - ModelName "HP PSC 500 hpijs" - Attribute "NickName" "" "HP PSC 500 hpijs, $Version" - Attribute "ShortNickName" "" "HP PSC 500 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:psc 500;DES:psc 500;" - PCFileName "hp-psc_500-hpijs.ppd" - Attribute "Product" "" "(HP PSC 500 All-in-one Printer)" - Attribute "Product" "" "(HP PSC 500xi All-in-one Printer)" - } - { - ModelName "HP Deskjet 810c hpijs" - Attribute "NickName" "" "HP Deskjet 810c hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 810c hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 810c;DES:deskjet 810c;" - PCFileName "hp-deskjet_810c-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 810c Printer)" + ModelName "HP Deskjet 810c hpijs" + Attribute "NickName" "" "HP Deskjet 810c hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 810c hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 810c;DES:deskjet 810c;" + PCFileName "hp-deskjet_810c-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 810c Printer)" } { ModelName "HP Deskjet 812c hpijs" @@ -10699,6 +10623,82 @@ Attribute "Product" "" "(HP Deskjet 895c Printer)" Attribute "Product" "" "(HP Deskjet 895cxi Printer)" } + { + ModelName "HP Officejet r40 hpijs" + Attribute "NickName" "" "HP Officejet r40 hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet r40 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r40;DES:officejet r40;" + PCFileName "hp-officejet_r40-hpijs.ppd" + Attribute "Product" "" "(HP Officejet r40 All-in-one Printer)" + } + { + ModelName "HP Officejet r40xi hpijs" + Attribute "NickName" "" "HP Officejet r40xi hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet r40xi hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r40xi;DES:officejet r40xi;" + PCFileName "hp-officejet_r40xi-hpijs.ppd" + Attribute "Product" "" "(HP Officejet r40xi All-in-one Printer)" + } + { + ModelName "HP Officejet r45 hpijs" + Attribute "NickName" "" "HP Officejet r45 hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet r45 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r45;DES:officejet r45;" + PCFileName "hp-officejet_r45-hpijs.ppd" + Attribute "Product" "" "(HP Officejet r45 All-in-one Printer)" + } + { + ModelName "HP Officejet r60 hpijs" + Attribute "NickName" "" "HP Officejet r60 hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet r60 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r60;DES:officejet r60;" + PCFileName "hp-officejet_r60-hpijs.ppd" + Attribute "Product" "" "(HP Officejet r60 All-in-one Printer)" + } + { + ModelName "HP Officejet r65 hpijs" + Attribute "NickName" "" "HP Officejet r65 hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet r65 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r65;DES:officejet r65;" + PCFileName "hp-officejet_r65-hpijs.ppd" + Attribute "Product" "" "(HP Officejet r65 All-in-one Printer)" + } + { + ModelName "HP Officejet r80 hpijs" + Attribute "NickName" "" "HP Officejet r80 hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet r80 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r80;DES:officejet r80;" + PCFileName "hp-officejet_r80-hpijs.ppd" + Attribute "Product" "" "(HP Officejet r80 All-in-one Printer)" + } + { + ModelName "HP Officejet r80xi hpijs" + Attribute "NickName" "" "HP Officejet r80xi hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet r80xi hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet r80xi;DES:officejet r80xi;" + PCFileName "hp-officejet_r80xi-hpijs.ppd" + Attribute "Product" "" "(HP Officejet r80xi All-in-one Printer)" + } + { + ModelName "HP Officejet T Series hpijs" + Attribute "NickName" "" "HP Officejet T Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet T Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet t series;DES:officejet t series;" + PCFileName "hp-officejet_t_series-hpijs.ppd" + Attribute "Product" "" "(HP Officejet t45 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet t45xi All-in-one Printer)" + Attribute "Product" "" "(HP Officejet t65 All-in-one Printer)" + Attribute "Product" "" "(HP Officejet t65xi All-in-one Printer)" + } + { + ModelName "HP PSC 500 hpijs" + Attribute "NickName" "" "HP PSC 500 hpijs, $Version" + Attribute "ShortNickName" "" "HP PSC 500 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:psc 500;DES:psc 500;" + PCFileName "hp-psc_500-hpijs.ppd" + Attribute "Product" "" "(HP PSC 500 All-in-one Printer)" + Attribute "Product" "" "(HP PSC 500xi All-in-one Printer)" + } } // end DJ8xx ////////////// DJ8x5 @@ -11031,6 +11031,15 @@ r="HEWLETT-PACKARD" -sDeviceModel="DESKJET 850"" // <%DJ850:Normal%> { + ModelName "HP Officejet Pro 1150c hpijs" + Attribute "NickName" "" "HP Officejet Pro 1150c hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet Pro 1150c hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet pro 1150c;DES:officejet pro 1150c;" + PCFileName "hp-officejet_pro_1150c-hpijs.ppd" + Attribute "Product" "" "(HP Officejet Pro 1150c All-in-one Printer)" + Attribute "Product" "" "(HP Officejet Pro 1150cse All-in-one Printer)" + } + { ModelName "HP Deskjet 850c hpijs" Attribute "NickName" "" "HP Deskjet 850c hpijs, $Version" Attribute "ShortNickName" "" "HP Deskjet 850c hpijs" @@ -11060,30 +11069,12 @@ Attribute "Product" "" "(HP Deskjet 870cse Printer)" Attribute "Product" "" "(HP Deskjet 870cxi Printer)" } - { - ModelName "HP Officejet Pro 1150c hpijs" - Attribute "NickName" "" "HP Officejet Pro 1150c hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet Pro 1150c hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet pro 1150c;DES:officejet pro 1150c;" - PCFileName "hp-officejet_pro_1150c-hpijs.ppd" - Attribute "Product" "" "(HP Officejet Pro 1150c All-in-one Printer)" - Attribute "Product" "" "(HP Officejet Pro 1150cse All-in-one Printer)" - } } { Attribute "FoomaticRIPOptionSetting" "Model=HP-DeskJet_890C" " -sDeviceManufacture&& r="HEWLETT-PACKARD" -sDeviceModel="DESKJET 890"" // <%DJ890:Normal%> { - ModelName "HP Deskjet 890c hpijs" - Attribute "NickName" "" "HP Deskjet 890c hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 890c hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 890c;DES:deskjet 890c;" - PCFileName "hp-deskjet_890c-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 890cse Printer)" - Attribute "Product" "" "(HP Deskjet 890c Printer)" - } - { ModelName "HP Officejet Pro 1170c Series hpijs" Attribute "NickName" "" "HP Officejet Pro 1170c Series hpijs, $Version" Attribute "ShortNickName" "" "HP OJ Pro 1170c Series hpijs" @@ -11096,6 +11087,15 @@ Attribute "Product" "" "(HP Officejet Pro 1175cse All-in-one Printer)" Attribute "Product" "" "(HP Officejet Pro 1175cxi All-in-one Printer)" } + { + ModelName "HP Deskjet 890c hpijs" + Attribute "NickName" "" "HP Deskjet 890c hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 890c hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 890c;DES:deskjet 890c;" + PCFileName "hp-deskjet_890c-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 890cse Printer)" + Attribute "Product" "" "(HP Deskjet 890c Printer)" + } } } // end DJ850 and DJ890 @@ -11223,7 +11223,7 @@ ModelName "HP LaserJet 1000 hpijs" Attribute "NickName" "" "HP LaserJet 1000 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1000 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1000;DES:hp laserjet 1000;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1000;DES:hp laserjet 1000;" PCFileName "hp-laserjet_1000-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1000 Printer)" } @@ -11231,7 +11231,7 @@ ModelName "HP LaserJet 1005 Series hpijs" Attribute "NickName" "" "HP LaserJet 1005 Series hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1005 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1005 series;DES:hp laserjet 1005 series;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1005 series;DES:hp laserjet 1005 series;" PCFileName "hp-laserjet_1005_series-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1005 Printer)" } @@ -11239,7 +11239,7 @@ ModelName "HP LaserJet 1018 hpijs" Attribute "NickName" "" "HP LaserJet 1018 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1018 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1018;DES:hp laserjet 1018;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1018;DES:hp laserjet 1018;" PCFileName "hp-laserjet_1018-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1018 Printer)" Attribute "Product" "" "(HP LaserJet 1018s Printer)" @@ -11248,7 +11248,7 @@ ModelName "HP LaserJet 1020 hpijs" Attribute "NickName" "" "HP LaserJet 1020 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1020 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1020;DES:hp laserjet 1020;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1020;DES:hp laserjet 1020;" PCFileName "hp-laserjet_1020-hpijs.ppd" Attribute "Product" "" "(HP LaserJet 1020 Printer)" Attribute "Product" "" "(HP LaserJet 1020 Plus Printer)" @@ -11257,7 +11257,7 @@ ModelName "HP LaserJet 1022nw hpijs" Attribute "NickName" "" "HP LaserJet 1022nw hpijs zjs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1022nw hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1022nw;DES:hp laserjet 1022nw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1022nw;DES:hp laserjet 1022nw;" PCFileName "hp-laserjet_1022nw-hpijs-zjs.ppd" Attribute "Product" "" "(HP LaserJet 1022nw Printer)" } @@ -11265,7 +11265,7 @@ ModelName "HP LaserJet 1022n hpijs" Attribute "NickName" "" "HP LaserJet 1022n hpijs zjs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1022n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1022n;DES:hp laserjet 1022n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1022n;DES:hp laserjet 1022n;" PCFileName "hp-laserjet_1022n-hpijs-zjs.ppd" Attribute "Product" "" "(HP LaserJet 1022n Printer)" Attribute "Product" "" "(HP LaserJet 1022nxi Printer)" @@ -11274,7 +11274,7 @@ ModelName "HP LaserJet 1022 hpijs" Attribute "NickName" "" "HP LaserJet 1022 hpijs zjs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet 1022 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet 1022;DES:hp laserjet 1022;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet 1022;DES:hp laserjet 1022;" PCFileName "hp-laserjet_1022-hpijs-zjs.ppd" Attribute "Product" "" "(HP LaserJet 1022 Printer)" } @@ -11282,7 +11282,7 @@ ModelName "HP LaserJet m1120 MFP hpijs" Attribute "NickName" "" "HP LaserJet m1120 MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet m1120 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m1120 mfp;DES:hp laserjet m1120 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m1120 mfp;DES:hp laserjet m1120 mfp;" PCFileName "hp-laserjet_m1120_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet m1120 Multifunction Printer)" } @@ -11290,7 +11290,7 @@ ModelName "HP LaserJet m1120n MFP hpijs" Attribute "NickName" "" "HP LaserJet m1120n MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet m1120n MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m1120n mfp;DES:hp laserjet m1120n mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m1120n mfp;DES:hp laserjet m1120n mfp;" PCFileName "hp-laserjet_m1120n_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet m1120n Multifunction Printer)" } @@ -11298,7 +11298,7 @@ ModelName "HP LaserJet m1319f MFP hpijs" Attribute "NickName" "" "HP LaserJet m1319f MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet m1319f MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m1319f mfp;DES:hp laserjet m1319f mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m1319f mfp;DES:hp laserjet m1319f mfp;" PCFileName "hp-laserjet_m1319f_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet m1319f Multifunction Printer)" } @@ -11306,7 +11306,7 @@ ModelName "HP LaserJet p2035n hpijs" Attribute "NickName" "" "HP LaserJet p2035n hpijs zjs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p2035n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2035n;DES:hp laserjet p2035n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2035n;DES:hp laserjet p2035n;" PCFileName "hp-laserjet_p2035n-hpijs-zjs.ppd" Attribute "Product" "" "(HP LaserJet p2035n Printer)" } @@ -11314,7 +11314,7 @@ ModelName "HP LaserJet p2035 hpijs" Attribute "NickName" "" "HP LaserJet p2035 hpijs zjs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p2035 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2035;DES:hp laserjet p2035;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2035;DES:hp laserjet p2035;" PCFileName "hp-laserjet_p2035-hpijs-zjs.ppd" Attribute "Product" "" "(HP LaserJet p2035 Printer)" } @@ -11444,7 +11444,7 @@ ModelName "HP LaserJet Professional p1102w hpijs" Attribute "NickName" "" "HP LaserJet Professional p1102w hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1102w hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1102w;DES:hp laserjet professional p1102w;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1102w;DES:hp laserjet professional p1102w;" PCFileName "hp-laserjet_professional_p1102w-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1102w Printer)" } @@ -11452,7 +11452,7 @@ ModelName "HP LaserJet Professional p1102 hpijs" Attribute "NickName" "" "HP LaserJet Professional p1102 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1102 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1102;DES:hp laserjet professional p1102;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1102;DES:hp laserjet professional p1102;" PCFileName "hp-laserjet_professional_p1102-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1102 Printer)" Attribute "Product" "" "(HP LaserJet Professional p1102s Printer)" @@ -11461,7 +11461,7 @@ ModelName "HP LaserJet Professional P 1102w hpijs" Attribute "NickName" "" "HP LaserJet Professional P 1102w hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro P 1102w hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p 1102w;DES:hp laserjet professional p 1102w;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p 1102w;DES:hp laserjet professional p 1102w;" PCFileName "hp-laserjet_professional_p_1102w-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional P 1102w Printer)" } @@ -11469,7 +11469,7 @@ ModelName "HP LaserJet Professional p1106w hpijs" Attribute "NickName" "" "HP LaserJet Professional p1106w hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1106w hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1106w;DES:hp laserjet professional p1106w;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1106w;DES:hp laserjet professional p1106w;" PCFileName "hp-laserjet_professional_p1106w-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1106w Printer)" } @@ -11477,7 +11477,7 @@ ModelName "HP LaserJet Professional p1106 hpijs" Attribute "NickName" "" "HP LaserJet Professional p1106 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1106 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1106;DES:hp laserjet professional p1106;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1106;DES:hp laserjet professional p1106;" PCFileName "hp-laserjet_professional_p1106-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1106 Printer)" } @@ -11485,7 +11485,7 @@ ModelName "HP LaserJet Professional p1107 hpijs" Attribute "NickName" "" "HP LaserJet Professional p1107 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1107 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1107;DES:hp laserjet professional p1107;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1107;DES:hp laserjet professional p1107;" PCFileName "hp-laserjet_professional_p1107-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1107 Printer)" } @@ -11493,7 +11493,7 @@ ModelName "HP LaserJet Professional p1107w hpijs" Attribute "NickName" "" "HP LaserJet Professional p1107w hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1107w hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1107w;DES:hp laserjet professional p1107w;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1107w;DES:hp laserjet professional p1107w;" PCFileName "hp-laserjet_professional_p1107w-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1107w Printer)" } @@ -11501,7 +11501,7 @@ ModelName "HP LaserJet Professional p1108w hpijs" Attribute "NickName" "" "HP LaserJet Professional p1108w hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1108w hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1108w;DES:hp laserjet professional p1108w;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1108w;DES:hp laserjet professional p1108w;" PCFileName "hp-laserjet_professional_p1108w-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1108w Printer)" } @@ -11509,7 +11509,7 @@ ModelName "HP LaserJet Professional p1108 hpijs" Attribute "NickName" "" "HP LaserJet Professional p1108 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1108 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1108;DES:hp laserjet professional p1108;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1108;DES:hp laserjet professional p1108;" PCFileName "hp-laserjet_professional_p1108-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1108 Printer)" } @@ -11517,7 +11517,7 @@ ModelName "HP LaserJet Professional p1109w hpijs" Attribute "NickName" "" "HP LaserJet Professional p1109w hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1109w hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1109w;DES:hp laserjet professional p1109w;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1109w;DES:hp laserjet professional p1109w;" PCFileName "hp-laserjet_professional_p1109w-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1109w Printer)" } @@ -11525,7 +11525,7 @@ ModelName "HP LaserJet Professional p1109 hpijs" Attribute "NickName" "" "HP LaserJet Professional p1109 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1109 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1109;DES:hp laserjet professional p1109;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1109;DES:hp laserjet professional p1109;" PCFileName "hp-laserjet_professional_p1109-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1109 Printer)" } @@ -11533,7 +11533,7 @@ ModelName "HP LaserJet Professional m1132 MFP hpijs" Attribute "NickName" "" "HP LaserJet Professional m1132 MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro m1132 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1132 mfp;DES:hp laserjet professional m1132 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1132 mfp;DES:hp laserjet professional m1132 mfp;" PCFileName "hp-laserjet_professional_m1132_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional m1132 Multifunction Printer)" Attribute "Product" "" "(HP LaserJet Professional m1132s Multifunction Printer)" @@ -11542,7 +11542,7 @@ ModelName "HP LaserJet Professional m1136 MFP hpijs" Attribute "NickName" "" "HP LaserJet Professional m1136 MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro m1136 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1136 mfp;DES:hp laserjet professional m1136 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1136 mfp;DES:hp laserjet professional m1136 mfp;" PCFileName "hp-laserjet_professional_m1136_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional m1136 Multifunction Printer)" } @@ -11550,7 +11550,7 @@ ModelName "HP LaserJet Professional m1137 MFP hpijs" Attribute "NickName" "" "HP LaserJet Professional m1137 MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro m1137 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1137 mfp;DES:hp laserjet professional m1137 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1137 mfp;DES:hp laserjet professional m1137 mfp;" PCFileName "hp-laserjet_professional_m1137_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional m1137 Multifunction Printer)" } @@ -11558,7 +11558,7 @@ ModelName "HP LaserJet Professional m1138 MFP hpijs" Attribute "NickName" "" "HP LaserJet Professional m1138 MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro m1138 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1138 mfp;DES:hp laserjet professional m1138 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1138 mfp;DES:hp laserjet professional m1138 mfp;" PCFileName "hp-laserjet_professional_m1138_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional m1138 Multifunction Printer)" } @@ -11566,7 +11566,7 @@ ModelName "HP LaserJet Professional m1139 MFP hpijs" Attribute "NickName" "" "HP LaserJet Professional m1139 MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro m1139 MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1139 mfp;DES:hp laserjet professional m1139 mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1139 mfp;DES:hp laserjet professional m1139 mfp;" PCFileName "hp-laserjet_professional_m1139_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional m1139 Multifunction Printer)" } @@ -11574,7 +11574,7 @@ ModelName "HP LaserJet Professional m1212nf MFP hpijs" Attribute "NickName" "" "HP LaserJet Professional m1212nf MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro m1212nf MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1212nf mfp;DES:hp laserjet professional m1212nf mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1212nf mfp;DES:hp laserjet professional m1212nf mfp;" PCFileName "hp-laserjet_professional_m1212nf_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional m1212nf Multifunction Printer)" } @@ -11582,7 +11582,7 @@ ModelName "HP LaserJet Professional m1213nf MFP hpijs" Attribute "NickName" "" "HP LaserJet Professional m1213nf MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro m1213nf MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1213nf mfp;DES:hp laserjet professional m1213nf mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1213nf mfp;DES:hp laserjet professional m1213nf mfp;" PCFileName "hp-laserjet_professional_m1213nf_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional m1213nf Multifunction Printer)" } @@ -11590,7 +11590,7 @@ ModelName "HP LaserJet Professional m1214nfh MFP hpijs" Attribute "NickName" "" "HP LaserJet Professional m1214nfh MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro m1214nfh MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1214nfh mfp;DES:hp laserjet professional m1214nfh mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1214nfh mfp;DES:hp laserjet professional m1214nfh mfp;" PCFileName "hp-laserjet_professional_m1214nfh_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional m1214nfh Multifunction Printer)" } @@ -11598,7 +11598,7 @@ ModelName "HP LaserJet Professional m1216nfh MFP hpijs" Attribute "NickName" "" "HP LaserJet Professional m1216nfh MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro m1216nfh MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1216nfh mfp;DES:hp laserjet professional m1216nfh mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1216nfh mfp;DES:hp laserjet professional m1216nfh mfp;" PCFileName "hp-laserjet_professional_m1216nfh_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional m1216nfh MFP)" } @@ -11606,7 +11606,7 @@ ModelName "HP LaserJet Professional m1217nfw MFP hpijs" Attribute "NickName" "" "HP LaserJet Professional m1217nfw MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro m1217nfw MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1217nfw mfp;DES:hp laserjet professional m1217nfw mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1217nfw mfp;DES:hp laserjet professional m1217nfw mfp;" PCFileName "hp-laserjet_professional_m1217nfw_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional m1217nfw Multifunction Printer)" } @@ -11614,7 +11614,7 @@ ModelName "HP LaserJet Professional m1218nfg MFP hpijs" Attribute "NickName" "" "HP LaserJet Professional m1218nfg MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro m1218nfg MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1218nfg mfp;DES:hp laserjet professional m1218nfg mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1218nfg mfp;DES:hp laserjet professional m1218nfg mfp;" PCFileName "hp-laserjet_professional_m1218nfg_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet m1210 MFP Series)" } @@ -11622,7 +11622,7 @@ ModelName "HP LaserJet Professional m1218nfs MFP hpijs" Attribute "NickName" "" "HP LaserJet Professional m1218nfs MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro m1218nfs MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1218nfs mfp;DES:hp laserjet professional m1218nfs mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1218nfs mfp;DES:hp laserjet professional m1218nfs mfp;" PCFileName "hp-laserjet_professional_m1218nfs_mfp-hpijs.ppd" Attribute "Product" "" "(HP Hotspot LaserJet Pro m1218nfs MFP)" } @@ -11630,7 +11630,7 @@ ModelName "HP LaserJet Professional m1219nfg MFP hpijs" Attribute "NickName" "" "HP LaserJet Professional m1219nfg MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro m1219nfg MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1219nfg mfp;DES:hp laserjet professional m1219nfg mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1219nfg mfp;DES:hp laserjet professional m1219nfg mfp;" PCFileName "hp-laserjet_professional_m1219nfg_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional m1219nfg MFP)" } @@ -11638,7 +11638,7 @@ ModelName "HP LaserJet Professional m1219nfs MFP hpijs" Attribute "NickName" "" "HP LaserJet Professional m1219nfs MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro m1219nfs MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1219nfs mfp;DES:hp laserjet professional m1219nfs mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1219nfs mfp;DES:hp laserjet professional m1219nfs mfp;" PCFileName "hp-laserjet_professional_m1219nfs_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional m1219nfs MFP)" } @@ -11646,7 +11646,7 @@ ModelName "HP LaserJet Professional m1219nf MFP hpijs" Attribute "NickName" "" "HP LaserJet Professional m1219nf MFP hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro m1219nf MFP hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional m1219nf mfp;DES:hp laserjet professional m1219nf mfp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional m1219nf mfp;DES:hp laserjet professional m1219nf mfp;" PCFileName "hp-laserjet_professional_m1219nf_mfp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional m1219nf MFP)" } @@ -11654,7 +11654,7 @@ ModelName "HP LaserJet Professional p1566 hpijs" Attribute "NickName" "" "HP LaserJet Professional p1566 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1566 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1566;DES:hp laserjet professional p1566;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1566;DES:hp laserjet professional p1566;" PCFileName "hp-laserjet_professional_p1566-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1566)" } @@ -11662,7 +11662,7 @@ ModelName "HP LaserJet Professional p1567 hpijs" Attribute "NickName" "" "HP LaserJet Professional p1567 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1567 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1567;DES:hp laserjet professional p1567;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1567;DES:hp laserjet professional p1567;" PCFileName "hp-laserjet_professional_p1567-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1567)" } @@ -11670,7 +11670,7 @@ ModelName "HP LaserJet Professional p1568 hpijs" Attribute "NickName" "" "HP LaserJet Professional p1568 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1568 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1568;DES:hp laserjet professional p1568;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1568;DES:hp laserjet professional p1568;" PCFileName "hp-laserjet_professional_p1568-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1568)" } @@ -11678,7 +11678,7 @@ ModelName "HP LaserJet Professional p1569 hpijs" Attribute "NickName" "" "HP LaserJet Professional p1569 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Professional p1569 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1569;DES:hp laserjet professional p1569;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1569;DES:hp laserjet professional p1569;" PCFileName "hp-laserjet_professional_p1569-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1569)" } @@ -11808,7 +11808,7 @@ ModelName "HP LaserJet Professional p1606dn hpijs" Attribute "NickName" "" "HP LaserJet Professional p1606dn hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro p1606dn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1606dn;DES:hp laserjet professional p1606dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1606dn;DES:hp laserjet professional p1606dn;" PCFileName "hp-laserjet_professional_p1606dn-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1606dn Printer)" } @@ -11816,7 +11816,7 @@ ModelName "HP LaserJet Professional p1607dn hpijs" Attribute "NickName" "" "HP LaserJet Professional p1607dn hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro p1607dn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1607dn;DES:hp laserjet professional p1607dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1607dn;DES:hp laserjet professional p1607dn;" PCFileName "hp-laserjet_professional_p1607dn-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1607dn Printer)" } @@ -11824,7 +11824,7 @@ ModelName "HP LaserJet Professional p1608dn hpijs" Attribute "NickName" "" "HP LaserJet Professional p1608dn hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro p1608dn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1608dn;DES:hp laserjet professional p1608dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1608dn;DES:hp laserjet professional p1608dn;" PCFileName "hp-laserjet_professional_p1608dn-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1608dn Printer)" } @@ -11832,7 +11832,7 @@ ModelName "HP LaserJet Professional p1609dn hpijs" Attribute "NickName" "" "HP LaserJet Professional p1609dn hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro p1609dn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet professional p1609dn;DES:hp laserjet professional p1609dn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1609dn;DES:hp laserjet professional p1609dn;" PCFileName "hp-laserjet_professional_p1609dn-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Professional p1609dn Printer)" } @@ -11992,7 +11992,7 @@ ModelName "HP Color LaserJet 3500n hpijs" Attribute "NickName" "" "HP Color LaserJet 3500n hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 3500n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3500n;DES:hp color laserjet 3500n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3500n;DES:hp color laserjet 3500n;" PCFileName "hp-color_laserjet_3500n-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet 3500n Printer)" } @@ -12000,7 +12000,7 @@ ModelName "HP Color LaserJet 3500 hpijs" Attribute "NickName" "" "HP Color LaserJet 3500 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 3500 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3500;DES:hp color laserjet 3500;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3500;DES:hp color laserjet 3500;" PCFileName "hp-color_laserjet_3500-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet 3500 Printer)" Attribute "Product" "" "(HP Color LaserJet 3500dn Printer)" @@ -12010,7 +12010,7 @@ ModelName "HP Color LaserJet 3550 hpijs" Attribute "NickName" "" "HP Color LaserJet 3550 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 3550 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3550;DES:hp color laserjet 3550;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3550;DES:hp color laserjet 3550;" PCFileName "hp-color_laserjet_3550-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet 3550 Printer)" } @@ -12018,7 +12018,7 @@ ModelName "HP Color LaserJet 3550n hpijs" Attribute "NickName" "" "HP Color LaserJet 3550n hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 3550n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3550n;DES:hp color laserjet 3550n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3550n;DES:hp color laserjet 3550n;" PCFileName "hp-color_laserjet_3550n-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet 3550n Printer)" } @@ -12026,7 +12026,7 @@ ModelName "HP Color LaserJet 3600 hpijs" Attribute "NickName" "" "HP Color LaserJet 3600 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 3600 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 3600;DES:hp color laserjet 3600;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 3600;DES:hp color laserjet 3600;" PCFileName "hp-color_laserjet_3600-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet 3600 Printer)" Attribute "Product" "" "(HP Color LaserJet 3600n Printer)" @@ -12160,7 +12160,7 @@ ModelName "HP LaserJet m1005 hpijs" Attribute "NickName" "" "HP LaserJet m1005 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet m1005 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet m1005;DES:hp laserjet m1005;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet m1005;DES:hp laserjet m1005;" PCFileName "hp-laserjet_m1005-hpijs.ppd" Attribute "Product" "" "(HP LaserJet m1005 Multifunction Printer)" } @@ -12168,7 +12168,7 @@ ModelName "HP LaserJet p1505n hpijs" Attribute "NickName" "" "HP LaserJet p1505n hpijs zxs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p1505n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p1505n;DES:hp laserjet p1505n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p1505n;DES:hp laserjet p1505n;" PCFileName "hp-laserjet_p1505n-hpijs-zxs.ppd" Attribute "Product" "" "(HP LaserJet p1505n Printer)" } @@ -12176,7 +12176,7 @@ ModelName "HP LaserJet p1505 hpijs" Attribute "NickName" "" "HP LaserJet p1505 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p1505 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p1505;DES:hp laserjet p1505;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p1505;DES:hp laserjet p1505;" PCFileName "hp-laserjet_p1505-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p1505 Printer)" } @@ -12184,7 +12184,7 @@ ModelName "HP LaserJet p2014 hpijs" Attribute "NickName" "" "HP LaserJet p2014 hpijs zxs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p2014 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2014;DES:hp laserjet p2014;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2014;DES:hp laserjet p2014;" PCFileName "hp-laserjet_p2014-hpijs-zxs.ppd" Attribute "Product" "" "(HP LaserJet p2014 Printer)" } @@ -12192,7 +12192,7 @@ ModelName "HP LaserJet p2014n hpijs" Attribute "NickName" "" "HP LaserJet p2014n hpijs zxs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p2014n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p2014n;DES:hp laserjet p2014n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p2014n;DES:hp laserjet p2014n;" PCFileName "hp-laserjet_p2014n-hpijs-zxs.ppd" Attribute "Product" "" "(HP LaserJet p2014n Printer)" } @@ -12333,7 +12333,7 @@ ModelName "HP Color LaserJet cp1215 hpijs" Attribute "NickName" "" "HP Color LaserJet cp1215 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet cp1215 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp1215;DES:hp color laserjet cp1215;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp1215;DES:hp color laserjet cp1215;" PCFileName "hp-color_laserjet_cp1215-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet cp1215 Printer)" } @@ -12341,7 +12341,7 @@ ModelName "HP Color LaserJet cp1217 hpijs" Attribute "NickName" "" "HP Color LaserJet cp1217 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet cp1217 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet cp1217;DES:hp color laserjet cp1217;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet cp1217;DES:hp color laserjet cp1217;" PCFileName "hp-color_laserjet_cp1217-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet cp1217 Printer)" } @@ -12349,7 +12349,7 @@ ModelName "HP Color LaserJet 1600 hpijs" Attribute "NickName" "" "HP Color LaserJet 1600 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 1600 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 1600;DES:hp color laserjet 1600;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 1600;DES:hp color laserjet 1600;" PCFileName "hp-color_laserjet_1600-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet 1600 Printer)" } @@ -12357,7 +12357,7 @@ ModelName "HP Color LaserJet 2600n hpijs" Attribute "NickName" "" "HP Color LaserJet 2600n hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LaserJet 2600n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet 2600n;DES:hp color laserjet 2600n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet 2600n;DES:hp color laserjet 2600n;" PCFileName "hp-color_laserjet_2600n-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet 2600n Printer)" } @@ -12369,7 +12369,7 @@ ModelName "HP LaserJet cp1025nw hpijs" Attribute "NickName" "" "HP LaserJet cp1025nw hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet cp1025nw hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1025nw;DES:hp laserjet cp1025nw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cp1025nw;DES:hp laserjet cp1025nw;" PCFileName "hp-laserjet_cp1025nw-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Pro cp1025nw Color Printer Series)" } @@ -12377,7 +12377,7 @@ ModelName "HP LaserJet cp1025 hpijs" Attribute "NickName" "" "HP LaserJet cp1025 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet cp1025 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp1025;DES:hp laserjet cp1025;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cp1025;DES:hp laserjet cp1025;" PCFileName "hp-laserjet_cp1025-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Pro cp1025 Color Printer Series)" } @@ -12385,7 +12385,7 @@ ModelName "HP LaserJet Cp 1025nw hpijs" Attribute "NickName" "" "HP LaserJet Cp 1025nw hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Cp 1025nw hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp 1025nw;DES:hp laserjet cp 1025nw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cp 1025nw;DES:hp laserjet cp 1025nw;" PCFileName "hp-laserjet_cp_1025nw-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Pro Cp 1025nw Color Printer Series)" } @@ -12393,7 +12393,7 @@ ModelName "HP LaserJet Cp 1025 hpijs" Attribute "NickName" "" "HP LaserJet Cp 1025 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Cp 1025 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet cp 1025;DES:hp laserjet cp 1025;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cp 1025;DES:hp laserjet cp 1025;" PCFileName "hp-laserjet_cp_1025-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Pro Cp 1025 Color Printer Series)" } @@ -12532,18 +12532,34 @@ // <%Hbpl1:Mono%> { + ModelName "HP LaserJet Pro MFP m125r hpijs" + Attribute "NickName" "" "HP LaserJet Pro MFP m125r hpijs, $Version, requires proprietary plugin" + Attribute "ShortNickName" "" "HP LaserJet Pro MFP m125r hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m125r;DES:hp laserjet pro mfp m125r;" + PCFileName "hp-laserjet_pro_mfp_m125r-hpijs.ppd" + Attribute "Product" "" "(HP LaserJet Pro MFP m125r)" + } + { ModelName "HP LaserJet Pro MFP m125a hpijs" Attribute "NickName" "" "HP LaserJet Pro MFP m125a hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Pro MFP m125a hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m125a;DES:hp laserjet pro mfp m125a;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m125a;DES:hp laserjet pro mfp m125a;" PCFileName "hp-laserjet_pro_mfp_m125a-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m125a)" } { + ModelName "HP LaserJet Pro MFP m125ra hpijs" + Attribute "NickName" "" "HP LaserJet Pro MFP m125ra hpijs, $Version, requires proprietary plugin" + Attribute "ShortNickName" "" "HP LJ Pro MFP m125ra hpijs" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m125ra;DES:hp laserjet pro mfp m125ra;" + PCFileName "hp-laserjet_pro_mfp_m125ra-hpijs.ppd" + Attribute "Product" "" "(HP LaserJet Pro MFP m125ra)" + } + { ModelName "HP LaserJet Pro MFP m125rnw hpijs" Attribute "NickName" "" "HP LaserJet Pro MFP m125rnw hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro MFP m125rnw hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m125rnw;DES:hp laserjet pro mfp m125rnw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m125rnw;DES:hp laserjet pro mfp m125rnw;" PCFileName "hp-laserjet_pro_mfp_m125rnw-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m125rnw)" } @@ -12551,7 +12567,7 @@ ModelName "HP LaserJet Pro MFP m125nw hpijs" Attribute "NickName" "" "HP LaserJet Pro MFP m125nw hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro MFP m125nw hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m125nw;DES:hp laserjet pro mfp m125nw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m125nw;DES:hp laserjet pro mfp m125nw;" PCFileName "hp-laserjet_pro_mfp_m125nw-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m125nw)" } @@ -12559,7 +12575,7 @@ ModelName "HP LaserJet Pro MFP m126a hpijs" Attribute "NickName" "" "HP LaserJet Pro MFP m126a hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet Pro MFP m126a hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m126a;DES:hp laserjet pro mfp m126a;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m126a;DES:hp laserjet pro mfp m126a;" PCFileName "hp-laserjet_pro_mfp_m126a-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m126a)" } @@ -12567,7 +12583,7 @@ ModelName "HP LaserJet Pro MFP m126nw hpijs" Attribute "NickName" "" "HP LaserJet Pro MFP m126nw hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro MFP m126nw hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m126nw;DES:hp laserjet pro mfp m126nw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m126nw;DES:hp laserjet pro mfp m126nw;" PCFileName "hp-laserjet_pro_mfp_m126nw-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m126nw)" } @@ -12575,7 +12591,7 @@ ModelName "HP LaserJet Pro MFP m127fp hpijs" Attribute "NickName" "" "HP LaserJet Pro MFP m127fp hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro MFP m127fp hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m127fp;DES:hp laserjet pro mfp m127fp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m127fp;DES:hp laserjet pro mfp m127fp;" PCFileName "hp-laserjet_pro_mfp_m127fp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m127fp)" } @@ -12583,7 +12599,7 @@ ModelName "HP LaserJet Pro MFP m127fn hpijs" Attribute "NickName" "" "HP LaserJet Pro MFP m127fn hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro MFP m127fn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m127fn;DES:hp laserjet pro mfp m127fn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m127fn;DES:hp laserjet pro mfp m127fn;" PCFileName "hp-laserjet_pro_mfp_m127fn-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m127fn)" } @@ -12591,7 +12607,7 @@ ModelName "HP LaserJet Pro MFP m127fw hpijs" Attribute "NickName" "" "HP LaserJet Pro MFP m127fw hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro MFP m127fw hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m127fw;DES:hp laserjet pro mfp m127fw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m127fw;DES:hp laserjet pro mfp m127fw;" PCFileName "hp-laserjet_pro_mfp_m127fw-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m127fw)" } @@ -12599,7 +12615,7 @@ ModelName "HP LaserJet Pro MFP m128fn hpijs" Attribute "NickName" "" "HP LaserJet Pro MFP m128fn hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro MFP m128fn hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m128fn;DES:hp laserjet pro mfp m128fn;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m128fn;DES:hp laserjet pro mfp m128fn;" PCFileName "hp-laserjet_pro_mfp_m128fn-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m128fn)" } @@ -12607,7 +12623,7 @@ ModelName "HP LaserJet Pro MFP m128fp hpijs" Attribute "NickName" "" "HP LaserJet Pro MFP m128fp hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro MFP m128fp hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m128fp;DES:hp laserjet pro mfp m128fp;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m128fp;DES:hp laserjet pro mfp m128fp;" PCFileName "hp-laserjet_pro_mfp_m128fp-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m128fp)" } @@ -12615,7 +12631,7 @@ ModelName "HP LaserJet Pro MFP m128fw hpijs" Attribute "NickName" "" "HP LaserJet Pro MFP m128fw hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LJ Pro MFP m128fw hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet pro mfp m128fw;DES:hp laserjet pro mfp m128fw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet pro mfp m128fw;DES:hp laserjet pro mfp m128fw;" PCFileName "hp-laserjet_pro_mfp_m128fw-hpijs.ppd" Attribute "Product" "" "(HP LaserJet Pro MFP m128fw)" } @@ -12624,7 +12640,7 @@ ModelName "HP Color LaserJet Pro MFP m176n hpijs" Attribute "NickName" "" "HP Color LaserJet Pro MFP m176n hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP Color LJ Pro MFP m176n hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet pro mfp m176n;DES:hp color laserjet pro mfp m176n;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet pro mfp m176n;DES:hp color laserjet pro mfp m176n;" PCFileName "hp-color_laserjet_pro_mfp_m176n-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet Pro Mpf m176n)" } @@ -12632,7 +12648,7 @@ ModelName "HP Color LaserJet Pro MFP m177fw hpijs" Attribute "NickName" "" "HP Color LaserJet Pro MFP m177fw hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP CLJ Pro MFP m177fw hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp color laserjet pro mfp m177fw;DES:hp color laserjet pro mfp m177fw;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp color laserjet pro mfp m177fw;DES:hp color laserjet pro mfp m177fw;" PCFileName "hp-color_laserjet_pro_mfp_m177fw-hpijs.ppd" Attribute "Product" "" "(HP Color LaserJet Pro Mpf m177fw)" } @@ -12764,7 +12780,7 @@ ModelName "HP LaserJet p1005 hpijs" Attribute "NickName" "" "HP LaserJet p1005 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p1005 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p1005;DES:hp laserjet p1005;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p1005;DES:hp laserjet p1005;" PCFileName "hp-laserjet_p1005-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p1005 Printer)" } @@ -12772,7 +12788,7 @@ ModelName "HP LaserJet p1006 hpijs" Attribute "NickName" "" "HP LaserJet p1006 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p1006 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p1006;DES:hp laserjet p1006;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p1006;DES:hp laserjet p1006;" PCFileName "hp-laserjet_p1006-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p1006 Printer)" } @@ -12780,7 +12796,7 @@ ModelName "HP LaserJet p1007 hpijs" Attribute "NickName" "" "HP LaserJet p1007 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p1007 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p1007;DES:hp laserjet p1007;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p1007;DES:hp laserjet p1007;" PCFileName "hp-laserjet_p1007-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p1007 Printer)" } @@ -12788,7 +12804,7 @@ ModelName "HP LaserJet p1008 hpijs" Attribute "NickName" "" "HP LaserJet p1008 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p1008 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p1008;DES:hp laserjet p1008;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p1008;DES:hp laserjet p1008;" PCFileName "hp-laserjet_p1008-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p1008 Printer)" } @@ -12796,7 +12812,7 @@ ModelName "HP LaserJet p1009 hpijs" Attribute "NickName" "" "HP LaserJet p1009 hpijs, $Version, requires proprietary plugin" Attribute "ShortNickName" "" "HP LaserJet p1009 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:hp laserjet p1009;DES:hp laserjet p1009;" + Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet p1009;DES:hp laserjet p1009;" PCFileName "hp-laserjet_p1009-hpijs.ppd" Attribute "Product" "" "(HP LaserJet p1009 Printer)" } @@ -13074,34 +13090,563 @@ Attribute "Product" "" "(HP Photosmart All-in-one Printer - b109e)" } { - ModelName "HP Photosmart b110 Series hpijs" - Attribute "NickName" "" "HP Photosmart b110 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Photosmart b110 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart b110 series;DES:photosmart b110 series;" - PCFileName "hp-photosmart_b110_series-hpijs.ppd" - Attribute "Product" "" "(HP Photosmart Wireless All-in-one Printer - b110)" + ModelName "HP Photosmart b110 Series hpijs" + Attribute "NickName" "" "HP Photosmart b110 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Photosmart b110 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart b110 series;DES:photosmart b110 series;" + PCFileName "hp-photosmart_b110_series-hpijs.ppd" + Attribute "Product" "" "(HP Photosmart Wireless All-in-one Printer - b110)" + } + { + ModelName "HP Photosmart Plus b209a-m hpijs" + Attribute "NickName" "" "HP Photosmart Plus b209a-m hpijs, $Version" + Attribute "ShortNickName" "" "HP PS Plus b209a-m hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart plus b209a-m;DES:photosmart plus b209a-m;" + PCFileName "hp-photosmart_plus_b209a-m-hpijs.ppd" + Attribute "Product" "" "(HP Photosmart Plus All-in-one Printer - b209a)" + Attribute "Product" "" "(HP Photosmart Plus All-in-one Printer - b209b)" + Attribute "Product" "" "(HP Photosmart Plus All-in-one Printer - b209c)" + } + { + ModelName "HP Photosmart Plus b210 Series hpijs" + Attribute "NickName" "" "HP Photosmart Plus b210 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP PS Plus b210 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart plus b210 series;DES:photosmart plus b210 series;" + PCFileName "hp-photosmart_plus_b210_series-hpijs.ppd" + Attribute "Product" "" "(HP Photosmart Plus b210 Series)" + } +} // end Stabler + +////////// StingrayOJ +{ + Attribute "DefaultResolution" "" "1200dpi" + + // Custom page sizes from 1x4in to Legal + HWMargins 18 36 18 9 + VariablePaperSize Yes + MinSize 1in 4in + MaxSize 8.5in 14in + Attribute "FoomaticRIPOptionSetting" "PageSize=Custom" " -dDEVICEWIDTHPOINTS=0 -dD&& +EVICEHEIGHTPOINTS=0" + + Attribute "FoomaticIDs" "" "HP-DeskJet_5550 hpijs" + Attribute "FoomaticRIPCommandLine" "" "gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPA&& +USE -sDEVICE=ijs -sIjsServer=hpijs%A%B%C -dIjsUseOutputFD%Z -sOutputFi&& +le=- -" + Attribute "FoomaticRIPOption" "Model" "enum CmdLine A 100" + Attribute "FoomaticRIPOptionSetting" "Model=HP-DeskJet_5550" " -sDeviceManufacture&& +r="HEWLETT-PACKARD" -sDeviceModel="deskjet 5550"" + Attribute "FoomaticRIPOption" "PrintoutMode" "enum Composite B" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Draft" "Quality=300FastDraftCol&& +orCMYK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Draft.Gray" "Quality=300FastDra&& +ftGrayscaleK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Normal" "Quality=300ColorCMYK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Normal.Gray" "Quality=300Graysc&& +aleK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=High" "Quality=600ColorCMYK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=High.Gray" "Quality=600Grayscal&& +eK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Photo" "Quality=1200PhotoCMYKFu&& +llBleed" + Attribute "FoomaticRIPOption" "InputSlot" "enum CmdLine C" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Default" ",PS:MediaPosition=7" + Attribute "FoomaticRIPOptionSetting" "InputSlot=PhotoTray" ",PS:MediaPosition=6" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Upper" ",PS:MediaPosition=1" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Lower" ",PS:MediaPosition=4" + Attribute "FoomaticRIPOptionSetting" "InputSlot=CDDVDTray" ",PS:MediaPosition=14" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Envelope" ",PS:MediaPosition=3" + Attribute "FoomaticRIPOptionSetting" "InputSlot=LargeCapacity" ",PS:MediaPosition=&& +5" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Manual" ",PS:MediaPosition=2" + Attribute "FoomaticRIPOptionSetting" "InputSlot=MPTray" ",PS:MediaPosition=8" + Attribute "FoomaticRIPOption" "PageSize" "enum CmdLine A" + Attribute "FoomaticRIPOptionSetting" "PageSize=Letter" " -dDEVICEWIDTHPOINTS=612 -&& +dDEVICEHEIGHTPOINTS=792" + Attribute "FoomaticRIPOptionSetting" "PageSize=A4" " -dDEVICEWIDTHPOINTS=595 -dDEV&& +ICEHEIGHTPOINTS=842" + Attribute "FoomaticRIPOptionSetting" "PageSize=Photo" " -dDEVICEWIDTHPOINTS=288 -d&& +DEVICEHEIGHTPOINTS=432" + Attribute "FoomaticRIPOptionSetting" "PageSize=Photo5x7" " -dDEVICEWIDTHPOINTS=360&& + -dDEVICEHEIGHTPOINTS=504" + Attribute "FoomaticRIPOptionSetting" "PageSize=PhotoTearOff" " -dDEVICEWIDTHPOINTS&& +=288 -dDEVICEHEIGHTPOINTS=432" + Attribute "FoomaticRIPOptionSetting" "PageSize=3x5" " -dDEVICEWIDTHPOINTS=216 -dDE&& +VICEHEIGHTPOINTS=360" + Attribute "FoomaticRIPOptionSetting" "PageSize=5x8" " -dDEVICEWIDTHPOINTS=360 -dDE&& +VICEHEIGHTPOINTS=576" + Attribute "FoomaticRIPOptionSetting" "PageSize=A5" " -dDEVICEWIDTHPOINTS=420 -dDEV&& +ICEHEIGHTPOINTS=595" + Attribute "FoomaticRIPOptionSetting" "PageSize=A6" " -dDEVICEWIDTHPOINTS=297 -dDEV&& +ICEHEIGHTPOINTS=420" + Attribute "FoomaticRIPOptionSetting" "PageSize=A6TearOff" " -dDEVICEWIDTHPOINTS=29&& +7 -dDEVICEHEIGHTPOINTS=420" + Attribute "FoomaticRIPOptionSetting" "PageSize=B5JIS" " -dDEVICEWIDTHPOINTS=516 -d&& +DEVICEHEIGHTPOINTS=729" + Attribute "FoomaticRIPOptionSetting" "PageSize=CDDVD80" " -dDEVICEWIDTHPOINTS=237 && +-dDEVICEHEIGHTPOINTS=237" + Attribute "FoomaticRIPOptionSetting" "PageSize=CDDVD120" " -dDEVICEWIDTHPOINTS=360&& + -dDEVICEHEIGHTPOINTS=360" + Attribute "FoomaticRIPOptionSetting" "PageSize=Env10" " -dDEVICEWIDTHPOINTS=297 -d&& +DEVICEHEIGHTPOINTS=684" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvC5" " -dDEVICEWIDTHPOINTS=459 -d&& +DEVICEHEIGHTPOINTS=649" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvC6" " -dDEVICEWIDTHPOINTS=323 -d&& +DEVICEHEIGHTPOINTS=459" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvDL" " -dDEVICEWIDTHPOINTS=312 -d&& +DEVICEHEIGHTPOINTS=624" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvISOB5" " -dDEVICEWIDTHPOINTS=499&& + -dDEVICEHEIGHTPOINTS=709" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvMonarch" " -dDEVICEWIDTHPOINTS=2&& +79 -dDEVICEHEIGHTPOINTS=540" + Attribute "FoomaticRIPOptionSetting" "PageSize=Executive" " -dDEVICEWIDTHPOINTS=52&& +2 -dDEVICEHEIGHTPOINTS=756" + Attribute "FoomaticRIPOptionSetting" "PageSize=FLSA" " -dDEVICEWIDTHPOINTS=612 -dD&& +EVICEHEIGHTPOINTS=936" + Attribute "FoomaticRIPOptionSetting" "PageSize=Hagaki" " -dDEVICEWIDTHPOINTS=283 -&& +dDEVICEHEIGHTPOINTS=420" + Attribute "FoomaticRIPOptionSetting" "PageSize=Legal" " -dDEVICEWIDTHPOINTS=612 -d&& +DEVICEHEIGHTPOINTS=1008" + Attribute "FoomaticRIPOptionSetting" "PageSize=Oufuku" " -dDEVICEWIDTHPOINTS=567 -&& +dDEVICEHEIGHTPOINTS=420" + Attribute "FoomaticRIPOptionSetting" "PageSize=w558h774" " -dDEVICEWIDTHPOINTS=558&& + -dDEVICEHEIGHTPOINTS=774" + Attribute "FoomaticRIPOptionSetting" "PageSize=w612h935" " -dDEVICEWIDTHPOINTS=612&& + -dDEVICEHEIGHTPOINTS=935" + Attribute "FoomaticRIPOption" "Duplex" "enum CmdLine A" + Attribute "FoomaticRIPOptionSetting" "Duplex=DuplexNoTumble" " -dDuplex=true -dTum&& +ble=false" + Attribute "FoomaticRIPOptionSetting" "Duplex=DuplexTumble" " -dDuplex=true -dTumbl&& +e=true" + Attribute "FoomaticRIPOptionSetting" "Duplex=None" " -dDuplex=false" + Attribute "FoomaticRIPOption" "DryTime" "enum CmdLine B" + Attribute "FoomaticRIPOptionSetting" "DryTime=Zero" "" + Attribute "FoomaticRIPOptionSetting" "DryTime=Five" ",DryTime=5" + Attribute "FoomaticRIPOptionSetting" "DryTime=Ten" ",DryTime=10" + Attribute "FoomaticRIPOptionSetting" "DryTime=Fifteen" ",DryTime=15" + Attribute "FoomaticRIPOptionSetting" "DryTime=Twenty" ",DryTime=20" + Attribute "FoomaticRIPOptionSetting" "DryTime=TwentyFive" ",DryTime=25" + Attribute "FoomaticRIPOptionSetting" "DryTime=Thirty" ",DryTime=30" + Attribute "FoomaticRIPOption" "Quality" "enum CmdLine B" + Attribute "FoomaticRIPOptionSetting" "Quality=300ColorCMYK" " -r300 -sIjsParams=Qu&& +ality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet&& +=2" + Attribute "FoomaticRIPOptionSetting" "Quality=300ColorCMYKFullBleed" " -r300 -sIjs&& +Params=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quali&& +ty:PenSet=2,Quality:FullBleed=1" + Attribute "FoomaticRIPOptionSetting" "Quality=300DraftColorCMYK" " -r300 -sIjsPara&& +ms=Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:P&& +enSet=2" + Attribute "FoomaticRIPOptionSetting" "Quality=300DraftGrayscaleK" " -r300 -sIjs&& +Params=Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quali&& +ty:PenSet=2" + Attribute "FoomaticRIPOptionSetting" "Quality=300FastDraftColorCMYK" " -r300 -sIjs&& +Params=Quality:Quality=4,Quality:ColorMode=2,Quality:MediaType=0,Quali&& +ty:PenSet=2,Quality:SpeedMech=1" + Attribute "FoomaticRIPOptionSetting" "Quality=300FastDraftGrayscaleK" " -r300 -&& +sIjsParams=Quality:Quality=4,Quality:ColorMode=0,Quality:MediaType=0,Q&& +uality:PenSet=2,Quality:SpeedMech=1" + Attribute "FoomaticRIPOptionSetting" "Quality=300GrayscaleK" " -r300 -sIjsParam&& +s=Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:Pe&& +nSet=2" + Attribute "FoomaticRIPOptionSetting" "Quality=600ColorCMYK" " -r600 -sIjsParams=Qu&& +ality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet&& +=2" + Attribute "FoomaticRIPOptionSetting" "Quality=600ColorCMYKFullBleed" " -r600 -sIjs&& +Params=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quali&& +ty:PenSet=2,Quality:FullBleed=1" + Attribute "FoomaticRIPOptionSetting" "Quality=600GrayscaleK" " -r600 -sIjsParam&& +s=Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:Pe&& +nSet=2" + Attribute "FoomaticRIPOptionSetting" "Quality=1200PhotoCMYK" " -r1200 -sIjsParams=&& +Quality:Quality=3,Quality:ColorMode=2,Quality:MediaType=2,Quality:PenS&& +et=2" + Attribute "FoomaticRIPOptionSetting" "Quality=1200PhotoCMYKFullBleed" " -r1200 -sI&& +jsParams=Quality:Quality=3,Quality:ColorMode=2,Quality:MediaType=2,Qua&& +lity:PenSet=2,Quality:FullBleed=1" + Group "General/General" + Option "PrintoutMode/Printout Mode" PickOne AnySetup 10.0 + Choice "Draft/Draft (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Draft" + Choice "Draft.Gray/Draft Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Draft.Gray" + *Choice "Normal/Normal (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Normal" + Choice "Normal.Gray/Normal Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Normal.Gray" + Choice "High/High Quality (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=High" + Choice "High.Gray/High Quality Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=High.Gray" + Choice "Photo/Photo (on photo paper)" "%% FoomaticRIPOptionSetting: PrintoutMode=Photo" + Option "InputSlot/Media Source" PickOne AnySetup 100.0 + *Choice "Default/Printer default" "%% FoomaticRIPOptionSetting: InputSlot=Default" + Choice "PhotoTray/Photo Tray" "%% FoomaticRIPOptionSetting: InputSlot=PhotoTray" + Choice "Upper/Upper Tray" "%% FoomaticRIPOptionSetting: InputSlot=Upper" + Choice "Lower/Lower Tray" "%% FoomaticRIPOptionSetting: InputSlot=Lower" + Choice "CDDVDTray/CD or DVD Tray" "%% FoomaticRIPOptionSetting: InputSlot=CDDVDTray" + Choice "Envelope/Envelope Feeder" "%% FoomaticRIPOptionSetting: InputSlot=Envelope" + Choice "LargeCapacity/Large Capacity Tray" "%% FoomaticRIPOptionSetting: InputSlot=LargeCapacity" + Choice "Manual/Manual Feeder" "%% FoomaticRIPOptionSetting: InputSlot=Manual" + Choice "MPTray/Multi Purpose Tray" "%% FoomaticRIPOptionSetting: InputSlot=MPTray" + Option "Duplex/Double-Sided Printing" PickOne AnySetup 120.0 + Choice "DuplexNoTumble/Long Edge (Standard)" "%% FoomaticRIPOptionSetting: Duplex=DuplexNoTumble" + Choice "DuplexTumble/Short Edge (Flip)" "%% FoomaticRIPOptionSetting: Duplex=DuplexTumble" + *Choice "None/Off" "%% FoomaticRIPOptionSetting: Duplex=None" + Option "DryTime/Additional Dry Time" PickOne AnySetup 120.0 + *Choice "Zero/Printer Default" "%% FoomaticRIPOptionSetting: DryTime=Zero" + Choice "Five/5 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Five" + Choice "Ten/10 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Ten" + Choice "Fifteen/15 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Fifteen" + Choice "Twenty/20 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Twenty" + Choice "TwentyFive/25 Seconds" "%% FoomaticRIPOptionSetting: DryTime=TwentyFive" + Choice "Thirty/30 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Thirty" + Group "PrintoutMode/Printout Mode" + Option "Quality/Resolution, Quality, Ink Type, Media Type" PickOne AnySetup 100.0 + *Choice "FromPrintoutMode/Controlled by 'Printout Mode'" "%% FoomaticRIPOptionSetting: Quality=@PrintoutMode" + Choice "300ColorCMYK/300 dpi, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300ColorCMYK" + Choice "300ColorCMYKFullBleed/300 dpi, Color, Full Bleed, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300ColorCMYKFullBleed" + Choice "300DraftColorCMYK/300 dpi, Draft, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300DraftColorCMYK" + Choice "300DraftGrayscaleK/300 dpi, Draft, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300DraftGrayscaleK" + Choice "300FastDraftColorCMYK/300 dpi, FastDraft, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300FastDraftColorCMYK" + Choice "300FastDraftGrayscaleK/300 dpi, FastDraft, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300FastDraftGrayscaleK" + Choice "300GrayscaleK/300 dpi, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300GrayscaleK" + Choice "600ColorCMYK/600 dpi, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=600ColorCMYK" + Choice "600ColorCMYKFullBleed/600 dpi, Color, Full Bleed, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=600ColorCMYKFullBleed" + Choice "600GrayscaleK/600 dpi, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=600GrayscaleK" + Choice "1200PhotoCMYK/1200 dpi, Photo, Black + Color Cartr., Photo Paper" "%% FoomaticRIPOptionSetting: Quality=1200PhotoCMYK" + Choice "1200PhotoCMYKFullBleed/1200 dpi, Photo, Full Bleed, Black + Color Cartr., Photo Paper" "%% FoomaticRIPOptionSetting: Quality=1200PhotoCMYKFullBleed" + *CustomMedia "Letter/Letter" 612.00 792.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Letter" "%% FoomaticRIPOptionSetting: PageSize=Letter" + CustomMedia "A4/A4" 595.00 842.00 9.72 36.00 9.72 9.00 "%% FoomaticRIPOptionSetting: PageSize=A4" "%% FoomaticRIPOptionSetting: PageSize=A4" + CustomMedia "Photo/Photo or 4x6 inch index card" 288.00 432.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Photo" "%% FoomaticRIPOptionSetting: PageSize=Photo" + CustomMedia "Photo5x7/Photo or 5x7 inch index card" 360.00 504.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Photo5x7" "%% FoomaticRIPOptionSetting: PageSize=Photo5x7" + CustomMedia "PhotoTearOff/Photo with tear-off tab" 288.00 432.00 0.00 0.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=PhotoTearOff" "%% FoomaticRIPOptionSetting: PageSize=PhotoTearOff" + CustomMedia "3x5/3x5 inch index card" 216.00 360.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=3x5" "%% FoomaticRIPOptionSetting: PageSize=3x5" + CustomMedia "5x8/5x8 inch index card" 360.00 576.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=5x8" "%% FoomaticRIPOptionSetting: PageSize=5x8" + CustomMedia "A5/A5" 420.00 595.00 9.00 36.00 9.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=A5" "%% FoomaticRIPOptionSetting: PageSize=A5" + CustomMedia "A6/A6" 297.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=A6" "%% FoomaticRIPOptionSetting: PageSize=A6" + CustomMedia "A6TearOff/A6 with tear-off tab" 297.00 420.00 0.00 0.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=A6TearOff" "%% FoomaticRIPOptionSetting: PageSize=A6TearOff" + CustomMedia "B5JIS/B5 (JIS)" 516.00 729.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=B5JIS" "%% FoomaticRIPOptionSetting: PageSize=B5JIS" + CustomMedia "CDDVD80/CD or DVD 80 mm" 237.00 237.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=CDDVD80" "%% FoomaticRIPOptionSetting: PageSize=CDDVD80" + CustomMedia "CDDVD120/CD or DVD 120 mm" 360.00 360.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=CDDVD120" "%% FoomaticRIPOptionSetting: PageSize=CDDVD120" + CustomMedia "Env10/Envelope #10" 297.00 684.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Env10" "%% FoomaticRIPOptionSetting: PageSize=Env10" + CustomMedia "EnvC5/Envelope C5" 459.00 649.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=EnvC5" "%% FoomaticRIPOptionSetting: PageSize=EnvC5" + CustomMedia "EnvC6/Envelope C6" 323.00 459.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvC6" "%% FoomaticRIPOptionSetting: PageSize=EnvC6" + CustomMedia "EnvDL/Envelope DL" 312.00 624.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvDL" "%% FoomaticRIPOptionSetting: PageSize=EnvDL" + CustomMedia "EnvISOB5/Envelope B5" 499.00 709.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=EnvISOB5" "%% FoomaticRIPOptionSetting: PageSize=EnvISOB5" + CustomMedia "EnvMonarch/Envelope Monarch" 279.00 540.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvMonarch" "%% FoomaticRIPOptionSetting: PageSize=EnvMonarch" + CustomMedia "Executive/Executive" 522.00 756.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Executive" "%% FoomaticRIPOptionSetting: PageSize=Executive" + CustomMedia "FLSA/American Foolscap" 612.00 936.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=FLSA" "%% FoomaticRIPOptionSetting: PageSize=FLSA" + CustomMedia "Hagaki/Hagaki" 283.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Hagaki" "%% FoomaticRIPOptionSetting: PageSize=Hagaki" + CustomMedia "Legal/Legal" 612.00 1008.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Legal" "%% FoomaticRIPOptionSetting: PageSize=Legal" + CustomMedia "Oufuku/Oufuku-Hagaki" 567.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Oufuku" "%% FoomaticRIPOptionSetting: PageSize=Oufuku" + CustomMedia "w558h774/16K" 558.00 774.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w558h774" "%% FoomaticRIPOptionSetting: PageSize=w558h774" + CustomMedia "w612h935/Executive (JIS)" 612.00 935.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w612h935" "%% FoomaticRIPOptionSetting: PageSize=w612h935" + // <%StingrayOJ:Normal%> + { + ModelName "HP Officejet 100 Mobile l411 hpijs" + Attribute "NickName" "" "HP Officejet 100 Mobile l411 hpijs, $Version" + Attribute "ShortNickName" "" "HP OJ 100 Mobile l411 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 100 mobile l411;DES:officejet 100 mobile l411;" + PCFileName "hp-officejet_100_mobile_l411-hpijs.ppd" + Attribute "Product" "" "(HP Officejet 100 Mobile l411)" + } + { + ModelName "HP Officejet 150 Mobile l511 hpijs" + Attribute "NickName" "" "HP Officejet 150 Mobile l511 hpijs, $Version" + Attribute "ShortNickName" "" "HP OJ 150 Mobile l511 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 150 mobile l511;DES:officejet 150 mobile l511;" + PCFileName "hp-officejet_150_mobile_l511-hpijs.ppd" + Attribute "Product" "" "(HP Officejet 150 Mobile All-in-one)" + } +} // end StingrayOJ + +////////// Copperhead +{ + Attribute "DefaultResolution" "" "1200dpi" + + // Custom page sizes from 1x4in to Legal + HWMargins 18 36 18 9 + VariablePaperSize Yes + MinSize 1in 4in + MaxSize 8.5in 14in + Attribute "FoomaticRIPOptionSetting" "PageSize=Custom" " -dDEVICEWIDTHPOINTS=0 -dD&& +EVICEHEIGHTPOINTS=0" + + Attribute "FoomaticIDs" "" "HP-DeskJet_5550 hpijs" + Attribute "FoomaticRIPCommandLine" "" "gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPA&& +USE -sDEVICE=ijs -sIjsServer=hpijs%A%B%C -dIjsUseOutputFD%Z -sOutputFi&& +le=- -" + Attribute "FoomaticRIPOption" "Model" "enum CmdLine A 100" + Attribute "FoomaticRIPOptionSetting" "Model=HP-DeskJet_5550" " -sDeviceManufacture&& +r="HEWLETT-PACKARD" -sDeviceModel="deskjet 5550"" + Attribute "FoomaticRIPOption" "PrintoutMode" "enum Composite B" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Draft" "Quality=300FastDraftCol&& +orCMYK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Draft.Gray" "Quality=300FastDra&& +ftGrayscaleK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Normal" "Quality=300ColorCMYK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Normal.Gray" "Quality=300Graysc&& +aleK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=High" "Quality=600ColorCMYK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=High.Gray" "Quality=600Grayscal&& +eK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Photo" "Quality=1200PhotoCMYKFu&& +llBleed" + Attribute "FoomaticRIPOption" "InputSlot" "enum CmdLine C" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Default" ",PS:MediaPosition=7" + Attribute "FoomaticRIPOptionSetting" "InputSlot=PhotoTray" ",PS:MediaPosition=6" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Upper" ",PS:MediaPosition=1" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Lower" ",PS:MediaPosition=4" + Attribute "FoomaticRIPOptionSetting" "InputSlot=CDDVDTray" ",PS:MediaPosition=14" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Envelope" ",PS:MediaPosition=3" + Attribute "FoomaticRIPOptionSetting" "InputSlot=LargeCapacity" ",PS:MediaPosition=&& +5" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Manual" ",PS:MediaPosition=2" + Attribute "FoomaticRIPOptionSetting" "InputSlot=MPTray" ",PS:MediaPosition=8" + Attribute "FoomaticRIPOption" "PageSize" "enum CmdLine A" + Attribute "FoomaticRIPOptionSetting" "PageSize=Letter" " -dDEVICEWIDTHPOINTS=612 -&& +dDEVICEHEIGHTPOINTS=792" + Attribute "FoomaticRIPOptionSetting" "PageSize=A4" " -dDEVICEWIDTHPOINTS=595 -dDEV&& +ICEHEIGHTPOINTS=842" + Attribute "FoomaticRIPOptionSetting" "PageSize=Photo" " -dDEVICEWIDTHPOINTS=288 -d&& +DEVICEHEIGHTPOINTS=432" + Attribute "FoomaticRIPOptionSetting" "PageSize=Photo5x7" " -dDEVICEWIDTHPOINTS=360&& + -dDEVICEHEIGHTPOINTS=504" + Attribute "FoomaticRIPOptionSetting" "PageSize=PhotoTearOff" " -dDEVICEWIDTHPOINTS&& +=288 -dDEVICEHEIGHTPOINTS=432" + Attribute "FoomaticRIPOptionSetting" "PageSize=3x5" " -dDEVICEWIDTHPOINTS=216 -dDE&& +VICEHEIGHTPOINTS=360" + Attribute "FoomaticRIPOptionSetting" "PageSize=5x8" " -dDEVICEWIDTHPOINTS=360 -dDE&& +VICEHEIGHTPOINTS=576" + Attribute "FoomaticRIPOptionSetting" "PageSize=A5" " -dDEVICEWIDTHPOINTS=420 -dDEV&& +ICEHEIGHTPOINTS=595" + Attribute "FoomaticRIPOptionSetting" "PageSize=A6" " -dDEVICEWIDTHPOINTS=297 -dDEV&& +ICEHEIGHTPOINTS=420" + Attribute "FoomaticRIPOptionSetting" "PageSize=A6TearOff" " -dDEVICEWIDTHPOINTS=29&& +7 -dDEVICEHEIGHTPOINTS=420" + Attribute "FoomaticRIPOptionSetting" "PageSize=B5JIS" " -dDEVICEWIDTHPOINTS=516 -d&& +DEVICEHEIGHTPOINTS=729" + Attribute "FoomaticRIPOptionSetting" "PageSize=CDDVD80" " -dDEVICEWIDTHPOINTS=237 && +-dDEVICEHEIGHTPOINTS=237" + Attribute "FoomaticRIPOptionSetting" "PageSize=CDDVD120" " -dDEVICEWIDTHPOINTS=360&& + -dDEVICEHEIGHTPOINTS=360" + Attribute "FoomaticRIPOptionSetting" "PageSize=Env10" " -dDEVICEWIDTHPOINTS=297 -d&& +DEVICEHEIGHTPOINTS=684" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvC5" " -dDEVICEWIDTHPOINTS=459 -d&& +DEVICEHEIGHTPOINTS=649" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvC6" " -dDEVICEWIDTHPOINTS=323 -d&& +DEVICEHEIGHTPOINTS=459" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvDL" " -dDEVICEWIDTHPOINTS=312 -d&& +DEVICEHEIGHTPOINTS=624" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvISOB5" " -dDEVICEWIDTHPOINTS=499&& + -dDEVICEHEIGHTPOINTS=709" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvMonarch" " -dDEVICEWIDTHPOINTS=2&& +79 -dDEVICEHEIGHTPOINTS=540" + Attribute "FoomaticRIPOptionSetting" "PageSize=Executive" " -dDEVICEWIDTHPOINTS=52&& +2 -dDEVICEHEIGHTPOINTS=756" + Attribute "FoomaticRIPOptionSetting" "PageSize=FLSA" " -dDEVICEWIDTHPOINTS=612 -dD&& +EVICEHEIGHTPOINTS=936" + Attribute "FoomaticRIPOptionSetting" "PageSize=Hagaki" " -dDEVICEWIDTHPOINTS=283 -&& +dDEVICEHEIGHTPOINTS=420" + Attribute "FoomaticRIPOptionSetting" "PageSize=Legal" " -dDEVICEWIDTHPOINTS=612 -d&& +DEVICEHEIGHTPOINTS=1008" + Attribute "FoomaticRIPOptionSetting" "PageSize=Oufuku" " -dDEVICEWIDTHPOINTS=567 -&& +dDEVICEHEIGHTPOINTS=420" + Attribute "FoomaticRIPOptionSetting" "PageSize=w558h774" " -dDEVICEWIDTHPOINTS=558&& + -dDEVICEHEIGHTPOINTS=774" + Attribute "FoomaticRIPOptionSetting" "PageSize=w612h935" " -dDEVICEWIDTHPOINTS=612&& + -dDEVICEHEIGHTPOINTS=935" + Attribute "FoomaticRIPOption" "Duplex" "enum CmdLine A" + Attribute "FoomaticRIPOptionSetting" "Duplex=DuplexNoTumble" " -dDuplex=true -dTum&& +ble=false" + Attribute "FoomaticRIPOptionSetting" "Duplex=DuplexTumble" " -dDuplex=true -dTumbl&& +e=true" + Attribute "FoomaticRIPOptionSetting" "Duplex=None" " -dDuplex=false" + Attribute "FoomaticRIPOption" "DryTime" "enum CmdLine B" + Attribute "FoomaticRIPOptionSetting" "DryTime=Zero" "" + Attribute "FoomaticRIPOptionSetting" "DryTime=Five" ",DryTime=5" + Attribute "FoomaticRIPOptionSetting" "DryTime=Ten" ",DryTime=10" + Attribute "FoomaticRIPOptionSetting" "DryTime=Fifteen" ",DryTime=15" + Attribute "FoomaticRIPOptionSetting" "DryTime=Twenty" ",DryTime=20" + Attribute "FoomaticRIPOptionSetting" "DryTime=TwentyFive" ",DryTime=25" + Attribute "FoomaticRIPOptionSetting" "DryTime=Thirty" ",DryTime=30" + Attribute "FoomaticRIPOption" "Quality" "enum CmdLine B" + Attribute "FoomaticRIPOptionSetting" "Quality=300ColorCMYK" " -r300 -sIjsParams=Qu&& +ality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet&& +=2" + Attribute "FoomaticRIPOptionSetting" "Quality=300ColorCMYKFullBleed" " -r300 -sIjs&& +Params=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quali&& +ty:PenSet=2,Quality:FullBleed=1" + Attribute "FoomaticRIPOptionSetting" "Quality=300DraftColorCMYK" " -r300 -sIjsPara&& +ms=Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:P&& +enSet=2" + Attribute "FoomaticRIPOptionSetting" "Quality=300DraftGrayscaleK" " -r300 -sIjs&& +Params=Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quali&& +ty:PenSet=2" + Attribute "FoomaticRIPOptionSetting" "Quality=300FastDraftColorCMYK" " -r300 -sIjs&& +Params=Quality:Quality=4,Quality:ColorMode=2,Quality:MediaType=0,Quali&& +ty:PenSet=2,Quality:SpeedMech=1" + Attribute "FoomaticRIPOptionSetting" "Quality=300FastDraftGrayscaleK" " -r300 -&& +sIjsParams=Quality:Quality=4,Quality:ColorMode=0,Quality:MediaType=0,Q&& +uality:PenSet=2,Quality:SpeedMech=1" + Attribute "FoomaticRIPOptionSetting" "Quality=300GrayscaleK" " -r300 -sIjsParam&& +s=Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:Pe&& +nSet=2" + Attribute "FoomaticRIPOptionSetting" "Quality=600ColorCMYK" " -r600 -sIjsParams=Qu&& +ality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet&& +=2" + Attribute "FoomaticRIPOptionSetting" "Quality=600ColorCMYKFullBleed" " -r600 -sIjs&& +Params=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quali&& +ty:PenSet=2,Quality:FullBleed=1" + Attribute "FoomaticRIPOptionSetting" "Quality=600GrayscaleK" " -r600 -sIjsParam&& +s=Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:Pe&& +nSet=2" + Attribute "FoomaticRIPOptionSetting" "Quality=1200PhotoCMYK" " -r1200 -sIjsParams=&& +Quality:Quality=3,Quality:ColorMode=2,Quality:MediaType=2,Quality:PenS&& +et=2" + Attribute "FoomaticRIPOptionSetting" "Quality=1200PhotoCMYKFullBleed" " -r1200 -sI&& +jsParams=Quality:Quality=3,Quality:ColorMode=2,Quality:MediaType=2,Qua&& +lity:PenSet=2,Quality:FullBleed=1" + Group "General/General" + Option "PrintoutMode/Printout Mode" PickOne AnySetup 10.0 + Choice "Draft/Draft (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Draft" + Choice "Draft.Gray/Draft Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Draft.Gray" + *Choice "Normal/Normal (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Normal" + Choice "Normal.Gray/Normal Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Normal.Gray" + Choice "High/High Quality (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=High" + Choice "High.Gray/High Quality Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=High.Gray" + Choice "Photo/Photo (on photo paper)" "%% FoomaticRIPOptionSetting: PrintoutMode=Photo" + Option "InputSlot/Media Source" PickOne AnySetup 100.0 + *Choice "Default/Printer default" "%% FoomaticRIPOptionSetting: InputSlot=Default" + Choice "PhotoTray/Photo Tray" "%% FoomaticRIPOptionSetting: InputSlot=PhotoTray" + Choice "Upper/Upper Tray" "%% FoomaticRIPOptionSetting: InputSlot=Upper" + Choice "Lower/Lower Tray" "%% FoomaticRIPOptionSetting: InputSlot=Lower" + Choice "CDDVDTray/CD or DVD Tray" "%% FoomaticRIPOptionSetting: InputSlot=CDDVDTray" + Choice "Envelope/Envelope Feeder" "%% FoomaticRIPOptionSetting: InputSlot=Envelope" + Choice "LargeCapacity/Large Capacity Tray" "%% FoomaticRIPOptionSetting: InputSlot=LargeCapacity" + Choice "Manual/Manual Feeder" "%% FoomaticRIPOptionSetting: InputSlot=Manual" + Choice "MPTray/Multi Purpose Tray" "%% FoomaticRIPOptionSetting: InputSlot=MPTray" + Option "Duplex/Double-Sided Printing" PickOne AnySetup 120.0 + Choice "DuplexNoTumble/Long Edge (Standard)" "%% FoomaticRIPOptionSetting: Duplex=DuplexNoTumble" + Choice "DuplexTumble/Short Edge (Flip)" "%% FoomaticRIPOptionSetting: Duplex=DuplexTumble" + *Choice "None/Off" "%% FoomaticRIPOptionSetting: Duplex=None" + Option "DryTime/Additional Dry Time" PickOne AnySetup 120.0 + *Choice "Zero/Printer Default" "%% FoomaticRIPOptionSetting: DryTime=Zero" + Choice "Five/5 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Five" + Choice "Ten/10 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Ten" + Choice "Fifteen/15 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Fifteen" + Choice "Twenty/20 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Twenty" + Choice "TwentyFive/25 Seconds" "%% FoomaticRIPOptionSetting: DryTime=TwentyFive" + Choice "Thirty/30 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Thirty" + Group "PrintoutMode/Printout Mode" + Option "Quality/Resolution, Quality, Ink Type, Media Type" PickOne AnySetup 100.0 + *Choice "FromPrintoutMode/Controlled by 'Printout Mode'" "%% FoomaticRIPOptionSetting: Quality=@PrintoutMode" + Choice "300ColorCMYK/300 dpi, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300ColorCMYK" + Choice "300ColorCMYKFullBleed/300 dpi, Color, Full Bleed, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300ColorCMYKFullBleed" + Choice "300DraftColorCMYK/300 dpi, Draft, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300DraftColorCMYK" + Choice "300DraftGrayscaleK/300 dpi, Draft, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300DraftGrayscaleK" + Choice "300FastDraftColorCMYK/300 dpi, FastDraft, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300FastDraftColorCMYK" + Choice "300FastDraftGrayscaleK/300 dpi, FastDraft, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300FastDraftGrayscaleK" + Choice "300GrayscaleK/300 dpi, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300GrayscaleK" + Choice "600ColorCMYK/600 dpi, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=600ColorCMYK" + Choice "600ColorCMYKFullBleed/600 dpi, Color, Full Bleed, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=600ColorCMYKFullBleed" + Choice "600GrayscaleK/600 dpi, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=600GrayscaleK" + Choice "1200PhotoCMYK/1200 dpi, Photo, Black + Color Cartr., Photo Paper" "%% FoomaticRIPOptionSetting: Quality=1200PhotoCMYK" + Choice "1200PhotoCMYKFullBleed/1200 dpi, Photo, Full Bleed, Black + Color Cartr., Photo Paper" "%% FoomaticRIPOptionSetting: Quality=1200PhotoCMYKFullBleed" + *CustomMedia "Letter/Letter" 612.00 792.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Letter" "%% FoomaticRIPOptionSetting: PageSize=Letter" + CustomMedia "A4/A4" 595.00 842.00 9.72 36.00 9.72 9.00 "%% FoomaticRIPOptionSetting: PageSize=A4" "%% FoomaticRIPOptionSetting: PageSize=A4" + CustomMedia "Photo/Photo or 4x6 inch index card" 288.00 432.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Photo" "%% FoomaticRIPOptionSetting: PageSize=Photo" + CustomMedia "Photo5x7/Photo or 5x7 inch index card" 360.00 504.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Photo5x7" "%% FoomaticRIPOptionSetting: PageSize=Photo5x7" + CustomMedia "PhotoTearOff/Photo with tear-off tab" 288.00 432.00 0.00 0.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=PhotoTearOff" "%% FoomaticRIPOptionSetting: PageSize=PhotoTearOff" + CustomMedia "3x5/3x5 inch index card" 216.00 360.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=3x5" "%% FoomaticRIPOptionSetting: PageSize=3x5" + CustomMedia "5x8/5x8 inch index card" 360.00 576.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=5x8" "%% FoomaticRIPOptionSetting: PageSize=5x8" + CustomMedia "A5/A5" 420.00 595.00 9.00 36.00 9.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=A5" "%% FoomaticRIPOptionSetting: PageSize=A5" + CustomMedia "A6/A6" 297.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=A6" "%% FoomaticRIPOptionSetting: PageSize=A6" + CustomMedia "A6TearOff/A6 with tear-off tab" 297.00 420.00 0.00 0.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=A6TearOff" "%% FoomaticRIPOptionSetting: PageSize=A6TearOff" + CustomMedia "B5JIS/B5 (JIS)" 516.00 729.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=B5JIS" "%% FoomaticRIPOptionSetting: PageSize=B5JIS" + CustomMedia "CDDVD80/CD or DVD 80 mm" 237.00 237.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=CDDVD80" "%% FoomaticRIPOptionSetting: PageSize=CDDVD80" + CustomMedia "CDDVD120/CD or DVD 120 mm" 360.00 360.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=CDDVD120" "%% FoomaticRIPOptionSetting: PageSize=CDDVD120" + CustomMedia "Env10/Envelope #10" 297.00 684.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Env10" "%% FoomaticRIPOptionSetting: PageSize=Env10" + CustomMedia "EnvC5/Envelope C5" 459.00 649.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=EnvC5" "%% FoomaticRIPOptionSetting: PageSize=EnvC5" + CustomMedia "EnvC6/Envelope C6" 323.00 459.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvC6" "%% FoomaticRIPOptionSetting: PageSize=EnvC6" + CustomMedia "EnvDL/Envelope DL" 312.00 624.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvDL" "%% FoomaticRIPOptionSetting: PageSize=EnvDL" + CustomMedia "EnvISOB5/Envelope B5" 499.00 709.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=EnvISOB5" "%% FoomaticRIPOptionSetting: PageSize=EnvISOB5" + CustomMedia "EnvMonarch/Envelope Monarch" 279.00 540.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvMonarch" "%% FoomaticRIPOptionSetting: PageSize=EnvMonarch" + CustomMedia "Executive/Executive" 522.00 756.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Executive" "%% FoomaticRIPOptionSetting: PageSize=Executive" + CustomMedia "FLSA/American Foolscap" 612.00 936.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=FLSA" "%% FoomaticRIPOptionSetting: PageSize=FLSA" + CustomMedia "Hagaki/Hagaki" 283.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Hagaki" "%% FoomaticRIPOptionSetting: PageSize=Hagaki" + CustomMedia "Legal/Legal" 612.00 1008.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Legal" "%% FoomaticRIPOptionSetting: PageSize=Legal" + CustomMedia "Oufuku/Oufuku-Hagaki" 567.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Oufuku" "%% FoomaticRIPOptionSetting: PageSize=Oufuku" + CustomMedia "w558h774/16K" 558.00 774.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w558h774" "%% FoomaticRIPOptionSetting: PageSize=w558h774" + CustomMedia "w612h935/Executive (JIS)" 612.00 935.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w612h935" "%% FoomaticRIPOptionSetting: PageSize=w612h935" + // <%Copperhead:Normal%> + { + ModelName "HP Deskjet 3070 b611 Series hpijs" + Attribute "NickName" "" "HP Deskjet 3070 b611 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP DJ 3070 b611 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3070 b611 series;DES:deskjet 3070 b611 series;" + PCFileName "hp-deskjet_3070_b611_series-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 3070 b611 Series)" + } + { + ModelName "HP Photosmart 5510 Series hpijs" + Attribute "NickName" "" "HP Photosmart 5510 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Photosmart 5510 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart 5510 series;DES:photosmart 5510 series;" + PCFileName "hp-photosmart_5510_series-hpijs.ppd" + Attribute "Product" "" "(HP Photosmart 5510 E-all-in-one)" + } + // <%Copperhead:AutoDuplex%> + { + ModelName "HP Photosmart 5510d Series hpijs" + Attribute "NickName" "" "HP Photosmart 5510d Series hpijs, $Version" + Attribute "ShortNickName" "" "HP PS 5510d Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart 5510d series;DES:photosmart 5510d series;" + PCFileName "hp-photosmart_5510d_series-hpijs.ppd" + Attribute "Product" "" "(HP Photosmart 5510d E-all-in-one)" + } + { + ModelName "HP Photosmart 6510 Series hpijs" + Attribute "NickName" "" "HP Photosmart 6510 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Photosmart 6510 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart 6510 series;DES:photosmart 6510 series;" + PCFileName "hp-photosmart_6510_series-hpijs.ppd" + Attribute "Product" "" "(HP Photosmart 6510 E-all-in-one)" + } + // <%Copperhead:Trim%> + { + ModelName "HP Officejet 4610 Series hpijs" + Attribute "NickName" "" "HP Officejet 4610 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet 4610 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 4610 series;DES:officejet 4610 series;" + PCFileName "hp-officejet_4610_series-hpijs.ppd" + Attribute "Product" "" "(HP Officejet 4610 All-in-one Printer Series)" } { - ModelName "HP Photosmart Plus b209a-m hpijs" - Attribute "NickName" "" "HP Photosmart Plus b209a-m hpijs, $Version" - Attribute "ShortNickName" "" "HP PS Plus b209a-m hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart plus b209a-m;DES:photosmart plus b209a-m;" - PCFileName "hp-photosmart_plus_b209a-m-hpijs.ppd" - Attribute "Product" "" "(HP Photosmart Plus All-in-one Printer - b209a)" - Attribute "Product" "" "(HP Photosmart Plus All-in-one Printer - b209b)" - Attribute "Product" "" "(HP Photosmart Plus All-in-one Printer - b209c)" + ModelName "HP Deskjet 4610 Series hpijs" + Attribute "NickName" "" "HP Deskjet 4610 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 4610 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 4610 series;DES:deskjet 4610 series;" + PCFileName "hp-deskjet_4610_series-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet Ink Advantage 4610 All-in-one Printer Series)" + Attribute "Product" "" "(HP Deskjet Ink Advantage 4615 All-in-one Printer)" } { - ModelName "HP Photosmart Plus b210 Series hpijs" - Attribute "NickName" "" "HP Photosmart Plus b210 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP PS Plus b210 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart plus b210 series;DES:photosmart plus b210 series;" - PCFileName "hp-photosmart_plus_b210_series-hpijs.ppd" - Attribute "Product" "" "(HP Photosmart Plus b210 Series)" + ModelName "HP Deskjet 4620 Series hpijs" + Attribute "NickName" "" "HP Deskjet 4620 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 4620 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 4620 series;DES:deskjet 4620 series;" + PCFileName "hp-deskjet_4620_series-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet Ink Advantage 4620 E-all-in-one Printer)" + Attribute "Product" "" "(HP Deskjet Ink Advantage 4625 E-all-in-one Printer)" } -} // end Stabler + { + ModelName "HP Officejet 4620 Series hpijs" + Attribute "NickName" "" "HP Officejet 4620 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet 4620 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 4620 series;DES:officejet 4620 series;" + PCFileName "hp-officejet_4620_series-hpijs.ppd" + Attribute "Product" "" "(HP Officejet 4620 E-all-in-one Printer)" + Attribute "Product" "" "(HP Officejet 4622 E-all-in-one Printer)" + } +} // end Copperhead -////////// StingrayOJ +////////// CopperheadXLP { Attribute "DefaultResolution" "" "1200dpi" @@ -13320,26 +13865,40 @@ CustomMedia "Oufuku/Oufuku-Hagaki" 567.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Oufuku" "%% FoomaticRIPOptionSetting: PageSize=Oufuku" CustomMedia "w558h774/16K" 558.00 774.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w558h774" "%% FoomaticRIPOptionSetting: PageSize=w558h774" CustomMedia "w612h935/Executive (JIS)" 612.00 935.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w612h935" "%% FoomaticRIPOptionSetting: PageSize=w612h935" - // <%StingrayOJ:Normal%> - { - ModelName "HP Officejet 100 Mobile l411 hpijs" - Attribute "NickName" "" "HP Officejet 100 Mobile l411 hpijs, $Version" - Attribute "ShortNickName" "" "HP OJ 100 Mobile l411 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 100 mobile l411;DES:officejet 100 mobile l411;" - PCFileName "hp-officejet_100_mobile_l411-hpijs.ppd" - Attribute "Product" "" "(HP Officejet 100 Mobile l411)" - } - { - ModelName "HP Officejet 150 Mobile l511 hpijs" - Attribute "NickName" "" "HP Officejet 150 Mobile l511 hpijs, $Version" - Attribute "ShortNickName" "" "HP OJ 150 Mobile l511 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 150 mobile l511;DES:officejet 150 mobile l511;" - PCFileName "hp-officejet_150_mobile_l511-hpijs.ppd" - Attribute "Product" "" "(HP Officejet 150 Mobile All-in-one)" - } -} // end StingrayOJ + // <%CopperheadXLP:Normal%> + { + ModelName "HP Officejet Pro 6230 hpijs" + Attribute "NickName" "" "HP Officejet Pro 6230 hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet Pro 6230 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet pro 6230;DES:officejet pro 6230;" + PCFileName "hp-officejet_pro_6230-hpijs.ppd" + Attribute "Product" "" "(HP Officejet Pro 6230 Eprinter)" + } + { + ModelName "HP Officejet 6800 hpijs" + Attribute "NickName" "" "HP Officejet 6800 hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet 6800 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 6800;DES:officejet 6800;" + PCFileName "hp-officejet_6800-hpijs.ppd" + Attribute "Product" "" "(HP Officejet 6800 E-all-in-one)" + Attribute "Product" "" "(HP Officejet 6810 E-all-in-one Printer Series)" + Attribute "Product" "" "(HP Officejet 6812 E-all-in-one Printer)" + Attribute "Product" "" "(HP Officejet 6815 E-all-in-one Printer)" + } + { + ModelName "HP Officejet Pro 6830 hpijs" + Attribute "NickName" "" "HP Officejet Pro 6830 hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet Pro 6830 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet pro 6830;DES:officejet pro 6830;" + PCFileName "hp-officejet_pro_6830-hpijs.ppd" + Attribute "Product" "" "(HP Officejet Pro 6830 E-all-in-one)" + Attribute "Product" "" "(HP Officejet Pro 6835 E-all-in-one)" + } -////////// Copperhead +}// End CopperheadXLP + + +////////// Copperhead12 { Attribute "DefaultResolution" "" "1200dpi" @@ -13558,79 +14117,61 @@ CustomMedia "Oufuku/Oufuku-Hagaki" 567.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Oufuku" "%% FoomaticRIPOptionSetting: PageSize=Oufuku" CustomMedia "w558h774/16K" 558.00 774.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w558h774" "%% FoomaticRIPOptionSetting: PageSize=w558h774" CustomMedia "w612h935/Executive (JIS)" 612.00 935.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w612h935" "%% FoomaticRIPOptionSetting: PageSize=w612h935" - // <%Copperhead:Normal%> - { - ModelName "HP Deskjet 3070 b611 Series hpijs" - Attribute "NickName" "" "HP Deskjet 3070 b611 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP DJ 3070 b611 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3070 b611 series;DES:deskjet 3070 b611 series;" - PCFileName "hp-deskjet_3070_b611_series-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 3070 b611 Series)" - } - { - ModelName "HP Photosmart 5510 Series hpijs" - Attribute "NickName" "" "HP Photosmart 5510 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Photosmart 5510 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart 5510 series;DES:photosmart 5510 series;" - PCFileName "hp-photosmart_5510_series-hpijs.ppd" - Attribute "Product" "" "(HP Photosmart 5510 E-all-in-one)" - } - // <%Copperhead:AutoDuplex%> - { - ModelName "HP Photosmart 5510d Series hpijs" - Attribute "NickName" "" "HP Photosmart 5510d Series hpijs, $Version" - Attribute "ShortNickName" "" "HP PS 5510d Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart 5510d series;DES:photosmart 5510d series;" - PCFileName "hp-photosmart_5510d_series-hpijs.ppd" - Attribute "Product" "" "(HP Photosmart 5510d E-all-in-one)" - } + // <%Copperhead12:Normal%> { - ModelName "HP Photosmart 6510 Series hpijs" - Attribute "NickName" "" "HP Photosmart 6510 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Photosmart 6510 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart 6510 series;DES:photosmart 6510 series;" - PCFileName "hp-photosmart_6510_series-hpijs.ppd" - Attribute "Product" "" "(HP Photosmart 6510 E-all-in-one)" + ModelName "HP Deskjet 3520 Series hpijs" + Attribute "NickName" "" "HP Deskjet 3520 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 3520 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3520 series;DES:deskjet 3520 series;" + PCFileName "hp-deskjet_3520_series-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet 3520 E-all-in-one Series)" + Attribute "Product" "" "(HP Deskjet Ink Advantage 3525 E-all-in-one)" + Attribute "Product" "" "(HP Deskjet 3521 E-all-in-one Printer)" + Attribute "Product" "" "(HP Deskjet 3522 E-all-in-one Printer)" + Attribute "Product" "" "(HP Deskjet 3524 E-all-in-one Printer)" + Attribute "Product" "" "(HP Deskjet 3526 E-all-in-one Printer)" } - // <%Copperhead:Trim%> { - ModelName "HP Officejet 4610 Series hpijs" - Attribute "NickName" "" "HP Officejet 4610 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet 4610 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 4610 series;DES:officejet 4610 series;" - PCFileName "hp-officejet_4610_series-hpijs.ppd" - Attribute "Product" "" "(HP Officejet 4610 All-in-one Printer Series)" + ModelName "HP Photosmart 5520 Series hpijs" + Attribute "NickName" "" "HP Photosmart 5520 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Photosmart 5520 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart 5520 series;DES:photosmart 5520 series;" + PCFileName "hp-photosmart_5520_series-hpijs.ppd" + Attribute "Product" "" "(HP Photosmart 5520 E-all-in-one)" + Attribute "Product" "" "(HP Photosmart 5522 E-all-in-one Printer)" + Attribute "Product" "" "(HP Photosmart 5524 E-all-in-one Printer)" + Attribute "Product" "" "(HP Photosmart 5525 E-all-in-one Printer)" + Attribute "Product" "" "(HP Photosmart 5521 E-all-in-one Printer)" } { - ModelName "HP Deskjet 4610 Series hpijs" - Attribute "NickName" "" "HP Deskjet 4610 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 4610 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 4610 series;DES:deskjet 4610 series;" - PCFileName "hp-deskjet_4610_series-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet Ink Advantage 4610 All-in-one Printer Series)" - Attribute "Product" "" "(HP Deskjet Ink Advantage 4615 All-in-one Printer)" + ModelName "HP Deskjet 5520 Series hpijs" + Attribute "NickName" "" "HP Deskjet 5520 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 5520 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 5520 series;DES:deskjet 5520 series;" + PCFileName "hp-deskjet_5520_series-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet Ink Advantage 5525 E-all-in-one)" } + // <%Copperhead12:Advanced%> { - ModelName "HP Deskjet 4620 Series hpijs" - Attribute "NickName" "" "HP Deskjet 4620 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 4620 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 4620 series;DES:deskjet 4620 series;" - PCFileName "hp-deskjet_4620_series-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet Ink Advantage 4620 E-all-in-one Printer)" - Attribute "Product" "" "(HP Deskjet Ink Advantage 4625 E-all-in-one Printer)" + ModelName "HP Photosmart 6520 Series hpijs" + Attribute "NickName" "" "HP Photosmart 6520 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Photosmart 6520 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart 6520 series;DES:photosmart 6520 series;" + PCFileName "hp-photosmart_6520_series-hpijs.ppd" + Attribute "Product" "" "(HP Photsmart 6520 E All-in-one)" + Attribute "Product" "" "(HP Photosmart 6525 E All-in-one)" } { - ModelName "HP Officejet 4620 Series hpijs" - Attribute "NickName" "" "HP Officejet 4620 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Officejet 4620 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 4620 series;DES:officejet 4620 series;" - PCFileName "hp-officejet_4620_series-hpijs.ppd" - Attribute "Product" "" "(HP Officejet 4620 E-all-in-one Printer)" - Attribute "Product" "" "(HP Officejet 4622 E-all-in-one Printer)" + ModelName "HP Deskjet 6520 Series hpijs" + Attribute "NickName" "" "HP Deskjet 6520 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Deskjet 6520 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 6520 series;DES:deskjet 6520 series;" + PCFileName "hp-deskjet_6520_series-hpijs.ppd" + Attribute "Product" "" "(HP Deskjet Ink Advantage 6525 E-all-in-one)" } -} // end Copperhead +} // end Copperhead12 -////////// Copperhead12 +////////// CopperheadIPH { Attribute "DefaultResolution" "" "1200dpi" @@ -13849,60 +14390,55 @@ CustomMedia "Oufuku/Oufuku-Hagaki" 567.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Oufuku" "%% FoomaticRIPOptionSetting: PageSize=Oufuku" CustomMedia "w558h774/16K" 558.00 774.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w558h774" "%% FoomaticRIPOptionSetting: PageSize=w558h774" CustomMedia "w612h935/Executive (JIS)" 612.00 935.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w612h935" "%% FoomaticRIPOptionSetting: PageSize=w612h935" - // <%Copperhead12:Normal%> - { - ModelName "HP Deskjet 3520 Series hpijs" - Attribute "NickName" "" "HP Deskjet 3520 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 3520 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 3520 series;DES:deskjet 3520 series;" - PCFileName "hp-deskjet_3520_series-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet 3520 E-all-in-one Series)" - Attribute "Product" "" "(HP Deskjet Ink Advantage 3525 E-all-in-one)" - Attribute "Product" "" "(HP Deskjet 3521 E-all-in-one Printer)" - Attribute "Product" "" "(HP Deskjet 3522 E-all-in-one Printer)" - Attribute "Product" "" "(HP Deskjet 3524 E-all-in-one Printer)" - Attribute "Product" "" "(HP Deskjet 3526 E-all-in-one Printer)" - } - { - ModelName "HP Photosmart 5520 Series hpijs" - Attribute "NickName" "" "HP Photosmart 5520 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Photosmart 5520 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart 5520 series;DES:photosmart 5520 series;" - PCFileName "hp-photosmart_5520_series-hpijs.ppd" - Attribute "Product" "" "(HP Photosmart 5520 E-all-in-one)" - Attribute "Product" "" "(HP Photosmart 5522 E-all-in-one Printer)" - Attribute "Product" "" "(HP Photosmart 5524 E-all-in-one Printer)" - Attribute "Product" "" "(HP Photosmart 5525 E-all-in-one Printer)" - Attribute "Product" "" "(HP Photosmart 5521 E-all-in-one Printer)" - } - { - ModelName "HP Deskjet 5520 Series hpijs" - Attribute "NickName" "" "HP Deskjet 5520 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 5520 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 5520 series;DES:deskjet 5520 series;" - PCFileName "hp-deskjet_5520_series-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet Ink Advantage 5525 E-all-in-one)" - } - // <%Copperhead12:Advanced%> - { - ModelName "HP Photosmart 6520 Series hpijs" - Attribute "NickName" "" "HP Photosmart 6520 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Photosmart 6520 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart 6520 series;DES:photosmart 6520 series;" - PCFileName "hp-photosmart_6520_series-hpijs.ppd" - Attribute "Product" "" "(HP Photsmart 6520 E All-in-one)" - Attribute "Product" "" "(HP Photosmart 6525 E All-in-one)" - } + // <%CopperheadIPH:Normal%> { - ModelName "HP Deskjet 6520 Series hpijs" - Attribute "NickName" "" "HP Deskjet 6520 Series hpijs, $Version" - Attribute "ShortNickName" "" "HP Deskjet 6520 Series hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 6520 series;DES:deskjet 6520 series;" - PCFileName "hp-deskjet_6520_series-hpijs.ppd" - Attribute "Product" "" "(HP Deskjet Ink Advantage 6525 E-all-in-one)" + ModelName "HP Envy 5640 Series hpijs" + Attribute "NickName" "" "HP Envy 5640 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Envy 5640 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:envy 5640 series;DES:envy 5640 series;" + PCFileName "hp-envy_5640_series-hpijs.ppd" + Attribute "Product" "" "(HP Envy 5640 E-all-in-one)" + Attribute "Product" "" "(HP Envy 5642 E-all-in-one)" + Attribute "Product" "" "(HP Envy 5643 E-all-in-one)" + Attribute "Product" "" "(HP Envy 5644 E-all-in-one)" + } + { + ModelName "HP Envy 5660 Series hpijs" + Attribute "NickName" "" "HP Envy 5660 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Envy 5660 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:envy 5660 series;DES:envy 5660 series;" + PCFileName "hp-envy_5660_series-hpijs.ppd" + Attribute "Product" "" "(HP Envy 5660 E-all-in-one)" + Attribute "Product" "" "(HP Envy 5665 E-all-in-one)" + } + { + ModelName "HP Officejet 5740 Series hpijs" + Attribute "NickName" "" "HP Officejet 5740 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet 5740 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 5740 series;DES:officejet 5740 series;" + PCFileName "hp-officejet_5740_series-hpijs.ppd" + Attribute "Product" "" "(HP Officejet 5740 E-all-in-one)" + Attribute "Product" "" "(HP Officejet 5742 E-all-in-one)" + Attribute "Product" "" "(HP Officejet 5745 E-all-in-one)" + } + { + ModelName "HP Envy 7640 Series hpijs" + Attribute "NickName" "" "HP Envy 7640 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Envy 7640 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:envy 7640 series;DES:envy 7640 series;" + PCFileName "hp-envy_7640_series-hpijs.ppd" + Attribute "Product" "" "(HP Envy 7640 E-all-in-one)" + Attribute "Product" "" "(HP Envy 7645 E-all-in-one)" + } + { + ModelName "HP Officejet 8040 Series hpijs" + Attribute "NickName" "" "HP Officejet 8040 Series hpijs, $Version" + Attribute "ShortNickName" "" "HP Officejet 8040 Series hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 8040 series;DES:officejet 8040 series;" + PCFileName "hp-officejet_8040_series-hpijs.ppd" + Attribute "Product" "" "(HP Officejet 8040 Series)" } -} // end Copperhead12 - +} // end CopperheadIPH ////////// Saipan @@ -14166,10 +14702,10 @@ Attribute "1284DeviceID" "" "MFG:HP;MDL:officejet 7610 series;DES:officejet 7610 series;" PCFileName "hp-officejet_7610_series-hpijs.ppd" Attribute "Product" "" "(HP Officejet 7610 Wide Format E-all-in-one Printer)" + Attribute "Product" "" "(HP Officejet 7612 Wide Format E-all-in-one Printer)" } } // end Saipan - ////////// Kapan { Attribute "DefaultResolution" "" "1200dpi" @@ -14646,8 +15182,13 @@ Attribute "1284DeviceID" "" "MFG:HP;MDL:envy 4500 series;DES:envy 4500 series;" PCFileName "hp-envy_4500_series-hpijs.ppd" Attribute "Product" "" "(HP Envy 4500 E-all-in-one)" + Attribute "Product" "" "(HP Envy 4501 E-all-in-one)" Attribute "Product" "" "(HP Envy 4502 E-all-in-one)" + Attribute "Product" "" "(HP Envy 4503 E-all-in-one)" Attribute "Product" "" "(HP Envy 4504 E-all-in-one)" + Attribute "Product" "" "(HP Envy 4505 E-all-in-one)" + Attribute "Product" "" "(HP Envy 4507 E-all-in-one)" + Attribute "Product" "" "(HP Envy 4508 E-all-in-one)" } { ModelName "HP Deskjet 4510 Series hpijs" @@ -14689,9 +15230,10 @@ Attribute "1284DeviceID" "" "MFG:HP;MDL:envy 5530 series;DES:envy 5530 series;" PCFileName "hp-envy_5530_series-hpijs.ppd" Attribute "Product" "" "(HP Envy 5530 E-all-in-one Printer)" - Attribute "Product" "" "(HP Envy 5535 E-all-in-one Printer)" - Attribute "Product" "" "(HP Envy 5532 E-all-in-one Printer)" Attribute "Product" "" "(HP Envy 5531 E-all-in-one Printer)" + Attribute "Product" "" "(HP Envy 5532 E-all-in-one Printer)" + Attribute "Product" "" "(HP Envy 5534 E-all-in-one Printer)" + Attribute "Product" "" "(HP Envy 5535 E-all-in-one Printer)" } } // end MimasTDR @@ -15178,14 +15720,6 @@ Attribute "Product" "" "(HP Photosmart d110 Series Printer)" } { - ModelName "HP Photosmart Ink Adv k510 hpijs" - Attribute "NickName" "" "HP Photosmart Ink Adv k510 hpijs, $Version" - Attribute "ShortNickName" "" "HP PS Ink Adv k510 hpijs" - Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart ink adv k510;DES:photosmart ink adv k510;" - PCFileName "hp-photosmart_ink_adv_k510-hpijs.ppd" - Attribute "Product" "" "(HP Photosmart Ink Adv k510)" - } - { ModelName "HP Officejet 4400 k410 hpijs" Attribute "NickName" "" "HP Officejet 4400 k410 hpijs, $Version" Attribute "ShortNickName" "" "HP Officejet 4400 k410 hpijs" @@ -15279,6 +15813,14 @@ Attribute "Product" "" "(HP Photosmart c4799 All-in-one Printer)" } { + ModelName "HP Photosmart Ink Adv k510 hpijs" + Attribute "NickName" "" "HP Photosmart Ink Adv k510 hpijs, $Version" + Attribute "ShortNickName" "" "HP PS Ink Adv k510 hpijs" + Attribute "1284DeviceID" "" "MFG:HP;MDL:photosmart ink adv k510;DES:photosmart ink adv k510;" + PCFileName "hp-photosmart_ink_adv_k510-hpijs.ppd" + Attribute "Product" "" "(HP Photosmart Ink Adv k510)" + } + { ModelName "HP Deskjet d5500 Series hpijs" Attribute "NickName" "" "HP Deskjet d5500 Series hpijs, $Version" Attribute "ShortNickName" "" "HP Deskjet d5500 Series hpijs" @@ -16611,6 +17153,7 @@ PCFileName "hp-officejet_pro_8610-hpijs.ppd" Attribute "Product" "" "(HP Officejet Pro 8610 E-all-in-one Printer)" Attribute "Product" "" "(HP Officejet Pro 8615 E-all-in-one Printer)" + Attribute "Product" "" "(HP Officejet Pro 8616 E-all-in-one Printer)" } { ModelName "HP Officejet Pro 8620 hpijs" @@ -17434,6 +17977,7 @@ Attribute "1284DeviceID" "" "MFG:HP;MDL:deskjet 2540 series;DES:deskjet 2540 series;" PCFileName "hp-deskjet_2540_series-hpijs.ppd" Attribute "Product" "" "(HP Deskjet 2540 All-in-one Printer)" + Attribute "Product" "" "(HP Deskjet 2541 All-in-one Printer)" Attribute "Product" "" "(HP Deskjet 2542 All-in-one Printer)" Attribute "Product" "" "(HP Deskjet 2543 All-in-one Printer)" Attribute "Product" "" "(HP Deskjet 2544 All-in-one Printer)" diff -Nru hplip-3.14.6/prnt/drv/hpijs.drv.in.template hplip-3.15.2/prnt/drv/hpijs.drv.in.template --- hplip-3.14.6/prnt/drv/hpijs.drv.in.template 2014-06-03 06:30:54.000000000 +0000 +++ hplip-3.15.2/prnt/drv/hpijs.drv.in.template 2015-01-29 12:20:42.000000000 +0000 @@ -7162,6 +7162,230 @@ // <%Copperhead:Trim%> } // end Copperhead +////////// CopperheadXLP +{ + Attribute "DefaultResolution" "" "1200dpi" + + // Custom page sizes from 1x4in to Legal + HWMargins 18 36 18 9 + VariablePaperSize Yes + MinSize 1in 4in + MaxSize 8.5in 14in + Attribute "FoomaticRIPOptionSetting" "PageSize=Custom" " -dDEVICEWIDTHPOINTS=0 -dD&& +EVICEHEIGHTPOINTS=0" + + Attribute "FoomaticIDs" "" "HP-DeskJet_5550 hpijs" + Attribute "FoomaticRIPCommandLine" "" "gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPA&& +USE -sDEVICE=ijs -sIjsServer=hpijs%A%B%C -dIjsUseOutputFD%Z -sOutputFi&& +le=- -" + Attribute "FoomaticRIPOption" "Model" "enum CmdLine A 100" + Attribute "FoomaticRIPOptionSetting" "Model=HP-DeskJet_5550" " -sDeviceManufacture&& +r="HEWLETT-PACKARD" -sDeviceModel="deskjet 5550"" + Attribute "FoomaticRIPOption" "PrintoutMode" "enum Composite B" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Draft" "Quality=300FastDraftCol&& +orCMYK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Draft.Gray" "Quality=300FastDra&& +ftGrayscaleK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Normal" "Quality=300ColorCMYK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Normal.Gray" "Quality=300Graysc&& +aleK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=High" "Quality=600ColorCMYK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=High.Gray" "Quality=600Grayscal&& +eK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Photo" "Quality=1200PhotoCMYKFu&& +llBleed" + Attribute "FoomaticRIPOption" "InputSlot" "enum CmdLine C" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Default" ",PS:MediaPosition=7" + Attribute "FoomaticRIPOptionSetting" "InputSlot=PhotoTray" ",PS:MediaPosition=6" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Upper" ",PS:MediaPosition=1" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Lower" ",PS:MediaPosition=4" + Attribute "FoomaticRIPOptionSetting" "InputSlot=CDDVDTray" ",PS:MediaPosition=14" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Envelope" ",PS:MediaPosition=3" + Attribute "FoomaticRIPOptionSetting" "InputSlot=LargeCapacity" ",PS:MediaPosition=&& +5" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Manual" ",PS:MediaPosition=2" + Attribute "FoomaticRIPOptionSetting" "InputSlot=MPTray" ",PS:MediaPosition=8" + Attribute "FoomaticRIPOption" "PageSize" "enum CmdLine A" + Attribute "FoomaticRIPOptionSetting" "PageSize=Letter" " -dDEVICEWIDTHPOINTS=612 -&& +dDEVICEHEIGHTPOINTS=792" + Attribute "FoomaticRIPOptionSetting" "PageSize=A4" " -dDEVICEWIDTHPOINTS=595 -dDEV&& +ICEHEIGHTPOINTS=842" + Attribute "FoomaticRIPOptionSetting" "PageSize=Photo" " -dDEVICEWIDTHPOINTS=288 -d&& +DEVICEHEIGHTPOINTS=432" + Attribute "FoomaticRIPOptionSetting" "PageSize=Photo5x7" " -dDEVICEWIDTHPOINTS=360&& + -dDEVICEHEIGHTPOINTS=504" + Attribute "FoomaticRIPOptionSetting" "PageSize=PhotoTearOff" " -dDEVICEWIDTHPOINTS&& +=288 -dDEVICEHEIGHTPOINTS=432" + Attribute "FoomaticRIPOptionSetting" "PageSize=3x5" " -dDEVICEWIDTHPOINTS=216 -dDE&& +VICEHEIGHTPOINTS=360" + Attribute "FoomaticRIPOptionSetting" "PageSize=5x8" " -dDEVICEWIDTHPOINTS=360 -dDE&& +VICEHEIGHTPOINTS=576" + Attribute "FoomaticRIPOptionSetting" "PageSize=A5" " -dDEVICEWIDTHPOINTS=420 -dDEV&& +ICEHEIGHTPOINTS=595" + Attribute "FoomaticRIPOptionSetting" "PageSize=A6" " -dDEVICEWIDTHPOINTS=297 -dDEV&& +ICEHEIGHTPOINTS=420" + Attribute "FoomaticRIPOptionSetting" "PageSize=A6TearOff" " -dDEVICEWIDTHPOINTS=29&& +7 -dDEVICEHEIGHTPOINTS=420" + Attribute "FoomaticRIPOptionSetting" "PageSize=B5JIS" " -dDEVICEWIDTHPOINTS=516 -d&& +DEVICEHEIGHTPOINTS=729" + Attribute "FoomaticRIPOptionSetting" "PageSize=CDDVD80" " -dDEVICEWIDTHPOINTS=237 && +-dDEVICEHEIGHTPOINTS=237" + Attribute "FoomaticRIPOptionSetting" "PageSize=CDDVD120" " -dDEVICEWIDTHPOINTS=360&& + -dDEVICEHEIGHTPOINTS=360" + Attribute "FoomaticRIPOptionSetting" "PageSize=Env10" " -dDEVICEWIDTHPOINTS=297 -d&& +DEVICEHEIGHTPOINTS=684" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvC5" " -dDEVICEWIDTHPOINTS=459 -d&& +DEVICEHEIGHTPOINTS=649" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvC6" " -dDEVICEWIDTHPOINTS=323 -d&& +DEVICEHEIGHTPOINTS=459" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvDL" " -dDEVICEWIDTHPOINTS=312 -d&& +DEVICEHEIGHTPOINTS=624" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvISOB5" " -dDEVICEWIDTHPOINTS=499&& + -dDEVICEHEIGHTPOINTS=709" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvMonarch" " -dDEVICEWIDTHPOINTS=2&& +79 -dDEVICEHEIGHTPOINTS=540" + Attribute "FoomaticRIPOptionSetting" "PageSize=Executive" " -dDEVICEWIDTHPOINTS=52&& +2 -dDEVICEHEIGHTPOINTS=756" + Attribute "FoomaticRIPOptionSetting" "PageSize=FLSA" " -dDEVICEWIDTHPOINTS=612 -dD&& +EVICEHEIGHTPOINTS=936" + Attribute "FoomaticRIPOptionSetting" "PageSize=Hagaki" " -dDEVICEWIDTHPOINTS=283 -&& +dDEVICEHEIGHTPOINTS=420" + Attribute "FoomaticRIPOptionSetting" "PageSize=Legal" " -dDEVICEWIDTHPOINTS=612 -d&& +DEVICEHEIGHTPOINTS=1008" + Attribute "FoomaticRIPOptionSetting" "PageSize=Oufuku" " -dDEVICEWIDTHPOINTS=567 -&& +dDEVICEHEIGHTPOINTS=420" + Attribute "FoomaticRIPOptionSetting" "PageSize=w558h774" " -dDEVICEWIDTHPOINTS=558&& + -dDEVICEHEIGHTPOINTS=774" + Attribute "FoomaticRIPOptionSetting" "PageSize=w612h935" " -dDEVICEWIDTHPOINTS=612&& + -dDEVICEHEIGHTPOINTS=935" + Attribute "FoomaticRIPOption" "Duplex" "enum CmdLine A" + Attribute "FoomaticRIPOptionSetting" "Duplex=DuplexNoTumble" " -dDuplex=true -dTum&& +ble=false" + Attribute "FoomaticRIPOptionSetting" "Duplex=DuplexTumble" " -dDuplex=true -dTumbl&& +e=true" + Attribute "FoomaticRIPOptionSetting" "Duplex=None" " -dDuplex=false" + Attribute "FoomaticRIPOption" "DryTime" "enum CmdLine B" + Attribute "FoomaticRIPOptionSetting" "DryTime=Zero" "" + Attribute "FoomaticRIPOptionSetting" "DryTime=Five" ",DryTime=5" + Attribute "FoomaticRIPOptionSetting" "DryTime=Ten" ",DryTime=10" + Attribute "FoomaticRIPOptionSetting" "DryTime=Fifteen" ",DryTime=15" + Attribute "FoomaticRIPOptionSetting" "DryTime=Twenty" ",DryTime=20" + Attribute "FoomaticRIPOptionSetting" "DryTime=TwentyFive" ",DryTime=25" + Attribute "FoomaticRIPOptionSetting" "DryTime=Thirty" ",DryTime=30" + Attribute "FoomaticRIPOption" "Quality" "enum CmdLine B" + Attribute "FoomaticRIPOptionSetting" "Quality=300ColorCMYK" " -r300 -sIjsParams=Qu&& +ality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet&& +=2" + Attribute "FoomaticRIPOptionSetting" "Quality=300ColorCMYKFullBleed" " -r300 -sIjs&& +Params=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quali&& +ty:PenSet=2,Quality:FullBleed=1" + Attribute "FoomaticRIPOptionSetting" "Quality=300DraftColorCMYK" " -r300 -sIjsPara&& +ms=Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:P&& +enSet=2" + Attribute "FoomaticRIPOptionSetting" "Quality=300DraftGrayscaleK" " -r300 -sIjs&& +Params=Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quali&& +ty:PenSet=2" + Attribute "FoomaticRIPOptionSetting" "Quality=300FastDraftColorCMYK" " -r300 -sIjs&& +Params=Quality:Quality=4,Quality:ColorMode=2,Quality:MediaType=0,Quali&& +ty:PenSet=2,Quality:SpeedMech=1" + Attribute "FoomaticRIPOptionSetting" "Quality=300FastDraftGrayscaleK" " -r300 -&& +sIjsParams=Quality:Quality=4,Quality:ColorMode=0,Quality:MediaType=0,Q&& +uality:PenSet=2,Quality:SpeedMech=1" + Attribute "FoomaticRIPOptionSetting" "Quality=300GrayscaleK" " -r300 -sIjsParam&& +s=Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:Pe&& +nSet=2" + Attribute "FoomaticRIPOptionSetting" "Quality=600ColorCMYK" " -r600 -sIjsParams=Qu&& +ality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet&& +=2" + Attribute "FoomaticRIPOptionSetting" "Quality=600ColorCMYKFullBleed" " -r600 -sIjs&& +Params=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quali&& +ty:PenSet=2,Quality:FullBleed=1" + Attribute "FoomaticRIPOptionSetting" "Quality=600GrayscaleK" " -r600 -sIjsParam&& +s=Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:Pe&& +nSet=2" + Attribute "FoomaticRIPOptionSetting" "Quality=1200PhotoCMYK" " -r1200 -sIjsParams=&& +Quality:Quality=3,Quality:ColorMode=2,Quality:MediaType=2,Quality:PenS&& +et=2" + Attribute "FoomaticRIPOptionSetting" "Quality=1200PhotoCMYKFullBleed" " -r1200 -sI&& +jsParams=Quality:Quality=3,Quality:ColorMode=2,Quality:MediaType=2,Qua&& +lity:PenSet=2,Quality:FullBleed=1" + Group "General/General" + Option "PrintoutMode/Printout Mode" PickOne AnySetup 10.0 + Choice "Draft/Draft (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Draft" + Choice "Draft.Gray/Draft Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Draft.Gray" + *Choice "Normal/Normal (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Normal" + Choice "Normal.Gray/Normal Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Normal.Gray" + Choice "High/High Quality (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=High" + Choice "High.Gray/High Quality Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=High.Gray" + Choice "Photo/Photo (on photo paper)" "%% FoomaticRIPOptionSetting: PrintoutMode=Photo" + Option "InputSlot/Media Source" PickOne AnySetup 100.0 + *Choice "Default/Printer default" "%% FoomaticRIPOptionSetting: InputSlot=Default" + Choice "PhotoTray/Photo Tray" "%% FoomaticRIPOptionSetting: InputSlot=PhotoTray" + Choice "Upper/Upper Tray" "%% FoomaticRIPOptionSetting: InputSlot=Upper" + Choice "Lower/Lower Tray" "%% FoomaticRIPOptionSetting: InputSlot=Lower" + Choice "CDDVDTray/CD or DVD Tray" "%% FoomaticRIPOptionSetting: InputSlot=CDDVDTray" + Choice "Envelope/Envelope Feeder" "%% FoomaticRIPOptionSetting: InputSlot=Envelope" + Choice "LargeCapacity/Large Capacity Tray" "%% FoomaticRIPOptionSetting: InputSlot=LargeCapacity" + Choice "Manual/Manual Feeder" "%% FoomaticRIPOptionSetting: InputSlot=Manual" + Choice "MPTray/Multi Purpose Tray" "%% FoomaticRIPOptionSetting: InputSlot=MPTray" + Option "Duplex/Double-Sided Printing" PickOne AnySetup 120.0 + Choice "DuplexNoTumble/Long Edge (Standard)" "%% FoomaticRIPOptionSetting: Duplex=DuplexNoTumble" + Choice "DuplexTumble/Short Edge (Flip)" "%% FoomaticRIPOptionSetting: Duplex=DuplexTumble" + *Choice "None/Off" "%% FoomaticRIPOptionSetting: Duplex=None" + Option "DryTime/Additional Dry Time" PickOne AnySetup 120.0 + *Choice "Zero/Printer Default" "%% FoomaticRIPOptionSetting: DryTime=Zero" + Choice "Five/5 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Five" + Choice "Ten/10 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Ten" + Choice "Fifteen/15 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Fifteen" + Choice "Twenty/20 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Twenty" + Choice "TwentyFive/25 Seconds" "%% FoomaticRIPOptionSetting: DryTime=TwentyFive" + Choice "Thirty/30 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Thirty" + Group "PrintoutMode/Printout Mode" + Option "Quality/Resolution, Quality, Ink Type, Media Type" PickOne AnySetup 100.0 + *Choice "FromPrintoutMode/Controlled by 'Printout Mode'" "%% FoomaticRIPOptionSetting: Quality=@PrintoutMode" + Choice "300ColorCMYK/300 dpi, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300ColorCMYK" + Choice "300ColorCMYKFullBleed/300 dpi, Color, Full Bleed, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300ColorCMYKFullBleed" + Choice "300DraftColorCMYK/300 dpi, Draft, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300DraftColorCMYK" + Choice "300DraftGrayscaleK/300 dpi, Draft, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300DraftGrayscaleK" + Choice "300FastDraftColorCMYK/300 dpi, FastDraft, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300FastDraftColorCMYK" + Choice "300FastDraftGrayscaleK/300 dpi, FastDraft, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300FastDraftGrayscaleK" + Choice "300GrayscaleK/300 dpi, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300GrayscaleK" + Choice "600ColorCMYK/600 dpi, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=600ColorCMYK" + Choice "600ColorCMYKFullBleed/600 dpi, Color, Full Bleed, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=600ColorCMYKFullBleed" + Choice "600GrayscaleK/600 dpi, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=600GrayscaleK" + Choice "1200PhotoCMYK/1200 dpi, Photo, Black + Color Cartr., Photo Paper" "%% FoomaticRIPOptionSetting: Quality=1200PhotoCMYK" + Choice "1200PhotoCMYKFullBleed/1200 dpi, Photo, Full Bleed, Black + Color Cartr., Photo Paper" "%% FoomaticRIPOptionSetting: Quality=1200PhotoCMYKFullBleed" + *CustomMedia "Letter/Letter" 612.00 792.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Letter" "%% FoomaticRIPOptionSetting: PageSize=Letter" + CustomMedia "A4/A4" 595.00 842.00 9.72 36.00 9.72 9.00 "%% FoomaticRIPOptionSetting: PageSize=A4" "%% FoomaticRIPOptionSetting: PageSize=A4" + CustomMedia "Photo/Photo or 4x6 inch index card" 288.00 432.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Photo" "%% FoomaticRIPOptionSetting: PageSize=Photo" + CustomMedia "Photo5x7/Photo or 5x7 inch index card" 360.00 504.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Photo5x7" "%% FoomaticRIPOptionSetting: PageSize=Photo5x7" + CustomMedia "PhotoTearOff/Photo with tear-off tab" 288.00 432.00 0.00 0.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=PhotoTearOff" "%% FoomaticRIPOptionSetting: PageSize=PhotoTearOff" + CustomMedia "3x5/3x5 inch index card" 216.00 360.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=3x5" "%% FoomaticRIPOptionSetting: PageSize=3x5" + CustomMedia "5x8/5x8 inch index card" 360.00 576.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=5x8" "%% FoomaticRIPOptionSetting: PageSize=5x8" + CustomMedia "A5/A5" 420.00 595.00 9.00 36.00 9.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=A5" "%% FoomaticRIPOptionSetting: PageSize=A5" + CustomMedia "A6/A6" 297.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=A6" "%% FoomaticRIPOptionSetting: PageSize=A6" + CustomMedia "A6TearOff/A6 with tear-off tab" 297.00 420.00 0.00 0.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=A6TearOff" "%% FoomaticRIPOptionSetting: PageSize=A6TearOff" + CustomMedia "B5JIS/B5 (JIS)" 516.00 729.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=B5JIS" "%% FoomaticRIPOptionSetting: PageSize=B5JIS" + CustomMedia "CDDVD80/CD or DVD 80 mm" 237.00 237.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=CDDVD80" "%% FoomaticRIPOptionSetting: PageSize=CDDVD80" + CustomMedia "CDDVD120/CD or DVD 120 mm" 360.00 360.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=CDDVD120" "%% FoomaticRIPOptionSetting: PageSize=CDDVD120" + CustomMedia "Env10/Envelope #10" 297.00 684.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Env10" "%% FoomaticRIPOptionSetting: PageSize=Env10" + CustomMedia "EnvC5/Envelope C5" 459.00 649.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=EnvC5" "%% FoomaticRIPOptionSetting: PageSize=EnvC5" + CustomMedia "EnvC6/Envelope C6" 323.00 459.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvC6" "%% FoomaticRIPOptionSetting: PageSize=EnvC6" + CustomMedia "EnvDL/Envelope DL" 312.00 624.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvDL" "%% FoomaticRIPOptionSetting: PageSize=EnvDL" + CustomMedia "EnvISOB5/Envelope B5" 499.00 709.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=EnvISOB5" "%% FoomaticRIPOptionSetting: PageSize=EnvISOB5" + CustomMedia "EnvMonarch/Envelope Monarch" 279.00 540.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvMonarch" "%% FoomaticRIPOptionSetting: PageSize=EnvMonarch" + CustomMedia "Executive/Executive" 522.00 756.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Executive" "%% FoomaticRIPOptionSetting: PageSize=Executive" + CustomMedia "FLSA/American Foolscap" 612.00 936.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=FLSA" "%% FoomaticRIPOptionSetting: PageSize=FLSA" + CustomMedia "Hagaki/Hagaki" 283.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Hagaki" "%% FoomaticRIPOptionSetting: PageSize=Hagaki" + CustomMedia "Legal/Legal" 612.00 1008.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Legal" "%% FoomaticRIPOptionSetting: PageSize=Legal" + CustomMedia "Oufuku/Oufuku-Hagaki" 567.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Oufuku" "%% FoomaticRIPOptionSetting: PageSize=Oufuku" + CustomMedia "w558h774/16K" 558.00 774.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w558h774" "%% FoomaticRIPOptionSetting: PageSize=w558h774" + CustomMedia "w612h935/Executive (JIS)" 612.00 935.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w612h935" "%% FoomaticRIPOptionSetting: PageSize=w612h935" + // <%CopperheadXLP:Normal%> + +}// End CopperheadXLP + + ////////// Copperhead12 { Attribute "DefaultResolution" "" "1200dpi" @@ -7385,6 +7609,227 @@ // <%Copperhead12:Advanced%> } // end Copperhead12 +////////// CopperheadIPH +{ + Attribute "DefaultResolution" "" "1200dpi" + + // Custom page sizes from 1x4in to Legal + HWMargins 18 36 18 9 + VariablePaperSize Yes + MinSize 1in 4in + MaxSize 8.5in 14in + Attribute "FoomaticRIPOptionSetting" "PageSize=Custom" " -dDEVICEWIDTHPOINTS=0 -dD&& +EVICEHEIGHTPOINTS=0" + + Attribute "FoomaticIDs" "" "HP-DeskJet_5550 hpijs" + Attribute "FoomaticRIPCommandLine" "" "gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPA&& +USE -sDEVICE=ijs -sIjsServer=hpijs%A%B%C -dIjsUseOutputFD%Z -sOutputFi&& +le=- -" + Attribute "FoomaticRIPOption" "Model" "enum CmdLine A 100" + Attribute "FoomaticRIPOptionSetting" "Model=HP-DeskJet_5550" " -sDeviceManufacture&& +r="HEWLETT-PACKARD" -sDeviceModel="deskjet 5550"" + Attribute "FoomaticRIPOption" "PrintoutMode" "enum Composite B" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Draft" "Quality=300FastDraftCol&& +orCMYK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Draft.Gray" "Quality=300FastDra&& +ftGrayscaleK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Normal" "Quality=300ColorCMYK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Normal.Gray" "Quality=300Graysc&& +aleK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=High" "Quality=600ColorCMYK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=High.Gray" "Quality=600Grayscal&& +eK" + Attribute "FoomaticRIPOptionSetting" "PrintoutMode=Photo" "Quality=1200PhotoCMYKFu&& +llBleed" + Attribute "FoomaticRIPOption" "InputSlot" "enum CmdLine C" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Default" ",PS:MediaPosition=7" + Attribute "FoomaticRIPOptionSetting" "InputSlot=PhotoTray" ",PS:MediaPosition=6" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Upper" ",PS:MediaPosition=1" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Lower" ",PS:MediaPosition=4" + Attribute "FoomaticRIPOptionSetting" "InputSlot=CDDVDTray" ",PS:MediaPosition=14" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Envelope" ",PS:MediaPosition=3" + Attribute "FoomaticRIPOptionSetting" "InputSlot=LargeCapacity" ",PS:MediaPosition=&& +5" + Attribute "FoomaticRIPOptionSetting" "InputSlot=Manual" ",PS:MediaPosition=2" + Attribute "FoomaticRIPOptionSetting" "InputSlot=MPTray" ",PS:MediaPosition=8" + Attribute "FoomaticRIPOption" "PageSize" "enum CmdLine A" + Attribute "FoomaticRIPOptionSetting" "PageSize=Letter" " -dDEVICEWIDTHPOINTS=612 -&& +dDEVICEHEIGHTPOINTS=792" + Attribute "FoomaticRIPOptionSetting" "PageSize=A4" " -dDEVICEWIDTHPOINTS=595 -dDEV&& +ICEHEIGHTPOINTS=842" + Attribute "FoomaticRIPOptionSetting" "PageSize=Photo" " -dDEVICEWIDTHPOINTS=288 -d&& +DEVICEHEIGHTPOINTS=432" + Attribute "FoomaticRIPOptionSetting" "PageSize=Photo5x7" " -dDEVICEWIDTHPOINTS=360&& + -dDEVICEHEIGHTPOINTS=504" + Attribute "FoomaticRIPOptionSetting" "PageSize=PhotoTearOff" " -dDEVICEWIDTHPOINTS&& +=288 -dDEVICEHEIGHTPOINTS=432" + Attribute "FoomaticRIPOptionSetting" "PageSize=3x5" " -dDEVICEWIDTHPOINTS=216 -dDE&& +VICEHEIGHTPOINTS=360" + Attribute "FoomaticRIPOptionSetting" "PageSize=5x8" " -dDEVICEWIDTHPOINTS=360 -dDE&& +VICEHEIGHTPOINTS=576" + Attribute "FoomaticRIPOptionSetting" "PageSize=A5" " -dDEVICEWIDTHPOINTS=420 -dDEV&& +ICEHEIGHTPOINTS=595" + Attribute "FoomaticRIPOptionSetting" "PageSize=A6" " -dDEVICEWIDTHPOINTS=297 -dDEV&& +ICEHEIGHTPOINTS=420" + Attribute "FoomaticRIPOptionSetting" "PageSize=A6TearOff" " -dDEVICEWIDTHPOINTS=29&& +7 -dDEVICEHEIGHTPOINTS=420" + Attribute "FoomaticRIPOptionSetting" "PageSize=B5JIS" " -dDEVICEWIDTHPOINTS=516 -d&& +DEVICEHEIGHTPOINTS=729" + Attribute "FoomaticRIPOptionSetting" "PageSize=CDDVD80" " -dDEVICEWIDTHPOINTS=237 && +-dDEVICEHEIGHTPOINTS=237" + Attribute "FoomaticRIPOptionSetting" "PageSize=CDDVD120" " -dDEVICEWIDTHPOINTS=360&& + -dDEVICEHEIGHTPOINTS=360" + Attribute "FoomaticRIPOptionSetting" "PageSize=Env10" " -dDEVICEWIDTHPOINTS=297 -d&& +DEVICEHEIGHTPOINTS=684" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvC5" " -dDEVICEWIDTHPOINTS=459 -d&& +DEVICEHEIGHTPOINTS=649" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvC6" " -dDEVICEWIDTHPOINTS=323 -d&& +DEVICEHEIGHTPOINTS=459" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvDL" " -dDEVICEWIDTHPOINTS=312 -d&& +DEVICEHEIGHTPOINTS=624" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvISOB5" " -dDEVICEWIDTHPOINTS=499&& + -dDEVICEHEIGHTPOINTS=709" + Attribute "FoomaticRIPOptionSetting" "PageSize=EnvMonarch" " -dDEVICEWIDTHPOINTS=2&& +79 -dDEVICEHEIGHTPOINTS=540" + Attribute "FoomaticRIPOptionSetting" "PageSize=Executive" " -dDEVICEWIDTHPOINTS=52&& +2 -dDEVICEHEIGHTPOINTS=756" + Attribute "FoomaticRIPOptionSetting" "PageSize=FLSA" " -dDEVICEWIDTHPOINTS=612 -dD&& +EVICEHEIGHTPOINTS=936" + Attribute "FoomaticRIPOptionSetting" "PageSize=Hagaki" " -dDEVICEWIDTHPOINTS=283 -&& +dDEVICEHEIGHTPOINTS=420" + Attribute "FoomaticRIPOptionSetting" "PageSize=Legal" " -dDEVICEWIDTHPOINTS=612 -d&& +DEVICEHEIGHTPOINTS=1008" + Attribute "FoomaticRIPOptionSetting" "PageSize=Oufuku" " -dDEVICEWIDTHPOINTS=567 -&& +dDEVICEHEIGHTPOINTS=420" + Attribute "FoomaticRIPOptionSetting" "PageSize=w558h774" " -dDEVICEWIDTHPOINTS=558&& + -dDEVICEHEIGHTPOINTS=774" + Attribute "FoomaticRIPOptionSetting" "PageSize=w612h935" " -dDEVICEWIDTHPOINTS=612&& + -dDEVICEHEIGHTPOINTS=935" + Attribute "FoomaticRIPOption" "Duplex" "enum CmdLine A" + Attribute "FoomaticRIPOptionSetting" "Duplex=DuplexNoTumble" " -dDuplex=true -dTum&& +ble=false" + Attribute "FoomaticRIPOptionSetting" "Duplex=DuplexTumble" " -dDuplex=true -dTumbl&& +e=true" + Attribute "FoomaticRIPOptionSetting" "Duplex=None" " -dDuplex=false" + Attribute "FoomaticRIPOption" "DryTime" "enum CmdLine B" + Attribute "FoomaticRIPOptionSetting" "DryTime=Zero" "" + Attribute "FoomaticRIPOptionSetting" "DryTime=Five" ",DryTime=5" + Attribute "FoomaticRIPOptionSetting" "DryTime=Ten" ",DryTime=10" + Attribute "FoomaticRIPOptionSetting" "DryTime=Fifteen" ",DryTime=15" + Attribute "FoomaticRIPOptionSetting" "DryTime=Twenty" ",DryTime=20" + Attribute "FoomaticRIPOptionSetting" "DryTime=TwentyFive" ",DryTime=25" + Attribute "FoomaticRIPOptionSetting" "DryTime=Thirty" ",DryTime=30" + Attribute "FoomaticRIPOption" "Quality" "enum CmdLine B" + Attribute "FoomaticRIPOptionSetting" "Quality=300ColorCMYK" " -r300 -sIjsParams=Qu&& +ality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet&& +=2" + Attribute "FoomaticRIPOptionSetting" "Quality=300ColorCMYKFullBleed" " -r300 -sIjs&& +Params=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quali&& +ty:PenSet=2,Quality:FullBleed=1" + Attribute "FoomaticRIPOptionSetting" "Quality=300DraftColorCMYK" " -r300 -sIjsPara&& +ms=Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:P&& +enSet=2" + Attribute "FoomaticRIPOptionSetting" "Quality=300DraftGrayscaleK" " -r300 -sIjs&& +Params=Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quali&& +ty:PenSet=2" + Attribute "FoomaticRIPOptionSetting" "Quality=300FastDraftColorCMYK" " -r300 -sIjs&& +Params=Quality:Quality=4,Quality:ColorMode=2,Quality:MediaType=0,Quali&& +ty:PenSet=2,Quality:SpeedMech=1" + Attribute "FoomaticRIPOptionSetting" "Quality=300FastDraftGrayscaleK" " -r300 -&& +sIjsParams=Quality:Quality=4,Quality:ColorMode=0,Quality:MediaType=0,Q&& +uality:PenSet=2,Quality:SpeedMech=1" + Attribute "FoomaticRIPOptionSetting" "Quality=300GrayscaleK" " -r300 -sIjsParam&& +s=Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:Pe&& +nSet=2" + Attribute "FoomaticRIPOptionSetting" "Quality=600ColorCMYK" " -r600 -sIjsParams=Qu&& +ality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet&& +=2" + Attribute "FoomaticRIPOptionSetting" "Quality=600ColorCMYKFullBleed" " -r600 -sIjs&& +Params=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quali&& +ty:PenSet=2,Quality:FullBleed=1" + Attribute "FoomaticRIPOptionSetting" "Quality=600GrayscaleK" " -r600 -sIjsParam&& +s=Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:Pe&& +nSet=2" + Attribute "FoomaticRIPOptionSetting" "Quality=1200PhotoCMYK" " -r1200 -sIjsParams=&& +Quality:Quality=3,Quality:ColorMode=2,Quality:MediaType=2,Quality:PenS&& +et=2" + Attribute "FoomaticRIPOptionSetting" "Quality=1200PhotoCMYKFullBleed" " -r1200 -sI&& +jsParams=Quality:Quality=3,Quality:ColorMode=2,Quality:MediaType=2,Qua&& +lity:PenSet=2,Quality:FullBleed=1" + Group "General/General" + Option "PrintoutMode/Printout Mode" PickOne AnySetup 10.0 + Choice "Draft/Draft (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Draft" + Choice "Draft.Gray/Draft Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Draft.Gray" + *Choice "Normal/Normal (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Normal" + Choice "Normal.Gray/Normal Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=Normal.Gray" + Choice "High/High Quality (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=High" + Choice "High.Gray/High Quality Grayscale (auto-detect paper type)" "%% FoomaticRIPOptionSetting: PrintoutMode=High.Gray" + Choice "Photo/Photo (on photo paper)" "%% FoomaticRIPOptionSetting: PrintoutMode=Photo" + Option "InputSlot/Media Source" PickOne AnySetup 100.0 + *Choice "Default/Printer default" "%% FoomaticRIPOptionSetting: InputSlot=Default" + Choice "PhotoTray/Photo Tray" "%% FoomaticRIPOptionSetting: InputSlot=PhotoTray" + Choice "Upper/Upper Tray" "%% FoomaticRIPOptionSetting: InputSlot=Upper" + Choice "Lower/Lower Tray" "%% FoomaticRIPOptionSetting: InputSlot=Lower" + Choice "CDDVDTray/CD or DVD Tray" "%% FoomaticRIPOptionSetting: InputSlot=CDDVDTray" + Choice "Envelope/Envelope Feeder" "%% FoomaticRIPOptionSetting: InputSlot=Envelope" + Choice "LargeCapacity/Large Capacity Tray" "%% FoomaticRIPOptionSetting: InputSlot=LargeCapacity" + Choice "Manual/Manual Feeder" "%% FoomaticRIPOptionSetting: InputSlot=Manual" + Choice "MPTray/Multi Purpose Tray" "%% FoomaticRIPOptionSetting: InputSlot=MPTray" + Option "Duplex/Double-Sided Printing" PickOne AnySetup 120.0 + Choice "DuplexNoTumble/Long Edge (Standard)" "%% FoomaticRIPOptionSetting: Duplex=DuplexNoTumble" + Choice "DuplexTumble/Short Edge (Flip)" "%% FoomaticRIPOptionSetting: Duplex=DuplexTumble" + *Choice "None/Off" "%% FoomaticRIPOptionSetting: Duplex=None" + Option "DryTime/Additional Dry Time" PickOne AnySetup 120.0 + *Choice "Zero/Printer Default" "%% FoomaticRIPOptionSetting: DryTime=Zero" + Choice "Five/5 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Five" + Choice "Ten/10 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Ten" + Choice "Fifteen/15 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Fifteen" + Choice "Twenty/20 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Twenty" + Choice "TwentyFive/25 Seconds" "%% FoomaticRIPOptionSetting: DryTime=TwentyFive" + Choice "Thirty/30 Seconds" "%% FoomaticRIPOptionSetting: DryTime=Thirty" + Group "PrintoutMode/Printout Mode" + Option "Quality/Resolution, Quality, Ink Type, Media Type" PickOne AnySetup 100.0 + *Choice "FromPrintoutMode/Controlled by 'Printout Mode'" "%% FoomaticRIPOptionSetting: Quality=@PrintoutMode" + Choice "300ColorCMYK/300 dpi, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300ColorCMYK" + Choice "300ColorCMYKFullBleed/300 dpi, Color, Full Bleed, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300ColorCMYKFullBleed" + Choice "300DraftColorCMYK/300 dpi, Draft, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300DraftColorCMYK" + Choice "300DraftGrayscaleK/300 dpi, Draft, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300DraftGrayscaleK" + Choice "300FastDraftColorCMYK/300 dpi, FastDraft, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=300FastDraftColorCMYK" + Choice "300FastDraftGrayscaleK/300 dpi, FastDraft, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300FastDraftGrayscaleK" + Choice "300GrayscaleK/300 dpi, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=300GrayscaleK" + Choice "600ColorCMYK/600 dpi, Color, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=600ColorCMYK" + Choice "600ColorCMYKFullBleed/600 dpi, Color, Full Bleed, Black + Color Cartr." "%% FoomaticRIPOptionSetting: Quality=600ColorCMYKFullBleed" + Choice "600GrayscaleK/600 dpi, Grayscale, Black Cartr." "%% FoomaticRIPOptionSetting: Quality=600GrayscaleK" + Choice "1200PhotoCMYK/1200 dpi, Photo, Black + Color Cartr., Photo Paper" "%% FoomaticRIPOptionSetting: Quality=1200PhotoCMYK" + Choice "1200PhotoCMYKFullBleed/1200 dpi, Photo, Full Bleed, Black + Color Cartr., Photo Paper" "%% FoomaticRIPOptionSetting: Quality=1200PhotoCMYKFullBleed" + *CustomMedia "Letter/Letter" 612.00 792.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Letter" "%% FoomaticRIPOptionSetting: PageSize=Letter" + CustomMedia "A4/A4" 595.00 842.00 9.72 36.00 9.72 9.00 "%% FoomaticRIPOptionSetting: PageSize=A4" "%% FoomaticRIPOptionSetting: PageSize=A4" + CustomMedia "Photo/Photo or 4x6 inch index card" 288.00 432.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Photo" "%% FoomaticRIPOptionSetting: PageSize=Photo" + CustomMedia "Photo5x7/Photo or 5x7 inch index card" 360.00 504.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Photo5x7" "%% FoomaticRIPOptionSetting: PageSize=Photo5x7" + CustomMedia "PhotoTearOff/Photo with tear-off tab" 288.00 432.00 0.00 0.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=PhotoTearOff" "%% FoomaticRIPOptionSetting: PageSize=PhotoTearOff" + CustomMedia "3x5/3x5 inch index card" 216.00 360.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=3x5" "%% FoomaticRIPOptionSetting: PageSize=3x5" + CustomMedia "5x8/5x8 inch index card" 360.00 576.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=5x8" "%% FoomaticRIPOptionSetting: PageSize=5x8" + CustomMedia "A5/A5" 420.00 595.00 9.00 36.00 9.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=A5" "%% FoomaticRIPOptionSetting: PageSize=A5" + CustomMedia "A6/A6" 297.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=A6" "%% FoomaticRIPOptionSetting: PageSize=A6" + CustomMedia "A6TearOff/A6 with tear-off tab" 297.00 420.00 0.00 0.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=A6TearOff" "%% FoomaticRIPOptionSetting: PageSize=A6TearOff" + CustomMedia "B5JIS/B5 (JIS)" 516.00 729.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=B5JIS" "%% FoomaticRIPOptionSetting: PageSize=B5JIS" + CustomMedia "CDDVD80/CD or DVD 80 mm" 237.00 237.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=CDDVD80" "%% FoomaticRIPOptionSetting: PageSize=CDDVD80" + CustomMedia "CDDVD120/CD or DVD 120 mm" 360.00 360.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=CDDVD120" "%% FoomaticRIPOptionSetting: PageSize=CDDVD120" + CustomMedia "Env10/Envelope #10" 297.00 684.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Env10" "%% FoomaticRIPOptionSetting: PageSize=Env10" + CustomMedia "EnvC5/Envelope C5" 459.00 649.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=EnvC5" "%% FoomaticRIPOptionSetting: PageSize=EnvC5" + CustomMedia "EnvC6/Envelope C6" 323.00 459.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvC6" "%% FoomaticRIPOptionSetting: PageSize=EnvC6" + CustomMedia "EnvDL/Envelope DL" 312.00 624.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvDL" "%% FoomaticRIPOptionSetting: PageSize=EnvDL" + CustomMedia "EnvISOB5/Envelope B5" 499.00 709.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=EnvISOB5" "%% FoomaticRIPOptionSetting: PageSize=EnvISOB5" + CustomMedia "EnvMonarch/Envelope Monarch" 279.00 540.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=EnvMonarch" "%% FoomaticRIPOptionSetting: PageSize=EnvMonarch" + CustomMedia "Executive/Executive" 522.00 756.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Executive" "%% FoomaticRIPOptionSetting: PageSize=Executive" + CustomMedia "FLSA/American Foolscap" 612.00 936.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=FLSA" "%% FoomaticRIPOptionSetting: PageSize=FLSA" + CustomMedia "Hagaki/Hagaki" 283.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Hagaki" "%% FoomaticRIPOptionSetting: PageSize=Hagaki" + CustomMedia "Legal/Legal" 612.00 1008.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=Legal" "%% FoomaticRIPOptionSetting: PageSize=Legal" + CustomMedia "Oufuku/Oufuku-Hagaki" 567.00 420.00 0.00 36.00 0.00 0.00 "%% FoomaticRIPOptionSetting: PageSize=Oufuku" "%% FoomaticRIPOptionSetting: PageSize=Oufuku" + CustomMedia "w558h774/16K" 558.00 774.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w558h774" "%% FoomaticRIPOptionSetting: PageSize=w558h774" + CustomMedia "w612h935/Executive (JIS)" 612.00 935.00 18.00 36.00 18.00 9.00 "%% FoomaticRIPOptionSetting: PageSize=w612h935" "%% FoomaticRIPOptionSetting: PageSize=w612h935" + // <%CopperheadIPH:Normal%> +} // end CopperheadIPH ////////// Saipan @@ -7611,7 +8056,6 @@ // <%Saipan:Advanced%> } // end Saipan - ////////// Kapan { Attribute "DefaultResolution" "" "1200dpi" diff -Nru hplip-3.14.6/prnt/filters/hpps hplip-3.15.2/prnt/filters/hpps --- hplip-3.14.6/prnt/filters/hpps 2014-06-03 06:30:53.000000000 +0000 +++ hplip-3.15.2/prnt/filters/hpps 2015-01-29 12:20:42.000000000 +0000 @@ -27,7 +27,6 @@ # StdLib import sys import getopt -import ConfigParser import os.path import os import syslog @@ -35,6 +34,11 @@ import tempfile import subprocess import time +PY3 = sys.version_info[0] == 3 +if PY3: + import configparser +else: + import ConfigParser as configparser CUPS_FILTER_OK = 0 CUPS_FILTER_FAILED = 1 @@ -55,7 +59,7 @@ log.stderr("INFO: %s" % m) if os.path.exists(config_file): - config = ConfigParser.ConfigParser() + config = configparser.ConfigParser() config.read(config_file) try: @@ -82,7 +86,8 @@ from base import device from base import utils from prnt import cups -except ImportError, e: + from base.sixext import to_bytes_utf8, to_string_utf8 +except ImportError as e: bug("Error importing HPLIP modules:%s %s\n" % (pid, e)) sys.exit(CUPS_FILTER_FAILED) @@ -138,14 +143,14 @@ bug("Invalid command line: invalid arguments.") sys.exit(CUPS_FILTER_FAILED) -START_JOB = "\x1b%-12345X@PJL JOBNAME=" -UEL = "@PJL ENTER LANGUAGE=POSTSCRIPT\x0a" -END_JOB = "\x1b%-12345X@PJL EOJ\x0a\x1b%-12345X" +START_JOB = b"\x1b%-12345X@PJL JOBNAME=" +UEL = b"@PJL ENTER LANGUAGE=POSTSCRIPT\x0a" +END_JOB = b"\x1b%-12345X@PJL EOJ\x0a\x1b%-12345X" #output_fd = os.open("/tmp/PSC.out", os.O_WRONLY | os.O_CREAT) os.write(output_fd, START_JOB) -os.write(output_fd, "hplip_%s_%s\x0a" % (username, job_id)) +os.write(output_fd, to_bytes_utf8("hplip_%s_%s\x0a" % (username, job_id))) opts = {} for opt in options.split(): @@ -161,11 +166,11 @@ # Embeds private job PJL's into the print stream # ---------------------------------------------------------- -if 'HPPin' in options and 'noHPPinPrnt' not in options: +if 'HPPinPrnt' in options and 'noHPPinPrnt' not in options: - os.write(output_fd, "@PJL SET HOLD=ON\x0a") - os.write(output_fd, "@PJL SET HOLDTYPE=PRIVATE\x0a") + os.write(output_fd, b"@PJL SET HOLD=ON\x0a") + os.write(output_fd, b"@PJL SET HOLDTYPE=PRIVATE\x0a") secpin = "" szKeyInitials = ['HPFIDigit', 'HPSEDigit', 'HPTHDigit', 'HPFTDigit'] # Defined in Printer PPD @@ -175,18 +180,18 @@ except KeyError: secpin = secpin + '0' - os.write(output_fd, '@PJL SET HOLDKEY="%s"\x0a' % secpin) + os.write(output_fd, to_bytes_utf8('@PJL SET HOLDKEY="%s"\x0a' % secpin)) -os.write(output_fd, '@PJL SET USERNAME="%s"\x0a' % username) -os.write(output_fd, '@PJL SET JOBNAME="%s"\x0a' % title) -#os.write(output_fd, '@PJL SET COPIES="%s"\x0a' % copies) +os.write(output_fd, to_bytes_utf8('@PJL SET USERNAME="%s"\x0a' % username)) +os.write(output_fd, to_bytes_utf8('@PJL SET JOBNAME="%s"\x0a' % title)) +#os.write(output_fd, to_bytes_utf8('@PJL SET COPIES="%s"\x0a' % copies)) #----------------Job Accouting---------------------------- # Embeds the job accouting (1-8) PJL's into print stream # ----------------------------------------------------- try: - ppd_str = open(ppd_file).read() + ppd_str = to_string_utf8(open(ppd_file, 'rb').read()) except IOError: bug("Unabel to read PPD File") sys.exit(CUPS_FILTER_FAILED) @@ -204,14 +209,14 @@ if domain_name == '': domain_name = 'unknown_domain_name' - os.write(output_fd, '@PJL SET JOBATTR=\"JobAcct1=%s\"\x0a' % username) - os.write(output_fd, '@PJL SET JOBATTR=\"JobAcct2=%s\"\x0a' % system_name.rstrip('\n')) - os.write(output_fd, '@PJL SET JOBATTR=\"JobAcct3=%s\"\x0a' % domain_name.rstrip('\n')) - os.write(output_fd, '@PJL SET JOBATTR=\"JobAcct4=%s\"\x0a' % time.strftime("%Y%m%d%I%M%S", time.localtime())) - os.write(output_fd, '@PJL SET JOBATTR=\"JobAcct5=%s\"\x0a' % opts['job-uuid']) - os.write(output_fd, '@PJL SET JOBATTR=\"JobAcct6=%s\"\x0a' % "HP Linux Printing") - os.write(output_fd, '@PJL SET JOBATTR=\"JobAcct7=%s\"\x0a' % "HP Linux Printing") - os.write(output_fd, '@PJL SET JOBATTR=\"JobAcct8=%s\"\x0a' % username) + os.write(output_fd, to_bytes_utf8('@PJL SET JOBATTR=\"JobAcct1=%s\"\x0a' % username)) + os.write(output_fd, to_bytes_utf8('@PJL SET JOBATTR=\"JobAcct2=%s\"\x0a' % system_name.rstrip(b'\n'))) + os.write(output_fd, to_bytes_utf8('@PJL SET JOBATTR=\"JobAcct3=%s\"\x0a' % domain_name.rstrip(b'\n'))) + os.write(output_fd, to_bytes_utf8('@PJL SET JOBATTR=\"JobAcct4=%s\"\x0a' % time.strftime("%Y%m%d%I%M%S", time.localtime()))) + os.write(output_fd, to_bytes_utf8('@PJL SET JOBATTR=\"JobAcct5=%s\"\x0a' % opts['job-uuid'])) + os.write(output_fd, to_bytes_utf8('@PJL SET JOBATTR=\"JobAcct6=%s\"\x0a' % "HP Linux Printing")) + os.write(output_fd, to_bytes_utf8('@PJL SET JOBATTR=\"JobAcct7=%s\"\x0a' % "HP Linux Printing")) + os.write(output_fd, to_bytes_utf8('@PJL SET JOBATTR=\"JobAcct8=%s\"\x0a' % username)) # -------------------------Born On Date ---------------------------- # Embeds the born on date PJL's in to print stream. Uses GMT Time Stamp @@ -224,96 +229,96 @@ BOD_Var = '' for x in BOD_time: BOD_Var = BOD_Var + hex(ord(x))[2:] - os.write(output_fd, '@PJL DMINFO ASCIIHEX=\"%s%s\"\x0A' % (BOD_fixed, BOD_Var)) + os.write(output_fd, to_bytes_utf8('@PJL DMINFO ASCIIHEX=\"%s%s\"\x0A' % (BOD_fixed, BOD_Var))) # -------------------------Other Features ---------------------------- if 'HPPJLEconoMode' in key_list: - if 'HPPJLEconoMode' in options and 'noHPPJLEconoMode' not in options: - os.write(output_fd, "@PJL SET ECONOMODE=ON\x0a") - else: - os.write(output_fd, "@PJL SET ECONOMODE=OFF\x0a") - os.write(output_fd, "@PJL SET RESOLUTION=600\x0a") - os.write(output_fd, "@PJL SET BITSPERPIXEL=2\x0a") + if 'HPPJLEconoMode' in options and 'noHPPJLEconoMode' not in options: + os.write(output_fd, b"@PJL SET ECONOMODE=ON\x0a") + else: + os.write(output_fd, b"@PJL SET ECONOMODE=OFF\x0a") + os.write(output_fd, b"@PJL SET RESOLUTION=600\x0a") + os.write(output_fd, b"@PJL SET BITSPERPIXEL=2\x0a") if 'HPPJLPrintQuality' in key_list: try: if opts['HPPJLPrintQuality'] == 'FastRes1200': - os.write(output_fd, "@PJL SET RESOLUTION=600<0A>@PJL SET BITSPERPIXEL=2<0A>") + os.write(output_fd, b"@PJL SET RESOLUTION=600<0A>@PJL SET BITSPERPIXEL=2<0A>") elif opts['HPPJLPrintQuality'] == '600dpi': - os.write(output_fd, "@PJL SET RESOLUTION=600<0A>@PJL SET BITSPERPIXEL=1<0A>") + os.write(output_fd, b"@PJL SET RESOLUTION=600<0A>@PJL SET BITSPERPIXEL=1<0A>") elif opts['HPPJLPrintQuality'] == 'ProRes1200': - os.write(output_fd, "@PJL SET RESOLUTION=1200<0A>@PJL SET BITSPERPIXEL=1<0A>") + os.write(output_fd, b"@PJL SET RESOLUTION=1200<0A>@PJL SET BITSPERPIXEL=1<0A>") except: - os.write(output_fd, "@PJL SET RESOLUTION=600<0A>@PJL SET BITSPERPIXEL=2<0A>") + os.write(output_fd, b"@PJL SET RESOLUTION=600<0A>@PJL SET BITSPERPIXEL=2<0A>") if 'HPPJLOutputMode' in key_list: - try: - if opts['HPPJLOutputMode'] == 'GeneralOffice': - os.write(output_fd, '@PJL SET PRINTQUALITY=DRAFT\x0a') - elif opts['HPPJLOutputMode'] == 'Professional': - os.write(output_fd, '@PJL SET PRINTQUALITY=NORMAL\x0a') - elif opts['HPPJLOutputMode'] == 'Presentation': - os.write(output_fd, '@PJL SET PRINTQUALITY=BEST\x0a') - if opts['HPPJLOutputMode'] == 'MaximumDPI': - os.write(output_fd, '@PJL SET PRINTQUALITY=MAX\x0a') - except: - os.write(output_fd, '@PJL SET PRINTQUALITY=NORMAL\x0a') + try: + if opts['HPPJLOutputMode'] == 'GeneralOffice': + os.write(output_fd, b'@PJL SET PRINTQUALITY=DRAFT\x0a') + elif opts['HPPJLOutputMode'] == 'Professional': + os.write(output_fd, b'@PJL SET PRINTQUALITY=NORMAL\x0a') + elif opts['HPPJLOutputMode'] == 'Presentation': + os.write(output_fd, b'@PJL SET PRINTQUALITY=BEST\x0a') + if opts['HPPJLOutputMode'] == 'MaximumDPI': + os.write(output_fd, b'@PJL SET PRINTQUALITY=MAX\x0a') + except: + os.write(output_fd, b'@PJL SET PRINTQUALITY=NORMAL\x0a') if 'HPPJLDryTime' in key_list: - try: - if opts['HPPJLDryTime'] == '0': - os.write(output_fd, '@PJL SET DRYTIME=0\x0a') - elif opts['HPPJLDryTime'] == 'Medium': - os.write(output_fd, '@PJL SET DRYTIME=4\x0a') - if opts['HPPJLDryTime'] == 'Long': - os.write(output_fd, '@PJL SET DRYTIME=7\x0a') - except: - os.write(output_fd, '@PJL SET DRYTIME=0\x0a') + try: + if opts['HPPJLDryTime'] == '0': + os.write(output_fd, b'@PJL SET DRYTIME=0\x0a') + elif opts['HPPJLDryTime'] == 'Medium': + os.write(output_fd, b'@PJL SET DRYTIME=4\x0a') + if opts['HPPJLDryTime'] == 'Long': + os.write(output_fd, b'@PJL SET DRYTIME=7\x0a') + except: + os.write(output_fd, b'@PJL SET DRYTIME=0\x0a') if 'HPPJLSaturation' in key_list: - try: - if opts['HPPJLSaturation'] == '-2': - os.write(output_fd, '@PJL SET SATURATION=0\x0a') - elif opts['HPPJLSaturation'] == '-1': - os.write(output_fd, '@PJL SET SATURATION=2\x0a') - elif opts['HPPJLSaturation'] == '0': - os.write(output_fd, '@PJL SET SATURATION=4\x0a') - elif opts['HPPJLSaturation'] == '+1': - os.write(output_fd, '@PJL SET SATURATION=6\x0a') - if opts['HPPJLSaturation'] == '+2': - os.write(output_fd, '@PJL SET SATURATION=8\x0a') - except: - os.write(output_fd, '@PJL SET SATURATION=4\x0a') + try: + if opts['HPPJLSaturation'] == '-2': + os.write(output_fd, b'@PJL SET SATURATION=0\x0a') + elif opts['HPPJLSaturation'] == '-1': + os.write(output_fd, b'@PJL SET SATURATION=2\x0a') + elif opts['HPPJLSaturation'] == '0': + os.write(output_fd, b'@PJL SET SATURATION=4\x0a') + elif opts['HPPJLSaturation'] == '+1': + os.write(output_fd, b'@PJL SET SATURATION=6\x0a') + if opts['HPPJLSaturation'] == '+2': + os.write(output_fd, b'@PJL SET SATURATION=8\x0a') + except: + os.write(output_fd, b'@PJL SET SATURATION=4\x0a') if 'HPPJLInkBleed' in key_list: - try: - if opts['HPPJLInkBleed'] == '-2' or opts['HPPJLInkBleed'] == 'Default': - os.write(output_fd, '@PJL SET INKBLEED=0\x0a') - elif opts['HPPJLInkBleed'] == '-1': - os.write(output_fd, '@PJL SET INKBLEED=2\x0a') - elif opts['HPPJLInkBleed'] == '0' or opts['HPPJLInkBleed'] == 'Less': - os.write(output_fd, '@PJL SET INKBLEED=4\x0a') - elif opts['HPPJLInkBleed'] == '+1': - os.write(output_fd, '@PJL SET INKBLEED=6\x0a') - elif opts['HPPJLInkBleed'] == 'Least': - os.write(output_fd, '@PJL SET INKBLEED=7\x0a') - elif opts['HPPJLInkBleed'] == '+2': - os.write(output_fd, '@PJL SET INKBLEED=8\x0a') - except: - os.write(output_fd, '@PJL SET INKBLEED=4\x0a') + try: + if opts['HPPJLInkBleed'] == '-2' or opts['HPPJLInkBleed'] == 'Default': + os.write(output_fd, b'@PJL SET INKBLEED=0\x0a') + elif opts['HPPJLInkBleed'] == '-1': + os.write(output_fd, b'@PJL SET INKBLEED=2\x0a') + elif opts['HPPJLInkBleed'] == '0' or opts['HPPJLInkBleed'] == 'Less': + os.write(output_fd, b'@PJL SET INKBLEED=4\x0a') + elif opts['HPPJLInkBleed'] == '+1': + os.write(output_fd, b'@PJL SET INKBLEED=6\x0a') + elif opts['HPPJLInkBleed'] == 'Least': + os.write(output_fd, b'@PJL SET INKBLEED=7\x0a') + elif opts['HPPJLInkBleed'] == '+2': + os.write(output_fd, b'@PJL SET INKBLEED=8\x0a') + except: + os.write(output_fd, b'@PJL SET INKBLEED=4\x0a') if 'HPPJLColorAsGray' in key_list: - try: - if opts['HPPJLColorAsGray'] == 'Off': - os.write(output_fd, '@PJL SET GRAYSCALE=OFF\x0a') - elif opts['HPPJLColorAsGray'] == 'HighQuality': - os.write(output_fd, '@PJL SET GRAYSCALE=COMPOSITE\x0a') - elif opts['HPPJLColorAsGray'] == 'BlackInkOnly': - os.write(output_fd, '@PJL SET GRAYSCALE=BLACKONLY\x0a') - except: - os.write(output_fd, '@PJL SET GRAYSCALE=OFF\x0a') - + try: + if opts['HPPJLColorAsGray'] == 'Off': + os.write(output_fd, b'@PJL SET GRAYSCALE=OFF\x0a') + elif opts['HPPJLColorAsGray'] == 'HighQuality': + os.write(output_fd, b'@PJL SET GRAYSCALE=COMPOSITE\x0a') + elif opts['HPPJLColorAsGray'] == 'BlackInkOnly': + os.write(output_fd, b'@PJL SET GRAYSCALE=BLACKONLY\x0a') + except: + os.write(output_fd, b'@PJL SET GRAYSCALE=OFF\x0a') + os.write(output_fd, UEL) while True: diff -Nru hplip-3.14.6/prnt/hpcups/Encapsulator.cpp hplip-3.15.2/prnt/hpcups/Encapsulator.cpp --- hplip-3.14.6/prnt/hpcups/Encapsulator.cpp 2014-06-03 06:30:53.000000000 +0000 +++ hplip-3.15.2/prnt/hpcups/Encapsulator.cpp 2015-01-29 12:20:36.000000000 +0000 @@ -77,6 +77,8 @@ // Now add other header info + +#ifndef UNITTESTING if (jobAttrPJLAllowed()) { addToHeader("@PJL SET STRINGCODESET=UTF8\012"); @@ -104,6 +106,7 @@ addToHeader("@PJL SET USERNAME=\"%s\"\012", m_pJA->user_name); } +#endif // Add platform specific PJL here addJobSettings(); diff -Nru hplip-3.14.6/prnt/hpcups/HPCupsFilter.cpp hplip-3.15.2/prnt/hpcups/HPCupsFilter.cpp --- hplip-3.14.6/prnt/hpcups/HPCupsFilter.cpp 2014-06-03 06:30:53.000000000 +0000 +++ hplip-3.15.2/prnt/hpcups/HPCupsFilter.cpp 2015-01-29 12:20:36.000000000 +0000 @@ -41,6 +41,8 @@ static HPCupsFilter filter; + +#ifndef UNITTESTING int main (int argc, char *argv[]) { openlog("hpcups", LOG_PID, LOG_DAEMON); @@ -52,6 +54,7 @@ return filter.StartPrintJob(argc, argv); } +#endif void HPCancelJob(int sig) { @@ -220,12 +223,18 @@ { if (m_pPrinterBuffer) { delete [] m_pPrinterBuffer; + m_pPrinterBuffer = NULL; } if(m_ppd){ ppdClose(m_ppd); m_ppd = NULL; } + if (m_pSys) + { + delete m_pSys; + m_pSys = NULL; + } } void HPCupsFilter::CancelJob() @@ -427,7 +436,8 @@ } string strPrinterURI="" , strPrinterName= ""; - m_DBusComm.initDBusComm(DBUS_PATH,DBUS_INTERFACE, getenv("DEVICE_URI"), m_JA.printer_name); + if (getenv("DEVICE_URI")) + m_DBusComm.initDBusComm(DBUS_PATH,DBUS_INTERFACE, getenv("DEVICE_URI"), m_JA.printer_name); ptr = strstr(m_argv[5], "job-uuid"); if (ptr) { @@ -484,6 +494,11 @@ strncpy(m_JA.job_start_time, asctime(t), sizeof(m_JA.job_start_time)-1); // returns Fri Jun 5 08:12:16 2009 snprintf(m_JA.job_start_time+19, sizeof(m_JA.job_start_time) - 20, ":%ld %d", tv.tv_usec/1000, t->tm_year + 1900); // add milliseconds +#ifdef UNITTESTING + memset(m_JA.job_start_time,0,sizeof(m_JA.job_start_time)); + snprintf(m_JA.job_start_time, sizeof(m_JA.job_start_time),"Mon Dec 9 17:48:58:586 2013" ); +#endif + m_iLogLevel = getHPLogLevel(); m_JA.job_id = atoi(argv[1]); strncpy(m_JA.user_name,argv[2],sizeof(m_JA.user_name)-1); @@ -514,7 +529,7 @@ } } - m_pSys = new SystemServices(m_iLogLevel, m_JA.job_id, m_JA.user_name); + m_pSys = new SystemServices(m_iLogLevel, m_JA.job_id, m_JA.user_name); /* * When user cancels a print job, the spooler sends SIGTERM signal @@ -610,16 +625,18 @@ return JOB_CANCELED; } - if(m_JA.pre_process_raster) { - err = m_Job.preProcessRasterData(&cups_raster, &cups_header, hpPreProcessedRasterFile); - if (err != NO_ERROR) { - if (m_iLogLevel & BASIC_LOG) { - dbglog ("DEBUG: Job::StartPage failed with err = %d\n", err); - } - ret_status = JOB_CANCELED; - break; - } - } + if (m_JA.pre_process_raster) { + // CC ToDo: Why pSwapedPagesFileName should be sent as a parameter? + // Remove if not required to send it as parameter + err = m_Job.preProcessRasterData(&cups_raster, &cups_header, hpPreProcessedRasterFile); + if (err != NO_ERROR) { + if (m_iLogLevel & BASIC_LOG) { + dbglog ("DEBUG: Job::StartPage failed with err = %d\n", err); + } + ret_status = JOB_CANCELED; + break; + } + } if (cups_header.cupsColorSpace == CUPS_CSPACE_RGBW) { rgbRaster = new BYTE[cups_header.cupsWidth * 3]; @@ -701,7 +718,7 @@ if ((y == 0) && !is_ljmono) { //For ljmono, make sure that first line is not a blankRaster line.Otherwise printer //may not skip blank lines before actual data - //Need to revisit to crosscheck if it is a firmware issue. + //Need to revisit to cross check if it is a firmware issue. *m_pPrinterBuffer = 0x01; dbglog("First raster data plane..\n" ); @@ -869,5 +886,3 @@ dbglog ("DEBUG: cupsReal0 = %f\n", header->cupsReal[0]); // Left overspray dbglog ("DEBUG: cupsReal1 = %f\n", header->cupsReal[1]); // Top overspray } - - diff -Nru hplip-3.14.6/prnt/hpcups/HPCupsFilter.h hplip-3.15.2/prnt/hpcups/HPCupsFilter.h --- hplip-3.14.6/prnt/hpcups/HPCupsFilter.h 2014-06-03 06:30:53.000000000 +0000 +++ hplip-3.15.2/prnt/hpcups/HPCupsFilter.h 2015-01-29 12:20:36.000000000 +0000 @@ -96,7 +96,6 @@ DBusCommunicator m_DBusComm; private: - void closeFilter(); void cleanup(); //void getLogLevel(); @@ -119,6 +118,11 @@ BYTE *color_raster; BITMAPFILEHEADER bmfh; BITMAPINFOHEADER bmih; + +#ifdef UNITTESTING + friend class TestHPCupsFilter; +#endif + }; #endif // HP_CUPSFILTER_H diff -Nru hplip-3.14.6/prnt/hpcups/jdatadbf.c hplip-3.15.2/prnt/hpcups/jdatadbf.c --- hplip-3.14.6/prnt/hpcups/jdatadbf.c 2014-06-03 06:30:53.000000000 +0000 +++ hplip-3.15.2/prnt/hpcups/jdatadbf.c 2015-01-29 12:20:36.000000000 +0000 @@ -14,6 +14,10 @@ #include "jpeglib.h" #include "jerror.h" +//Define JMETHOD macro here if not defined already in jmorecfg.h. JMETHOD macro has been removed from libjpeg-turbo 1.3.90.2 +#ifndef JMETHOD +#define JMETHOD(type,methodname,arglist) type (*methodname) () +#endif /* Expanded data destination object for stdio output */ diff -Nru hplip-3.14.6/prnt/hpcups/SystemServices.cpp hplip-3.15.2/prnt/hpcups/SystemServices.cpp --- hplip-3.14.6/prnt/hpcups/SystemServices.cpp 2014-06-03 06:30:53.000000000 +0000 +++ hplip-3.15.2/prnt/hpcups/SystemServices.cpp 2015-01-29 12:20:36.000000000 +0000 @@ -39,7 +39,6 @@ { char fname[MAX_FILE_PATH_LEN]; sprintf(fname, "%s/hpcups_%s_out_job%d_XXXXXX",CUPS_TMP_DIR, user_name, job_id); - createTempFile(fname, &m_fp); if (m_fp) { diff -Nru hplip-3.14.6/prnt/hpijs/jdatadbf.c hplip-3.15.2/prnt/hpijs/jdatadbf.c --- hplip-3.14.6/prnt/hpijs/jdatadbf.c 2014-06-03 06:33:59.000000000 +0000 +++ hplip-3.15.2/prnt/hpijs/jdatadbf.c 2015-01-29 12:21:27.000000000 +0000 @@ -15,6 +15,10 @@ #include "jpeglib.h" #include "jerror.h" +//Define JMETHOD macro here if not defined already in jmorecfg.h. JMETHOD macro has been removed from libjpeg-turbo 1.3.90.2 +#ifndef JMETHOD +#define JMETHOD(type,methodname,arglist) type (*methodname) () +#endif /* Expanded data destination object for stdio output */ diff -Nru hplip-3.14.6/prnt/hpijs/jpegint.h hplip-3.15.2/prnt/hpijs/jpegint.h --- hplip-3.14.6/prnt/hpijs/jpegint.h 2014-06-03 06:33:59.000000000 +0000 +++ hplip-3.15.2/prnt/hpijs/jpegint.h 2015-01-29 12:21:27.000000000 +0000 @@ -10,6 +10,10 @@ * applications using the library shouldn't need to include this file. */ +//Define JMETHOD macro here if not defined already in jmorecfg.h. JMETHOD macro has been removed from libjpeg-turbo 1.3.90.2 +#ifndef JMETHOD +#define JMETHOD(type,methodname,arglist) type (*methodname) () +#endif /* Declarations for both compression & decompression */ diff -Nru hplip-3.14.6/prnt/pcl.py hplip-3.15.2/prnt/pcl.py --- hplip-3.14.6/prnt/pcl.py 2014-06-03 06:31:00.000000000 +0000 +++ hplip-3.15.2/prnt/pcl.py 2015-01-29 12:20:43.000000000 +0000 @@ -24,33 +24,32 @@ # Local from base import pml +from base.sixext import to_bytes_utf8 - -ESC = '\x1b' -RESET = '\x1bE' -UEL = '\x1b%-12345X' -PJL_ENTER_LANG = "@PJL ENTER LANGUAGE=PCL3GUI\n" -PJL_BEGIN_JOB = '@PJL JOB NAME="unnamed"\n' -PJL_END_JOB = '@PJL EOJ\n' +ESC = to_bytes_utf8('\x1b') +RESET = to_bytes_utf8('\x1bE') +UEL = to_bytes_utf8('\x1b%-12345X') +PJL_ENTER_LANG = to_bytes_utf8("@PJL ENTER LANGUAGE=PCL3GUI\n") +PJL_BEGIN_JOB = to_bytes_utf8('@PJL JOB NAME="unnamed"\n') +PJL_END_JOB = to_bytes_utf8('@PJL EOJ\n') def buildPCLCmd(punc, letter1, letter2, data=None, value=None): if data is None: - return ''.join([ESC, punc, letter1, str(value), letter2]) - - return ''.join([ESC, punc, letter1, str(len(data)), letter2, data]) + return to_bytes_utf8('').join([ESC, to_bytes_utf8(punc), to_bytes_utf8(letter1), to_bytes_utf8(str(value)), to_bytes_utf8(letter2)]) + return to_bytes_utf8('').join([ESC, to_bytes_utf8(punc), to_bytes_utf8(letter1), to_bytes_utf8(str(len(data))), to_bytes_utf8(letter2), data]) def buildEmbeddedPML(pml): - return ''.join([UEL, PJL_ENTER_LANG, RESET, pml, RESET, UEL]) + return to_bytes_utf8('').join([UEL, PJL_ENTER_LANG, RESET, pml, RESET, UEL]) def buildEmbeddedPML2(pml): - return ''.join([RESET, UEL, PJL_BEGIN_JOB, PJL_ENTER_LANG, RESET, pml, RESET, PJL_END_JOB, RESET, UEL]) + return to_bytes_utf8('').join([RESET, UEL, PJL_BEGIN_JOB, PJL_ENTER_LANG, RESET, pml, RESET, PJL_END_JOB, RESET, UEL]) def buildDynamicCounter(counter): #return ''.join([UEL, PJL_ENTER_LANG, ESC, '*o5W\xc0\x01', struct.pack(">I", counter)[1:], UEL]) - return ''.join([UEL, PJL_ENTER_LANG, ESC, '*o5W\xc0\x01', struct.pack(">I", counter)[1:], PJL_END_JOB, UEL]) + return to_bytes_utf8('').join([UEL, PJL_ENTER_LANG, ESC, b'*o5W\xc0\x01', struct.pack(">I", counter)[1:], PJL_END_JOB, UEL]) -def buildRP(a, b, c, d, e): - return ''.join(['\x00'*600, RESET, UEL, PJL_ENTER_LANG, buildPCLCmd('&', 'b', 'W', pml.buildEmbeddedPMLSetPacket('1.1.1.36', a + b + c + d + e, pml.TYPE_STRING)), RESET, UEL]) +def buildRP(a, f, c, d, e): + return to_bytes_utf8('').join([b'\x00'*600, RESET, UEL, PJL_ENTER_LANG, buildPCLCmd('&', 'b', 'W', pml.buildEmbeddedPMLSetPacket('1.1.1.36', a + f + c + d + e, pml.TYPE_STRING)), RESET, UEL]) Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-business_inkjet_2250-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-business_inkjet_2250-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-business_inkjet_2280-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-business_inkjet_2280-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-business_inkjet_2300-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-business_inkjet_2300-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-business_inkjet_2600-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-business_inkjet_2600-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-business_inkjet_2800-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-business_inkjet_2800-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-business_inkjet_3000-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-business_inkjet_3000-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-cm8050_mfp_with_edgeline-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-cm8050_mfp_with_edgeline-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-cm8060_mfp_with_edgeline-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-cm8060_mfp_with_edgeline-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_2500-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_2500-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_2500_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_2500_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_2550_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_2550_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_2605dn-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_2605dn-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_2605dtn-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_2605dtn-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_2605-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_2605-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_2700n-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_2700n-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_2700-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_2700-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_2800-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_2800-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_2820-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_2820-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_2830-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_2830-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_2840-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_2840-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_3000-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_3000-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_3700n-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_3700n-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_3700-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_3700-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_3800-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_3800-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_4500-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_4500-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_4550-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_4550-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_4600-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_4600-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_4600_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_4600_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_4610-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_4610-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_4650-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_4650-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_4700-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_4700-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_4730mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_4730mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_5500-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_5500-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_5550-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_5550-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_5m-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_5m-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_8500-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_8500-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_8550-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_8550-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_9500_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_9500_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_9500-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_9500-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cm1015-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cm1015-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cm1017-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cm1017-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cm1312_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cm1312_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cm1312nfi_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cm1312nfi_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cm2320fxi_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cm2320fxi_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cm2320_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cm2320_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cm2320nf_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cm2320nf_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cm2320n_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cm2320n_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cm3530_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cm3530_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cm4540_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cm4540_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cm4730_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cm4730_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cm6030_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cm6030_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cm6040_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cm6040_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cm6049_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cm6049_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp1514n-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp1514n-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp1515n-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp1515n-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp1518ni-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp1518ni-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp2025dn-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp2025dn-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp2025n-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp2025n-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp2025-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp2025-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp2025x-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp2025x-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp3505-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp3505-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp3525-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp3525-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp4005-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp4005-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp4020_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp4020_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp4520_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp4520_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp5225dn-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp5225dn-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp5225n-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp5225n-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp5225-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp5225-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp5520_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp5520_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_cp6015-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_cp6015-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_flow_mfp_m680-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_flow_mfp_m680-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_flow_mfp_m880-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_flow_mfp_m880-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_m651-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_m651-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_m750-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_m750-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_m855-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_m855-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_mfp_m680-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_mfp_m680-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet_pro_mfp_m476-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet_pro_mfp_m476-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-color_laserjet-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-color_laserjet-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_4000ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_4000ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_4020ps-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_4020ps-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_4500mfp.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_4500mfp.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_4500ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_4500ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_4520mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_4520mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_4520ps-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_4520ps-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_d5800-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_d5800-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t1100ps_24in-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t1100ps_24in-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t1100ps_44in-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t1100ps_44in-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t1120ps_24in-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t1120ps_24in-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t1120ps_44in-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t1120ps_44in-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t1200_postscript-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t1200_postscript-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t1300_postscript-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t1300_postscript-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t1500-postscript.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t1500-postscript.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t2300_postscript-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t2300_postscript-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t2500-postscript.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t2500-postscript.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t3500-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t3500-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t7100ps_monochrome-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t7100ps_monochrome-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t7100ps-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t7100ps-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t7200-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t7200-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t770_postscript-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t770_postscript-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t770ps_24in-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t770ps_24in-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t790ps_24in-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t790ps_24in-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t790ps_44in-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t790ps_44in-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t795ps_44in-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t795ps_44in-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_t920-postscript.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_t920-postscript.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_z5200_postscript-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_z5200_postscript-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_z5400-postscript.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_z5400-postscript.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_z6100ps_42in_photo-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_z6100ps_42in_photo-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_z6100ps_60in_photo-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_z6100ps_60in_photo-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_z6200_42in_photo-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_z6200_42in_photo-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_z6200_60in_photo-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_z6200_60in_photo-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_z6600-postscript.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_z6600-postscript.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-designjet_z6800_photo-postscript.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-designjet_z6800_photo-postscript.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_100_color_mfp_m175-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_100_color_mfp_m175-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_1200n-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_1200n-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_1200-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_1200-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_1220-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_1220-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_1220se-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_1220se-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_1300n-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_1300n-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_1300-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_1300-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_1300xi-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_1300xi-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_1320n-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_1320n-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_1320nw-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_1320nw-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_1320-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_1320-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_1320_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_1320_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_1320tn-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_1320tn-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_200_color_m251-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_200_color_m251-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_200_colormfp_m275-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_200_colormfp_m275-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_200_colormfp_m276-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_200_colormfp_m276-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_2100-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_2100-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_2100_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_2100_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_2200-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_2200-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_2200_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_2200_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_2300-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_2300-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_2300_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_2300_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_2410-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_2410-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_2420-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_2420-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_2430-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_2430-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_3015-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_3015-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_3020-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_3020-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_3030-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_3030-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_3050-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_3050-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_3052-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_3052-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_3200m-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_3200m-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_3300_3310_3320-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_3300_3310_3320-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_3380-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_3380-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_3390-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_3390-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_4000_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_4000_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_400_m401dne-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_400_m401dne-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_400_m401-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_400_m401-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_400_mfp_m425-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_400_mfp_m425-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_4050_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_4050_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_4100_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_4100_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_4100_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_4100_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_4200-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_4200-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_4240-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_4240-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_4250-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_4250-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_4300-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_4300-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_4345_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_4345_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_4350-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_4350-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_4ml-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_4ml-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_4mp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_4mp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_4_plus-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_4_plus-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_4-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_4-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_4si-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_4si-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_4v-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_4v-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_5000-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_5000-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_5000_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_5000_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_500_color_m551-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_500_color_m551-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_500_color_mfp_m570-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_500_color_mfp_m570-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_500_color_mfp_m575-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_500_color_mfp_m575-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_500_mfp_m525-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_500_mfp_m525-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_5100_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_5100_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_5200l-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_5200l-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_5200lx-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_5200lx-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_5200-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_5200-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_5mp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_5mp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_5p-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_5p-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_5si_mopier-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_5si_mopier-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_5si-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_5si-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_600_m601_m602_m603-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_600_m601_m602_m603-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_6mp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_6mp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_6p-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_6p-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_700_color_mfp_m775-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_700_color_mfp_m775-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_700_m712-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_700_m712-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_8000-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_8000-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_8000_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_8000_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_8100_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_8100_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_8100_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_8100_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_8150_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_8150_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_9000_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_9000_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_9000_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_9000_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_9040_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_9040_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_9040-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_9040-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_9050_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_9050_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_9050-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_9050-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_9055mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_9055mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_9065mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_9065mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_cm1410_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_cm1410_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_color_flow_mfp_m575-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_color_flow_mfp_m575-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_cp1520_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_cp1520_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_flow_mfp_m525-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_flow_mfp_m525-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_flow_mfp_m630-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_flow_mfp_m630-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_flow_mfp_m830-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_flow_mfp_m830-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_m1522_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_m1522_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_m1522nf_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_m1522nf_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_m1522n_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_m1522n_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_m1530_mfp_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_m1530_mfp_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_m2727_mfp_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_m2727_mfp_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_m3027_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_m3027_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_m3035_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_m3035_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_m4345_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_m4345_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_m4349_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_m4349_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_m4555_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_m4555_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_m5025_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_m5025_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_m5035_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_m5035_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_m806-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_m806-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_m9040_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_m9040_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_m9050_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_m9050_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_m9059_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_m9059_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_mfp_m521-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_mfp_m521-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_mfp_m630-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_mfp_m630-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_mfp_m725-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_mfp_m725-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_p2015_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_p2015_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_p2055_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_p2055_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_p3004-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_p3004-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_p3005-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_p3005-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_p3010_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_p3010_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_p4010_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_p4010_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_pro_m201_m202-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_pro_m201_m202-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_pro_m701-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_pro_m701-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_pro_m706-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_pro_m706-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_pro_mfp_m225_m226-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_pro_mfp_m225_m226-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-laserjet_pro_mfp_m435-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-laserjet_pro_mfp_m435-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-lj_300_400_color_m351_m451-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-lj_300_400_color_m351_m451-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-lj_300_400_color_mfp_m375_m475-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-lj_300_400_color_mfp_m375_m475-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-mopier_240-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-mopier_240-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-mopier_320-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-mopier_320-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-officejet_color_mfp_x585.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-officejet_color_mfp_x585.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-officejet_color_x555-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-officejet_color_x555-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-officejet_pro_251dw_printer-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-officejet_pro_251dw_printer-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-officejet_pro_276dw_mfp-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-officejet_pro_276dw_mfp-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-officejet_pro_451_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-officejet_pro_451_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-officejet_pro_476_576_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-officejet_pro_476_576_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-officejet_pro_551_series-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-officejet_pro_551_series-ps.ppd.gz differ Binary files /tmp/O_xzQ13NsR/hplip-3.14.6/prnt/ps/hp-officejet_pro_8000_enterprise_a811a-ps.ppd.gz and /tmp/WGR2RxFPCH/hplip-3.15.2/prnt/ps/hp-officejet_pro_8000_enterprise_a811a-ps.ppd.gz differ diff -Nru hplip-3.14.6/query.py hplip-3.15.2/query.py --- hplip-3.14.6/query.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/query.py 2015-01-29 12:20:49.000000000 +0000 @@ -19,7 +19,7 @@ # # Author: Don Welch # - +from __future__ import print_function __version__ = '0.2' __title__ = 'Model Query Utility' __mod__ = 'hp-query' @@ -131,7 +131,7 @@ output = '' if all_keys: - kk = data.keys() + kk = list(data.keys()) kk.sort() for k in kk: if not output: @@ -153,9 +153,9 @@ sys.exit(1) if suppress_trailing_linefeed: - print output, + print(output, end=' ') else: - print output + print(output) except KeyboardInterrupt: diff -Nru hplip-3.14.6/scan/sane/bb_ledm.c hplip-3.15.2/scan/sane/bb_ledm.c --- hplip-3.14.6/scan/sane/bb_ledm.c 2014-06-03 06:32:17.000000000 +0000 +++ hplip-3.15.2/scan/sane/bb_ledm.c 2015-01-29 12:20:21.000000000 +0000 @@ -813,10 +813,12 @@ if(http_open(ps->dd, HPMUD_S_LEDM_SCAN, &pbb->http_handle) != HTTP_R_OK) { + _BUG("unable to open channel HPMUD_S_LEDM_SCAN \n"); + return -1; } if (http_write(pbb->http_handle, GET_SCANNER_STATUS, sizeof(GET_SCANNER_STATUS)-1, 10) != HTTP_R_OK) { - //goto bugout; + _BUG("unable to get scanner status \n"); } read_http_payload(ps, buf, sizeof(buf), EXCEPTION_TIMEOUT, &bytes_read); @@ -853,12 +855,14 @@ { if(http_open(ps->dd, HPMUD_S_LEDM_SCAN, &pbb->http_handle) != HTTP_R_OK) { - // goto bugout; + _BUG("unable to open channel HPMUD_S_LEDM_SCAN \n"); + goto bugout; } if (http_write(pbb->http_handle, GET_SCANNER_STATUS, sizeof(GET_SCANNER_STATUS)-1, timeout) != HTTP_R_OK) { - //goto bugout; + _BUG("unable to GET_SCANNER_STATUS \n"); + goto bugout; } read_http_payload(ps, buf, sizeof(buf), timeout, &bytes_read); @@ -874,6 +878,8 @@ if(http_open(ps->dd, HPMUD_S_LEDM_SCAN, &pbb->http_handle) != HTTP_R_OK) { + _BUG("unable to open channel HPMUD_S_LEDM_SCAN \n"); + goto bugout; } len = snprintf(buf, sizeof(buf), CREATE_SCAN_JOB_REQUEST, @@ -962,6 +968,8 @@ if(http_open(ps->dd, HPMUD_S_LEDM_SCAN, &pbb->http_handle) != HTTP_R_OK) { + _BUG("unable to open channel HPMUD_S_LEDM_SCAN \n"); + goto bugout; } while(strstr(buf, READY_TO_UPLOAD) == NULL) { @@ -970,8 +978,8 @@ if (http_write(pbb->http_handle, buf, strlen(buf), 1) != HTTP_R_OK) { - //goto bugout; - break ; + //goto bugout; + break ; } if (read_http_payload (ps, buf, sizeof(buf), 5, &len) != HTTP_R_OK) { @@ -983,19 +991,19 @@ if (NULL == strstr(buf,PRESCANPAGE)) { //i.e Paper is not present in Scanner stat = SANE_STATUS_NO_DOCS; - goto bugout; + goto bugout; } if (strstr(buf,JOBSTATE_CANCELED) || strstr(buf, CANCELED_BY_DEVICE) || strstr(buf, CANCELED_BY_CLIENT)) { - //_DBG("bb_start_scan() SCAN CANCELLED\n"); - stat = SANE_STATUS_GOOD; - ps->user_cancel = 1; - goto bugout; + _DBG("bb_start_scan() SCAN CANCELLED\n"); + stat = SANE_STATUS_GOOD; + ps->user_cancel = 1; + goto bugout; } if (strstr(buf, JOBSTATE_COMPLETED)) { - stat = SANE_STATUS_GOOD; - goto bugout; + stat = SANE_STATUS_GOOD; + goto bugout; } usleep(500000);//0.5 sec delay }//end while() diff -Nru hplip-3.14.6/scan/sane/hpaio.desc hplip-3.15.2/scan/sane/hpaio.desc --- hplip-3.14.6/scan/sane/hpaio.desc 2014-06-03 06:34:04.000000000 +0000 +++ hplip-3.15.2/scan/sane/hpaio.desc 2015-01-29 12:21:32.000000000 +0000 @@ -10,280 +10,325 @@ :devicetype :scanner ; start of a list of devices.... :mfg "Hewlett-Packard" ; name a manufacturer :url "http://www.hp.com/united-states/consumer/gateway/printing_multifunction.html" -:model "HP Photosmart All-in-one Printer - b010" +:model "HP 915 Inkjet All-in-one Printer" :status :good -:model "HP Officejet v30 All-in-one Printer" +:model "HP cm8050 Color Multifunction Printer With Edgeline Technology" :status :good -:model "HP Officejet v40xi All-in-one Printer" +:model "HP cm8060 Color Multifunction Printer With Edgeline Technology" :status :good -:model "HP Officejet v40s All-in-one Printer" +:model "HP Color LaserJet 2800 All-in-one Printer" :status :good -:model "HP Officejet r40 All-in-one Printer" +:model "HP Color LaserJet 2820 All-in-one Printer" :status :good -:model "HP Officejet v40 All-in-one Printer" +:model "HP Color LaserJet 2830 All-in-one Printer" :status :good -:model "HP Officejet r40xi All-in-one Printer" +:model "HP Color LaserJet 2840 All-in-one Printer" :status :good -:model "HP Officejet t45xi All-in-one Printer" +:model "HP Color LaserJet 4730 Multifunction Printer" :status :good -:model "HP Officejet r45 All-in-one Printer" +:model "HP Color LaserJet 4730x Multifunction Printer" :status :good -:model "HP Officejet v45 All-in-one Printer" +:model "HP Color LaserJet 4730xm Multifunction Printer" :status :good -:model "HP Officejet t45 All-in-one Printer" +:model "HP Color LaserJet 4730xs Multifunction Printer" :status :good -:model "HP Officejet g55 All-in-one Printer" +:model "HP Color LaserJet 9500 Multifunction Printer" :status :good -:model "HP Officejet g55xi All-in-one Printer" +:model "HP Color LaserJet cm1015 Multifunction Printer" :status :good -:model "HP Officejet k60 All-in-one Printer" +:model "HP Color LaserJet cm1017 Multifunction Printer" :status :good -:model "HP Officejet r60 All-in-one Printer" +:model "HP Color LaserJet cm1312 Multifunction Printer" :status :good -:model "HP Officejet k60xi All-in-one Printer" +:model "HP Color LaserJet cm1312nfi Multifunction Printer" :status :good -:model "HP Officejet t65xi All-in-one Printer" +:model "HP Color LaserJet cm2320 Multifuntion Printer" :status :good -:model "HP Officejet t65 All-in-one Printer" +:model "HP Color LaserJet cm2320fxi Multifunction Printer" :status :good -:model "HP Officejet r65 All-in-one Printer" +:model "HP Color LaserJet cm2320n Multifunction Printer" :status :good -:model "HP Officejet k80 All-in-one Printer" +:model "HP Color LaserJet cm2320nf Multifunction Printer" :status :good -:model "HP Officejet k80xi All-in-one Printer" +:model "HP Color LaserJet cm4730 Multifunction Printer" :status :good -:model "HP Officejet r80xi All-in-one Printer" +:model "HP Color LaserJet cm4730f Multifunction Printer" :status :good -:model "HP Officejet r80 All-in-one Printer" +:model "HP Color LaserJet cm4730fm Multifunction Printer" :status :good -:model "HP Officejet g85 All-in-one Printer" +:model "HP Color LaserJet cm4730fsk Multifunction Printer" :status :good -:model "HP Officejet g85xi All-in-one Printer" +:model "HP Color LaserJet Pro MFP m476dn" :status :good -:model "HP Officejet g95 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m476dw" :status :good -:model "HP LaserJet 100 Color MFP m175" +:model "HP Color LaserJet Pro MFP m476nw" :status :good -:model "HP Envy 100 d410 Series" +:model "HP Color LaserJet Pro Mpf m176n" :status :good -:model "HP Photosmart All-in-one Printer - b109d" +:model "HP Color LaserJet Pro Mpf m177fw" :status :good -:model "HP Photosmart All-in-one Printer - b109e" +:model "HP Designjet 4500mfp" :status :good -:model "HP Photosmart All-in-one Printer - b109c" +:model "HP Designjet 4520mfp" :status :good -:model "HP Photosmart All-in-one Printer - b109a" +:model "HP Deskjet 1050 j410 All-in-one Printer" :status :good -:model "HP Photosmart Wireless All-in-one Printer - b109q" +:model "HP Deskjet 1051 All-in-one Printer" :status :good -:model "HP Photosmart Wireless All-in-one Printer - b109n" +:model "HP Deskjet 1055 All-in-one Printer -j410e" :status :good -:model "HP Photosmart Wireless All-in-one Printer - b109q=r" +:model "HP Deskjet 1056 All-in-one Printer -j410a" :status :good -:model "HP Photosmart Wireless All-in-one Printer - b110" +:model "HP Deskjet 1510 All-in-one Printer" :status :good -:model "HP Envy 110 E-all-in-one" +:model "HP Deskjet 1511 All-in-one Printer" :status :good -:model "HP Photosmart d110 Series Printer" +:model "HP Deskjet 1512 All-in-one Printer" :status :good -:model "HP Envy 111 E-all-in-one" +:model "HP Deskjet 1513 All-in-one Printer" :status :good -:model "HP Envy 114 E-all-in-one" +:model "HP Deskjet 1514 All-in-one Printer" :status :good -:model "HP Envy 120 E-all-in-one" +:model "HP Deskjet 2050 j510 All-in-one Printer" :status :good -:model "HP Envy 121 E-all-in-one" +:model "HP Deskjet 2510 All-in-one Printer" :status :good -:model "HP LaserJet Pro MFP m125rnw" +:model "HP Deskjet 2511 All-in-one Printer" :status :good -:model "HP LaserJet Pro MFP m125nw" +:model "HP Deskjet 2512 All-in-one Printer" :status :good -:model "HP LaserJet Pro MFP m125a" +:model "HP Deskjet 2514 All-in-one Printer" :status :good -:model "HP Officejet d125xi All-in-one Printer" +:model "HP Deskjet 2540 All-in-one Printer" :status :good -:model "HP LaserJet Pro MFP m126nw" +:model "HP Deskjet 2541 All-in-one Printer" :status :good -:model "HP LaserJet Pro MFP m126a" +:model "HP Deskjet 2542 All-in-one Printer" :status :good -:model "HP LaserJet Pro MFP m127fn" +:model "HP Deskjet 2543 All-in-one Printer" :status :good -:model "HP LaserJet Pro MFP m127fp" +:model "HP Deskjet 2544 All-in-one Printer" :status :good -:model "HP LaserJet Pro MFP m127fw" +:model "HP Deskjet 2549 All-in-one Printer" :status :good -:model "HP LaserJet Pro MFP m128fp" +:model "HP Deskjet 3050 j610 Series" :status :good -:model "HP LaserJet Pro MFP m128fw" +:model "HP Deskjet 3050a j611 Series" :status :good -:model "HP LaserJet Pro MFP m128fn" +:model "HP Deskjet 3051a E-all-in-one Printer j611h" :status :good -:model "HP Officejet d135 All-in-one Printer" +:model "HP Deskjet 3052a E-all-in-one Printer j611e" :status :good -:model "HP Officejet d135xi All-in-one Printer" +:model "HP Deskjet 3052a E-all-in-one Printer j611f" :status :good -:model "HP Officejet d145xi All-in-one Printer" +:model "HP Deskjet 3052a E-all-in-one Printer j611g" :status :good -:model "HP Officejet d145 All-in-one Printer" +:model "HP Deskjet 3054a E-all-in-one Printer j611c" :status :good -:model "HP Officejet 150 Mobile All-in-one" +:model "HP Deskjet 3054a E-all-in-one Printer j611d" :status :good -:model "HP Officejet d155xi All-in-one Printer" +:model "HP Deskjet 3054a E-all-in-one Printer j611j" :status :good -:model "HP Color LaserJet Pro Mpf m176n" +:model "HP Deskjet 3055a E-all-in-one Printer j611n" :status :good -:model "HP Color LaserJet Pro Mpf m177fw" +:model "HP Deskjet 3056a E-all-in-one Printer" :status :good -:model "HP LaserJet Pro 200 Color MFP m276n" +:model "HP Deskjet 3057a E-all-in-one Printer j611n" :status :good -:model "HP LaserJet 200 Color MFP m275nw" +:model "HP Deskjet 3059a E-all-in-one Printer j611n" :status :good -:model "HP LaserJet 200 Color MFP m275s" +:model "HP Deskjet 3070 b611 Series" :status :good -:model "HP LaserJet 200 Color MFP m275t" +:model "HP Deskjet 3510 E-all-in-one" :status :good -:model "HP LaserJet 200 Color MFP m275u" +:model "HP Deskjet 3511 E-all-in-one" :status :good -:model "HP LaserJet Pro 200 Color MFP m276nw" +:model "HP Deskjet 3512 E-all-in-one" :status :good -:model "HP LaserJet 200 Colormfp m276j" +:model "HP Deskjet 3520 E-all-in-one Series" :status :good -:model "HP LaserJet 200 Colormfp m276b" +:model "HP Deskjet 3521 E-all-in-one Printer" :status :good -:model "HP LaserJet 200 Colormfp m276e" +:model "HP Deskjet 3522 E-all-in-one Printer" :status :good -:model "HP LaserJet 200 Colormfp m276g" +:model "HP Deskjet 3524 E-all-in-one Printer" :status :good -:model "HP LaserJet 200 Colormfp m276k" +:model "HP Deskjet 3526 E-all-in-one Printer" :status :good -:model "HP LaserJet 200 Colormfp m276p" +:model "HP Deskjet f2110 All-in-one Printer" :status :good -:model "HP LaserJet 200 Colormfp m276q" +:model "HP Deskjet f2120 All-in-one Printer" :status :good -:model "HP LaserJet 200 Colormfp m276r" +:model "HP Deskjet f2128 All-in-one Printer" :status :good -:model "HP LaserJet 200 Colormfp m276u" +:model "HP Deskjet f2140 All-in-one Printer" :status :good -:model "HP LaserJet 200 Colormfp m276v" +:model "HP Deskjet f2179 All-in-one Printer" :status :good -:model "HP Photosmart Plus All-in-one Printer - b209b" +:model "HP Deskjet f2180 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage k209a All-in-one Printer" +:model "HP Deskjet f2185 All-in-one Printer" :status :good -:model "HP Photosmart Plus All-in-one Printer - b209a" +:model "HP Deskjet f2187 All-in-one Printer" :status :good -:model "HP Photosmart Plus All-in-one Printer - b209c" +:model "HP Deskjet f2188 All-in-one Printer" :status :good -:model "HP Photosmart Plus b210 Series" +:model "HP Deskjet f2210 All-in-one Printer" :status :good -:model "HP Officejet Pro 276dw Multifunction Printer" +:model "HP Deskjet f2212 All-in-one Printer" :status :good -:model "HP Printer Scanner Copier 300" +:model "HP Deskjet f2214 All-in-one Printer" :status :good -:model "HP LaserJet 300 Color MFP m375nw" +:model "HP Deskjet f2224 All-in-one Printer" :status :good -:model "HP Photosmart Premium All-in-one Printer Series - c309h" +:model "HP Deskjet f2235 All-in-one Printer" :status :good -:model "HP Photosmart Premium All-in-one Printer Series - c309g" +:model "HP Deskjet f2238 All-in-one Printer" :status :good -:model "HP Photosmart Premium Fax All-in-one Printer - c309a" +:model "HP Deskjet f2240 All-in-one Printer" :status :good -:model "HP Photosmart Premium Fax All-in-one Printer Series -c309c" +:model "HP Deskjet f2250 All-in-one Printer" :status :good -:model "HP Photosmart Premium Fax All-in-one Printer Series -c309a" +:model "HP Deskjet f2275 All-in-one Printer" :status :good -:model "HP Photosmart Prem c310 Series" +:model "HP Deskjet f2276 All-in-one Printer" +:status :good + +:model "HP Deskjet f2280 All-in-one Printer" +:status :good + +:model "HP Deskjet f2288 All-in-one Printer" +:status :good + +:model "HP Deskjet f2290 All-in-one Printer" +:status :good + +:model "HP Deskjet f2410 All-in-one Printer" +:status :good + +:model "HP Deskjet f2418 All-in-one Printer" +:status :good + +:model "HP Deskjet f2420 All-in-one Printer" +:status :good + +:model "HP Deskjet f2423 All-in-one Printer" +:status :good + +:model "HP Deskjet f2430 All-in-one Printer" +:status :good + +:model "HP Deskjet f2440 All-in-one Printer" +:status :good + +:model "HP Deskjet f2476 All-in-one Printer" +:status :good + +:model "HP Deskjet f2480 All-in-one Printer" +:status :good + +:model "HP Deskjet f2483 All-in-one Printer" +:status :good + +:model "HP Deskjet f2488 All-in-one Printer" +:status :good + +:model "HP Deskjet f2492 All-in-one Printer" +:status :good + +:model "HP Deskjet f2493 All-in-one Printer" :status :good :model "HP Deskjet f310 All-in-one Printer" @@ -328,1171 +373,1246 @@ :model "HP Deskjet f394 All-in-one Printer" :status :good -:model "HP LaserJet 400 MFP m425dw" +:model "HP Deskjet f4135 All-in-one Printer" :status :good -:model "HP LaserJet 400 MFP m425dn" +:model "HP Deskjet f4140 All-in-one Printer" :status :good -:model "HP LaserJet 400 Color MFP m475dw" +:model "HP Deskjet f4150 All-in-one Printer" :status :good -:model "HP LaserJet 400 Color MFP m475dn" +:model "HP Deskjet f4172 All-in-one Printer" :status :good -:model "HP Photosmart Prem c410 Series" +:model "HP Deskjet f4175 All-in-one Printer" :status :good -:model "HP LaserJet Pro MFP m435nw" +:model "HP Deskjet f4180 All-in-one Printer" :status :good -:model "HP Officejet Pro x476dn Multifunction Printer" +:model "HP Deskjet f4185 All-in-one Printer" :status :good -:model "HP Color LaserJet Pro MFP m476nw" +:model "HP Deskjet f4188 All-in-one Printer" :status :good -:model "HP Officejet Pro x476 Multifunction Printer Series" +:model "HP Deskjet f4190 All-in-one Printer" :status :good -:model "HP Officejet Pro x476dw Multifunction Printer" +:model "HP Deskjet f4194 All-in-one Printer" :status :good -:model "HP Color LaserJet Pro MFP m476dn" +:model "HP Deskjet f4210 All-in-one Printer" :status :good -:model "HP Color LaserJet Pro MFP m476dw" +:model "HP Deskjet f4213 All-in-one Printer" :status :good -:model "HP PSC 500xi All-in-one Printer" +:model "HP Deskjet f4224 All-in-one Printer" :status :good -:model "HP LaserJet Pro 500 Color MFP m570dw" +:model "HP Deskjet f4230 All-in-one Printer" :status :good -:model "HP LaserJet Pro 500 Color MFP m570dn" +:model "HP Deskjet f4235 All-in-one Printer" :status :good -:model "HP PSC 500 All-in-one Printer" +:model "HP Deskjet f4238 All-in-one Printer" :status :good -:model "HP Photosmart Estn c510 Series" +:model "HP Deskjet f4240 All-in-one Printer" :status :good -:model "HP Photosmart Ink Adv k510" +:model "HP Deskjet f4250 All-in-one Printer" :status :good -:model "HP Officejet 520 All-in-one Printer" +:model "HP Deskjet f4272 All-in-one Printer" :status :good -:model "HP LaserJet Pro m521dw Multifunction Printer" +:model "HP Deskjet f4273 All-in-one Printer" :status :good -:model "HP LaserJet Pro m521dn Multifunction Printer" +:model "HP Deskjet f4274 All-in-one Printer" :status :good -:model "HP Officejet 570 All-in-one Printer" +:model "HP Deskjet f4275 All-in-one Printer" :status :good -:model "HP Officejet Pro x576dw Multifunction Printer" +:model "HP Deskjet f4280 All-in-one" :status :good -:model "HP Officejet Pro x576 Multifunction Printer Series" +:model "HP Deskjet f4280 All-in-one Printer" :status :good -:model "HP Officejet 580 All-in-one Printer" +:model "HP Deskjet f4283 All-in-one Printer" :status :good -:model "HP Officejet 590 All-in-one Printer" +:model "HP Deskjet f4288 All-in-one Printer" :status :good -:model "HP Officejet 600 All-in-one Printer" +:model "HP Deskjet f4292 All-in-one Printer" :status :good -:model "HP Officejet 610 All-in-one Printer" +:model "HP Deskjet f4293 All-in-one Printer" :status :good -:model "HP Officejet 630 All-in-one Printer" +:model "HP Deskjet f4294 All-in-one Printer" :status :good -:model "HP Officejet 635 All-in-one Printer" +:model "HP Deskjet f4435 All-in-one Printer" :status :good -:model "HP Officejet 700 All-in-one Printer" +:model "HP Deskjet f4440 All-in-one Printer" :status :good -:model "HP Officejet 710 All-in-one Printer" +:model "HP Deskjet f4450 All-in-one Printer" :status :good -:model "HP PSC 720 All-in-one Printer" +:model "HP Deskjet f4470 All-in-one Printer" :status :good -:model "HP Officejet 720 All-in-one Printer" +:model "HP Deskjet f4472 All-in-one Printer" :status :good -:model "HP Officejet 725 All-in-one Printer" +:model "HP Deskjet f4473 All-in-one Printer" +:status :good + +:model "HP Deskjet f4480 All-in-one Printer" +:status :good + +:model "HP Deskjet f4483 All-in-one Printer" +:status :good + +:model "HP Deskjet f4488 All-in-one Printer" +:status :good + +:model "HP Deskjet f4492 All-in-one Printer" +:status :good + +:model "HP Deskjet f4500 All-in-one Printer Series" :status :good :model "HP Deskjet f735 All-in-one Printer" :status :good -:model "HP PSC 750 All-in-one Printer" +:model "HP Deskjet Ink Adv 2060 k110" :status :good -:model "HP PSC 750xi All-in-one Printer" +:model "HP Deskjet Ink Advantage 1510 All-in-one Printer Series" :status :good -:model "HP PSC 760 All-in-one Printer" +:model "HP Deskjet Ink Advantage 1515 All-in-one Printer" :status :good -:model "HP PSC 780 All-in-one Printer" +:model "HP Deskjet Ink Advantage 1516 All-in-one Printer" :status :good -:model "HP PSC 780xi All-in-one Printer" +:model "HP Deskjet Ink Advantage 1518 All-in-one Printer" :status :good -:model "HP PSC 900 All-in-one Printer" +:model "HP Deskjet Ink Advantage 2510 All-in-one" :status :good -:model "HP 915 Inkjet All-in-one Printer" +:model "HP Deskjet Ink Advantage 2515 All-in-one Printer" :status :good -:model "HP PSC 920 All-in-one Printer" +:model "HP Deskjet Ink Advantage 2516 All-in-one Printer" :status :good -:model "HP PSC 950 All-in-one Printer" +:model "HP Deskjet Ink Advantage 2520hc All-in-one" :status :good -:model "HP PSC 950vr All-in-one Printer" +:model "HP Deskjet Ink Advantage 2540 All-in-one Printer Series" :status :good -:model "HP PSC 950xi All-in-one Printer" +:model "HP Deskjet Ink Advantage 2545 All-in-one Printer" :status :good -:model "HP LaserJet m1005 Multifunction Printer" +:model "HP Deskjet Ink Advantage 2546 All-in-one Printer" :status :good -:model "HP Color LaserJet cm1015 Multifunction Printer" +:model "HP Deskjet Ink Advantage 2548 All-in-one Printer" :status :good -:model "HP Color LaserJet cm1017 Multifunction Printer" +:model "HP Deskjet Ink Advantage 2645 All-in-one Printer" :status :good -:model "HP Deskjet 1050 j410 All-in-one Printer" +:model "HP Deskjet Ink Advantage 2646 All-in-one Printer" :status :good -:model "HP Deskjet 1051 All-in-one Printer" +:model "HP Deskjet Ink Advantage 3515 E-all-in-one" :status :good -:model "HP Deskjet 1055 All-in-one Printer -j410e" +:model "HP Deskjet Ink Advantage 3516 E-all-in-one" :status :good -:model "HP Deskjet 1056 All-in-one Printer -j410a" +:model "HP Deskjet Ink Advantage 3525 E-all-in-one" :status :good -:model "HP LaserJet 1100a Xi All-in-one Printer" +:model "HP Deskjet Ink Advantage 3540 E-all-in-one Printer Series" :status :good -:model "HP LaserJet 1100xi Printer" +:model "HP Deskjet Ink Advantage 3545 E-all-in-one Printer" :status :good -:model "HP LaserJet 1100a All-in-one Printer" +:model "HP Deskjet Ink Advantage 3546 E-all-in-one Printer" :status :good -:model "HP LaserJet 1100 Printer" +:model "HP Deskjet Ink Advantage 4515 E-all-in-one Printer" :status :good -:model "HP LaserJet 1100a Se All-in-one Printer" +:model "HP Deskjet Ink Advantage 4518 E-all-in-one Printer" :status :good -:model "HP LaserJet 1100se Printer" +:model "HP Deskjet Ink Advantage 4610 All-in-one Printer Series" :status :good -:model "HP PSC 1110v All-in-one Printer" +:model "HP Deskjet Ink Advantage 4615 All-in-one Printer" :status :good -:model "HP PSC 1110 All-in-one Printer" +:model "HP Deskjet Ink Advantage 4620 E-all-in-one Printer" :status :good -:model "HP PSC 1118 All-in-one Printer" +:model "HP Deskjet Ink Advantage 4625 E-all-in-one Printer" :status :good -:model "HP LaserJet m1120 Multifunction Printer" +:model "HP Deskjet Ink Advantage 4640 E-all-in-one Printer Series" :status :good -:model "HP LaserJet m1120n Multifunction Printer" +:model "HP Deskjet Ink Advantage 4645 E-all-in-one Printer" :status :good -:model "HP LaserJet Professional m1132s Multifunction Printer" +:model "HP Deskjet Ink Advantage 4646 E-all-in-one Printer" :status :good -:model "HP LaserJet Professional m1132 Multifunction Printer" +:model "HP Deskjet Ink Advantage 4648 E-all-in-one Printer" :status :good -:model "HP LaserJet Professional m1136 Multifunction Printer" +:model "HP Deskjet Ink Advantage 5525 E-all-in-one" :status :good -:model "HP LaserJet Professional m1137 Multifunction Printer" +:model "HP Deskjet Ink Advantage 6525 E-all-in-one" :status :good -:model "HP LaserJet Professional m1138 Multifunction Printer" +:model "HP Deskjet Ink Advantage k209a All-in-one Printer" :status :good -:model "HP LaserJet Professional m1139 Multifunction Printer" +:model "HP Envy 100 d410 Series" :status :good -:model "HP Officejet Pro 1150c All-in-one Printer" +:model "HP Envy 110 E-all-in-one" :status :good -:model "HP Officejet Pro 1150cse All-in-one Printer" +:model "HP Envy 111 E-all-in-one" :status :good -:model "HP Officejet Pro 1170cse All-in-one Printer" +:model "HP Envy 114 E-all-in-one" :status :good -:model "HP Officejet Pro 1170c All-in-one Printer" +:model "HP Envy 120 E-all-in-one" :status :good -:model "HP Officejet Pro 1170cxi All-in-one Printer" +:model "HP Envy 121 E-all-in-one" :status :good -:model "HP Officejet Pro 1175cxi All-in-one Printer" +:model "HP Envy 4500 E-all-in-one" :status :good -:model "HP Officejet Pro 1175cse All-in-one Printer" +:model "HP Envy 4501 E-all-in-one" :status :good -:model "HP Officejet Pro 1175c All-in-one Printer" +:model "HP Envy 4502 E-all-in-one" :status :good -:model "HP PSC 1200 All-in-one Printer" +:model "HP Envy 4503 E-all-in-one" :status :good -:model "HP PSC 1205 All-in-one Printer" +:model "HP Envy 4504 E-all-in-one" :status :good -:model "HP PSC 1209 All-in-one Printer" +:model "HP Envy 4505 E-all-in-one" :status :good -:model "HP PSC 1210xi All-in-one Printer" +:model "HP Envy 4507 E-all-in-one" +:status :good + +:model "HP Envy 4508 E-all-in-one" +:status :good + +:model "HP Envy 5530 E-all-in-one Printer" +:status :good + +:model "HP Envy 5531 E-all-in-one Printer" +:status :good + +:model "HP Envy 5532 E-all-in-one Printer" +:status :good + +:model "HP Envy 5534 E-all-in-one Printer" +:status :good + +:model "HP Envy 5535 E-all-in-one Printer" +:status :good + +:model "HP Envy 5640 E-all-in-one" +:status :good + +:model "HP Envy 5642 E-all-in-one" +:status :good + +:model "HP Envy 5643 E-all-in-one" +:status :good + +:model "HP Envy 5644 E-all-in-one" +:status :good + +:model "HP Envy 5660 E-all-in-one" +:status :good + +:model "HP Envy 5665 E-all-in-one" +:status :good + +:model "HP Envy 7640 E-all-in-one" +:status :good + +:model "HP Envy 7645 E-all-in-one" +:status :good + +:model "HP Hotspot LaserJet Pro m1218nfs MFP" +:status :good + +:model "HP LaserJet 100 Color MFP m175" +:status :good + +:model "HP LaserJet 1100 Printer" +:status :good + +:model "HP LaserJet 1100a All-in-one Printer" +:status :good + +:model "HP LaserJet 1100a Se All-in-one Printer" +:status :good + +:model "HP LaserJet 1100a Xi All-in-one Printer" :status :good -:model "HP PSC 1210v All-in-one Printer" +:model "HP LaserJet 1100se Printer" :status :good -:model "HP LaserJet m1210 MFP Series" +:model "HP LaserJet 1100xi Printer" :status :good -:model "HP PSC 1210 All-in-one Printer" +:model "HP LaserJet 1220 All-in-one Printer" :status :good -:model "HP LaserJet Professional m1212nf Multifunction Printer" +:model "HP LaserJet 1220se All-in-one Printer" :status :good -:model "HP LaserJet Professional m1213nf Multifunction Printer" +:model "HP LaserJet 200 Color MFP m275nw" :status :good -:model "HP PSC 1213 All-in-one Printer" +:model "HP LaserJet 200 Color MFP m275s" :status :good -:model "HP LaserJet Professional m1214nfh Multifunction Printer" +:model "HP LaserJet 200 Color MFP m275t" :status :good -:model "HP PSC 1215 All-in-one Printer" +:model "HP LaserJet 200 Color MFP m275u" :status :good -:model "HP PSC 1216 All-in-one Printer" +:model "HP LaserJet 200 Colormfp m276b" :status :good -:model "HP LaserJet Professional m1216nfh MFP" +:model "HP LaserJet 200 Colormfp m276e" :status :good -:model "HP PSC 1217 All-in-one Printer" +:model "HP LaserJet 200 Colormfp m276g" :status :good -:model "HP LaserJet Professional m1217nfw Multifunction Printer" +:model "HP LaserJet 200 Colormfp m276j" :status :good -:model "HP PSC 1218 All-in-one Printer" +:model "HP LaserJet 200 Colormfp m276k" :status :good -:model "HP Hotspot LaserJet Pro m1218nfs MFP" +:model "HP LaserJet 200 Colormfp m276p" :status :good -:model "HP LaserJet Professional m1219nfs MFP" +:model "HP LaserJet 200 Colormfp m276q" :status :good -:model "HP LaserJet Professional m1219nf MFP" +:model "HP LaserJet 200 Colormfp m276r" :status :good -:model "HP LaserJet Professional m1219nfg MFP" +:model "HP LaserJet 200 Colormfp m276u" :status :good -:model "HP PSC 1219 All-in-one Printer" +:model "HP LaserJet 200 Colormfp m276v" :status :good -:model "HP LaserJet 1220 All-in-one Printer" +:model "HP LaserJet 300 Color MFP m375nw" :status :good -:model "HP LaserJet 1220se All-in-one Printer" +:model "HP LaserJet 3015 All-in-one Printer" :status :good -:model "HP PSC 1300 All-in-one Printer" +:model "HP LaserJet 3020 All-in-one Printer" :status :good -:model "HP PSC 1310 All-in-one Printer" +:model "HP LaserJet 3030 All-in-one Printer" :status :good -:model "HP PSC 1311 All-in-one Printer" +:model "HP LaserJet 3050 All-in-one Printer" :status :good -:model "HP Color LaserJet cm1312nfi Multifunction Printer" +:model "HP LaserJet 3050z All-in-one Printer" :status :good -:model "HP Color LaserJet cm1312 Multifunction Printer" +:model "HP LaserJet 3052 All-in-one Printer" :status :good -:model "HP PSC 1312 All-in-one Printer" +:model "HP LaserJet 3055 All-in-one Printer" :status :good -:model "HP PSC 1315v All-in-one Printer" +:model "HP LaserJet 3100 All-in-one Printer" :status :good -:model "HP PSC 1315s All-in-one Printer" +:model "HP LaserJet 3100se All-in-one Printer" :status :good -:model "HP PSC 1315xi All-in-one Printer" +:model "HP LaserJet 3100xi All-in-one Printer" :status :good -:model "HP PSC 1315 All-in-one Printer" +:model "HP LaserJet 3150 All-in-one Printer" :status :good -:model "HP PSC 1317 All-in-one Printer" +:model "HP LaserJet 3150se All-in-one Printer" :status :good -:model "HP PSC 1318 All-in-one Printer" +:model "HP LaserJet 3150xi All-in-one Printer" :status :good -:model "HP LaserJet m1319f Multifunction Printer" +:model "HP LaserJet 3200 All-in-one Printer" :status :good -:model "HP PSC 1340 All-in-one Printer" +:model "HP LaserJet 3200m All-in-one Printer" :status :good -:model "HP PSC 1345 All-in-one Printer" +:model "HP LaserJet 3300 Multifunction Printer" :status :good -:model "HP PSC 1350xi All-in-one Printer" +:model "HP LaserJet 3310 Digital Printer Copier" :status :good -:model "HP PSC 1350v All-in-one Printer" +:model "HP LaserJet 3320 Multifunction Printer" :status :good -:model "HP PSC 1350 All-in-one Printer" +:model "HP LaserJet 3320n Multifunction Printer" :status :good -:model "HP PSC 1355 All-in-one Printer" +:model "HP LaserJet 3330 Multifunction Printer" :status :good -:model "HP PSC 1401 All-in-one Printer" +:model "HP LaserJet 3380 All-in-one Printer" :status :good -:model "HP PSC 1402 All-in-one Printer" +:model "HP LaserJet 3390 All-in-one Printer" :status :good -:model "HP PSC 1403 All-in-one Printer" +:model "HP LaserJet 3392 All-in-one Printer" :status :good -:model "HP PSC 1406 All-in-one Printer" +:model "HP LaserJet 400 Color MFP m475dn" :status :good -:model "HP PSC 1408 All-in-one Printer" +:model "HP LaserJet 400 Color MFP m475dw" :status :good -:model "HP PSC 1410 All-in-one Printer" +:model "HP LaserJet 400 MFP m425dn" :status :good -:model "HP PSC 1410v All-in-one Printer" +:model "HP LaserJet 400 MFP m425dw" :status :good -:model "HP PSC 1410xi All-in-one Printer" +:model "HP LaserJet 4100 Multifunction Printer" :status :good -:model "HP LaserJet Professional cm1411fn" +:model "HP LaserJet 4101 Multifunction Printer" :status :good -:model "HP LaserJet Professional cm1412fn" +:model "HP LaserJet 4345 Multifunction Printer" :status :good -:model "HP LaserJet Professional cm1413fn" +:model "HP LaserJet 4345x Multifunction Printer" :status :good -:model "HP PSC 1415 All-in-one Printer" +:model "HP LaserJet 4345xm Multifunction Printer" :status :good -:model "HP LaserJet Professional cm1415fnw" +:model "HP LaserJet 4345xs Multifunction Printer" :status :good -:model "HP LaserJet Professional cm1415fn" +:model "HP LaserJet 8100 Multifunction Printer" :status :good -:model "HP LaserJet Professional cm1416fnw" +:model "HP LaserJet 8150 Multifunction Printer" :status :good -:model "HP LaserJet Professional cm1417fnw" +:model "HP LaserJet 9000 Multifunction Printer" :status :good -:model "HP PSC 1417 All-in-one Printer" +:model "HP LaserJet 9000l Multifunction Printer" :status :good -:model "HP LaserJet Professional cm1418fnw" +:model "HP LaserJet 9040 Multifunction Printer" :status :good -:model "HP PSC 1503 All-in-one Printer" +:model "HP LaserJet 9050 Multifunction Printer" :status :good -:model "HP PSC 1504 All-in-one Printer" +:model "HP LaserJet 9055 Multifunction Printer" :status :good -:model "HP PSC 1507 All-in-one Printer" +:model "HP LaserJet 9065 Multifunction Printer" :status :good -:model "HP PSC 1508 All-in-one Printer" +:model "HP LaserJet Enterprise Flow MFP m630z" :status :good -:model "HP PSC 1510s All-in-one Printer" +:model "HP LaserJet Enterprise MFP m630dn" :status :good -:model "HP PSC 1510xi All-in-one Printer" +:model "HP LaserJet Enterprise MFP m630f" :status :good -:model "HP PSC 1510 All-in-one Printer" +:model "HP LaserJet Enterprise MFP m630h" :status :good -:model "HP PSC 1510v All-in-one Printer" +:model "HP LaserJet m1005 Multifunction Printer" :status :good -:model "HP Deskjet 1510 All-in-one Printer" +:model "HP LaserJet m1120 Multifunction Printer" :status :good -:model "HP Deskjet Ink Advantage 1510 All-in-one Printer Series" +:model "HP LaserJet m1120n Multifunction Printer" :status :good -:model "HP Deskjet 1511 All-in-one Printer" +:model "HP LaserJet m1210 MFP Series" :status :good -:model "HP Deskjet 1512 All-in-one Printer" +:model "HP LaserJet m1319f Multifunction Printer" :status :good -:model "HP Deskjet 1513 All-in-one Printer" +:model "HP LaserJet m1522 Multifunction Printer" :status :good -:model "HP PSC 1513s All-in-one Printer" +:model "HP LaserJet m1522n Multifunction Printer" :status :good -:model "HP PSC 1513 All-in-one Printer" +:model "HP LaserJet m1522nf Multifunction Printer" :status :good -:model "HP Deskjet 1514 All-in-one Printer" +:model "HP LaserJet m1536dnf MFP" :status :good -:model "HP PSC 1514 All-in-one Printer" +:model "HP LaserJet m1537dnf MFP" :status :good -:model "HP Deskjet Ink Advantage 1515 All-in-one Printer" +:model "HP LaserJet m1538dnf MFP" :status :good -:model "HP Deskjet Ink Advantage 1516 All-in-one Printer" +:model "HP LaserJet m1539dnf MFP" :status :good -:model "HP Deskjet Ink Advantage 1518 All-in-one Printer" +:model "HP LaserJet m2727 Multifunction Printer" :status :good -:model "HP LaserJet m1522n Multifunction Printer" +:model "HP LaserJet m2727nf Multifunction Printer" :status :good -:model "HP LaserJet m1522nf Multifunction Printer" +:model "HP LaserJet m2727nfs Multifunction Printer" :status :good -:model "HP LaserJet m1522 Multifunction Printer" +:model "HP LaserJet m3035 Multifunction Printer" :status :good -:model "HP LaserJet m1536dnf MFP" +:model "HP LaserJet m3035xs Multifunction Printer" :status :good -:model "HP LaserJet m1537dnf MFP" +:model "HP LaserJet m4345 Multifunction Printer" :status :good -:model "HP LaserJet m1538dnf MFP" +:model "HP LaserJet m4345x Multifunction Printer" :status :good -:model "HP LaserJet m1539dnf MFP" +:model "HP LaserJet m4345xm Multifunction Printer" :status :good -:model "HP PSC 1600 All-in-one Printer" +:model "HP LaserJet m4345xs Multifunction Printer" :status :good -:model "HP PSC 1603 All-in-one Printer" +:model "HP LaserJet m4349 MFP" :status :good -:model "HP PSC 1605 All-in-one Printer" +:model "HP LaserJet m4555 MFP" :status :good -:model "HP PSC 1608 All-in-one Printer" +:model "HP LaserJet m5035 Multifunction Printer" :status :good -:model "HP PSC 1610 All-in-one Printer" +:model "HP LaserJet m5035x Multifunction Printer" :status :good -:model "HP PSC 1610xi All-in-one Printer" +:model "HP LaserJet m5035xs Multifunction Printer" :status :good -:model "HP PSC 1610v All-in-one Printer" +:model "HP LaserJet m5039 Multifunction Printer" :status :good -:model "HP PSC 1613 All-in-one Printer" +:model "HP LaserJet Pro 200 Color MFP m276n" :status :good -:model "HP PSC 1615 All-in-one Printer" +:model "HP LaserJet Pro 200 Color MFP m276nw" :status :good -:model "HP Deskjet 2050 j510 All-in-one Printer" +:model "HP LaserJet Pro 500 Color MFP m570dn" :status :good -:model "HP Deskjet Ink Adv 2060 k110" +:model "HP LaserJet Pro 500 Color MFP m570dw" :status :good -:model "HP PSC 2105 All-in-one Printer" +:model "HP LaserJet Pro m521dn Multifunction Printer" :status :good -:model "HP PSC 2108 All-in-one Printer" +:model "HP LaserJet Pro m521dw Multifunction Printer" :status :good -:model "HP Deskjet f2110 All-in-one Printer" +:model "HP LaserJet Pro MFP m125a" :status :good -:model "HP PSC 2110 All-in-one Printer" +:model "HP LaserJet Pro MFP m125nw" :status :good -:model "HP PSC 2110v All-in-one Printer" +:model "HP LaserJet Pro MFP m125r" :status :good -:model "HP PSC 2110xi All-in-one Printer" +:model "HP LaserJet Pro MFP m125ra" :status :good -:model "HP PSC 2115 All-in-one Printer" +:model "HP LaserJet Pro MFP m125rnw" :status :good -:model "HP Deskjet f2120 All-in-one Printer" +:model "HP LaserJet Pro MFP m126a" :status :good -:model "HP Deskjet f2128 All-in-one Printer" +:model "HP LaserJet Pro MFP m126nw" :status :good -:model "HP Deskjet f2140 All-in-one Printer" +:model "HP LaserJet Pro MFP m127fn" :status :good -:model "HP PSC 2150 All-in-one Printer" +:model "HP LaserJet Pro MFP m127fp" :status :good -:model "HP PSC 2170 All-in-one Printer" +:model "HP LaserJet Pro MFP m127fw" :status :good -:model "HP PSC 2171 All-in-one Printer" +:model "HP LaserJet Pro MFP m128fn" :status :good -:model "HP PSC 2175 All-in-one Printer" +:model "HP LaserJet Pro MFP m128fp" :status :good -:model "HP PSC 2175v All-in-one Printer" +:model "HP LaserJet Pro MFP m128fw" :status :good -:model "HP PSC 2175xi All-in-one Printer" +:model "HP LaserJet Pro MFP m225dn" :status :good -:model "HP Deskjet f2179 All-in-one Printer" +:model "HP LaserJet Pro MFP m225dw" :status :good -:model "HP PSC 2179 All-in-one Printer" +:model "HP LaserJet Pro MFP m225rdn" :status :good -:model "HP Deskjet f2180 All-in-one Printer" +:model "HP LaserJet Pro MFP m226dn" :status :good -:model "HP Deskjet f2185 All-in-one Printer" +:model "HP LaserJet Pro MFP m226dw" :status :good -:model "HP Deskjet f2187 All-in-one Printer" +:model "HP LaserJet Pro MFP m435nw" :status :good -:model "HP Deskjet f2188 All-in-one Printer" +:model "HP LaserJet Professional cm1411fn" :status :good -:model "HP PSC 2200 All-in-one Printer" +:model "HP LaserJet Professional cm1412fn" :status :good -:model "HP PSC 2210 All-in-one Printer" +:model "HP LaserJet Professional cm1413fn" :status :good -:model "HP PSC 2210v All-in-one Printer" +:model "HP LaserJet Professional cm1415fn" :status :good -:model "HP PSC 2210xi All-in-one Printer" +:model "HP LaserJet Professional cm1415fnw" :status :good -:model "HP Deskjet f2210 All-in-one Printer" +:model "HP LaserJet Professional cm1416fnw" :status :good -:model "HP Deskjet f2212 All-in-one Printer" +:model "HP LaserJet Professional cm1417fnw" :status :good -:model "HP Deskjet f2214 All-in-one Printer" +:model "HP LaserJet Professional cm1418fnw" :status :good -:model "HP Deskjet f2224 All-in-one Printer" +:model "HP LaserJet Professional m1132 Multifunction Printer" :status :good -:model "HP Deskjet f2235 All-in-one Printer" +:model "HP LaserJet Professional m1132s Multifunction Printer" :status :good -:model "HP Deskjet f2238 All-in-one Printer" +:model "HP LaserJet Professional m1136 Multifunction Printer" :status :good -:model "HP Deskjet f2240 All-in-one Printer" +:model "HP LaserJet Professional m1137 Multifunction Printer" :status :good -:model "HP Deskjet f2250 All-in-one Printer" +:model "HP LaserJet Professional m1138 Multifunction Printer" :status :good -:model "HP Deskjet f2275 All-in-one Printer" +:model "HP LaserJet Professional m1139 Multifunction Printer" :status :good -:model "HP Deskjet f2276 All-in-one Printer" +:model "HP LaserJet Professional m1212nf Multifunction Printer" :status :good -:model "HP Deskjet f2280 All-in-one Printer" +:model "HP LaserJet Professional m1213nf Multifunction Printer" :status :good -:model "HP Deskjet f2288 All-in-one Printer" +:model "HP LaserJet Professional m1214nfh Multifunction Printer" :status :good -:model "HP Deskjet f2290 All-in-one Printer" +:model "HP LaserJet Professional m1216nfh MFP" :status :good -:model "HP PSC 2300 Series All-in-one Printer" +:model "HP LaserJet Professional m1217nfw Multifunction Printer" :status :good -:model "HP PSC 2310 All-in-one Printer" +:model "HP LaserJet Professional m1219nf MFP" :status :good -:model "HP Color LaserJet cm2320nf Multifunction Printer" +:model "HP LaserJet Professional m1219nfg MFP" :status :good -:model "HP Color LaserJet cm2320n Multifunction Printer" +:model "HP LaserJet Professional m1219nfs MFP" :status :good -:model "HP Color LaserJet cm2320fxi Multifunction Printer" +:model "HP Officejet 150 Mobile All-in-one" :status :good -:model "HP Color LaserJet cm2320 Multifuntion Printer" +:model "HP Officejet 2620 All-in-one" :status :good -:model "HP PSC 2350 All-in-one Printer" +:model "HP Officejet 2621 All-in-one" :status :good -:model "HP PSC 2352 All-in-one Printer" +:model "HP Officejet 2622 All-in-one" :status :good -:model "HP PSC 2353 All-in-one Printer" +:model "HP Officejet 4100 Series All-in-one Printer" :status :good -:model "HP PSC 2353p All-in-one Printer" +:model "HP Officejet 4105 All-in-one Printer" :status :good -:model "HP PSC 2355 All-in-one Printer" +:model "HP Officejet 4110 All-in-one Printer" :status :good -:model "HP PSC 2355p All-in-one Printer" +:model "HP Officejet 4110v All-in-one Printer" :status :good -:model "HP PSC 2355xi All-in-one Printer" +:model "HP Officejet 4110xi All-in-one Printer" :status :good -:model "HP PSC 2355v All-in-one Printer" +:model "HP Officejet 4115 All-in-one Printer" :status :good -:model "HP PSC 2357 All-in-one Printer" +:model "HP Officejet 4200 All-in-one Printer" :status :good -:model "HP PSC 2358 All-in-one Printer" +:model "HP Officejet 4211 All-in-one Printer" :status :good -:model "HP PSC 2405 Photosmart All-in-one Printer" +:model "HP Officejet 4212 All-in-one Printer" :status :good -:model "HP PSC 2410v Photosmart All-in-one Printer" +:model "HP Officejet 4215 All-in-one Printer" :status :good -:model "HP PSC 2410xi Photosmart All-in-one Printer" +:model "HP Officejet 4215v All-in-one Printer" :status :good -:model "HP Deskjet f2410 All-in-one Printer" +:model "HP Officejet 4215xi All-in-one Printer" :status :good -:model "HP PSC 2410 Photosmart All-in-one Printer" +:model "HP Officejet 4219 All-in-one Printer" :status :good -:model "HP Deskjet f2418 All-in-one Printer" +:model "HP Officejet 4251 All-in-one Printer" :status :good -:model "HP Deskjet f2420 All-in-one Printer" +:model "HP Officejet 4252 All-in-one Printer" :status :good -:model "HP PSC 2420 Photosmart All-in-one Printer" +:model "HP Officejet 4255 All-in-one Printer" :status :good -:model "HP Deskjet f2423 All-in-one Printer" +:model "HP Officejet 4256 All-in-one Printer" :status :good -:model "HP Deskjet f2430 All-in-one Printer" +:model "HP Officejet 4259 All-in-one Printer" :status :good -:model "HP Deskjet f2440 All-in-one Printer" +:model "HP Officejet 4308 All-in-one Printer" :status :good -:model "HP PSC 2450 Photosmart All-in-one Printer" +:model "HP Officejet 4311 All-in-one Printer" :status :good -:model "HP Deskjet f2476 All-in-one Printer" +:model "HP Officejet 4312 All-in-one Printer" :status :good -:model "HP Deskjet f2480 All-in-one Printer" +:model "HP Officejet 4314 All-in-one Printer" :status :good -:model "HP Deskjet f2483 All-in-one Printer" +:model "HP Officejet 4315 All-in-one Printer" :status :good -:model "HP Deskjet f2488 All-in-one Printer" +:model "HP Officejet 4315v All-in-one Printer" :status :good -:model "HP Deskjet f2492 All-in-one Printer" +:model "HP Officejet 4315xi All-in-one Printer" :status :good -:model "HP Deskjet f2493 All-in-one Printer" +:model "HP Officejet 4317 All-in-one Printer" :status :good -:model "HP PSC 2500 Photosmart All-in-one Printer" +:model "HP Officejet 4319 All-in-one Printer" :status :good -:model "HP Deskjet 2510 All-in-one Printer" +:model "HP Officejet 4338 All-in-one Printer" :status :good -:model "HP PSC 2510 Photosmart All-in-one Printer" +:model "HP Officejet 4352 All-in-one Printer" :status :good -:model "HP PSC 2510xi Photosmart All-in-one Printer" +:model "HP Officejet 4353 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 2510 All-in-one" +:model "HP Officejet 4355 All-in-one Printer" :status :good -:model "HP Deskjet 2511 All-in-one Printer" +:model "HP Officejet 4357 All-in-one Printer" :status :good -:model "HP Deskjet 2512 All-in-one Printer" +:model "HP Officejet 4359 All-in-one Printer" :status :good -:model "HP Deskjet 2514 All-in-one Printer" +:model "HP Officejet 4400 k410 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 2515 All-in-one Printer" +:model "HP Officejet 4500 All-in-one Desktop Printer - g510b" :status :good -:model "HP Deskjet Ink Advantage 2516 All-in-one Printer" +:model "HP Officejet 4500 All-in-one Printer - g510g" :status :good -:model "HP Deskjet Ink Advantage 2520hc All-in-one" +:model "HP Officejet 4500 All-in-one Printer - g510h" :status :good -:model "HP Deskjet Ink Advantage 2540 All-in-one Printer Series" +:model "HP Officejet 4500 All-in-one Printer - k710" :status :good -:model "HP Deskjet 2540 All-in-one Printer" +:model "HP Officejet 4500 Desktop All-in-one Printer - g510a" :status :good -:model "HP Deskjet 2542 All-in-one Printer" +:model "HP Officejet 4500 g510n-z All-in-one Printer" :status :good -:model "HP Deskjet 2543 All-in-one Printer" +:model "HP Officejet 4610 All-in-one Printer Series" :status :good -:model "HP Deskjet 2544 All-in-one Printer" +:model "HP Officejet 4620 E-all-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 2545 All-in-one Printer" +:model "HP Officejet 4622 E-all-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 2546 All-in-one Printer" +:model "HP Officejet 4630 E-all-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 2548 All-in-one Printer" +:model "HP Officejet 4631 E-all-in-one Printer" :status :good -:model "HP Deskjet 2549 All-in-one Printer" +:model "HP Officejet 4632 E-all-in-one Printer" :status :good -:model "HP PSC 2550 Photosmart All-in-one Printer" +:model "HP Officejet 4634 E-all-in-one Printer" :status :good -:model "HP Photosmart 2570 All-in-one Printer" +:model "HP Officejet 4635 E-all-in-one Printer" :status :good -:model "HP Photosmart 2571 All-in-one Printer" +:model "HP Officejet 4636 E-all-in-one Printer" :status :good -:model "HP Photosmart 2573 All-in-one Printer" +:model "HP Officejet 5100 All-in-one Printer" :status :good -:model "HP Photosmart 2574 All-in-one Printer" +:model "HP Officejet 5105 All-in-one Printer" :status :good -:model "HP Photosmart 2575v All-in-one Printer" +:model "HP Officejet 5110 All-in-one Printer" :status :good -:model "HP Photosmart 2575a All-in-one Printer" +:model "HP Officejet 5110v All-in-one Printer" :status :good -:model "HP Photosmart 2575xi All-in-one Printer" +:model "HP Officejet 5110xi All-in-one Printer" :status :good -:model "HP Photosmart 2575 All-in-one Printer" +:model "HP Officejet 520 All-in-one Printer" :status :good -:model "HP Photosmart 2578 All-in-one Printer" +:model "HP Officejet 5505 All-in-one Printer" :status :good -:model "HP Photosmart 2605 All-in-one Printer" +:model "HP Officejet 5508 All-in-one Printer" :status :good -:model "HP Photosmart 2608 All-in-one Printer" +:model "HP Officejet 5510 All-in-one Printer" :status :good -:model "HP Photosmart 2610 All-in-one Printer" +:model "HP Officejet 5510v All-in-one Printer" :status :good -:model "HP Photosmart 2610v All-in-one Printer" +:model "HP Officejet 5510xi All-in-one Printer" :status :good -:model "HP Photosmart 2610xi All-in-one Printer" +:model "HP Officejet 5515 All-in-one Printer" :status :good -:model "HP Photosmart 2613 All-in-one Printer" +:model "HP Officejet 5600 Series All-in-one Printer" :status :good -:model "HP Photosmart 2615 All-in-one Printer" +:model "HP Officejet 5605 All-in-one Printer" :status :good -:model "HP Officejet 2620 All-in-one" +:model "HP Officejet 5607 All-in-one Printer" :status :good -:model "HP Officejet 2621 All-in-one" +:model "HP Officejet 5608 All-in-one Printer" :status :good -:model "HP Officejet 2622 All-in-one" +:model "HP Officejet 5609 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 2645 All-in-one Printer" +:model "HP Officejet 5610 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 2646 All-in-one Printer" +:model "HP Officejet 5610v All-in-one Printer" :status :good -:model "HP Photosmart 2710 All-in-one Printer" +:model "HP Officejet 5610xi All-in-one Printer" :status :good -:model "HP Photosmart 2710xi All-in-one Printer" +:model "HP Officejet 5615 All-in-one Printer" :status :good -:model "HP Photosmart 2713 All-in-one Printer" +:model "HP Officejet 5679 All-in-one Printer" :status :good -:model "HP LaserJet m2727nf Multifunction Printer" +:model "HP Officejet 5680 All-in-one Printer" :status :good -:model "HP LaserJet m2727 Multifunction Printer" +:model "HP Officejet 570 All-in-one Printer" :status :good -:model "HP LaserJet m2727nfs Multifunction Printer" +:model "HP Officejet 5740 E-all-in-one" :status :good -:model "HP Color LaserJet 2800 All-in-one Printer" +:model "HP Officejet 5742 E-all-in-one" :status :good -:model "HP Color LaserJet 2820 All-in-one Printer" +:model "HP Officejet 5745 E-all-in-one" :status :good -:model "HP Color LaserJet 2830 All-in-one Printer" +:model "HP Officejet 580 All-in-one Printer" :status :good -:model "HP Color LaserJet 2840 All-in-one Printer" +:model "HP Officejet 590 All-in-one Printer" :status :good -:model "HP LaserJet 3015 All-in-one Printer" +:model "HP Officejet 600 All-in-one Printer" :status :good -:model "HP LaserJet 3020 All-in-one Printer" +:model "HP Officejet 610 All-in-one Printer" :status :good -:model "HP LaserJet 3030 All-in-one Printer" +:model "HP Officejet 6105 All-in-one Printer" :status :good -:model "HP LaserJet m3035 Multifunction Printer" +:model "HP Officejet 6110 All-in-one Printer" :status :good -:model "HP LaserJet m3035xs Multifunction Printer" +:model "HP Officejet 6110v All-in-one Printer" :status :good -:model "HP Deskjet 3050 j610 Series" +:model "HP Officejet 6110xi All-in-one Printer" :status :good -:model "HP LaserJet 3050z All-in-one Printer" +:model "HP Officejet 6150 All-in-one Printer" :status :good -:model "HP Deskjet 3050a j611 Series" +:model "HP Officejet 6200 All-in-one Printer" :status :good -:model "HP LaserJet 3050 All-in-one Printer" +:model "HP Officejet 6203 All-in-one Printer" :status :good -:model "HP Deskjet 3051a E-all-in-one Printer j611h" +:model "HP Officejet 6205 All-in-one Printer" :status :good -:model "HP Deskjet 3052a E-all-in-one Printer j611e" +:model "HP Officejet 6208 All-in-one Printer" :status :good -:model "HP Deskjet 3052a E-all-in-one Printer j611g" +:model "HP Officejet 6210 All-in-one Printer" :status :good -:model "HP Deskjet 3052a E-all-in-one Printer j611f" +:model "HP Officejet 6210v All-in-one Printer" :status :good -:model "HP LaserJet 3052 All-in-one Printer" +:model "HP Officejet 6210xi All-in-one Printer" :status :good -:model "HP Deskjet 3054a E-all-in-one Printer j611j" +:model "HP Officejet 6213 All-in-one Printer" :status :good -:model "HP Deskjet 3054a E-all-in-one Printer j611c" +:model "HP Officejet 6215 All-in-one Printer" :status :good -:model "HP Deskjet 3054a E-all-in-one Printer j611d" +:model "HP Officejet 630 All-in-one Printer" :status :good -:model "HP LaserJet 3055 All-in-one Printer" +:model "HP Officejet 6301 All-in-one Printer" :status :good -:model "HP Deskjet 3055a E-all-in-one Printer j611n" +:model "HP Officejet 6304 All-in-one Printer" :status :good -:model "HP Deskjet 3056a E-all-in-one Printer" +:model "HP Officejet 6305 All-in-one Printer" :status :good -:model "HP Deskjet 3057a E-all-in-one Printer j611n" +:model "HP Officejet 6307 All-in-one Printer" :status :good -:model "HP Deskjet 3059a E-all-in-one Printer j611n" +:model "HP Officejet 6308 All-in-one Printer" :status :good -:model "HP Deskjet 3070 b611 Series" +:model "HP Officejet 6310 All-in-one Printer" :status :good -:model "HP LaserJet 3100xi All-in-one Printer" +:model "HP Officejet 6310v All-in-one Printer" :status :good -:model "HP LaserJet 3100se All-in-one Printer" +:model "HP Officejet 6310xi All-in-one Printer" :status :good -:model "HP LaserJet 3100 All-in-one Printer" +:model "HP Officejet 6313 All-in-one Printer" :status :good -:model "HP Photosmart 3108 All-in-one Printer" +:model "HP Officejet 6315 All-in-one Printer" :status :good -:model "HP Photosmart 3110v All-in-one Printer" +:model "HP Officejet 6318 All-in-one Printer" :status :good -:model "HP Photosmart 3110 All-in-one Printer" +:model "HP Officejet 635 All-in-one Printer" :status :good -:model "HP Photosmart c3110 All-in-one Printer" +:model "HP Officejet 6500 All-in-one Printer - e709a" :status :good -:model "HP Photosmart c3125 All-in-one Printer" +:model "HP Officejet 6500 All-in-one Printer - e709c" :status :good -:model "HP Photosmart c3135 All-in-one Printer" +:model "HP Officejet 6500 e710" :status :good -:model "HP Photosmart c3140 All-in-one Printer" +:model "HP Officejet 6500 Wireless All-in-one Printer - e709n" :status :good -:model "HP Photosmart c3150 All-in-one Printer" +:model "HP Officejet 6500 Wireless All-in-one Printer - e709q" :status :good -:model "HP LaserJet 3150se All-in-one Printer" +:model "HP Officejet 6600 E-all-in-one Printer - h711a" :status :good -:model "HP LaserJet 3150 All-in-one Printer" +:model "HP Officejet 6700 Premium E-all-in-one printer-h711n" :status :good -:model "HP LaserJet 3150xi All-in-one Printer" +:model "HP Officejet 6800 E-all-in-one" :status :good -:model "HP Photosmart c3170 All-in-one Printer" +:model "HP Officejet 6810 E-all-in-one Printer Series" :status :good -:model "HP Photosmart c3173 All-in-one Printer" +:model "HP Officejet 6812 E-all-in-one Printer" :status :good -:model "HP Photosmart c3175 All-in-one Printer" +:model "HP Officejet 6815 E-all-in-one Printer" :status :good -:model "HP Photosmart c3180 All-in-one Printer" +:model "HP Officejet 700 All-in-one Printer" :status :good -:model "HP Photosmart c3183 All-in-one Printer" +:model "HP Officejet 710 All-in-one Printer" :status :good -:model "HP Photosmart c3188 All-in-one Printer" +:model "HP Officejet 7100 All-in-one Printer" :status :good -:model "HP Photosmart c3190 All-in-one Printer" +:model "HP Officejet 7110 All-in-one Printer" :status :good -:model "HP Photosmart c3193 All-in-one Printer" +:model "HP Officejet 7110xi All-in-one Printer" :status :good -:model "HP Photosmart c3194 All-in-one Printer" +:model "HP Officejet 7115 All-in-one Printer" :status :good -:model "HP LaserJet 3200 All-in-one Printer" +:model "HP Officejet 7130 All-in-one Printer" :status :good -:model "HP LaserJet 3200m All-in-one Printer" +:model "HP Officejet 7130xi All-in-one Printer" :status :good -:model "HP Photosmart 3207 All-in-one Printer" +:model "HP Officejet 7135xi All-in-one Printer" :status :good -:model "HP Photosmart 3210a All-in-one Printer" +:model "HP Officejet 7140xi All-in-one Printer" :status :good -:model "HP Photosmart 3210v All-in-one Printer" +:model "HP Officejet 720 All-in-one Printer" :status :good -:model "HP Photosmart 3210xi All-in-one Printer" +:model "HP Officejet 7205 All-in-one Printer" :status :good -:model "HP Photosmart 3210 All-in-one Printer" +:model "HP Officejet 7208 All-in-one Printer" :status :good -:model "HP Photosmart 3213 All-in-one Printer" +:model "HP Officejet 7210 All-in-one Printer" :status :good -:model "HP Photosmart 3214 All-in-one Printer" +:model "HP Officejet 7210v All-in-one Printer" :status :good -:model "HP LaserJet 3300 Multifunction Printer" +:model "HP Officejet 7210xi All-in-one Printer" :status :good -:model "HP Photosmart 3308 All-in-one Printer" +:model "HP Officejet 7213 All-in-one Printer" :status :good -:model "HP Photosmart 3310 All-in-one Printer" +:model "HP Officejet 7215 All-in-one Printer" :status :good -:model "HP Photosmart 3310xi All-in-one Printer" +:model "HP Officejet 725 All-in-one Printer" :status :good -:model "HP LaserJet 3310 Digital Printer Copier" +:model "HP Officejet 7310 All-in-one Printer" :status :good -:model "HP Photosmart 3313 All-in-one Printer" +:model "HP Officejet 7310xi All-in-one Printer" :status :good -:model "HP Photosmart 3314 All-in-one Printer" +:model "HP Officejet 7313 All-in-one Printer" :status :good -:model "HP LaserJet 3320n Multifunction Printer" +:model "HP Officejet 7408 All-in-one Printer" :status :good -:model "HP LaserJet 3320 Multifunction Printer" +:model "HP Officejet 7410 All-in-one Printer" :status :good -:model "HP LaserJet 3330 Multifunction Printer" +:model "HP Officejet 7410xi All-in-one Printer" :status :good -:model "HP LaserJet 3380 All-in-one Printer" +:model "HP Officejet 7413 All-in-one Printer" :status :good -:model "HP LaserJet 3390 All-in-one Printer" +:model "HP Officejet 7500 e910" :status :good -:model "HP LaserJet 3392 All-in-one Printer" +:model "HP Officejet 7610 Wide Format E-all-in-one Printer" :status :good -:model "HP Officejet j3508 All-in-one Printer" +:model "HP Officejet 7612 Wide Format E-all-in-one Printer" :status :good -:model "HP Deskjet 3510 E-all-in-one" +:model "HP Officejet 8040 Series" :status :good -:model "HP Deskjet 3511 E-all-in-one" +:model "HP Officejet 9110 All-in-one Printer" :status :good -:model "HP Deskjet 3512 E-all-in-one" +:model "HP Officejet 9120 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 3515 E-all-in-one" +:model "HP Officejet 9130 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 3516 E-all-in-one" +:model "HP Officejet d125xi All-in-one Printer" :status :good -:model "HP Deskjet 3520 E-all-in-one Series" +:model "HP Officejet d135 All-in-one Printer" :status :good -:model "HP Deskjet 3521 E-all-in-one Printer" +:model "HP Officejet d135xi All-in-one Printer" :status :good -:model "HP Deskjet 3522 E-all-in-one Printer" +:model "HP Officejet d145 All-in-one Printer" :status :good -:model "HP Deskjet 3524 E-all-in-one Printer" +:model "HP Officejet d145xi All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 3525 E-all-in-one" +:model "HP Officejet d155xi All-in-one Printer" :status :good -:model "HP Deskjet 3526 E-all-in-one Printer" +:model "HP Officejet g55 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 3540 E-all-in-one Printer Series" +:model "HP Officejet g55xi All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 3545 E-all-in-one Printer" +:model "HP Officejet g85 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 3546 E-all-in-one Printer" +:model "HP Officejet g85xi All-in-one Printer" :status :good -:model "HP Officejet j3608 All-in-one Printer" +:model "HP Officejet g95 All-in-one Printer" :status :good -:model "HP Officejet Pro 3610 Black And White E-all-in-one" +:model "HP Officejet j3508 All-in-one Printer" :status :good -:model "HP Officejet Pro 3620 Black And White E-all-in-one" +:model "HP Officejet j3608 All-in-one Printer" :status :good :model "HP Officejet j3625 All-in-one Printer" @@ -1510,1419 +1630,1413 @@ :model "HP Officejet j3680 All-in-one Printer" :status :good -:model "HP Officejet 4100 Series All-in-one Printer" -:status :good - -:model "HP LaserJet 4100 Multifunction Printer" -:status :good - -:model "HP LaserJet 4101 Multifunction Printer" +:model "HP Officejet j4524 All-in-one Printer" :status :good -:model "HP Officejet 4105 All-in-one Printer" +:model "HP Officejet j4525 All-in-one Printer" :status :good -:model "HP Photosmart c4110 All-in-one Printer" +:model "HP Officejet j4535 All-in-one Printer" :status :good -:model "HP Officejet 4110v All-in-one Printer" +:model "HP Officejet j4540 All-in-one Printer" :status :good -:model "HP Officejet 4110xi All-in-one Printer" +:model "HP Officejet j4550 All-in-one Printer" :status :good -:model "HP Officejet 4110 All-in-one Printer" +:model "HP Officejet j4560 All-in-one Printer" :status :good -:model "HP Officejet 4115 All-in-one Printer" +:model "HP Officejet j4580 All-in-one Printer" :status :good -:model "HP Deskjet f4135 All-in-one Printer" +:model "HP Officejet j4580c All-in-one Printer" :status :good -:model "HP Photosmart c4140 All-in-one Printer" +:model "HP Officejet j4585 All-in-one Printer" :status :good -:model "HP Deskjet f4140 All-in-one Printer" +:model "HP Officejet j4660 All-in-one Printer" :status :good -:model "HP Deskjet f4150 All-in-one Printer" +:model "HP Officejet j4680 All-in-one Printer" :status :good -:model "HP Photosmart c4150 All-in-one Printer" +:model "HP Officejet j4680c All-in-one Printer" :status :good -:model "HP Photosmart c4170 All-in-one Printer" +:model "HP Officejet j5505 All-in-one Printer" :status :good -:model "HP Deskjet f4172 All-in-one Printer" +:model "HP Officejet j5508 All-in-one Printer" :status :good -:model "HP Photosmart c4173 All-in-one Printer" +:model "HP Officejet j5510 All-in-one Printer" :status :good -:model "HP Deskjet f4175 All-in-one Printer" +:model "HP Officejet j5510v All-in-one Printer" :status :good -:model "HP Photosmart c4175 All-in-one Printer" +:model "HP Officejet j5510xi All-in-one Printer" :status :good -:model "HP Deskjet f4180 All-in-one Printer" +:model "HP Officejet j5515 All-in-one Printer" :status :good -:model "HP Photosmart c4180 All-in-one Printer" +:model "HP Officejet j5520 All-in-one Printer" :status :good -:model "HP Photosmart c4183 All-in-one Printer" +:model "HP Officejet j5725 All-in-one Printer" :status :good -:model "HP Deskjet f4185 All-in-one Printer" +:model "HP Officejet j5730 All-in-one Printer" :status :good -:model "HP Photosmart c4188 All-in-one Printer" +:model "HP Officejet j5735 All-in-one Printer" :status :good -:model "HP Deskjet f4188 All-in-one Printer" +:model "HP Officejet j5738 All-in-one Printer" :status :good -:model "HP Deskjet f4190 All-in-one Printer" +:model "HP Officejet j5740 All-in-one Printer" :status :good -:model "HP Photosmart c4190 All-in-one Printer" +:model "HP Officejet j5750 All-in-one Printer" :status :good -:model "HP Photosmart c4193 All-in-one Printer" +:model "HP Officejet j5780 All-in-one Printer" :status :good -:model "HP Deskjet f4194 All-in-one Printer" +:model "HP Officejet j5783 All-in-one Printer" :status :good -:model "HP Photosmart c4194 All-in-one Printer" +:model "HP Officejet j5785 All-in-one Printer" :status :good -:model "HP Officejet 4200 All-in-one Printer" +:model "HP Officejet j5788 All-in-one Printer" :status :good -:model "HP Photosmart c4205 All-in-one Printer" +:model "HP Officejet j5790 All-in-one Printer" :status :good -:model "HP Photosmart c4210 All-in-one Printer" +:model "HP Officejet j6405 All-in-one Printer" :status :good -:model "HP Deskjet f4210 All-in-one Printer" +:model "HP Officejet j6410 All-in-one Printer" :status :good -:model "HP Officejet 4211 All-in-one Printer" +:model "HP Officejet j6413 All-in-one Printer" :status :good -:model "HP Officejet 4212 All-in-one Printer" +:model "HP Officejet j6415 All-in-one Printer" :status :good -:model "HP Deskjet f4213 All-in-one Printer" +:model "HP Officejet j6424 All-in-one Printer" :status :good -:model "HP Officejet 4215 All-in-one Printer" +:model "HP Officejet j6450 All-in-one Printer" :status :good -:model "HP Officejet 4215v All-in-one Printer" +:model "HP Officejet j6480 All-in-one Printer" :status :good -:model "HP Officejet 4215xi All-in-one Printer" +:model "HP Officejet j6488 All-in-one Printer" :status :good -:model "HP Officejet 4219 All-in-one Printer" +:model "HP Officejet k60 All-in-one Printer" :status :good -:model "HP Deskjet f4224 All-in-one Printer" +:model "HP Officejet k60xi All-in-one Printer" :status :good -:model "HP Deskjet f4230 All-in-one Printer" +:model "HP Officejet k80 All-in-one Printer" :status :good -:model "HP Deskjet f4235 All-in-one Printer" +:model "HP Officejet k80xi All-in-one Printer" :status :good -:model "HP Photosmart c4235 All-in-one Printer" +:model "HP Officejet Pro 1150c All-in-one Printer" :status :good -:model "HP Deskjet f4238 All-in-one Printer" +:model "HP Officejet Pro 1150cse All-in-one Printer" :status :good -:model "HP Deskjet f4240 All-in-one Printer" +:model "HP Officejet Pro 1170c All-in-one Printer" :status :good -:model "HP Photosmart c4240 All-in-one Printer" +:model "HP Officejet Pro 1170cse All-in-one Printer" :status :good -:model "HP Photosmart c4250 All-in-one Printer" +:model "HP Officejet Pro 1170cxi All-in-one Printer" :status :good -:model "HP Deskjet f4250 All-in-one Printer" +:model "HP Officejet Pro 1175c All-in-one Printer" :status :good -:model "HP Officejet 4251 All-in-one Printer" +:model "HP Officejet Pro 1175cse All-in-one Printer" :status :good -:model "HP Officejet 4252 All-in-one Printer" +:model "HP Officejet Pro 1175cxi All-in-one Printer" :status :good -:model "HP Officejet 4255 All-in-one Printer" +:model "HP Officejet Pro 276dw Multifunction Printer" :status :good -:model "HP Officejet 4256 All-in-one Printer" +:model "HP Officejet Pro 3610 Black And White E-all-in-one" :status :good -:model "HP Officejet 4259 All-in-one Printer" +:model "HP Officejet Pro 3620 Black And White E-all-in-one" :status :good -:model "HP Photosmart c4270 All-in-one Printer" +:model "HP Officejet Pro 6830 E-all-in-one" :status :good -:model "HP Deskjet f4272 All-in-one Printer" +:model "HP Officejet Pro 6835 E-all-in-one" :status :good -:model "HP Photosmart c4272 All-in-one Printer" +:model "HP Officejet Pro 8500 All-in-one Printer - a909a" :status :good -:model "HP Deskjet f4273 All-in-one Printer" +:model "HP Officejet Pro 8500 Premier All-in-one Printer - a909n" :status :good -:model "HP Photosmart c4273 All-in-one Printer" +:model "HP Officejet Pro 8500 Wireless All-in-one Printer - a909g" :status :good -:model "HP Deskjet f4274 All-in-one Printer" +:model "HP Officejet Pro 8500a E-aio Printer - a910a" :status :good -:model "HP Photosmart c4275 All-in-one Printer" +:model "HP Officejet Pro 8500a Plus E-aio Printer - a910g" :status :good -:model "HP Deskjet f4275 All-in-one Printer" +:model "HP Officejet Pro 8500a Premium E-aio Printer - a910n" :status :good -:model "HP Deskjet f4280 All-in-one" +:model "HP Officejet Pro 8600 E-aio n911a" :status :good -:model "HP Photosmart c4280 All-in-one Printer" +:model "HP Officejet Pro 8600 Plus E-aio n911g" :status :good -:model "HP Deskjet f4280 All-in-one Printer" +:model "HP Officejet Pro 8600 Premium E-aio n911n" :status :good -:model "HP Photosmart c4283 All-in-one Printer" +:model "HP Officejet Pro 8610 E-all-in-one Printer" :status :good -:model "HP Deskjet f4283 All-in-one Printer" +:model "HP Officejet Pro 8615 E-all-in-one Printer" :status :good -:model "HP Photosmart c4285 All-in-one Printer" +:model "HP Officejet Pro 8616 E-all-in-one Printer" :status :good -:model "HP Photosmart c4288 All-in-one Printer" +:model "HP Officejet Pro 8620 E-all-in-one Printer" :status :good -:model "HP Deskjet f4288 All-in-one Printer" +:model "HP Officejet Pro 8625 E-all-in-one Printer" :status :good -:model "HP Deskjet f4292 All-in-one Printer" +:model "HP Officejet Pro 8630 E-all-in-one Printer" :status :good -:model "HP Photosmart c4293 All-in-one Printer" +:model "HP Officejet Pro 8640 E-all-in-one Printer" :status :good -:model "HP Deskjet f4293 All-in-one Printer" +:model "HP Officejet Pro 8660 E-all-in-one Printer" :status :good -:model "HP Deskjet f4294 All-in-one Printer" +:model "HP Officejet Pro l7300 Series All-in-one Printer" :status :good -:model "HP Photosmart c4294 All-in-one Printer" +:model "HP Officejet Pro l7380 All-in-one Printer" :status :good -:model "HP Officejet 4308 All-in-one Printer" +:model "HP Officejet Pro l7480 All-in-one Printer" :status :good -:model "HP Officejet 4311 All-in-one Printer" +:model "HP Officejet Pro l7500 Series All-in-one Printer" :status :good -:model "HP Officejet 4312 All-in-one Printer" +:model "HP Officejet Pro l7550 All-in-one Printer" :status :good -:model "HP Officejet 4314 All-in-one Printer" +:model "HP Officejet Pro l7555 All-in-one Printer" :status :good -:model "HP Officejet 4315 All-in-one Printer" +:model "HP Officejet Pro l7580 All-in-one Printer" :status :good -:model "HP Officejet 4315xi All-in-one Printer" +:model "HP Officejet Pro l7590 All-in-one Printer" :status :good -:model "HP Officejet 4315v All-in-one Printer" +:model "HP Officejet Pro l7600 Series All-in-one Printer" :status :good -:model "HP Officejet 4317 All-in-one Printer" +:model "HP Officejet Pro l7650 All-in-one Printer" :status :good -:model "HP Officejet 4319 All-in-one Printer" +:model "HP Officejet Pro l7680 All-in-one Printer" :status :good -:model "HP Officejet 4338 All-in-one Printer" +:model "HP Officejet Pro l7681 All-in-one Printer" :status :good -:model "HP Photosmart c4340 All-in-one Printer" +:model "HP Officejet Pro l7700 Series All-in-one Printer" :status :good -:model "HP Photosmart c4342 All-in-one Printer" +:model "HP Officejet Pro l7710 All-in-one Printer" :status :good -:model "HP Photosmart c4343 All-in-one Printer" +:model "HP Officejet Pro l7750 All-in-one Printer" :status :good -:model "HP Photosmart c4344 All-in-one Printer" +:model "HP Officejet Pro l7780 All-in-one Printer" :status :good -:model "HP LaserJet m4345 Multifunction Printer" +:model "HP Officejet Pro x476 Multifunction Printer Series" :status :good -:model "HP LaserJet 4345xs Multifunction Printer" +:model "HP Officejet Pro x476dn Multifunction Printer" :status :good -:model "HP LaserJet 4345xm Multifunction Printer" +:model "HP Officejet Pro x476dw Multifunction Printer" :status :good -:model "HP LaserJet 4345 Multifunction Printer" +:model "HP Officejet Pro x576 Multifunction Printer Series" :status :good -:model "HP LaserJet m4345x Multifunction Printer" +:model "HP Officejet Pro x576dw Multifunction Printer" :status :good -:model "HP LaserJet m4345xs Multifunction Printer" +:model "HP Officejet r40 All-in-one Printer" :status :good -:model "HP LaserJet 4345x Multifunction Printer" +:model "HP Officejet r40xi All-in-one Printer" :status :good -:model "HP Photosmart c4345 All-in-one Printer" +:model "HP Officejet r45 All-in-one Printer" :status :good -:model "HP LaserJet m4345xm Multifunction Printer" +:model "HP Officejet r60 All-in-one Printer" :status :good -:model "HP Photosmart c4348 All-in-one Printer" +:model "HP Officejet r65 All-in-one Printer" :status :good -:model "HP LaserJet m4349 MFP" +:model "HP Officejet r80 All-in-one Printer" :status :good -:model "HP Officejet 4352 All-in-one Printer" +:model "HP Officejet r80xi All-in-one Printer" :status :good -:model "HP Officejet 4353 All-in-one Printer" +:model "HP Officejet t45 All-in-one Printer" :status :good -:model "HP Officejet 4355 All-in-one Printer" +:model "HP Officejet t45xi All-in-one Printer" :status :good -:model "HP Officejet 4357 All-in-one Printer" +:model "HP Officejet t65 All-in-one Printer" :status :good -:model "HP Officejet 4359 All-in-one Printer" +:model "HP Officejet t65xi All-in-one Printer" :status :good -:model "HP Photosmart c4380 All-in-one Printer" +:model "HP Officejet v30 All-in-one Printer" :status :good -:model "HP Photosmart c4383 All-in-one Printer" +:model "HP Officejet v40 All-in-one Printer" :status :good -:model "HP Photosmart c4384 All-in-one Printer" +:model "HP Officejet v40s All-in-one Printer" :status :good -:model "HP Photosmart c4385 All-in-one Printer" +:model "HP Officejet v40xi All-in-one Printer" :status :good -:model "HP Photosmart c4388 All-in-one Printer" +:model "HP Officejet v45 All-in-one Printer" :status :good -:model "HP Officejet 4400 k410 All-in-one Printer" +:model "HP Oficejet 6500 e710n-z" :status :good -:model "HP Photosmart c4410 All-in-one Printer" +:model "HP Photosmart 2570 All-in-one Printer" :status :good -:model "HP Photosmart c4424 All-in-one Printer" +:model "HP Photosmart 2571 All-in-one Printer" :status :good -:model "HP Deskjet f4435 All-in-one Printer" +:model "HP Photosmart 2573 All-in-one Printer" :status :good -:model "HP Photosmart c4435 All-in-one Printer" +:model "HP Photosmart 2574 All-in-one Printer" :status :good -:model "HP Photosmart c4440 All-in-one Printer" +:model "HP Photosmart 2575 All-in-one Printer" :status :good -:model "HP Deskjet f4440 All-in-one Printer" +:model "HP Photosmart 2575a All-in-one Printer" :status :good -:model "HP Photosmart c4450 All-in-one Printer" +:model "HP Photosmart 2575v All-in-one Printer" :status :good -:model "HP Deskjet f4450 All-in-one Printer" +:model "HP Photosmart 2575xi All-in-one Printer" :status :good -:model "HP Deskjet f4470 All-in-one Printer" +:model "HP Photosmart 2578 All-in-one Printer" :status :good -:model "HP Photosmart c4470 All-in-one Printer" +:model "HP Photosmart 2605 All-in-one Printer" :status :good -:model "HP Photosmart c4472 All-in-one Printer" +:model "HP Photosmart 2608 All-in-one Printer" :status :good -:model "HP Deskjet f4472 All-in-one Printer" +:model "HP Photosmart 2610 All-in-one Printer" :status :good -:model "HP Photosmart c4473 All-in-one Printer" +:model "HP Photosmart 2610v All-in-one Printer" :status :good -:model "HP Deskjet f4473 All-in-one Printer" +:model "HP Photosmart 2610xi All-in-one Printer" :status :good -:model "HP Photosmart c4480 All-in-one Printer" +:model "HP Photosmart 2613 All-in-one Printer" :status :good -:model "HP Deskjet f4480 All-in-one Printer" +:model "HP Photosmart 2615 All-in-one Printer" :status :good -:model "HP Photosmart c4483 All-in-one Printer" +:model "HP Photosmart 2710 All-in-one Printer" :status :good -:model "HP Deskjet f4483 All-in-one Printer" +:model "HP Photosmart 2710xi All-in-one Printer" :status :good -:model "HP Photosmart c4485 All-in-one Printer" +:model "HP Photosmart 2713 All-in-one Printer" :status :good -:model "HP Photosmart c4486 All-in-one Printer" +:model "HP Photosmart 3108 All-in-one Printer" :status :good -:model "HP Photosmart c4488 All-in-one Printer" +:model "HP Photosmart 3110 All-in-one Printer" :status :good -:model "HP Deskjet f4488 All-in-one Printer" +:model "HP Photosmart 3110v All-in-one Printer" :status :good -:model "HP Photosmart c4490 All-in-one Printer" +:model "HP Photosmart 3207 All-in-one Printer" :status :good -:model "HP Deskjet f4492 All-in-one Printer" +:model "HP Photosmart 3210 All-in-one Printer" :status :good -:model "HP Photosmart c4493 All-in-one Printer" +:model "HP Photosmart 3210a All-in-one Printer" :status :good -:model "HP Photosmart c4494 All-in-one Printer" +:model "HP Photosmart 3210v All-in-one Printer" :status :good -:model "HP Officejet 4500 All-in-one Printer - g510g" +:model "HP Photosmart 3210xi All-in-one Printer" :status :good -:model "HP Envy 4500 E-all-in-one" +:model "HP Photosmart 3213 All-in-one Printer" :status :good -:model "HP Officejet 4500 g510n-z All-in-one Printer" +:model "HP Photosmart 3214 All-in-one Printer" :status :good -:model "HP Officejet 4500 All-in-one Printer - k710" +:model "HP Photosmart 3308 All-in-one Printer" :status :good -:model "HP Officejet 4500 All-in-one Printer - g510h" +:model "HP Photosmart 3310 All-in-one Printer" :status :good -:model "HP Designjet 4500mfp" +:model "HP Photosmart 3310xi All-in-one Printer" :status :good -:model "HP Officejet 4500 Desktop All-in-one Printer - g510a" +:model "HP Photosmart 3313 All-in-one Printer" :status :good -:model "HP Deskjet f4500 All-in-one Printer Series" +:model "HP Photosmart 3314 All-in-one Printer" :status :good -:model "HP Officejet 4500 All-in-one Desktop Printer - g510b" +:model "HP Photosmart 5510 E-all-in-one" :status :good -:model "HP Envy 4502 E-all-in-one" +:model "HP Photosmart 5510d E-all-in-one" :status :good -:model "HP Envy 4504 E-all-in-one" +:model "HP Photosmart 5520 E-all-in-one" :status :good -:model "HP Deskjet Ink Advantage 4515 E-all-in-one Printer" +:model "HP Photosmart 5521 E-all-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 4518 E-all-in-one Printer" +:model "HP Photosmart 5522 E-all-in-one Printer" :status :good -:model "HP Designjet 4520mfp" +:model "HP Photosmart 5524 E-all-in-one Printer" :status :good -:model "HP Officejet j4524 All-in-one Printer" +:model "HP Photosmart 5525 E-all-in-one Printer" :status :good -:model "HP Officejet j4525 All-in-one Printer" +:model "HP Photosmart 6510 E-all-in-one" :status :good -:model "HP Officejet j4535 All-in-one Printer" +:model "HP Photosmart 6525 E All-in-one" :status :good -:model "HP Photosmart c4540 All-in-one Printer" +:model "HP Photosmart 7510 E-all-in-one" :status :good -:model "HP Officejet j4540 All-in-one Printer" +:model "HP Photosmart 7520 E-all-in-one" :status :good -:model "HP Photosmart c4550 All-in-one Printer" +:model "HP Photosmart 7525 E-all-in-one" :status :good -:model "HP Officejet j4550 All-in-one Printer" +:model "HP Photosmart All-in-one Printer - b010" :status :good -:model "HP LaserJet m4555 MFP" +:model "HP Photosmart All-in-one Printer - b109a" :status :good -:model "HP Officejet j4560 All-in-one Printer" +:model "HP Photosmart All-in-one Printer - b109c" :status :good -:model "HP Photosmart c4570 All-in-one Printer" +:model "HP Photosmart All-in-one Printer - b109d" :status :good -:model "HP Photosmart c4572 All-in-one Printer" +:model "HP Photosmart All-in-one Printer - b109e" :status :good -:model "HP Photosmart c4573 All-in-one Printer" +:model "HP Photosmart c3110 All-in-one Printer" :status :good -:model "HP Photosmart c4575 All-in-one Printer" +:model "HP Photosmart c3125 All-in-one Printer" :status :good -:model "HP Officejet j4580c All-in-one Printer" +:model "HP Photosmart c3135 All-in-one Printer" :status :good -:model "HP Photosmart c4580 All-in-one Printer" +:model "HP Photosmart c3140 All-in-one Printer" :status :good -:model "HP Officejet j4580 All-in-one Printer" +:model "HP Photosmart c3150 All-in-one Printer" :status :good -:model "HP Photosmart c4583 All-in-one Printer" +:model "HP Photosmart c3170 All-in-one Printer" :status :good -:model "HP Photosmart c4585 All-in-one Printer" +:model "HP Photosmart c3173 All-in-one Printer" :status :good -:model "HP Officejet j4585 All-in-one Printer" +:model "HP Photosmart c3175 All-in-one Printer" :status :good -:model "HP Photosmart c4588 All-in-one Printer" +:model "HP Photosmart c3180 All-in-one Printer" :status :good -:model "HP Photosmart c4593 All-in-one Printer" +:model "HP Photosmart c3183 All-in-one Printer" :status :good -:model "HP Photosmart c4599 All-in-one Printer" +:model "HP Photosmart c3188 All-in-one Printer" :status :good -:model "HP Officejet 4610 All-in-one Printer Series" +:model "HP Photosmart c3190 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 4610 All-in-one Printer Series" +:model "HP Photosmart c3193 All-in-one Printer" :status :good -:model "HP Photosmart c4610 All-in-one Printer" +:model "HP Photosmart c3194 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 4615 All-in-one Printer" +:model "HP Photosmart c4110 All-in-one Printer" :status :good -:model "HP Officejet 4620 E-all-in-one Printer" +:model "HP Photosmart c4140 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 4620 E-all-in-one Printer" +:model "HP Photosmart c4150 All-in-one Printer" :status :good -:model "HP Officejet 4622 E-all-in-one Printer" +:model "HP Photosmart c4170 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 4625 E-all-in-one Printer" +:model "HP Photosmart c4173 All-in-one Printer" :status :good -:model "HP Officejet 4630 E-all-in-one Printer" +:model "HP Photosmart c4175 All-in-one Printer" :status :good -:model "HP Officejet 4631 E-all-in-one Printer" +:model "HP Photosmart c4180 All-in-one Printer" :status :good -:model "HP Officejet 4632 E-all-in-one Printer" +:model "HP Photosmart c4183 All-in-one Printer" :status :good -:model "HP Officejet 4634 E-all-in-one Printer" +:model "HP Photosmart c4188 All-in-one Printer" :status :good -:model "HP Officejet 4635 E-all-in-one Printer" +:model "HP Photosmart c4190 All-in-one Printer" :status :good -:model "HP Photosmart c4635 All-in-one Printer" +:model "HP Photosmart c4193 All-in-one Printer" :status :good -:model "HP Officejet 4636 E-all-in-one Printer" +:model "HP Photosmart c4194 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 4640 E-all-in-one Printer Series" +:model "HP Photosmart c4205 All-in-one Printer" :status :good -:model "HP Photosmart c4640 All-in-one Printer" +:model "HP Photosmart c4210 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 4645 E-all-in-one Printer" +:model "HP Photosmart c4235 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 4646 E-all-in-one Printer" +:model "HP Photosmart c4240 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 4648 E-all-in-one Printer" +:model "HP Photosmart c4250 All-in-one Printer" :status :good -:model "HP Photosmart c4650 All-in-one Printer" +:model "HP Photosmart c4270 All-in-one Printer" :status :good -:model "HP Officejet j4660 All-in-one Printer" +:model "HP Photosmart c4272 All-in-one Printer" :status :good -:model "HP Photosmart c4670 All-in-one Printer" +:model "HP Photosmart c4273 All-in-one Printer" :status :good -:model "HP Photosmart c4673 All-in-one Printer" +:model "HP Photosmart c4275 All-in-one Printer" :status :good -:model "HP Photosmart c4680 All-in-one Printer" +:model "HP Photosmart c4280 All-in-one Printer" :status :good -:model "HP Officejet j4680 All-in-one Printer" +:model "HP Photosmart c4283 All-in-one Printer" :status :good -:model "HP Officejet j4680c All-in-one Printer" +:model "HP Photosmart c4285 All-in-one Printer" :status :good -:model "HP Photosmart c4683 All-in-one Printer" +:model "HP Photosmart c4288 All-in-one Printer" :status :good -:model "HP Photosmart c4688 All-in-one Printer" +:model "HP Photosmart c4293 All-in-one Printer" :status :good -:model "HP Color LaserJet 4730x Multifunction Printer" +:model "HP Photosmart c4294 All-in-one Printer" :status :good -:model "HP Color LaserJet 4730xs Multifunction Printer" +:model "HP Photosmart c4340 All-in-one Printer" :status :good -:model "HP Color LaserJet cm4730 Multifunction Printer" +:model "HP Photosmart c4342 All-in-one Printer" :status :good -:model "HP Color LaserJet 4730 Multifunction Printer" +:model "HP Photosmart c4343 All-in-one Printer" :status :good -:model "HP Color LaserJet cm4730fm Multifunction Printer" +:model "HP Photosmart c4344 All-in-one Printer" :status :good -:model "HP Color LaserJet cm4730f Multifunction Printer" +:model "HP Photosmart c4345 All-in-one Printer" :status :good -:model "HP Color LaserJet 4730xm Multifunction Printer" +:model "HP Photosmart c4348 All-in-one Printer" :status :good -:model "HP Color LaserJet cm4730fsk Multifunction Printer" +:model "HP Photosmart c4380 All-in-one Printer" :status :good -:model "HP Photosmart c4740 All-in-one Printer" +:model "HP Photosmart c4383 All-in-one Printer" :status :good -:model "HP Photosmart c4750 All-in-one Printer" +:model "HP Photosmart c4384 All-in-one Printer" :status :good -:model "HP Photosmart c4780 All-in-one Printer" +:model "HP Photosmart c4385 All-in-one Printer" :status :good -:model "HP Photosmart c4783 All-in-one Printer" +:model "HP Photosmart c4388 All-in-one Printer" :status :good -:model "HP Photosmart c4785 All-in-one Printer" +:model "HP Photosmart c4410 All-in-one Printer" :status :good -:model "HP Photosmart c4788 All-in-one Printer" +:model "HP Photosmart c4424 All-in-one Printer" :status :good -:model "HP Photosmart c4793 All-in-one Printer" +:model "HP Photosmart c4435 All-in-one Printer" :status :good -:model "HP Photosmart c4795 All-in-one Printer" +:model "HP Photosmart c4440 All-in-one Printer" :status :good -:model "HP Photosmart c4798 All-in-one Printer" +:model "HP Photosmart c4450 All-in-one Printer" :status :good -:model "HP Photosmart c4799 All-in-one Printer" +:model "HP Photosmart c4470 All-in-one Printer" :status :good -:model "HP LaserJet m5035 Multifunction Printer" +:model "HP Photosmart c4472 All-in-one Printer" :status :good -:model "HP LaserJet m5035xs Multifunction Printer" +:model "HP Photosmart c4473 All-in-one Printer" :status :good -:model "HP LaserJet m5035x Multifunction Printer" +:model "HP Photosmart c4480 All-in-one Printer" :status :good -:model "HP LaserJet m5039 Multifunction Printer" +:model "HP Photosmart c4483 All-in-one Printer" :status :good -:model "HP Officejet 5100 All-in-one Printer" +:model "HP Photosmart c4485 All-in-one Printer" :status :good -:model "HP Officejet 5105 All-in-one Printer" +:model "HP Photosmart c4486 All-in-one Printer" :status :good -:model "HP Officejet 5110 All-in-one Printer" +:model "HP Photosmart c4488 All-in-one Printer" :status :good -:model "HP Officejet 5110v All-in-one Printer" +:model "HP Photosmart c4490 All-in-one Printer" :status :good -:model "HP Officejet 5110xi All-in-one Printer" +:model "HP Photosmart c4493 All-in-one Printer" :status :good -:model "HP Photosmart c5140 All-in-one Printer" +:model "HP Photosmart c4494 All-in-one Printer" :status :good -:model "HP Photosmart c5150 All-in-one Printer" +:model "HP Photosmart c4540 All-in-one Printer" :status :good -:model "HP Photosmart c5170 All-in-one Printer" +:model "HP Photosmart c4550 All-in-one Printer" :status :good -:model "HP Photosmart c5173 All-in-one Printer" +:model "HP Photosmart c4570 All-in-one Printer" :status :good -:model "HP Photosmart c5175 All-in-one Printer" +:model "HP Photosmart c4572 All-in-one Printer" :status :good -:model "HP Photosmart c5180 All-in-one Printer" +:model "HP Photosmart c4573 All-in-one Printer" :status :good -:model "HP Photosmart c5183 All-in-one Printer" +:model "HP Photosmart c4575 All-in-one Printer" :status :good -:model "HP Photosmart c5185 All-in-one Printer" +:model "HP Photosmart c4580 All-in-one Printer" :status :good -:model "HP Photosmart c5188 All-in-one Printer" +:model "HP Photosmart c4583 All-in-one Printer" :status :good -:model "HP Photosmart c5194 All-in-one Printer" +:model "HP Photosmart c4585 All-in-one Printer" :status :good -:model "HP Photosmart c5240 All-in-one Printer" +:model "HP Photosmart c4588 All-in-one Printer" :status :good -:model "HP Photosmart c5250 All-in-one Printer" +:model "HP Photosmart c4593 All-in-one Printer" :status :good -:model "HP Photosmart c5270 All-in-one Printer" +:model "HP Photosmart c4599 All-in-one Printer" :status :good -:model "HP Photosmart c5273 All-in-one Printer" +:model "HP Photosmart c4610 All-in-one Printer" :status :good -:model "HP Photosmart c5275 All-in-one Printer" +:model "HP Photosmart c4635 All-in-one Printer" :status :good -:model "HP Photosmart c5280 All-in-one Printer" +:model "HP Photosmart c4640 All-in-one Printer" :status :good -:model "HP Photosmart c5283 All-in-one Printer" +:model "HP Photosmart c4650 All-in-one Printer" :status :good -:model "HP Photosmart c5288 All-in-one Printer" +:model "HP Photosmart c4670 All-in-one Printer" :status :good -:model "HP Photosmart c5290 All-in-one Printer" +:model "HP Photosmart c4673 All-in-one Printer" :status :good -:model "HP Photosmart c5293 All-in-one Printer" +:model "HP Photosmart c4680 All-in-one Printer" :status :good -:model "HP Photosmart c5370 All-in-one Printer" +:model "HP Photosmart c4683 All-in-one Printer" :status :good -:model "HP Photosmart c5373 All-in-one Printer" +:model "HP Photosmart c4688 All-in-one Printer" :status :good -:model "HP Photosmart c5380 All-in-one Printer" +:model "HP Photosmart c4740 All-in-one Printer" :status :good -:model "HP Photosmart c5383 All-in-one Printer" +:model "HP Photosmart c4750 All-in-one Printer" :status :good -:model "HP Photosmart c5388 All-in-one Printer" +:model "HP Photosmart c4780 All-in-one Printer" :status :good -:model "HP Photosmart c5390 All-in-one Printer" +:model "HP Photosmart c4783 All-in-one Printer" :status :good -:model "HP Photosmart c5393 All-in-one Printer" +:model "HP Photosmart c4785 All-in-one Printer" :status :good -:model "HP Officejet 5505 All-in-one Printer" +:model "HP Photosmart c4788 All-in-one Printer" :status :good -:model "HP Officejet j5505 All-in-one Printer" +:model "HP Photosmart c4793 All-in-one Printer" :status :good -:model "HP Officejet 5508 All-in-one Printer" +:model "HP Photosmart c4795 All-in-one Printer" :status :good -:model "HP Officejet j5508 All-in-one Printer" +:model "HP Photosmart c4798 All-in-one Printer" :status :good -:model "HP Officejet j5510v All-in-one Printer" +:model "HP Photosmart c4799 All-in-one Printer" :status :good -:model "HP Photosmart 5510 E-all-in-one" +:model "HP Photosmart c5140 All-in-one Printer" :status :good -:model "HP Officejet 5510v All-in-one Printer" +:model "HP Photosmart c5150 All-in-one Printer" :status :good -:model "HP Photosmart 5510d E-all-in-one" +:model "HP Photosmart c5170 All-in-one Printer" :status :good -:model "HP Officejet 5510xi All-in-one Printer" +:model "HP Photosmart c5173 All-in-one Printer" :status :good -:model "HP Officejet 5510 All-in-one Printer" +:model "HP Photosmart c5175 All-in-one Printer" :status :good -:model "HP Officejet j5510xi All-in-one Printer" +:model "HP Photosmart c5180 All-in-one Printer" :status :good -:model "HP Officejet j5510 All-in-one Printer" +:model "HP Photosmart c5183 All-in-one Printer" :status :good -:model "HP Officejet j5515 All-in-one Printer" +:model "HP Photosmart c5185 All-in-one Printer" :status :good -:model "HP Officejet 5515 All-in-one Printer" +:model "HP Photosmart c5188 All-in-one Printer" :status :good -:model "HP Officejet j5520 All-in-one Printer" +:model "HP Photosmart c5194 All-in-one Printer" :status :good -:model "HP Photosmart 5520 E-all-in-one" +:model "HP Photosmart c5240 All-in-one Printer" :status :good -:model "HP Photosmart 5521 E-all-in-one Printer" +:model "HP Photosmart c5250 All-in-one Printer" :status :good -:model "HP Photosmart 5522 E-all-in-one Printer" +:model "HP Photosmart c5270 All-in-one Printer" :status :good -:model "HP Photosmart 5524 E-all-in-one Printer" +:model "HP Photosmart c5273 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 5525 E-all-in-one" +:model "HP Photosmart c5275 All-in-one Printer" :status :good -:model "HP Photosmart 5525 E-all-in-one Printer" +:model "HP Photosmart c5280 All-in-one Printer" :status :good -:model "HP Envy 5530 E-all-in-one Printer" +:model "HP Photosmart c5283 All-in-one Printer" :status :good -:model "HP Envy 5531 E-all-in-one Printer" +:model "HP Photosmart c5288 All-in-one Printer" :status :good -:model "HP Envy 5532 E-all-in-one Printer" +:model "HP Photosmart c5290 All-in-one Printer" :status :good -:model "HP Envy 5535 E-all-in-one Printer" +:model "HP Photosmart c5293 All-in-one Printer" :status :good -:model "HP Photosmart c5540 All-in-one Printer" +:model "HP Photosmart c5370 All-in-one Printer" :status :good -:model "HP Photosmart c5550 All-in-one Printer" +:model "HP Photosmart c5373 All-in-one Printer" :status :good -:model "HP Photosmart c5570 All-in-one Printer" +:model "HP Photosmart c5380 All-in-one Printer" :status :good -:model "HP Photosmart c5580 All-in-one Printer" +:model "HP Photosmart c5383 All-in-one Printer" :status :good -:model "HP Officejet 5600 Series All-in-one Printer" +:model "HP Photosmart c5388 All-in-one Printer" :status :good -:model "HP Officejet 5605 All-in-one Printer" +:model "HP Photosmart c5390 All-in-one Printer" :status :good -:model "HP Officejet 5607 All-in-one Printer" +:model "HP Photosmart c5393 All-in-one Printer" :status :good -:model "HP Officejet 5608 All-in-one Printer" +:model "HP Photosmart c5540 All-in-one Printer" :status :good -:model "HP Officejet 5609 All-in-one Printer" +:model "HP Photosmart c5550 All-in-one Printer" :status :good -:model "HP Officejet 5610v All-in-one Printer" +:model "HP Photosmart c5570 All-in-one Printer" :status :good -:model "HP Officejet 5610xi All-in-one Printer" +:model "HP Photosmart c5580 All-in-one Printer" :status :good -:model "HP Officejet 5610 All-in-one Printer" +:model "HP Photosmart c6150 All-in-one Printer" :status :good -:model "HP Officejet 5615 All-in-one Printer" +:model "HP Photosmart c6154 All-in-one Printer" :status :good -:model "HP Officejet 5679 All-in-one Printer" +:model "HP Photosmart c6170 All-in-one Printer" :status :good -:model "HP Officejet 5680 All-in-one Printer" +:model "HP Photosmart c6175 All-in-one Printer" :status :good -:model "HP Officejet j5725 All-in-one Printer" +:model "HP Photosmart c6180 All-in-one Printer" :status :good -:model "HP Officejet j5730 All-in-one Printer" +:model "HP Photosmart c6183 All-in-one Printer" :status :good -:model "HP Officejet j5735 All-in-one Printer" +:model "HP Photosmart c6185 All-in-one Printer" :status :good -:model "HP Officejet j5738 All-in-one Printer" +:model "HP Photosmart c6188 All-in-one Printer" :status :good -:model "HP Officejet j5740 All-in-one Printer" +:model "HP Photosmart c6190 All-in-one Printer" :status :good -:model "HP Officejet j5750 All-in-one Printer" +:model "HP Photosmart c6240 All-in-one Printer" :status :good -:model "HP Officejet j5780 All-in-one Printer" +:model "HP Photosmart c6245 All-in-one Printer" :status :good -:model "HP Officejet j5783 All-in-one Printer" +:model "HP Photosmart c6250 All-in-one Printer" :status :good -:model "HP Officejet j5785 All-in-one Printer" +:model "HP Photosmart c6260 All-in-one Printer" :status :good -:model "HP Officejet j5788 All-in-one Printer" +:model "HP Photosmart c6263 All-in-one Printer" :status :good -:model "HP Officejet j5790 All-in-one Printer" +:model "HP Photosmart c6268 All-in-one Printer" :status :good -:model "HP Officejet 6105 All-in-one Printer" +:model "HP Photosmart c6270 All-in-one Printer" :status :good -:model "HP Officejet 6110v All-in-one Printer" +:model "HP Photosmart c6275 All-in-one Printer" :status :good -:model "HP Officejet 6110 All-in-one Printer" +:model "HP Photosmart c6280 All-in-one Printer" :status :good -:model "HP Officejet 6110xi All-in-one Printer" +:model "HP Photosmart c6283 All-in-one Printer" :status :good -:model "HP Officejet 6150 All-in-one Printer" +:model "HP Photosmart c6285 All-in-one Printer" :status :good -:model "HP Photosmart c6150 All-in-one Printer" +:model "HP Photosmart c6286 All-in-one Printer" :status :good -:model "HP Photosmart c6154 All-in-one Printer" +:model "HP Photosmart c6288 All-in-one Printer" :status :good -:model "HP Photosmart c6170 All-in-one Printer" +:model "HP Photosmart c6324 All-in-one Printer" :status :good -:model "HP Photosmart c6175 All-in-one Printer" +:model "HP Photosmart c6340 All-in-one Printer" :status :good -:model "HP Photosmart c6180 All-in-one Printer" +:model "HP Photosmart c6350 All-in-one Printer" :status :good -:model "HP Photosmart c6183 All-in-one Printer" +:model "HP Photosmart c6375 All-in-one Printer" :status :good -:model "HP Photosmart c6185 All-in-one Printer" +:model "HP Photosmart c6380 All-in-one Printer" :status :good -:model "HP Photosmart c6188 All-in-one Printer" +:model "HP Photosmart c6383 All-in-one Printer" :status :good -:model "HP Photosmart c6190 All-in-one Printer" +:model "HP Photosmart c6388 All-in-one Printer" :status :good -:model "HP Officejet 6200 All-in-one Printer" +:model "HP Photosmart c7150 All-in-one Printer" :status :good -:model "HP Officejet 6203 All-in-one Printer" +:model "HP Photosmart c7154 All-in-one Printer" :status :good -:model "HP Officejet 6205 All-in-one Printer" +:model "HP Photosmart c7170 All-in-one Printer" :status :good -:model "HP Officejet 6208 All-in-one Printer" +:model "HP Photosmart c7180 All-in-one Printer" :status :good -:model "HP Officejet 6210xi All-in-one Printer" +:model "HP Photosmart c7183 All-in-one Printer" :status :good -:model "HP Officejet 6210v All-in-one Printer" +:model "HP Photosmart c7185 All-in-one Printer" :status :good -:model "HP Officejet 6210 All-in-one Printer" +:model "HP Photosmart c7188 All-in-one Printer" :status :good -:model "HP Officejet 6213 All-in-one Printer" +:model "HP Photosmart c7190 All-in-one Printer" :status :good -:model "HP Officejet 6215 All-in-one Printer" +:model "HP Photosmart c7250 All-in-one Printer" :status :good -:model "HP Photosmart c6240 All-in-one Printer" +:model "HP Photosmart c7275 All-in-one Printer" :status :good -:model "HP Photosmart c6245 All-in-one Printer" +:model "HP Photosmart c7280 All-in-one Printer" :status :good -:model "HP Photosmart c6250 All-in-one Printer" +:model "HP Photosmart c7283 All-in-one Printer" :status :good -:model "HP Photosmart c6260 All-in-one Printer" +:model "HP Photosmart c7288 All-in-one Printer" :status :good -:model "HP Photosmart c6263 All-in-one Printer" +:model "HP Photosmart c8150 All-in-one Printer" :status :good -:model "HP Photosmart c6268 All-in-one Printer" +:model "HP Photosmart c8180 All-in-one Printer" :status :good -:model "HP Photosmart c6270 All-in-one Printer" +:model "HP Photosmart c8183 All-in-one Printer" :status :good -:model "HP Photosmart c6275 All-in-one Printer" +:model "HP Photosmart c8188 All-in-one Printer" :status :good -:model "HP Photosmart c6280 All-in-one Printer" +:model "HP Photosmart d110 Series Printer" :status :good -:model "HP Photosmart c6283 All-in-one Printer" +:model "HP Photosmart Estn c510 Series" :status :good -:model "HP Photosmart c6285 All-in-one Printer" +:model "HP Photosmart Ink Adv k510" :status :good -:model "HP Photosmart c6286 All-in-one Printer" +:model "HP Photosmart Plus All-in-one Printer - b209a" :status :good -:model "HP Photosmart c6288 All-in-one Printer" +:model "HP Photosmart Plus All-in-one Printer - b209b" :status :good -:model "HP Officejet 6301 All-in-one Printer" +:model "HP Photosmart Plus All-in-one Printer - b209c" :status :good -:model "HP Officejet 6304 All-in-one Printer" +:model "HP Photosmart Plus b210 Series" :status :good -:model "HP Officejet 6305 All-in-one Printer" +:model "HP Photosmart Prem c310 Series" :status :good -:model "HP Officejet 6307 All-in-one Printer" +:model "HP Photosmart Prem c410 Series" :status :good -:model "HP Officejet 6308 All-in-one Printer" +:model "HP Photosmart Premium All-in-one Printer Series - c309g" :status :good -:model "HP Officejet 6310 All-in-one Printer" +:model "HP Photosmart Premium All-in-one Printer Series - c309h" :status :good -:model "HP Officejet 6310xi All-in-one Printer" +:model "HP Photosmart Premium Fax All-in-one Printer - c309a" :status :good -:model "HP Officejet 6310v All-in-one Printer" +:model "HP Photosmart Premium Fax All-in-one Printer Series -c309a" :status :good -:model "HP Officejet 6313 All-in-one Printer" +:model "HP Photosmart Premium Fax All-in-one Printer Series -c309c" :status :good -:model "HP Officejet 6315 All-in-one Printer" +:model "HP Photosmart Wireless All-in-one Printer - b109n" :status :good -:model "HP Officejet 6318 All-in-one Printer" +:model "HP Photosmart Wireless All-in-one Printer - b109q" :status :good -:model "HP Photosmart c6324 All-in-one Printer" +:model "HP Photosmart Wireless All-in-one Printer - b109q=r" :status :good -:model "HP Photosmart c6340 All-in-one Printer" +:model "HP Photosmart Wireless All-in-one Printer - b110" :status :good -:model "HP Photosmart c6350 All-in-one Printer" +:model "HP Photsmart 6520 E All-in-one" :status :good -:model "HP Photosmart c6375 All-in-one Printer" +:model "HP Printer Scanner Copier 300" :status :good -:model "HP Photosmart c6380 All-in-one Printer" +:model "HP PSC 1110 All-in-one Printer" :status :good -:model "HP Photosmart c6383 All-in-one Printer" +:model "HP PSC 1110v All-in-one Printer" :status :good -:model "HP Photosmart c6388 All-in-one Printer" +:model "HP PSC 1118 All-in-one Printer" :status :good -:model "HP Officejet j6405 All-in-one Printer" +:model "HP PSC 1200 All-in-one Printer" :status :good -:model "HP Officejet j6410 All-in-one Printer" +:model "HP PSC 1205 All-in-one Printer" :status :good -:model "HP Officejet j6413 All-in-one Printer" +:model "HP PSC 1209 All-in-one Printer" :status :good -:model "HP Officejet j6415 All-in-one Printer" +:model "HP PSC 1210 All-in-one Printer" :status :good -:model "HP Officejet j6424 All-in-one Printer" +:model "HP PSC 1210v All-in-one Printer" :status :good -:model "HP Officejet j6450 All-in-one Printer" +:model "HP PSC 1210xi All-in-one Printer" :status :good -:model "HP Officejet j6480 All-in-one Printer" +:model "HP PSC 1213 All-in-one Printer" :status :good -:model "HP Officejet j6488 All-in-one Printer" +:model "HP PSC 1215 All-in-one Printer" :status :good -:model "HP Officejet 6500 e710" +:model "HP PSC 1216 All-in-one Printer" :status :good -:model "HP Officejet 6500 Wireless All-in-one Printer - e709q" +:model "HP PSC 1217 All-in-one Printer" :status :good -:model "HP Officejet 6500 Wireless All-in-one Printer - e709n" +:model "HP PSC 1218 All-in-one Printer" :status :good -:model "HP Oficejet 6500 e710n-z" +:model "HP PSC 1219 All-in-one Printer" :status :good -:model "HP Officejet 6500 All-in-one Printer - e709c" +:model "HP PSC 1300 All-in-one Printer" :status :good -:model "HP Officejet 6500 All-in-one Printer - e709a" +:model "HP PSC 1310 All-in-one Printer" :status :good -:model "HP Photosmart 6510 E-all-in-one" +:model "HP PSC 1311 All-in-one Printer" :status :good -:model "HP Photsmart 6520 E All-in-one" +:model "HP PSC 1312 All-in-one Printer" :status :good -:model "HP Photosmart 6525 E All-in-one" +:model "HP PSC 1315 All-in-one Printer" :status :good -:model "HP Deskjet Ink Advantage 6525 E-all-in-one" +:model "HP PSC 1315s All-in-one Printer" :status :good -:model "HP Officejet 6600 E-all-in-one Printer - h711a" +:model "HP PSC 1315v All-in-one Printer" :status :good -:model "HP Officejet 6700 Premium E-all-in-one printer-h711n" +:model "HP PSC 1315xi All-in-one Printer" :status :good -:model "HP Officejet 7100 All-in-one Printer" +:model "HP PSC 1317 All-in-one Printer" :status :good -:model "HP Officejet 7110xi All-in-one Printer" +:model "HP PSC 1318 All-in-one Printer" :status :good -:model "HP Officejet 7110 All-in-one Printer" +:model "HP PSC 1340 All-in-one Printer" :status :good -:model "HP Officejet 7115 All-in-one Printer" +:model "HP PSC 1345 All-in-one Printer" :status :good -:model "HP Officejet 7130xi All-in-one Printer" +:model "HP PSC 1350 All-in-one Printer" :status :good -:model "HP Officejet 7130 All-in-one Printer" +:model "HP PSC 1350v All-in-one Printer" :status :good -:model "HP Officejet 7135xi All-in-one Printer" +:model "HP PSC 1350xi All-in-one Printer" :status :good -:model "HP Officejet 7140xi All-in-one Printer" +:model "HP PSC 1355 All-in-one Printer" :status :good -:model "HP Photosmart c7150 All-in-one Printer" +:model "HP PSC 1401 All-in-one Printer" :status :good -:model "HP Photosmart c7154 All-in-one Printer" +:model "HP PSC 1402 All-in-one Printer" :status :good -:model "HP Photosmart c7170 All-in-one Printer" +:model "HP PSC 1403 All-in-one Printer" :status :good -:model "HP Photosmart c7180 All-in-one Printer" +:model "HP PSC 1406 All-in-one Printer" :status :good -:model "HP Photosmart c7183 All-in-one Printer" +:model "HP PSC 1408 All-in-one Printer" :status :good -:model "HP Photosmart c7185 All-in-one Printer" +:model "HP PSC 1410 All-in-one Printer" :status :good -:model "HP Photosmart c7188 All-in-one Printer" +:model "HP PSC 1410v All-in-one Printer" :status :good -:model "HP Photosmart c7190 All-in-one Printer" +:model "HP PSC 1410xi All-in-one Printer" :status :good -:model "HP Officejet 7205 All-in-one Printer" +:model "HP PSC 1415 All-in-one Printer" :status :good -:model "HP Officejet 7208 All-in-one Printer" +:model "HP PSC 1417 All-in-one Printer" :status :good -:model "HP Officejet 7210 All-in-one Printer" +:model "HP PSC 1503 All-in-one Printer" :status :good -:model "HP Officejet 7210v All-in-one Printer" +:model "HP PSC 1504 All-in-one Printer" :status :good -:model "HP Officejet 7210xi All-in-one Printer" +:model "HP PSC 1507 All-in-one Printer" :status :good -:model "HP Officejet 7213 All-in-one Printer" +:model "HP PSC 1508 All-in-one Printer" :status :good -:model "HP Officejet 7215 All-in-one Printer" +:model "HP PSC 1510 All-in-one Printer" :status :good -:model "HP Photosmart c7250 All-in-one Printer" +:model "HP PSC 1510s All-in-one Printer" :status :good -:model "HP Photosmart c7275 All-in-one Printer" +:model "HP PSC 1510v All-in-one Printer" :status :good -:model "HP Photosmart c7280 All-in-one Printer" +:model "HP PSC 1510xi All-in-one Printer" :status :good -:model "HP Photosmart c7283 All-in-one Printer" +:model "HP PSC 1513 All-in-one Printer" :status :good -:model "HP Photosmart c7288 All-in-one Printer" +:model "HP PSC 1513s All-in-one Printer" :status :good -:model "HP Officejet Pro l7300 Series All-in-one Printer" +:model "HP PSC 1514 All-in-one Printer" :status :good -:model "HP Officejet 7310xi All-in-one Printer" +:model "HP PSC 1600 All-in-one Printer" :status :good -:model "HP Officejet 7310 All-in-one Printer" +:model "HP PSC 1603 All-in-one Printer" :status :good -:model "HP Officejet 7313 All-in-one Printer" +:model "HP PSC 1605 All-in-one Printer" :status :good -:model "HP Officejet Pro l7380 All-in-one Printer" +:model "HP PSC 1608 All-in-one Printer" :status :good -:model "HP Officejet 7408 All-in-one Printer" +:model "HP PSC 1610 All-in-one Printer" :status :good -:model "HP Officejet 7410xi All-in-one Printer" +:model "HP PSC 1610v All-in-one Printer" :status :good -:model "HP Officejet 7410 All-in-one Printer" +:model "HP PSC 1610xi All-in-one Printer" :status :good -:model "HP Officejet 7413 All-in-one Printer" +:model "HP PSC 1613 All-in-one Printer" :status :good -:model "HP Officejet Pro l7480 All-in-one Printer" +:model "HP PSC 1615 All-in-one Printer" :status :good -:model "HP Officejet Pro l7500 Series All-in-one Printer" +:model "HP PSC 2105 All-in-one Printer" :status :good -:model "HP Officejet 7500 e910" +:model "HP PSC 2108 All-in-one Printer" :status :good -:model "HP Photosmart 7510 E-all-in-one" +:model "HP PSC 2110 All-in-one Printer" :status :good -:model "HP Photosmart 7520 E-all-in-one" +:model "HP PSC 2110v All-in-one Printer" :status :good -:model "HP Photosmart 7525 E-all-in-one" +:model "HP PSC 2110xi All-in-one Printer" :status :good -:model "HP Officejet Pro l7550 All-in-one Printer" +:model "HP PSC 2115 All-in-one Printer" :status :good -:model "HP Officejet Pro l7555 All-in-one Printer" +:model "HP PSC 2150 All-in-one Printer" :status :good -:model "HP Officejet Pro l7580 All-in-one Printer" +:model "HP PSC 2170 All-in-one Printer" :status :good -:model "HP Officejet Pro l7590 All-in-one Printer" +:model "HP PSC 2171 All-in-one Printer" :status :good -:model "HP Officejet Pro l7600 Series All-in-one Printer" +:model "HP PSC 2175 All-in-one Printer" :status :good -:model "HP Officejet 7610 Wide Format E-all-in-one Printer" +:model "HP PSC 2175v All-in-one Printer" :status :good -:model "HP Officejet Pro l7650 All-in-one Printer" +:model "HP PSC 2175xi All-in-one Printer" :status :good -:model "HP Officejet Pro l7680 All-in-one Printer" +:model "HP PSC 2179 All-in-one Printer" :status :good -:model "HP Officejet Pro l7681 All-in-one Printer" +:model "HP PSC 2200 All-in-one Printer" :status :good -:model "HP Officejet Pro l7700 Series All-in-one Printer" +:model "HP PSC 2210 All-in-one Printer" :status :good -:model "HP Officejet Pro l7710 All-in-one Printer" +:model "HP PSC 2210v All-in-one Printer" :status :good -:model "HP Officejet Pro l7750 All-in-one Printer" +:model "HP PSC 2210xi All-in-one Printer" :status :good -:model "HP Officejet Pro l7780 All-in-one Printer" +:model "HP PSC 2300 Series All-in-one Printer" :status :good -:model "HP cm8050 Color Multifunction Printer With Edgeline Technology" +:model "HP PSC 2310 All-in-one Printer" :status :good -:model "HP cm8060 Color Multifunction Printer With Edgeline Technology" +:model "HP PSC 2350 All-in-one Printer" :status :good -:model "HP LaserJet 8100 Multifunction Printer" +:model "HP PSC 2352 All-in-one Printer" :status :good -:model "HP LaserJet 8150 Multifunction Printer" +:model "HP PSC 2353 All-in-one Printer" :status :good -:model "HP Photosmart c8150 All-in-one Printer" +:model "HP PSC 2353p All-in-one Printer" :status :good -:model "HP Photosmart c8180 All-in-one Printer" +:model "HP PSC 2355 All-in-one Printer" :status :good -:model "HP Photosmart c8183 All-in-one Printer" +:model "HP PSC 2355p All-in-one Printer" :status :good -:model "HP Photosmart c8188 All-in-one Printer" +:model "HP PSC 2355v All-in-one Printer" :status :good -:model "HP Officejet Pro 8500 Wireless All-in-one Printer - a909g" +:model "HP PSC 2355xi All-in-one Printer" :status :good -:model "HP Officejet Pro 8500 All-in-one Printer - a909a" +:model "HP PSC 2357 All-in-one Printer" :status :good -:model "HP Officejet Pro 8500a E-aio Printer - a910a" +:model "HP PSC 2358 All-in-one Printer" :status :good -:model "HP Officejet Pro 8500 Premier All-in-one Printer - a909n" +:model "HP PSC 2405 Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro 8500a Premium E-aio Printer - a910n" +:model "HP PSC 2410 Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro 8500a Plus E-aio Printer - a910g" +:model "HP PSC 2410v Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro 8600 Premium E-aio n911n" +:model "HP PSC 2410xi Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro 8600 Plus E-aio n911g" +:model "HP PSC 2420 Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro 8600 E-aio n911a" +:model "HP PSC 2450 Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro 8610 E-all-in-one Printer" +:model "HP PSC 2500 Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro 8615 E-all-in-one Printer" +:model "HP PSC 2510 Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro 8620 E-all-in-one Printer" +:model "HP PSC 2510xi Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro 8625 E-all-in-one Printer" +:model "HP PSC 2550 Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro 8630 E-all-in-one Printer" +:model "HP PSC 500 All-in-one Printer" :status :good -:model "HP Officejet Pro 8640 E-all-in-one Printer" +:model "HP PSC 500xi All-in-one Printer" :status :good -:model "HP Officejet Pro 8660 E-all-in-one Printer" +:model "HP PSC 720 All-in-one Printer" :status :good -:model "HP LaserJet 9000 Multifunction Printer" +:model "HP PSC 750 All-in-one Printer" :status :good -:model "HP LaserJet 9000l Multifunction Printer" +:model "HP PSC 750xi All-in-one Printer" :status :good -:model "HP LaserJet 9040 Multifunction Printer" +:model "HP PSC 760 All-in-one Printer" :status :good -:model "HP LaserJet 9050 Multifunction Printer" +:model "HP PSC 780 All-in-one Printer" :status :good -:model "HP LaserJet 9055 Multifunction Printer" +:model "HP PSC 780xi All-in-one Printer" :status :good -:model "HP LaserJet 9065 Multifunction Printer" +:model "HP PSC 900 All-in-one Printer" :status :good -:model "HP Officejet 9110 All-in-one Printer" +:model "HP PSC 920 All-in-one Printer" :status :good -:model "HP Officejet 9120 All-in-one Printer" +:model "HP PSC 950 All-in-one Printer" :status :good -:model "HP Officejet 9130 All-in-one Printer" +:model "HP PSC 950vr All-in-one Printer" :status :good -:model "HP Color LaserJet 9500 Multifunction Printer" +:model "HP PSC 950xi All-in-one Printer" :status :good diff -Nru hplip-3.14.6/scan/sane/marvell.c hplip-3.15.2/scan/sane/marvell.c --- hplip-3.14.6/scan/sane/marvell.c 2014-06-03 06:32:17.000000000 +0000 +++ hplip-3.15.2/scan/sane/marvell.c 2015-01-29 12:20:21.000000000 +0000 @@ -313,9 +313,8 @@ } else { - ps->effectiveTlx = 0; /* current setting is not valid, zero it */ - ps->effectiveBrx = 0; - stat = 1; + ps->effectiveTlx = ps->currentTlx = 0; /* current setting is not valid, zero it */ + ps->effectiveBrx = ps->currentBrx = ps->brxRange.max; } if ((ps->currentBry > ps->currentTly) && (ps->currentBry - ps->currentTly > ps->min_height) && (ps->currentBry - ps->currentTly <= ps->tlyRange.max)) { @@ -324,9 +323,8 @@ } else { - ps->effectiveTly = 0; /* current setting is not valid, zero it */ - ps->effectiveBry = 0; - stat = 1; + ps->effectiveTly = ps->currentTly = 0; /* current setting is not valid, zero it */ + ps->effectiveBry = ps->currentBry = ps->bryRange.max; } return stat; } @@ -675,6 +673,17 @@ else { /* Set default. */ ps->current_input_source = ps->input_source_map[0]; + if(ps->current_input_source == IS_PLATEN) + { + i = ps->platen_resolution_list[0] + 1; + while(i--) ps->resolution_list[i] = ps->platen_resolution_list[i]; + } + else + { + i = ps->adf_resolution_list[0] + 1; + while(i--) ps->resolution_list[i] = ps->adf_resolution_list[i]; + } + ps->current_resolution = ps->resolution_list[1]; mset_result |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; stat = SANE_STATUS_GOOD; } diff -Nru hplip-3.14.6/scan/sane/sclpml.c hplip-3.15.2/scan/sane/sclpml.c --- hplip-3.14.6/scan/sane/sclpml.c 2014-06-03 06:32:17.000000000 +0000 +++ hplip-3.15.2/scan/sane/sclpml.c 2015-01-29 12:20:21.000000000 +0000 @@ -2072,6 +2072,10 @@ { free( ( void * ) session->saneDevice.model ); } + if (session->mfpdtf) + { + MfpdtfDeallocate (session->mfpdtf); + } free( session ); session = NULL; } @@ -2101,6 +2105,18 @@ hpmud_close_device(hpaio->deviceid); hpaio->deviceid = -1; } + if( hpaio->saneDevice.name ) + { + free( ( void * ) hpaio->saneDevice.name ); + } + if( hpaio->saneDevice.model ) + { + free( ( void * ) hpaio->saneDevice.model ); + } + if (hpaio->mfpdtf) + { + MfpdtfDeallocate (hpaio->mfpdtf); + } free(hpaio); session = NULL; } diff -Nru hplip-3.14.6/scan/sane.py hplip-3.15.2/scan/sane.py --- hplip-3.14.6/scan/sane.py 2014-06-03 06:32:17.000000000 +0000 +++ hplip-3.15.2/scan/sane.py 2015-01-29 12:20:21.000000000 +0000 @@ -51,7 +51,7 @@ # http://www.mostang.com/sane/ . # # Original authors: Andrew Kuchling, Ralph Heinkel -# Modified by: Don Welch +# Modified by: Don Welch, Sarbeswar Meher # # Std Lib @@ -59,11 +59,12 @@ import threading import time import os -import Queue # Local from base.g import * from base import utils +from base.sixext import to_bytes_utf8 +from base.sixext.moves import queue EVENT_SCAN_CANCELED = 1 @@ -79,8 +80,8 @@ scanext.UNIT_PERCENT: "UNIT_PERCENT", scanext.UNIT_MICROSECOND: "UNIT_MICROSECOND" } -MAX_READSIZE = 65536 +MAX_READSIZE = 65536 class Option: """Class representing a SANE option. @@ -164,7 +165,7 @@ elif type(self.constraint) == type([]): if value not in self.constraint: v = self.constraint[0] - min_dist = sys.maxint + min_dist = sys.maxsize for x in self.constraint: if abs(value-x) < min_dist: min_dist = abs(value-x) @@ -283,24 +284,24 @@ opts = self.options if key == 'optlist': - return opts.keys() + return list(opts.keys()) if key == 'area': return (opts["tl-x"], opts["tl-y"]), (opts["br-x"], opts["br-y"]) if key not in opts: - raise AttributeError, 'No such attribute: %s' % key + raise AttributeError('No such attribute: %s' % key) opt = opts[key] if opt.type == scanext.TYPE_BUTTON: - raise AttributeError, "Buttons don't have values: %s" % key + raise AttributeError("Buttons don't have values: %s" % key) if opt.type == scanext.TYPE_GROUP: - raise AttributeError, "Groups don't have values: %s " % key + raise AttributeError("Groups don't have values: %s " % key) if not scanext.isOptionActive(opt.cap): - raise AttributeError, 'Inactive option: %s' % key + raise AttributeError('Inactive option: %s' % key) return self.dev.getOption(opt.index) @@ -360,7 +361,7 @@ s = self.scan_thread return s.buffer, s.format, s.format_name, s.pixels_per_line, \ - s.lines, s.depth, s.bytes_per_line, s.pad_bytes, s.total_read + s.lines, s.depth, s.bytes_per_line, s.pad_bytes, s.total_read, s.total_write def freeScan(self): @@ -414,7 +415,7 @@ def closeScan(self): "Close the SANE device after a scan." self.dev.closeScan() - + class ScanThread(threading.Thread): @@ -435,8 +436,8 @@ self.bytes_per_line = -1 self.pad_bytes = -1 self.total_read = 0 - self.total_write = 0 self.byte_format = byte_format + self.total_write = 0 def updateQueue(self, status, bytes_read): @@ -451,6 +452,7 @@ def run(self): + from base.sixext import to_bytes_utf8 #self.scan_active = True self.format, self.format_name, self.last_frame, self.pixels_per_line, \ self.lines, self.depth, self.bytes_per_line = self.dev.getParameters() @@ -465,7 +467,6 @@ log.debug("byte_format=%s" % self.byte_format) w = self.buffer.write - #To get the exact buffer to read readbuffer = self.bytes_per_line if self.format == scanext.FRAME_RGB: # "Color" @@ -480,16 +481,14 @@ try: st, t = self.dev.readScan(readbuffer) - except scanext.error, st: + except scanext.error as stObj: + st = stObj.args[0] self.updateQueue(st, 0) - #print st while st == scanext.SANE_STATUS_GOOD: - if t: len_t = len(t) - w("".join([t[index:index+3:dir] + '\xff' for index in range(0,len_t - self.pad_bytes,3)])) - + w(b"".join([t[index:index+3:dir] + b'\xff' for index in range(0,len_t - self.pad_bytes,3)])) self.total_read += len_t self.total_write += len_t+(len_t - self.pad_bytes)/3 self.updateQueue(st, self.total_read) @@ -500,7 +499,8 @@ try: st, t = self.dev.readScan(readbuffer) - except scanext.error, st: + except scanext.error as stObj: + st = stObj.args[0] self.updateQueue(st, self.total_read) break @@ -516,28 +516,14 @@ try: st, t = self.dev.readScan(readbuffer) - except scanext.error, st: + except scanext.error as stObj: + st = stObj.args[0] self.updateQueue(st, 0) while st == scanext.SANE_STATUS_GOOD: - if t: len_t = len(t) - index = 0 - while index < len_t - self.pad_bytes: - k = 0x80 - j = ord(t[index]) - - for b in range(8): - if k & j: - w("\x00\x00\x00\xff") - else: - w("\xff\xff\xff\xff") - - k = k >> 1 - - index += 1 - + w(b''.join([b''.join([b"\x00\x00\x00\xff" if k & ord(t[index:index+1]) else b"\xff\xff\xff\xff" for k in [0x80, 0x40, 0x20, 0x10, 0x8, 0x4, 0x2, 0x1]]) for index in range(0, len_t - self.pad_bytes)])) self.total_read += len_t self.total_write += ((len_t - self.pad_bytes) * 32) self.updateQueue(st, self.total_read) @@ -547,29 +533,26 @@ try: st, t = self.dev.readScan(readbuffer) - except scanext.error, st: + except scanext.error as stObj: + st = stObj.args[0] self.updateQueue(st, self.total_read) break if self.checkCancel(): break - elif self.depth == 8: # 8 bpp grayscale self.pad_bytes = self.bytes_per_line - self.pixels_per_line log.debug("pad_bytes=%d" % self.pad_bytes) - try: st, t = self.dev.readScan(readbuffer) - except scanext.error, st: + except scanext.error as stObj: + st = stObj.args[0] self.updateQueue(st, 0) - while st == scanext.SANE_STATUS_GOOD: - if t: len_t = len(t) - w("".join([3*t[index:index+1] + '\xff' for index in range(0, len_t - self.pad_bytes)])) - + w(b"".join([3*t[index:index+1] + b'\xff' for index in range(0, len_t - self.pad_bytes)])) self.total_read += len_t self.total_write += ((len_t - self.pad_bytes) * 4) self.updateQueue(st, self.total_read) @@ -579,7 +562,8 @@ try: st, t = self.dev.readScan(readbuffer) - except scanext.error, st: + except scanext.error as stObj: + st = stObj.args[0] self.updateQueue(st, self.total_read) break @@ -592,6 +576,7 @@ log.debug("Scan thread exiting...") + def checkCancel(self): canceled = False while self.event_queue.qsize(): @@ -600,9 +585,10 @@ if event == EVENT_SCAN_CANCELED: canceled = True log.debug("Cancel pressed!") - self.dev.cancelScan() + self.dev.canclScan() + - except Queue.Empty: + except queue.Empty: break return canceled diff -Nru hplip-3.14.6/scan/scanext/scanext.c hplip-3.15.2/scan/scanext/scanext.c --- hplip-3.14.6/scan/scanext/scanext.c 2014-06-03 06:31:39.000000000 +0000 +++ hplip-3.15.2/scan/scanext/scanext.c 2015-01-29 12:20:15.000000000 +0000 @@ -51,6 +51,43 @@ #include "sane.h" #include +#if PY_MAJOR_VERSION >= 3 + #define PyInt_AsLong PyLong_AsLong + #define PyInt_FromLong PyLong_FromLong + #define PyInt_Check PyLong_Check + #define PyUNICODE_FromUNICODE PyUnicode_FromString + #define PyUNICODE_CHECK PyUnicode_Check + #define FORMAT_STRING "(iy#)" + + #if (PY_VERSION_HEX < 0x03030000) + #define PyUNICODE_AsBYTES(x) PyBytes_AsString(PyUnicode_AsUTF8String(x)) + #else + #define PyUNICODE_AsBYTES PyUnicode_AsUTF8 + #endif + + #define MOD_ERROR_VAL NULL + #define MOD_SUCCESS_VAL(val) val + #define MOD_INIT(name) PyMODINIT_FUNC PyInit_##name(void) + #define MOD_DEF(ob, name, doc, methods) \ + static struct PyModuleDef moduledef = { \ + PyModuleDef_HEAD_INIT, name, doc, -1, methods, }; \ + ob = PyModule_Create(&moduledef); \ + +#else + #define PyUNICODE_FromUNICODE PyString_FromString + #define PyUNICODE_CHECK PyString_Check + #define PyUNICODE_AsBYTES PyString_AsString + #define FORMAT_STRING "(is#)" + + #define MOD_ERROR_VAL + #define MOD_SUCCESS_VAL(val) + #define MOD_INIT(name) void init##name(void) + #define MOD_DEF(ob, name, doc, methods) \ + ob = Py_InitModule3(name, methods, doc); \ + +#endif + +static char scanext_documentation[] = "Python extension for HP scan sane driver"; static PyObject *ErrorObject; typedef struct @@ -102,7 +139,7 @@ return Py_BuildValue("s", sane_strstatus (st)); } -staticforward PyTypeObject ScanDevice_type; +static PyTypeObject ScanDevice_type; #define SaneDevObject_Check(v) ((v)->ob_type == &ScanDevice_type) @@ -295,7 +332,7 @@ for (j = 0; d->constraint.string_list[j] != NULL; j++) PyList_Append (constraint, - PyString_FromString (d->constraint. + PyUNICODE_FromUNICODE (d->constraint. string_list[j])); break; } @@ -406,11 +443,11 @@ break; case (SANE_TYPE_STRING): - if (!PyString_Check (value)) + if (!PyUNICODE_CHECK (value)) return raiseError("SANE_String requires a a string."); SANE_String s = malloc (d->size + 1); - strncpy (s, PyString_AsString (value), d->size - 1); + strncpy (s, PyUNICODE_AsBYTES (value), d->size - 1); ((SANE_String) s)[d->size - 1] = 0; st = sane_control_option (self->h, n, SANE_ACTION_SET_VALUE, (void *)s, &i); free(s); @@ -482,7 +519,7 @@ return raiseSaneError(st); } - return Py_BuildValue ("(iz#)", st, buffer, len); + return Py_BuildValue (FORMAT_STRING, st, buffer, len); } @@ -501,29 +538,50 @@ {NULL, NULL} }; -static PyObject *getAttr (_ScanDevice * self, char *name) -{ - return Py_FindMethod (ScanDevice_methods, (PyObject *) self, name); -} -staticforward PyTypeObject ScanDevice_type = { - PyObject_HEAD_INIT (&PyType_Type) 0, /*ob_size */ - "_ScanDevice", /*tp_name */ - sizeof (_ScanDevice), /*tp_basicsize */ - 0, /*tp_itemsize */ - /* methods */ - (destructor) deAlloc, /*tp_dealloc */ - 0, /*tp_print */ - (getattrfunc) getAttr, /*tp_getattr */ - 0, /*tp_setattr */ - 0, /*tp_compare */ - 0, /*tp_repr */ - 0, /*tp_as_number */ - 0, /*tp_as_sequence */ - 0, /*tp_as_mapping */ - 0, /*tp_hash */ +static PyTypeObject ScanDevice_type = +{ + PyVarObject_HEAD_INIT( &PyType_Type, 0 ) /* ob_size */ + "_ScanDevice", /* tp_name */ + sizeof(_ScanDevice ), /* tp_basicsize */ + 0, /* tp_itemsize */ + ( destructor ) deAlloc, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_compare */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + PyObject_GenericGetAttr, /* tp_getattro */ + PyObject_GenericSetAttr, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ + "Scan Device object", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + ScanDevice_methods, /*job_methods, */ /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + 0, /* tp_init */ + 0, /* tp_alloc */ + 0, /* tp_new */ }; + /* --------------------------------------------------------------------- */ static void auth_callback (SANE_String_Const resource, @@ -655,7 +713,6 @@ {NULL, NULL} /* sentinel */ }; - static void insint (PyObject * d, char *name, int value) { PyObject *v = PyInt_FromLong ((long) value); @@ -666,18 +723,39 @@ Py_DECREF (v); } -void initscanext (void) -{ - PyObject *m, *d; +#if PY_MAJOR_VERSION >= 3 + static struct PyModuleDef moduledef = { + PyModuleDef_HEAD_INIT, + "scanext", /* m_name */ + scanext_documentation, /* m_doc */ + -1, /* m_size */ + ScanExt_methods, /* m_methods */ + NULL, /* m_reload */ + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL, /* m_free */ + }; + +#endif - /* Create the module and add the functions */ - m = Py_InitModule ("scanext", ScanExt_methods); + +MOD_INIT(scanext) { + PyObject* mod ; + MOD_DEF(mod, "scanext", scanext_documentation, ScanExt_methods); + if (mod == NULL) + return MOD_ERROR_VAL; /* Add some symbolic constants to the module */ - d = PyModule_GetDict (m); - ErrorObject = PyString_FromString ("scanext.error"); + PyObject* d = PyModule_GetDict(mod); + ErrorObject = PyErr_NewException("scanext.error", NULL, NULL); + if (ErrorObject == NULL) + { + Py_DECREF(mod); + return MOD_ERROR_VAL; + } PyDict_SetItemString (d, "error", ErrorObject); + insint (d, "INFO_INEXACT", SANE_INFO_INEXACT); insint (d, "INFO_RELOAD_OPTIONS", SANE_INFO_RELOAD_OPTIONS); insint (d, "RELOAD_PARAMS", SANE_INFO_RELOAD_PARAMS); @@ -745,4 +823,5 @@ if (PyErr_Occurred ()) Py_FatalError ("can't initialize module scanext"); + return MOD_SUCCESS_VAL(mod); } diff -Nru hplip-3.14.6/scan.py hplip-3.15.2/scan.py --- hplip-3.14.6/scan.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/scan.py 2015-01-29 12:20:49.000000000 +0000 @@ -21,7 +21,7 @@ # Contributors: Sarbeswar Meher # -from __future__ import division + __version__ = '2.2' __mod__ = 'hp-scan' @@ -40,6 +40,7 @@ # Local from base.g import * +from base.sixext import PY3 from base import tui, device, module, utils, os_utils from prnt import cups @@ -171,7 +172,7 @@ ("", "Coordinates are relative to the upper left corner of the scan area.", "option", False), ("", "Units are specified by -t/--units (default is 'mm').", "option", False), ("Specify the scan area based on a paper size:", "--size=", "option", False), - ("", "where is one of: %s" % ', '.join(PAGE_SIZES.keys()), "option", False), + ("", "where is one of: %s" % ', '.join(list(PAGE_SIZES.keys())), "option", False), utils.USAGE_SPACE, ("[OPTIONS] ('file' dest)", "", "header", False), ("Filename for 'file' destination:", "-o or -f or --file= or --output=", "option", False), @@ -221,10 +222,12 @@ ]) - device_uri = mod.getDeviceUri(device_uri, printer_name, back_end_filter=['hpaio'], filter={'scan-type': (operator.gt, 0)}) + if not device_uri: + sys.exit(1) + for o, a in opts: if o in ('-x', '--compression'): a = a.strip().lower() @@ -416,7 +419,7 @@ tlx, tly = 0, 0 page_size = size else: - log.error("Invalid page size. Valid page sizes are: %s" % ', '.join(PAGE_SIZES.keys())) + log.error("Invalid page size. Valid page sizes are: %s" % ', '.join(list(PAGE_SIZES.keys()))) log.error("Using defaults.") elif o in ('-o', '--output', '-f', '--file'): @@ -598,10 +601,9 @@ else: # INTERACTIVE_MODE - import Queue + from base.sixext.moves import queue from scan import sane import scanext - import cStringIO try: import subprocess @@ -613,6 +615,8 @@ from PIL import Image except ImportError: log.error("%s requires the Python Imaging Library (PIL). Exiting." % __mod__) + if PY3: # Workaround due to incomplete Python3 support in Linux distros. + log.notice(log.bold("Manually install the PIL package. More information is available at http://hplipopensource.com/node/369")) sys.exit(1) sane.init() @@ -631,8 +635,8 @@ try: device = sane.openDevice(device_uri) - except scanext.error, e: - sane.reportError(e) + except scanext.error as e: + sane.reportError(e.args[0]) sys.exit(1) try: @@ -698,7 +702,7 @@ log.warn("Invalid resolution. Using closest valid resolution of %d dpi" % res) log.warn("Valid resolutions are %s dpi." % ', '.join([str(x) for x in valid_res])) res = valid_res[0] - min_dist = sys.maxint + min_dist = sys.maxsize for x in valid_res: if abs(r-x) < min_dist: min_dist = abs(r-x) @@ -709,8 +713,10 @@ if scan_mode == 'color': scan_size = scan_px * 3 # 3 bytes/px - else: + elif scan_mode == 'gray': scan_size = scan_px # 1 byte/px + else: # lineart + scan_size = scan_px // 8 if scan_size > 52428800: # 50MB if res > 600: @@ -733,6 +739,8 @@ contrast = int(valid_contrast[0]) elif contrast > int(valid_contrast[1]): contrast = int(valid_contrast[1]) + + device.setOption('contrast', contrast) if set_brightness: @@ -805,8 +813,8 @@ if 'file' in dest: log.info("Output file: %s" % output) - update_queue = Queue.Queue() - event_queue = Queue.Queue() + update_queue = queue.Queue() + event_queue = queue.Queue() available_scan_mode = device.getOptionObj("mode").constraint available_scan_mode = [x.lower() for x in available_scan_mode] @@ -881,8 +889,8 @@ ok, expected_bytes, status = device.startScan("RGBA", update_queue, event_queue) # Note: On some scanners (Marvell) expected_bytes will be < 0 (if lines == -1) log.debug("expected_bytes = %d" % expected_bytes) - except scanext.error, e: - sane.reportError(e) + except scanext.error as e: + sane.reportError(e.args[0]) sys.exit(1) except KeyboardInterrupt: log.error("Aborted.") @@ -905,7 +913,7 @@ log.debug("Expecting to read %s from scanner." % utils.format_bytes(expected_bytes)) device.waitForScanActive() - + pm = tui.ProgressMeter("Reading data:") while device.isScanActive(): @@ -925,7 +933,7 @@ log.error("Error in reading data. Status=%d bytes_read=%d." % (status, bytes_read)) sys.exit(1) - except Queue.Empty: + except queue.Empty: break @@ -957,10 +965,10 @@ log.info("Read %s from scanner." % utils.format_bytes(bytes_read)) buffer, format, format_name, pixels_per_line, \ - lines, depth, bytes_per_line, pad_bytes, total_read = device.getScan() + lines, depth, bytes_per_line, pad_bytes, total_read, total_write = device.getScan() - log.debug("PPL=%d lines=%d depth=%d BPL=%d pad=%d total=%d" % - (pixels_per_line, lines, depth, bytes_per_line, pad_bytes, total_read)) + log.debug("PPL=%d lines=%d depth=%d BPL=%d pad=%d total_read=%d total_write=%d" % + (pixels_per_line, lines, depth, bytes_per_line, pad_bytes, total_read, total_write)) #For Marvell devices, expected bytes is not same as total_read if lines == -1 or total_read != expected_bytes: @@ -1050,14 +1058,14 @@ try: im.save(output) - except IOError, e: + except IOError as e: log.error("Error saving file: %s (I/O)" % e) try: os.remove(output) except OSError: pass sys.exit(1) - except ValueError, e: + except ValueError as e: log.error("Error saving file: %s (PIL)" % e) try: os.remove(output) @@ -1075,7 +1083,7 @@ output_fd, output = utils.make_temp_file(suffix='.png') try: im.save(output) - except IOError, e: + except IOError as e: log.error("Error saving temporary file: %s" % e) try: @@ -1123,8 +1131,8 @@ if dest_printer is not None: cmd = '%s -p %s %s &' % (hp_print, dest_printer, output) elif dest_devUri is not None: - tmp = dest_devUri.partition(":")[2] - dest_devUri = "hp:" + tmp + tmp = dest_devUri.partition(":")[2] + dest_devUri = "hp:" + tmp cmd = '%s -d %s %s &' % (hp_print, dest_devUri, output) else: cmd = '%s %s &' % (hp_print, output) @@ -1185,7 +1193,7 @@ std_out, std_err = sp.communicate(msg.as_string()) if std_err != '': err = std_err - except OSError, e: + except OSError as e: err = str(e) cleanup_spinner() @@ -1212,6 +1220,7 @@ log.error("Editor not found.") device.freeScan() + device.closeScan() sane.deInit() diff -Nru hplip-3.14.6/sendfax.py hplip-3.15.2/sendfax.py --- hplip-3.14.6/sendfax.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/sendfax.py 2015-01-29 12:20:49.000000000 +0000 @@ -35,12 +35,13 @@ import signal import time import operator +import subprocess # Local from base.g import * import base.utils as utils from base import device, tui, module - +from base.sixext import to_unicode, to_string_utf8 username = prop.username faxnum_list = [] recipient_list = [] @@ -89,8 +90,11 @@ log.error("Fax is disabled (turned off during build). Exiting") sys.exit(1) -printer_name, device_uri = mod.getPrinterName(printer_name, device_uri, - filter={'fax-type': (operator.gt, 0)}, back_end_filter=['hpfax']) +sts, printer_name, device_uri = mod.getPrinterName(printer_name, device_uri, + filter={'fax-type': (operator.gt, 0)}, back_end_filter=['hpfax']) + +if not sts: + sys.exit(1) if mode == GUI_MODE: if ui_toolkit == 'qt3': @@ -198,7 +202,6 @@ sys.exit(1) app = QApplication(sys.argv) - dlg = SendFaxDialog(None, printer_name, device_uri, mod.args) dlg.show() @@ -217,7 +220,10 @@ sys.exit(1) try: - import struct, Queue + import struct + from base.sixext.moves import queue + from base.sixext import PY3 + from base.sixext import to_unicode from prnt import cups from base import magic @@ -285,7 +291,7 @@ aa = db.get(a) log.info("%s (fax number: %s)" % (a, aa['fax'])) - print + print() sys.exit(1) for p in recipient_list: @@ -295,7 +301,7 @@ log.debug("Name=%s Number=%s" % (a['name'], a['fax'])) for p in faxnum_list: - phone_num_list.append({'fax': p, 'name': u'Unknown'}) + phone_num_list.append({'fax': p, 'name': to_unicode('Unknown')}) log.debug("Number=%s" % p) log.debug("Phone num list = %s" % phone_num_list) @@ -305,6 +311,20 @@ allowable_mime_types = cups.getAllowableMIMETypes() + stat = '' + try : + p = subprocess.Popen('getenforce', stdout=subprocess.PIPE, stderr=subprocess.PIPE) + stat, err = p.communicate() + stat = to_string_utf8(stat) + except OSError : + pass + except : + log.exception() + sys.exit(1) + if stat.strip('\n') == 'Enforcing' : + log.error('Unable to add file. Please disable SeLinux.\nEither disable it manually or run hp-doctor from terminal.') + sys.exit(0) + for f in mod.args: path = os.path.realpath(f) log.debug(path) @@ -329,7 +349,7 @@ ppd_file = cups.getPPD(printer_name) if ppd_file is not None and os.path.exists(ppd_file): - if file(ppd_file, 'r').read(8192).find('HP Fax') == -1: + if open(ppd_file, 'rb').read(8192).find(b'HP Fax') == -1: log.error("Fax configuration error. The CUPS fax queue for '%s' is incorrectly configured. Please make sure that the CUPS fax queue is configured with the 'HP Fax' Model/Driver." % printer_name) sys.exit(1) @@ -349,14 +369,14 @@ if mime_type == 'application/hplip-fax': # .g3 log.info("\nPreparing fax file %s..." % f) - fax_file_fd = file(f, 'r') + fax_file_fd = open(f, 'rb') header = fax_file_fd.read(fax.FILE_HEADER_SIZE) fax_file_fd.close() mg, version, pages, hort_dpi, vert_dpi, page_size, \ resolution, encoding, reserved1, reserved2 = struct.unpack(">8sBIHHBBBII", header) - if mg != 'hplip_g3': + if mg != b'hplip_g3': log.error("%s: Invalid file header. Bad magic." % f) sys.exit(1) @@ -393,6 +413,8 @@ if printer_state == cups.IPP_PRINTER_STATE_IDLE: log.debug("Printer name = %s file = %s" % (printer_name, path)) + path = to_unicode(path, 'utf-8') + sent_job_id = cups.printFile(printer_name, path, os.path.basename(path)) log.info("\nRendering file '%s' (job %d)..." % (path, sent_job_id)) log.debug("Job ID=%d" % sent_job_id) @@ -426,7 +448,8 @@ if fax_file: log.debug("Fax file=%s" % fax_file) - title = str(result[5]) + #title = str(result[5]) + title = result[5] break time.sleep(1) @@ -437,7 +460,7 @@ sys.exit(1) # open the rendered file to read the file header - f = file(fax_file, 'r') + f = open(fax_file, 'rb') header = f.read(fax.FILE_HEADER_SIZE) if len(header) != fax.FILE_HEADER_SIZE: @@ -466,12 +489,12 @@ try: dev.open() - except Error, e: + except Error as e: log.warn(e.msg) try: dev.queryDevice(quick=True) - except Error, e: + except Error as e: log.error("Query device error (%s)." % e.msg) dev.error_state = ERROR_STATE_ERROR @@ -490,8 +513,8 @@ service.SendEvent(device_uri, printer_name, EVENT_START_FAX_JOB, prop.username, 0, '') - update_queue = Queue.Queue() - event_queue = Queue.Queue() + update_queue = queue.Queue() + event_queue = queue.Queue() log.info("\nSending fax...") @@ -509,7 +532,7 @@ while update_queue.qsize(): try: status, page_num, phone_num = update_queue.get(0) - except Queue.Empty: + except queue.Empty: break if status == fax.STATUS_IDLE: diff -Nru hplip-3.14.6/setup.py hplip-3.15.2/setup.py --- hplip-3.14.6/setup.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/setup.py 2015-01-29 12:20:49.000000000 +0000 @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python # -*- coding: utf-8 -*- # # (c) Copyright 2003-2009 Hewlett-Packard Development Company, L.P. @@ -44,6 +44,8 @@ from base.g import * from base import device, utils, tui, models, module, services, os_utils from prnt import cups +from base.sixext.moves import input +from base.sixext import to_unicode, from_unicode_to_str pm = None @@ -282,8 +284,8 @@ try: from PyQt4.QtGui import QApplication, QMessageBox from ui4.setupdialog import SetupDialog - except ImportError: - log.error("Unable to load Qt4 support. Is it installed?") + except ImportError as e: + log.error("Unable to load Qt4 support. Is it installed? %s" % e) clean_exit(1) app = QApplication(sys.argv) @@ -309,15 +311,15 @@ #Removing Queue if remove: tui.header("REMOVING PRINT/FAX QUEUE") - remove_device = mod.getPrinterName(selected_device_name,None,['hp','hpfax']) - selected_device_name = remove_device[0] - log.info (log.bold("Removing '%s : %s' Queue"%(remove_device[0],remove_device[1]))) + sts, printer_name, device_uri = mod.getPrinterName(selected_device_name,None,['hp','hpfax']) + selected_device_name = printer_name + log.info (log.bold("Removing '%s : %s' Queue"%(printer_name, device_uri))) status, status_str = cups.cups_operation(cups.delPrinter, INTERACTIVE_MODE, '', None, selected_device_name) if cups.IPP_OK == status: log.info("Successfully deleted %s Print/Fax queue"%selected_device_name) - utils.sendEvent(EVENT_CUPS_QUEUES_REMOVED,remove_device[1], remove_device[0]) + utils.sendEvent(EVENT_CUPS_QUEUES_REMOVED,device_uri, printer_name) clean_exit(0) else: log.error("Failed to delete %s Print/Fax queue. Error : %s"%(selected_device_name,status_str)) @@ -346,8 +348,10 @@ if not device_uri: log.debug("\nDEVICE CHOOSER setup_fax=%s, setup_print=%s" % (setup_fax, setup_print)) - device_uri = mod.getDeviceUri(device_uri, selected_device_name, devices = device.probeDevices(bus)) + device_uri = mod.getDeviceUri(devices = device.probeDevices(bus)) + if not device_uri: + clean_exit(0) # ******************************* QUERY MODEL AND COLLECT PPDS log.info(log.bold("\nSetting up device: %s\n" % device_uri)) @@ -406,12 +410,12 @@ default_model = utils.xstrip(model.replace('series', '').replace('Series', ''), '_') installed_print_devices = device.getSupportedCUPSDevices(['hp']) - for d in installed_print_devices.keys(): + for d in list(installed_print_devices.keys()): for p in installed_print_devices[d]: log.debug("found print queue '%s'" % p) installed_fax_devices = device.getSupportedCUPSDevices(['hpfax']) - for d in installed_fax_devices.keys(): + for d in list(installed_fax_devices.keys()): for f in installed_fax_devices[d]: log.debug("found fax queue '%s'" % f) @@ -448,7 +452,7 @@ if not auto: if printer_name is None: while True: - printer_name = raw_input(log.bold("\nPlease enter a name for this print queue (m=use model name:'%s'*, q=quit) ?" % printer_default_model)) + printer_name = input(log.bold("\nPlease enter a name for this print queue (m=use model name:'%s'*, q=quit) ?" % printer_default_model)) if printer_name.lower().strip() == 'q': log.info("OK, done.") @@ -459,14 +463,14 @@ name_ok = True - for d in installed_print_devices.keys(): + for d in list(installed_print_devices.keys()): for p in installed_print_devices[d]: if printer_name == p: log.error("A print queue with that name already exists. Please enter a different name.") name_ok = False break - for d in installed_fax_devices.keys(): + for d in list(installed_fax_devices.keys()): for f in installed_fax_devices[d]: if printer_name == f: log.error("A fax queue with that name already exists. Please enter a different name.") @@ -519,7 +523,7 @@ ok = False while True: - user_input = raw_input(log.bold("\nPlease enter the full filesystem path to the PPD file to use (q=quit) :")) + user_input = input(log.bold("\nPlease enter the full filesystem path to the PPD file to use (q=quit) :")) if user_input.lower().strip() == 'q': log.info("OK, done.") @@ -532,7 +536,7 @@ if file_path.endswith('.gz'): nickname = gzip.GzipFile(file_path, 'r').read(4096) else: - nickname = file(file_path, 'r').read(4096) + nickname = open(file_path, 'r').read(4096) try: desc = nickname_pat.search(nickname).group(1) @@ -561,7 +565,7 @@ location, info = '', '%s Device (Automatically setup by HPLIP)'%(default_model.replace('_',' ')) else: while True: - location = raw_input(log.bold("Enter a location description for this printer (q=quit) ?")) + location = input(log.bold("Enter a location description for this printer (q=quit) ?")) if location.strip().lower() == 'q': log.info("OK, done.") @@ -571,7 +575,7 @@ break while True: - info = raw_input(log.bold("Enter additonal information or notes for this printer (q=quit) ?")) + info = input(log.bold("Enter additonal information or notes for this printer (q=quit) ?")) if info.strip().lower() == 'q': log.info("OK, done.") @@ -593,9 +597,9 @@ time.sleep(1) if not os.path.exists(print_ppd): # assume foomatic: or some such - add_prnt_args = (printer_name.encode('utf8'), print_uri, location, '', print_ppd, info) + add_prnt_args = (printer_name, print_uri, location, '', print_ppd, info) else: - add_prnt_args = (printer_name.encode('utf8'), print_uri, location, print_ppd, '', info) + add_prnt_args = (printer_name, print_uri, location, print_ppd, '', info) status, status_str = cups.cups_operation(cups.addPrinter, INTERACTIVE_MODE, '', None, *add_prnt_args) @@ -668,7 +672,7 @@ if not auto: if fax_name is None: while True: - fax_name = raw_input(log.bold("\nPlease enter a name for this fax queue (m=use model name:'%s'*, q=quit) ?" % fax_default_model)) + fax_name = input(log.bold("\nPlease enter a name for this fax queue (m=use model name:'%s'*, q=quit) ?" % fax_default_model)) if fax_name.lower().strip() == 'q': log.info("OK, done.") @@ -679,14 +683,14 @@ name_ok = True - for d in installed_print_devices.keys(): + for d in list(installed_print_devices.keys()): for p in installed_print_devices[d]: if fax_name == p: log.error("A print queue with that name already exists. Please enter a different name.") name_ok = False break - for d in installed_fax_devices.keys(): + for d in list(installed_fax_devices.keys()): for f in installed_fax_devices[d]: if fax_name == f: log.error("A fax queue with that name already exists. Please enter a different name.") @@ -715,7 +719,7 @@ location, info = '', '%s Fax Device (Automatically setup by HPLIP)'%(default_model.replace('_',' ')) else: while True: - location = raw_input(log.bold("Enter a location description for this printer (q=quit) ?")) + location = input(log.bold("Enter a location description for this printer (q=quit) ?")) if location.strip().lower() == 'q': log.info("OK, done.") @@ -725,7 +729,7 @@ break while True: - info = raw_input(log.bold("Enter additonal information or notes for this printer (q=quit) ?")) + info = input(log.bold("Enter additonal information or notes for this printer (q=quit) ?")) if info.strip().lower() == 'q': log.info("OK, done.") @@ -743,10 +747,10 @@ cups.setPasswordPrompt("You do not have permission to add a fax device.") if not os.path.exists(fax_ppd): # assume foomatic: or some such - status, status_str = cups.addPrinter(fax_name.encode('utf8'), fax_uri, + status, status_str = cups.addPrinter(fax_name, fax_uri, location, '', fax_ppd, info) else: - status, status_str = cups.addPrinter(fax_name.encode('utf8'), fax_uri, + status, status_str = cups.addPrinter(fax_name, fax_uri, location, fax_ppd, '', info) log.debug("addPrinter() returned (%d, %s)" % (status, status_str)) @@ -768,7 +772,7 @@ setup_fax = False else: while True: - user_input = raw_input(log.bold("\nWould you like to perform fax header setup (y=yes*, n=no, q=quit) ?")).strip().lower() + user_input = input(log.bold("\nWould you like to perform fax header setup (y=yes*, n=no, q=quit) ?")).strip().lower() if user_input == 'q': log.info("OK, done.") @@ -801,7 +805,7 @@ try: current_phone_num = str(d.getPhoneNum()) - current_station_name = d.getStationName() + current_station_name = to_unicode(d.getStationName()) except Error: log.error("Could not communicate with device. Device may be busy. Please wait for retry...") time.sleep(5) @@ -817,9 +821,9 @@ if ok: while True: if current_phone_num: - phone_num = raw_input(log.bold("\nEnter the fax phone number for this device (c=use current:'%s'*, q=quit) ?" % current_phone_num)) + phone_num = input(log.bold("\nEnter the fax phone number for this device (c=use current:'%s'*, q=quit) ?" % current_phone_num)) else: - phone_num = raw_input(log.bold("\nEnter the fax phone number for this device (q=quit) ?")) + phone_num = input(log.bold("\nEnter the fax phone number for this device (q=quit) ?")) if phone_num.strip().lower() == 'q': log.info("OK, done.") clean_exit(0) @@ -845,20 +849,22 @@ while True: if current_station_name: - station_name = raw_input(log.bold("\nEnter the name and/or company for this device (c=use current:'%s'*, q=quit) ?" % current_station_name.encode('utf-8'))) + station_name = input(log.bold("\nEnter the name and/or company for this device (c=use current:'%s'*, q=quit) ?"%from_unicode_to_str(current_station_name))) else: - station_name = raw_input(log.bold("\nEnter the name and/or company for this device (q=quit) ?")) - + station_name = input(log.bold("\nEnter the name and/or company for this device (q=quit) ?")) if station_name.strip().lower() == 'q': log.info("OK, done.") clean_exit(0) if current_station_name and (not station_name or station_name.strip().lower() == 'c'): station_name = current_station_name - - if isinstance(station_name, str): - station_name = station_name.decode('utf-8') + ### Here station_name can be unicode or utf-8 sequence. + ### making sure to convert data to unicode for all the cases. + try: + station_name.encode('utf-8') + except (UnicodeEncodeError,UnicodeDecodeError): + station_name = station_name.decode('utf-8') if len(station_name) > 50: log.error("Name/company length is too long (>50 characters). Please enter a shorter name/company.") diff -Nru hplip-3.14.6/testpage.py hplip-3.15.2/testpage.py --- hplip-3.14.6/testpage.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/testpage.py 2015-01-29 12:20:49.000000000 +0000 @@ -49,8 +49,12 @@ 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 + sts, printer_name, device_uri = mod.getPrinterName(printer_name, device_uri) + + if not sts: + log.error("No installed printers found (or) Invalid printer device selected") + sys.exit(1) if mode == GUI_MODE: if not utils.canEnterGUIMode4(): @@ -69,7 +73,6 @@ if 1: app = QApplication(sys.argv) - dialog = PrintTestPageDialog(None, printer_name) dialog.show() try: @@ -84,7 +87,7 @@ #else: # INTERACTIVE_MODE try: d = device.Device(device_uri, printer_name) - except Error, e: + except Error as e: log.error("Device error (%s)." % e.msg) sys.exit(1) @@ -104,7 +107,7 @@ log.info( "Printing test page to printer %s..." % printer_name) try: d.printTestPage(printer_name) - except Error, e: + except Error as e: 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: @@ -121,7 +124,7 @@ try: d.queryDevice(quick=True) - except Error, e: + except Error as e: log.error("An error has occured.") if d.error_state == ERROR_STATE_CLEAR: diff -Nru hplip-3.14.6/timedate.py hplip-3.15.2/timedate.py --- hplip-3.14.6/timedate.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/timedate.py 2015-01-29 12:20:49.000000000 +0000 @@ -73,9 +73,12 @@ filter={'fax-type': (operator.gt, 0)}, back_end_filter=['hpfax']) + if not device_uri: + sys.exit(1) + try: d = faxdevice.FaxDevice(device_uri, printer_name, disable_dbus=True) - except Error, e: + except Error as e: if e.opt == ERROR_DEVICE_DOES_NOT_SUPPORT_OPERATION: log.error("Device does not support setting time/date.") sys.exit(1) diff -Nru hplip-3.14.6/toolbox.py hplip-3.15.2/toolbox.py --- hplip-3.14.6/toolbox.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/toolbox.py 2015-01-29 12:20:49.000000000 +0000 @@ -35,6 +35,7 @@ # Local from base.g import * +#from . import base.utils as utils import base.utils as utils from base import status, tui, module @@ -187,7 +188,7 @@ log.debug("Killing child toolbox process (pid=%d)..." % child_pid) try: os.kill(child_pid, signal.SIGKILL) - except OSError, e: + except OSError as e: log.debug("Failed: %s" % e.message) mod.unlockInstance() @@ -206,7 +207,7 @@ try: session_bus = dbus.SessionBus() - except dbus.exceptions.DBusException, e: + except dbus.exceptions.DBusException as e: if os.getuid() != 0: log.error("Unable to connect to dbus session bus. Exiting.") sys.exit(1) @@ -231,7 +232,7 @@ log.debug("Killing parent toolbox process (pid=%d)..." % parent_pid) try: os.kill(parent_pid, signal.SIGKILL) - except OSError, e: + except OSError as e: log.debug("Failed: %s" % e.message) mod.unlockInstance() diff -Nru hplip-3.14.6/ui/aboutdlg.py hplip-3.15.2/ui/aboutdlg.py --- hplip-3.14.6/ui/aboutdlg.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/aboutdlg.py 2015-01-29 12:20:22.000000000 +0000 @@ -28,8 +28,8 @@ # Local from base.g import * -from aboutdlg_base import AboutDlg_base -from ui_utils import load_pixmap +from .aboutdlg_base import AboutDlg_base +from .ui_utils import load_pixmap class AboutDlg(AboutDlg_base): diff -Nru hplip-3.14.6/ui/align10form.py hplip-3.15.2/ui/align10form.py --- hplip-3.14.6/ui/align10form.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/align10form.py 2015-01-29 12:20:22.000000000 +0000 @@ -24,11 +24,11 @@ # Local from base.g import * from base import maint -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt from qt import * -from align10form_base import Align10Form_Base +from .align10form_base import Align10Form_Base # Also supports align-type==11 class Align10Form(Align10Form_Base): @@ -47,7 +47,7 @@ def getValues(self): ret = [] - controls = self.controls.keys() + controls = list(self.controls.keys()) controls.sort() for line in controls: diff -Nru hplip-3.14.6/ui/align13form.py hplip-3.15.2/ui/align13form.py --- hplip-3.14.6/ui/align13form.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/align13form.py 2015-01-29 12:20:22.000000000 +0000 @@ -26,7 +26,7 @@ # Qt from qt import * -from align13form_base import Align13Form_Base +from .align13form_base import Align13Form_Base class Align13Form(Align13Form_Base): diff -Nru hplip-3.14.6/ui/alignform.py hplip-3.15.2/ui/alignform.py --- hplip-3.14.6/ui/alignform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/alignform.py 2015-01-29 12:20:22.000000000 +0000 @@ -23,7 +23,7 @@ # Local from base.g import * -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt from qt import * @@ -71,11 +71,11 @@ ChoiceLayout = QHBoxLayout(None,0,6,"ChoiceLayout") for x in range(1, choice_count+1): - exec 'self.radioButton%d = QRadioButton( self.buttonGroup, "radioButton%d" )' % (x, x) - exec 'self.radioButton%d.setText( "%s%d" )' % (x, line_id, x) + exec('self.radioButton%d = QRadioButton( self.buttonGroup, "radioButton%d" )' % (x, x)) + exec('self.radioButton%d.setText( "%s%d" )' % (x, line_id, x)) if x == mid_point: - exec 'self.radioButton%d.setChecked( 1 )' % x - exec 'ChoiceLayout.addWidget( self.radioButton%d )' % x + exec('self.radioButton%d.setChecked( 1 )' % x) + exec('ChoiceLayout.addWidget( self.radioButton%d )' % x) buttonGroupLayout.addMultiCellLayout(ChoiceLayout, 1, 1, 0, 1) diff -Nru hplip-3.14.6/ui/aligntype6form1.py hplip-3.15.2/ui/aligntype6form1.py --- hplip-3.14.6/ui/aligntype6form1.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/aligntype6form1.py 2015-01-29 12:20:22.000000000 +0000 @@ -20,7 +20,7 @@ # from qt import * -from aligntype6form1_base import AlignType6Form1_base +from .aligntype6form1_base import AlignType6Form1_base class AlignType6Form1(AlignType6Form1_base): diff -Nru hplip-3.14.6/ui/aligntype6form2.py hplip-3.15.2/ui/aligntype6form2.py --- hplip-3.14.6/ui/aligntype6form2.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/aligntype6form2.py 2015-01-29 12:20:22.000000000 +0000 @@ -20,7 +20,7 @@ # from qt import * -from aligntype6form2_base import AlignType6Form2_base +from .aligntype6form2_base import AlignType6Form2_base class AlignType6Form2(AlignType6Form2_base): def __init__(self,parent = None,name = None,modal = 0,fl = 0): diff -Nru hplip-3.14.6/ui/allowabletypesdlg.py hplip-3.15.2/ui/allowabletypesdlg.py --- hplip-3.14.6/ui/allowabletypesdlg.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/allowabletypesdlg.py 2015-01-29 12:20:22.000000000 +0000 @@ -20,7 +20,7 @@ # from qt import * -from allowabletypesdlg_base import AllowableTypesDlg_base +from .allowabletypesdlg_base import AllowableTypesDlg_base class AllowableTypesDlg(AllowableTypesDlg_base): def __init__(self, allowables, parent=None, name=None, modal=0, fl=0): diff -Nru hplip-3.14.6/ui/choosedevicedlg.py hplip-3.15.2/ui/choosedevicedlg.py --- hplip-3.14.6/ui/choosedevicedlg.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/choosedevicedlg.py 2015-01-29 12:20:22.000000000 +0000 @@ -20,6 +20,7 @@ # from base.g import * +from base.sixext import to_unicode import sys from qt import * @@ -96,7 +97,7 @@ return qApp.translate("ChooseDeviceDlg",s,c) def DevicesButtonGroup_clicked(self,a0): - self.device_uri = unicode(self.radio_buttons[a0].text()) + self.device_uri = to_unicode(self.radio_buttons[a0].text()) if __name__ == "__main__": a = QApplication(sys.argv) diff -Nru hplip-3.14.6/ui/chooseprinterdlg.py hplip-3.15.2/ui/chooseprinterdlg.py --- hplip-3.14.6/ui/chooseprinterdlg.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/chooseprinterdlg.py 2015-01-29 12:20:22.000000000 +0000 @@ -21,6 +21,7 @@ from base.g import * from base import device +from base.sixext import to_unicode import sys from qt import * @@ -119,7 +120,7 @@ def DevicesButtonGroup_clicked(self,a0): for p in self.printer_index: pp = self.printer_index[p] - if unicode(self.radio_buttons[a0].text()).startswith(pp[0]): + if to_unicode(self.radio_buttons[a0].text()).startswith(pp[0]): self.device_uri = pp[1] self.printer_name = pp[0] break diff -Nru hplip-3.14.6/ui/cleaningform2.py hplip-3.15.2/ui/cleaningform2.py --- hplip-3.14.6/ui/cleaningform2.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/cleaningform2.py 2015-01-29 12:20:22.000000000 +0000 @@ -23,11 +23,11 @@ # Local from base.g import * -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt from qt import * -from cleaningform2_base import CleaningForm2_base +from .cleaningform2_base import CleaningForm2_base class CleaningForm2(CleaningForm2_base): diff -Nru hplip-3.14.6/ui/cleaningform.py hplip-3.15.2/ui/cleaningform.py --- hplip-3.14.6/ui/cleaningform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/cleaningform.py 2015-01-29 12:20:22.000000000 +0000 @@ -23,11 +23,12 @@ # Local from base.g import * -from ui_utils import load_pixmap +from base.sixext import to_unicode +from .ui_utils import load_pixmap # Qt from qt import * -from cleaningform_base import CleaningForm_base +from .cleaningform_base import CleaningForm_base class CleaningForm(CleaningForm_base): @@ -35,13 +36,13 @@ CleaningForm_base.__init__(self, parent, name, modal, fl) self.dev = dev - text = unicode(self.CleaningText.text()) + text = to_unicode(self.CleaningText.text()) self.CleaningText.setText(text % str(cleaning_level + 1)) - text = unicode(self.Continue.text()) + text = to_unicode(self.Continue.text()) self.Continue.setText(text % str(cleaning_level + 1)) - text = unicode(self.CleaningTitle.text()) + text = to_unicode(self.CleaningTitle.text()) self.CleaningTitle.setText(text % str(cleaning_level)) self.Icon.setPixmap(load_pixmap('clean.png', 'other')) diff -Nru hplip-3.14.6/ui/coloradjform_base.py hplip-3.15.2/ui/coloradjform_base.py --- hplip-3.14.6/ui/coloradjform_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/coloradjform_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -243,7 +243,7 @@ def buttonGroup_clicked(self,a0): - print "ColorAdjForm_base.buttonGroup_clicked(int): Not implemented yet" + print("ColorAdjForm_base.buttonGroup_clicked(int): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("ColorAdjForm_base",s,c) diff -Nru hplip-3.14.6/ui/coloradjform.py hplip-3.15.2/ui/coloradjform.py --- hplip-3.14.6/ui/coloradjform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/coloradjform.py 2015-01-29 12:20:22.000000000 +0000 @@ -23,11 +23,11 @@ # Local from base.g import * -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt from qt import * -from coloradjform_base import ColorAdjForm_base +from .coloradjform_base import ColorAdjForm_base class ColorAdjForm(ColorAdjForm_base): def __init__(self, parent, line, name = None, modal = 0, fl = 0): diff -Nru hplip-3.14.6/ui/colorcal4form_base.py hplip-3.15.2/ui/colorcal4form_base.py --- hplip-3.14.6/ui/colorcal4form_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/colorcal4form_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -211,19 +211,19 @@ def ColorNumberComboBox_highlighted(self,a0): - print "ColorCal4Form_base.ColorNumberComboBox_highlighted(const QString&): Not implemented yet" + print("ColorCal4Form_base.ColorNumberComboBox_highlighted(const QString&): Not implemented yet") def ColorLetterComboBox_highlighted(self,a0): - print "ColorCal4Form_base.ColorLetterComboBox_highlighted(const QString&): Not implemented yet" + print("ColorCal4Form_base.ColorLetterComboBox_highlighted(const QString&): Not implemented yet") def GrayLetterComboBox_highlighted(self,a0): - print "ColorCal4Form_base.GrayLetterComboBox_highlighted(const QString&): Not implemented yet" + print("ColorCal4Form_base.GrayLetterComboBox_highlighted(const QString&): Not implemented yet") def GrayNumberComboBox_highlighted(self,a0): - print "ColorCal4Form_base.GrayNumberComboBox_highlighted(const QString&): Not implemented yet" + print("ColorCal4Form_base.GrayNumberComboBox_highlighted(const QString&): Not implemented yet") def UseDefaultsButton_clicked(self): - print "ColorCal4Form_base.UseDefaultsButton_clicked(): Not implemented yet" + print("ColorCal4Form_base.UseDefaultsButton_clicked(): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("ColorCal4Form_base",s,c) diff -Nru hplip-3.14.6/ui/colorcal4form.py hplip-3.15.2/ui/colorcal4form.py --- hplip-3.14.6/ui/colorcal4form.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/colorcal4form.py 2015-01-29 12:20:22.000000000 +0000 @@ -23,11 +23,11 @@ # Local from base.g import * -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt from qt import * -from colorcal4form_base import ColorCal4Form_base +from .colorcal4form_base import ColorCal4Form_base class ColorCal4Form(ColorCal4Form_base): diff -Nru hplip-3.14.6/ui/colorcalform2_base.py hplip-3.15.2/ui/colorcalform2_base.py --- hplip-3.14.6/ui/colorcalform2_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/colorcalform2_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -95,10 +95,10 @@ def buttonGroup_clicked(self,a0): - print "ColorCalForm2_base.buttonGroup_clicked(int): Not implemented yet" + print("ColorCalForm2_base.buttonGroup_clicked(int): Not implemented yet") def SpinBox_valueChanged(self,a0): - print "ColorCalForm2_base.SpinBox_valueChanged(int): Not implemented yet" + print("ColorCalForm2_base.SpinBox_valueChanged(int): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("ColorCalForm2_base",s,c) diff -Nru hplip-3.14.6/ui/colorcalform2.py hplip-3.15.2/ui/colorcalform2.py --- hplip-3.14.6/ui/colorcalform2.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/colorcalform2.py 2015-01-29 12:20:22.000000000 +0000 @@ -23,11 +23,11 @@ # Local from base.g import * -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt from qt import * -from colorcalform2_base import ColorCalForm2_base +from .colorcalform2_base import ColorCalForm2_base class ColorCalForm2(ColorCalForm2_base): def __init__(self,parent = None,name = None,modal = 0,fl = 0): diff -Nru hplip-3.14.6/ui/colorcalform_base.py hplip-3.15.2/ui/colorcalform_base.py --- hplip-3.14.6/ui/colorcalform_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/colorcalform_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -98,13 +98,13 @@ def buttonGroup2_clicked(self,a0): - print "ColorCalForm_base.buttonGroup2_clicked(int): Not implemented yet" + print("ColorCalForm_base.buttonGroup2_clicked(int): Not implemented yet") def ColorCalGroup_released(self,a0): - print "ColorCalForm_base.ColorCalGroup_released(int): Not implemented yet" + print("ColorCalForm_base.ColorCalGroup_released(int): Not implemented yet") def ColorCalGroup_clicked(self,a0): - print "ColorCalForm_base.ColorCalGroup_clicked(int): Not implemented yet" + print("ColorCalForm_base.ColorCalGroup_clicked(int): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("ColorCalForm_base",s,c) diff -Nru hplip-3.14.6/ui/colorcalform.py hplip-3.15.2/ui/colorcalform.py --- hplip-3.14.6/ui/colorcalform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/colorcalform.py 2015-01-29 12:20:22.000000000 +0000 @@ -20,7 +20,7 @@ # from qt import * -from colorcalform_base import ColorCalForm_base +from .colorcalform_base import ColorCalForm_base class ColorCalForm(ColorCalForm_base): def __init__(self,parent = None,name = None,modal = 0,fl = 0): diff -Nru hplip-3.14.6/ui/coverpageform_base.py hplip-3.15.2/ui/coverpageform_base.py --- hplip-3.14.6/ui/coverpageform_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/coverpageform_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -134,16 +134,16 @@ def coverpageListBox_currentChanged(self,a0): - print "CoverpageForm_base.coverpageListBox_currentChanged(QListBoxItem*): Not implemented yet" + print("CoverpageForm_base.coverpageListBox_currentChanged(QListBoxItem*): Not implemented yet") def prevCoverpageButton_clicked(self): - print "CoverpageForm_base.prevCoverpageButton_clicked(): Not implemented yet" + print("CoverpageForm_base.prevCoverpageButton_clicked(): Not implemented yet") def nextCoverpageButton_clicked(self): - print "CoverpageForm_base.nextCoverpageButton_clicked(): Not implemented yet" + print("CoverpageForm_base.nextCoverpageButton_clicked(): Not implemented yet") def preserveFormattingCheckBox_toggled(self,a0): - print "CoverpageForm_base.preserveFormattingCheckBox_toggled(bool): Not implemented yet" + print("CoverpageForm_base.preserveFormattingCheckBox_toggled(bool): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("CoverpageForm_base",s,c) diff -Nru hplip-3.14.6/ui/coverpageform.py hplip-3.15.2/ui/coverpageform.py --- hplip-3.14.6/ui/coverpageform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/coverpageform.py 2015-01-29 12:20:22.000000000 +0000 @@ -23,13 +23,13 @@ # Local from base.g import * -from ui_utils import load_pixmap +from .ui_utils import load_pixmap from fax import coverpages -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt from qt import * -from coverpageform_base import CoverpageForm_base +from .coverpageform_base import CoverpageForm_base @@ -41,7 +41,7 @@ self.preserveFormattingCheckBox.setChecked(preserve_formatting) self.prevCoverpageButton.setPixmap(load_pixmap('prev', '16x16')) self.nextCoverpageButton.setPixmap(load_pixmap('next', '16x16')) - self.coverpage_list = coverpages.COVERPAGES.keys() + self.coverpage_list = list(coverpages.COVERPAGES.keys()) if cover_page_name: self.coverpage_index = self.coverpage_list.index(cover_page_name) diff -Nru hplip-3.14.6/ui/deviceuricombobox.py hplip-3.15.2/ui/deviceuricombobox.py --- hplip-3.14.6/ui/deviceuricombobox.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/deviceuricombobox.py 2015-01-29 12:20:22.000000000 +0000 @@ -23,8 +23,9 @@ # Local from base.g import * -from ui_utils import * +from .ui_utils import * from base import device, utils +from base.sixext import to_unicode # Qt3 from qt import * @@ -124,8 +125,8 @@ self.updating = True try: k = 0 - str_devices = self.devices.keys() - d = str(str_devices[0]) + str_devices = list(self.devices.keys()) + d = to_unicode(str_devices[0]) for i in range(0, num_devices): self.ComboBox.insertItem(str_devices[i], i) if self.initial_device is not None and d == self.initial_device: @@ -146,7 +147,7 @@ if self.updating: return - self.device_uri = unicode(t) + self.device_uri = str(t) if self.device_uri: #user_conf.set('last_used', 'device_uri', self.device_uri) self.user_settings.last_used_device_uri = self.device_uri diff -Nru hplip-3.14.6/ui/devmgr4_base.py hplip-3.15.2/ui/devmgr4_base.py --- hplip-3.14.6/ui/devmgr4_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/devmgr4_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -378,199 +378,199 @@ def fileNew(self): - print "DevMgr4_base.fileNew(): Not implemented yet" + print("DevMgr4_base.fileNew(): Not implemented yet") def fileOpen(self): - print "DevMgr4_base.fileOpen(): Not implemented yet" + print("DevMgr4_base.fileOpen(): Not implemented yet") def fileSave(self): - print "DevMgr4_base.fileSave(): Not implemented yet" + print("DevMgr4_base.fileSave(): Not implemented yet") def fileSaveAs(self): - print "DevMgr4_base.fileSaveAs(): Not implemented yet" + print("DevMgr4_base.fileSaveAs(): Not implemented yet") def filePrint(self): - print "DevMgr4_base.filePrint(): Not implemented yet" + print("DevMgr4_base.filePrint(): Not implemented yet") def fileExit(self): - print "DevMgr4_base.fileExit(): Not implemented yet" + print("DevMgr4_base.fileExit(): Not implemented yet") def editUndo(self): - print "DevMgr4_base.editUndo(): Not implemented yet" + print("DevMgr4_base.editUndo(): Not implemented yet") def editRedo(self): - print "DevMgr4_base.editRedo(): Not implemented yet" + print("DevMgr4_base.editRedo(): Not implemented yet") def editCut(self): - print "DevMgr4_base.editCut(): Not implemented yet" + print("DevMgr4_base.editCut(): Not implemented yet") def editCopy(self): - print "DevMgr4_base.editCopy(): Not implemented yet" + print("DevMgr4_base.editCopy(): Not implemented yet") def editPaste(self): - print "DevMgr4_base.editPaste(): Not implemented yet" + print("DevMgr4_base.editPaste(): Not implemented yet") def editFind(self): - print "DevMgr4_base.editFind(): Not implemented yet" + print("DevMgr4_base.editFind(): Not implemented yet") def helpIndex(self): - print "DevMgr4_base.helpIndex(): Not implemented yet" + print("DevMgr4_base.helpIndex(): Not implemented yet") def helpContents(self): - print "DevMgr4_base.helpContents(): Not implemented yet" + print("DevMgr4_base.helpContents(): Not implemented yet") def helpAbout(self): - print "DevMgr4_base.helpAbout(): Not implemented yet" + print("DevMgr4_base.helpAbout(): Not implemented yet") def deviceRescanAction_activated(self): - print "DevMgr4_base.deviceRescanAction_activated(): Not implemented yet" + print("DevMgr4_base.deviceRescanAction_activated(): Not implemented yet") def settingsEmailAlertsAction_activated(self): - print "DevMgr4_base.settingsEmailAlertsAction_activated(): Not implemented yet" + print("DevMgr4_base.settingsEmailAlertsAction_activated(): Not implemented yet") def DeviceList_currentChanged(self,a0): - print "DevMgr4_base.DeviceList_currentChanged(QIconViewItem*): Not implemented yet" + print("DevMgr4_base.DeviceList_currentChanged(QIconViewItem*): Not implemented yet") def CleanPensButton_clicked(self): - print "DevMgr4_base.CleanPensButton_clicked(): Not implemented yet" + print("DevMgr4_base.CleanPensButton_clicked(): Not implemented yet") def AlignPensButton_clicked(self): - print "DevMgr4_base.AlignPensButton_clicked(): Not implemented yet" + print("DevMgr4_base.AlignPensButton_clicked(): Not implemented yet") def PrintTestPageButton_clicked(self): - print "DevMgr4_base.PrintTestPageButton_clicked(): Not implemented yet" + print("DevMgr4_base.PrintTestPageButton_clicked(): Not implemented yet") def AdvancedInfoButton_clicked(self): - print "DevMgr4_base.AdvancedInfoButton_clicked(): Not implemented yet" + print("DevMgr4_base.AdvancedInfoButton_clicked(): Not implemented yet") def ColorCalibrationButton_clicked(self): - print "DevMgr4_base.ColorCalibrationButton_clicked(): Not implemented yet" + print("DevMgr4_base.ColorCalibrationButton_clicked(): Not implemented yet") def settingsConfigure_activated(self): - print "DevMgr4_base.settingsConfigure_activated(): Not implemented yet" + print("DevMgr4_base.settingsConfigure_activated(): Not implemented yet") def PrintButton_clicked(self): - print "DevMgr4_base.PrintButton_clicked(): Not implemented yet" + print("DevMgr4_base.PrintButton_clicked(): Not implemented yet") def ScanButton_clicked(self): - print "DevMgr4_base.ScanButton_clicked(): Not implemented yet" + print("DevMgr4_base.ScanButton_clicked(): Not implemented yet") def PCardButton_clicked(self): - print "DevMgr4_base.PCardButton_clicked(): Not implemented yet" + print("DevMgr4_base.PCardButton_clicked(): Not implemented yet") def SendFaxButton_clicked(self): - print "DevMgr4_base.SendFaxButton_clicked(): Not implemented yet" + print("DevMgr4_base.SendFaxButton_clicked(): Not implemented yet") def MakeCopiesButton_clicked(self): - print "DevMgr4_base.MakeCopiesButton_clicked(): Not implemented yet" + print("DevMgr4_base.MakeCopiesButton_clicked(): Not implemented yet") def ConfigureFeaturesButton_clicked(self): - print "DevMgr4_base.ConfigureFeaturesButton_clicked(): Not implemented yet" + print("DevMgr4_base.ConfigureFeaturesButton_clicked(): Not implemented yet") def CancelJobButton_clicked(self): - print "DevMgr4_base.CancelJobButton_clicked(): Not implemented yet" + print("DevMgr4_base.CancelJobButton_clicked(): Not implemented yet") def deviceRefreshAll_activated(self): - print "DevMgr4_base.deviceRefreshAll_activated(): Not implemented yet" + print("DevMgr4_base.deviceRefreshAll_activated(): Not implemented yet") def DeviceList_clicked(self,a0): - print "DevMgr4_base.DeviceList_clicked(QIconViewItem*): Not implemented yet" + print("DevMgr4_base.DeviceList_clicked(QIconViewItem*): Not implemented yet") def autoRefresh_toggled(self,a0): - print "DevMgr4_base.autoRefresh_toggled(bool): Not implemented yet" + print("DevMgr4_base.autoRefresh_toggled(bool): Not implemented yet") def PrintJobList_currentChanged(self,a0): - print "DevMgr4_base.PrintJobList_currentChanged(QListViewItem*): Not implemented yet" + print("DevMgr4_base.PrintJobList_currentChanged(QListViewItem*): Not implemented yet") def CancelPrintJobButton_clicked(self): - print "DevMgr4_base.CancelPrintJobButton_clicked(): Not implemented yet" + print("DevMgr4_base.CancelPrintJobButton_clicked(): Not implemented yet") def PrintJobList_selectionChanged(self,a0): - print "DevMgr4_base.PrintJobList_selectionChanged(QListViewItem*): Not implemented yet" + print("DevMgr4_base.PrintJobList_selectionChanged(QListViewItem*): Not implemented yet") def DeviceList_rightButtonClicked(self,a0,a1): - print "DevMgr4_base.DeviceList_rightButtonClicked(QIconViewItem*,const QPoint&): Not implemented yet" + print("DevMgr4_base.DeviceList_rightButtonClicked(QIconViewItem*,const QPoint&): Not implemented yet") def OpenEmbeddedBrowserButton_clicked(self): - print "DevMgr4_base.OpenEmbeddedBrowserButton_clicked(): Not implemented yet" + print("DevMgr4_base.OpenEmbeddedBrowserButton_clicked(): Not implemented yet") def deviceSettingsButton_clicked(self): - print "DevMgr4_base.deviceSettingsButton_clicked(): Not implemented yet" + print("DevMgr4_base.deviceSettingsButton_clicked(): Not implemented yet") def faxSetupWizardButton_clicked(self): - print "DevMgr4_base.faxSetupWizardButton_clicked(): Not implemented yet" + print("DevMgr4_base.faxSetupWizardButton_clicked(): Not implemented yet") def faxSettingsButton_clicked(self): - print "DevMgr4_base.faxSettingsButton_clicked(): Not implemented yet" + print("DevMgr4_base.faxSettingsButton_clicked(): Not implemented yet") def setupDevice_activated(self): - print "DevMgr4_base.setupDevice_activated(): Not implemented yet" + print("DevMgr4_base.setupDevice_activated(): Not implemented yet") def viewSupportAction_activated(self): - print "DevMgr4_base.viewSupportAction_activated(): Not implemented yet" + print("DevMgr4_base.viewSupportAction_activated(): Not implemented yet") def installDevice_activated(self): - print "DevMgr4_base.installDevice_activated(): Not implemented yet" + print("DevMgr4_base.installDevice_activated(): Not implemented yet") def deviceInstallAction_activated(self): - print "DevMgr4_base.deviceInstallAction_activated(): Not implemented yet" + print("DevMgr4_base.deviceInstallAction_activated(): Not implemented yet") def deviceRemoveAction_activated(self): - print "DevMgr4_base.deviceRemoveAction_activated(): Not implemented yet" + print("DevMgr4_base.deviceRemoveAction_activated(): Not implemented yet") def Tabs_currentChanged(self,a0): - print "DevMgr4_base.Tabs_currentChanged(QWidget*): Not implemented yet" + print("DevMgr4_base.Tabs_currentChanged(QWidget*): Not implemented yet") def DeviceList_onItem(self,a0): - print "DevMgr4_base.DeviceList_onItem(QIconViewItem*): Not implemented yet" + print("DevMgr4_base.DeviceList_onItem(QIconViewItem*): Not implemented yet") def iconList_doubleClicked(self,a0): - print "DevMgr4_base.iconList_doubleClicked(QIconViewItem*): Not implemented yet" + print("DevMgr4_base.iconList_doubleClicked(QIconViewItem*): Not implemented yet") def iconList_rightButtonClicked(self,a0,a1): - print "DevMgr4_base.iconList_rightButtonClicked(QIconViewItem*,const QPoint&): Not implemented yet" + print("DevMgr4_base.iconList_rightButtonClicked(QIconViewItem*,const QPoint&): Not implemented yet") def iconList_clicked(self,a0): - print "DevMgr4_base.iconList_clicked(QIconViewItem*): Not implemented yet" + print("DevMgr4_base.iconList_clicked(QIconViewItem*): Not implemented yet") def iconList_contextMenuRequested(self,a0,a1): - print "DevMgr4_base.iconList_contextMenuRequested(QIconViewItem*,const QPoint&): Not implemented yet" + print("DevMgr4_base.iconList_contextMenuRequested(QIconViewItem*,const QPoint&): Not implemented yet") def iconList_returnPressed(self,a0): - print "DevMgr4_base.iconList_returnPressed(QIconViewItem*): Not implemented yet" + print("DevMgr4_base.iconList_returnPressed(QIconViewItem*): Not implemented yet") def stopstartPushButton_clicked(self): - print "DevMgr4_base.stopstartPushButton_clicked(): Not implemented yet" + print("DevMgr4_base.stopstartPushButton_clicked(): Not implemented yet") def rejectacceptPushButton_clicked(self): - print "DevMgr4_base.rejectacceptPushButton_clicked(): Not implemented yet" + print("DevMgr4_base.rejectacceptPushButton_clicked(): Not implemented yet") def defaultPushButton_clicked(self): - print "DevMgr4_base.defaultPushButton_clicked(): Not implemented yet" + print("DevMgr4_base.defaultPushButton_clicked(): Not implemented yet") def PrintJobPrinterCombo_activated(self,a0): - print "DevMgr4_base.PrintJobPrinterCombo_activated(const QString&): Not implemented yet" + print("DevMgr4_base.PrintJobPrinterCombo_activated(const QString&): Not implemented yet") def PrintSettingsPrinterCombo_activated(self,a0): - print "DevMgr4_base.PrintSettingsPrinterCombo_activated(const QString&): Not implemented yet" + print("DevMgr4_base.PrintSettingsPrinterCombo_activated(const QString&): Not implemented yet") def jobList_rightButtonClicked(self,a0,a1,a2): - print "DevMgr4_base.jobList_rightButtonClicked(QListViewItem*,const QPoint&,int): Not implemented yet" + print("DevMgr4_base.jobList_rightButtonClicked(QListViewItem*,const QPoint&,int): Not implemented yet") def jobList_clicked(self,a0): - print "DevMgr4_base.jobList_clicked(QListViewItem*): Not implemented yet" + print("DevMgr4_base.jobList_clicked(QListViewItem*): Not implemented yet") def infoToolButton_clicked(self): - print "DevMgr4_base.infoToolButton_clicked(): Not implemented yet" + print("DevMgr4_base.infoToolButton_clicked(): Not implemented yet") def cancelToolButton_clicked(self): - print "DevMgr4_base.cancelToolButton_clicked(): Not implemented yet" + print("DevMgr4_base.cancelToolButton_clicked(): Not implemented yet") def InstallPushButton_clicked(self): - print "DevMgr4_base.InstallPushButton_clicked(): Not implemented yet" + print("DevMgr4_base.InstallPushButton_clicked(): Not implemented yet") def jobList_contextMenuRequested(self,a0,a1,a2): - print "DevMgr4_base.jobList_contextMenuRequested(QListViewItem*,const QPoint&,int): Not implemented yet" + print("DevMgr4_base.jobList_contextMenuRequested(QListViewItem*,const QPoint&,int): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("DevMgr4_base",s,c) diff -Nru hplip-3.14.6/ui/devmgr4.py hplip-3.15.2/ui/devmgr4.py --- hplip-3.14.6/ui/devmgr4.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/devmgr4.py 2015-01-29 12:20:22.000000000 +0000 @@ -19,7 +19,7 @@ # Authors: Don Welch, Pete Parks, Naga Samrat Chowdary Narla, # -from __future__ import generators + # Std Lib import sys @@ -29,50 +29,51 @@ import select import struct import threading -import Queue import signal # Local +from base.sixext.moves import queue from base.g import * from base import device, utils, pml, maint, pkit, os_utils +from base.sixext import to_unicode from prnt import cups from base.codes import * -from ui_utils import load_pixmap +from .ui_utils import load_pixmap from installer.core_install import * # Qt from qt import * # Main form -from devmgr4_base import DevMgr4_base +from .devmgr4_base import DevMgr4_base # Scrollviews -from scrollview import ScrollView -from scrollprintsettings import ScrollPrintSettingsView +from .scrollview import ScrollView +from .scrollprintsettings import ScrollPrintSettingsView # Alignment and ColorCal forms -from alignform import AlignForm -from aligntype6form1 import AlignType6Form1 -from aligntype6form2 import AlignType6Form2 -from paperedgealignform import PaperEdgeAlignForm -from colorcalform import ColorCalForm # Type 1 color cal -from coloradjform import ColorAdjForm # Type 5 and 6 color adj -from colorcalform2 import ColorCalForm2 # Type 2 color cal -from colorcal4form import ColorCal4Form # Type 4 color cal -from align10form import Align10Form # Type 10 and 11 alignment -from align13form import Align13Form # Type 13 alignment +from .alignform import AlignForm +from .aligntype6form1 import AlignType6Form1 +from .aligntype6form2 import AlignType6Form2 +from .paperedgealignform import PaperEdgeAlignForm +from .colorcalform import ColorCalForm # Type 1 color cal +from .coloradjform import ColorAdjForm # Type 5 and 6 color adj +from .colorcalform2 import ColorCalForm2 # Type 2 color cal +from .colorcal4form import ColorCal4Form # Type 4 color cal +from .align10form import Align10Form # Type 10 and 11 alignment +from .align13form import Align13Form # Type 13 alignment # Misc forms -from loadpaperform import LoadPaperForm -from settingsdialog import SettingsDialog -from aboutdlg import AboutDlg -from cleaningform import CleaningForm -from cleaningform2 import CleaningForm2 -from waitform import WaitForm -from faxsettingsform import FaxSettingsForm -from nodevicesform import NoDevicesForm -from settingsdialog import SettingsDialog -from firmwaredialog import FirmwareDialog +from .loadpaperform import LoadPaperForm +from .settingsdialog import SettingsDialog +from .aboutdlg import AboutDlg +from .cleaningform import CleaningForm +from .cleaningform2 import CleaningForm2 +from .waitform import WaitForm +from .faxsettingsform import FaxSettingsForm +from .nodevicesform import NoDevicesForm +from .settingsdialog import SettingsDialog +from .firmwaredialog import FirmwareDialog # all in seconds MIN_AUTO_REFRESH_RATE = 5 @@ -191,10 +192,10 @@ self.connect(self.okPushButton,SIGNAL("clicked()"),self.accept) self.connect(self.passwordLineEdit,SIGNAL("returnPressed()"),self.accept) def getUsername(self): - return unicode(self.usernameLineEdit.text()) + return to_unicode(self.usernameLineEdit.text()) def getPassword(self): - return unicode(self.passwordLineEdit.text()) + return to_unicode(self.passwordLineEdit.text()) def languageChange(self): self.setCaption(self.__tr("HP Device Manager - Enter Username/Password")) @@ -369,7 +370,7 @@ if dev.supported: try: dev.open() - except Error, e: + except Error as e: log.warn(e.msg) time.sleep(0.1) @@ -380,7 +381,7 @@ try: dev.queryDevice() - except Error, e: + except Error as e: log.error("Query device error (%s)." % e.msg) dev.error_state = ERROR_STATE_ERROR @@ -449,8 +450,8 @@ # Update thread setup - self.request_queue = Queue.Queue() - self.response_queue = Queue.Queue() + self.request_queue = queue.Queue() + self.response_queue = queue.Queue() self.update_thread = UpdateThread(self.response_queue, self.request_queue) self.update_thread.start() @@ -1183,15 +1184,15 @@ self.PrintSettingsPrinterCombo.insertItem(c.decode("utf-8")) self.PrintJobPrinterCombo.insertItem(c.decode("utf-8")) - self.cur_printer = unicode(self.PrintSettingsPrinterCombo.currentText()) + self.cur_printer = to_unicode(self.PrintSettingsPrinterCombo.currentText()) def PrintSettingsPrinterCombo_activated(self, s): - self.cur_printer = unicode(s) + self.cur_printer = to_unicode(s) self.PrintJobPrinterCombo.setCurrentText(self.cur_printer.encode("latin1")) # TODO: ? return self.PrinterCombo_activated(self.cur_printer) def PrintJobPrinterCombo_activated(self, s): - self.cur_printer = unicode(s) + self.cur_printer = to_unicode(s) self.PrintSettingsPrinterCombo.setCurrentText(self.cur_printer.encode("latin1")) # TODO: ? return self.PrinterCombo_activated(self.cur_printer) @@ -1406,7 +1407,7 @@ for filter, text, icon, tooltip, cmd in self.ICONS: if filter is not None: - if not filter(): + if not list(filter()): continue FuncViewItem(self.iconList, text, @@ -2062,9 +2063,9 @@ tt = QString("%1 %2").arg(dt.toString()).arg(desc) if e.job_id: - job_id = unicode(e.job_id) + job_id = to_unicode(e.job_id) else: - job_id = u'' + job_id = '' error_state = STATUS_TO_ERROR_STATE_MAP.get(e.event_code, ERROR_STATE_CLEAR) tech_type = self.cur_device.tech_type @@ -2077,8 +2078,8 @@ except KeyError: status_pix = self.STATUS_ICONS[ERROR_STATE_CLEAR][0] - StatusListViewItem(self.statusListView, status_pix, ess, tt, unicode(e.event_code), - job_id, unicode(e.username)) + StatusListViewItem(self.statusListView, status_pix, ess, tt, to_unicode(e.event_code), + job_id, to_unicode(e.username)) row -= 1 @@ -2122,7 +2123,7 @@ try: i18n_amount = self.num_repr[amount] except KeyError: - i18n_amount = unicode(amount) + i18n_amount = to_unicode(amount) if amount == 1: i18n_unit = self.unit_names[unit_name][0] @@ -2496,13 +2497,13 @@ jobs = cups.getJobs() num_jobs = 0 for j in jobs: - if j.dest.decode('utf-8') == unicode(self.cur_printer): + if j.dest.decode('utf-8') == to_unicode(self.cur_printer): num_jobs += 1 for j in jobs: if j.dest == self.cur_printer: JobListViewItem(self.jobList, self.JOB_STATE_ICONS[j.state], - j.title, self.JOB_STATES[j.state], unicode(j.id)) + j.title, self.JOB_STATES[j.state], to_unicode(j.id)) i = self.jobList.firstChild() if i is not None: @@ -2564,7 +2565,7 @@ if text: dlg = JobInfoDialog(text, self) dlg.setCaption(self.__tr("HP Device Manager - Job Log - %1 - Job %2").\ - arg(self.cur_printer).arg(unicode(item.job_id))) + arg(self.cur_printer).arg(to_unicode(item.job_id))) dlg.exec_loop() @@ -2701,7 +2702,7 @@ def defaultPushButton_clicked(self): QApplication.setOverrideCursor(QApplication.waitCursor) try: - result, result_str = cups.cups_operation(cups.setDefaultPrinter, GUI_MODE, 'qt3', self, self.cur_printer.encode('utf8')) + result, result_str = cups.cups_operation(cups.setDefaultPrinter.encode('utf8'), GUI_MODE, 'qt3', self, self.cur_printer.encode('utf8')) if result != cups.IPP_OK: log.error("Set default printer failed.") @@ -3005,16 +3006,16 @@ layout37.addMultiCellWidget(self.infoListView,1,1,0,3) - mq_keys = self.cur_device.mq.keys() + mq_keys = list(self.cur_device.mq.keys()) mq_keys.sort() mq_keys.reverse() - for key,i in zip(mq_keys, range(len(mq_keys))): + for key,i in zip(mq_keys, list(range(len(mq_keys)))): QListViewItem(self.infoListView, self.__tr("Static"), key, str(self.cur_device.mq[key])) - dq_keys = self.cur_device.dq.keys() + dq_keys = list(self.cur_device.dq.keys()) dq_keys.sort() dq_keys.reverse() - for key,i in zip(dq_keys, range(len(dq_keys))): + for key,i in zip(dq_keys, list(range(len(dq_keys)))): QListViewItem(self.infoListView, self.__tr("Dynamic"), key, str(self.cur_device.dq[key])) self.addWidget(widget, "file_list", maximize=True) diff -Nru hplip-3.14.6/ui/faxaddrbookeditform_base.py hplip-3.15.2/ui/faxaddrbookeditform_base.py --- hplip-3.14.6/ui/faxaddrbookeditform_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/faxaddrbookeditform_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -173,25 +173,25 @@ def firstnameEdit_textChanged(self,a0): - print "FaxAddrBookEditForm_base.firstnameEdit_textChanged(const QString&): Not implemented yet" + print("FaxAddrBookEditForm_base.firstnameEdit_textChanged(const QString&): Not implemented yet") def lastnameEdit_textChanged(self,a0): - print "FaxAddrBookEditForm_base.lastnameEdit_textChanged(const QString&): Not implemented yet" + print("FaxAddrBookEditForm_base.lastnameEdit_textChanged(const QString&): Not implemented yet") def checkBox3_toggled(self,a0): - print "FaxAddrBookEditForm_base.checkBox3_toggled(bool): Not implemented yet" + print("FaxAddrBookEditForm_base.checkBox3_toggled(bool): Not implemented yet") def isGroupCheckBox_toggled(self,a0): - print "FaxAddrBookEditForm_base.isGroupCheckBox_toggled(bool): Not implemented yet" + print("FaxAddrBookEditForm_base.isGroupCheckBox_toggled(bool): Not implemented yet") def groupsButton2_clicked(self): - print "FaxAddrBookEditForm_base.groupsButton2_clicked(): Not implemented yet" + print("FaxAddrBookEditForm_base.groupsButton2_clicked(): Not implemented yet") def nicknameEdit_textChanged(self,a0): - print "FaxAddrBookEditForm_base.nicknameEdit_textChanged(const QString&): Not implemented yet" + print("FaxAddrBookEditForm_base.nicknameEdit_textChanged(const QString&): Not implemented yet") def faxEdit_textChanged(self,a0): - print "FaxAddrBookEditForm_base.faxEdit_textChanged(const QString&): Not implemented yet" + print("FaxAddrBookEditForm_base.faxEdit_textChanged(const QString&): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("FaxAddrBookEditForm_base",s,c) diff -Nru hplip-3.14.6/ui/faxaddrbookform_base.py hplip-3.15.2/ui/faxaddrbookform_base.py --- hplip-3.14.6/ui/faxaddrbookform_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/faxaddrbookform_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -121,28 +121,28 @@ def newButton_clicked(self): - print "FaxAddrBookForm_base.newButton_clicked(): Not implemented yet" + print("FaxAddrBookForm_base.newButton_clicked(): Not implemented yet") def editButton_clicked(self): - print "FaxAddrBookForm_base.editButton_clicked(): Not implemented yet" + print("FaxAddrBookForm_base.editButton_clicked(): Not implemented yet") def deleteButton_clicked(self): - print "FaxAddrBookForm_base.deleteButton_clicked(): Not implemented yet" + print("FaxAddrBookForm_base.deleteButton_clicked(): Not implemented yet") def addressListView_rightButtonClicked(self,a0,a1,a2): - print "FaxAddrBookForm_base.addressListView_rightButtonClicked(QListViewItem*,const QPoint&,int): Not implemented yet" + print("FaxAddrBookForm_base.addressListView_rightButtonClicked(QListViewItem*,const QPoint&,int): Not implemented yet") def addressListView_currentChanged(self,a0): - print "FaxAddrBookForm_base.addressListView_currentChanged(QListViewItem*): Not implemented yet" + print("FaxAddrBookForm_base.addressListView_currentChanged(QListViewItem*): Not implemented yet") def addressListView_doubleClicked(self,a0): - print "FaxAddrBookForm_base.addressListView_doubleClicked(QListViewItem*): Not implemented yet" + print("FaxAddrBookForm_base.addressListView_doubleClicked(QListViewItem*): Not implemented yet") def groupButton_clicked(self): - print "FaxAddrBookForm_base.groupButton_clicked(): Not implemented yet" + print("FaxAddrBookForm_base.groupButton_clicked(): Not implemented yet") def importPushButton_clicked(self): - print "FaxAddrBookForm_base.importPushButton_clicked(): Not implemented yet" + print("FaxAddrBookForm_base.importPushButton_clicked(): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("FaxAddrBookForm_base",s,c) diff -Nru hplip-3.14.6/ui/faxaddrbookform.py hplip-3.15.2/ui/faxaddrbookform.py --- hplip-3.14.6/ui/faxaddrbookform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/faxaddrbookform.py 2015-01-29 12:20:22.000000000 +0000 @@ -27,7 +27,8 @@ # Local from base.g import * from base import utils -from ui_utils import load_pixmap +from base.sixext import to_unicode +from .ui_utils import load_pixmap try: from fax import fax @@ -38,10 +39,10 @@ # Qt from qt import * -from faxaddrbookform_base import FaxAddrBookForm_base -from faxaddrbookeditform_base import FaxAddrBookEditForm_base -from faxaddrbookgroupsform_base import FaxAddrBookGroupsForm_base -from faxaddrbookgroupeditform_base import FaxAddrBookGroupEditForm_base +from .faxaddrbookform_base import FaxAddrBookForm_base +from .faxaddrbookeditform_base import FaxAddrBookEditForm_base +from .faxaddrbookgroupsform_base import FaxAddrBookGroupsForm_base +from .faxaddrbookgroupeditform_base import FaxAddrBookGroupEditForm_base # globals db = None @@ -66,8 +67,8 @@ QValidator.__init__(self, parent, name) def validate(self, input, pos): - input = unicode(input) - if input.find(u',') > 0: + input = to_unicode(input) + if input.find(',') > 0: return QValidator.Invalid, pos elif len(input) > 50: return QValidator.Invalid, pos @@ -80,10 +81,10 @@ QValidator.__init__(self, parent, name) def validate(self, input, pos): - input = unicode(input) + input = to_unicode(input) if not input: return QValidator.Acceptable, pos - elif input[pos-1] not in u'0123456789-(+) *#': + elif input[pos-1] not in '0123456789-(+) *#': return QValidator.Invalid, pos elif len(input) > 50: return QValidator.Invalid, pos @@ -114,7 +115,7 @@ self.entriesListView.clear() all_entries = db.get_all_records() - for e, v in all_entries.items(): + for e, v in list(all_entries.items()): i = QCheckListItem(self.entriesListView, e, QCheckListItem.CheckBox) if group_name and group_name in v['groups']: @@ -124,14 +125,14 @@ def getDlgData(self): - group_name = unicode(self.groupnameEdit.text()) + group_name = to_unicode(self.groupnameEdit.text()) entries = [] i = self.entriesListView.firstChild() while i is not None: if i.isOn(): - entries.append(unicode(i.text())) + entries.append(to_unicode(i.text())) i = i.itemBelow() @@ -144,7 +145,7 @@ self.CheckOKButton() def CheckOKButton(self): - group_name = unicode(self.groupnameEdit.text()) + group_name = to_unicode(self.groupnameEdit.text()) if not group_name or \ (not self.edit_mode and group_name in self.all_groups): @@ -190,7 +191,7 @@ for group in all_groups: i = QListViewItem(self.groupListView, group, - u', '.join(db.group_members(group))) + ', '.join(db.group_members(group))) if first_rec is None: first_rec = i @@ -215,7 +216,7 @@ def editButton_clicked(self): dlg = FaxAddrBookGroupEditForm(self) - group_name = unicode(self.current.text(0)) + group_name = to_unicode(self.current.text(0)) dlg.setDlgData(group_name) if dlg.exec_loop() == QDialog.Accepted: group_name, entries = dlg.getDlgData() @@ -231,7 +232,7 @@ QMessageBox.No | QMessageBox.Default, QMessageBox.NoButton) if x == QMessageBox.Yes: - db.delete_group(unicode(self.current.text(0))) + db.delete_group(to_unicode(self.current.text(0))) self.UpdateList() def groupListView_currentChanged(self, a0): @@ -293,16 +294,16 @@ while i is not None: if i.isOn(): - in_groups.append(unicode(i.text())) + in_groups.append(to_unicode(i.text())) i = i.itemBelow() - return {'name': unicode(self.nicknameEdit.text()), - 'title': unicode(self.titleEdit.text()), - 'firstname': unicode(self.firstnameEdit.text()), - 'lastname': unicode(self.lastnameEdit.text()), - 'fax': unicode(self.faxEdit.text()), + return {'name': to_unicode(self.nicknameEdit.text()), + 'title': to_unicode(self.titleEdit.text()), + 'firstname': to_unicode(self.firstnameEdit.text()), + 'lastname': to_unicode(self.lastnameEdit.text()), + 'fax': to_unicode(self.faxEdit.text()), 'groups': in_groups, - 'notes': unicode(self.notesEdit.text())} + 'notes': to_unicode(self.notesEdit.text())} def firstnameEdit_textChanged(self,a0): pass @@ -318,16 +319,16 @@ def CheckOKButton(self, nickname=None, fax=None): if nickname is None: - nickname = unicode(self.nicknameEdit.text()) + nickname = to_unicode(self.nicknameEdit.text()) if fax is None: - fax = unicode(self.faxEdit.text()) + fax = to_unicode(self.faxEdit.text()) ok = bool(len(nickname) and len(fax)) if nickname: all_entries = db.get_all_records() - for e, v in all_entries.items(): + for e, v in list(all_entries.items()): if nickname == e and nickname != self.initial_nickname: ok = False @@ -365,7 +366,7 @@ log.debug("Number of records is: %d" % len(all_entries)) if all_entries: - for e, v in all_entries.items(): + for e, v in list(all_entries.items()): if v['name'].startswith('__'): continue @@ -446,7 +447,7 @@ self.current = item def FailureUI(self, error_text): - log.error(unicode(error_text).replace("", "").replace("", "").replace("

", " ")) + log.error(to_unicode(error_text).replace("", "").replace("", "").replace("

", " ")) QMessageBox.critical(self, self.caption(), QString(error_text), @@ -474,7 +475,7 @@ if dlg.exec_loop() == QDialog.Accepted: result = str(dlg.selectedFile()) - working_directory = unicode(dlg.dir().absPath()) + working_directory = to_unicode(dlg.dir().absPath()) log.debug("result: %s" % result) user_conf.setWorkingDirectory(working_directory) diff -Nru hplip-3.14.6/ui/faxaddrbookgroupeditform_base.py hplip-3.15.2/ui/faxaddrbookgroupeditform_base.py --- hplip-3.14.6/ui/faxaddrbookgroupeditform_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/faxaddrbookgroupeditform_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -78,10 +78,10 @@ def groupnameEdit_textChanged(self,a0): - print "FaxAddrBookGroupEditForm_base.groupnameEdit_textChanged(const QString&): Not implemented yet" + print("FaxAddrBookGroupEditForm_base.groupnameEdit_textChanged(const QString&): Not implemented yet") def entriesListView_clicked(self,a0): - print "FaxAddrBookGroupEditForm_base.entriesListView_clicked(QListViewItem*): Not implemented yet" + print("FaxAddrBookGroupEditForm_base.entriesListView_clicked(QListViewItem*): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("FaxAddrBookGroupEditForm_base",s,c) diff -Nru hplip-3.14.6/ui/faxaddrbookgroupsform_base.py hplip-3.15.2/ui/faxaddrbookgroupsform_base.py --- hplip-3.14.6/ui/faxaddrbookgroupsform_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/faxaddrbookgroupsform_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -77,22 +77,22 @@ def newButton_clicked(self): - print "FaxAddrBookGroupsForm_base.newButton_clicked(): Not implemented yet" + print("FaxAddrBookGroupsForm_base.newButton_clicked(): Not implemented yet") def editButton_clicked(self): - print "FaxAddrBookGroupsForm_base.editButton_clicked(): Not implemented yet" + print("FaxAddrBookGroupsForm_base.editButton_clicked(): Not implemented yet") def deleteButton_clicked(self): - print "FaxAddrBookGroupsForm_base.deleteButton_clicked(): Not implemented yet" + print("FaxAddrBookGroupsForm_base.deleteButton_clicked(): Not implemented yet") def groupListView_currentChanged(self,a0): - print "FaxAddrBookGroupsForm_base.groupListView_currentChanged(QListViewItem*): Not implemented yet" + print("FaxAddrBookGroupsForm_base.groupListView_currentChanged(QListViewItem*): Not implemented yet") def groupListView_doubleClicked(self,a0): - print "FaxAddrBookGroupsForm_base.groupListView_doubleClicked(QListViewItem*): Not implemented yet" + print("FaxAddrBookGroupsForm_base.groupListView_doubleClicked(QListViewItem*): Not implemented yet") def groupListView_rightButtonClicked(self,a0,a1,a2): - print "FaxAddrBookGroupsForm_base.groupListView_rightButtonClicked(QListViewItem*,const QPoint&,int): Not implemented yet" + print("FaxAddrBookGroupsForm_base.groupListView_rightButtonClicked(QListViewItem*,const QPoint&,int): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("FaxAddrBookGroupsForm_base",s,c) diff -Nru hplip-3.14.6/ui/faxsendjobform.py hplip-3.15.2/ui/faxsendjobform.py --- hplip-3.14.6/ui/faxsendjobform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/faxsendjobform.py 2015-01-29 12:20:22.000000000 +0000 @@ -26,8 +26,9 @@ from base.g import * from base.codes import * from base import utils, device +from base.sixext import to_unicode from prnt import cups -from ui_utils import load_pixmap +from .ui_utils import load_pixmap if 1: #try: @@ -41,7 +42,7 @@ # Qt/UI from qt import * -from scrollfax import ScrollFaxView +from .scrollfax import ScrollFaxView # dBus dbus_avail = False @@ -132,7 +133,7 @@ #print devices if x == 0: - from nodevicesform import NoDevicesForm + from .nodevicesform import NoDevicesForm self.FailureUI(self.__tr("

No devices found.

Please make sure your device is properly installed and try again.")) self.init_failed = True @@ -141,7 +142,7 @@ self.device_uri = devices[0][0] else: - from chooseprinterdlg import ChoosePrinterDlg + from .chooseprinterdlg import ChoosePrinterDlg dlg = ChoosePrinterDlg(self.cups_printers, ['hpfax']) if dlg.exec_loop() == QDialog.Accepted: @@ -164,7 +165,7 @@ try: self.cur_device = device.Device(device_uri=self.device_uri, printer_name=self.printer_name) - except Error, e: + except Error as e: log.error("Invalid device URI or printer name.") self.FailureUI("Invalid device URI or printer name.

Please check the parameters to hp-print and try again.") self.init_failed = True @@ -214,7 +215,7 @@ QMessageBox.NoButton) def FailureUI(self, error_text): - log.error(unicode(error_text).replace("", "").replace("", "").replace("

", " ")) + log.error(to_unicode(error_text).replace("", "").replace("", "").replace("

", " ")) QMessageBox.critical(self, self.caption(), error_text, @@ -223,7 +224,7 @@ QMessageBox.NoButton) def WarningUI(self, error_text): - log.warn(unicode(error_text).replace("", "").replace("", "").replace("

", " ")) + log.warn(to_unicode(error_text).replace("", "").replace("", "").replace("

", " ")) QMessageBox.warning(self, self.caption(), error_text, diff -Nru hplip-3.14.6/ui/faxsettingsform_base.py hplip-3.15.2/ui/faxsettingsform_base.py --- hplip-3.14.6/ui/faxsettingsform_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/faxsettingsform_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -148,10 +148,10 @@ def faxEdit_textChanged(self,a0): - print "FaxSettingsForm_base.faxEdit_textChanged(const QString&): Not implemented yet" + print("FaxSettingsForm_base.faxEdit_textChanged(const QString&): Not implemented yet") def nameEdit_textChanged(self,a0): - print "FaxSettingsForm_base.nameEdit_textChanged(const QString&): Not implemented yet" + print("FaxSettingsForm_base.nameEdit_textChanged(const QString&): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("FaxSettingsForm_base",s,c) diff -Nru hplip-3.14.6/ui/faxsettingsform.py hplip-3.15.2/ui/faxsettingsform.py --- hplip-3.14.6/ui/faxsettingsform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/faxsettingsform.py 2015-01-29 12:20:22.000000000 +0000 @@ -22,16 +22,17 @@ from qt import * -from faxsettingsform_base import FaxSettingsForm_base +from .faxsettingsform_base import FaxSettingsForm_base from base.g import * from base import device, pml, utils +from base.sixext import to_unicode class PhoneNumValidator(QValidator): def __init__(self, parent=None, name=None): QValidator.__init__(self, parent, name) def validate(self, input, pos): - input = unicode(input) + input = to_unicode(input) try: input = input.encode('ascii') except UnicodeEncodeError: @@ -52,7 +53,7 @@ QValidator.__init__(self, parent, name) def validate(self, input, pos): - input = unicode(input) + input = to_unicode(input) try: input = input.encode('ascii') @@ -95,8 +96,8 @@ if toggle is not None: self.pushButtonOK.setEnabled(bool(toggle)) else: - name = unicode(self.nameEdit.text()) - fax_num = unicode(self.faxEdit.text()) + name = to_unicode(self.nameEdit.text()) + fax_num = to_unicode(self.faxEdit.text()) self.pushButtonOK.setEnabled(bool(name and fax_num)) def accept(self): @@ -113,7 +114,7 @@ # TODO: This is a problem - user can enter non-ascii chars... # user config needs to be in utf-8 encoding (but its not right now) - user_conf.set('fax', 'voice_phone', unicode(self.voiceEdit.text()).encode('utf-8')) - user_conf.set('fax', 'email_address', unicode(self.emailEdit.text()).encode('utf-8')) + user_conf.set('fax', 'voice_phone', to_unicode(self.voiceEdit.text()).encode('utf-8')) + user_conf.set('fax', 'email_address', to_unicode(self.emailEdit.text()).encode('utf-8')) FaxSettingsForm_base.accept(self) diff -Nru hplip-3.14.6/ui/firmwaredialog_base.py hplip-3.15.2/ui/firmwaredialog_base.py --- hplip-3.14.6/ui/firmwaredialog_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/firmwaredialog_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -12,12 +12,12 @@ from qt import * -from deviceuricombobox import DeviceUriComboBox +from .deviceuricombobox import DeviceUriComboBox class FirmwareDialog_Base(object): def setupUi(self,Dialog): - Dialog.setModal(True) + Dialog.setModal(True) Dialog.setName("FirmwareDialog_Base") self.Download_Firmwar = QLabel(Dialog,"Download_Firmware") diff -Nru hplip-3.14.6/ui/firmwaredialog.py hplip-3.15.2/ui/firmwaredialog.py --- hplip-3.14.6/ui/firmwaredialog.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/firmwaredialog.py 2015-01-29 12:20:22.000000000 +0000 @@ -28,22 +28,22 @@ from base import device, utils from prnt import cups from base.codes import * -from ui_utils import * +from .ui_utils import * # Qt from qt import * # Ui -from firmwaredialog_base import FirmwareDialog_Base +from .firmwaredialog_base import FirmwareDialog_Base class FirmwareDialog(QDialog, FirmwareDialog_Base): def __init__(self, parent, device_uri): - QDialog.__init__(self, parent) - self.setupUi(self) - self.device_uri = device_uri + QDialog.__init__(self, parent) + self.setupUi(self) + self.device_uri = device_uri self.initUi() QTimer.singleShot(0, self.updateUi) - + def initUi(self): self.DeviceComboBox.setFilter({'fw-download' : (operator.gt, 0)}) self.DeviceComboBox.setParent(self) @@ -52,7 +52,7 @@ signal.signal(signal.SIGINT, signal.SIG_DFL) # Application icon - self.setIcon(load_pixmap('hp_logo', '128x128')) + self.setIcon(load_pixmap('hp_logo', '128x128')) if self.device_uri: self.DeviceComboBox.setInitialDevice(self.device_uri) @@ -107,11 +107,11 @@ def FailureUI(self, error_text): QMessageBox.critical(self, - self.caption(), - error_text, - QMessageBox.Ok, - QMessageBox.NoButton, - QMessageBox.NoButton) + self.caption(), + error_text, + QMessageBox.Ok, + QMessageBox.NoButton, + QMessageBox.NoButton) def CheckDeviceUI(self): diff -Nru hplip-3.14.6/ui/imagepropertiesdlg_base.py hplip-3.15.2/ui/imagepropertiesdlg_base.py --- hplip-3.14.6/ui/imagepropertiesdlg_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/imagepropertiesdlg_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -97,7 +97,7 @@ def ViewEXIFButton_clicked(self): - print "ImagePropertiesDlg_base.ViewEXIFButton_clicked(): Not implemented yet" + print("ImagePropertiesDlg_base.ViewEXIFButton_clicked(): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("ImagePropertiesDlg_base",s,c) diff -Nru hplip-3.14.6/ui/imagepropertiesdlg.py hplip-3.15.2/ui/imagepropertiesdlg.py --- hplip-3.14.6/ui/imagepropertiesdlg.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/imagepropertiesdlg.py 2015-01-29 12:20:22.000000000 +0000 @@ -21,7 +21,7 @@ import sys from qt import * -from imagepropertiesdlg_base import ImagePropertiesDlg_base +from .imagepropertiesdlg_base import ImagePropertiesDlg_base class ImagePropertiesDlg(ImagePropertiesDlg_base): def __init__(self, filename, location, mimetype, size, exif_info={}, parent = None,name = None,modal = 0,fl = 0): diff -Nru hplip-3.14.6/ui/jobstoragemixin.py hplip-3.15.2/ui/jobstoragemixin.py --- hplip-3.14.6/ui/jobstoragemixin.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/jobstoragemixin.py 2015-01-29 12:20:22.000000000 +0000 @@ -23,6 +23,7 @@ from base.g import * from base import utils from prnt import cups +from base.sixext import to_unicode # Qt from qt import * @@ -32,8 +33,8 @@ QValidator.__init__(self, parent, name) def validate(self, input, pos): - for x in unicode(input)[pos-1:]: - if x not in u'0123456789': + for x in to_unicode(input)[pos-1:]: + if x not in '0123456789': return QValidator.Invalid, pos return QValidator.Acceptable, pos @@ -43,8 +44,8 @@ QValidator.__init__(self, parent, name) def validate(self, input, pos): - for x in unicode(input)[pos-1:]: - if x not in u'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ -': + for x in to_unicode(input)[pos-1:]: + if x not in '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ -': return QValidator.Invalid, pos return QValidator.Acceptable, pos @@ -57,11 +58,11 @@ def initJobStorage(self, print_settings_mode=False): self.print_settings_mode = print_settings_mode self.job_storage_mode = JOB_STORAGE_TYPE_OFF - self.job_storage_pin = u"0000" + self.job_storage_pin = "0000" self.job_storage_use_pin = False - self.job_storage_username = unicode(prop.username[:16]) + self.job_storage_username = to_unicode(prop.username[:16]) self.job_storage_auto_username = True - self.job_storage_jobname = u"Untitled" + self.job_storage_jobname = "Untitled" self.job_storage_auto_jobname = True self.job_storage_job_exist = 0 @@ -80,13 +81,13 @@ current_options = dict(cups.getOptions()) cups.closePPD() - self.job_storage_pin = unicode(current_options.get('HOLDKEY', '0000')[:4]) + self.job_storage_pin = to_unicode(current_options.get('HOLDKEY', '0000')[:4]) self.jobStoragePINEdit.setText(self.job_storage_pin) - self.job_storage_username = unicode(current_options.get('USERNAME', prop.username)[:16]) + self.job_storage_username = to_unicode(current_options.get('USERNAME', prop.username)[:16]) self.jobStorageUsernameEdit.setText(self.job_storage_username) - self.job_storage_jobname = unicode(current_options.get('JOBNAME', u"Untitled")[:16]) + self.job_storage_jobname = to_unicode(current_options.get('JOBNAME', "Untitled")[:16]) self.jobStorageIDEdit.setText(self.job_storage_jobname) hold = current_options.get('HOLD', 'OFF') @@ -368,14 +369,14 @@ self.jobStoragePINDefaultPushButton.setEnabled(False) self.jobStoragePINEdit.setEnabled(False) self.job_storage_use_pin = False - self.job_storage_pin = u"0000" + self.job_storage_pin = "0000" self.setPrinterOptionPIN() else: # On/Private/Use PIN self.jobStoragePINDefaultPushButton.setEnabled(True) self.jobStoragePINEdit.setEnabled(True) self.job_storage_use_pin = True - self.job_storage_pin = unicode(self.jobStoragePINEdit.text()) + self.job_storage_pin = to_unicode(self.jobStoragePINEdit.text()) self.setPrinterOptionPIN() def setPrinterOptionPIN(self): @@ -394,7 +395,7 @@ pass def jobStoragePINEdit_textChanged(self, a): - self.job_storage_pin = unicode(a) + self.job_storage_pin = to_unicode(a) self.setPrinterOptionPIN() def jobStoragePINDefaultPushButton_clicked(self): @@ -466,14 +467,14 @@ self.jobStorageUsernameDefaultPushButton.setEnabled(False) self.jobStorageUsernameEdit.setEnabled(False) self.job_storage_auto_username = True - self.job_storage_username = unicode(prop.username[:16]) + self.job_storage_username = to_unicode(prop.username[:16]) self.setPrinterOptionUsername() else: # Custom self.jobStorageUsernameDefaultPushButton.setEnabled(True) self.jobStorageUsernameEdit.setEnabled(True) self.job_storage_auto_username = False - self.job_storage_username = unicode(self.jobStorageUsernameEdit.text()) + self.job_storage_username = to_unicode(self.jobStorageUsernameEdit.text()) self.setPrinterOptionUsername() def jobStorageUsernameEdit_lostFocus(self): @@ -481,7 +482,7 @@ pass def jobStorageUsernameEdit_textChanged(self, a): - self.job_storage_username = unicode(a) + self.job_storage_username = to_unicode(a) self.setPrinterOptionUsername() def jobStorageUsernameDefaultPushButton_clicked(self): @@ -489,7 +490,7 @@ self.jobStorageUsernameDefaultPushButton.setEnabled(False) self.jobStorageUsernameEdit.setEnabled(False) self.job_storage_auto_username = True - self.job_storage_username = unicode(prop.username[:16]) + self.job_storage_username = to_unicode(prop.username[:16]) self.setPrinterOptionUsername() def setPrinterOptionUsername(self): @@ -560,14 +561,14 @@ self.jobStorageIDDefaultPushButton.setEnabled(False) self.jobStorageIDEdit.setEnabled(False) self.job_storage_auto_jobname = True - self.job_storage_jobname = u"Untitled" + self.job_storage_jobname = "Untitled" self.setPrinterOptionID() else: # Custom self.jobStorageIDDefaultPushButton.setEnabled(True) self.jobStorageIDEdit.setEnabled(True) self.job_storage_auto_jobname = False - self.job_storage_jobname = unicode(self.jobStorageIDEdit.text()) + self.job_storage_jobname = to_unicode(self.jobStorageIDEdit.text()) self.setPrinterOptionID() def jobStorageIDEdit_lostFocus(self): @@ -575,7 +576,7 @@ pass def jobStorageIDEdit_textChanged(self, a): - self.job_storage_jobname = unicode(a) + self.job_storage_jobname = to_unicode(a) self.setPrinterOptionID() def jobStorageIDDefaultPushButton_clicked(self): @@ -583,7 +584,7 @@ self.jobStorageIDDefaultPushButton.setEnabled(False) self.jobStorageIDEdit.setEnabled(False) self.job_storage_auto_jobname = True - self.job_storage_jobname = u"Untitled" + self.job_storage_jobname = "Untitled" self.setPrinterOptionID() def setPrinterOptionID(self): diff -Nru hplip-3.14.6/ui/loadpaperform.py hplip-3.15.2/ui/loadpaperform.py --- hplip-3.14.6/ui/loadpaperform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/loadpaperform.py 2015-01-29 12:20:22.000000000 +0000 @@ -23,11 +23,11 @@ # Local from base.g import * -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt from qt import * -from loadpaperform_base import LoadPaperForm_base +from .loadpaperform_base import LoadPaperForm_base class LoadPaperForm(LoadPaperForm_base): diff -Nru hplip-3.14.6/ui/makecopiesform.py hplip-3.15.2/ui/makecopiesform.py --- hplip-3.14.6/ui/makecopiesform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/makecopiesform.py 2015-01-29 12:20:22.000000000 +0000 @@ -26,11 +26,11 @@ from prnt import cups from base import device, utils, pml from copier import copier -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt from qt import * -from scrollcopy import ScrollCopyView +from .scrollcopy import ScrollCopyView class MakeCopiesForm(QMainWindow): def __init__(self, bus='cups', device_uri=None, printer_name=None, @@ -88,7 +88,7 @@ max_deviceid_size = max(len(d), max_deviceid_size) if x == 0: - from nodevicesform import NoDevicesForm + from .nodevicesform import NoDevicesForm self.FailureUI(self.__tr("

No devices found.

Please make sure your device is properly installed and try again.")) self.init_failed = True @@ -98,7 +98,7 @@ else: - from choosedevicedlg import ChooseDeviceDlg + from .choosedevicedlg import ChooseDeviceDlg dlg = ChooseDeviceDlg(devices) #, ['hp']) if dlg.exec_loop() == QDialog.Accepted: diff -Nru hplip-3.14.6/ui/nodevicesform_base.py hplip-3.15.2/ui/nodevicesform_base.py --- hplip-3.14.6/ui/nodevicesform_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/nodevicesform_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -76,13 +76,13 @@ def CUPSButton_clicked(self): - print "NoDevicesForm_base.CUPSButton_clicked(): Not implemented yet" + print("NoDevicesForm_base.CUPSButton_clicked(): Not implemented yet") def ExitButton_clicked(self): - print "NoDevicesForm_base.ExitButton_clicked(): Not implemented yet" + print("NoDevicesForm_base.ExitButton_clicked(): Not implemented yet") def setupPushButton_clicked(self): - print "NoDevicesForm_base.setupPushButton_clicked(): Not implemented yet" + print("NoDevicesForm_base.setupPushButton_clicked(): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("NoDevicesForm_base",s,c) diff -Nru hplip-3.14.6/ui/nodevicesform.py hplip-3.15.2/ui/nodevicesform.py --- hplip-3.14.6/ui/nodevicesform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/nodevicesform.py 2015-01-29 12:20:22.000000000 +0000 @@ -26,11 +26,11 @@ from base.g import * from base import utils from prnt import cups -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt from qt import * -from nodevicesform_base import NoDevicesForm_base +from .nodevicesform_base import NoDevicesForm_base diff -Nru hplip-3.14.6/ui/paperedgealignform_base.py hplip-3.15.2/ui/paperedgealignform_base.py --- hplip-3.14.6/ui/paperedgealignform_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/paperedgealignform_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -129,7 +129,7 @@ def buttonGroup_clicked(self,a0): - print "PaperEdgeAlignForm_base.buttonGroup_clicked(int): Not implemented yet" + print("PaperEdgeAlignForm_base.buttonGroup_clicked(int): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("PaperEdgeAlignForm_base",s,c) diff -Nru hplip-3.14.6/ui/paperedgealignform.py hplip-3.15.2/ui/paperedgealignform.py --- hplip-3.14.6/ui/paperedgealignform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/paperedgealignform.py 2015-01-29 12:20:22.000000000 +0000 @@ -23,11 +23,11 @@ from base.g import * # Local -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt from qt import * -from paperedgealignform_base import PaperEdgeAlignForm_base +from .paperedgealignform_base import PaperEdgeAlignForm_base diff -Nru hplip-3.14.6/ui/pluginform2_base.py hplip-3.15.2/ui/pluginform2_base.py --- hplip-3.14.6/ui/pluginform2_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/pluginform2_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -107,19 +107,19 @@ def sourceGroup_clicked(self,a0): - print "PluginForm2_base.sourceGroup_clicked(int): Not implemented yet" + print("PluginForm2_base.sourceGroup_clicked(int): Not implemented yet") def browsePushButton_clicked(self): - print "PluginForm2_base.browsePushButton_clicked(): Not implemented yet" + print("PluginForm2_base.browsePushButton_clicked(): Not implemented yet") def pathLineEdit_textChanged(self,a0): - print "PluginForm2_base.pathLineEdit_textChanged(const QString&): Not implemented yet" + print("PluginForm2_base.pathLineEdit_textChanged(const QString&): Not implemented yet") def actionPushButton_clicked(self): - print "PluginForm2_base.actionPushButton_clicked(): Not implemented yet" + print("PluginForm2_base.actionPushButton_clicked(): Not implemented yet") def cancelPushButton_clicked(self): - print "PluginForm2_base.cancelPushButton_clicked(): Not implemented yet" + print("PluginForm2_base.cancelPushButton_clicked(): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("PluginForm2_base",s,c) diff -Nru hplip-3.14.6/ui/pluginform2.py hplip-3.15.2/ui/pluginform2.py --- hplip-3.14.6/ui/pluginform2.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/pluginform2.py 2015-01-29 12:20:22.000000000 +0000 @@ -21,11 +21,12 @@ from base.g import * from base import device, utils +from base.sixext import to_unicode from installer import pluginhandler from qt import * -from pluginform2_base import PluginForm2_base +from .pluginform2_base import PluginForm2_base import signal class PluginForm2(PluginForm2_base): @@ -51,10 +52,10 @@ self.actionPushButton.setEnabled(True) self.path = None else: # path - self.path = unicode(self.pathLineEdit.text()) + self.path = to_unicode(self.pathLineEdit.text()) self.pathLineEdit.emit(SIGNAL("textChanged(const QString&)"), (self.path,)) - if self.path.startswith(u"http://"): + if self.path.startswith("http://"): self.actionPushButton.setText(self.__tr("Download and Install")) else: self.actionPushButton.setText(self.__tr("Copy and Install")) @@ -70,19 +71,19 @@ if dlg.exec_loop() == QDialog.Accepted: results = dlg.selectedFile() - working_directory = unicode(dlg.dir().absPath()) + working_directory = to_unicode(dlg.dir().absPath()) log.debug("results: %s" % results) user_conf.setWorkingDirectory(working_directory) if results: - self.path = unicode(results) + self.path = to_unicode(results) self.pathLineEdit.setText(self.path) def pathLineEdit_textChanged(self, path): - path, ok = unicode(path), True + path, ok = to_unicode(path), True - if not path.startswith(u'http://'): + if not path.startswith('http://'): self.actionPushButton.setText(self.__tr("Copy and Install")) if not path or not os.path.exists(path): @@ -191,7 +192,7 @@ def plugin_install_callback(self, s): - print s + print(s) def cancelPushButton_clicked(self): diff -Nru hplip-3.14.6/ui/pluginlicenseform.py hplip-3.15.2/ui/pluginlicenseform.py --- hplip-3.14.6/ui/pluginlicenseform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/pluginlicenseform.py 2015-01-29 12:20:22.000000000 +0000 @@ -9,7 +9,7 @@ from qt import * -from pluginlicenseform_base import PluginLicenseForm_base +from .pluginlicenseform_base import PluginLicenseForm_base class PluginLicenseForm(PluginLicenseForm_base): def __init__(self, license_txt, parent=None, name=None, modal=0, fl=0): diff -Nru hplip-3.14.6/ui/printerform.py hplip-3.15.2/ui/printerform.py --- hplip-3.14.6/ui/printerform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/printerform.py 2015-01-29 12:20:22.000000000 +0000 @@ -26,11 +26,11 @@ from base.codes import * from base import utils, device from prnt import cups -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt from qt import * -from scrollprint import ScrollPrintView +from .scrollprint import ScrollPrintView @@ -84,7 +84,7 @@ max_deviceid_size = max(len(d), max_deviceid_size) if x == 0: - from nodevicesform import NoDevicesForm + from .nodevicesform import NoDevicesForm self.FailureUI(self.__tr("

No devices found.

Please make sure your device is properly installed and try again.")) self.init_failed = True @@ -93,7 +93,7 @@ self.device_uri = devices[0][0] else: - from chooseprinterdlg import ChoosePrinterDlg + from .chooseprinterdlg import ChoosePrinterDlg dlg = ChoosePrinterDlg(self.cups_printers) if dlg.exec_loop() == QDialog.Accepted: self.printer_name = dlg.printer_name @@ -118,7 +118,7 @@ try: self.cur_device = device.Device(device_uri=self.device_uri, printer_name=self.printer_name) - except Error, e: + except Error as e: log.error("Invalid device URI or printer name.") self.FailureUI("Invalid device URI or printer name.

Please check the parameters to hp-print and try again.") self.init_failed = True @@ -150,7 +150,7 @@ def FailureUI(self, error_text): - log.error(unicode(error_text).replace("", "").replace("", "").replace("

", " ")) + log.error(str(error_text).replace("", "").replace("", "").replace("

", " ")) QMessageBox.critical(self, self.caption(), error_text, diff -Nru hplip-3.14.6/ui/scrollcopy.py hplip-3.15.2/ui/scrollcopy.py --- hplip-3.14.6/ui/scrollcopy.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/scrollcopy.py 2015-01-29 12:20:22.000000000 +0000 @@ -23,15 +23,15 @@ from base.g import * from base import utils, pml from copier import copier +from base.sixext.moves import queue # Qt from qt import * -from scrollview import ScrollView, PixmapLabelButton -from waitform import WaitForm +from .scrollview import ScrollView, PixmapLabelButton +from .waitform import WaitForm # Std Lib import os.path, os -import Queue class ScrollCopyView(ScrollView): @@ -47,8 +47,8 @@ self.reduction = reduction self.fit_to_page = fit_to_page - self.update_queue = Queue.Queue() # UI updates from copy thread - self.event_queue = Queue.Queue() # UI events to copy thread + self.update_queue = queue.Queue() # UI updates from copy thread + self.event_queue = queue.Queue() # UI events to copy thread def getDeviceSettings(self): QApplication.setOverrideCursor(QApplication.waitCursor) @@ -442,7 +442,7 @@ while self.update_queue.qsize(): try: status = self.update_queue.get(0) - except Queue.Empty: + except queue.Empty: break if status == copier.STATUS_IDLE: diff -Nru hplip-3.14.6/ui/scrollfax.py hplip-3.15.2/ui/scrollfax.py --- hplip-3.14.6/ui/scrollfax.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/scrollfax.py 2015-01-29 12:20:22.000000000 +0000 @@ -22,18 +22,20 @@ # Local from base.g import * from base import utils, magic, pml, os_utils +from base.sixext import to_unicode from prnt import cups -from ui_utils import load_pixmap +from .ui_utils import load_pixmap +from base.sixext.moves import queue # Qt from qt import * -from scrollview import ScrollView, PixmapLabelButton -from allowabletypesdlg import AllowableTypesDlg -from waitform import WaitForm +from .scrollview import ScrollView, PixmapLabelButton +from .allowabletypesdlg import AllowableTypesDlg +from .waitform import WaitForm # Std Lib import os.path, os -import struct, Queue, time +import struct, time fax_enabled = prop.fax_build @@ -72,7 +74,7 @@ if fax_enabled and coverpages_enabled: from fax import coverpages - from coverpageform import CoverpageForm + from .coverpageform import CoverpageForm # Used to store MIME types for files @@ -97,10 +99,10 @@ QValidator.__init__(self, parent, name) def validate(self, input, pos): - input = unicode(input) + input = to_unicode(input) if not input: return QValidator.Acceptable, pos - elif input[pos-1] not in u'0123456789-(+) *#': + elif input[pos-1] not in '0123456789-(+) *#': return QValidator.Invalid, pos elif len(input) > 50: return QValidator.Invalid, pos @@ -128,8 +130,8 @@ self.cover_page_message = '' self.cover_page_re = '' self.cover_page_name = '' - self.update_queue = Queue.Queue() # UI updates from send thread - self.event_queue = Queue.Queue() # UI events (cancel) to send thread + self.update_queue = queue.Queue() # UI updates from send thread + self.event_queue = queue.Queue() # UI events (cancel) to send thread self.prev_selected_file_path = '' self.prev_selected_recipient = '' self.preserve_formatting = False @@ -614,12 +616,12 @@ if dlg.exec_loop() == QDialog.Accepted: results = dlg.selectedFile() - working_directory = unicode(dlg.dir().absPath()) + working_directory = to_unicode(dlg.dir().absPath()) log.debug("results: %s" % results) user_conf.setWorkingDirectory(working_directory) if results: - path = unicode(results) + path = to_unicode(results) self.processFile(path) @@ -707,8 +709,8 @@ if dlg.exec_loop() == QDialog.Accepted: self.cover_page_func, cover_page_png = dlg.data - self.cover_page_message = unicode(dlg.messageTextEdit.text()) - self.cover_page_re = unicode(dlg.regardingTextEdit.text()) + self.cover_page_message = to_unicode(dlg.messageTextEdit.text()) + self.cover_page_re = to_unicode(dlg.regardingTextEdit.text()) self.cover_page_name = dlg.coverpage_name self.preserve_formatting = dlg.preserve_formatting return True @@ -857,7 +859,7 @@ popup.insertItem(QIconSet(load_pixmap('add_user', '16x16')), self.__tr("Add Individual"), ind) - for e, v in all_entries.items(): + for e, v in list(all_entries.items()): if not e.startswith('__'): self.ind_map[ind.insertItem(QIconSet(load_pixmap('add_user', '16x16')), e, None)] = e @@ -1026,10 +1028,10 @@ self.addWidget(widget, "recipient_add_from_fab") def addIndividualPushButton_clicked(self): - self.addRecipient(unicode(self.individualComboBox.currentText())) + self.addRecipient(to_unicode(self.individualComboBox.currentText())) def addGroupPushButton_clicked(self): - self.addRecipient(unicode(self.groupComboBox.currentText()), True) + self.addRecipient(to_unicode(self.groupComboBox.currentText()), True) def addRecipient(self, name, is_group=False): if is_group: @@ -1050,7 +1052,7 @@ all_entries = self.db.get_all_records() self.addIndividualPushButton.setEnabled(len(all_entries)) - for e, v in all_entries.items(): + for e, v in list(all_entries.items()): if not e.startswith('__'): self.individualComboBox.insertItem(e) @@ -1104,8 +1106,8 @@ def quickAddPushButton_clicked(self): - name = unicode(self.quickAddNameLineEdit.text()) - self.db.set(name, u'', u'', u'', unicode(self.quickAddFaxLineEdit.text()), [], self.__tr('Added with Quick Add')) + name = to_unicode(self.quickAddNameLineEdit.text()) + self.db.set(name, '', '', '', to_unicode(self.quickAddFaxLineEdit.text()), [], self.__tr('Added with Quick Add')) self.db.save() self.addRecipient(name) @@ -1115,9 +1117,9 @@ def enableQuickAddButton(self, name=None, fax=None): if name is None: - name = unicode(self.quickAddNameLineEdit.text()) + name = to_unicode(self.quickAddNameLineEdit.text()) if fax is None: - fax = unicode(self.quickAddFaxLineEdit.text()) + fax = to_unicode(self.quickAddFaxLineEdit.text()) existing_name = False if name: @@ -1141,11 +1143,11 @@ def quickAddNameLineEdit_textChanged(self, name): - self.enableQuickAddButton(unicode(name)) + self.enableQuickAddButton(to_unicode(name)) def quickAddFaxLineEdit_textChanged(self, fax): - self.enableQuickAddButton(None, unicode(fax)) + self.enableQuickAddButton(None, to_unicode(fax)) def checkSendFaxButton(self): @@ -1172,12 +1174,12 @@ try: try: self.dev.open() - except Error, e: + except Error as e: log.warn(e.msg) try: self.dev.queryDevice(quick=True) - except Error, e: + except Error as e: log.error("Query device error (%s)." % e.msg) self.dev.error_state = ERROR_STATE_ERROR @@ -1211,7 +1213,7 @@ for f in self.file_list: - log.debug(unicode(f)) + log.debug(to_unicode(f)) self.busy = True @@ -1242,7 +1244,7 @@ while self.update_queue.qsize(): try: status, page_num, arg = self.update_queue.get(0) - except Queue.Empty: + except queue.Empty: break if status == fax.STATUS_IDLE: diff -Nru hplip-3.14.6/ui/scrollprint.py hplip-3.15.2/ui/scrollprint.py --- hplip-3.14.6/ui/scrollprint.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/scrollprint.py 2015-01-29 12:20:22.000000000 +0000 @@ -22,14 +22,15 @@ # Local from base.g import * from base import utils, magic, os_utils +from base.sixext import to_unicode from prnt import cups -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt from qt import * -from scrollview import ScrollView, PixmapLabelButton -from allowabletypesdlg import AllowableTypesDlg -from jobstoragemixin import JobStorageMixin +from .scrollview import ScrollView, PixmapLabelButton +from .allowabletypesdlg import AllowableTypesDlg +from .jobstoragemixin import JobStorageMixin # Std Lib import os.path @@ -41,8 +42,8 @@ QValidator.__init__(self, parent, name) def validate(self, input, pos): - for x in unicode(input)[pos-1:]: - if x not in u'0123456789,- ': + for x in to_unicode(input)[pos-1:]: + if x not in '0123456789,- ': return QValidator.Invalid, pos return QValidator.Acceptable, pos @@ -342,12 +343,12 @@ if dlg.exec_loop() == QDialog.Accepted: results = dlg.selectedFile() - working_directory = unicode(dlg.dir().absPath()) + working_directory = to_unicode(dlg.dir().absPath()) #log.debug("results: %s" % unicode(results)) user_conf.setWorkingDirectory(working_directory) if results: - self.addFile(unicode(results)) + self.addFile(to_unicode(results)) def removeFile_clicked(self): try: @@ -484,7 +485,7 @@ def pageRangeEdit_lostFocus(self): x = [] try: - x = utils.expand_range(unicode(self.pageRangeEdit.text())) + x = utils.expand_range(to_unicode(self.pageRangeEdit.text())) except ValueError: log.error("Invalid page range entered.") self.invalid_page_range = True @@ -970,7 +971,7 @@ copies = int(self.copiesSpinBox.value()) all_pages = self.pages_button_group == 0 - page_range = unicode(self.pageRangeEdit.text()) + page_range = to_unicode(self.pageRangeEdit.text()) page_set = int(self.pageSetComboBox.currentItem()) cups.resetOptions() diff -Nru hplip-3.14.6/ui/scrollprintsettings.py hplip-3.15.2/ui/scrollprintsettings.py --- hplip-3.14.6/ui/scrollprintsettings.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/scrollprintsettings.py 2015-01-29 12:20:22.000000000 +0000 @@ -22,12 +22,13 @@ # Local from base.g import * from base import utils +from base.sixext import to_unicode from prnt import cups -from jobstoragemixin import JobStorageMixin +from .jobstoragemixin import JobStorageMixin # Qt from qt import * -from scrollview import ScrollView +from .scrollview import ScrollView # Std Lib import os.path @@ -39,8 +40,8 @@ QValidator.__init__(self, parent, name) def validate(self, input, pos): - for x in unicode(input)[pos-1:]: - if x not in u'0123456789,- ': + for x in to_unicode(input)[pos-1:]: + if x not in '0123456789,- ': return QValidator.Invalid, pos return QValidator.Acceptable, pos @@ -520,7 +521,7 @@ cur_outputmode_dpi = cups.findPPDAttribute(quality_attr_name, cur_outputmode) if cur_outputmode_dpi is not None: log.debug("Adding Group: Summary outputmode is : %s" % cur_outputmode) - log.debug("Adding Group: Summary outputmode dpi is : %s" % unicode (cur_outputmode_dpi)) + log.debug("Adding Group: Summary outputmode dpi is : %s" % str (cur_outputmode_dpi)) self.addGroupHeading("summry", self.__tr("Summary")) self.addItem("summry", "colorinput", self.__tr('Color Input / Black Render'), cups.UI_INFO, cur_outputmode_dpi, [], 0) @@ -547,7 +548,7 @@ def ComboBox_indexChanged(self, currentItem): sender = self.sender() - currentItem = unicode(currentItem) + currentItem = to_unicode(currentItem) # Checking for summary control labelPQValaue = getattr(self, 'PQValueLabel', None) labelPQColorInput = getattr(self, 'PQColorInputLabel', None) @@ -568,7 +569,7 @@ log.debug("Outputmode changed, setting value outputmode: %s" % currentItem) def optionComboBox_activated(self, a): - a = unicode(a) + a = to_unicode(a) sender = self.sender() choice = None @@ -635,7 +636,7 @@ # determine printoutmode option combo enable state c.setEnabled(True) QToolTip.remove(c) - a = unicode(c.currentText()) + a = to_unicode(c.currentText()) # determine printoutmode default button state link_choice = None diff -Nru hplip-3.14.6/ui/scrollunload.py hplip-3.15.2/ui/scrollunload.py --- hplip-3.14.6/ui/scrollunload.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/scrollunload.py 2015-01-29 12:20:22.000000000 +0000 @@ -22,13 +22,14 @@ # Local from base.g import * from base import utils, magic +from base.sixext import to_unicode from pcard import photocard -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt from qt import * -from scrollview import ScrollView, PixmapLabelButton -from imagepropertiesdlg import ImagePropertiesDlg +from .scrollview import ScrollView, PixmapLabelButton +from .imagepropertiesdlg import ImagePropertiesDlg #from waitform import WaitForm # Std Lib @@ -117,7 +118,7 @@ try: self.pc = photocard.PhotoCard(None, self.cur_device.device_uri, self.cur_printer) - except Error, e: + except Error as e: QApplication.restoreOverrideCursor() self.form.FailureUI(self.__tr("An error occured: %s" % e[0])) self.cleanup(EVENT_PCARD_UNABLE_TO_MOUNT) @@ -486,7 +487,7 @@ self.addWidget(widget, "folder") def UnloadDirectoryEdit_textChanged(self, dir): - self.unload_dir = unicode(dir) + self.unload_dir = to_unicode(dir) if not os.path.exists(self.unload_dir): self.UnloadDirectoryEdit.setPaletteBackgroundColor(QColor(0xff, 0x99, 0x99)) @@ -495,7 +496,7 @@ def UnloadDirectoryBrowseButton_clicked(self): old_dir = self.unload_dir - self.unload_dir = unicode(QFileDialog.getExistingDirectory(self.unload_dir, self)) + self.unload_dir = to_unicode(QFileDialog.getExistingDirectory(self.unload_dir, self)) if not len(self.unload_dir): return @@ -540,7 +541,7 @@ was_cancelled = False self.busy = True self.unloadButton.setEnabled(False) - self.unload_dir = unicode(self.UnloadDirectoryEdit.text()) + self.unload_dir = to_unicode(self.UnloadDirectoryEdit.text()) dir_error = False try: diff -Nru hplip-3.14.6/ui/scrollview.py hplip-3.15.2/ui/scrollview.py --- hplip-3.14.6/ui/scrollview.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/scrollview.py 2015-01-29 12:20:22.000000000 +0000 @@ -25,7 +25,8 @@ from base.g import * from prnt import cups from base import device -from ui_utils import load_pixmap +from base.sixext import to_unicode +from .ui_utils import load_pixmap # Qt from qt import * @@ -179,7 +180,7 @@ if printer_name == self.cur_printer or printer_name is None: return - self.cur_printer = unicode(printer_name) + self.cur_printer = to_unicode(printer_name) if self.cur_device is not None and self.cur_device.supported: #self.isFax() @@ -266,7 +267,7 @@ layout.addWidget(textLabel2, 0, 0) - self.addWidget(widget, "g:"+unicode(group)) + self.addWidget(widget, "g:"+to_unicode(group)) def addActionButton(self, name, action_text, action_func, diff -Nru hplip-3.14.6/ui/settingsdialog_base.py hplip-3.15.2/ui/settingsdialog_base.py --- hplip-3.14.6/ui/settingsdialog_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/settingsdialog_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -235,58 +235,58 @@ def PrintCmdChangeButton_clicked(self): - print "SettingsDialog_base.PrintCmdChangeButton_clicked(): Not implemented yet" + print("SettingsDialog_base.PrintCmdChangeButton_clicked(): Not implemented yet") def ScanCmdChangeButton_clicked(self): - print "SettingsDialog_base.ScanCmdChangeButton_clicked(): Not implemented yet" + print("SettingsDialog_base.ScanCmdChangeButton_clicked(): Not implemented yet") def AccessPCardCmdChangeButton_clicked(self): - print "SettingsDialog_base.AccessPCardCmdChangeButton_clicked(): Not implemented yet" + print("SettingsDialog_base.AccessPCardCmdChangeButton_clicked(): Not implemented yet") def SendFaxCmdChangeButton_clicked(self): - print "SettingsDialog_base.SendFaxCmdChangeButton_clicked(): Not implemented yet" + print("SettingsDialog_base.SendFaxCmdChangeButton_clicked(): Not implemented yet") def MakeCopiesCmdChangeButton_clicked(self): - print "SettingsDialog_base.MakeCopiesCmdChangeButton_clicked(): Not implemented yet" + print("SettingsDialog_base.MakeCopiesCmdChangeButton_clicked(): Not implemented yet") def CleaningLevel_clicked(self,a0): - print "SettingsDialog_base.CleaningLevel_clicked(int): Not implemented yet" + print("SettingsDialog_base.CleaningLevel_clicked(int): Not implemented yet") def pushButton5_clicked(self): - print "SettingsDialog_base.pushButton5_clicked(): Not implemented yet" + print("SettingsDialog_base.pushButton5_clicked(): Not implemented yet") def DefaultsButton_clicked(self): - print "SettingsDialog_base.DefaultsButton_clicked(): Not implemented yet" + print("SettingsDialog_base.DefaultsButton_clicked(): Not implemented yet") def TabWidget_currentChanged(self,a0): - print "SettingsDialog_base.TabWidget_currentChanged(QWidget*): Not implemented yet" + print("SettingsDialog_base.TabWidget_currentChanged(QWidget*): Not implemented yet") def pushButton6_clicked(self): - print "SettingsDialog_base.pushButton6_clicked(): Not implemented yet" + print("SettingsDialog_base.pushButton6_clicked(): Not implemented yet") def EmailTestButton_clicked(self): - print "SettingsDialog_base.EmailTestButton_clicked(): Not implemented yet" + print("SettingsDialog_base.EmailTestButton_clicked(): Not implemented yet") def autoRefreshCheckBox_clicked(self): - print "SettingsDialog_base.autoRefreshCheckBox_clicked(): Not implemented yet" + print("SettingsDialog_base.autoRefreshCheckBox_clicked(): Not implemented yet") def refreshScopeButtonGroup_clicked(self,a0): - print "SettingsDialog_base.refreshScopeButtonGroup_clicked(int): Not implemented yet" + print("SettingsDialog_base.refreshScopeButtonGroup_clicked(int): Not implemented yet") def printButtonGroup_clicked(self,a0): - print "SettingsDialog_base.printButtonGroup_clicked(int): Not implemented yet" + print("SettingsDialog_base.printButtonGroup_clicked(int): Not implemented yet") def scanButtonGroup_clicked(self,a0): - print "SettingsDialog_base.scanButtonGroup_clicked(int): Not implemented yet" + print("SettingsDialog_base.scanButtonGroup_clicked(int): Not implemented yet") def faxButtonGroup_clicked(self,a0): - print "SettingsDialog_base.faxButtonGroup_clicked(int): Not implemented yet" + print("SettingsDialog_base.faxButtonGroup_clicked(int): Not implemented yet") def pcardButtonGroup_clicked(self,a0): - print "SettingsDialog_base.pcardButtonGroup_clicked(int): Not implemented yet" + print("SettingsDialog_base.pcardButtonGroup_clicked(int): Not implemented yet") def copyButtonGroup_clicked(self,a0): - print "SettingsDialog_base.copyButtonGroup_clicked(int): Not implemented yet" + print("SettingsDialog_base.copyButtonGroup_clicked(int): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("SettingsDialog_base",s,c) diff -Nru hplip-3.14.6/ui/settingsdialog.py hplip-3.15.2/ui/settingsdialog.py --- hplip-3.14.6/ui/settingsdialog.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/settingsdialog.py 2015-01-29 12:20:22.000000000 +0000 @@ -22,8 +22,9 @@ from base.g import * from base.codes import * from base import utils +from base.sixext import to_unicode from qt import * -from settingsdialog_base import SettingsDialog_base +from .settingsdialog_base import SettingsDialog_base class SettingsDialog(SettingsDialog_base): def __init__(self, parent = None,name = None,modal = 0,fl = 0): @@ -87,19 +88,19 @@ ## self.copyButtonGroup.setButton(1) def updateData(self): - self.user_settings.cmd_print = unicode(self.PrintCommand.text()) + self.user_settings.cmd_print = to_unicode(self.PrintCommand.text()) #self.user_settings.cmd_print_int = (self.printButtonGroup.selectedId() == 0) - self.user_settings.cmd_scan = unicode(self.ScanCommand.text()) + self.user_settings.cmd_scan = to_unicode(self.ScanCommand.text()) #self.user_settings.cmd_scan_int = (self.scanButtonGroup.selectedId() == 0) - self.user_settings.cmd_pcard = unicode(self.AccessPCardCommand.text()) + self.user_settings.cmd_pcard = to_unicode(self.AccessPCardCommand.text()) #self.user_settings.cmd_pcard_int = (self.pcardButtonGroup.selectedId() == 0) - self.user_settings.cmd_fax = unicode(self.SendFaxCommand.text()) + self.user_settings.cmd_fax = to_unicode(self.SendFaxCommand.text()) #self.user_settings.cmd_fax_int = (self.faxButtonGroup.selectedId() == 0) - self.user_settings.cmd_copy = unicode(self.MakeCopiesCommand.text()) + self.user_settings.cmd_copy = to_unicode(self.MakeCopiesCommand.text()) #self.user_settings.cmd_copy_int = (self.copyButtonGroup.selectedId() == 0) ## self.user_settings.email_alerts = bool(self.EmailCheckBox.isChecked()) diff -Nru hplip-3.14.6/ui/setupform_base.py hplip-3.15.2/ui/setupform_base.py --- hplip-3.14.6/ui/setupform_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/setupform_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -462,79 +462,79 @@ def connectionTypeButtonGroup_clicked(self,a0): - print "SetupForm_base.connectionTypeButtonGroup_clicked(int): Not implemented yet" + print("SetupForm_base.connectionTypeButtonGroup_clicked(int): Not implemented yet") def probedDevicesListView_currentChanged(self,a0): - print "SetupForm_base.probedDevicesListView_currentChanged(QListViewItem*): Not implemented yet" + print("SetupForm_base.probedDevicesListView_currentChanged(QListViewItem*): Not implemented yet") def printerNameLineEdit_textChanged(self,a0): - print "SetupForm_base.printerNameLineEdit_textChanged(const QString&): Not implemented yet" + print("SetupForm_base.printerNameLineEdit_textChanged(const QString&): Not implemented yet") def defaultPrinterNamePushButton_clicked(self): - print "SetupForm_base.defaultPrinterNamePushButton_clicked(): Not implemented yet" + print("SetupForm_base.defaultPrinterNamePushButton_clicked(): Not implemented yet") def ppdBrowsePushButton_clicked(self): - print "SetupForm_base.ppdBrowsePushButton_clicked(): Not implemented yet" + print("SetupForm_base.ppdBrowsePushButton_clicked(): Not implemented yet") def ppdFileLineEdit_textChanged(self,a0): - print "SetupForm_base.ppdFileLineEdit_textChanged(const QString&): Not implemented yet" + print("SetupForm_base.ppdFileLineEdit_textChanged(const QString&): Not implemented yet") def ppdListView_currentChanged(self,a0): - print "SetupForm_base.ppdListView_currentChanged(QListViewItem*): Not implemented yet" + print("SetupForm_base.ppdListView_currentChanged(QListViewItem*): Not implemented yet") def probeUpdatePushButton_clicked(self): - print "SetupForm_base.probeUpdatePushButton_clicked(): Not implemented yet" + print("SetupForm_base.probeUpdatePushButton_clicked(): Not implemented yet") def searchFiltersPushButton_clicked(self): - print "SetupForm_base.searchFiltersPushButton_clicked(): Not implemented yet" + print("SetupForm_base.searchFiltersPushButton_clicked(): Not implemented yet") def searchFiltersPushButton2_clicked(self): - print "SetupForm_base.searchFiltersPushButton2_clicked(): Not implemented yet" + print("SetupForm_base.searchFiltersPushButton2_clicked(): Not implemented yet") def manualFindPushButton_clicked(self): - print "SetupForm_base.manualFindPushButton_clicked(): Not implemented yet" + print("SetupForm_base.manualFindPushButton_clicked(): Not implemented yet") def printerLocationLineEdit_textChanged(self,a0): - print "SetupForm_base.printerLocationLineEdit_textChanged(const QString&): Not implemented yet" + print("SetupForm_base.printerLocationLineEdit_textChanged(const QString&): Not implemented yet") def printerDescriptionLineEdit_textChanged(self,a0): - print "SetupForm_base.printerDescriptionLineEdit_textChanged(const QString&): Not implemented yet" + print("SetupForm_base.printerDescriptionLineEdit_textChanged(const QString&): Not implemented yet") def faxNameLineEdit_textChanged(self,a0): - print "SetupForm_base.faxNameLineEdit_textChanged(const QString&): Not implemented yet" + print("SetupForm_base.faxNameLineEdit_textChanged(const QString&): Not implemented yet") def faxNumberLineEdit_textChanged(self,a0): - print "SetupForm_base.faxNumberLineEdit_textChanged(const QString&): Not implemented yet" + print("SetupForm_base.faxNumberLineEdit_textChanged(const QString&): Not implemented yet") def faxNameCoLineEdit_textChanged(self,a0): - print "SetupForm_base.faxNameCoLineEdit_textChanged(const QString&): Not implemented yet" + print("SetupForm_base.faxNameCoLineEdit_textChanged(const QString&): Not implemented yet") def printTestPageCheckBox_clicked(self): - print "SetupForm_base.printTestPageCheckBox_clicked(): Not implemented yet" + print("SetupForm_base.printTestPageCheckBox_clicked(): Not implemented yet") def faxCheckBox_clicked(self): - print "SetupForm_base.faxCheckBox_clicked(): Not implemented yet" + print("SetupForm_base.faxCheckBox_clicked(): Not implemented yet") def faxCheckBox_toggled(self,a0): - print "SetupForm_base.faxCheckBox_toggled(bool): Not implemented yet" + print("SetupForm_base.faxCheckBox_toggled(bool): Not implemented yet") def printTestPageCheckBox_toggled(self,a0): - print "SetupForm_base.printTestPageCheckBox_toggled(bool): Not implemented yet" + print("SetupForm_base.printTestPageCheckBox_toggled(bool): Not implemented yet") def defaultFaxNamePushButton_clicked(self): - print "SetupForm_base.defaultFaxNamePushButton_clicked(): Not implemented yet" + print("SetupForm_base.defaultFaxNamePushButton_clicked(): Not implemented yet") def otherPPDPushButton_clicked(self): - print "SetupForm_base.otherPPDPushButton_clicked(): Not implemented yet" + print("SetupForm_base.otherPPDPushButton_clicked(): Not implemented yet") def ppdDefaultsPushButton_clicked(self): - print "SetupForm_base.ppdDefaultsPushButton_clicked(): Not implemented yet" + print("SetupForm_base.ppdDefaultsPushButton_clicked(): Not implemented yet") def faxLocationLineEdit_textChanged(self,a0): - print "SetupForm_base.faxLocationLineEdit_textChanged(const QString&): Not implemented yet" + print("SetupForm_base.faxLocationLineEdit_textChanged(const QString&): Not implemented yet") def faxDescriptionLineEdit_textChanged(self,a0): - print "SetupForm_base.faxDescriptionLineEdit_textChanged(const QString&): Not implemented yet" + print("SetupForm_base.faxDescriptionLineEdit_textChanged(const QString&): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("SetupForm_base",s,c) diff -Nru hplip-3.14.6/ui/setupform.py hplip-3.15.2/ui/setupform.py --- hplip-3.14.6/ui/setupform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/setupform.py 2015-01-29 12:20:22.000000000 +0000 @@ -31,8 +31,9 @@ # Local from base.g import * from base import device, utils, models, pkit +from base.sixext import to_unicode from prnt import cups -from ui_utils import load_pixmap +from .ui_utils import load_pixmap from installer import pluginhandler try: @@ -46,9 +47,9 @@ # Qt from qt import * -from setupform_base import SetupForm_base -from setupsettings import SetupSettings -from setupmanualfind import SetupManualFind +from .setupform_base import SetupForm_base +from .setupsettings import SetupSettings +from .setupmanualfind import SetupManualFind class DeviceListViewItem(QListViewItem): @@ -69,12 +70,12 @@ QValidator.__init__(self, parent, name) def validate(self, input, pos): - input = unicode(input) + input = to_unicode(input) if not input: return QValidator.Acceptable, pos - elif input[pos-1] in u"""~`!@#$%^&*()-=+[]{}()\\/,.<>?'\";:| """: + elif input[pos-1] in """~`!@#$%^&*()-=+[]{}()\\/,.<>?'\";:| """: return QValidator.Invalid, pos # TODO: How to determine if unicode char is "printable" and acceptable @@ -92,12 +93,12 @@ QValidator.__init__(self, parent, name) def validate(self, input, pos): - input = unicode(input) + input = to_unicode(input) if not input: return QValidator.Acceptable, pos - elif input[pos-1] not in u'0123456789-(+) ': + elif input[pos-1] not in '0123456789-(+) ': return QValidator.Invalid, pos else: @@ -565,7 +566,7 @@ def otherPPDPushButton_clicked(self): ppd_dir = sys_conf.get('dirs', 'ppd') - ppd_file = unicode(QFileDialog.getOpenFileName(ppd_dir, "PPD Files (*.ppd *.ppd.gz);;All Files (*)", self, "open file dialog", "Choose a PPD file")) + ppd_file = to_unicode(QFileDialog.getOpenFileName(ppd_dir, "PPD Files (*.ppd *.ppd.gz);;All Files (*)", self, "open file dialog", "Choose a PPD file")) if ppd_file and os.path.exists(ppd_file): self.updatePPDPage({ppd_file: cups.getPPDDescription(ppd_file)}) @@ -641,7 +642,7 @@ def printerNameLineEdit_textChanged(self,a0): - self.printer_name = unicode(a0) + self.printer_name = to_unicode(a0) self.defaultPrinterNamePushButton.setEnabled(True) self.printer_name_ok = True @@ -675,16 +676,16 @@ def printerLocationLineEdit_textChanged(self, a0): - self.location = unicode(a0) + self.location = to_unicode(a0) def printerDescriptionLineEdit_textChanged(self,a0): - self.desc = unicode(a0) + self.desc = to_unicode(a0) def faxLocationLineEdit_textChanged(self,a0): - self.fax_location = unicode(a0) + self.fax_location = to_unicode(a0) def faxDescriptionLineEdit_textChanged(self,a0): - self.fax_desc = unicode(a0) + self.fax_desc = to_unicode(a0) def defaultPrinterNamePushButton_clicked(self): self.setDefaultPrinterName() @@ -722,7 +723,7 @@ #self.fax_name_error = False def faxNameLineEdit_textChanged(self, a0): - self.fax_name = unicode(a0) + self.fax_name = to_unicode(a0) self.defaultFaxNamePushButton.setEnabled(True) self.fax_name_ok = True @@ -756,10 +757,10 @@ def faxNumberLineEdit_textChanged(self, a0): - self.fax_number = unicode(a0) + self.fax_number = to_unicode(a0) def faxNameCoLineEdit_textChanged(self, a0): - self.fax_name_company = unicode(a0) + self.fax_name_company = to_unicode(a0) def faxCheckBox_clicked(self): pass @@ -788,7 +789,7 @@ d.open() except Error: error_text = self.__tr("Unable to communicate with the device. Please check the device and try again.") - log.error(unicode(error_text)) + log.error(to_unicode(error_text)) if QMessageBox.critical(self, self.caption(), error_text, @@ -807,15 +808,15 @@ try: if read: - self.fax_number = unicode(d.getPhoneNum()) - self.fax_name_company = unicode(d.getStationName()) + self.fax_number = to_unicode(d.getPhoneNum()) + self.fax_name_company = to_unicode(d.getStationName()) else: d.setStationName(self.fax_name_company) d.setPhoneNum(self.fax_number) except Error: error_text = self.__tr("Device I/O Error

Could not communicate with device. Device may be busy.") - log.error(unicode(error_text)) + log.error(to_unicode(error_text)) if QMessageBox.critical(self, self.caption(), @@ -856,7 +857,7 @@ if self.mq.get('fw-download', False): try: d = device.Device(self.device_uri) - except Error , e: + except Error as e: self.FailureUI(self.__tr("Error opening device. Firmware download is Failed.

%s (%s)." % (e.msg, e.opt))) else: if d.downloadFirmware(): @@ -876,9 +877,9 @@ #if self.ppd_file.startswith("foomatic:"): if not os.path.exists(self.ppd_file): # assume foomatic: or some such - add_prnt_args = (self.printer_name.encode('utf8'), self.device_uri,self.location, '', self.ppd_file, self.desc) + add_prnt_args = (self.printer_name, self.device_uri,self.location, '', self.ppd_file, self.desc) else: - add_prnt_args = (self.printer_name.encode('utf8'), self.device_uri, self.location, self.ppd_file, '', self.desc) + add_prnt_args = (self.printer_name, self.device_uri, self.location, self.ppd_file, '', self.desc) status, status_str = cups.cups_operation(cups.addPrinter, GUI_MODE, 'qt3', self, *add_prnt_args) @@ -894,7 +895,6 @@ QApplication.restoreOverrideCursor() return status - def setupFax(self): status = cups.IPP_BAD_REQUEST QApplication.setOverrideCursor(QApplication.waitCursor) @@ -915,7 +915,7 @@ while True: ppd_dir = sys_conf.get('dirs', 'ppd') - fax_ppd = unicode(QFileDialog.getOpenFileName(ppd_dir, + fax_ppd = to_unicode(QFileDialog.getOpenFileName(ppd_dir, "HP Fax PPD Files (*.ppd *.ppd.gz);;All Files (*)", self, "open file dialog", "Choose the fax PPD file")) @@ -957,7 +957,7 @@ if self.print_test_page: try: d = device.Device(self.device_uri) - except Error, e: + except Error as e: self.FailureUI(self.__tr("Device error:

%s (%s)." % (e.msg, e.opt))) else: @@ -971,7 +971,7 @@ try: d.printTestPage(self.printer_name) - except Error, e: + except Error as e: if e.opt == ERROR_NO_CUPS_QUEUE_FOUND_FOR_DEVICE: self.FailureUI(self.__tr("No CUPS queue found for device.

Please install the printer in CUPS and try again.")) else: @@ -988,7 +988,7 @@ QWizard.reject(self) def FailureUI(self, error_text): - log.error(unicode(error_text).replace("", "").replace("", "").replace("

", " ")) + log.error(to_unicode(error_text).replace("", "").replace("", "").replace("

", " ")) QMessageBox.critical(self, self.caption(), error_text, @@ -1054,10 +1054,10 @@ self.usernameLineEdit.setPaletteBackgroundColor(QColor("lightgray")) def getUsername(self): - return unicode(self.usernameLineEdit.text()) + return to_unicode(self.usernameLineEdit.text()) def getPassword(self): - return unicode(self.passwordLineEdit.text()) + return to_unicode(self.passwordLineEdit.text()) def languageChange(self): self.setCaption(self.__tr("HP Device Manager - Enter Username/Password")) diff -Nru hplip-3.14.6/ui/setupmanualfind_base.py hplip-3.15.2/ui/setupmanualfind_base.py --- hplip-3.14.6/ui/setupmanualfind_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/setupmanualfind_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -80,7 +80,7 @@ def findLineEdit_textChanged(self,a0): - print "SetupManualFind_base.findLineEdit_textChanged(const QString&): Not implemented yet" + print("SetupManualFind_base.findLineEdit_textChanged(const QString&): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("SetupManualFind_base",s,c) diff -Nru hplip-3.14.6/ui/setupmanualfind.py hplip-3.15.2/ui/setupmanualfind.py --- hplip-3.14.6/ui/setupmanualfind.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/setupmanualfind.py 2015-01-29 12:20:22.000000000 +0000 @@ -20,9 +20,10 @@ # from base.g import * +from base.sixext import to_unicode from qt import * -from setupmanualfind_base import SetupManualFind_base +from .setupmanualfind_base import SetupManualFind_base class SetupManualFind(SetupManualFind_base): def __init__(self, bus, parent=None, name=None, modal=0, fl = 0): @@ -47,7 +48,7 @@ self.findTextLabel.setText(self.__tr("""Device Node:""")) def findLineEdit_textChanged(self,a0): - self.param = unicode(a0) + self.param = to_unicode(a0) if self.bus == 'usb': bus, dev = self.param.split(':') diff -Nru hplip-3.14.6/ui/setupsettings_base.py hplip-3.15.2/ui/setupsettings_base.py --- hplip-3.14.6/ui/setupsettings_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/setupsettings_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -187,31 +187,31 @@ def faxCheckBox_toggled(self,a0): - print "SetupSettings_base.faxCheckBox_toggled(bool): Not implemented yet" + print("SetupSettings_base.faxCheckBox_toggled(bool): Not implemented yet") def scanCheckBox_toggled(self,a0): - print "SetupSettings_base.scanCheckBox_toggled(bool): Not implemented yet" + print("SetupSettings_base.scanCheckBox_toggled(bool): Not implemented yet") def pcardCheckBox_toggled(self,a0): - print "SetupSettings_base.pcardCheckBox_toggled(bool): Not implemented yet" + print("SetupSettings_base.pcardCheckBox_toggled(bool): Not implemented yet") def copyCheckBox_toggled(self,a0): - print "SetupSettings_base.copyCheckBox_toggled(bool): Not implemented yet" + print("SetupSettings_base.copyCheckBox_toggled(bool): Not implemented yet") def filterButtonGroup_clicked(self,a0): - print "SetupSettings_base.filterButtonGroup_clicked(int): Not implemented yet" + print("SetupSettings_base.filterButtonGroup_clicked(int): Not implemented yet") def searchTermLineEdit_textChanged(self,a0): - print "SetupSettings_base.searchTermLineEdit_textChanged(const QString&): Not implemented yet" + print("SetupSettings_base.searchTermLineEdit_textChanged(const QString&): Not implemented yet") def ttlSpinBox_valueChanged(self,a0): - print "SetupSettings_base.ttlSpinBox_valueChanged(int): Not implemented yet" + print("SetupSettings_base.ttlSpinBox_valueChanged(int): Not implemented yet") def timeoutSpinBox_valueChanged(self,a0): - print "SetupSettings_base.timeoutSpinBox_valueChanged(int): Not implemented yet" + print("SetupSettings_base.timeoutSpinBox_valueChanged(int): Not implemented yet") def defaultsPushButton_clicked(self): - print "SetupSettings_base.defaultsPushButton_clicked(): Not implemented yet" + print("SetupSettings_base.defaultsPushButton_clicked(): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("SetupSettings_base",s,c) diff -Nru hplip-3.14.6/ui/setupsettings.py hplip-3.15.2/ui/setupsettings.py --- hplip-3.14.6/ui/setupsettings.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/setupsettings.py 2015-01-29 12:20:22.000000000 +0000 @@ -21,9 +21,10 @@ from base.g import * from base.codes import * +from base.sixext import to_unicode from qt import * -from setupsettings_base import SetupSettings_base +from .setupsettings_base import SetupSettings_base class SetupSettings(SetupSettings_base): def __init__(self, bus, filter, search, ttl, timeout, parent=None, name=None, modal=0, fl = 0): @@ -75,7 +76,7 @@ self.updateFilter(a0) def searchTermLineEdit_textChanged(self, a0): - self.search = unicode(a0) + self.search = to_unicode(a0) def ttlSpinBox_valueChanged(self, a0): self.ttl = a0 diff -Nru hplip-3.14.6/ui/systemtray.py hplip-3.15.2/ui/systemtray.py --- hplip-3.14.6/ui/systemtray.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/systemtray.py 2015-01-29 12:20:22.000000000 +0000 @@ -31,7 +31,7 @@ # Local from base.g import * from base import device, utils -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt try: @@ -280,7 +280,7 @@ if managerWin != 0: # set StructureNotifyMask (1L << 17) - XSelectInput(dpy, managerWin, 1L << 17) + XSelectInput(dpy, managerWin, 1 << 17) #XUngrabServer(dpy) XFlush(dpy) diff -Nru hplip-3.14.6/ui/unloadform.py hplip-3.15.2/ui/unloadform.py --- hplip-3.14.6/ui/unloadform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/unloadform.py 2015-01-29 12:20:22.000000000 +0000 @@ -26,12 +26,13 @@ # Local from base.g import * from base import utils, device +from base.sixext import to_unicode from prnt import cups -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt from qt import * -from scrollunload import ScrollUnloadView +from .scrollunload import ScrollUnloadView class UnloadForm(QMainWindow): @@ -77,7 +78,7 @@ max_deviceid_size = max(len(d), max_deviceid_size) if x == 0: - from nodevicesform import NoDevicesForm + from .nodevicesform import NoDevicesForm self.FailureUI(self.__tr("

No devices found that support photo card access.

Please make sure your device is properly installed and try again.")) self.init_failed = True @@ -86,7 +87,7 @@ self.device_uri = devices[0][0] else: - from choosedevicedlg import ChooseDeviceDlg + from .choosedevicedlg import ChooseDeviceDlg dlg = ChooseDeviceDlg(devices) if dlg.exec_loop() == QDialog.Accepted: self.device_uri = dlg.device_uri @@ -105,7 +106,7 @@ try: self.cur_device = device.Device(device_uri=self.device_uri, printer_name=self.printer_name) - except Error, e: + except Error as e: log.error("Invalid device URI or printer name.") self.FailureUI("Invalid device URI or printer name.

Please check the parameters to hp-print and try again.") self.init_failed = True @@ -130,7 +131,7 @@ self.UnloadView.onDeviceChange(self.cur_device) def FailureUI(self, error_text): - log.error(unicode(error_text).replace("", "").replace("", "").replace("

", " ")) + log.error(to_unicode(error_text).replace("", "").replace("", "").replace("

", " ")) QMessageBox.critical(self, self.caption(), error_text, diff -Nru hplip-3.14.6/ui/upgradeform.py hplip-3.15.2/ui/upgradeform.py --- hplip-3.14.6/ui/upgradeform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/upgradeform.py 2015-01-29 12:20:22.000000000 +0000 @@ -28,11 +28,11 @@ # Local from base.g import * from base import device, utils, models, os_utils -from ui_utils import load_pixmap +from .ui_utils import load_pixmap # Qt from qt import * -from upgradeform_base import UpgradeForm_base +from .upgradeform_base import UpgradeForm_base MANUAL_INSTALL_LINK = "http://hplipopensource.com/hplip-web/install/manual/index.html" @@ -94,7 +94,7 @@ else: log.debug("HPLIP Upgrade, selected Install radiobutton distro_type=%d" %self.distro_type) self.NextButton.setEnabled(False) - if self.distro_type != 1: # not tier 1 distro + if self.distro_type != 1: # not tier 1 distro utils.openURL(MANUAL_INSTALL_LINK) else: terminal_cmd = utils.get_terminal() diff -Nru hplip-3.14.6/ui/waitform_base.py hplip-3.15.2/ui/waitform_base.py --- hplip-3.14.6/ui/waitform_base.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/waitform_base.py 2015-01-29 12:20:22.000000000 +0000 @@ -57,7 +57,7 @@ def cancelPushButton_clicked(self): - print "WaitForm_base.cancelPushButton_clicked(): Not implemented yet" + print("WaitForm_base.cancelPushButton_clicked(): Not implemented yet") def __tr(self,s,c = None): return qApp.translate("WaitForm_base",s,c) diff -Nru hplip-3.14.6/ui/waitform.py hplip-3.15.2/ui/waitform.py --- hplip-3.14.6/ui/waitform.py 2014-06-03 06:31:28.000000000 +0000 +++ hplip-3.15.2/ui/waitform.py 2015-01-29 12:20:22.000000000 +0000 @@ -21,7 +21,7 @@ import sys from qt import * -from waitform_base import WaitForm_base +from .waitform_base import WaitForm_base class WaitForm(WaitForm_base): def __init__(self, seconds, message=None, cancel_func=None, parent=None, name=None, modal=0, fl=0): diff -Nru hplip-3.14.6/ui4/aboutdialog.py hplip-3.15.2/ui4/aboutdialog.py --- hplip-3.14.6/ui4/aboutdialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/aboutdialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -23,14 +23,14 @@ # Local from base.g import * #from base import device, utils -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from aboutdialog_base import Ui_AboutDlg_base +from .aboutdialog_base import Ui_AboutDlg_base class AboutDialog(QDialog, Ui_AboutDlg_base): diff -Nru hplip-3.14.6/ui4/aligndialog_base.py hplip-3.15.2/ui4/aligndialog_base.py --- hplip-3.14.6/ui4/aligndialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/aligndialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -372,5 +372,5 @@ "\n" "

Cartridge alignment on this printer is only available by accessing the front panel of the printer. Please refer to the user guide for the printer for more information. Click Finish to exit.

", None, QtGui.QApplication.UnicodeUTF8)) -from loadpapergroupbox import LoadPaperGroupBox -from deviceuricombobox import DeviceUriComboBox +from .loadpapergroupbox import LoadPaperGroupBox +from .deviceuricombobox import DeviceUriComboBox diff -Nru hplip-3.14.6/ui4/aligndialog.py hplip-3.15.2/ui4/aligndialog.py --- hplip-3.14.6/ui4/aligndialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/aligndialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -28,14 +28,14 @@ from base import device, utils, maint, status #from prnt import cups from base.codes import * -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from aligndialog_base import Ui_Dialog +from .aligndialog_base import Ui_Dialog PAGE_START = 0 PAGE_LOAD_PAPER = 1 @@ -473,7 +473,7 @@ t.append(p) try: - log.debug("%s(%s)" % (seq.func_name, ','.join([repr(x) for x in t]))) + log.debug("%s(%s)" % (seq.__name__, ','.join([repr(x) for x in t]))) except AttributeError: pass @@ -539,12 +539,12 @@ # colors: 'k' or 'c' or 'kc' # line_count: 2 or 3 # choice_count: 5, 7, 9, 11, etc. (odd) - self.AlignmentNumberTitle.setText(self.__tr("From the printed Alignment page, Choose the set of lines in group %1 where the line segments are best aligned.").arg(line_id)) + self.AlignmentNumberTitle.setText(self.__tr("From the printed Alignment page, Choose the set of lines in group %s where the line segments are best aligned." % line_id)) self.AlignmentNumberIcon.setPixmap(load_pixmap('%s-%s-%d' % (orientation, colors, line_count), 'other')) self.AlignmentNumberComboBox.clear() for x in range(choice_count): - self.AlignmentNumberComboBox.addItem(QString("%1%2").arg(line_id).arg(x+1)) + self.AlignmentNumberComboBox.addItem(QString("%s%s"% (line_id, x+1))) self.displayPage(PAGE_ALIGNMENT_NUMBER) return @@ -596,9 +596,9 @@ self.PageEdgeComboBox.clear() for x in range(count): if prefix is None: - self.PageEdgeComboBox.addItem(QString("%1").arg(x+1)) + self.PageEdgeComboBox.addItem(QString("%s" % x+1)) else: - self.PageEdgeComboBox.addItem(QString("%1%2").arg(prefix).arg(x+1)) # for xBow + self.PageEdgeComboBox.addItem(QString("%s%s" % (prefix, x+1))) # for xBow self.displayPage(PAGE_EDGE) @@ -626,7 +626,7 @@ # TODO: ... self.controls = maint.align10and11and14Controls(pattern, self.align_type) - keys = self.controls.keys() + keys = list(self.controls.keys()) keys.sort() max_line = 'A' for line in keys: @@ -635,7 +635,7 @@ else: break - self.LBowTitle.setText(self.__tr("For each row A - %1, select the label representing the box in which in the inner lines are the least visible.").arg(max_line)) + self.LBowTitle.setText(self.__tr("For each row A - %s, select the label representing the box in which in the inner lines are the least visible." % max_line)) for line in self.controls: if not self.controls[line][0]: @@ -650,7 +650,7 @@ def endLBowPage(self): self.values = [] - controls = self.controls.keys() + controls = list(self.controls.keys()) controls.sort() for line in controls: @@ -678,10 +678,10 @@ def showColorAdjustPage(self, line_id, count=21): self.ColorAdjustComboBox.clear() self.ColorAdjustIcon.setPixmap(load_pixmap('color_adj', 'other')) - self.ColorAdjustLabel.setText(self.__tr("Line %1:").arg(line_id)) + self.ColorAdjustLabel.setText(self.__tr("Line %s:" % line_id)) for x in range(count): - self.ColorAdjustComboBox.addItem(QString("%1%2").arg(line_id).arg(x+1)) + self.ColorAdjustComboBox.addItem(QString("%s%s" % (line_id, x+1))) self.displayPage(PAGE_COLOR_ADJ) @@ -761,7 +761,7 @@ if p is None or not self.step_max: self.StepText.setText(QString("")) else: - self.StepText.setText(self.__tr("Step %1 of %2").arg(p).arg(self.step_max)) + self.StepText.setText(self.__tr("Step %s of %s" % (p, self.step_max))) def setAlignButton(self, typ=BUTTON_ALIGN): diff -Nru hplip-3.14.6/ui4/cleandialog_base.py hplip-3.15.2/ui4/cleandialog_base.py --- hplip-3.14.6/ui4/cleandialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/cleandialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -165,5 +165,5 @@ self.NextButton.setText(QtGui.QApplication.translate("Dialog", "Next >", None, QtGui.QApplication.UnicodeUTF8)) self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8)) -from loadpapergroupbox import LoadPaperGroupBox -from deviceuricombobox import DeviceUriComboBox +from .loadpapergroupbox import LoadPaperGroupBox +from .deviceuricombobox import DeviceUriComboBox diff -Nru hplip-3.14.6/ui4/cleandialog.py hplip-3.15.2/ui4/cleandialog.py --- hplip-3.14.6/ui4/cleandialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/cleandialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -28,14 +28,14 @@ from base import device, utils, maint from prnt import cups from base.codes import * -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from cleandialog_base import Ui_Dialog +from .cleandialog_base import Ui_Dialog CLEAN_TYPE_INITIAL = 1000 @@ -51,7 +51,8 @@ BUTTON_NEXT = 1 BUTTON_FINISH = 2 -LEDM_CLEAN_VERIFY_PAGE_JOB="cleaningVerificationPage" +LEDM_CLEAN_VERIFY_PAGE_JOB=b"cleaningVerificationPage" + #d = None def true(): @@ -193,7 +194,7 @@ t.append(p) try: - log.debug("%s(%s)" % (seq.func_name, ','.join([repr(x) for x in t]))) + log.debug("%s(%s)" % (seq.__name__, ','.join([repr(x) for x in t]))) except AttributeError: pass @@ -373,7 +374,7 @@ if p is None or not self.step_max: self.StepText.setText(QString("")) else: - self.StepText.setText(self.__tr("Step %1 of %2").arg(p).arg(self.step_max)) + self.StepText.setText(self.__tr("Step %s of %s" % (p, self.step_max))) def setCleanButton(self, typ=BUTTON_CLEAN): diff -Nru hplip-3.14.6/ui4/colorcaldialog_base.py hplip-3.15.2/ui4/colorcaldialog_base.py --- hplip-3.14.6/ui4/colorcaldialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/colorcaldialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -7,7 +7,9 @@ # # WARNING! All changes made in this file will be lost! -from PyQt4 import QtCore, QtGui +from PyQt4 import QtGui +from PyQt4.QtCore import * +from base.g import * class Ui_Dialog(object): def setupUi(self, Dialog): @@ -76,13 +78,13 @@ self.hboxlayout.addWidget(self.label_4) self.Deskjet450ComboBox = QtGui.QComboBox(self.Deskjet450Page) self.Deskjet450ComboBox.setObjectName("Deskjet450ComboBox") - self.Deskjet450ComboBox.addItem(QtCore.QString()) - self.Deskjet450ComboBox.addItem(QtCore.QString()) - self.Deskjet450ComboBox.addItem(QtCore.QString()) - self.Deskjet450ComboBox.addItem(QtCore.QString()) - self.Deskjet450ComboBox.addItem(QtCore.QString()) - self.Deskjet450ComboBox.addItem(QtCore.QString()) - self.Deskjet450ComboBox.addItem(QtCore.QString()) + self.Deskjet450ComboBox.addItem(QString()) + self.Deskjet450ComboBox.addItem(QString()) + self.Deskjet450ComboBox.addItem(QString()) + self.Deskjet450ComboBox.addItem(QString()) + self.Deskjet450ComboBox.addItem(QString()) + self.Deskjet450ComboBox.addItem(QString()) + self.Deskjet450ComboBox.addItem(QString()) self.hboxlayout.addWidget(self.Deskjet450ComboBox) self.gridlayout4.addLayout(self.hboxlayout, 2, 1, 1, 1) spacerItem4 = QtGui.QSpacerItem(221, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) @@ -110,7 +112,7 @@ self.CrickSpinBox = QtGui.QSpinBox(self.CrickPage) self.CrickSpinBox.setMinimum(1) self.CrickSpinBox.setMaximum(81) - self.CrickSpinBox.setProperty("value", QtCore.QVariant(41)) + self.CrickSpinBox.setProperty("value", 41) self.CrickSpinBox.setObjectName("CrickSpinBox") self.hboxlayout1.addWidget(self.CrickSpinBox) self.gridlayout5.addLayout(self.hboxlayout1, 2, 1, 1, 1) @@ -137,8 +139,8 @@ sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.LBowIcon.sizePolicy().hasHeightForWidth()) self.LBowIcon.setSizePolicy(sizePolicy) - self.LBowIcon.setMinimumSize(QtCore.QSize(85, 90)) - self.LBowIcon.setMaximumSize(QtCore.QSize(85, 90)) + self.LBowIcon.setMinimumSize(QSize(85, 90)) + self.LBowIcon.setMaximumSize(QSize(85, 90)) self.LBowIcon.setFrameShape(QtGui.QFrame.NoFrame) self.LBowIcon.setObjectName("LBowIcon") self.gridlayout6.addWidget(self.LBowIcon, 2, 1, 1, 1) @@ -184,8 +186,8 @@ sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.ConneryGrayPatchIcon.sizePolicy().hasHeightForWidth()) self.ConneryGrayPatchIcon.setSizePolicy(sizePolicy) - self.ConneryGrayPatchIcon.setMinimumSize(QtCore.QSize(75, 75)) - self.ConneryGrayPatchIcon.setMaximumSize(QtCore.QSize(75, 75)) + self.ConneryGrayPatchIcon.setMinimumSize(QSize(75, 75)) + self.ConneryGrayPatchIcon.setMaximumSize(QSize(75, 75)) self.ConneryGrayPatchIcon.setFrameShape(QtGui.QFrame.NoFrame) self.ConneryGrayPatchIcon.setObjectName("ConneryGrayPatchIcon") self.gridlayout8.addWidget(self.ConneryGrayPatchIcon, 0, 1, 1, 2) @@ -210,8 +212,8 @@ sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.ConneryColorPatchIcon.sizePolicy().hasHeightForWidth()) self.ConneryColorPatchIcon.setSizePolicy(sizePolicy) - self.ConneryColorPatchIcon.setMinimumSize(QtCore.QSize(75, 75)) - self.ConneryColorPatchIcon.setMaximumSize(QtCore.QSize(75, 75)) + self.ConneryColorPatchIcon.setMinimumSize(QSize(75, 75)) + self.ConneryColorPatchIcon.setMaximumSize(QSize(75, 75)) self.ConneryColorPatchIcon.setFrameShape(QtGui.QFrame.NoFrame) self.ConneryColorPatchIcon.setObjectName("ConneryColorPatchIcon") self.gridlayout9.addWidget(self.ConneryColorPatchIcon, 0, 1, 1, 2) @@ -269,9 +271,9 @@ self.retranslateUi(Dialog) self.StackedWidget.setCurrentIndex(0) - QtCore.QObject.connect(self.ConneryUseFactoryDefaultsCheckBox, QtCore.SIGNAL("clicked(bool)"), self.groupBox_2.setDisabled) - QtCore.QObject.connect(self.ConneryUseFactoryDefaultsCheckBox, QtCore.SIGNAL("clicked(bool)"), self.groupBox_3.setDisabled) - QtCore.QMetaObject.connectSlotsByName(Dialog) + QObject.connect(self.ConneryUseFactoryDefaultsCheckBox, SIGNAL("clicked(bool)"), self.groupBox_2.setDisabled) + QObject.connect(self.ConneryUseFactoryDefaultsCheckBox, SIGNAL("clicked(bool)"), self.groupBox_3.setDisabled) + QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", "HP Device Manager - Printer Color Calibration", None, QtGui.QApplication.UnicodeUTF8)) @@ -322,5 +324,5 @@ self.NextButton.setText(QtGui.QApplication.translate("Dialog", "Next >", None, QtGui.QApplication.UnicodeUTF8)) self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8)) -from loadpapergroupbox import LoadPaperGroupBox -from deviceuricombobox import DeviceUriComboBox +from .loadpapergroupbox import LoadPaperGroupBox +from .deviceuricombobox import DeviceUriComboBox diff -Nru hplip-3.14.6/ui4/colorcaldialog.py hplip-3.15.2/ui4/colorcaldialog.py --- hplip-3.14.6/ui4/colorcaldialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/colorcaldialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -28,14 +28,15 @@ from base import device, utils, maint from prnt import cups from base.codes import * -from ui_utils import * +from base.sixext import to_unicode +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from colorcaldialog_base import Ui_Dialog +from .colorcaldialog_base import Ui_Dialog COLOR_CAL_TYPE_INITIAL = 1000 @@ -240,7 +241,7 @@ t.append(p) try: - log.debug("%s(%s)" % (seq.func_name, ','.join([repr(x) for x in t]))) + log.debug("%s(%s)" % (seq.__name__, ','.join([repr(x) for x in t]))) except AttributeError: pass @@ -303,7 +304,7 @@ def endDeskjet450Page(self): - self.value = int(unicode(self.Deskjet450ComboBox.currentText())) + self.value = int(to_unicode(self.Deskjet450ComboBox.currentText())) def showCrick(self): @@ -316,10 +317,10 @@ def showLBowPage(self, line_id, count=21): self.LBowComboBox.clear() self.LBowIcon.setPixmap(load_pixmap('color_adj', 'other')) - self.LBowLabel.setText(self.__tr("Line %1:").arg(line_id)) + self.LBowLabel.setText(self.__tr("Line %s:"%line_id)) for x in range(count): - self.LBowComboBox.addItem(QString("%1%2").arg(line_id).arg(x+1)) + self.LBowComboBox.addItem(QString("%s%s"%(line_id, x+1))) self.displayPage(PAGE_LBOW) @@ -344,13 +345,13 @@ self.ConneryGrayLetterComboBox.addItem(QString(x)) for x in range(13): - self.ConneryGrayNumberComboBox.addItem(QString("%1").arg(x+1)) + self.ConneryGrayNumberComboBox.addItem(QString("%s"%x+1)) for x in 'PQRSTUV': self.ConneryColorLetterComboBox.addItem(QString(x)) for x in range(6): - self.ConneryColorNumberComboBox.addItem(QString("%1").arg(x+1)) + self.ConneryColorNumberComboBox.addItem(QString("%s"%x+1)) self.displayPage(PAGE_CONNERY) @@ -415,7 +416,7 @@ if p is None or not self.step_max: self.StepText.setText(QString("")) else: - self.StepText.setText(self.__tr("Step %1 of %2").arg(p).arg(self.step_max)) + self.StepText.setText(self.__tr("Step %s of %s"%(p,self.step_max))) def setColorCalButton(self, typ=BUTTON_CALIBRATE): diff -Nru hplip-3.14.6/ui4/devicesetupdialog_base.py hplip-3.15.2/ui4/devicesetupdialog_base.py --- hplip-3.14.6/ui4/devicesetupdialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/devicesetupdialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -82,4 +82,4 @@ self.TabWidget.setTabText(self.TabWidget.indexOf(self.PowerSettingsTab), QtGui.QApplication.translate("Dialog", "Power Settings", None, QtGui.QApplication.UnicodeUTF8)) self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "Close", None, QtGui.QApplication.UnicodeUTF8)) -from deviceuricombobox import DeviceUriComboBox +from .deviceuricombobox import DeviceUriComboBox diff -Nru hplip-3.14.6/ui4/devicesetupdialog.py hplip-3.15.2/ui4/devicesetupdialog.py --- hplip-3.14.6/ui4/devicesetupdialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/devicesetupdialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -25,17 +25,17 @@ # Local from base.g import * -from base import device, utils, pml +from base import device, pml from prnt import cups from base.codes import * -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from devicesetupdialog_base import Ui_Dialog +from .devicesetupdialog_base import Ui_Dialog TAB_POWER_SETTINGS = 0 @@ -67,12 +67,12 @@ if self.device_uri: self.DeviceComboBox.setInitialDevice(self.device_uri) - self.DurationComboBox.addItem(self.__tr("15 minutes"), QVariant(15)) - self.DurationComboBox.addItem(self.__tr("30 minutes"), QVariant(30)) - self.DurationComboBox.addItem(self.__tr("45 minutes"), QVariant(45)) - self.DurationComboBox.addItem(self.__tr("1 hour"), QVariant(60)) - self.DurationComboBox.addItem(self.__tr("2 hours"), QVariant(120)) - self.DurationComboBox.addItem(self.__tr("3 hours"), QVariant(180)) + self.DurationComboBox.addItem(self.__tr("15 minutes"), 15) + self.DurationComboBox.addItem(self.__tr("30 minutes"), 30) + self.DurationComboBox.addItem(self.__tr("45 minutes"), 45) + self.DurationComboBox.addItem(self.__tr("1 hour"), 60) + self.DurationComboBox.addItem(self.__tr("2 hours"), 120) + self.DurationComboBox.addItem(self.__tr("3 hours"), 180) self.connect(self.DurationComboBox, SIGNAL("activated(int)"), self.DurationComboBox_activated) @@ -83,7 +83,7 @@ i = self.DurationComboBox.currentIndex() if i == -1: return - v, ok = self.DurationComboBox.itemData(i).toInt() + v, ok = value_int(self.DurationComboBox.itemData(i)) if not ok: return @@ -155,7 +155,7 @@ self.OffRadioButton.setChecked(True) find = int(value) - index = self.DurationComboBox.findData(QVariant(find)) + index = self.DurationComboBox.findData(find) if index != -1: self.DurationComboBox.setCurrentIndex(index) @@ -210,7 +210,7 @@ elif value == pml.OID_POWER_SETTINGS_3HR: find = 180 - index = self.DurationComboBox.findData(QVariant(find)) + index = self.DurationComboBox.findData(find) if index != -1: self.DurationComboBox.setCurrentIndex(index) @@ -235,7 +235,7 @@ def DurationComboBox_activated(self, i): if i == -1: return - v, ok = self.DurationComboBox.itemData(i).toInt() + v, ok = value_int(self.DurationComboBox.itemData(i)) if not ok: return if self.power_settings == POWER_SETTINGS_EPML: diff -Nru hplip-3.14.6/ui4/deviceuricombobox.py hplip-3.15.2/ui4/deviceuricombobox.py --- hplip-3.14.6/ui4/deviceuricombobox.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/deviceuricombobox.py 2015-01-29 12:20:15.000000000 +0000 @@ -23,8 +23,9 @@ # Local from base.g import * -from ui_utils import * +from .ui_utils import * from base import device +from base.sixext import to_unicode # Qt from PyQt4.QtCore import * @@ -150,7 +151,7 @@ if self.updating: return - self.device_uri = unicode(t) + self.device_uri = to_unicode(t) if self.device_uri: #user_conf.set('last_used', 'device_uri', self.device_uri) self.user_settings.last_used_device_uri = self.device_uri diff -Nru hplip-3.14.6/ui4/devmgr5_base.py hplip-3.15.2/ui4/devmgr5_base.py --- hplip-3.14.6/ui4/devmgr5_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/devmgr5_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -437,4 +437,4 @@ self.DiagnoseQueueAction.setText(QtGui.QApplication.translate("MainWindow", "Diagnose Queues...", None, QtGui.QApplication.UnicodeUTF8)) self.DiagnoseHPLIPAction.setText(QtGui.QApplication.translate("MainWindow", "Diagnose HPLIP Driver...", None, QtGui.QApplication.UnicodeUTF8)) -from printsettingstoolbox import PrintSettingsToolbox +from .printsettingstoolbox import PrintSettingsToolbox diff -Nru hplip-3.14.6/ui4/devmgr5.py hplip-3.15.2/ui4/devmgr5.py --- hplip-3.14.6/ui4/devmgr5.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/devmgr5.py 2015-01-29 12:20:15.000000000 +0000 @@ -29,19 +29,20 @@ import select import struct import signal - +from base.sixext.moves import configparser # Local from base.g import * from base import device, utils, pml, maint, models, pkit, os_utils from prnt import cups +from base.sixext import PY3 from base.codes import * -from ui_utils import * +from .ui_utils import * import hpmudext from installer.core_install import * - # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * +import collections # dbus try: @@ -50,6 +51,8 @@ from dbus import lowlevel except ImportError: log.error("Unable to load DBus libraries. Please check your installation and try again.") + if PY3: # Workaround due to incomplete Python3 support in Linux distros. + log.error("Please upgrade your python installation to the latest available version.") sys.exit(1) import warnings @@ -59,30 +62,30 @@ # Main form -from devmgr5_base import Ui_MainWindow +from .devmgr5_base import Ui_MainWindow # Aux. dialogs -from faxsetupdialog import FaxSetupDialog -from plugindialog import PluginDialog -from firmwaredialog import FirmwareDialog -from aligndialog import AlignDialog -from printdialog import PrintDialog -from makecopiesdialog import MakeCopiesDialog -from sendfaxdialog import SendFaxDialog -from fabwindow import FABWindow -from devicesetupdialog import DeviceSetupDialog -from printtestpagedialog import PrintTestPageDialog -from infodialog import InfoDialog -from cleandialog import CleanDialog -from colorcaldialog import ColorCalDialog -from linefeedcaldialog import LineFeedCalDialog -from pqdiagdialog import PQDiagDialog -from nodevicesdialog import NoDevicesDialog -from aboutdialog import AboutDialog +from .faxsetupdialog import FaxSetupDialog +from .plugindialog import PluginDialog +from .firmwaredialog import FirmwareDialog +from .aligndialog import AlignDialog +from .printdialog import PrintDialog +from .makecopiesdialog import MakeCopiesDialog +from .sendfaxdialog import SendFaxDialog +from .fabwindow import FABWindow +from .devicesetupdialog import DeviceSetupDialog +from .printtestpagedialog import PrintTestPageDialog +from .infodialog import InfoDialog +from .cleandialog import CleanDialog +from .colorcaldialog import ColorCalDialog +from .linefeedcaldialog import LineFeedCalDialog +from .pqdiagdialog import PQDiagDialog +from .nodevicesdialog import NoDevicesDialog +from .aboutdialog import AboutDialog # Other forms and controls -from settingsdialog import SettingsDialog -from printsettingstoolbox import PrintSettingsToolbox +from .settingsdialog import SettingsDialog +from .printsettingstoolbox import PrintSettingsToolbox from base import os_utils @@ -180,7 +183,7 @@ self.updating = False self.init_failed = False self.service = None - self.Is_autoInstaller_distro = False # True-->tier1(supports auto installation). False--> tier2(manual installation) + self.Is_autoInstaller_distro = False # True-->tier1(supports auto installation). False--> tier2(manual installation) # Distro insformation core = CoreInstall(MODE_CHECK) @@ -401,7 +404,7 @@ self.service.GetStatus(event.device_uri, reply_handler=self.handleStatusReply, error_handler=self.handleStatusError) - except dbus.exceptions.DBusException, e: + except dbus.exceptions.DBusException as e: log.error("dbus call to GetStatus() failed.") elif event.event_code == EVENT_USER_CONFIGURATION_CHANGED: @@ -461,7 +464,7 @@ try: self.service.GetHistory(dev.device_uri, reply_handler=self.handleHistoryReply, error_handler=self.handleHistoryError) - except dbus.exceptions.DBusException, e: + except dbus.exceptions.DBusException as e: log.error("dbus call to GetHistory() failed.") @@ -653,11 +656,11 @@ icon = self.createDeviceIcon(dev) if dev.device_type == DEVICE_TYPE_FAX: - DeviceViewItem(self.DeviceList, self.__tr("%1 (Fax)").arg(dev.model_ui), + DeviceViewItem(self.DeviceList, self.__tr("%s (Fax)"%dev.model_ui), icon, d) else: if dev.fax_type: - DeviceViewItem(self.DeviceList, self.__tr("%1 (Printer)").arg(dev.model_ui), + DeviceViewItem(self.DeviceList, self.__tr("%s (Printer)"%dev.model_ui), icon, d) else: DeviceViewItem(self.DeviceList, dev.model_ui, @@ -766,12 +769,12 @@ def updateWindowTitle(self): if self.cur_device.device_type == DEVICE_TYPE_FAX: - self.setWindowTitle(self.__tr("HP Device Manager - %1 (Fax)").arg(self.cur_device.model_ui)) + self.setWindowTitle(self.__tr("HP Device Manager - %s (Fax)"%self.cur_device.model_ui)) else: if self.cur_device.fax_type: - self.setWindowTitle(self.__tr("HP Device Manager - %1 (Printer)").arg(self.cur_device.model_ui)) + self.setWindowTitle(self.__tr("HP Device Manager - %s (Printer)"%self.cur_device.model_ui)) else: - self.setWindowTitle(self.__tr("HP Device Manager - %1").arg(self.cur_device.model_ui)) + self.setWindowTitle(self.__tr("HP Device Manager - %s"%self.cur_device.model_ui)) self.statusBar().showMessage(self.cur_device_uri) @@ -965,19 +968,19 @@ self.cur_device.updateCUPSPrinters() for c in self.cur_device.cups_printers: - self.PrintSettingsPrinterNameCombo.insertItem(0, c.decode("utf-8")) - self.PrintControlPrinterNameCombo.insertItem(0, c.decode("utf-8")) + self.PrintSettingsPrinterNameCombo.insertItem(0, c) + self.PrintControlPrinterNameCombo.insertItem(0, c) - self.cur_printer = unicode(self.PrintSettingsPrinterNameCombo.currentText()) + self.cur_printer = to_unicode(self.PrintSettingsPrinterNameCombo.currentText()) def PrintSettingsPrinterNameCombo_activated(self, s): - self.cur_printer = unicode(s) + self.cur_printer = to_unicode(s) self.updateCurrentTab() def PrintControlPrinterNameCombo_activated(self, s): - self.cur_printer = unicode(s) + self.cur_printer = to_unicode(s) self.updateCurrentTab() @@ -1019,14 +1022,14 @@ except Error: return - hplip_conf = ConfigParser.ConfigParser() + hplip_conf = configparser.ConfigParser() fp = open("/etc/hp/hplip.conf", "r") hplip_conf.readfp(fp) fp.close() try: plugin_installed = utils.to_bool(hplip_conf.get("hplip", "plugin")) - except ConfigParser.NoOptionError: + except configparser.NoOptionError: plugin_installed = False if d.plugin != PLUGIN_NONE: @@ -1201,13 +1204,13 @@ ] if not self.func_icons_cached: - for filter, text, icon, tooltip, cmd in self.ICONS: + for filte, text, icon, tooltip, cmd in self.ICONS: self.func_icons[icon] = load_pixmap(icon, '32x32') self.func_icons_cached = True - for filter, text, icon, tooltip, cmd in self.ICONS: - if filter is not None: - if not filter(): + for fltr, text, icon, tooltip, cmd in self.ICONS: + if fltr is not None: + if not fltr(): continue FuncViewItem(self.ActionsList, text, @@ -1221,8 +1224,7 @@ def ActionsList_clicked(self, item): if item is not None and self.click_lock is not item: self.click_lock = item - - if item.cmd and callable(item.cmd): + if item.cmd and isinstance(item.cmd, collections.Callable): dlg = item.cmd() self.sendMessage('', '', EVENT_DEVICE_STOP_POLLING) try: @@ -1236,7 +1238,7 @@ log.debug("Opening browser to: %s" % item.cmd) utils.openURL(item.cmd) else: - self.runExternalCommand(item.cmd) + self.runExternalCommand(str(item.cmd)) QTimer.singleShot(1000, self.unlockClick) @@ -1247,7 +1249,7 @@ def ActionsList_customContextMenuRequested(self, p): - print p + print(p) #pass @@ -1359,12 +1361,12 @@ dt.setTime_t(int(e.timedate)) #, Qt.LocalTime) # TODO: In Qt4.x, use QLocale.toString(date, format) - tt = QString("%1 %2").arg(dt.toString()).arg(desc) + tt = QString("%s %s"%(dt.toString(),desc)) if e.job_id: - job_id = unicode(e.job_id) + job_id = to_unicode(e.job_id) else: - job_id = u'' + job_id = to_unicode('') error_state = STATUS_TO_ERROR_STATE_MAP.get(e.event_code, ERROR_STATE_CLEAR) tech_type = self.cur_device.tech_type @@ -1374,7 +1376,7 @@ else: status_pix = getStatusListIcon(error_state)[1] # laser - event_code = unicode(e.event_code) + event_code = to_unicode(e.event_code) i = QTableWidgetItem(QIcon(status_pix), self.__tr("")) i.setFlags(flags) @@ -1484,7 +1486,6 @@ self.cur_device.supported and \ self.cur_device.status_type != STATUS_TYPE_NONE and \ self.cur_device.device_state != DEVICE_STATE_NOT_FOUND: - self.cur_device.sorted_supplies = [] a = 1 while True: @@ -1499,7 +1500,7 @@ a += 1 - self.cur_device.sorted_supplies.sort(lambda x, y: cmp(x[1], y[1]) or cmp(x[3], y[3])) + self.cur_device.sorted_supplies.sort(key=utils.cmp_to_key(utils.levelsCmp)) self.SuppliesTable.setRowCount(len(self.cur_device.sorted_supplies)) self.SuppliesTable.setColumnCount(len(self.supplies_headers)) @@ -1804,7 +1805,7 @@ item = self.JobTable.currentItem() if item is not None: - job_id, ok = item.data(Qt.UserRole).toInt() + job_id, ok = value_int(item.data(Qt.UserRole)) if ok and job_id: self.cur_device.cancelJob(job_id) QTimer.singleShot(1000, self.updatePrintControlTab) @@ -1835,7 +1836,7 @@ jobs = cups.getJobs() num_jobs = 0 for j in jobs: - if j.dest.decode('utf-8') == unicode(self.cur_printer): + if j.dest == self.cur_printer: num_jobs += 1 if num_jobs: @@ -1845,9 +1846,9 @@ self.JobTable.setHorizontalHeaderLabels(self.job_headers) for row, j in enumerate(jobs): - if j.dest.decode('utf-8') == unicode(self.cur_printer): + if j.dest == self.cur_printer: i = QTableWidgetItem(self.JOB_STATE_ICONS[j.state], self.JOB_STATES[j.state]) - i.setData(Qt.UserRole, QVariant(j.id)) + i.setData(Qt.UserRole, j.id) i.setFlags(flags) self.JobTable.setItem(row, 0, i) @@ -1855,7 +1856,7 @@ i.setFlags(flags) self.JobTable.setItem(row, 1, i) - i = QTableWidgetItem(unicode(j.id)) + i = QTableWidgetItem(to_unicode(j.id)) i.setFlags(flags) self.JobTable.setItem(row, 2, i) @@ -1873,7 +1874,7 @@ cups_printers = cups.getPrinters() for p in cups_printers: - if p.name.decode('utf-8') == self.cur_printer: + if p.name == self.cur_printer: self.printer_state = p.state self.printer_accepting = p.accepting break @@ -1884,8 +1885,6 @@ self.SetDefaultButton.setText(self.__tr("Set as Default")) default_printer = cups.getDefaultPrinter() - if default_printer is not None: - default_printer = default_printer.decode('utf8') if self.cur_device.device_type == DEVICE_TYPE_PRINTER: device_string = "Printer" @@ -2237,11 +2236,11 @@ def getUsername(self): - return unicode(self.UsernameLineEdit.text()) + return to_unicode(self.UsernameLineEdit.text()) def getPassword(self): - return unicode(self.PasswordLineEdit.text()) + return to_unicode(self.PasswordLineEdit.text()) def languageChange(self): diff -Nru hplip-3.14.6/ui4/fabgrouptable.py hplip-3.15.2/ui4/fabgrouptable.py --- hplip-3.14.6/ui4/fabgrouptable.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/fabgrouptable.py 2015-01-29 12:20:15.000000000 +0000 @@ -21,6 +21,7 @@ # Local from base.g import * +from base.sixext import to_unicode # Qt from PyQt4.QtCore import * @@ -42,13 +43,13 @@ def dragMoveEvent(self, e): item = self.itemAt(e.pos()) if item is not None: - group = unicode(item.text()) + group = to_unicode(item.text()) - if group == u'All': + if group == to_unicode('All'): e.ignore() return - names = unicode(e.mimeData().data(u'text/plain')).split(u'|') + names = to_unicode(e.mimeData().data(to_unicode('text/plain'))).split(to_unicode('|')) group_members = self.db.group_members(group) if not group_members: @@ -57,19 +58,19 @@ for n in names: if n not in group_members: - e.accept() - return + e.accept() + return e.ignore() def dropMimeData(self, row, col, data, action): - items = unicode(data.data(u'text/plain')).split(u'|') + items = to_unicode(data.data(to_unicode('text/plain'))).split(to_unicode('|')) self.emit(SIGNAL("namesAddedToGroup"), row, items) return False def mimeTypes(self): - return QStringList([u'text/plain']) + return QStringList([to_unicode('text/plain')]) diff -Nru hplip-3.14.6/ui4/fabnametable.py hplip-3.15.2/ui4/fabnametable.py --- hplip-3.14.6/ui4/fabnametable.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/fabnametable.py 2015-01-29 12:20:15.000000000 +0000 @@ -20,6 +20,8 @@ # +from base.sixext import to_unicode + # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * @@ -32,6 +34,6 @@ def mimeData(self, items): data = QMimeData() - data.setText(u'|'.join([unicode(i.text()) for i in items])) + data.setText(to_unicode('|').join([to_unicode(i.text()) for i in items])) return data diff -Nru hplip-3.14.6/ui4/fabwindow_base.py hplip-3.15.2/ui4/fabwindow_base.py --- hplip-3.14.6/ui4/fabwindow_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/fabwindow_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -155,5 +155,5 @@ self.RemoveFromGroupAction.setText(QtGui.QApplication.translate("MainWindow", "Leave Group", None, QtGui.QApplication.UnicodeUTF8)) self.AddToGroupAction.setText(QtGui.QApplication.translate("MainWindow", "Join Group...", None, QtGui.QApplication.UnicodeUTF8)) -from fabgrouptable import FABGroupTable -from fabnametable import FABNameTable +from .fabgrouptable import FABGroupTable +from .fabnametable import FABNameTable diff -Nru hplip-3.14.6/ui4/fabwindow.py hplip-3.15.2/ui4/fabwindow.py --- hplip-3.14.6/ui4/fabwindow.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/fabwindow.py 2015-01-29 12:20:15.000000000 +0000 @@ -23,14 +23,15 @@ # Local from base.g import * -from ui_utils import * +from .ui_utils import * +from base.sixext import to_unicode # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Main window -from fabwindow_base import Ui_MainWindow +from .fabwindow_base import Ui_MainWindow fax_avail = True try: @@ -46,7 +47,7 @@ def __init__(self, parent): QMainWindow.__init__(self, parent) self.setupUi(self) - self.group = u'All' # current group + self.group = to_unicode('All') # current group self.name = None # current name self.updating_group = False self.updating_name = False @@ -67,11 +68,11 @@ # Fixup data from old-style database data = self.db.get_all_records() for d in data: - if u'All' not in data[d]['groups']: - data[d]['groups'].append(u'All') + if to_unicode('All') not in data[d]['groups']: + data[d]['groups'].append(to_unicode('All')) if not data: - self.db.set('__' + utils.gen_random_uuid(), '', '', '', '', [u'All'], '') + self.db.set('__' + utils.gen_random_uuid(), '', '', '', '', [to_unicode('All')], '') def initUi(self): @@ -194,7 +195,7 @@ j = 1 for g in groups: - if g == u'All': + if g == to_unicode('All'): continue i = QTableWidgetItem(QString(g)) @@ -221,9 +222,9 @@ if not self.updating_group: selected_items = self.GroupTableWidget.selectedItems() if selected_items: - self.group = unicode(selected_items[0].text()) - self.RemoveGroupAction.setEnabled(self.group != u'All') - self.RenameGroupAction.setEnabled(self.group != u'All') + self.group = to_unicode(selected_items[0].text()) + self.RemoveGroupAction.setEnabled(self.group != to_unicode('All')) + self.RenameGroupAction.setEnabled(self.group != to_unicode('All')) else: # shouldn't happen?! self.RemoveGroupAction.setEnabled(False) self.RenameGroupAction.setEnabled(False) @@ -245,17 +246,17 @@ self.AddToGroupAction.setEnabled(False) elif num_selected_items == 1: - self.name = unicode(selected_items[0].text()) + self.name = to_unicode(selected_items[0].text()) self.RemoveNameAction.setEnabled(True) self.NewGroupFromSelectionAction.setEnabled(True) - self.RemoveFromGroupAction.setEnabled(self.group != u'All') + self.RemoveFromGroupAction.setEnabled(self.group != to_unicode('All')) self.AddToGroupAction.setEnabled(True) #self.group != u'All') else: # > 1 self.RemoveNameAction.setEnabled(True) self.NewGroupFromSelectionAction.setEnabled(True) - self.RemoveFromGroupAction.setEnabled(self.group != u'All') + self.RemoveFromGroupAction.setEnabled(self.group != to_unicode('All')) self.AddToGroupAction.setEnabled(True) #self.group != u'All') self.name = None @@ -311,7 +312,7 @@ rows = self.NameTableWidget.rowCount() for r in range(rows): i = self.NameTableWidget.item(r, 0) - i.setSelected(name == unicode(i.text())) + i.setSelected(name == to_unicode(i.text())) def updateDetailsFrame(self): @@ -331,9 +332,9 @@ def NameLineEdit_editingFinished(self): if self.name is not None: - new_name = unicode(self.NameLineEdit.text()) + new_name = to_unicode(self.NameLineEdit.text()) if new_name != self.name: - if QMessageBox.question(self, self.__tr("Rename?"), self.__tr("Rename '%1' to '%2'?").arg(self.name).arg(new_name), \ + if QMessageBox.question(self, self.__tr("Rename?"), "Rename '%s' to '%s'?"%(self.name,new_name), \ QMessageBox.Yes | QMessageBox.No) == QMessageBox.Yes: self.db.rename(self.name, new_name) @@ -346,13 +347,13 @@ def FaxNumberLineEdit_editingFinished(self): if self.name is not None: - self.db.set_key_value(self.name, 'fax', unicode(self.FaxNumberLineEdit.text())) + self.db.set_key_value(self.name, 'fax', to_unicode(self.FaxNumberLineEdit.text())) self.emit(SIGNAL("databaseChanged"), FAB_NAME_DETAILS_CHANGED, self.name) def NotesTextEdit_textChanged(self): if self.name is not None: - self.db.set_key_value(self.name, 'notes', unicode(self.NotesTextEdit.document().toPlainText())) + self.db.set_key_value(self.name, 'notes', to_unicode(self.NotesTextEdit.document().toPlainText())) def NotesTextEdit_editingFinished(self): @@ -363,14 +364,14 @@ def NewGroupAction_triggered(self): ok = False g, ok = QInputDialog.getText(self, self.__tr("Enter New Group Name"), self.__tr("Name for New Group:")) - g = unicode(g) + g = to_unicode(g) - if g == u'All': + if g == to_unicode('All'): FailureUI(self, self.__tr("Sorry, the group name cannot be 'All'.

Please choose a different name.")) ok = False if ok: - self.db.set('__' + utils.gen_random_uuid(), '', '', '', '', [u'All', g], '') + self.db.set('__' + utils.gen_random_uuid(), '', '', '', '', [to_unicode('All'), g], '') self.group = g log.debug("New empty group %s" % self.group) self.emit(SIGNAL("databaseChanged"), FAB_GROUP_ADD, self.group) @@ -378,11 +379,11 @@ def NewGroupFromSelectionAction_triggered(self): - selected_names = [unicode(n.text()) for n in self.NameTableWidget.selectedItems()] + selected_names = [to_unicode(n.text()) for n in self.NameTableWidget.selectedItems()] if selected_names: ok = False g, ok = QInputDialog.getText(self, self.__tr("Enter New Group Name"), self.__tr("Name for New Group:")) - g = unicode(g) + g = str(g) groups = self.db.get_all_groups() @@ -401,10 +402,10 @@ def RenameGroupAction_triggered(self): selected_items = self.GroupTableWidget.selectedItems() if selected_items: - old_group = unicode(selected_items[0].text()) + old_group = to_unicode(selected_items[0].text()) ok = False - new_group, ok = QInputDialog.getText(self, self.__tr("Rename Group"), self.__tr("New Name for Group '%1':").arg(old_group)) - new_group = unicode(new_group) + new_group, ok = QInputDialog.getText(self, self.__tr("Rename Group"), "New Name for Group '%s':"%old_group) + new_group = to_unicode(new_group) groups = self.db.get_all_groups() if new_group in groups: @@ -431,15 +432,15 @@ ok = False t, ok = QInputDialog.getText(self, self.__tr("Enter New Name"), self.__tr("New Name:")) if ok: - t = unicode(t) + t = to_unicode(t) self.addName(t) def addName(self, name, fax=''): - if self.group == u'All': - g = [u'All'] + if self.group == to_unicode('All'): + g = [to_unicode('All')] else: - g = [u'All', self.group] + g = [to_unicode('All'), self.group] self.db.set(name, '', '', '', fax, g, '') self.name = name @@ -449,7 +450,7 @@ def RemoveNameAction_triggered(self): - selected_names = [unicode(n.text()) for n in self.NameTableWidget.selectedItems()] + selected_names = [to_unicode(n.text()) for n in self.NameTableWidget.selectedItems()] if selected_names: for n in selected_names: self.db.delete(n) @@ -461,7 +462,7 @@ def RemoveFromGroupAction_triggered(self): - selected_names = [unicode(n.text()) for n in self.NameTableWidget.selectedItems()] + selected_names = [str(n.text()) for n in self.NameTableWidget.selectedItems()] if selected_names: log.debug("%s leaving group %s" % (','.join(selected_names), self.group)) self.db.remove_from_group(self.group, selected_names) @@ -471,7 +472,7 @@ def GroupTableWidget_namesAddedToGroup(self, row, items): # drag n' drop handler - self.group = unicode(self.GroupTableWidget.item(row, 0).text()) + self.group = to_unicode(self.GroupTableWidget.item(row, 0).text()) self.db.add_to_group(self.group, items) log.debug("Adding %s to group %s" % (','.join(items), self.group)) self.emit(SIGNAL("databaseChanged"), FAB_GROUP_MEMBERSHIP_CHANGED, self.group) @@ -479,13 +480,13 @@ def AddToGroupAction_triggered(self): - selected_names = [unicode(n.text()) for n in self.NameTableWidget.selectedItems()] + selected_names = [to_unicode(n.text()) for n in self.NameTableWidget.selectedItems()] if selected_names: ok = False all_groups = self.db.get_all_groups() if all_groups: - all_groups = [g for g in all_groups if g != u'All'] + all_groups = [g for g in all_groups if g != to_unicode('All')] all_groups.sort() dlg = JoinDialog(self, all_groups) @@ -504,14 +505,14 @@ def ImportAction_triggered(self): - result = unicode(QFileDialog.getOpenFileName(self, + result = str(QFileDialog.getOpenFileName(self, self.__tr("Import fax addresses from LDIF or vCard"), #user_conf.workingDirectory(), self.user_settings.working_dir, "vCard (*.vcf);;LDIF (*.ldif *.ldi)")) if result: - working_directory = unicode(os.path.dirname(result)) + working_directory = to_unicode(os.path.dirname(result)) log.debug("result: %s" % result) #user_conf.setWorkingDirectory(working_directory) self.user_settings.working_dir = working_directory @@ -531,7 +532,7 @@ def __tr(self,s,c = None): - return qApp.translate("FABWindow",s,c) + return qApp.translate("FABWindow",s.encode('utf-8'),c) @@ -597,7 +598,7 @@ def GroupJoinComboBox_currentIndexChanged(self, i): - self.group = unicode(self.GroupJoinComboBox.currentText()) + self.group = to_unicode(self.GroupJoinComboBox.currentText()) def retranslateUi(self): diff -Nru hplip-3.14.6/ui4/faxsetupdialog_base.py hplip-3.15.2/ui4/faxsetupdialog_base.py --- hplip-3.14.6/ui4/faxsetupdialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/faxsetupdialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -9,6 +9,8 @@ from PyQt4 import QtCore, QtGui + + class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") @@ -99,4 +101,4 @@ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), QtGui.QApplication.translate("Dialog", "Coverpage", None, QtGui.QApplication.UnicodeUTF8)) self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "Close", None, QtGui.QApplication.UnicodeUTF8)) -from deviceuricombobox import DeviceUriComboBox +from .deviceuricombobox import DeviceUriComboBox diff -Nru hplip-3.14.6/ui4/faxsetupdialog.py hplip-3.15.2/ui4/faxsetupdialog.py --- hplip-3.14.6/ui4/faxsetupdialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/faxsetupdialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -28,15 +28,15 @@ from base import device, utils from prnt import cups from base.codes import * -from ui_utils import * - +from .ui_utils import * +from base.sixext import to_unicode # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from faxsetupdialog_base import Ui_Dialog -from deviceuricombobox import DEVICEURICOMBOBOX_TYPE_FAX_ONLY +from .faxsetupdialog_base import Ui_Dialog +from .deviceuricombobox import DEVICEURICOMBOBOX_TYPE_FAX_ONLY fax_enabled = prop.fax_build @@ -156,7 +156,7 @@ # def NameCompanyLineEdit_editingFinished(self): - self.saveNameCompany(unicode(self.NameCompanyLineEdit.text())) + self.saveNameCompany(to_unicode(self.NameCompanyLineEdit.text())) def NameCompanyLineEdit_textChanged(self, s): @@ -180,7 +180,7 @@ # def FaxNumberLineEdit_editingFinished(self): - self.saveFaxNumber(unicode(self.FaxNumberLineEdit.text())) + self.saveFaxNumber(to_unicode(self.FaxNumberLineEdit.text())) def FaxNumberLineEdit_textChanged(self, s): @@ -204,7 +204,7 @@ # def VoiceNumberLineEdit_editingFinished(self): - self.saveVoiceNumber(unicode(self.VoiceNumberLineEdit.text())) + self.saveVoiceNumber(to_unicode(self.VoiceNumberLineEdit.text())) def VoiceNumberLineEdit_textChanged(self, s): @@ -223,7 +223,7 @@ # def EmailLineEdit_editingFinished(self): - self.saveEmail(unicode(self.EmailLineEdit.text())) + self.saveEmail(to_unicode(self.EmailLineEdit.text())) def EmailLineEdit_textChanged(self, s): @@ -258,7 +258,7 @@ beginWaitCursor() try: try: - name_company = self.dev.getStationName() + name_company = to_unicode(self.dev.getStationName()) log.debug("name_company = '%s'" % name_company) self.NameCompanyLineEdit.setText(name_company) fax_number = str(self.dev.getPhoneNum()) diff -Nru hplip-3.14.6/ui4/filetable.py hplip-3.15.2/ui4/filetable.py --- hplip-3.14.6/ui4/filetable.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/filetable.py 2015-01-29 12:20:15.000000000 +0000 @@ -24,20 +24,21 @@ import sys import os.path import os +import subprocess # Local from base.g import * from base import utils, magic from prnt import cups from base.codes import * -from ui_utils import * - +from .ui_utils import * +from base.sixext import to_unicode, to_string_utf8 # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Other UI -from mimetypesdialog import MimeTypesDialog +from .mimetypesdialog import MimeTypesDialog FILETABLE_TYPE_PRINT = 0 @@ -175,7 +176,7 @@ # Filename (basename) i = QTableWidgetItem(os.path.basename(filename)) - i.setData(Qt.UserRole, QVariant(filename)) + i.setData(Qt.UserRole, to_unicode(filename)) i.setFlags(flags) if self.selected_filename is not None and \ @@ -203,7 +204,7 @@ if num_pages < 1: i = QTableWidgetItem(self.__tr("(unknown)")) else: - i = QTableWidgetItem(unicode(num_pages)) + i = QTableWidgetItem(to_unicode(num_pages)) i.setFlags(flags) self.FileTable.setItem(row, col, i) col += 1 @@ -262,12 +263,26 @@ if self.typ == FILETABLE_TYPE_PRINT: s = self.__tr("Select File(s) to Print") else: + stat = '' + try : + p = subprocess.Popen('getenforce', stdout=subprocess.PIPE, stderr=subprocess.PIPE) + stat, err = p.communicate() + stat = to_string_utf8(stat) + except OSError : + pass + except : + log.exception() + if stat.strip('\n') == 'Enforcing' : + FailureUI(self, self.__tr("Unable to add file. Please disable SeLinux.

Either disable it manually or run hp-doctor from terminal.

"), + self.__tr("HP Device Manager")) + return + s = self.__tr("Select File(s) to Send") files = list(QFileDialog.getOpenFileNames(self, s, self.working_dir, self.__tr("All files (*)"))) - files = [unicode(f) for f in files] + files = [to_unicode(f) for f in files] if files: self.addFileList(files) @@ -294,10 +309,10 @@ mime_type_desc = MIME_TYPES_DESC[mime_type][0] except KeyError: if self.typ == FILETABLE_TYPE_PRINT: - FailureUI(self, self.__tr("You are trying to add a file '%1' that cannot be directly printed with this utility.

To print this file, use the print command in the application that created it.

Note: Click Show Valid Types... to view a list of compatible file types that can be directly printed from this utility.").arg(f), + FailureUI(self, self.__tr("You are trying to add a file '%s' that cannot be directly printed with this utility.

To print this file, use the print command in the application that created it.

Note: Click Show Valid Types... to view a list of compatible file types that can be directly printed from this utility."%f), self.__tr("HP Device Manager")) else: - FailureUI(self, self.__tr("You are trying to add a file '%1' that cannot be directly faxed with this utility.

To fax this file, use the print command in the application that created it (using the appropriate fax print queue).

Note: Click Show Valid Types... to view a list of compatible file types that can be directly added to the fax file list in this utility.").arg(f), + FailureUI(self, self.__tr("You are trying to add a file '%s' that cannot be directly faxed with this utility.

To fax this file, use the print command in the application that created it (using the appropriate fax print queue).

Note: Click Show Valid Types... to view a list of compatible file types that can be directly added to the fax file list in this utility."%f), self.__tr("HP Device Manager")) else: if self.typ == FILETABLE_TYPE_PRINT: @@ -305,7 +320,7 @@ else: self.fax_add_callback(f) else: - FailureUI(self, self.__tr("Unable to add file '%1' to file list (file not found or insufficient permissions).

Check the file name and try again.").arg(f), + FailureUI(self, self.__tr("Unable to add file '%s' to file list (file not found or insufficient permissions).

Check the file name and try again."%f), self.__tr("HP Device Manager")) @@ -320,7 +335,7 @@ i = self.FileTable.item(self.FileTable.currentRow(), 0) if i is None: return None - return i.data(Qt.UserRole).toString() + return value_str(i.data(Qt.UserRole)) def RemoveFileButton_clicked(self): @@ -395,7 +410,7 @@ def FileTable_customContextMenuRequested(self, p): - print p + print(p) def __tr(self,s,c = None): diff -Nru hplip-3.14.6/ui4/firmwaredialog_base.py hplip-3.15.2/ui4/firmwaredialog_base.py --- hplip-3.14.6/ui4/firmwaredialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/firmwaredialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -64,4 +64,4 @@ self.DownloadFirmwareButton.setText(QtGui.QApplication.translate("Dialog", "Download Firmware", None, QtGui.QApplication.UnicodeUTF8)) self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8)) -from deviceuricombobox import DeviceUriComboBox +from .deviceuricombobox import DeviceUriComboBox diff -Nru hplip-3.14.6/ui4/firmwaredialog.py hplip-3.15.2/ui4/firmwaredialog.py --- hplip-3.14.6/ui4/firmwaredialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/firmwaredialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -28,14 +28,14 @@ from base import device, utils from prnt import cups from base.codes import * -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from firmwaredialog_base import Ui_Dialog +from .firmwaredialog_base import Ui_Dialog class FirmwareDialog(QDialog, Ui_Dialog): diff -Nru hplip-3.14.6/ui4/infodialog_base.py hplip-3.15.2/ui4/infodialog_base.py --- hplip-3.14.6/ui4/infodialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/infodialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -100,4 +100,4 @@ self.TabWidget.setTabText(self.TabWidget.indexOf(self.tab_3), QtGui.QApplication.translate("Dialog", "Status History", None, QtGui.QApplication.UnicodeUTF8)) self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "Close", None, QtGui.QApplication.UnicodeUTF8)) -from deviceuricombobox import DeviceUriComboBox +from .deviceuricombobox import DeviceUriComboBox diff -Nru hplip-3.14.6/ui4/infodialog.py hplip-3.15.2/ui4/infodialog.py --- hplip-3.14.6/ui4/infodialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/infodialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -24,18 +24,19 @@ # Local from base.g import * -from base import device, utils +from base import device from prnt import cups from base.codes import * -from ui_utils import * +from base.sixext import to_unicode +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from infodialog_base import Ui_Dialog -from deviceuricombobox import DEVICEURICOMBOBOX_TYPE_PRINTER_AND_FAX +from .infodialog_base import Ui_Dialog +from .deviceuricombobox import DEVICEURICOMBOBOX_TYPE_PRINTER_AND_FAX class InfoDialog(QDialog, Ui_Dialog): @@ -98,7 +99,7 @@ d = device.Device(self.device_uri, None) except Error: QApplication.restoreOverrideCursor() - FailureUI(self, self.__tr("Unable to open device %1.").arg(self.device_uri)) + FailureUI(self, self.__tr("Unable to open device %s."%(self.device_uri))) #self.close() return @@ -107,7 +108,7 @@ self.StaticTableWidget.setColumnCount(len(self.headers)) self.StaticTableWidget.setHorizontalHeaderLabels(self.headers) - mq_keys = d.mq.keys() + mq_keys = list(d.mq.keys()) mq_keys.sort() self.StaticTableWidget.setRowCount(len(mq_keys)) @@ -134,13 +135,13 @@ try: d.open() d.queryDevice() - except Error, e: + except Error as e: QApplication.restoreOverrideCursor() - FailureUI(self, self.__tr("Unable to open device %1.").arg(self.device_uri)) + FailureUI(self, self.__tr("Unable to open device %s."%(self.device_uri))) #self.close() return - dq_keys = d.dq.keys() + dq_keys = list(d.dq.keys()) dq_keys.sort() self.DynamicTableWidget.setRowCount(len(dq_keys)) @@ -185,13 +186,13 @@ for row, h in enumerate(history): dt = QDateTime() dt.setTime_t(int(h.timedate)) - dt = dt.toString() + dt = value_str(dt) ess = device.queryString(h.event_code, 0) for col, t in enumerate([dt, h.printer_name, - unicode(h.event_code), ess, - h.username, unicode(h.job_id), + to_unicode(h.event_code), ess, + h.username, to_unicode(h.job_id), h.title]): i = QTableWidgetItem(QString(t)) @@ -238,10 +239,10 @@ #current_options['cups_error_log_level'] = cups.getErrorLogLevel() try: - f = file(os.path.expanduser('~/.cups/lpoptions')) - except IOError, e: + f = open(os.path.expanduser('~/.cups/lpoptions')) + except IOError as e: log.debug(str(e)) - current_options['lpoptions_file_data'] = QString("(%1)").arg(str(e)) + current_options['lpoptions_file_data'] = QString("(%s)"%str(e)) else: text = f.read() for d in text.splitlines(): @@ -251,7 +252,7 @@ else: current_options['lpoptions_file_data'] = self.__tr("(no data)") - keys = current_options.keys() + keys = list(current_options.keys()) keys.sort() Table.setRowCount(len(keys)) @@ -264,11 +265,11 @@ if key == 'printer-state': state = int(current_options[key]) if state == cups.IPP_PRINTER_STATE_IDLE: - i = QTableWidgetItem(self.__tr("idle (%1)").arg(state)) + i = QTableWidgetItem(self.__tr("idle (%s)"%state)) elif state == cups.IPP_PRINTER_STATE_PROCESSING: - i = QTableWidgetItem(self.__tr("busy/printing (%1)").arg(state)) + i = QTableWidgetItem(self.__tr("busy/printing (%s)"%state)) elif state == cups.IPP_PRINTER_STATE_STOPPED: - i = QTableWidgetItem(self.__tr("stopped (%1)").arg(state)) + i = QTableWidgetItem(self.__tr("stopped (%s)"%state)) else: i = QTableWidgetItem(QString(str(state))) else: diff -Nru hplip-3.14.6/ui4/linefeedcaldialog_base.py hplip-3.15.2/ui4/linefeedcaldialog_base.py --- hplip-3.14.6/ui4/linefeedcaldialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/linefeedcaldialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -52,5 +52,5 @@ self.CalibrateButton.setText(QtGui.QApplication.translate("Dialog", "Calibrate", None, QtGui.QApplication.UnicodeUTF8)) self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8)) -from loadpapergroupbox import LoadPaperGroupBox -from deviceuricombobox import DeviceUriComboBox +from .loadpapergroupbox import LoadPaperGroupBox +from .deviceuricombobox import DeviceUriComboBox diff -Nru hplip-3.14.6/ui4/linefeedcaldialog.py hplip-3.15.2/ui4/linefeedcaldialog.py --- hplip-3.14.6/ui4/linefeedcaldialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/linefeedcaldialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -27,15 +27,15 @@ from base import device, utils, maint #from prnt import cups from base.codes import * -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from linefeedcaldialog_base import Ui_Dialog -from deviceuricombobox import DEVICEURICOMBOBOX_TYPE_FAX_ONLY +from .linefeedcaldialog_base import Ui_Dialog +from .deviceuricombobox import DEVICEURICOMBOBOX_TYPE_FAX_ONLY class LineFeedCalDialog(QDialog, Ui_Dialog): diff -Nru hplip-3.14.6/ui4/loadpapergroupbox.py hplip-3.15.2/ui4/loadpapergroupbox.py --- hplip-3.14.6/ui4/loadpapergroupbox.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/loadpapergroupbox.py 2015-01-29 12:20:15.000000000 +0000 @@ -24,7 +24,7 @@ # Local from base.g import * -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * @@ -87,7 +87,7 @@ else: paper_name = self.__tr("photo paper") - self.Text.setText(self.__tr("Please load %1 in the printer and then click %2 to continue.").arg(paper_name).arg(self.button_name)) + self.Text.setText(self.__tr("Please load %s in the printer and then click %s to continue." %(paper_name, self.button_name))) def setType(self, typ): diff -Nru hplip-3.14.6/ui4/makecopiesdialog_base.py hplip-3.15.2/ui4/makecopiesdialog_base.py --- hplip-3.14.6/ui4/makecopiesdialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/makecopiesdialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -49,4 +49,4 @@ self.CopyButton.setText(QtGui.QApplication.translate("Dialog", "Make Copies", None, QtGui.QApplication.UnicodeUTF8)) self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8)) -from deviceuricombobox import DeviceUriComboBox +from .deviceuricombobox import DeviceUriComboBox diff -Nru hplip-3.14.6/ui4/makecopiesdialog.py hplip-3.15.2/ui4/makecopiesdialog.py --- hplip-3.14.6/ui4/makecopiesdialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/makecopiesdialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -27,14 +27,14 @@ from base import device, utils #from prnt import cups from base.codes import * -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from makecopiesdialog_base import Ui_Dialog +from .makecopiesdialog_base import Ui_Dialog class MakeCopiesDialog(QDialog, Ui_Dialog): diff -Nru hplip-3.14.6/ui4/mimetypesdialog.py hplip-3.15.2/ui4/mimetypesdialog.py --- hplip-3.14.6/ui4/mimetypesdialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/mimetypesdialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -22,12 +22,12 @@ # Local from base.g import * from base.codes import * -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * -from mimetypesdialog_base import Ui_MimeTypesDialog_base +from .mimetypesdialog_base import Ui_MimeTypesDialog_base @@ -37,7 +37,7 @@ self.setupUi(self) self.TypesTableWidget.setRowCount(len(mime_types)) - t = mime_types.keys() + t = list(mime_types.keys()) t.sort() for row, m in enumerate(t): i = QTableWidgetItem(m) diff -Nru hplip-3.14.6/ui4/nodevicesdialog.py hplip-3.15.2/ui4/nodevicesdialog.py --- hplip-3.14.6/ui4/nodevicesdialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/nodevicesdialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -23,14 +23,14 @@ # Local from base.g import * from base import device, utils -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from nodevicesdialog_base import Ui_NoDevicesDialog_base +from .nodevicesdialog_base import Ui_NoDevicesDialog_base class NoDevicesDialog(QDialog, Ui_NoDevicesDialog_base): diff -Nru hplip-3.14.6/ui4/plugindiagnose_base.py hplip-3.15.2/ui4/plugindiagnose_base.py --- hplip-3.14.6/ui4/plugindiagnose_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/plugindiagnose_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -27,7 +27,7 @@ font.setPointSize(16) self.label.setFont(font) self.label.setObjectName("label") - self.gridlayout1.addWidget(self.label, 0, 0, 1, 1) + self.gridlayout1.addWidget(self.label, 0, 0, 1, 2) self.line = QtGui.QFrame(self.page) self.line.setFrameShape(QtGui.QFrame.HLine) self.line.setFrameShadow(QtGui.QFrame.Sunken) diff -Nru hplip-3.14.6/ui4/plugindiagnose.py hplip-3.15.2/ui4/plugindiagnose.py --- hplip-3.14.6/ui4/plugindiagnose.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/plugindiagnose.py 2015-01-29 12:20:15.000000000 +0000 @@ -25,8 +25,9 @@ from base import device, utils, pkit from prnt import cups from base.codes import * -from ui_utils import * +from .ui_utils import * from installer import pluginhandler +from base.sixext import to_unicode # Qt from PyQt4.QtCore import * @@ -34,7 +35,7 @@ import signal # Ui -from plugindiagnose_base import Ui_Dialog +from .plugindiagnose_base import Ui_Dialog @@ -68,7 +69,7 @@ def PathLineEdit_textChanged(self, t): - self.plugin_path = unicode(t) + self.plugin_path = to_unicode(t) self.setPathIndicators() @@ -85,13 +86,13 @@ def NextButton_clicked(self): - self.NextButton.setEnabled(False) - self.CancelButton.setEnabled(False) + self.NextButton.setEnabled(False) + self.CancelButton.setEnabled(False) try: plugin = PLUGIN_REQUIRED plugin_reason = PLUGIN_REASON_NONE ok, sudo_ok = pkit.run_plugin_command(plugin == PLUGIN_REQUIRED, plugin_reason) - + if not ok or self.pluginObj.getStatus() != pluginhandler.PLUGIN_INSTALLED: FailureUI(self, self.__tr("Failed to install Plug-in.\nEither you have chosen to skip the Plug-in installation or entered incorrect Password.")) diff -Nru hplip-3.14.6/ui4/plugindialog.py hplip-3.15.2/ui4/plugindialog.py --- hplip-3.14.6/ui4/plugindialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/plugindialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -25,15 +25,16 @@ from base import device, utils from prnt import cups from base.codes import * -from ui_utils import * +from .ui_utils import * from installer import pluginhandler +from base.sixext import to_unicode # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from plugindialog_base import Ui_Dialog +from .plugindialog_base import Ui_Dialog #signal import signal @@ -43,7 +44,6 @@ PAGE_MAX = 1 - class PluginDialog(QDialog, Ui_Dialog): def __init__(self, parent, install_mode=PLUGIN_NONE, plugin_reason=PLUGIN_REASON_NONE): QDialog.__init__(self, parent) @@ -100,13 +100,18 @@ def showSourcePage(self): reason_text = self.plugin_reason_text() - if reason_text is not None: - if self.install_mode == PLUGIN_REQUIRED: - self.TitleLabel.setText(self.__tr("An additional driver plug-in is required to operate this printer. You may download the plug-in directly from an HP authorized server (recommended), or, if you already have a copy of the file, you can specify a path to the file (advanced).

%1").arg(reason_text)) - self.SkipRadioButton.setEnabled(False) - - elif self.install_mode == PLUGIN_OPTIONAL: - self.TitleLabel.setText(self.__tr("An optional driver plug-in is available to enhance the operation of this printer. You may download the plug-in directly from an HP authorized server (recommended), skip this installation (not recommended), or, if you already have a copy of the file, you can specify a path to the file (advanced).

%1").arg(reason_text)) + if self.install_mode == PLUGIN_REQUIRED: + self.SkipRadioButton.setEnabled(False) + msg = "An additional driver plug-in is required to operate this printer. You may download the plug-in directly from an HP authorized server (recommended), or, if you already have a copy of the file, you can specify a path to the file (advanced)." + if reason_text is not None: + msg += "

%s"%reason_text + self.TitleLabel.setText(self.__tr(msg)) + + elif self.install_mode == PLUGIN_OPTIONAL: + msg = "An optional driver plug-in is available to enhance the operation of this printer. You may download the plug-in directly from an HP authorized server (recommended), skip this installation (not recommended), or, if you already have a copy of the file, you can specify a path to the file (advanced)." + if reason_text is not None: + msg += "

%s"%reason_text + self.TitleLabel.setText(self.__tr(msg)) self.connect(self.DownloadRadioButton, SIGNAL("toggled(bool)"), self.DownloadRadioButton_toggled) self.connect(self.CopyRadioButton, SIGNAL("toggled(bool)"), self.CopyRadioButton_toggled) @@ -136,7 +141,7 @@ if b: self.PathLineEdit.setEnabled(True) self.BrowseToolButton.setEnabled(True) - self.plugin_path = unicode(self.PathLineEdit.text()) + self.plugin_path = to_unicode(self.PathLineEdit.text()) self.setPathIndicators() @@ -153,17 +158,17 @@ def PathLineEdit_textChanged(self, t): - self.plugin_path = unicode(t) + self.plugin_path = to_unicode(t) self.setPathIndicators() def setPathIndicators(self): ok = True if not self.plugin_path or (self.plugin_path and os.path.isdir(self.plugin_path)): - self.PathLineEdit.setToolTip(self.__tr("You must specify a path to the '%1' file.").arg(self.pluginObj.getFileName() )) + self.PathLineEdit.setToolTip(self.__tr("You must specify a path to the '%s' file."%self.pluginObj.getFileName() )) ok = False elif os.path.basename(self.plugin_path) != self.pluginObj.getFileName(): - self.PathLineEdit.setToolTip(self.__tr("The plugin filename must be '%1'.").arg(self.pluginObj.getFileName())) + self.PathLineEdit.setToolTip(self.__tr("The plugin filename must be '%s'."%self.pluginObj.getFileName())) ok = False if not ok: @@ -182,10 +187,10 @@ def BrowseToolButton_clicked(self): - t = unicode(self.PathLineEdit.text()) + t = to_unicode(self.PathLineEdit.text()) path ="" if not os.path.exists(t): - path = unicode(QFileDialog.getOpenFileName(self, self.__tr("Select Plug-in File"), + path = to_unicode(QFileDialog.getOpenFileName(self, self.__tr("Select Plug-in File"), #user_conf.workingDirectory(), self.user_settings.working_dir, self.__tr("Plugin Files (*.run)"))) @@ -242,6 +247,7 @@ if status in (ERROR_UNABLE_TO_RECV_KEYS, ERROR_DIGITAL_SIGN_NOT_FOUND): endWaitCursor() + if QMessageBox.question(self, " ", self.__tr("%s

Without this, it is not possible to authenticate and validate the plug-in prior to installation.

Do you still want to install the plug-in?" %error_str), QMessageBox.Yes | QMessageBox.No) != QMessageBox.Yes: @@ -278,14 +284,14 @@ except Error: log.error("Error opening device.") endWaitCursor() - FailureUI(self, self.__tr("Firmware download to device failed.

%1

").arg(dev)) + FailureUI(self, self.__tr("Firmware download to device failed.

%s

"%dev)) continue if d.downloadFirmware(): log.info("Firmware download successful.\n") else: endWaitCursor() - FailureUI(self, self.__tr("Firmware download to device failed.

%1

").arg(dev)) + FailureUI(self, self.__tr("Firmware download to device failed.

%s

"%dev)) finally: if d is not None: @@ -304,11 +310,11 @@ def plugin_install_callback(self, s): - print s + print(s) def updateStepText(self, p): - self.StepText.setText(self.__tr("Step %1 of %2").arg(p+1).arg(PAGE_MAX+1)) + self.StepText.setText(self.__tr("Step %s of %s"%( p+1, PAGE_MAX+1))) def plugin_reason_text(self): diff -Nru hplip-3.14.6/ui4/pluginlicensedialog.py hplip-3.15.2/ui4/pluginlicensedialog.py --- hplip-3.14.6/ui4/pluginlicensedialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/pluginlicensedialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -22,14 +22,14 @@ # Local from base.g import * -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from pluginlicensedialog_base import Ui_Dialog +from .pluginlicensedialog_base import Ui_Dialog diff -Nru hplip-3.14.6/ui4/pqdiagdialog_base.py hplip-3.15.2/ui4/pqdiagdialog_base.py --- hplip-3.14.6/ui4/pqdiagdialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/pqdiagdialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -52,5 +52,5 @@ self.RunButton.setText(QtGui.QApplication.translate("Dialog", "Run", None, QtGui.QApplication.UnicodeUTF8)) self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8)) -from loadpapergroupbox import LoadPaperGroupBox -from deviceuricombobox import DeviceUriComboBox +from .loadpapergroupbox import LoadPaperGroupBox +from .deviceuricombobox import DeviceUriComboBox diff -Nru hplip-3.14.6/ui4/pqdiagdialog.py hplip-3.15.2/ui4/pqdiagdialog.py --- hplip-3.14.6/ui4/pqdiagdialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/pqdiagdialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -27,14 +27,14 @@ from base import device, utils, maint from prnt import cups from base.codes import * -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from pqdiagdialog_base import Ui_Dialog +from .pqdiagdialog_base import Ui_Dialog class PQDiagDialog(QDialog, Ui_Dialog): diff -Nru hplip-3.14.6/ui4/printdialog_base.py hplip-3.15.2/ui4/printdialog_base.py --- hplip-3.14.6/ui4/printdialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/printdialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -104,6 +104,6 @@ self.NextButton.setText(QtGui.QApplication.translate("Dialog", "Next >", None, QtGui.QApplication.UnicodeUTF8)) self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8)) -from printsettingstoolbox import PrintSettingsToolbox -from printernamecombobox import PrinterNameComboBox -from filetable import FileTable +from .printsettingstoolbox import PrintSettingsToolbox +from .printernamecombobox import PrinterNameComboBox +from .filetable import FileTable diff -Nru hplip-3.14.6/ui4/printdialog.py hplip-3.15.2/ui4/printdialog.py --- hplip-3.14.6/ui4/printdialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/printdialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -25,16 +25,16 @@ from base import device, utils from prnt import cups from base.codes import * -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from printdialog_base import Ui_Dialog -from filetable import FileTable, FILETABLE_TYPE_PRINT -from printernamecombobox import PRINTERNAMECOMBOBOX_TYPE_PRINTER_ONLY +from .printdialog_base import Ui_Dialog +from .filetable import FileTable, FILETABLE_TYPE_PRINT +from .printernamecombobox import PRINTERNAMECOMBOBOX_TYPE_PRINTER_ONLY #signal import signal @@ -140,7 +140,7 @@ num_files = len(self.Files.file_list) if num_files > 1: - self.NextButton.setText(self.__tr("Print %1 Files").arg(num_files)) + self.NextButton.setText(self.__tr("Print %s Files"%num_files)) else: self.NextButton.setText(self.__tr("Print File")) @@ -173,7 +173,7 @@ log.debug(cmd) status, output = utils.run(cmd) if status != 0: - FailureUI(self, self.__tr("Print command failed with status code %1.

%2

").arg(status).arg(cmd)) + FailureUI(self, self.__tr("Print command failed with status code %s.

%s

"%(status,cmd))) self.close() #print file('/home/dwelch/.cups/lpoptions', 'r').read() @@ -207,7 +207,7 @@ def updateStepText(self, p): - self.StepText.setText(self.__tr("Step %1 of %2").arg(p+1).arg(PAGE_MAX+1)) + self.StepText.setText(self.__tr("Step %d of %d" %(p+1, PAGE_MAX+1))) def __tr(self,s,c = None): @@ -215,142 +215,3 @@ -""" - def printButton_clicked(self): - if self.invalid_page_range: - self.form.FailureUI(self.__tr("Cannot print: Invalid page range: %1

A valid page range is a list of pages or ranges of pages separated by commas (e.g., 1-2,4,6-7)").arg(self.pageRangeEdit.text())) - return - - try: - try: - self.cur_device.open() - except Error: - self.form.FailureUI(self.__tr("Cannot print: Device is busy or not available.

Please check device and try again.")) - return - - if 1: # Go ahead and allow - print will be queued in CUPS if not rejecting - printers = cups.getPrinters() - for p in printers: - if p.name == self.cur_printer: - break - - if p.state == cups.IPP_PRINTER_STATE_STOPPED: - self.form.FailureUI(self.__tr("Cannot print: Printer is stopped.

Please START the printer to continue this print. Job will begin printing once printer is started.")) - - if not p.accepting: - self.form.FailureUI(self.__tr("Cannot print: Printer is not accepting jobs.

Please set the printer to ACCEPTING JOBS to continue printing.")) - return - - copies = int(self.copiesSpinBox.value()) - all_pages = self.pages_button_group == 0 - page_range = unicode(self.pageRangeEdit.text()) - page_set = int(self.pageSetComboBox.currentItem()) - - cups.resetOptions() - cups.openPPD(self.cur_printer) - current_options = dict(cups.getOptions()) - cups.closePPD() - - nup = int(current_options.get("number-up", 1)) - - for p, t, d in self.file_list: - - alt_nup = (nup > 1 and t == 'application/postscript' and utils.which('psnup')) - - if utils.which('lpr'): - if alt_nup: - cmd = ' '.join(['psnup', '-%d' % nup, ''.join(['"', p, '"']), '| lpr -P', self.cur_printer]) - else: - cmd = ' '.join(['lpr -P', self.cur_printer]) - - if copies > 1: - cmd = ' '.join([cmd, '-#%d' % copies]) - - else: - if alt_nup: - cmd = ' '.join(['psnup', '-%d' % nup, ''.join(['"', p, '"']), '| lp -c -d', self.cur_printer]) - else: - cmd = ' '.join(['lp -c -d', self.cur_printer]) - - if copies > 1: - cmd = ' '.join([cmd, '-n%d' % copies]) - - - if not all_pages and len(page_range) > 0: - cmd = ' '.join([cmd, '-o page-ranges=%s' % page_range]) - - if page_set > 0: - if page_set == 1: - cmd = ' '.join([cmd, '-o page-set=even']) - else: - cmd = ' '.join([cmd, '-o page-set=odd']) - - - # Job Storage - # self.job_storage_mode = (0=Off, 1=P&H, 2=PJ, 3=QC, 4=SJ) - # self.job_storage_pin = u"" (dddd) - # self.job_storage_use_pin = True|False - # self.job_storage_username = u"" - # self.job_storage_auto_username = True|False - # self.job_storage_jobname = u"" - # self.job_storage_auto_jobname = True|False - # self.job_storage_job_exist = (0=replace, 1=job name+(1-99)) - - if self.job_storage_avail: - if self.job_storage_mode: # On - - if self.job_storage_mode == 1: # Proof and Hold - cmd = ' '.join([cmd, '-o HOLD=PROOF']) - - elif self.job_storage_mode == 2: # Private Job - if self.job_storage_use_pin: - cmd = ' '.join([cmd, '-o HOLD=ON']) - cmd = ' '.join([cmd, '-o HOLDTYPE=PRIVATE']) - cmd = ' '.join([cmd, '-o HOLDKEY=%s' % self.job_storage_pin.encode('ascii')]) - else: - cmd = ' '.join([cmd, '-o HOLD=PROOF']) - cmd = ' '.join([cmd, '-o HOLDTYPE=PRIVATE']) - - elif self.job_storage_mode == 3: # Quick Copy - cmd = ' '.join([cmd, '-o HOLD=ON']) - cmd = ' '.join([cmd, '-o HOLDTYPE=PUBLIC']) - - elif self.job_storage_mode == 4: # Store Job - if self.job_storage_use_pin: - cmd = ' '.join([cmd, '-o HOLD=STORE']) - cmd = ' '.join([cmd, '-o HOLDTYPE=PRIVATE']) - cmd = ' '.join([cmd, '-o HOLDKEY=%s' % self.job_storage_pin.encode('ascii')]) - else: - cmd = ' '.join([cmd, '-o HOLD=STORE']) - - cmd = ' '.join([cmd, '-o USERNAME=%s' % self.job_storage_username.encode('ascii')\ - .replace(" ", "_")]) - - cmd = ' '.join([cmd, '-o JOBNAME=%s' % self.job_storage_jobname.encode('ascii')\ - .replace(" ", "_")]) - - if self.job_storage_job_exist == 1: - cmd = ' '.join([cmd, '-o DUPLICATEJOB=APPEND']) - else: - cmd = ' '.join([cmd, '-o DUPLICATEJOB=REPLACE']) - - else: # Off - cmd = ' '.join([cmd, '-o HOLD=OFF']) - - - if not alt_nup: - cmd = ''.join([cmd, ' "', p, '"']) - - log.debug("Printing: %s" % cmd) - - code = os.system(cmd) - if code != 0: - log.error("Print command failed.") - self.form.FailureUI(self.__tr("Print command failed with error code %1").arg(code)) - - self.form.close() - - finally: - self.cur_device.close() - -""" diff -Nru hplip-3.14.6/ui4/printernamecombobox.py hplip-3.15.2/ui4/printernamecombobox.py --- hplip-3.14.6/ui4/printernamecombobox.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/printernamecombobox.py 2015-01-29 12:20:15.000000000 +0000 @@ -24,8 +24,9 @@ # Local from base.g import * -from ui_utils import * +from .ui_utils import * from base import device +from base.sixext import to_unicode # Qt from PyQt4.QtCore import * @@ -123,7 +124,7 @@ self.printer_index[p.name] = p.device_uri self.ComboBox.insertItem(i, p.name) - if self.initial_printer is not None and p.name == self.initial_printer: + if self.initial_printer is not None and to_unicode(p.name).lower() == to_unicode(self.initial_printer).lower(): self.initial_printer = None k = i @@ -138,7 +139,7 @@ def ComboBox_currentIndexChanged(self, t): - self.printer_name = unicode(t) + self.printer_name = to_unicode(t) if self.updating: return diff -Nru hplip-3.14.6/ui4/printsettingsdialog_base.py hplip-3.15.2/ui4/printsettingsdialog_base.py --- hplip-3.14.6/ui4/printsettingsdialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/printsettingsdialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -53,5 +53,5 @@ self.TitleLabel.setText(QtGui.QApplication.translate("Dialog", "Print Settings", None, QtGui.QApplication.UnicodeUTF8)) self.CloseButton.setText(QtGui.QApplication.translate("Dialog", "Close", None, QtGui.QApplication.UnicodeUTF8)) -from printsettingstoolbox import PrintSettingsToolbox -from printernamecombobox import PrinterNameComboBox +from .printsettingstoolbox import PrintSettingsToolbox +from .printernamecombobox import PrinterNameComboBox diff -Nru hplip-3.14.6/ui4/printsettingsdialog.py hplip-3.15.2/ui4/printsettingsdialog.py --- hplip-3.14.6/ui4/printsettingsdialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/printsettingsdialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -23,16 +23,16 @@ from base.g import * from base import device from prnt import cups -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from printsettingsdialog_base import Ui_Dialog -from printsettingstoolbox import PrintSettingsToolbox -from printernamecombobox import PRINTERNAMECOMBOBOX_TYPE_PRINTER_AND_FAX, PRINTERNAMECOMBOBOX_TYPE_FAX_ONLY +from .printsettingsdialog_base import Ui_Dialog +from .printsettingstoolbox import PrintSettingsToolbox +from .printernamecombobox import PRINTERNAMECOMBOBOX_TYPE_PRINTER_AND_FAX, PRINTERNAMECOMBOBOX_TYPE_FAX_ONLY #signal import signal diff -Nru hplip-3.14.6/ui4/printsettingstoolbox.py hplip-3.15.2/ui4/printsettingstoolbox.py --- hplip-3.14.6/ui4/printsettingstoolbox.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/printsettingstoolbox.py 2015-01-29 12:20:15.000000000 +0000 @@ -27,7 +27,9 @@ from base import utils from prnt import cups from base.codes import * -from ui_utils import * +from .ui_utils import * +from base.sixext import PY3 +from base.sixext import to_unicode # Qt from PyQt4.QtCore import * @@ -41,11 +43,16 @@ def validate(self, input, pos): - for x in unicode(input)[pos-1:]: - if x not in u'0123456789,- ': - return QValidator.Invalid, pos - - return QValidator.Acceptable, pos + for x in to_unicode(input)[pos-1:]: + if x not in to_unicode('0123456789,- '): + if PY3: + return QValidator.Invalid, input, pos + else: + return QValidator.Invalid, pos + if PY3: + return QValidator.Acceptable, input, pos + else: + return QValidator.Acceptable, pos @@ -55,11 +62,16 @@ def validate(self, input, pos): - for x in unicode(input)[pos-1:]: - if x not in u'0123456789': - return QValidator.Invalid, pos - - return QValidator.Acceptable, pos + for x in to_unicode(input)[pos-1:]: + if x not in to_unicode('0123456789'): + if PY3: + return QValidator.Invalid, input, pos + else: + return QValidator.Invalid, pos + if PY3: + return QValidator.Acceptable, input, pos + else: + return QValidator.Acceptable, pos @@ -69,11 +81,16 @@ def validate(self, input, pos): - for x in unicode(input)[pos-1:]: - if x in u' /=,.:;\'"[]{}-+!@#$%^&*()': - return QValidator.Invalid, pos - - return QValidator.Acceptable, pos + for x in to_unicode(input)[pos-1:]: + if x in to_unicode(' /=,.:;\'"[]{}-+!@#$%^&*()'): + if PY3: + return QValidator.Invalid, input, pos + else: + return QValidator.Invalid, pos + if PY3: + return QValidator.Acceptable, input, pos + else: + return QValidator.Acceptable, pos @@ -450,17 +467,13 @@ read_only = 'install' in g.lower() - try: - text = text.decode('utf-8') - except UnicodeDecodeError: - pass if g.lower() == 'printoutmode': text = self.__tr("Quality (also see 'Printout Mode' under 'General')") self.beginControlGroup(g, QString(text)) - log.debug(" Text: %s" % repr(text)) + log.debug(" Text: %s" % str(text)) log.debug("Num subgroups: %d" % num_subgroups) options = cups.getOptionList(g) @@ -480,10 +493,6 @@ log.warn("Option %s in group %s returned None" % (o, g)) continue - try: - option_text = option_text.decode('utf-8') - except UnicodeDecodeError: - pass if o.lower() == 'quality': option_text = self.__tr("Quality") @@ -505,10 +514,6 @@ choice_text, marked = cups.getChoice(g, o, c) - try: - choice_text = choice_text.decode('utf-8') - except UnicodeDecodeError: - pass log.debug(" Text: %s" % repr(choice_text)) @@ -784,10 +789,10 @@ cur_outputmode_dpi = cups.findPPDAttribute(quality_attr_name, cur_outputmode) if cur_outputmode_dpi is not None: log.debug("Adding Group: Summary outputmode is : %s" % cur_outputmode) - log.debug("Adding Group: Summary outputmode dpi is : %s" % unicode (cur_outputmode_dpi)) + log.debug("Adding Group: Summary outputmode dpi is : %s" % to_unicode (cur_outputmode_dpi)) self.beginControlGroup("sumry", self.__tr("Summary")) self.addControlRow("colorinput", self.__tr('Color Input / Black Render'), - cups.UI_INFO, unicode (cur_outputmode_dpi), [], read_only) + cups.UI_INFO, to_unicode (cur_outputmode_dpi), [], read_only) self.addControlRow("quality", self.__tr('Print Quality'), cups.UI_INFO, cur_outputmode, [], read_only) self.endControlGroup() @@ -798,13 +803,13 @@ if self.job_storage_enable: - self.job_storage_pin = unicode(current_options.get('HOLDKEY', '0000')[:4]) - self.job_storage_username = unicode(current_options.get('USERNAME', prop.username)[:16]) - self.job_storage_jobname = unicode(current_options.get('JOBNAME', u'Untitled')[:16]) - hold = unicode(current_options.get('HOLD', u'OFF')) - holdtype = unicode(current_options.get('HOLDTYPE', u'PUBLIC')) + self.job_storage_pin = to_unicode(current_options.get('HOLDKEY', '0000')[:4]) + self.job_storage_username = to_unicode(current_options.get('USERNAME', prop.username)[:16]) + self.job_storage_jobname = to_unicode(current_options.get('JOBNAME', to_unicode('Untitled'))[:16]) + hold = to_unicode(current_options.get('HOLD', to_unicode('OFF'))) + holdtype = to_unicode(current_options.get('HOLDTYPE', to_unicode('PUBLIC'))) self.job_storage_use_pin = False - duplicate = unicode(current_options.get('DUPLICATEJOB', u'REPLACE')) + duplicate = to_unicode(current_options.get('DUPLICATEJOB', to_unicode('REPLACE'))) self.job_storage_auto_username = True self.job_storage_auto_jobname = True self.job_storage_mode = JOB_STORAGE_TYPE_OFF @@ -813,25 +818,25 @@ self.job_storage_mode = JOB_STORAGE_TYPE_OFF elif hold == 'ON': - if holdtype == u'PUBLIC': + if holdtype == to_unicode('PUBLIC'): self.job_storage_mode = JOB_STORAGE_TYPE_QUICK_COPY else: # 'PRIVATE' self.job_storage_mode = JOB_STORAGE_TYPE_PERSONAL self.job_storage_use_pin = True - elif hold == u'PROOF': - if holdtype == u'PUBLIC': + elif hold == to_unicode('PROOF'): + if holdtype == to_unicode('PUBLIC'): self.job_storage_mode = JOB_STORAGE_TYPE_PROOF_AND_HOLD else: self.job_storage_mode = JOB_STORAGE_TYPE_PERSONAL self.job_storage_use_pin = True - elif hold == u'STORE': + elif hold == to_unicode('STORE'): self.job_storage_mode = JOB_STORAGE_TYPE_STORE - self.job_storage_use_pin = (holdtype == u'PRIVATE') + self.job_storage_use_pin = (holdtype == 'PRIVATE') - if duplicate == u'REPLACE': + if duplicate == to_unicode('REPLACE'): self.job_storage_job_exist = JOB_STORAGE_EXISTING_JOB_REPLACE else: # u'APPEND' self.job_storage_job_exist = JOB_STORAGE_EXISTING_JOB_APPEND_1_99 @@ -1235,11 +1240,11 @@ OptionLabel.setText(text) self.JobStorageModeDefaultButton.setText(self.__tr("Default")) - self.JobStorageModeComboBox.addItem(self.__tr("Off/Disabled"), QVariant(JOB_STORAGE_TYPE_OFF)) - self.JobStorageModeComboBox.addItem(self.__tr("Proof and Hold"), QVariant(JOB_STORAGE_TYPE_PROOF_AND_HOLD)) - self.JobStorageModeComboBox.addItem(self.__tr("Personal/Private Job"), QVariant(JOB_STORAGE_TYPE_PERSONAL)) - self.JobStorageModeComboBox.addItem(self.__tr("Quick Copy"), QVariant(JOB_STORAGE_TYPE_QUICK_COPY)) - self.JobStorageModeComboBox.addItem(self.__tr("Stored Job"), QVariant(JOB_STORAGE_TYPE_STORE)) + self.JobStorageModeComboBox.addItem(self.__tr("Off/Disabled"), JOB_STORAGE_TYPE_OFF) + self.JobStorageModeComboBox.addItem(self.__tr("Proof and Hold"), JOB_STORAGE_TYPE_PROOF_AND_HOLD) + self.JobStorageModeComboBox.addItem(self.__tr("Personal/Private Job"), JOB_STORAGE_TYPE_PERSONAL) + self.JobStorageModeComboBox.addItem(self.__tr("Quick Copy"), JOB_STORAGE_TYPE_QUICK_COPY) + self.JobStorageModeComboBox.addItem(self.__tr("Stored Job"), JOB_STORAGE_TYPE_STORE) self.connect(self.JobStorageModeComboBox, SIGNAL("activated(int)"), self.JobStorageModeComboBox_activated) @@ -1416,10 +1421,10 @@ HBoxLayout.addWidget(self.JobStorageExistingDefaultButton) self.JobStorageExistingComboBox.addItem(self.__tr("Replace existing job"), - QVariant(JOB_STORAGE_EXISTING_JOB_REPLACE)) + JOB_STORAGE_EXISTING_JOB_REPLACE) self.JobStorageExistingComboBox.addItem(self.__tr("Use job name appended with 1-99"), - QVariant(JOB_STORAGE_EXISTING_JOB_APPEND_1_99)) + JOB_STORAGE_EXISTING_JOB_APPEND_1_99) self.JobStorageExistingDefaultButton.setText(self.__tr("Default")) @@ -1469,7 +1474,7 @@ def BannerComboBox_activated(self, a): # cups.UI_BANNER_JOB_SHEETS - a = unicode(a) + a = to_unicode(a) sender = self.sender() choice = None @@ -1503,7 +1508,7 @@ def ComboBox_highlighted(self, t): - t = unicode(t) + t = to_unicode(t) sender = self.sender() choice = None @@ -1611,7 +1616,7 @@ def ComboBox_indexChanged(self, currentItem): sender = self.sender() - currentItem = unicode(currentItem) + currentItem = to_unicode(currentItem) # Checking for summary control labelPQValaue = getattr(self, 'PQValueLabel', None) labelPQColorInput = getattr(self, 'PQColorInputLabel', None) @@ -1719,31 +1724,24 @@ sender = self.sender() sender.pushbutton.setEnabled(True) sender.edit_control.setEnabled(True) - self.job_options['pagerange'] = unicode(sender.edit_control.text()) + self.job_options['pagerange'] = to_unicode(sender.edit_control.text()) def PageRangeEdit_editingFinished(self): sender = self.sender() t, ok, x = self.job_options['pagerange'], True, [] - #[Sanjay]Start Range Validation here as the editing is finished + try: x = utils.expand_range(t) except ValueError: ok = False - if t == '': - ok = False - if ok: - if 0 in x: - ok = False - - if ok: - for y in x: - if y > 999: - ok = False - break + for y in x: + if y <= 0 or y > 999: + ok = False + break if not ok: self.job_options['pagerange'] = '' @@ -1753,7 +1751,7 @@ def PageRangeEdit_textChanged(self, t): - self.job_options['pagerange'] = unicode(t) # Do range validation only in PageRangeEdit_editingFinished method + self.job_options['pagerange'] = to_unicode(t) # Do range validation only in PageRangeEdit_editingFinished method # # Job Storage @@ -1763,7 +1761,7 @@ beginWaitCursor() try: # Mode - self.JobStorageModeComboBox.setCurrentIndex(self.JobStorageModeComboBox.findData(QVariant(self.job_storage_mode))) + self.JobStorageModeComboBox.setCurrentIndex(self.JobStorageModeComboBox.findData(self.job_storage_mode)) self.JobStorageModeDefaultButton.setEnabled(self.job_storage_mode != JOB_STORAGE_TYPE_OFF) # PIN @@ -1776,7 +1774,7 @@ self.JobStorageIDAutoRadioButton.setChecked(self.job_storage_auto_jobname) # Dup/existing ID - self.JobStorageExistingComboBox.setCurrentIndex(self.JobStorageExistingComboBox.findData(QVariant(self.job_storage_job_exist))) + self.JobStorageExistingComboBox.setCurrentIndex(self.JobStorageExistingComboBox.findData(self.job_storage_job_exist)) if self.job_storage_mode == JOB_STORAGE_TYPE_OFF: # PIN @@ -1900,7 +1898,7 @@ def JobStorageModeComboBox_activated(self, i): sender = self.sender() - mode, ok = sender.itemData(i).toInt() + mode, ok = value_int(sender.itemData(i)) if ok: self.job_storage_mode = mode self.saveJobStorageOptions() @@ -1932,7 +1930,7 @@ def JobStoragePinEdit_textEdited(self, s): - self.job_storage_pin = unicode(s) + self.job_storage_pin = to_unicode(s) self.setPrinterOption('HOLDKEY', self.job_storage_pin.encode('ascii')) @@ -1958,7 +1956,7 @@ def JobStorageUsernameEdit_textEdited(self, s): - self.job_storage_username = unicode(s) + self.job_storage_username = to_unicode(s) self.setPrinterOption('USERNAME', self.job_storage_username.encode('ascii')) # @@ -1982,7 +1980,7 @@ def JobStorageIDEdit_textEdited(self, s): - self.job_storage_jobname = unicode(s) + self.job_storage_jobname = to_unicode(s) self.setPrinterOption('JOBNAME', self.job_storage_jobname.encode('ascii')) # @@ -1991,7 +1989,7 @@ def JobStorageExistingComboBox_activated(self, i): sender = self.sender() - opt, ok = sender.itemData(i).toInt() + opt, ok = value_int(sender.itemData(i)) if ok: self.job_storage_job_exist = opt self.updateJobStorageControls() diff -Nru hplip-3.14.6/ui4/printtestpagedialog_base.py hplip-3.15.2/ui4/printtestpagedialog_base.py --- hplip-3.14.6/ui4/printtestpagedialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/printtestpagedialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -73,5 +73,5 @@ self.PrintTestpageButton.setText(QtGui.QApplication.translate("Dialog", "Print Test Page", None, QtGui.QApplication.UnicodeUTF8)) self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8)) -from printernamecombobox import PrinterNameComboBox -from loadpapergroupbox import LoadPaperGroupBox +from .printernamecombobox import PrinterNameComboBox +from .loadpapergroupbox import LoadPaperGroupBox diff -Nru hplip-3.14.6/ui4/printtestpagedialog.py hplip-3.15.2/ui4/printtestpagedialog.py --- hplip-3.14.6/ui4/printtestpagedialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/printtestpagedialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -23,7 +23,7 @@ # Local from base.g import * from base import device -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * @@ -31,7 +31,7 @@ import signal # Ui -from printtestpagedialog_base import Ui_Dialog +from .printtestpagedialog_base import Ui_Dialog class PrintTestPageDialog(QDialog, Ui_Dialog): @@ -87,7 +87,7 @@ try: try: d = device.Device(self.device_uri, self.printer_name) - except Error, e: + except Error as e: log.error("Device error (%s)." % e.msg) else: try: @@ -101,7 +101,7 @@ if not ok: QApplication.restoreOverrideCursor() - FailureUI(self, self.__tr("Unable to communicate with printer %1.

Please check the printer and try again.").arg(self.printer_name)) + FailureUI(self, self.__tr("Unable to communicate with printer %s.

Please check the printer and try again." % self.printer_name)) d.close() @@ -126,7 +126,7 @@ try: try: d = device.Device(self.device_uri, self.printer_name) - except Error, e: + except Error as e: log.error("Device error (%s)." % e.msg) else: try: @@ -149,7 +149,7 @@ self.close() else: - FailureUI(self, self.__tr("A error occured sending the test page to printer %1.

Please check the printer and try again.").arg(self.printer_name)) + FailureUI(self, self.__tr("A error occured sending the test page to printer %s.

Please check the printer and try again."% self.printer_name)) d.close() diff -Nru hplip-3.14.6/ui4/queuesconf.py hplip-3.15.2/ui4/queuesconf.py --- hplip-3.14.6/ui4/queuesconf.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/queuesconf.py 2015-01-29 12:20:15.000000000 +0000 @@ -226,7 +226,7 @@ FailureUI(self, queryString(ERROR_NO_NETWORK)) else: sts, HPLIP_file = utils.download_from_network(HPLIP_INFO_SITE) - if sts is True: + if sts == 0: hplip_si_conf = ConfigBase(HPLIP_file) source = hplip_si_conf.get("SMART_INSTALL","url","") if not source : @@ -236,7 +236,7 @@ response_file, smart_install_run = utils.download_from_network(source) response_asc, smart_install_asc = utils.download_from_network(source+'.asc') - if response_file and response_asc : + if response_file == 0 and response_asc == 0: gpg_obj = validation.GPG_Verification() digsig_sts, error_str = gpg_obj.validate(smart_install_run, smart_install_asc) @@ -250,7 +250,7 @@ QMessageBox.Yes | QMessageBox.No) == QMessageBox.Yes: # Disabling without verification. sts, out = utils.run("sh %s"%smart_install_run) - + else: if response_asc: FailureUI(self, queryString(ERROR_FAILED_TO_DOWNLOAD_FILE, 0, source + ".asc")) diff -Nru hplip-3.14.6/ui4/sendfaxdialog_base.py hplip-3.15.2/ui4/sendfaxdialog_base.py --- hplip-3.14.6/ui4/sendfaxdialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/sendfaxdialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -384,5 +384,5 @@ self.NextButton.setText(QtGui.QApplication.translate("Dialog", "Next >", None, QtGui.QApplication.UnicodeUTF8)) self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8)) -from printernamecombobox import PrinterNameComboBox -from filetable import FileTable +from .printernamecombobox import PrinterNameComboBox +from .filetable import FileTable diff -Nru hplip-3.14.6/ui4/sendfaxdialog.py hplip-3.15.2/ui4/sendfaxdialog.py --- hplip-3.14.6/ui4/sendfaxdialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/sendfaxdialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -22,7 +22,8 @@ # StdLib import operator import struct -import Queue +from base.sixext.moves import queue +from base.sixext import to_unicode import signal # Local @@ -30,18 +31,18 @@ from base import device, utils, pml from prnt import cups from base.codes import * -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from sendfaxdialog_base import Ui_Dialog -from filetable import FileTable, FILETABLE_TYPE_FAX -from printernamecombobox import PrinterNameComboBox, PRINTERNAMECOMBOBOX_TYPE_FAX_ONLY -from printsettingsdialog import PrintSettingsDialog -from faxsetupdialog import FaxSetupDialog +from .sendfaxdialog_base import Ui_Dialog +from .filetable import FileTable, FILETABLE_TYPE_FAX +from .printernamecombobox import PrinterNameComboBox, PRINTERNAMECOMBOBOX_TYPE_FAX_ONLY +from .printsettingsdialog import PrintSettingsDialog +from .faxsetupdialog import FaxSetupDialog PAGE_SELECT_FAX = 0 @@ -92,7 +93,7 @@ log.warn("Please install version 2.0+ of Reportlab for coverpage support.") if fax_enabled: - from fabwindow import FABWindow + from .fabwindow import FABWindow if coverpages_enabled: from fax import coverpages @@ -231,7 +232,7 @@ self.NextCoverPageButton.setIcon(QIcon(load_pixmap("next", "16x16"))) if coverpages_enabled: - self.cover_page_list = coverpages.COVERPAGES.keys() + self.cover_page_list = list(coverpages.COVERPAGES.keys()) self.cover_page_index = self.cover_page_list.index("basic") self.cover_page_max = len(self.cover_page_list)-1 self.cover_page_name = self.cover_page_list[self.cover_page_index] @@ -259,11 +260,11 @@ def MessageEdit_textChanged(self): - self.cover_page_message = unicode(self.MessageEdit.toPlainText()) + self.cover_page_message = to_unicode(self.MessageEdit.toPlainText()) def RegardingEdit_textChanged(self, t): - self.cover_page_re = unicode(t) + self.cover_page_re = to_unicode(t) def PreserveFormattingCheckBox_toggled(self, b): @@ -289,10 +290,11 @@ def displayCoverpagePreview(self): - self.cover_page_name = self.cover_page_list[self.cover_page_index] - self.cover_page_func = coverpages.COVERPAGES[self.cover_page_name][0] - self.CoverPageName.setText(QString('"%1"').arg(self.cover_page_name)) - self.CoverPagePreview.setPixmap(load_pixmap(coverpages.COVERPAGES[self.cover_page_name][1], 'other')) + if coverpages_enabled: + self.cover_page_name = self.cover_page_list[self.cover_page_index] + self.cover_page_func = coverpages.COVERPAGES[self.cover_page_name][0] + self.CoverPageName.setText(QString('"%s"'%self.cover_page_name)) + self.CoverPagePreview.setPixmap(load_pixmap(coverpages.COVERPAGES[self.cover_page_name][1], 'other')) if self.CoverPageGroupBox.isChecked(): self.addCoverPage() @@ -317,7 +319,7 @@ def addCoverPage(self): self.removeCoverPage() self.FilesTable.addFile(self.cover_page_name, MIME_TYPE_COVERPAGE, - self.__tr('HP Fax Coverpage: "%1"').arg(self.cover_page_name), + self.__tr('HP Fax Coverpage: "%s"'%self.cover_page_name), self.__tr("Cover Page"), 1) @@ -357,7 +359,7 @@ self.restoreNextButton() self.NextButton.setEnabled(self.FilesTable.isNotEmpty()) self.BackButton.setEnabled(coverpages_enabled) - self.FilesPageNote.setText(self.__tr("Note: You may also add files to the fax by printing from any application to the '%1' fax printer.").arg(self.printer_name)) + self.FilesPageNote.setText(self.__tr("Note: You may also add files to the fax by printing from any application to the '%s' fax printer."%self.printer_name)) self.displayPage(PAGE_FILES) @@ -437,7 +439,7 @@ elif action == FAB_NAME_REMOVE: log.debug("Fax address book has changed: '%s' removed" % s1) all_names = self.db.get_all_names() - self.recipient_list = filter(lambda x: x in self.recipient_list, all_names) + self.recipient_list = [x for x in all_names if x in self.recipient_list] self.updateAddressBook() self.updateRecipientTable() @@ -589,18 +591,18 @@ def QuickAddFaxEdit_textChanged(self, fax): - self.enableQuickAddButton(None, unicode(fax)) + self.enableQuickAddButton(None, to_unicode(fax)) def QuickAddNameEdit_textChanged(self, name): - self.enableQuickAddButton(unicode(name)) + self.enableQuickAddButton(to_unicode(name)) def enableQuickAddButton(self, name=None, fax=None): if name is None: - name = unicode(self.QuickAddNameEdit.text()) + name = to_unicode(self.QuickAddNameEdit.text()) if fax is None: - fax = unicode(self.QuickAddFaxEdit.text()) + fax = to_unicode(self.QuickAddFaxEdit.text()) existing_name = False if name: @@ -624,8 +626,8 @@ def QuickAddButton_clicked(self): - name = unicode(self.QuickAddNameEdit.text()) - fax = unicode(self.QuickAddFaxEdit.text()) + name = to_unicode(self.QuickAddNameEdit.text()) + fax = to_unicode(self.QuickAddFaxEdit.text()) self.fab.addName(name, fax) self.addRecipient(name) self.updateRecipientTable() @@ -635,11 +637,11 @@ def AddIndividualButton_clicked(self): - self.addRecipient(unicode(self.AddIndividualComboBox.currentText())) + self.addRecipient(to_unicode(self.AddIndividualComboBox.currentText())) def AddGroupButton_clicked(self): - self.addGroup(unicode(self.AddGroupComboBox.currentText())) + self.addGroup(to_unicode(self.AddGroupComboBox.currentText())) def RemoveRecipientButton_clicked(self): @@ -666,9 +668,9 @@ def getCurrentRecipient(self): item = self.RecipientsTable.item(self.RecipientsTable.currentRow(), 0) if item is not None: - return unicode(item.text()) + return to_unicode(item.text()) else: - return u'' + return to_unicode('') def addRecipient(self, name, update=True): @@ -697,7 +699,7 @@ if col != 0: item = self.RecipientsTable.item(row, 0) - self.fab.selectByName(unicode(item.text())) + self.fab.selectByName(to_unicode(item.text())) self.fab.show() @@ -710,8 +712,8 @@ self.warn_icon = QIcon(load_pixmap("warning", "16x16")) self.error_icon = QIcon(load_pixmap("error", "16x16")) self.busy_icon = QIcon(load_pixmap("busy", "16x16")) - self.update_queue = Queue.Queue() # UI updates from send thread - self.event_queue = Queue.Queue() # UI events (cancel) to send thread + self.update_queue = queue.Queue() # UI updates from send thread + self.event_queue = queue.Queue() # UI events (cancel) to send thread self.send_fax_active = False @@ -736,8 +738,8 @@ ppd_file = cups.getPPD(self.printer_name) if ppd_file is not None and os.path.exists(ppd_file): - if file(ppd_file, 'r').read().find('HP Fax') == -1: - FailureUI(self, self.__tr("Fax configuration error.

The CUPS fax queue for '%1' is incorrectly configured.

Please make sure that the CUPS fax queue is configured with the 'HPLIP Fax' Model/Driver.").arg(self.printer_name)) + if open(ppd_file, 'rb').read().find(b'HP Fax') == -1: + FailureUI(self, self.__tr("Fax configuration error.

The CUPS fax queue for '%s' is incorrectly configured.

Please make sure that the CUPS fax queue is configured with the 'HPLIP Fax' Model/Driver."%self.printer_name)) self.close() return @@ -752,12 +754,12 @@ try: try: self.dev.open() - except Error, e: + except Error as e: log.warn(e.msg) try: self.dev.queryDevice(quick=True) - except Error, e: + except Error as e: log.error("Query device error (%s)." % e.msg) self.dev.error_state = ERROR_STATE_ERROR @@ -768,7 +770,7 @@ if self.dev.error_state > ERROR_STATE_MAX_OK and \ self.dev.error_state not in (ERROR_STATE_LOW_SUPPLIES, ERROR_STATE_LOW_PAPER): - FailureUI(self, self.__tr("Device is busy or in an error state (code=%1)

Please wait for the device to become idle or clear the error and try again.").arg(self.dev.status_code)) + FailureUI(self, self.__tr("Device is busy or in an error state (code=%s)

Please wait for the device to become idle or clear the error and try again."%self.dev.status_code)) self.NextButton.setEnabled(True) return @@ -777,7 +779,7 @@ for p in self.cups_printers: if p.name == self.printer_name: if p.state == cups.IPP_PRINTER_STATE_STOPPED: - FailureUI(self, self.__tr("The CUPS queue for '%1' is in a stopped or busy state.

Please check the queue and try again.").arg(self.printer_name)) + FailureUI(self, self.__tr("The CUPS queue for '%s' is in a stopped or busy state.

Please check the queue and try again."%self.printer_name)) self.NextButton.setEnabled(False) return break @@ -835,7 +837,7 @@ while self.update_queue.qsize(): try: status, page_num, arg = self.update_queue.get(0) - except Queue.Empty: + except queue.Empty: break if status == fax.STATUS_IDLE: @@ -845,19 +847,19 @@ self.SendFaxTimer.stop() elif status == fax.STATUS_PROCESSING_FILES: - self.addStatusMessage(self.__tr("Processing page %1...").arg(page_num), self.busy_icon) + self.addStatusMessage(self.__tr("Processing page %s..."%page_num), self.busy_icon) elif status == fax.STATUS_SENDING_TO_RECIPIENT: - self.addStatusMessage(self.__tr("Sending fax to %1...").arg(arg), self.busy_icon) + self.addStatusMessage(self.__tr("Sending fax to %s..."%arg), self.busy_icon) elif status == fax.STATUS_DIALING: - self.addStatusMessage(self.__tr("Dialing %1...").arg(arg), self.busy_icon) + self.addStatusMessage(self.__tr("Dialing %s..."%arg), self.busy_icon) elif status == fax.STATUS_CONNECTING: - self.addStatusMessage(self.__tr("Connecting to %1...").arg(arg), self.busy_icon) + self.addStatusMessage(self.__tr("Connecting to %s..."%arg), self.busy_icon) elif status == fax.STATUS_SENDING: - self.addStatusMessage(self.__tr("Sending page %1 to %2...").arg(page_num).arg(arg), + self.addStatusMessage(self.__tr("Sending page %s to %s..."%(page_num,arg)), self.busy_icon) elif status == fax.STATUS_CLEANUP: @@ -876,7 +878,7 @@ if error_state == pml.DN_ERROR_NONE: self.addStatusMessage(self.__tr("Fax send error (Possible cause: No answer or dialtone)"), self.error_icon) else: - self.addStatusMessage(self.__tr("Fax send error (%1)").arg(pml.DN_ERROR_STR.get(error_state, "Unknown error")), self.error_icon) + self.addStatusMessage(self.__tr("Fax send error (%s)"%pml.DN_ERROR_STR.get(error_state, "Unknown error")), self.error_icon) self.dev.sendEvent(EVENT_FAX_JOB_FAIL, self.printer_name, 0, '') elif status == fax.STATUS_ERROR_IN_CONNECTING: @@ -937,7 +939,7 @@ try: device_uri, printer_name, event_code, username, job_id, title, timedate, fax_file = \ self.service.CheckForWaitingFax(self.device_uri, prop.username, self.last_job_id) - except Exception, e: + except Exception as e: log.debug("Exception caught in CheckTimer_timeout: %s" % e) fax_file = None @@ -954,7 +956,7 @@ ok, num_pages, hort_dpi, vert_dpi, page_size, resolution, encoding = \ self.getFileInfo(fax_file) if ok: - self.FilesTable.addFile(unicode(fax_file), 'application/hplip-fax', 'HPLIP Fax', title, num_pages) + self.FilesTable.addFile(fax_file, 'application/hplip-fax', 'HPLIP Fax', title, num_pages) finally: self.busy = False @@ -962,7 +964,7 @@ def getFileInfo(self, fax_file): - f = file(fax_file, 'r') + f = open(fax_file, 'rb') header = f.read(fax.FILE_HEADER_SIZE) f.close() @@ -1043,7 +1045,7 @@ def updateStepText(self, p): - self.StepText.setText(self.__tr("Step %1 of %2").arg(p+1).arg(PAGE_MAX+1)) + self.StepText.setText(self.__tr("Step %s of %s"%(p+1,PAGE_MAX+1))) def restoreNextButton(self): @@ -1051,6 +1053,6 @@ def __tr(self,s,c = None): - return qApp.translate("SendFaxDialog",s,c) + return qApp.translate("SendFaxDialog",s.encode('utf-8'),c) diff -Nru hplip-3.14.6/ui4/settingsdialog_base.py hplip-3.15.2/ui4/settingsdialog_base.py --- hplip-3.14.6/ui4/settingsdialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/settingsdialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -50,7 +50,7 @@ self.AutoRefreshRateSpinBox.setButtonSymbols(QtGui.QAbstractSpinBox.PlusMinus) self.AutoRefreshRateSpinBox.setMinimum(10) self.AutoRefreshRateSpinBox.setMaximum(300) - self.AutoRefreshRateSpinBox.setProperty("value", QtCore.QVariant(30)) + self.AutoRefreshRateSpinBox.setProperty("value", 30) self.AutoRefreshRateSpinBox.setObjectName("AutoRefreshRateSpinBox") self.hboxlayout.addWidget(self.AutoRefreshRateSpinBox) self.gridlayout2.addLayout(self.hboxlayout, 0, 1, 1, 1) @@ -234,4 +234,4 @@ self.SetDefaultsButton.setText(QtGui.QApplication.translate("SettingsDialog_base", "Set &Defaults", None, QtGui.QApplication.UnicodeUTF8)) self.TabWidget.setTabText(self.TabWidget.indexOf(self.Commands), QtGui.QApplication.translate("SettingsDialog_base", "Commands (Advanced)", None, QtGui.QApplication.UnicodeUTF8)) -from systrayframe import SystrayFrame +from .systrayframe import SystrayFrame diff -Nru hplip-3.14.6/ui4/settingsdialog.py hplip-3.15.2/ui4/settingsdialog.py --- hplip-3.14.6/ui4/settingsdialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/settingsdialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -22,12 +22,13 @@ # Local from base.g import * from base.codes import * -from ui_utils import * +from base.sixext import to_unicode +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * -from settingsdialog_base import Ui_SettingsDialog_base +from .settingsdialog_base import Ui_SettingsDialog_base @@ -78,7 +79,7 @@ def updateData(self): self.user_settings.systray_visible = self.SystemTraySettings.systray_visible self.user_settings.systray_messages = self.SystemTraySettings.systray_messages - self.user_settings.cmd_scan = unicode(self.ScanCommandLineEdit.text()) + self.user_settings.cmd_scan = to_unicode(self.ScanCommandLineEdit.text()) self.user_settings.auto_refresh = bool(self.AutoRefreshCheckBox.isChecked()) self.user_settings.upgrade_notify = self.SystemTraySettings.upgrade_notify diff -Nru hplip-3.14.6/ui4/setupdialog_base.py hplip-3.15.2/ui4/setupdialog_base.py --- hplip-3.14.6/ui4/setupdialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/setupdialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -7,12 +7,14 @@ # # WARNING! All changes made in this file will be lost! -from PyQt4 import QtCore, QtGui +from PyQt4 import QtGui +from PyQt4.QtCore import * +from base.g import * class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") - Dialog.setWindowModality(QtCore.Qt.ApplicationModal) + Dialog.setWindowModality(Qt.ApplicationModal) Dialog.resize(700, 500) self.gridlayout = QtGui.QGridLayout(Dialog) self.gridlayout.setObjectName("gridlayout") @@ -92,9 +94,9 @@ self.hboxlayout2.addWidget(self.NetworkDiscoveryMethodLabel) self.NetworkDiscoveryMethodComboBox = QtGui.QComboBox(self.DiscoveryOptionsGroupBox) self.NetworkDiscoveryMethodComboBox.setObjectName("NetworkDiscoveryMethodComboBox") - self.NetworkDiscoveryMethodComboBox.addItem(QtCore.QString()) - self.NetworkDiscoveryMethodComboBox.addItem(QtCore.QString()) - self.NetworkDiscoveryMethodComboBox.addItem(QtCore.QString()) + self.NetworkDiscoveryMethodComboBox.addItem(QString()) + self.NetworkDiscoveryMethodComboBox.addItem(QString()) + self.NetworkDiscoveryMethodComboBox.addItem(QString()) self.hboxlayout2.addWidget(self.NetworkDiscoveryMethodComboBox) self.gridlayout4.addLayout(self.hboxlayout2, 1, 0, 1, 1) self.hboxlayout3 = QtGui.QHBoxLayout() @@ -105,7 +107,7 @@ self.NetworkTimeoutSpinBox = QtGui.QSpinBox(self.DiscoveryOptionsGroupBox) self.NetworkTimeoutSpinBox.setMinimum(1) self.NetworkTimeoutSpinBox.setMaximum(90) - self.NetworkTimeoutSpinBox.setProperty("value", QtCore.QVariant(5)) + self.NetworkTimeoutSpinBox.setProperty("value", 5) self.NetworkTimeoutSpinBox.setObjectName("NetworkTimeoutSpinBox") self.hboxlayout3.addWidget(self.NetworkTimeoutSpinBox) self.gridlayout4.addLayout(self.hboxlayout3, 1, 1, 1, 1) @@ -117,7 +119,7 @@ self.NetworkTTLSpinBox = QtGui.QSpinBox(self.DiscoveryOptionsGroupBox) self.NetworkTTLSpinBox.setMinimum(1) self.NetworkTTLSpinBox.setMaximum(8) - self.NetworkTTLSpinBox.setProperty("value", QtCore.QVariant(4)) + self.NetworkTTLSpinBox.setProperty("value", 4) self.NetworkTTLSpinBox.setObjectName("NetworkTTLSpinBox") self.hboxlayout4.addWidget(self.NetworkTTLSpinBox) self.gridlayout4.addLayout(self.hboxlayout4, 1, 2, 1, 1) @@ -181,8 +183,8 @@ sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.DevicesFoundIcon.sizePolicy().hasHeightForWidth()) self.DevicesFoundIcon.setSizePolicy(sizePolicy) - self.DevicesFoundIcon.setMinimumSize(QtCore.QSize(16, 16)) - self.DevicesFoundIcon.setMaximumSize(QtCore.QSize(16, 16)) + self.DevicesFoundIcon.setMinimumSize(QSize(16, 16)) + self.DevicesFoundIcon.setMaximumSize(QSize(16, 16)) self.DevicesFoundIcon.setFrameShape(QtGui.QFrame.NoFrame) self.DevicesFoundIcon.setObjectName("DevicesFoundIcon") self.hboxlayout5.addWidget(self.DevicesFoundIcon) @@ -336,7 +338,7 @@ self.retranslateUi(Dialog) self.StackedWidget.setCurrentIndex(0) self.AdvancedStackedWidget.setCurrentIndex(0) - QtCore.QMetaObject.connectSlotsByName(Dialog) + QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", "HP Device Manager - Setup", None, QtGui.QApplication.UnicodeUTF8)) diff -Nru hplip-3.14.6/ui4/setupdialog.py hplip-3.15.2/ui4/setupdialog.py --- hplip-3.14.6/ui4/setupdialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/setupdialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -1,3 +1,4 @@ +#!/usr/bin/env python # -*- coding: utf-8 -*- # # (c) Copyright 2001-2009 Hewlett-Packard Development Company, L.P. @@ -22,6 +23,7 @@ # StdLib import socket import operator +import subprocess import signal # Local @@ -29,17 +31,18 @@ from base import device, utils, models, pkit from prnt import cups from base.codes import * -from ui_utils import * +from .ui_utils import * from installer import pluginhandler - +from base.sixext import to_unicode, PY3, from_unicode_to_str # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * + # Ui -from setupdialog_base import Ui_Dialog -from plugindialog import PluginDialog -from wifisetupdialog import WifiSetupDialog, SUCCESS_CONNECTED +from .setupdialog_base import Ui_Dialog +from .plugindialog import PluginDialog +from .wifisetupdialog import WifiSetupDialog, SUCCESS_CONNECTED # Fax try: @@ -118,11 +121,11 @@ self.UsernameLineEdit.setStyleSheet("QLineEdit {background-color: lightgray}") def getUsername(self): - return unicode(self.UsernameLineEdit.text()) + return to_unicode(self.UsernameLineEdit.text()) def getPassword(self): - return unicode(self.PasswordLineEdit.text()) + return to_unicode(self.PasswordLineEdit.text()) def languageChange(self): @@ -138,7 +141,7 @@ def FailureMessageUI(prompt): - try: + try: dlg = PasswordDialog(prompt, None) FailureUI(dlg, prompt) finally: @@ -146,7 +149,7 @@ def showPasswordUI(prompt, userName=None, allowUsernameEdit=True): - try: + try: dlg = PasswordDialog(prompt, None) if userName != None: @@ -308,9 +311,9 @@ self.setUsbRadioButton(True) if prop.fax_build and prop.scan_build: - self.DeviceTypeComboBox.addItem("All devices/printers", QVariant(DEVICE_DESC_ALL)) - self.DeviceTypeComboBox.addItem("Single function printers only", QVariant(DEVICE_DESC_SINGLE_FUNC)) - self.DeviceTypeComboBox.addItem("All-in-one/MFP devices only", QVariant(DEVICE_DESC_MULTI_FUNC)) + self.DeviceTypeComboBox.addItem("All devices/printers", DEVICE_DESC_ALL) + self.DeviceTypeComboBox.addItem("Single function printers only", DEVICE_DESC_SINGLE_FUNC) + self.DeviceTypeComboBox.addItem("All-in-one/MFP devices only", DEVICE_DESC_MULTI_FUNC) else: self.DeviceTypeComboBox.setEnabled(False) @@ -573,7 +576,7 @@ if len(self.devices) == 1: self.DevicesFoundLabel.setText(self.__tr("1 device found. Click Next to continue.")) else: - self.DevicesFoundLabel.setText(self.__tr("%1 devices found. Select the device to install and click Next to continue.").arg(len(self.devices))) + self.DevicesFoundLabel.setText(self.__tr("%s devices found. Select the device to install and click Next to continue."%(len(self.devices)))) self.loadDevicesTable() @@ -617,8 +620,6 @@ self.DevicesTableWidget.setItem(row, device_uri_col, i) if self.bus == 'net': - #if device.ip_pat.search(host) is None: - #host = socket.gethostbyname(host) i = QTableWidgetItem(QString(host)) i.setFlags(flags) self.DevicesTableWidget.setItem(row, 1, i) @@ -695,7 +696,8 @@ self.setNextButton(BUTTON_ADD_PRINTER) - self.setDefaultPrinterName() + if not self.printer_name: + self.setDefaultPrinterName() self.findPrinterPPD() @@ -706,7 +708,8 @@ self.SetupFaxGroupBox.setChecked(True) self.SetupFaxGroupBox.setEnabled(True) - self.setDefaultFaxName() + if not self.fax_name: + self.setDefaultFaxName() self.findFaxPPD() @@ -747,7 +750,7 @@ def OtherPPDButton_clicked(self, b): - ppd_file = unicode(QFileDialog.getOpenFileName(self, self.__tr("Select PPD File"), + ppd_file = to_unicode(QFileDialog.getOpenFileName(self, self.__tr("Select PPD File"), sys_conf.get('dirs', 'ppd'), self.__tr("PPD Files (*.ppd *.ppd.gz);;All Files (*)"))) @@ -776,7 +779,7 @@ self.fax_setup_ok = True else: self.fax_setup_ok = False - FailureUI(self, self.__tr("Unable to locate the HPLIP Fax PPD file:

%1.ppd.gz

Fax setup has been disabled.").arg(fax_ppd_name)) + FailureUI(self, self.__tr("Unable to locate the HPLIP Fax PPD file:

%s.ppd.gz

Fax setup has been disabled."%fax_ppd_name)) self.fax_setup = False self.SetupFaxGroupBox.setChecked(False) self.SetupFaxGroupBox.setEnabled(False) @@ -840,7 +843,7 @@ def PrinterNameLineEdit_textEdited(self, t): - self.printer_name = unicode(t) + self.printer_name = to_unicode(t) self.printer_name_ok = True if not self.printer_name: @@ -872,7 +875,7 @@ def FaxNameLineEdit_textEdited(self, t): - self.fax_name = unicode(t) + self.fax_name = to_unicode(t) self.fax_name_ok = True if not self.fax_name: @@ -963,7 +966,7 @@ if self.mq.get('fw-download', False): try: d = device.Device(self.device_uri) - except Error , e: + except Error as e: FailureUI(self, self.__tr("Error opening device. Firmware download is Failed.

%s (%s)." % (e.msg, e.opt))) else: if d.downloadFirmware(): @@ -972,7 +975,6 @@ FailureUI(self, self.__tr("Firmware download is Failed.")) d.close() - # # SETUP PRINTER/FAX # @@ -982,9 +984,9 @@ QApplication.setOverrideCursor(QCursor(Qt.WaitCursor)) try: if not os.path.exists(self.print_ppd[0]): # assume foomatic: or some such - add_prnt_args = (self.printer_name.encode('utf8'), self.device_uri, self.print_location, '', self.print_ppd[0], self.print_desc) + add_prnt_args = (from_unicode_to_str(self.printer_name), self.device_uri, self.print_location, '', self.print_ppd[0], self.print_desc) else: - add_prnt_args = (self.printer_name.encode('utf8'), self.device_uri, self.print_location, self.print_ppd[0], '', self.print_desc) + add_prnt_args = (from_unicode_to_str(self.printer_name), self.device_uri, self.print_location, self.print_ppd[0], '', self.print_desc) status, status_str = cups.cups_operation(cups.addPrinter, GUI_MODE, 'qt4', self, *add_prnt_args) log.debug(device.getSupportedCUPSDevices(['hp'])) @@ -1006,10 +1008,10 @@ QApplication.setOverrideCursor(QCursor(Qt.WaitCursor)) try: if not os.path.exists(self.fax_ppd): - status, status_str = cups.addPrinter(self.fax_name.encode('utf8'), + status, status_str = cups.addPrinter(self.fax_name, self.fax_uri, self.fax_location, '', self.fax_ppd, self.fax_desc) else: - status, status_str = cups.addPrinter(self.fax_name.encode('utf8'), + status, status_str = cups.addPrinter(self.fax_name, self.fax_uri, self.fax_location, self.fax_ppd, '', self.fax_desc) log.debug(device.getSupportedCUPSDevices(['hpfax'])) @@ -1038,7 +1040,7 @@ d.open() except Error: error_text = self.__tr("Unable to communicate with the device. Please check the device and try again.") - log.error(unicode(error_text)) + log.error(to_unicode(error_text)) if QMessageBox.critical(self, self.windowTitle(), error_text, @@ -1057,15 +1059,17 @@ try: if read: - self.fax_number = unicode(d.getPhoneNum()) - self.fax_name_company = unicode(d.getStationName()) + #self.fax_number = str(d.getPhoneNum()) + #self.fax_name_company = str(d.getStationName()) + self.fax_number = to_unicode(d.getPhoneNum()) + self.fax_name_company = to_unicode(d.getStationName()) else: d.setStationName(self.fax_name_company) d.setPhoneNum(self.fax_number) except Error: error_text = self.__tr("Device I/O Error

Could not communicate with device. Device may be busy.") - log.error(unicode(error_text)) + log.error(to_unicode(error_text)) if QMessageBox.critical(self, self.windowTitle(), @@ -1102,7 +1106,7 @@ def printTestPage(self): try: d = device.Device(self.device_uri) - except Error, e: + except Error as e: FailureUI(self, self.__tr("Device error:

%s (%s)." % (e.msg, e.opt))) else: @@ -1116,7 +1120,7 @@ try: d.printTestPage(self.printer_name) - except Error, e: + except Error as e: if e.opt == ERROR_NO_CUPS_QUEUE_FOUND_FOR_DEVICE: FailureUI(self, self.__tr("No CUPS queue found for device.

Please install the printer in CUPS and try again.")) else: @@ -1172,7 +1176,7 @@ i = QTableWidgetItem(QString(p.name)) i.setFlags(flags) - i.setData(Qt.UserRole, QVariant(p.name)) + i.setData(Qt.UserRole, p.name) self.RemoveDevicesTableWidget.setItem(row, 1, i) if back_end == 'hpfax': @@ -1194,7 +1198,7 @@ def CheckBox_stateChanged(self, i): - for row in xrange(self.RemoveDevicesTableWidget.rowCount()): + for row in range(self.RemoveDevicesTableWidget.rowCount()): widget = self.RemoveDevicesTableWidget.cellWidget(row, 0) if widget.checkState() == Qt.Checked: self.NextButton.setEnabled(True) @@ -1211,10 +1215,10 @@ p = self.StackedWidget.currentIndex() if p == PAGE_DISCOVERY: self.manual = self.ManualGroupBox.isChecked() - self.param = unicode(self.ManualParamLineEdit.text()) + self.param = to_unicode(self.ManualParamLineEdit.text()) self.jd_port = self.JetDirectSpinBox.value() - self.search = unicode(self.SearchLineEdit.text()) - self.device_desc = int(self.DeviceTypeComboBox.itemData(self.DeviceTypeComboBox.currentIndex()).toInt()[0]) + self.search = to_unicode(self.SearchLineEdit.text()) + self.device_desc = value_int(self.DeviceTypeComboBox.itemData(self.DeviceTypeComboBox.currentIndex()))[0] self.discovery_method = self.NetworkDiscoveryMethodComboBox.currentIndex() if self.WirelessButton.isChecked(): @@ -1238,21 +1242,22 @@ elif p == PAGE_ADD_PRINTER: self.print_test_page = self.SendTestPageCheckBox.isChecked() - self.print_desc = unicode(self.PrinterDescriptionLineEdit.text()).encode('utf8') - self.print_location = unicode(self.PrinterLocationLineEdit.text()).encode('utf8') self.fax_setup = self.SetupFaxGroupBox.isChecked() - self.fax_desc = unicode(self.FaxDescriptionLineEdit.text()) - self.fax_location = unicode(self.FaxLocationLineEdit.text()) - self.fax_name_company = unicode(self.NameCompanyLineEdit.text()) - self.fax_number = unicode(self.FaxNumberLineEdit.text()) + self.print_location = from_unicode_to_str(to_unicode(self.PrinterLocationLineEdit.text())) + self.print_desc = from_unicode_to_str(to_unicode(self.PrinterDescriptionLineEdit.text())) + self.fax_desc = from_unicode_to_str(to_unicode(self.FaxDescriptionLineEdit.text())) + self.fax_location = from_unicode_to_str(to_unicode(self.FaxLocationLineEdit.text())) + + self.fax_name_company = to_unicode(self.NameCompanyLineEdit.text()) + self.fax_number = to_unicode(self.FaxNumberLineEdit.text()) self.addPrinter() elif p == PAGE_REMOVE: - for row in xrange(self.RemoveDevicesTableWidget.rowCount()): + for row in range(self.RemoveDevicesTableWidget.rowCount()): widget = self.RemoveDevicesTableWidget.cellWidget(row, 0) if widget.checkState() == Qt.Checked: item = self.RemoveDevicesTableWidget.item(row, 1) - printer = unicode(item.data(Qt.UserRole).toString()).encode('utf-8') + printer = to_unicode(value_str(item.data(Qt.UserRole))) uri = device.getDeviceURIByPrinterName(printer) log.debug("Removing printer: %s" % printer) status, status_str = cups.cups_operation(cups.delPrinter, GUI_MODE, 'qt4', self, printer) @@ -1305,7 +1310,7 @@ def updateStepText(self, p): - self.StepText.setText(self.__tr("Step %1 of %2").arg(p+1).arg(self.max_page+1)) + self.StepText.setText(self.__tr("Step %s of %s"%(p+1, self.max_page+1))) #Python 3.2 def __tr(self,s,c = None): diff -Nru hplip-3.14.6/ui4/systemtray.py hplip-3.15.2/ui4/systemtray.py --- hplip-3.14.6/ui4/systemtray.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/systemtray.py 2015-01-29 12:20:15.000000000 +0000 @@ -27,13 +27,12 @@ import signal import os.path import time -import signal # Local from base.g import * from base import device, utils, models from base.codes import * -from ui_utils import * +from .ui_utils import * # PyQt try: @@ -43,7 +42,7 @@ log.error("Python bindings for Qt4 not found. Try using --qt3. Exiting!") sys.exit(1) -from systrayframe import SystrayFrame +from .systrayframe import SystrayFrame # dbus (required) try: @@ -64,9 +63,12 @@ # pynotify (optional) have_pynotify = True try: - import pynotify + import notify2 as pynotify except ImportError: - have_pynotify = False + try: + import pynotify + except ImportError: + have_pynotify = False TRAY_MESSAGE_DELAY = 10000 @@ -74,8 +76,8 @@ BLIP_DELAY = 2000 SET_MENU_DELAY = 1000 MAX_MENU_EVENTS = 10 -UPGRADE_CHECK_DELAY=24*60*60*1000 #1 day -CLEAN_EXEC_DELAY=4*60*60*1000 #4 Hrs +UPGRADE_CHECK_DELAY=24*60*60*1000 #1 day +#CLEAN_EXEC_DELAY=4*60*60*1000 #4 Hrs ERROR_STATE_TO_ICON = { ERROR_STATE_CLEAR: QSystemTrayIcon.Information, @@ -132,7 +134,7 @@ ess = device.queryString(e.event_code, 0) a = QAction(QIcon(getStatusListIcon(error_state)[self.index]), - QString("%1 %2").arg(ess).arg(getTimeDeltaDesc(e.timedate)), self) + QString("%s %s"%(ess,getTimeDeltaDesc(e.timedate))), self) if first: f = a.font() @@ -170,19 +172,19 @@ if back_end == 'hp': self.device_type = DEVICE_TYPE_PRINTER - self.menu_text = self.__tr("%1 Printer (%2)").arg(self.model).arg(self.id) + self.menu_text = self.__tr("%s Printer (%s)"%(self.model,self.id)) elif back_end == 'hpaio': self.device_type = DEVICE_TYPE_SCANNER - self.menu_text = self.__tr("%1 Scanner (%2)").arg(self.model).arg(self.id) + self.menu_text = self.__tr("%s Scanner (%s)"%(self.model,self.id)) elif back_end == 'hpfax': self.device_type = DEVICE_TYPE_FAX - self.menu_text = self.__tr("%1 Fax (%2)").arg(self.model).arg(self.id) + self.menu_text = self.__tr("%s Fax (%s)"%(self.model,self.id)) else: self.device_type = DEVICE_TYPE_UNKNOWN - self.menu_text = self.__tr("%1 (%2)").arg(self.model).arg(self.id) + self.menu_text = self.__tr("%s (%s)"%(self.model,self.id)) self.mq = device.queryModelByURI(self.device_uri) self.index = 0 @@ -404,7 +406,8 @@ try: os.waitpid(0, os.WNOHANG) except OSError: - pass + pass + return @@ -653,10 +656,10 @@ break if r: - m = ''.join([m, os.read(self.read_pipe, self.fmt_size)]) + #m = ''.join([m, os.read(self.read_pipe, self.fmt_size)]) + m = os.read(self.read_pipe, self.fmt_size) while len(m) >= self.fmt_size: - event = device.Event(*struct.unpack(self.fmt, m[:self.fmt_size])) - + event = device.Event(*[x.rstrip(b'\x00').decode('utf-8') if isinstance(x, bytes) else x for x in struct.unpack(self.fmt, m[:self.fmt_size])]) m = m[self.fmt_size:] if event.event_code == EVENT_CUPS_QUEUES_REMOVED or event.event_code == EVENT_CUPS_QUEUES_ADDED: @@ -677,7 +680,7 @@ if self.user_settings.systray_visible in \ (SYSTRAY_VISIBLE_SHOW_ALWAYS, SYSTRAY_VISIBLE_HIDE_WHEN_INACTIVE): - + log.debug("Showing...") self.tray_icon.setVisible(True) @@ -750,16 +753,16 @@ self.model = models.normalizeModelUIName(model) if back_end == 'hp': - d = self.__tr("%1 Printer (%2)").arg(model).arg(idd) + d = self.__tr("%s Printer (%s)"%(model,idd)) elif back_end == 'hpaio': - d = self.__tr("%1 Scanner (%2)").arg(model).arg(idd) + d = self.__tr("%s Scanner (%s)"%(model,idd)) elif back_end == 'hpfax': - d = self.__tr("%1 Fax (%2)").arg(model).arg(idd) + d = self.__tr("%s Fax (%s)"%(model,idd)) else: - d = self.__tr("%1 (%2)").arg(model).arg(idd) + d = self.__tr("%s (%s)"%(model,idd)) if show_message: if have_pynotify and pynotify.init("hplip"): # Use libnotify/pynotify @@ -767,14 +770,16 @@ (getPynotifyIcon('info'), pynotify.URGENCY_NORMAL)) if event.job_id and event.title: - msg = "%s\n%s: %s\n(%s/%s)" % (unicode(d), desc, event.title, event.username, event.job_id) + msg = "%s\n%s: %s\n(%s/%s)" % (to_unicode(d), desc, event.title, event.username, event.job_id) log.debug("Notify: uri=%s desc=%s title=%s user=%s job_id=%d code=%d" % (event.device_uri, desc, event.title, event.username, event.job_id, event.event_code)) else: - msg = "%s\n%s (%s)" % (unicode(d), desc, event.event_code) + msg = "%s\n%s (%s)" % (to_unicode(d), desc, event.event_code) log.debug("Notify: uri=%s desc=%s code=%d" % (event.device_uri, desc, event.event_code)) n = pynotify.Notification("HPLIP Device Status", msg, icon) + # CRID: 11833 Debian Traceback error notification exceeded + n.set_hint('transient', True) n.set_urgency(urgency) if error_state == ERROR_STATE_ERROR: @@ -782,10 +787,7 @@ else: n.set_timeout(TRAY_MESSAGE_DELAY) - try: - n.show() - except: - log.error("Failed to show notification!") + n.show() else: # Use "standard" message bubbles icon = ERROR_STATE_TO_ICON.get(error_state, QSystemTrayIcon.Information) @@ -793,17 +795,13 @@ log.debug("Bubble: uri=%s desc=%s title=%s user=%s job_id=%d code=%d" % (event.device_uri, desc, event.title, event.username, event.job_id, event.event_code)) self.tray_icon.showMessage(self.__tr("HPLIP Device Status"), - QString("%1\n%2: %3\n(%4/%5)").\ - arg(d).\ - arg(desc).arg(event.title).\ - arg(event.username).arg(event.job_id), + QString("%s\n%s: %s\n(%s/%s)"%(d,desc, event.title,event.username,event.job_id)), icon, TRAY_MESSAGE_DELAY) else: log.debug("Bubble: uri=%s desc=%s code=%d" % (event.device_uri, desc, event.event_code)) self.tray_icon.showMessage(self.__tr("HPLIP Device Status"), - QString("%1\n%2 (%3)").arg(d).\ - arg(desc).arg(event.event_code), + QString("%s\n%s (%s)"%(d,desc,event.event_code)), icon, TRAY_MESSAGE_DELAY) else: @@ -828,7 +826,7 @@ try: app = SystemTrayApp(sys.argv, read_pipe) - except dbus.DBusException, e: + except dbus.DBusException as e: # No session bus log.debug("Caught exception: %s" % e) sys.exit(1) diff -Nru hplip-3.14.6/ui4/systrayframe.py hplip-3.15.2/ui4/systrayframe.py --- hplip-3.14.6/ui4/systrayframe.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/systrayframe.py 2015-01-29 12:20:15.000000000 +0000 @@ -22,7 +22,7 @@ # Local from base.g import * from base.codes import * -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * @@ -79,10 +79,10 @@ self.MessageShowComboBox = QComboBox(self.groupBox_3) self.gridlayout3.addWidget(self.MessageShowComboBox,1,0,1,1) - self.MessageShowComboBox.addItem(self.__tr("All"), QVariant(SYSTRAY_MESSAGES_SHOW_ALL)) - self.MessageShowComboBox.addItem(self.__tr("Errors and Warnings"), QVariant(SYSTRAY_MESSAGES_SHOW_ERRORS_AND_WARNINGS)) - self.MessageShowComboBox.addItem(self.__tr("Errors Only"), QVariant(SYSTRAY_MESSAGES_SHOW_ERRORS_ONLY)) - self.MessageShowComboBox.addItem(self.__tr("None"), QVariant(SYSTRAY_MESSAGES_SHOW_NONE)) + self.MessageShowComboBox.addItem(self.__tr("All"), SYSTRAY_MESSAGES_SHOW_ALL) + self.MessageShowComboBox.addItem(self.__tr("Errors and Warnings"), SYSTRAY_MESSAGES_SHOW_ERRORS_AND_WARNINGS) + self.MessageShowComboBox.addItem(self.__tr("Errors Only"), SYSTRAY_MESSAGES_SHOW_ERRORS_ONLY) + self.MessageShowComboBox.addItem(self.__tr("None"), SYSTRAY_MESSAGES_SHOW_NONE) spacerItem = QSpacerItem(20,40,QSizePolicy.Minimum,QSizePolicy.Minimum) self.gridlayout3.addItem(spacerItem,2,0,1,1) @@ -187,14 +187,16 @@ def updateMessages(self): - i = self.MessageShowComboBox.findData(QVariant(self.systray_messages)) + #i = self.MessageShowComboBox.findData(QVariant(self.systray_messages)) + i = self.MessageShowComboBox.findData(self.systray_messages) if i != -1: self.MessageShowComboBox.setCurrentIndex(i) def MessageShowComboBox_activated(self, i): sender = self.sender() - mode, ok = sender.itemData(i).toInt() + mode, ok = value_int(sender.itemData(i)) + if ok: self.systray_messages = mode diff -Nru hplip-3.14.6/ui4/ui_utils.py hplip-3.15.2/ui4/ui_utils.py --- hplip-3.14.6/ui4/ui_utils.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/ui_utils.py 2015-01-29 12:20:15.000000000 +0000 @@ -20,7 +20,6 @@ # # Std Lib -import os.path import re import os import time @@ -30,6 +29,7 @@ from base.codes import * from base import utils from prnt import cups +from base.sixext import PY3, to_unicode # Qt from PyQt4.QtCore import * @@ -65,13 +65,13 @@ name = ''.join([os.path.splitext(name)[0], '.png']) if subdir is None: - dir = prop.image_dir + image_dir = prop.image_dir ldir = os.path.join(os.getcwd(), 'data', 'images') else: - dir = os.path.join(prop.image_dir, subdir) + image_dir = os.path.join(prop.image_dir, subdir) ldir = os.path.join(os.getcwd(), 'data', 'images', subdir) - for d in [dir, ldir]: + for d in [image_dir, ldir]: f = os.path.join(d, name) if os.path.exists(f): if resize_to is not None: @@ -81,7 +81,7 @@ else: return QPixmap(f) - for w in utils.walkFiles(dir, recurse=True, abs_paths=True, return_folders=False, pattern=name): + for w in utils.walkFiles(image_dir, recurse=True, abs_paths=True, return_folders=False, pattern=name): if resize_to is not None: img = QImage(w) x, y = resize_to @@ -100,6 +100,54 @@ return "file://" + os.path.join(prop.image_dir, subdir, name) +def value_str(data): + if data is None: + return "" + try: + if not PY3: + data = data.toString() + except(ValueError, TypeError) as e: + log.warn("value_str() Failed to convert data: %s" % e) + + return data + + +def value_int(data): + i, ok = 0, False + if data is None: + return i, ok + try: + if PY3: + i = int(data) + ok = True + else: + i, ok = data.toInt() + except (ValueError,TypeError) as e: + log.warn("value_int() Failed to convert data[%s]:%s "%(data,e)) + + return i, ok + + +def value_bool( data ): + b = False + if data is None: + return b + try: + if PY3: + if type(data) == str and data.lower() in ['false', '0']: + b = False + elif data in [False, 0]: + b = False + else: + b= True + else: + b = data.toBool() + except (ValueError,TypeError) as e: + log.warn("value_bool() Failed to convert data :%s"%e) + + return b + + class UserSettings(QSettings): def __init__(self): @@ -139,7 +187,6 @@ return '' - def loadDefaults(self): self.cmd_scan = self.__setup(['xsane -V %SANE_URI%', 'kooka', 'xscanimage']) self.cmd_fab = self.__setup(['hp-fab']) @@ -150,63 +197,51 @@ self.sync() self.beginGroup("settings") - i, ok = self.value("systray_visible").toInt() - if ok: - self.systray_visible = i - - i, ok = self.value("systray_messages").toInt() - if ok: - self.systray_messages = i - + self.systray_visible = value_int(self.value("systray_visible"))[0] + + self.systray_messages = value_int(self.value("systray_messages"))[0] + self.endGroup() self.beginGroup("last_used") - self.last_used_device_uri = unicode(self.value("device_uri").toString()) or self.last_used_device_uri - self.last_used_printer = unicode(self.value("printer_name").toString()) or self.last_used_printer - self.working_dir = unicode(self.value("working_dir").toString()) or self.working_dir + self.last_used_device_uri = value_str(self.value("device_uri")) or self.last_used_device_uri + self.last_used_printer = value_str(self.value("printer_name")) or self.last_used_printer + self.working_dir = value_str(self.value("working_dir")) or self.working_dir self.endGroup() self.beginGroup("commands") - self.cmd_scan = unicode(self.value("scan").toString()) or self.cmd_scan + self.cmd_scan = value_str(self.value("scan")) or self.cmd_scan self.endGroup() self.beginGroup("refresh") - self.auto_refresh_rate = int(self.value("rate").toString() or self.auto_refresh_rate) - self.auto_refresh = bool(self.value("enable").toBool()) - self.auto_refresh_type = int(self.value("type").toString() or self.auto_refresh_type) + self.auto_refresh_rate = value_int(self.value("rate"))[0] or int(self.auto_refresh_rate) + self.auto_refresh = value_bool(self.value("enable")) + self.auto_refresh_type = value_int(self.value("type"))[0] or int(self.auto_refresh_type) self.endGroup() self.beginGroup("installation") - self.version = unicode(self.value("version").toString()) - self.date_time = unicode(self.value("date_time").toString()) + self.version = value_str(self.value("version")) + self.date_time = value_str(self.value("date_time")) self.endGroup() self.beginGroup("polling") - self.polling = bool(self.value("enable").toBool()) - self.polling_interval = int(self.value("interval").toString() or self.polling_interval) - self.polling_device_list = unicode(self.value("device_list").toString() or '').split(u',') + self.polling = value_bool(self.value("enable")) + self.polling_interval = value_int(self.value("interval"))[0] or int(self.polling_interval) + self.polling_device_list = to_unicode(value_str(self.value("device_list"))).split(to_unicode(',')) self.endGroup() self.beginGroup("fax") - self.voice_phone = unicode(self.value("voice_phone").toString()) - self.email_address = unicode(self.value("email_address").toString()) + self.voice_phone = value_str(self.value("voice_phone")) + self.email_address = to_unicode(value_str(self.value("email_address"))) self.endGroup() self.beginGroup("upgrade") - self.upgrade_notify= bool(self.value("notify_upgrade").toBool()) - self.latest_available_version=str(self.value("latest_available_version").toString()) - - i, Ok = self.value("last_upgraded_time").toInt() - if Ok and i >0: - self.upgrade_last_update_time =i - else: - self.upgrade_last_update_time = 0 - - i, Ok = self.value("pending_upgrade_time").toInt() - if Ok and i >0 : - self.upgrade_pending_update_time = i - else: - self.upgrade_pending_update_time = 0 + self.upgrade_notify= value_bool(self.value("notify_upgrade")) + self.latest_available_version=value_str(self.value("latest_available_version")) + + self.upgrade_last_update_time = value_int(self.value("last_upgraded_time"))[0] + + self.upgrade_pending_update_time = value_int(self.value("pending_upgrade_time"))[0] self.endGroup() @@ -215,44 +250,44 @@ log.debug("Saving user settings...") self.beginGroup("settings") - self.setValue("systray_visible", QVariant(self.systray_visible)) - self.setValue("systray_messages", QVariant(self.systray_messages)) + self.setValue("systray_visible", self.systray_visible) + self.setValue("systray_messages", self.systray_messages) self.endGroup() self.beginGroup("last_used") - self.setValue("device_uri", QVariant(self.last_used_device_uri)) - self.setValue("printer_name", QVariant(self.last_used_printer)) - self.setValue("working_dir", QVariant(self.working_dir)) + self.setValue("device_uri", self.last_used_device_uri) + self.setValue("printer_name", self.last_used_printer) + self.setValue("working_dir", self.working_dir) self.endGroup() self.beginGroup("commands") - self.setValue("scan", QVariant(self.cmd_scan)) + self.setValue("scan", self.cmd_scan) self.endGroup() self.beginGroup("refresh") - self.setValue("rate", QVariant(self.auto_refresh_rate)) - self.setValue("enable", QVariant(self.auto_refresh)) - self.setValue("type", QVariant(self.auto_refresh_type)) + self.setValue("rate", self.auto_refresh_rate) + self.setValue("enable", self.auto_refresh) + self.setValue("type", self.auto_refresh_type) self.endGroup() self.beginGroup("polling") - self.setValue("enable", QVariant(self.polling)) - self.setValue("interval", QVariant(self.polling_interval)) - self.setValue("device_list", QVariant(u','.join(self.polling_device_list))) + self.setValue("enable", self.polling) + self.setValue("interval", self.polling_interval) + self.setValue("device_list", (to_unicode(',').join(self.polling_device_list))) self.endGroup() self.beginGroup("fax") - self.setValue("voice_phone", QVariant(self.voice_phone)) - self.setValue("email_address", QVariant(self.email_address)) + self.setValue("voice_phone", self.voice_phone) + self.setValue("email_address", self.email_address) self.endGroup() self.beginGroup("upgrade") - self.setValue("notify_upgrade", QVariant(self.upgrade_notify)) + self.setValue("notify_upgrade", self.upgrade_notify) if self.upgrade_last_update_time <1: - self.upgrade_last_update_time = time.time() # <---Need to verify code once + self.upgrade_last_update_time = int(time.time()) # <---Need to verify code once - self.setValue("last_upgraded_time", QVariant(self.upgrade_last_update_time)) - self.setValue("pending_upgrade_time", QVariant(self.upgrade_pending_update_time)) + self.setValue("last_upgraded_time", self.upgrade_last_update_time) + self.setValue("pending_upgrade_time", self.upgrade_pending_update_time) self.endGroup() @@ -276,7 +311,7 @@ def FailureUI(parent, error_text, title_text=None): - log.error(pat_html_remove.sub(' ', unicode(error_text))) + log.error(pat_html_remove.sub(' ', to_unicode(error_text))) if title_text is None: if parent is not None: @@ -295,7 +330,7 @@ def WarningUI(parent, warn_text, title_text=None): - log.warn(pat_html_remove.sub(' ', unicode(warn_text))) + log.warn(pat_html_remove.sub(' ', to_unicode(warn_text))) if title_text is None: if parent is not None: @@ -315,7 +350,7 @@ def SuccessUI(parent, text, title_text=None): - log.info(pat_html_remove.sub(' ', unicode(text))) + log.info(pat_html_remove.sub(' ', to_unicode(text))) if title_text is None: if parent is not None: @@ -345,21 +380,26 @@ def __init__(self, parent=None): QValidator.__init__(self, parent) - def validate(self, input, pos): - input = unicode(input) - - if not input: - return QValidator.Acceptable, pos - - if input[pos-1] in cups.INVALID_PRINTER_NAME_CHARS: - return QValidator.Invalid, pos + def validate(self, input_data, pos): + returnCode = QValidator.Invalid + input_data = to_unicode(input_data) + + if not input_data: + returnCode = QValidator.Acceptable + elif input_data[pos-1] in cups.INVALID_PRINTER_NAME_CHARS: + returnCode = QValidator.Invalid + else: + returnCode = QValidator.Acceptable # TODO: How to determine if unicode char is "printable" and acceptable # to CUPS? - #elif input != utils.printable(input): + #elif input_data != utils.printable(input_data): # return QValidator.Invalid, pos - - return QValidator.Acceptable, pos + + if PY3: + return returnCode, input_data, pos + else: + return returnCode, pos @@ -367,16 +407,21 @@ def __init__(self, parent=None): QValidator.__init__(self, parent) - def validate(self, input, pos): - input = unicode(input) - - if not input: - return QValidator.Acceptable, pos - - if input[pos-1] not in u'0123456789-(+).,#* ': - return QValidator.Invalid, pos + def validate(self, input_data, pos): + returnCode = QValidator.Invalid + input_data = to_unicode(input_data) + + if not input_data: + returnCode = QValidator.Acceptable + elif input_data[pos-1] not in to_unicode('0123456789-(+).,#* '): + returnCode = QValidator.Invalid + else: + returnCode = QValidator.Acceptable - return QValidator.Acceptable, pos + if PY3: + return returnCode, input_data, pos + else: + return returnCode, pos class AddressBookNameValidator(QValidator): @@ -384,19 +429,23 @@ QValidator.__init__(self, parent) self.db = db - def validate(self, input, pos): - input = unicode(input) - - if not input: - return QValidator.Acceptable, pos - - if input in self.db.get_all_names(): - return QValidator.Invalid, pos - - if input[pos-1] in u'''|\\/"''': # | is the drag 'n drop separator - return QValidator.Invalid, pos + def validate(self, input_data, pos): + returnCode = QValidator.Invalid + input_data = to_unicode(input_data) + + if not input_data: + returnCode = QValidator.Acceptable + elif input_data in self.db.get_all_names(): + returnCode = QValidator.Invalid + elif input_data[pos-1] in to_unicode('''|\\/"'''): # | is the drag 'n drop separator + returnCode = QValidator.Invalid + else: + returnCode = QValidator.Acceptable - return QValidator.Acceptable, pos + if PY3: + return returnCode, input_data, pos + else: + return returnCode, pos @@ -511,7 +560,7 @@ t1.setTime_t(int(past)) t2 = QDateTime.currentDateTime() delta = t1.secsTo(t2) - return __translate("(%1 ago)").arg(stringify(delta)) + return __translate("(%s ago)"%stringify(delta)) # "Nicely readable timedelta" @@ -541,13 +590,13 @@ try: i18n_amount = NUM_REPRS[amount] except KeyError: - i18n_amount = unicode(amount) + i18n_amount = to_unicode(amount) if amount == 1: i18n_unit = UNIT_NAMES[unit_name][0] else: i18n_unit = UNIT_NAMES[unit_name][1] - return QString("%1 %2").arg(i18n_amount).arg(i18n_unit) + return QString("%s %s"%(i18n_amount, i18n_unit)) diff -Nru hplip-3.14.6/ui4/upgradedialog.py hplip-3.15.2/ui4/upgradedialog.py --- hplip-3.14.6/ui4/upgradedialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/upgradedialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -27,14 +27,14 @@ # Local from base.g import * from base import device, utils, pkit, os_utils -from ui_utils import * +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from upgradedialog_base import Ui_Dialog +from .upgradedialog_base import Ui_Dialog MANUAL_INSTALL_LINK = "http://hplipopensource.com/hplip-web/install/manual/index.html" @@ -101,7 +101,7 @@ else: log.debug("HPLIP Upgrade, selected Install radiobutton distro_type=%d" %self.distro_tier) self.NextButton.setEnabled(False) - if self.distro_tier != 1: # not tier 1 distro + if self.distro_tier != 1: # not tier 1 distro log.debug("OK pressed for tier 2 distro pressed") utils.openURL(MANUAL_INSTALL_LINK) diff -Nru hplip-3.14.6/ui4/wifisetupdialog_base.py hplip-3.15.2/ui4/wifisetupdialog_base.py --- hplip-3.14.6/ui4/wifisetupdialog_base.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/wifisetupdialog_base.py 2015-01-29 12:20:15.000000000 +0000 @@ -719,4 +719,4 @@ self.NextButton.setText(QtGui.QApplication.translate("Dialog", "Next >", None, QtGui.QApplication.UnicodeUTF8)) self.CancelButton.setText(QtGui.QApplication.translate("Dialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8)) -from readonlyradiobutton import ReadOnlyRadioButton +from .readonlyradiobutton import ReadOnlyRadioButton diff -Nru hplip-3.14.6/ui4/wifisetupdialog.py hplip-3.15.2/ui4/wifisetupdialog.py --- hplip-3.14.6/ui4/wifisetupdialog.py 2014-06-03 06:31:26.000000000 +0000 +++ hplip-3.15.2/ui4/wifisetupdialog.py 2015-01-29 12:20:15.000000000 +0000 @@ -25,16 +25,17 @@ # Local from base.g import * -from base import device, utils, models, wifi, LedmWifi +from base import device, models, wifi, LedmWifi from base.codes import * -from ui_utils import * +from base.sixext import to_unicode +from .ui_utils import * # Qt from PyQt4.QtCore import * from PyQt4.QtGui import * # Ui -from wifisetupdialog_base import Ui_Dialog +from .wifisetupdialog_base import Ui_Dialog @@ -182,7 +183,7 @@ if len(self.devices) == 1: self.DevicesFoundLabel.setText(self.__tr("1 wireless capable device found. Click Next to continue.")) else: - self.DevicesFoundLabel.setText(self.__tr("%1 wireless capable devices found. Select the device to install and click Next to continue.").arg(len(self.devices))) + self.DevicesFoundLabel.setText(self.__tr("%s wireless capable devices found. Select the device to install and click Next to continue." % len(self.devices))) self.loadDevicesTable() @@ -254,8 +255,8 @@ if self.dev is None: try: self.dev = device.Device(self.device_uri) - except Error, e: - FailureUI(self, self.__tr("Error opening device:

%1

(%2)

").arg(self.device_uri).arg(QString(e[0]))) + except Error as e: + FailureUI(self, self.__tr("Error opening device:

%s

(%s)

") %(self.device_uri, QString(e[0]))) if self.dev is not None: self.dev.close() @@ -268,7 +269,7 @@ try: adaptor_list = self.wifiObj.getWifiAdaptorID(self.dev) - except Error, e: + except Error as e: self.showIOError(e) return @@ -282,7 +283,7 @@ log.debug("Turning on wireless radio...") try: self.adaptor_id, self.adapterName, state, presence = self.wifiObj.setAdaptorPower(self.dev, adaptor_list ) - except Error, e: + except Error as e: self.showIOError(e) return if self.adaptor_id == -1: @@ -302,26 +303,24 @@ def performScan(self): beginWaitCursor() - error = False try: - self.ssid = unicode(self.SSIDLineEdit.text()) + self.ssid = to_unicode(self.SSIDLineEdit.text()) if self.directed and self.ssid: try: self.networks = self.wifiObj.performScan(self.dev, self.adapterName, self.ssid) - except Error, e: + except Error as e: self.showIOError(e) return else: try: self.networks = self.wifiObj.performScan(self.dev, self.adapterName) - except Error, e: + except Error as e: self.showIOError(e) return finally: self.dev.close() endWaitCursor() - - self.num_networks = self.networks.get('numberofscanentries') + self.num_networks = self.networks['numberofscanentries'] self.clearNetworksTable() if self.num_networks: @@ -331,7 +330,7 @@ if self.num_networks == 1: self.NetworksFoundLabel.setText(self.__tr("1 wireless network found. If the wireless network you would like to connect to is not listed, try entering a wireless network name and/or press Search to search again.")) else: - self.NetworksFoundLabel.setText(self.__tr("%1 wireless networks found. If the wireless network you would like to connect to is not listed, try entering a wireless network name and/or press Search to search again.").arg(self.num_networks)) + self.NetworksFoundLabel.setText(self.__tr("%d wireless networks found. If the wireless network you would like to connect to is not listed, try entering a wireless network name and/or press Search to search again." %self.num_networks)) self.loadNetworksTable() @@ -363,12 +362,12 @@ def loadNetworksTable(self): - self.n, self.network = 0, u'' + self.n, self.network = 0, to_unicode('') if self.num_networks: beginWaitCursor() try: if self.show_extended: - for n in xrange(self.num_networks): + for n in range(self.num_networks): bssid = self.networks['bssid-%d' % n] ss = self.networks['signalstrength-%d' % n] try: @@ -397,8 +396,7 @@ self.NetworksTableWidget.setColumnCount(len(headers)) self.NetworksTableWidget.setHorizontalHeaderLabels(headers) enabled_flags = Qt.ItemIsSelectable | Qt.ItemIsEnabled - - for n in xrange(self.num_networks): + for n in range(self.num_networks): name = self.networks['ssid-%d' % n] if name == '(unknown)': @@ -426,14 +424,14 @@ i = QTableWidgetItem(QString(name)) if flags is not None: i.setFlags(flags) - i.setData(Qt.UserRole, QVariant(n)) + i.setData(Qt.UserRole, n) self.NetworksTableWidget.setItem(n, 0, i) pixmap = load_pixmap('signal%d' % ss, 'other') if self.show_extended: - i = QTableWidgetItem(QIcon(pixmap), self.__tr("%1/5 (%2 dBm)").arg(ss).arg(dbm)) + i = QTableWidgetItem(QIcon(pixmap), self.__tr("%s/5 (%s dBm)" %(ss, dbm))) else: - i = QTableWidgetItem(QIcon(pixmap), self.__tr("%1/5").arg(ss)) + i = QTableWidgetItem(QIcon(pixmap), self.__tr("%s/5" % ss)) if flags is not None: i.setFlags(flags) self.NetworksTableWidget.setItem(n, 1, i) @@ -458,7 +456,7 @@ if flags is not None: i.setFlags(flags) self.NetworksTableWidget.setItem(n, 6, i) - i = QTableWidgetItem(QString("%1/%2").arg(lat).arg(lng)) + i = QTableWidgetItem(QString("%s/%s" % (lat, lng))) if flags is not None: i.setFlags(flags) self.NetworksTableWidget.setItem(n, 7, i) @@ -480,7 +478,7 @@ def NetworksTableWidget_itemSelectionChanged(self): row = self.NetworksTableWidget.currentRow() item = self.NetworksTableWidget.item(row, 0) - n, ok = item.data(Qt.UserRole).toInt() + n, ok = value_int(item.data(Qt.UserRole)) if ok: sec = self.networks['encryptiontype-%d' % n] if sec.lower() == 'none': @@ -568,7 +566,7 @@ vsa_codes = self.wifiObj.getVSACodes(self.dev, self.adapterName) ss_max, ss_min, ss_val, ss_dbm = self.wifiObj.getSignalStrength(self.dev, self.adapterName,self.network, self.adaptor_id) self.hn = self.wifiObj.getHostname(self.dev) - except Error, e: + except Error as e: self.showIOError(e) return finally: @@ -587,22 +585,19 @@ self.pages = [] if self.success == SUCCESS_NOT_CONNECTED: - self.pages.append((self.__tr("Your printer has not been connected to the wireless network. A valid connection to a wireless network can take up to 2 minutes. This screen will automatically refresh every %1 seconds.

If your printer fails to connect within a reasonable time, there may be a problem with your configuration.").arg(REFRESH_INTERVAL), load_pixmap('error', '16x16'))) + self.pages.append((self.__tr("Your printer has not been connected to the wireless network. A valid connection to a wireless network can take up to 2 minutes. This screen will automatically refresh every %s seconds.

If your printer fails to connect within a reasonable time, there may be a problem with your configuration." % REFRESH_INTERVAL), load_pixmap('error', '16x16'))) self.RefreshTimer.start(REFRESH_INTERVAL * 1000) elif self.success == SUCCESS_AUTO_IP: # self.pages.append((self.__tr("Your printer has been connected to the wireless network, but it has been assigned an address which may not be usable."), load_pixmap('warning', '16x16'))) - self.pages.append((self.__tr("Your printer has been connected to the wireless network and has been assinged a IP. Now run

hp-setup %1
If IP is not accessible, try again for another IP.").arg(QString(self.ip)), load_pixmap('warning', '16x16'))) + self.pages.append((self.__tr("Your printer has been connected to the wireless network and has been assinged a IP. Now run
hp-setup %s
If IP is not accessible, try again for another IP."%self.ip), load_pixmap('warning', '16x16'))) # self.RefreshTimer.start(REFRESH_INTERVAL * 1000) self.CancelButton.setEnabled(False) self.BackButton.setEnabled(False) self.RefreshTimer.stop() else: # SUCCESS_CONNECTED - if self.standalone: - self.pages.append((self.__tr("Your printer has been successfully configured on the wireless network. You may now unplug the USB cable. To setup the printer, now run
hp-setup %s
"%self.ip), load_pixmap('info', '16x16'))) - else: - self.pages.append((self.__tr("Your printer has been successfully configured on the wireless network. You may now unplug the USB cable."), load_pixmap('info', '16x16'))) + self.pages.append((self.__tr("Your printer has been successfully configured on the wireless network. You may now unplug the USB cable. To setup the printer, now run
hp-setup %s
"%self.ip), load_pixmap('info', '16x16'))) self.CancelButton.setEnabled(False) self.BackButton.setEnabled(False) self.RefreshTimer.stop() @@ -622,7 +617,7 @@ self.DNSLabel.setText(QString(pridns)) self.NextButton.setEnabled(True) - self.SignalStrengthLabel.setText(QString("%1/%2 (%3 dBm)").arg(ss_val).arg(ss_max).arg(ss_dbm)) + self.SignalStrengthLabel.setText(QString("%s/%s (%s dBm)" % (ss_val, ss_max, ss_dbm))) self.SignalStrengthIcon.setPixmap(load_pixmap('signal%d' % ss_val, 'other')) for c, s in vsa_codes: @@ -648,7 +643,7 @@ self.PageSpinBox.setValue(1) self.PageLabel.setEnabled(num_pages>1) self.PageLabel2.setEnabled(num_pages>1) - self.PageLabel.setText(self.__tr("of %1").arg(num_pages)) + self.PageLabel.setText(self.__tr("of %s", str(num_pages))) self.page_index = 0 self.ExitLabel.setText(self.pages[self.page_index][0]) self.ExitIcon.setPixmap(self.pages[self.page_index][1]) @@ -669,12 +664,12 @@ # ASSOCIATE # - def associate(self, key=u''): + def associate(self, key=to_unicode('')): beginWaitCursor() try: try: alg, mode, secretid = self.wifiObj.getCryptoSuite(self.dev, self.adapterName) - except Error, e: + except Error as e: self.showIOError(e) return @@ -686,8 +681,8 @@ beginWaitCursor() try: try: - ret = self.wifiObj.associate(self.dev, self.adapterName, self.network, self.mode, self.security, key) - except Error, e: + self.wifiObj.associate(self.dev, self.adapterName, self.network, self.mode, self.security, key) + except Error as e: self.showIOError(e) return finally: @@ -723,9 +718,9 @@ if row != -1: i = self.NetworksTableWidget.item(row, 0) if i is not None: - self.network = unicode(i.text()) + self.network = to_unicode(i.text()) log.debug("Selected network SSID: %s" % self.network) - self.n, ok = i.data(Qt.UserRole).toInt() + self.n, ok = value_int(i.data(Qt.UserRole)) if ok: self.security = self.networks['encryptiontype-%d' % self.n] log.debug("Security: %s" % self.security) @@ -745,7 +740,7 @@ self.showExitPage() elif p == PAGE_CONFIGURE_WIFI: - key = unicode(self.KeyLineEdit.text()) + key = to_unicode(self.KeyLineEdit.text()) self.associate(key) self.showAssociateProgressDialog() self.showExitPage() @@ -833,11 +828,11 @@ def updateStepText(self, p): - self.StepText.setText(self.__tr("Step %1 of %2").arg(p+1).arg(self.max_page+1)) + self.StepText.setText(self.__tr("Step %s of %s" % (p+1, self.max_page+1))) def showIOError(self, e): - FailureUI(self, self.__tr("An I/O error occurred.

Please check the USB connection to your printer and try again.

(%1)").arg(QString(e[0]))) + FailureUI(self, self.__tr("An I/O error occurred.

Please check the USB connection to your printer and try again.

(%s)" % QString(e[0]))) if self.dev is not None: self.dev.close() @@ -856,5 +851,3 @@ else: self.wifiObj = wifi - - diff -Nru hplip-3.14.6/uninstall.py hplip-3.15.2/uninstall.py --- hplip-3.14.6/uninstall.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/uninstall.py 2015-01-29 12:20:49.000000000 +0000 @@ -19,7 +19,7 @@ # # Author: Amarnath Chitumalla # - +from __future__ import print_function __version__ = '1.0' __title__ = 'HPLIP Uninstaller' __mod__ = 'hp-uninstall' @@ -64,7 +64,7 @@ opts, args = getopt.getopt(sys.argv[1:], 'hl:gn', ['help', 'help-rest', 'help-man', 'help-desc', 'gui', 'lang=','logging=', 'debug']) -except getopt.GetoptError, e: +except getopt.GetoptError as e: log.error(e.msg) usage() sys.exit(1) @@ -86,7 +86,7 @@ language = a.lower() elif o == '--help-desc': - print __doc__, + print(__doc__, end=' ') sys.exit(0) elif o in ('-l', '--logging'): diff -Nru hplip-3.14.6/unload.py hplip-3.15.2/unload.py --- hplip-3.14.6/unload.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/unload.py 2015-01-29 12:20:49.000000000 +0000 @@ -71,7 +71,7 @@ # Command definitions def do_hist(self, args): """Print a list of commands that have been entered""" - print self._hist + print(self._hist) def do_exit(self, args): """Exits from the console""" @@ -109,7 +109,7 @@ Despite the claims in the Cmd documentaion, Cmd.postloop() is not a stub. """ cmd.Cmd.postloop(self) # Clean up command completion - print "Exiting..." + print("Exiting...") def precmd(self, line): """ This method is called after the line has been input but before @@ -130,7 +130,7 @@ pass def default(self, line): - print log.bold("ERROR: Unrecognized command. Use 'help' to list commands.") + print(log.bold("ERROR: Unrecognized command. Use 'help' to list commands.")) def do_ldir(self, args): """ List local directory contents.""" @@ -158,22 +158,22 @@ ) ) - print - print log.bold(formatter.compose(("Name", "Size", "Type"))) + print() + print(log.bold(formatter.compose(("Name", "Size", "Type")))) num_files = 0 for d in self.pc.current_directories(): if d[0] in ('.', '..'): - print formatter.compose((d[0], "", "directory")) + print(formatter.compose((d[0], "", "directory"))) else: - print formatter.compose((d[0] + "/", "", "directory")) + print(formatter.compose((d[0] + "/", "", "directory"))) for f in self.pc.current_files(): - print formatter.compose((f[0], utils.format_bytes(f[2]), self.pc.classify_file(f[0]))) + print(formatter.compose((f[0], utils.format_bytes(f[2]), self.pc.classify_file(f[0])))) num_files += 1 total_size += f[2] - print log.bold("% d files, %s" % (num_files, utils.format_bytes(total_size, True))) + print(log.bold("% d files, %s" % (num_files, utils.format_bytes(total_size, True)))) def do_df(self, args): @@ -188,7 +188,7 @@ else: fs = utils.commafy(freespace) - print "Freespace = %s Bytes" % fs + print("Freespace = %s Bytes" % fs) def do_cp(self, args, remove_after_copy=False): @@ -204,11 +204,11 @@ matched_files = self.pc.match_files(args) if len(matched_files) == 0: - print "ERROR: File(s) not found." + print("ERROR: File(s) not found.") else: total, delta = self.pc.cp_multiple(matched_files, remove_after_copy, self.cp_status_callback, self.rm_status_callback) - print log.bold("\n%s transfered in %d sec (%d KB/sec)" % (utils.format_bytes(total), delta, (total/1024)/(delta))) + print(log.bold("\n%s transfered in %d sec (%d KB/sec)" % (utils.format_bytes(total), delta, (total/1024)/(delta)))) def do_unload(self, args): """Unload all image files from photocard to current local directory. @@ -228,7 +228,7 @@ unload_list = self.pc.get_unload_list() - print + print() if len(unload_list) > 0: if '-p' in args: @@ -245,34 +245,34 @@ ) ) - print - print log.bold(formatter.compose(("Name", "Size", "Type"))) + print() + print(log.bold(formatter.compose(("Name", "Size", "Type")))) total = 0 for u in unload_list: - print formatter.compose(('%s' % u[0], utils.format_bytes(u[1]), '%s/%s' % (u[2], u[3]))) + print(formatter.compose(('%s' % u[0], utils.format_bytes(u[1]), '%s/%s' % (u[2], u[3])))) total += u[1] - print log.bold("Found %d files to unload, %s" % (len(unload_list), utils.format_bytes(total, True))) + print(log.bold("Found %d files to unload, %s" % (len(unload_list), utils.format_bytes(total, True)))) else: - print log.bold("Unloading %d files..." % len(unload_list)) + print(log.bold("Unloading %d files..." % len(unload_list))) total, delta, was_cancelled = self.pc.unload(unload_list, self.cp_status_callback, self.rm_status_callback, dont_remove) - print log.bold("\n%s unloaded in %d sec (%d KB/sec)" % (utils.format_bytes(total), delta, (total/1024)/delta)) + print(log.bold("\n%s unloaded in %d sec (%d KB/sec)" % (utils.format_bytes(total), delta, (total/1024)/delta))) else: - print "No image, audio, or video files found." + print("No image, audio, or video files found.") def cp_status_callback(self, src, trg, size): if size == 1: - print - print log.bold("Copying %s..." % src) + print() + print(log.bold("Copying %s..." % src)) else: - print "\nCopied %s to %s (%s)..." % (src, trg, utils.format_bytes(size)) + print("\nCopied %s to %s (%s)..." % (src, trg, utils.format_bytes(size))) def rm_status_callback(self, src): - print "Removing %s..." % src + print("Removing %s..." % src) @@ -287,7 +287,7 @@ matched_files = self.pc.match_files(args) if len(matched_files) == 0: - print "ERROR: File(s) not found." + print("ERROR: File(s) not found.") else: for f in matched_files: self.pc.rm(f, False) @@ -303,21 +303,21 @@ def do_lpwd(self, args): """Print name of local current/working directory.""" - print os.getcwd() + print(os.getcwd()) def do_lcd(self, args): """Change current local working directory.""" try: os.chdir(args.strip()) except OSError: - print log.bold("ERROR: Directory not found.") - print os.getcwd() + print(log.bold("ERROR: Directory not found.")) + print(os.getcwd()) def do_pwd(self, args): """Print name of photo card current/working directory Usage: \t>pwd""" - print self.pc.pwd() + print(self.pc.pwd()) def do_cd(self, args): """Change current working directory on photo card. @@ -342,10 +342,10 @@ matched_dirs = self.pc.match_dirs(args) if len(matched_dirs) == 0: - print "Directory not found" + print("Directory not found") elif len(matched_dirs) > 1: - print "Pattern matches more than one directory" + print("Pattern matches more than one directory") else: self.pc.cd(matched_dirs[0]) @@ -379,16 +379,16 @@ if self.pc.cache_state(): cache_info = self.pc.cache_info() - t = cache_info.keys() + t = list(cache_info.keys()) t.sort() - print + print() for s in t: - print "sector %d (%d hits)" % (s, cache_info[s]) + print("sector %d (%d hits)" % (s, cache_info[s])) - print log.bold("Total cache usage: %s (%s maximum)" % (utils.format_bytes(len(t)*512), utils.format_bytes(photocard.MAX_CACHE * 512))) - print log.bold("Total cache sectors: %s of %s" % (utils.commafy(len(t)), utils.commafy(photocard.MAX_CACHE))) + print(log.bold("Total cache usage: %s (%s maximum)" % (utils.format_bytes(len(t)*512), utils.format_bytes(photocard.MAX_CACHE * 512)))) + print(log.bold("Total cache sectors: %s of %s" % (utils.commafy(len(t)), utils.commafy(photocard.MAX_CACHE)))) else: - print "Cache is off." + print("Cache is off.") def do_sector(self, args): """Display sector data. @@ -400,25 +400,25 @@ try: sector = int(args) except ValueError: - print "Sector must be specified as a number" + print("Sector must be specified as a number") return if self.pc.cache_check(sector) > 0: - print "Cached sector" + print("Cached sector") - print repr(self.pc.sector(sector)) + print(repr(self.pc.sector(sector))) def do_tree(self, args): """Display photo card directory tree.""" tree = self.pc.tree() - print + print() self.print_tree(tree) def print_tree(self, tree, level=0): for d in tree: if type(tree[d]) == type({}): - print ''.join([' '*level*4, d, '/']) + print(''.join([' '*level*4, d, '/'])) self.print_tree(tree[d], level+1) @@ -429,21 +429,21 @@ def do_card(self, args): """Print info about photocard.""" - print - print "Device URI = %s" % self.pc.device.device_uri - print "Model = %s" % self.pc.device.model_ui - print "Working dir = %s" % self.pc.pwd() + print() + print("Device URI = %s" % self.pc.device.device_uri) + print("Model = %s" % self.pc.device.model_ui) + print("Working dir = %s" % self.pc.pwd()) disk_info = self.pc.info() - print "OEM ID = %s" % disk_info[0] - print "Bytes/sector = %d" % disk_info[1] - print "Sectors/cluster = %d" % disk_info[2] - print "Reserved sectors = %d" % disk_info[3] - print "Root entries = %d" % disk_info[4] - print "Sectors/FAT = %d" % disk_info[5] - print "Volume label = %s" % disk_info[6] - print "System ID = %s" % disk_info[7] - print "Write protected = %d" % disk_info[8] - print "Cached sectors = %s" % utils.commafy(len(self.pc.cache_info())) + print("OEM ID = %s" % disk_info[0]) + print("Bytes/sector = %d" % disk_info[1]) + print("Sectors/cluster = %d" % disk_info[2]) + print("Reserved sectors = %d" % disk_info[3]) + print("Root entries = %d" % disk_info[4]) + print("Sectors/FAT = %d" % disk_info[5]) + print("Volume label = %s" % disk_info[6]) + print("System ID = %s" % disk_info[7]) + print("Write protected = %d" % disk_info[8]) + print("Cached sectors = %s" % utils.commafy(len(self.pc.cache_info()))) def do_display(self, args): @@ -464,13 +464,13 @@ os.remove(temp_name) else: - print "File is not an image." + print("File is not an image.") elif len(matched_files) == 0: - print "File not found." + print("File not found.") else: - print "Only one file at a time may be specified for display." + print("Only one file at a time may be specified for display.") def do_show(self, args): """Synonym for the display command.""" @@ -507,15 +507,15 @@ os.remove(temp_file_name) else: - print "No thumbnail found." + print("No thumbnail found.") else: - print "Incorrect file type for thumbnail." + print("Incorrect file type for thumbnail.") elif len(matched_files) == 0: - print "File not found." + print("File not found.") else: - print "Only one file at a time may be specified for thumbnail display." + print("Only one file at a time may be specified for thumbnail display.") def do_thumb(self, args): """Synonym for the thumbnail command.""" @@ -542,24 +542,24 @@ ) ) - print - print log.bold(formatter.compose(("Tag", "Value"))) + print() + print(log.bold(formatter.compose(("Tag", "Value")))) - ee = exif_info.keys() + ee = list(exif_info.keys()) ee.sort() for e in ee: if e not in ('JPEGThumbnail', 'TIFFThumbnail', 'Filename'): #if e != 'EXIF MakerNote': - print formatter.compose((e, '%s' % exif_info[e])) + print(formatter.compose((e, '%s' % exif_info[e]))) #else: # print formatter.compose( ( e, ''.join( [ chr(x) for x in exif_info[e].values if chr(x) in string.printable ] ) ) ) else: - print "Incorrect file type for thumbnail." + print("Incorrect file type for thumbnail.") elif len(matched_files) == 0: - print "File not found." + print("File not found.") else: - print "Only one file at a time may be specified for thumbnail display." + print("Only one file at a time may be specified for thumbnail display.") def do_info(self, args): """Synonym for the exif command.""" @@ -571,10 +571,10 @@ def status_callback(src, trg, size): if size == 1: - print - print log.bold("Copying %s..." % src) + print() + print(log.bold("Copying %s..." % src)) else: - print "\nCopied %s to %s (%s)..." % (src, trg, utils.format_bytes(size)) + print("\nCopied %s to %s (%s)..." % (src, trg, utils.format_bytes(size))) @@ -609,9 +609,12 @@ device_uri = mod.getDeviceUri(device_uri, printer_name, filter={'pcard-type' : (operator.eq, 1)}) + if not device_uri: + sys.exit(1) + try: pc = photocard.PhotoCard( None, device_uri, printer_name ) - except Error, e: + except Error as e: log.error("Unable to start photocard session: %s" % e.msg) sys.exit(1) @@ -634,7 +637,7 @@ try: os.chdir(output_dir) except OSError: - print log.bold("ERROR: Output directory %s not found." % output_dir) + print(log.bold("ERROR: Output directory %s not found." % output_dir)) sys.exit(1) @@ -645,7 +648,7 @@ console . cmdloop() except KeyboardInterrupt: log.error("Aborted.") - except Exception, e: + except Exception as e: log.error("An error occured: %s" % e) finally: pc.umount() @@ -655,10 +658,10 @@ else: # NON_INTERACTIVE_MODE - print "Output directory is %s" % os.getcwd() + print("Output directory is %s" % os.getcwd()) try: unload_list = pc.get_unload_list() - print + print() if len(unload_list) > 0: @@ -674,19 +677,19 @@ ) ) - print - print log.bold(formatter.compose(("Name", "Size", "Type"))) + print() + print(log.bold(formatter.compose(("Name", "Size", "Type")))) total = 0 for u in unload_list: - print formatter.compose(('%s' % u[0], utils.format_bytes(u[1]), '%s/%s' % (u[2], u[3]))) + print(formatter.compose(('%s' % u[0], utils.format_bytes(u[1]), '%s/%s' % (u[2], u[3])))) total += u[1] - print log.bold("Found %d files to unload, %s\n" % (len(unload_list), utils.format_bytes(total, True))) - print log.bold("Unloading files...\n") + print(log.bold("Found %d files to unload, %s\n" % (len(unload_list), utils.format_bytes(total, True)))) + print(log.bold("Unloading files...\n")) total, delta, was_cancelled = pc.unload(unload_list, status_callback, None, True) - print log.bold("\n%s unloaded in %d sec (%d KB/sec)" % (utils.format_bytes(total), delta, (total/1024)/delta)) + print(log.bold("\n%s unloaded in %d sec (%d KB/sec)" % (utils.format_bytes(total), delta, (total/1024)/delta))) finally: diff -Nru hplip-3.14.6/upgrade.py hplip-3.15.2/upgrade.py --- hplip-3.14.6/upgrade.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/upgrade.py 2015-01-29 12:20:49.000000000 +0000 @@ -19,14 +19,14 @@ # # Author: Amarnath Chitumalla # - +from __future__ import print_function __version__ = '1.0' __title__ = 'HPLIP upgrade latest version' __mod__ = 'hp-upgrade' __doc__ = "HPLIP installer to upgrade to latest version." # Std Lib -import getopt, os, sys, re, time +import getopt, os, sys, re, time, datetime # Local from base.g import * @@ -67,13 +67,11 @@ DONOT_CLOSE_TERMINAL = False CURRENT_WORKING_DIR = '' - def hold_terminal(): if DONOT_CLOSE_TERMINAL: log.info("\n\nPlease close this terminal manually. ") try: while 1: - raw_input("") pass except KeyboardInterrupt: pass @@ -103,11 +101,10 @@ return ver try: - fp= file(hplip_version_file, 'r') + fp= open(hplip_version_file, 'r') except IOError: log.error("Failed to get hplip version since %s file is not found."%hplip_version_file) return ver - data = fp.read() for line in data.splitlines(): if pat.search(line): @@ -123,7 +120,7 @@ # get HPLIP version info from hplip_web.conf file sts, HPLIP_Ver_file = utils.download_from_network(HPLIP_VERSION_INFO_SOURCEFORGE_SITE) - if sts is True: + if sts == 0: hplip_version_conf = ConfigBase(HPLIP_Ver_file) HPLIP_latest_ver = hplip_version_conf.get("HPLIP","Latest_version","0.0.0") os.unlink(HPLIP_Ver_file) @@ -135,7 +132,7 @@ HPLIP_latest_ver="0.0.0" pat = re.compile(r"""The current version of the HPLIP solution is version (\d{1,}\.\d{1,}\.\d{1,}[a-z]{0,})\. \(.*""") sts, HPLIP_Ver_file = utils.download_from_network(HPLIP_WEB_SITE) - if sts is True: + if sts == 0: HPLIP_latest_ver = parse_HPLIP_version(HPLIP_Ver_file, pat) os.unlink(HPLIP_Ver_file) @@ -196,7 +193,9 @@ mod.parseStdOpts('hl:gniup:d:of:sw', ['notify','check','help', 'help-rest', 'help-man', 'help-desc', 'interactive', 'gui', 'lang=','logging=', 'debug'], handle_device_printer=False) -except getopt.GetoptError, e: + + +except getopt.GetoptError as e: log.error(e.msg) usage() @@ -221,7 +220,7 @@ language = a.lower() elif o == '--help-desc': - print __doc__, + print(__doc__, end=' ') clean_exit(0,False) elif o in ('-l', '--logging'): @@ -427,4 +426,3 @@ clean_exit(1) - diff -Nru hplip-3.14.6/wificonfig.py hplip-3.15.2/wificonfig.py --- hplip-3.14.6/wificonfig.py 2014-06-03 06:33:10.000000000 +0000 +++ hplip-3.15.2/wificonfig.py 2015-01-29 12:20:49.000000000 +0000 @@ -65,7 +65,6 @@ sys.exit(1) app = QApplication(sys.argv) - dlg = WifiSetupDialog(None, device_uri, standalone=True) dlg.show() try: