- commit
- cce57295be2e03642fc3b1e5edddb6e63d516578
- parent
- fcf5ca215858e1cb82c529c5169f686f5640d77d
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2024-04-05 07:39
refactor: automatically update items on search
Diffstat
| M | xikeyring/dbus.py | 20 | ++++++++++++-------- |
1 files changed, 12 insertions, 8 deletions
diff --git a/xikeyring/dbus.py b/xikeyring/dbus.py
@@ -130,14 +130,20 @@ class DBusService(BaseDBusService): 130 130 f'{OFSI}.Item', 131 131 ) 132 132 -1 133 def search_items(self, conn, query={}): -1 134 items = self.keyring.search_items(query) -1 135 self.update_items(conn, add=items) -1 136 if not query: -1 137 self.update_items(conn, keep=items) -1 138 return items -1 139 133 140 def on_bus_acquired(self, conn, bus): 134 141 super().on_bus_acquired(conn, bus) 135 142 self.register_object(conn, OFSP, f'{OFSI}.Service') 136 143 self.register_object(conn, f'{OFSP}/aliases/default', f'{OFSI}.Collection') 137 144 self.register_object(conn, f'{OFSP}/collection/it', f'{OFSI}.Collection') 138 145139 -1 items = self.keyring.search_items()140 -1 self.update_items(conn, keep=items, add=items)-1 146 self.search_items(conn) 141 147 142 148 def service_open_session(self, conn, sender, path, algorithm, input): 143 149 output, session = create_session(algorithm, input) @@ -148,8 +154,7 @@ class DBusService(BaseDBusService): 148 154 return GLib.Variant('(vo)', (GLib.Variant('ay', output), session_path)) 149 155 150 156 def service_search_items(self, conn, sender, path, query):151 -1 items = self.keyring.search_items(query)152 -1 self.update_items(conn, add=items)-1 157 items = self.search_items(conn, query) 153 158 return GLib.Variant('(aoao)', (self.ids_to_paths(items), [])) 154 159 155 160 def service_unlock(self, conn, sender, path, objects): @@ -179,7 +184,7 @@ class DBusService(BaseDBusService): 179 184 return GLib.Variant('ao', [f'{OFSP}/collection/it']) 180 185 181 186 def collection_search_items(self, conn, sender, path, query):182 -1 items = self.keyring.search_items(query)-1 187 items = self.search_items(conn, query) 183 188 return GLib.Variant('(ao)', [self.ids_to_paths(items)]) 184 189 185 190 def collection_create_item( @@ -190,7 +195,7 @@ class DBusService(BaseDBusService): 190 195 attributes = properties.get(f'{OFSI}.Item.Attributes', {}) 191 196 id = None 192 197 if replace:193 -1 matches = self.keyring.search_items(attributes)-1 198 matches = self.search_items(conn, attributes) 194 199 if matches: 195 200 id = matches[0] 196 201 self.keyring.update_secret(id, secret) @@ -201,8 +206,7 @@ class DBusService(BaseDBusService): 201 206 return GLib.Variant('(oo)', (f'{OFSP}/collection/it/{id}', '/')) 202 207 203 208 def collection_get_items(self, conn, sender, path):204 -1 items = self.keyring.search_items()205 -1 self.update_items(conn, keep=items, add=items)-1 209 items = self.search_items(conn) 206 210 return GLib.Variant('ao', self.ids_to_paths(items)) 207 211 208 212 def collection_get_label(self, conn, sender, path):