diff options
author | Jinkun Jang <jinkun.jang@samsung.com> | 2013-03-13 01:42:35 +0900 |
---|---|---|
committer | Jinkun Jang <jinkun.jang@samsung.com> | 2013-03-13 01:42:35 +0900 |
commit | 72835b3d805ac6c7cdaac7d3aff107567e938314 (patch) | |
tree | 0f2a04dc3d0672c0960a62804c6e7758673e393c /timedate.py | |
parent | eb5e5ee9adb02776056d1b4494f66150a2fc45f1 (diff) | |
download | hplip-72835b3d805ac6c7cdaac7d3aff107567e938314.tar.gz hplip-72835b3d805ac6c7cdaac7d3aff107567e938314.tar.bz2 hplip-72835b3d805ac6c7cdaac7d3aff107567e938314.zip |
Tizen 2.1 base
Diffstat (limited to 'timedate.py')
-rwxr-xr-x | timedate.py | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/timedate.py b/timedate.py new file mode 100755 index 0000000..25f48e3 --- /dev/null +++ b/timedate.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# (c) Copyright 2003-2009 Hewlett-Packard Development Company, L.P. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# 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 +# + +__version__ = '2.0' +__mod__ = 'hp-timedate' +__title__ = 'Time/Date Utility' +__doc__ = "Set the time and date on an HP Officejet all-in-one device using the PC time and date." + +# Std Lib +import sys +import re +import getopt +import struct +import operator +import os + +# Local +from base.g import * +from base.codes import * +from base import device, status, utils, pml, tui, module +from prnt import cups + +try: + from fax import faxdevice +except ImportError: + log.error("Unable to load fax services for HPLIP (required for hp-timedate). Exiting.") + sys.exit(1) + + +PML_ERROR_CODES = { + pml.ERROR_OK_END_OF_SUPPORTED_OBJECTS: "OK: End of supported objects", + pml.ERROR_OK_NEAREST_LEGAL_VALUE_SUBSITUTED: "OK: Nearest legal value substituted", + pml.ERROR_UNKNOWN_REQUEST: "Unknown request", + pml.ERROR_BUFFER_OVERFLOW: "Buffer overflow", + pml.ERROR_COMMAND_EXECUTION: "Command execution", + pml.ERROR_UNKNOWN_OID: "Unknown OID", + pml.ERROR_OBJ_DOES_NOT_SUPPORT_SPECIFIED_ACTION: "Object does not support action", + pml.ERROR_INVALID_OR_UNSUPPORTED_VALUE: "Invalid or unsupported value", + pml.ERROR_PAST_END_OF_SUPPORTED_OBJS: "Past end of supported objects", + pml.ERROR_ACTION_CANNOT_BE_PERFORMED_NOW: "Action cannot be performed now", + pml.ERROR_SYNTAX: "Syntax", +} + +try: + mod = module.Module(__mod__, __title__, __version__, __doc__, None, + (INTERACTIVE_MODE,)) + + mod.setUsage(module.USAGE_FLAG_DEVICE_ARGS) + + opts, device_uri, printer_name, mode, ui_toolkit, lang = \ + mod.parseStdOpts() + + device_uri = mod.getDeviceUri(device_uri, printer_name, + filter={'fax-type': (operator.gt, 0)}, + back_end_filter=['hpfax']) + + try: + d = faxdevice.FaxDevice(device_uri, printer_name, disable_dbus=True) + except Error, e: + if e.opt == ERROR_DEVICE_DOES_NOT_SUPPORT_OPERATION: + log.error("Device does not support setting time/date.") + sys.exit(1) + else: + log.error(e.msg) + sys.exit(1) + + try: + try: + d.open() + except Error: + log.error("Unable to open device. Exiting. ") + sys.exit(1) + + try: + log.info("Setting time and date on %s" % device_uri) + d.setDateAndTime() + except Error: + log.error("An error occured!") + finally: + d.close() + +except KeyboardInterrupt: + log.error("User exit") + +log.info("") +log.info('Done.') |