diff options
author | Michael Opdenacker <michael.opdenacker@bootlin.com> | 2024-04-12 11:02:23 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-04-14 06:31:45 +0100 |
commit | 8d78b5f9c5cee19ed98e65577bf9e3a325d859b3 (patch) | |
tree | 5a71dfb8d3d48382fcb071ef5df7d1def870e946 | |
parent | 9a197e4f92b97d216dee902f16b448f55d50876b (diff) | |
download | poky-8d78b5f9c5cee19ed98e65577bf9e3a325d859b3.tar.gz |
bitbake: prserv: simplify the PRServerClient() interface
serv.py: simplify the PRServerClient() interface by passing the
server object instead of multiple arguments, and then retrieving
the data through this object.
This replicates what is done for ServerClient() in hashserv/server.py
(Bitbake rev: d3be073218feb4d6e68a751832da4936da485dbc)
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Cc: Joshua Watt <JPEWhacker@gmail.com>
Cc: Tim Orling <ticotimo@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | bitbake/lib/prserv/serv.py | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/bitbake/lib/prserv/serv.py b/bitbake/lib/prserv/serv.py index 5fc8863f70..28af636966 100644 --- a/bitbake/lib/prserv/serv.py +++ b/bitbake/lib/prserv/serv.py | |||
@@ -20,16 +20,16 @@ PIDPREFIX = "/tmp/PRServer_%s_%s.pid" | |||
20 | singleton = None | 20 | singleton = None |
21 | 21 | ||
22 | class PRServerClient(bb.asyncrpc.AsyncServerConnection): | 22 | class PRServerClient(bb.asyncrpc.AsyncServerConnection): |
23 | def __init__(self, socket, table, read_only): | 23 | def __init__(self, socket, server): |
24 | super().__init__(socket, 'PRSERVICE', logger) | 24 | super().__init__(socket, 'PRSERVICE', server.logger) |
25 | self.server = server | ||
26 | |||
25 | self.handlers.update({ | 27 | self.handlers.update({ |
26 | 'get-pr': self.handle_get_pr, | 28 | 'get-pr': self.handle_get_pr, |
27 | 'import-one': self.handle_import_one, | 29 | 'import-one': self.handle_import_one, |
28 | 'export': self.handle_export, | 30 | 'export': self.handle_export, |
29 | 'is-readonly': self.handle_is_readonly, | 31 | 'is-readonly': self.handle_is_readonly, |
30 | }) | 32 | }) |
31 | self.table = table | ||
32 | self.read_only = read_only | ||
33 | 33 | ||
34 | def validate_proto_version(self): | 34 | def validate_proto_version(self): |
35 | return (self.proto_version == (1, 0)) | 35 | return (self.proto_version == (1, 0)) |
@@ -38,10 +38,10 @@ class PRServerClient(bb.asyncrpc.AsyncServerConnection): | |||
38 | try: | 38 | try: |
39 | return await super().dispatch_message(msg) | 39 | return await super().dispatch_message(msg) |
40 | except: | 40 | except: |
41 | self.table.sync() | 41 | self.server.table.sync() |
42 | raise | 42 | raise |
43 | else: | 43 | else: |
44 | self.table.sync_if_dirty() | 44 | self.server.table.sync_if_dirty() |
45 | 45 | ||
46 | async def handle_get_pr(self, request): | 46 | async def handle_get_pr(self, request): |
47 | version = request['version'] | 47 | version = request['version'] |
@@ -50,7 +50,7 @@ class PRServerClient(bb.asyncrpc.AsyncServerConnection): | |||
50 | 50 | ||
51 | response = None | 51 | response = None |
52 | try: | 52 | try: |
53 | value = self.table.getValue(version, pkgarch, checksum) | 53 | value = self.server.table.getValue(version, pkgarch, checksum) |
54 | response = {'value': value} | 54 | response = {'value': value} |
55 | except prserv.NotFoundError: | 55 | except prserv.NotFoundError: |
56 | logger.error("can not find value for (%s, %s)",version, checksum) | 56 | logger.error("can not find value for (%s, %s)",version, checksum) |
@@ -61,13 +61,13 @@ class PRServerClient(bb.asyncrpc.AsyncServerConnection): | |||
61 | 61 | ||
62 | async def handle_import_one(self, request): | 62 | async def handle_import_one(self, request): |
63 | response = None | 63 | response = None |
64 | if not self.read_only: | 64 | if not self.server.read_only: |
65 | version = request['version'] | 65 | version = request['version'] |
66 | pkgarch = request['pkgarch'] | 66 | pkgarch = request['pkgarch'] |
67 | checksum = request['checksum'] | 67 | checksum = request['checksum'] |
68 | value = request['value'] | 68 | value = request['value'] |
69 | 69 | ||
70 | value = self.table.importone(version, pkgarch, checksum, value) | 70 | value = self.server.table.importone(version, pkgarch, checksum, value) |
71 | if value is not None: | 71 | if value is not None: |
72 | response = {'value': value} | 72 | response = {'value': value} |
73 | 73 | ||
@@ -80,7 +80,7 @@ class PRServerClient(bb.asyncrpc.AsyncServerConnection): | |||
80 | colinfo = request['colinfo'] | 80 | colinfo = request['colinfo'] |
81 | 81 | ||
82 | try: | 82 | try: |
83 | (metainfo, datainfo) = self.table.export(version, pkgarch, checksum, colinfo) | 83 | (metainfo, datainfo) = self.server.table.export(version, pkgarch, checksum, colinfo) |
84 | except sqlite3.Error as exc: | 84 | except sqlite3.Error as exc: |
85 | logger.error(str(exc)) | 85 | logger.error(str(exc)) |
86 | metainfo = datainfo = None | 86 | metainfo = datainfo = None |
@@ -88,7 +88,7 @@ class PRServerClient(bb.asyncrpc.AsyncServerConnection): | |||
88 | return {'metainfo': metainfo, 'datainfo': datainfo} | 88 | return {'metainfo': metainfo, 'datainfo': datainfo} |
89 | 89 | ||
90 | async def handle_is_readonly(self, request): | 90 | async def handle_is_readonly(self, request): |
91 | return {'readonly': self.read_only} | 91 | return {'readonly': self.server.read_only} |
92 | 92 | ||
93 | class PRServer(bb.asyncrpc.AsyncServer): | 93 | class PRServer(bb.asyncrpc.AsyncServer): |
94 | def __init__(self, dbfile, read_only=False): | 94 | def __init__(self, dbfile, read_only=False): |
@@ -98,7 +98,7 @@ class PRServer(bb.asyncrpc.AsyncServer): | |||
98 | self.read_only = read_only | 98 | self.read_only = read_only |
99 | 99 | ||
100 | def accept_client(self, socket): | 100 | def accept_client(self, socket): |
101 | return PRServerClient(socket, self.table, self.read_only) | 101 | return PRServerClient(socket, self) |
102 | 102 | ||
103 | def start(self): | 103 | def start(self): |
104 | tasks = super().start() | 104 | tasks = super().start() |