- Sync with 1.1.x.

- Added patch for cupspk DevicesGet method call.
This commit is contained in:
Tim Waugh 2009-07-31 14:14:42 +00:00
parent 71bad118c9
commit 48725f4825
4 changed files with 6605 additions and 2571 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,58 @@
diff -up system-config-printer-1.1.10/cupspk.py.getdevices system-config-printer-1.1.10/cupspk.py
--- system-config-printer-1.1.10/cupspk.py.getdevices 2009-07-31 15:11:10.285962319 +0100
+++ system-config-printer-1.1.10/cupspk.py 2009-07-31 15:11:23.732961871 +0100
@@ -300,7 +300,53 @@ class Connection:
# getPPDs
# getServerPPD
# getDocument
-# getDevices
+
+
+ def getDevices(self, *args, **kwds):
+ use_pycups = False
+ pk_args = ()
+
+ result = self._call_with_pk_and_fallback(use_pycups,
+ 'DevicesGet', pk_args,
+ self._connection.getDevices,
+ *args, **kwds)
+
+ result_str = {}
+ if result != None:
+ for i in result.keys():
+ if type(i) == dbus.String:
+ result_str[str(i)] = str(result[i])
+ else:
+ result_str[i] = result[i]
+
+ # cups-pk-helper returns all devices in one dictionary.
+ # Keys of different devices are distinguished by ':n' postfix.
+
+ devices = {}
+ n = 0
+ postfix = ':' + str (n)
+ device_keys = [x for x in result_str.keys() if x.endswith(postfix)]
+ while len (device_keys) > 0:
+
+ device_uri = None
+ device_dict = {}
+ for i in device_keys:
+ key = i[:len(i)-len(postfix)]
+ if key != 'device-uri':
+ device_dict[key] = result_str[i]
+ else:
+ device_uri = result_str[i]
+
+ if device_uri != None:
+ devices[device_uri] = device_dict
+
+ n += 1
+ postfix = ':' + str (n)
+ device_keys = [x for x in result_str.keys() if x.endswith(postfix)]
+
+ return devices
+
+
# getJobs
# getJobAttributes

View File

@ -7,14 +7,15 @@
Summary: A printer administration tool
Name: system-config-printer
Version: 1.1.10
Release: 6%{?dist}
Release: 7%{?dist}
License: GPLv2+
URL: http://cyberelk.net/tim/software/system-config-printer/
Group: System Environment/Base
Source0: http://cyberelk.net/tim/data/system-config-printer/1.1/system-config-printer-%{version}.tar.bz2
Source1: http://cyberelk.net/tim/data/pycups/pycups-%{pycups_version}.tar.bz2
Source2: http://cyberelk.net/tim/data/pysmbc/pysmbc-%{pysmbc_version}.tar.bz2
Patch1: system-config-printer-525e996.patch
Patch1: system-config-printer-a6cf4d3.patch
Patch2: system-config-printer-getdevices.patch
BuildRequires: cups-devel >= 1.2
BuildRequires: python-devel >= 2.4
@ -79,7 +80,8 @@ printers.
%prep
%setup -q -a 1 -a 2
%patch1 -p1 -b .525e996
%patch1 -p1 -b .a6cf4d3
%patch2 -p1 -b .getdevices
automake --copy --add-missing
autoconf
@ -194,6 +196,10 @@ rm -rf %buildroot
exit 0
%changelog
* Fri Jul 31 2009 Tim Waugh <twaugh@redhat.com> 1.1.10-7
- Sync with 1.1.x.
- Added patch for cupspk DevicesGet method call.
* Mon Jul 27 2009 Matthias Clasen <mclasen@redhat.com> 1.1.10-6
- Drop no-longer-used python-sexy dep