brynq-sdk-bob 1.1.0__tar.gz → 1.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/PKG-INFO +1 -1
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/__init__.py +2 -1
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/bank.py +1 -1
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/company.py +2 -2
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/documents.py +4 -3
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/payments.py +1 -1
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/people.py +3 -2
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/timeoff.py +2 -1
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob.egg-info/PKG-INFO +1 -1
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/setup.py +1 -1
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/custom_tables.py +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/employment.py +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/named_lists.py +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/salaries.py +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/schemas/__init__.py +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/schemas/bank.py +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/schemas/custom_tables.py +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/schemas/employment.py +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/schemas/named_lists.py +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/schemas/payments.py +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/schemas/people.py +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/schemas/salary.py +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/schemas/timeoff.py +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/schemas/work.py +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob/work.py +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob.egg-info/SOURCES.txt +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob.egg-info/dependency_links.txt +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob.egg-info/not-zip-safe +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob.egg-info/requires.txt +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/brynq_sdk_bob.egg-info/top_level.txt +0 -0
- {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.1}/setup.cfg +0 -0
|
@@ -35,6 +35,7 @@ class Bob(BrynQ):
|
|
|
35
35
|
self.documents = CustomDocuments(self)
|
|
36
36
|
self.companies = Company(self)
|
|
37
37
|
self.named_lists = NamedLists(self)
|
|
38
|
+
self.timeout = 3600
|
|
38
39
|
|
|
39
40
|
def _get_request_headers(self, label):
|
|
40
41
|
credentials = self.get_system_credential(system='bob', label=label)
|
|
@@ -53,7 +54,7 @@ class Bob(BrynQ):
|
|
|
53
54
|
while has_next_page:
|
|
54
55
|
prepped = request.prepare()
|
|
55
56
|
prepped.headers.update(self.session.headers)
|
|
56
|
-
resp = self.session.send(prepped)
|
|
57
|
+
resp = self.session.send(prepped, timeout=self.timeout)
|
|
57
58
|
resp.raise_for_status()
|
|
58
59
|
response_data = resp.json()
|
|
59
60
|
result_data += response_data['results']
|
|
@@ -10,7 +10,7 @@ class Bank:
|
|
|
10
10
|
def get(self, person_ids: pd.Series) -> (pd.DataFrame, pd.DataFrame):
|
|
11
11
|
data = []
|
|
12
12
|
for person_id in person_ids:
|
|
13
|
-
resp = self.bob.session.get(url=f"{self.bob.base_url}people/{person_id}/bank-accounts")
|
|
13
|
+
resp = self.bob.session.get(url=f"{self.bob.base_url}people/{person_id}/bank-accounts", timeout=self.bob.timeout)
|
|
14
14
|
resp.raise_for_status()
|
|
15
15
|
temp_data = resp.json()['values']
|
|
16
16
|
# when an employee has one or more bank accounts, the response is a list of dictionaries.
|
|
@@ -9,12 +9,12 @@ class Company:
|
|
|
9
9
|
values = {}
|
|
10
10
|
|
|
11
11
|
if list_name is not None:
|
|
12
|
-
resp = self.bob.session.get(url=f"{self.bob.base_url}company/named-lists/{list_name}")
|
|
12
|
+
resp = self.bob.session.get(url=f"{self.bob.base_url}company/named-lists/{list_name}", timeout=self.bob.timeout)
|
|
13
13
|
resp.raise_for_status()
|
|
14
14
|
data = resp.json()
|
|
15
15
|
values.update({data["name"]: [value['id'] for value in data['values']]})
|
|
16
16
|
else:
|
|
17
|
-
resp = self.bob.session.get(url=f"{self.bob.base_url}company/named-lists")
|
|
17
|
+
resp = self.bob.session.get(url=f"{self.bob.base_url}company/named-lists", timeout=self.bob.timeout)
|
|
18
18
|
resp.raise_for_status()
|
|
19
19
|
data = resp.json()
|
|
20
20
|
for list_key, list_data in data.items():
|
|
@@ -13,7 +13,7 @@ class CustomDocuments:
|
|
|
13
13
|
# self.headers_upload['Accept'] = 'application/json'
|
|
14
14
|
|
|
15
15
|
def get(self, person_id: datetime) -> pd.DataFrame:
|
|
16
|
-
resp = self.bob.session.get(url=f"{self.bob.base_url}docs/people/{person_id}")
|
|
16
|
+
resp = self.bob.session.get(url=f"{self.bob.base_url}docs/people/{person_id}", timeout=self.bob.timeout)
|
|
17
17
|
resp.raise_for_status()
|
|
18
18
|
data = resp.json()['documents']
|
|
19
19
|
df = pd.DataFrame(data)
|
|
@@ -29,7 +29,7 @@ class CustomDocuments:
|
|
|
29
29
|
return df
|
|
30
30
|
|
|
31
31
|
def get_folders(self) -> dict:
|
|
32
|
-
resp = self.bob.session.get(url=f"{self.bob.base_url}docs/folders/metadata")
|
|
32
|
+
resp = self.bob.session.get(url=f"{self.bob.base_url}docs/folders/metadata", timeout=self.bob.timeout)
|
|
33
33
|
resp.raise_for_status()
|
|
34
34
|
data = resp.json()
|
|
35
35
|
|
|
@@ -42,5 +42,6 @@ class CustomDocuments:
|
|
|
42
42
|
file_object: BytesIO):
|
|
43
43
|
files = {"file": (file_name, file_object, "application/pdf")}
|
|
44
44
|
resp = self.bob.session.post(url=f"{self.bob.base_url}docs/people/{person_id}/folders/{folder_id}/upload",
|
|
45
|
-
files=files
|
|
45
|
+
files=files,
|
|
46
|
+
timeout=self.bob.timeout)
|
|
46
47
|
resp.raise_for_status()
|
|
@@ -9,7 +9,7 @@ class Payments:
|
|
|
9
9
|
self.bob = bob
|
|
10
10
|
|
|
11
11
|
def get(self, person_id: str) -> (pd.DataFrame, pd.DataFrame):
|
|
12
|
-
resp = self.bob.session.get(url=f"{self.bob.base_url}people/{person_id}/variable")
|
|
12
|
+
resp = self.bob.session.get(url=f"{self.bob.base_url}people/{person_id}/variable", timeout=self.bob.timeout)
|
|
13
13
|
resp.raise_for_status()
|
|
14
14
|
data = resp.json()
|
|
15
15
|
df = pd.json_normalize(
|
|
@@ -18,7 +18,7 @@ class People:
|
|
|
18
18
|
self.custom_tables = CustomTables(bob)
|
|
19
19
|
|
|
20
20
|
def get(self) -> pd.DataFrame:
|
|
21
|
-
resp = self.bob.session.get(url=f"{self.bob.base_url}profiles")
|
|
21
|
+
resp = self.bob.session.get(url=f"{self.bob.base_url}profiles", timeout=self.bob.timeout)
|
|
22
22
|
# Bob sucks with default fields so you need to do a search call to retrieve additional fields.
|
|
23
23
|
additional_fields = [
|
|
24
24
|
"personal.birthDate",
|
|
@@ -49,7 +49,8 @@ class People:
|
|
|
49
49
|
json={
|
|
50
50
|
"fields": ["root.id"] + additional_fields,
|
|
51
51
|
"filters": []
|
|
52
|
-
}
|
|
52
|
+
},
|
|
53
|
+
timeout=self.bob.timeout)
|
|
53
54
|
df_extra_fields = pd.json_normalize(resp_additional_fields.json()['employees'])
|
|
54
55
|
resp.raise_for_status()
|
|
55
56
|
data = resp.json()
|
|
@@ -10,7 +10,8 @@ class TimeOff:
|
|
|
10
10
|
|
|
11
11
|
def get(self, since: datetime) -> (pd.DataFrame, pd.DataFrame):
|
|
12
12
|
resp = self.bob.session.get(url=f"{self.bob.base_url}timeoff/requests/changes",
|
|
13
|
-
params={'since': since.replace(tzinfo=timezone.utc).isoformat(timespec='milliseconds')}
|
|
13
|
+
params={'since': since.replace(tzinfo=timezone.utc).isoformat(timespec='milliseconds')},
|
|
14
|
+
timeout=self.bob.timeout)
|
|
14
15
|
resp.raise_for_status()
|
|
15
16
|
data = resp.json()['changes']
|
|
16
17
|
# data = self.bob.get_paginated_result(request)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|