diff options
Diffstat (limited to 'doc/invocations-http-server/server.py')
-rwxr-xr-x | doc/invocations-http-server/server.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/doc/invocations-http-server/server.py b/doc/invocations-http-server/server.py index 9bae82d7..138c5f2e 100755 --- a/doc/invocations-http-server/server.py +++ b/doc/invocations-http-server/server.py @@ -66,6 +66,8 @@ class InvocationServer: rule("/", methods=("GET",), endpoint="list_invocations"), rule("/filterinvocations/context/<hexidentifier:key>/<hexidentifier:value>", methods=("GET",), endpoint="filter_context"), + rule("/filterinvocations/noncached", + methods=("GET",), endpoint="filter_noncached"), rule("/filterinvocations/remote/prop/<hexidentifier:key>/<hexidentifier:value>", methods=("GET",), endpoint="filter_remote_prop"), rule("/blob/<hashidentifier:blob>", @@ -194,6 +196,17 @@ class InvocationServer: metadata_filter = check_prop, ) + def do_filter_noncached(self): + def check_noncached(p): + for v in p.get('actions', {}).values(): + if not v.get('cached'): + return True + return False + return self.do_list_invocations( + filter_info = "not fully cached", + profile_filter = check_noncached, + ) + def process_failure(self, cmd, procobj, *, failure_kind=None): params = {"stdout": None, "stderr": None, "failure_kind": failure_kind} params["cmd"] = json.dumps(cmd) |