diff options
Diffstat (limited to 'bitbake/lib/prserv/serv.py')
-rw-r--r-- | bitbake/lib/prserv/serv.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/bitbake/lib/prserv/serv.py b/bitbake/lib/prserv/serv.py index efb2e0cf93..86bd3bb75f 100644 --- a/bitbake/lib/prserv/serv.py +++ b/bitbake/lib/prserv/serv.py | |||
@@ -26,6 +26,9 @@ class PRServerClient(bb.asyncrpc.AsyncServerConnection): | |||
26 | 26 | ||
27 | self.handlers.update({ | 27 | self.handlers.update({ |
28 | "get-pr": self.handle_get_pr, | 28 | "get-pr": self.handle_get_pr, |
29 | "test-pr": self.handle_test_pr, | ||
30 | "test-package": self.handle_test_package, | ||
31 | "max-package-pr": self.handle_max_package_pr, | ||
29 | "import-one": self.handle_import_one, | 32 | "import-one": self.handle_import_one, |
30 | "export": self.handle_export, | 33 | "export": self.handle_export, |
31 | "is-readonly": self.handle_is_readonly, | 34 | "is-readonly": self.handle_is_readonly, |
@@ -43,6 +46,31 @@ class PRServerClient(bb.asyncrpc.AsyncServerConnection): | |||
43 | else: | 46 | else: |
44 | self.server.table.sync_if_dirty() | 47 | self.server.table.sync_if_dirty() |
45 | 48 | ||
49 | async def handle_test_pr(self, request): | ||
50 | '''Finds the PR value corresponding to the request. If not found, returns None and doesn't insert a new value''' | ||
51 | version = request["version"] | ||
52 | pkgarch = request["pkgarch"] | ||
53 | checksum = request["checksum"] | ||
54 | |||
55 | value = self.server.table.find_value(version, pkgarch, checksum) | ||
56 | return {"value": value} | ||
57 | |||
58 | async def handle_test_package(self, request): | ||
59 | '''Tells whether there are entries for (version, pkgarch) in the db. Returns True or False''' | ||
60 | version = request["version"] | ||
61 | pkgarch = request["pkgarch"] | ||
62 | |||
63 | value = self.server.table.test_package(version, pkgarch) | ||
64 | return {"value": value} | ||
65 | |||
66 | async def handle_max_package_pr(self, request): | ||
67 | '''Finds the greatest PR value for (version, pkgarch) in the db. Returns None if no entry was found''' | ||
68 | version = request["version"] | ||
69 | pkgarch = request["pkgarch"] | ||
70 | |||
71 | value = self.server.table.find_max_value(version, pkgarch) | ||
72 | return {"value": value} | ||
73 | |||
46 | async def handle_get_pr(self, request): | 74 | async def handle_get_pr(self, request): |
47 | version = request["version"] | 75 | version = request["version"] |
48 | pkgarch = request["pkgarch"] | 76 | pkgarch = request["pkgarch"] |