Skip to content

Commit 879f082

Browse files
committed
Add CaptureAppInfo in CaptureContext.
1 parent 0c8b2ab commit 879f082

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

reqable/reqable.py

+42
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,37 @@
44
from email.message import EmailMessage
55
from typing import Union, List, Tuple, Dict
66

7+
class CaptureApp:
8+
def __init__(self, json: dict):
9+
self._name = json['name']
10+
self._id = json.get('id')
11+
self._path = json.get('path')
12+
13+
# The app's name.
14+
@property
15+
def name(self) -> str:
16+
return self._name
17+
18+
# The app unique id, such as `bundleId`, `packageName`.
19+
# return None if not detected.
20+
@property
21+
def id(self) -> Union[str, None]:
22+
return self._id
23+
24+
# The app installed path.
25+
# return None if not detected.
26+
@property
27+
def path(self) -> Union[str, None]:
28+
return self._path
29+
30+
# Serialize the app info to a dict.
31+
def serialize(self) -> dict:
32+
return {
33+
'name': self._name,
34+
'id': self._id,
35+
'path': self._path,
36+
}
37+
738
class CaptureContext:
839
def __init__(self, json: dict):
940
self._url = json['url']
@@ -15,6 +46,11 @@ def __init__(self, json: dict):
1546
self._sid = json['sid']
1647
self._stime = json['stime']
1748
self._env = json.get('env')
49+
app = json.get('app')
50+
if app is None:
51+
self._app = None
52+
else:
53+
self._app = CaptureApp(app)
1854
self.shared = json.get('shared')
1955

2056
def __str__(self):
@@ -76,6 +112,11 @@ def uid(self) -> str:
76112
def env(self) -> Dict[str, str]:
77113
return self._env
78114

115+
# App info, return None means unknown app.
116+
@property
117+
def app(self) -> Union[CaptureApp, None]:
118+
return self._app
119+
79120
def toJson(self) -> str:
80121
return json.dumps({
81122
'url': self._url,
@@ -87,6 +128,7 @@ def toJson(self) -> str:
87128
'sid': self._sid,
88129
'stime': self._stime,
89130
'env': self._env,
131+
'app': self._app.serialize(),
90132
'shared': self.shared,
91133
})
92134

0 commit comments

Comments
 (0)