You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/app-admin/system-config-printer/files/system-config-printer-1.5.1...

122 lines
4.5 KiB

From b74c701feb52a1d2865fe1d33c393f71ae3ac47a Mon Sep 17 00:00:00 2001
From: Ave Ozkal <ave@ave.zone>
Date: Thu, 19 Mar 2020 13:30:23 +0300
Subject: [PATCH 1/3] jobviewer: Use sync methods for secret.service
---
jobviewer.py | 28 +++++++++-------------------
1 file changed, 9 insertions(+), 19 deletions(-)
diff --git a/jobviewer.py b/jobviewer.py
index b95bf6c58..ba8abd06f 100644
--- a/jobviewer.py
+++ b/jobviewer.py
@@ -91,36 +91,26 @@
class ServiceGet:
service = Secret.Service()
- def on_get_service(self, source, result, unused):
- service = Secret.Service.get_finish(result)
-
def __init__(self):
- Secret.Service.get(0,
- None,
- self.on_get_service,
- None)
+ self.service = Secret.Service.get(0,
+ None)
def get_service(self):
- return ServiceGet.service
+ return self.service
class ItemSearch:
items = list()
- def on_search_item(self, source, result, unused):
- items = Secret.Service.search_finish(None, result)
-
def __init__(self, service, attrs):
- Secret.Service.search(service,
- NETWORK_PASSWORD,
- attrs,
- Secret.SearchFlags.LOAD_SECRETS,
- None,
- self.on_search_item,
- None)
+ self.items = Secret.Service.search_sync(service,
+ NETWORK_PASSWORD,
+ attrs,
+ Secret.SearchFlags.LOAD_SECRETS,
+ None)
def get_items(self):
- return ItemSearch.items
+ return self.items
class PasswordStore:
From 152b617f511cd44757d2db4d730067aca8cf69a9 Mon Sep 17 00:00:00 2001
From: Ave Ozkal <ave@ave.zone>
Date: Thu, 19 Mar 2020 14:39:21 +0300
Subject: [PATCH 2/3] jobviewer: properly use sync
---
jobviewer.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/jobviewer.py b/jobviewer.py
index ba8abd06f..761673b49 100644
--- a/jobviewer.py
+++ b/jobviewer.py
@@ -92,8 +92,8 @@ class ServiceGet:
service = Secret.Service()
def __init__(self):
- self.service = Secret.Service.get(0,
- None)
+ self.service = Secret.Service.get_sync(0,
+ None)
def get_service(self):
return self.service
From 00177768ca1464c694acde4cdbabc1a18420c176 Mon Sep 17 00:00:00 2001
From: Ave Ozkal <ave@ave.zone>
Date: Thu, 19 Mar 2020 14:40:55 +0300
Subject: [PATCH 3/3] jobviewer: Properly fetch username and password
---
jobviewer.py | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
diff --git a/jobviewer.py b/jobviewer.py
index 761673b49..5376a7e88 100644
--- a/jobviewer.py
+++ b/jobviewer.py
@@ -1049,20 +1049,10 @@ def get_authentication (self, job, device_uri, printer_uri,
if items:
auth_info = ['' for x in auth_info_required]
ind = auth_info_required.index ('username')
-
- for attr in items[0].attributes:
- # It might be safe to assume here that the
- # user element is always the second item in a
- # NETWORK_PASSWORD element but lets make sure.
- if attr.name == 'user':
- auth_info[ind] = attr.get_string()
- break
- else:
- debugprint ("Did not find username keyring "
- "attributes.")
+ auth_info[ind] = items[0].get_attributes().get("user")
ind = auth_info_required.index ('password')
- auth_info[ind] = items[0].secret
+ auth_info[ind] = items[0].get_secret().get().decode()
break
else:
debugprint ("Failed to find secret in keyring.")