Module cups
[hide private]
[frames] | no frames]

Module cups

Classes [hide private]
Attribute
A PPD attribute.
Connection
A connection to the CUPS server.
Constraint
A PPD constraint.
Dest
A destination print queue, as returned by Connection.getDests.
Group
A PPD option group.
HTTPError
This exception is raised when an HTTP problem has occurred.
IPPAttribute
An IPP attribute.
IPPError
This exception is raised when an IPP error has occurred.
IPPRequest
An IPP request.
Option
A PPD option.
PPD
A PPD file.
Functions [hide private]
(conn, resource)
connectDest(dest, cb, flags=0, msec=-1, user_data=None)
Returns: a 2-tuple of the Connection object and the HTTP resource.
None
enumDests(cb, flags=0, msec=-1, type=0, mask=0, user_data=None)
integer
getEncryption()
Get encryption policy.
integer
getPort()
Returns: IPP port to connect to.
string
getServer()
Returns: server to connect to.
string
getUser()
Returns: user to connect as.
name
ippErrorString(statuscode)
Returns: a string describing the status code
name
ippOpString(op)
Returns: a string representing the operation name
integer
modelSort(s1, s2)
Sort two model strings.
None
ppdSetConformance(level)
Set PPD conformance level.
None
require(version)
Require pycups version.
None
setEncryption(policy)
Set encryption policy.
None
setPasswordCB(fn)
Set password callback function.
None
setPasswordCB2(fn, context=None)
Set password callback function.
None
setPort(port)
Set IPP port to connect to.
None
setServer(server)
Set server to connect to.
None
setUser(user)
Set user to connect as.
Variables [hide private]
  CUPS_DEST_FLAGS_CANCELED = 64
  CUPS_DEST_FLAGS_CONNECTING = 32
  CUPS_DEST_FLAGS_ERROR = 8
  CUPS_DEST_FLAGS_MORE = 2
  CUPS_DEST_FLAGS_NONE = 0
  CUPS_DEST_FLAGS_REMOVED = 4
  CUPS_DEST_FLAGS_RESOLVING = 16
  CUPS_DEST_FLAGS_UNCONNECTED = 1
  CUPS_FORMAT_AUTO = u'application/octet-stream'
  CUPS_FORMAT_COMMAND = u'application/vnd.cups-command'
  CUPS_FORMAT_PDF = u'application/pdf'
  CUPS_FORMAT_POSTSCRIPT = u'application/postscript'
  CUPS_FORMAT_RAW = u'application/vnd.cups-raw'
  CUPS_FORMAT_TEXT = u'text/plain'
  CUPS_PRINTER_AUTHENTICATED = 4194304
  CUPS_PRINTER_BIND = 1024
  CUPS_PRINTER_BW = 4
  CUPS_PRINTER_CLASS = 1
  CUPS_PRINTER_COLLATE = 128
  CUPS_PRINTER_COLOR = 8
  CUPS_PRINTER_COMMANDS = 8388608
  CUPS_PRINTER_COPIES = 64
  CUPS_PRINTER_COVER = 512
  CUPS_PRINTER_DEFAULT = 131072
  CUPS_PRINTER_DELETE = 1048576
  CUPS_PRINTER_DISCOVERED = 16777216
  CUPS_PRINTER_DUPLEX = 16
  CUPS_PRINTER_FAX = 262144
  CUPS_PRINTER_IMPLICIT = 65536
  CUPS_PRINTER_LARGE = 16384
  CUPS_PRINTER_LOCAL = 0
  CUPS_PRINTER_MEDIUM = 8192
  CUPS_PRINTER_NOT_SHARED = 2097152
  CUPS_PRINTER_OPTIONS = 458748
  CUPS_PRINTER_PUNCH = 256
  CUPS_PRINTER_REJECTING = 524288
  CUPS_PRINTER_REMOTE = 2
  CUPS_PRINTER_SMALL = 4096
  CUPS_PRINTER_SORT = 2048
  CUPS_PRINTER_STAPLE = 32
  CUPS_PRINTER_VARIABLE = 32768
  CUPS_SERVER_DEBUG_LOGGING = u'_debug_logging'
  CUPS_SERVER_REMOTE_ADMIN = u'_remote_admin'
  CUPS_SERVER_REMOTE_ANY = u'_remote_any'
  CUPS_SERVER_REMOTE_PRINTERS = u'_remote_printers'
  CUPS_SERVER_SHARE_PRINTERS = u'_share_printers'
  CUPS_SERVER_USER_CANCEL_ANY = u'_user_cancel_any'
  HTTP_AUTHORIZATION_CANCELED = 1000
  HTTP_BAD_GATEWAY = 502
  HTTP_BAD_REQUEST = 400
  HTTP_ENCRYPT_ALWAYS = 3
  HTTP_ENCRYPT_IF_REQUESTED = 0
  HTTP_ENCRYPT_NEVER = 1
  HTTP_ENCRYPT_REQUIRED = 2
  HTTP_ERROR = -1
  HTTP_FORBIDDEN = 403
  HTTP_GATEWAY_TIMEOUT = 504
  HTTP_NOT_FOUND = 404
  HTTP_NOT_IMPLEMENTED = 501
  HTTP_NOT_MODIFIED = 304
  HTTP_NOT_SUPPORTED = 505
  HTTP_OK = 200
  HTTP_PKI_ERROR = 1001
  HTTP_REQUEST_TIMEOUT = 408
  HTTP_SERVER_ERROR = 500
  HTTP_SERVICE_UNAVAILABLE = 503
  HTTP_STATUS_BAD_GATEWAY = 502
  HTTP_STATUS_BAD_REQUEST = 400
  HTTP_STATUS_CUPS_AUTHORIZATION_CANCELED = 1000
  HTTP_STATUS_CUPS_PKI_ERROR = 1001
  HTTP_STATUS_ERROR = -1
  HTTP_STATUS_FORBIDDEN = 403
  HTTP_STATUS_GATEWAY_TIMEOUT = 504
  HTTP_STATUS_NOT_FOUND = 404
  HTTP_STATUS_NOT_IMPLEMENTED = 501
  HTTP_STATUS_NOT_MODIFIED = 304
  HTTP_STATUS_NOT_SUPPORTED = 505
  HTTP_STATUS_OK = 200
  HTTP_STATUS_REQUEST_TIMEOUT = 408
  HTTP_STATUS_SERVER_ERROR = 500
  HTTP_STATUS_SERVICE_UNAVAILABLE = 503
  HTTP_STATUS_UNAUTHORIZED = 401
  HTTP_STATUS_UPGRADE_REQUIRED = 426
  HTTP_UNAUTHORIZED = 401
  HTTP_UPGRADE_REQUIRED = 426
  IPP_ATTRIBUTE = 2
  IPP_ATTRIBUTES = 1035
  IPP_ATTRIBUTES_NOT_SETTABLE = 1043
  IPP_AUTHENTICATION_CANCELED = 4096
  IPP_BAD_REQUEST = 1024
  IPP_CHARSET = 1037
  IPP_COMPRESSION_ERROR = 1040
  IPP_COMPRESSION_NOT_SUPPORTED = 1039
  IPP_CONFLICT = 1038
  IPP_CREATE_JOB_SUBSCRIPTION = 23
  IPP_CREATE_PRINTER_SUBSCRIPTION = 22
  IPP_DATA = 3
  IPP_DEVICE_ERROR = 1284
  IPP_DOCUMENT_ACCESS_ERROR = 1042
  IPP_DOCUMENT_FORMAT = 1034
  IPP_DOCUMENT_FORMAT_ERROR = 1041
  IPP_ERROR = -1
  IPP_ERROR_JOB_CANCELED = 1288
  IPP_FINISHINGS_BALE = 12
  IPP_FINISHINGS_BIND = 7
  IPP_FINISHINGS_BIND_BOTTOM = 53
  IPP_FINISHINGS_BIND_LEFT = 50
  IPP_FINISHINGS_BIND_RIGHT = 52
  IPP_FINISHINGS_BIND_TOP = 51
  IPP_FINISHINGS_BOOKLET_MAKER = 13
  IPP_FINISHINGS_COVER = 6
  IPP_FINISHINGS_EDGE_STITCH = 9
  IPP_FINISHINGS_EDGE_STITCH_BOTTOM = 27
  IPP_FINISHINGS_EDGE_STITCH_LEFT = 24
  IPP_FINISHINGS_EDGE_STITCH_RIGHT = 26
  IPP_FINISHINGS_EDGE_STITCH_TOP = 25
  IPP_FINISHINGS_FOLD = 10
  IPP_FINISHINGS_JOB_OFFSET = 14
  IPP_FINISHINGS_NONE = 3
  IPP_FINISHINGS_PUNCH = 5
  IPP_FINISHINGS_SADDLE_STITCH = 8
  IPP_FINISHINGS_STAPLE = 4
  IPP_FINISHINGS_STAPLE_BOTTOM_LEFT = 21
  IPP_FINISHINGS_STAPLE_BOTTOM_RIGHT = 23
  IPP_FINISHINGS_STAPLE_DUAL_BOTTOM = 31
  IPP_FINISHINGS_STAPLE_DUAL_LEFT = 28
  IPP_FINISHINGS_STAPLE_DUAL_RIGHT = 30
  IPP_FINISHINGS_STAPLE_DUAL_TOP = 29
  IPP_FINISHINGS_STAPLE_TOP_LEFT = 20
  IPP_FINISHINGS_STAPLE_TOP_RIGHT = 22
  IPP_FINISHINGS_TRIM = 11
  IPP_FORBIDDEN = 1025
  IPP_GONE = 1031
  IPP_HEADER = 1
  IPP_IDLE = 0
  IPP_IGNORED_ALL_NOTIFICATIONS = 1046
  IPP_IGNORED_ALL_SUBSCRIPTIONS = 1044
  IPP_INTERNAL_ERROR = 1280
  IPP_JOB_ABORTED = 8
  IPP_JOB_CANCELED = 7
  IPP_JOB_COMPLETED = 9
  IPP_JOB_HELD = 4
  IPP_JOB_PENDING = 3
  IPP_JOB_PROCESSING = 5
  IPP_JOB_STOPPED = 6
  IPP_LANDSCAPE = 4
  IPP_MAX_NAME = 256
  IPP_MULTIPLE_JOBS_NOT_SUPPORTED = 1289
  IPP_NOT_ACCEPTING = 1286
  IPP_NOT_AUTHENTICATED = 1026
  IPP_NOT_AUTHORIZED = 1027
  IPP_NOT_FOUND = 1030
  IPP_NOT_POSSIBLE = 1028
  IPP_OK = 0
  IPP_OK_BUT_CANCEL_SUBSCRIPTION = 6
  IPP_OK_CONFLICT = 2
  IPP_OK_EVENTS_COMPLETE = 7
  IPP_OK_IGNORED_NOTIFICATIONS = 4
  IPP_OK_IGNORED_SUBSCRIPTIONS = 3
  IPP_OK_SUBST = 1
  IPP_OK_TOO_MANY_EVENTS = 5
  IPP_OPERATION_NOT_SUPPORTED = 1281
  IPP_OP_ACTIVATE_PRINTER = 40
  IPP_OP_CANCEL_CURRENT_JOB = 45
  IPP_OP_CANCEL_JOB = 8
  IPP_OP_CANCEL_JOBS = 56
  IPP_OP_CANCEL_MY_JOBS = 57
  IPP_OP_CANCEL_SUBSCRIPTION = 27
  IPP_OP_CLOSE_JOB = 59
  IPP_OP_CREATE_JOB = 5
  IPP_OP_CREATE_JOB_SUBSCRIPTIONS = 23
  IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS = 22
  IPP_OP_CUPS_ACCEPT_JOBS = 16392
  IPP_OP_CUPS_ADD_MODIFY_CLASS = 16390
  IPP_OP_CUPS_ADD_MODIFY_PRINTER = 16387
  IPP_OP_CUPS_AUTHENTICATE_JOB = 16398
  IPP_OP_CUPS_DELETE_CLASS = 16391
  IPP_OP_CUPS_DELETE_PRINTER = 16388
  IPP_OP_CUPS_GET_CLASSES = 16389
  IPP_OP_CUPS_GET_DEFAULT = 16385
  IPP_OP_CUPS_GET_DOCUMENT = 16423
  IPP_OP_CUPS_GET_PPD = 16399
  IPP_OP_CUPS_GET_PPDS = 16396
  IPP_OP_CUPS_GET_PRINTERS = 16386
  IPP_OP_CUPS_MOVE_JOB = 16397
  IPP_OP_CUPS_REJECT_JOBS = 16393
  IPP_OP_CUPS_SET_DEFAULT = 16394
  IPP_OP_DEACTIVATE_PRINTER = 39
  IPP_OP_DISABLE_PRINTER = 35
  IPP_OP_ENABLE_PRINTER = 34
  IPP_OP_GET_JOBS = 10
  IPP_OP_GET_JOB_ATTRIBUTES = 9
  IPP_OP_GET_NOTIFICATIONS = 28
  IPP_OP_GET_PRINTER_ATTRIBUTES = 11
  IPP_OP_GET_PRINTER_SUPPORTED_VALUES = 21
  IPP_OP_GET_PRINT_SUPPORT_FILES = 33
  IPP_OP_GET_RESOURCES = 32
  IPP_OP_GET_RESOURCE_ATTRIBUTES = 30
  IPP_OP_GET_RESOURCE_DATA = 31
  IPP_OP_GET_SUBSCRIPTIONS = 25
  IPP_OP_HOLD_JOB = 12
  IPP_OP_HOLD_NEW_JOBS = 37
  IPP_OP_IDENTIFY_PRINTER = 60
  IPP_OP_PAUSE_PRINTER = 16
  IPP_OP_PAUSE_PRINTER_AFTER_CURRENT_JOB = 36
  IPP_OP_PRINT_JOB = 2
  IPP_OP_PRINT_URI = 3
  IPP_OP_PROMOTE_JOB = 48
  IPP_OP_PURGE_JOBS = 18
  IPP_OP_RELEASE_HELD_NEW_JOBS = 38
  IPP_OP_RELEASE_JOB = 13
  IPP_OP_RENEW_SUBSCRIPTION = 26
  IPP_OP_REPROCESS_JOB = 44
  IPP_OP_RESTART_JOB = 14
  IPP_OP_RESTART_PRINTER = 41
  IPP_OP_RESUBMIT_JOB = 58
  IPP_OP_RESUME_JOB = 47
  IPP_OP_RESUME_PRINTER = 17
  IPP_OP_SCHEDULE_JOB_AFTER = 49
  IPP_OP_SEND_DOCUMENT = 6
  IPP_OP_SEND_HARDCOPY_DOCUMENT = 62
  IPP_OP_SEND_NOTIFICATIONS = 29
  IPP_OP_SEND_URI = 7
  IPP_OP_SET_JOB_ATTRIBUTES = 20
  IPP_OP_SET_PRINTER_ATTRIBUTES = 19
  IPP_OP_SHUTDOWN_PRINTER = 42
  IPP_OP_STARTUP_PRINTER = 43
  IPP_OP_SUSPEND_CURRENT_JOB = 46
  IPP_OP_VALIDATE_DOCUMENT = 61
  IPP_OP_VALIDATE_JOB = 4
  IPP_ORIENT_LANDSCAPE = 4
  IPP_ORIENT_PORTRAIT = 3
  IPP_ORIENT_REVERSE_LANDSCAPE = 5
  IPP_ORIENT_REVERSE_PORTRAIT = 6
  IPP_PKI_ERROR = 4097
  IPP_PORTRAIT = 3
  IPP_PRINTER_BUSY = 1287
  IPP_PRINTER_IDLE = 3
  IPP_PRINTER_IS_DEACTIVATED = 1290
  IPP_PRINTER_PROCESSING = 4
  IPP_PRINTER_STOPPED = 5
  IPP_PRINT_SUPPORT_FILE_NOT_FOUND = 1047
  IPP_QUALITY_DRAFT = 3
  IPP_QUALITY_HIGH = 5
  IPP_QUALITY_NORMAL = 4
  IPP_REDIRECTION_OTHER_SITE = 512
  IPP_REQUEST_ENTITY = 1032
  IPP_REQUEST_VALUE = 1033
  IPP_RES_PER_CM = 4
  IPP_RES_PER_INCH = 3
  IPP_REVERSE_LANDSCAPE = 5
  IPP_REVERSE_PORTRAIT = 6
  IPP_SERVICE_UNAVAILABLE = 1282
  IPP_STATE_ATTRIBUTE = 2
  IPP_STATE_DATA = 3
  IPP_STATE_ERROR = -1
  IPP_STATE_HEADER = 1
  IPP_STATE_IDLE = 0
  IPP_STATUS_ERROR_ATTRIBUTES_NOT_SETTABLE = 1043
  IPP_STATUS_ERROR_ATTRIBUTES_OR_VALUES = 1035
  IPP_STATUS_ERROR_BAD_REQUEST = 1024
  IPP_STATUS_ERROR_BUSY = 1287
  IPP_STATUS_ERROR_CHARSET = 1037
  IPP_STATUS_ERROR_COMPRESSION_ERROR = 1040
  IPP_STATUS_ERROR_COMPRESSION_NOT_SUPPORTED = 1039
  IPP_STATUS_ERROR_CONFLICTING = 1038
  IPP_STATUS_ERROR_CUPS_AUTHENTICATION_CANCELED = 4096
  IPP_STATUS_ERROR_CUPS_PKI = 4097
  IPP_STATUS_ERROR_CUPS_UPGRADE_REQUIRED = 4098
  IPP_STATUS_ERROR_DEVICE = 1284
  IPP_STATUS_ERROR_DOCUMENT_ACCESS = 1042
  IPP_STATUS_ERROR_DOCUMENT_FORMAT_ERROR = 1041
  IPP_STATUS_ERROR_DOCUMENT_FORMAT_NOT_SUPPORTED = 1034
  IPP_STATUS_ERROR_FORBIDDEN = 1025
  IPP_STATUS_ERROR_GONE = 1031
  IPP_STATUS_ERROR_IGNORED_ALL_NOTIFICATIONS = 1046
  IPP_STATUS_ERROR_IGNORED_ALL_SUBSCRIPTIONS = 1044
  IPP_STATUS_ERROR_INTERNAL = 1280
  IPP_STATUS_ERROR_JOB_CANCELED = 1288
  IPP_STATUS_ERROR_MULTIPLE_JOBS_NOT_SUPPORTED = 1289
  IPP_STATUS_ERROR_NOT_ACCEPTING_JOBS = 1286
  IPP_STATUS_ERROR_NOT_AUTHENTICATED = 1026
  IPP_STATUS_ERROR_NOT_AUTHORIZED = 1027
  IPP_STATUS_ERROR_NOT_FOUND = 1030
  IPP_STATUS_ERROR_NOT_POSSIBLE = 1028
  IPP_STATUS_ERROR_OPERATION_NOT_SUPPORTED = 1281
  IPP_STATUS_ERROR_PRINTER_IS_DEACTIVATED = 1290
  IPP_STATUS_ERROR_PRINT_SUPPORT_FILE_NOT_FOUND = 1047
  IPP_STATUS_ERROR_REQUEST_ENTITY = 1032
  IPP_STATUS_ERROR_REQUEST_VALUE = 1033
  IPP_STATUS_ERROR_SERVICE_UNAVAILABLE = 1282
  IPP_STATUS_ERROR_TEMPORARY = 1285
  IPP_STATUS_ERROR_TIMEOUT = 1029
  IPP_STATUS_ERROR_TOO_MANY_SUBSCRIPTIONS = 1045
  IPP_STATUS_ERROR_URI_SCHEME = 1036
  IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED = 1283
  IPP_STATUS_OK = 0
  IPP_STATUS_OK_BUT_CANCEL_SUBSCRIPTION = 6
  IPP_STATUS_OK_CONFLICTING = 2
  IPP_STATUS_OK_EVENTS_COMPLETE = 7
  IPP_STATUS_OK_IGNORED_NOTIFICATIONS = 4
  IPP_STATUS_OK_IGNORED_OR_SUBSTITUTED = 1
  IPP_STATUS_OK_IGNORED_SUBSCRIPTIONS = 3
  IPP_STATUS_OK_TOO_MANY_EVENTS = 5
  IPP_STATUS_REDIRECTION_OTHER_SITE = 512
  IPP_TAG_BOOLEAN = 34
  IPP_TAG_CHARSET = 71
  IPP_TAG_ENUM = 35
  IPP_TAG_INTEGER = 33
  IPP_TAG_JOB = 2
  IPP_TAG_KEYWORD = 68
  IPP_TAG_LANGUAGE = 72
  IPP_TAG_MIMETYPE = 73
  IPP_TAG_NAME = 66
  IPP_TAG_OPERATION = 1
  IPP_TAG_PRINTER = 4
  IPP_TAG_RANGE = 51
  IPP_TAG_STRING = 48
  IPP_TAG_TEXT = 65
  IPP_TAG_URI = 69
  IPP_TAG_ZERO = 0
  IPP_TEMPORARY_ERROR = 1285
  IPP_TIMEOUT = 1029
  IPP_TOO_MANY_SUBSCRIPTIONS = 1045
  IPP_UPGRADE_REQUIRED = 4098
  IPP_URI_SCHEME = 1036
  IPP_VERSION_NOT_SUPPORTED = 1283
  PPD_CONFORM_RELAXED = 0
  PPD_CONFORM_STRICT = 1
  PPD_ORDER_ANY = 0
  PPD_ORDER_DOCUMENT = 1
  PPD_ORDER_EXIT = 2
  PPD_ORDER_JCL = 3
  PPD_ORDER_PAGE = 4
  PPD_ORDER_PROLOG = 5
  PPD_UI_BOOLEAN = 0
  PPD_UI_PICKMANY = 2
  PPD_UI_PICKONE = 1
  __package__ = None
Function Details [hide private]

connectDest(dest, cb, flags=0, msec=-1, user_data=None)

 
Parameters:
  • dest (Dest object) - destination to connect to
  • cb (callable) - callback function, given user_data, dest flags, and dest. Should return 1 to continue enumeration and 0 to cancel.
  • flags (integer) - enumeration flags
  • msec (integer) - timeout, or -1 for no timeout
  • user_data (object) - user data to pass to callback function
Returns: (conn, resource)
a 2-tuple of the Connection object and the HTTP resource.

enumDests(cb, flags=0, msec=-1, type=0, mask=0, user_data=None)

 
Parameters:
  • cb (callable) - callback function, given user_data, dest flags, and dest. Should return 1 to continue enumeration and 0 to cancel.
  • flags (integer) - enumeration flags
  • msec (integer) - timeout, or -1 for no timeout
  • type (integer) - bitmask of printer types to return
  • mask (integer) - bitmask of type bits to examine
  • user_data (object) - user data to pass to callback function
Returns: None

getEncryption()

 

Get encryption policy.

Returns: integer

See Also: setEncryption

getPort()

 
Returns: integer
IPP port to connect to.

getServer()

 
Returns: string
server to connect to.

getUser()

 
Returns: string
user to connect as.

ippErrorString(statuscode)

 
Parameters:
  • statuscode (integer) - IPP Request status code
Returns: name
a string describing the status code

ippOpString(op)

 
Parameters:
  • op (integer) - IPP Request operation
Returns: name
a string representing the operation name

modelSort(s1, s2)

 

Sort two model strings.

Parameters:
  • s1 (string) - first string
  • s2 (string) - second string
Returns: integer
strcmp-style comparision result

ppdSetConformance(level)

 

Set PPD conformance level.

Parameters:
  • level (integer) - PPD_CONFORM_RELAXED or PPD_CONFORM_STRICT
Returns: None

require(version)

 

Require pycups version.

Parameters:
  • version (string) - minimum pycups version required
Returns: None
Raises:
  • RuntimeError - requirement not met

setEncryption(policy)

 

Set encryption policy.

Parameters:
Returns: None

setPasswordCB(fn)

 

Set password callback function. This Python function will be called when a password is required. It must take one string parameter (the password prompt) and it must return a string (the password), or None to abort the operation.

Parameters:
  • fn (callable object) - callback function
Returns: None

setPasswordCB2(fn, context=None)

 

Set password callback function. This Python function will be called when a password is required. It must take parameters of type string (the password prompt), instance (the cups.Connection), string (the HTTP method), string (the HTTP resource) and, optionally, the user- supplied context. It must return a string (the password), or None to abort the operation.

Parameters:
  • fn (callable object, or None for default handler) - callback function
Returns: None

setPort(port)

 

Set IPP port to connect to.

Parameters:
  • port (integer) - IPP port
Returns: None

setServer(server)

 

Set server to connect to.

Parameters:
  • server (string) - server hostname
Returns: None

setUser(user)

 

Set user to connect as.

Parameters:
  • user (string) - username
Returns: None