brynq-sdk-sharepoint 1.0.0__tar.gz → 1.1.0__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: brynq_sdk_sharepoint
3
- Version: 1.0.0
3
+ Version: 1.1.0
4
4
  Summary: Sharepoint wrapper from BrynQ
5
5
  Home-page: UNKNOWN
6
6
  Author: BrynQ
@@ -34,7 +34,7 @@ class Sharepoint(BrynQ):
34
34
  if self.debug:
35
35
  print(f"site_id: {self.site_id}, json_subset: {self.json_subset}, credentials: {credentials}, brynq_system_id: {self.brynq_system_id}")
36
36
 
37
- def _get_headers(self):
37
+ def _get_sharepoint_headers(self):
38
38
  access_token = self.refresh_system_credential(system='sharepoint', system_id=self.brynq_system_id)['access_token']
39
39
  headers = {'Authorization': f'Bearer {access_token}'}
40
40
  if self.debug:
@@ -51,7 +51,7 @@ class Sharepoint(BrynQ):
51
51
  url = f'https://graph.microsoft.com/v1.0/sites?search={site_name}'
52
52
  if self.debug:
53
53
  print(f"url: {url}")
54
- response = requests.get(url=url, headers=self._get_headers())
54
+ response = requests.get(url=url, headers=self._get_sharepoint_headers())
55
55
  response.raise_for_status()
56
56
  site_id = response.json()['value'][0]['id']
57
57
  if self.debug:
@@ -67,7 +67,7 @@ class Sharepoint(BrynQ):
67
67
  url = f'https://graph.microsoft.com/v1.0/sites/{self.site_id}/drives'
68
68
  if self.debug:
69
69
  print(f"url: {url}")
70
- response = requests.get(url, headers=self._get_headers())
70
+ response = requests.get(url, headers=self._get_sharepoint_headers())
71
71
  response.raise_for_status()
72
72
  drive_id = response.json()['value'][self.json_subset]['id']
73
73
  if self.debug:
@@ -85,7 +85,7 @@ class Sharepoint(BrynQ):
85
85
  url = f'https://graph.microsoft.com/v1.0/sites/{self.site_id}/drives/{drive_id}/root:/{remote_file_path}:/createUploadSession'
86
86
  if self.debug:
87
87
  print(f"url: {url}")
88
- headers = self._get_headers()
88
+ headers = self._get_sharepoint_headers()
89
89
  response = requests.post(url, headers=headers)
90
90
  response.raise_for_status()
91
91
  upload_url = response.json()['uploadUrl']
@@ -96,8 +96,10 @@ class Sharepoint(BrynQ):
96
96
  headers_upload = {'Content-Type': 'application/json',
97
97
  'Content-Length': f'{file_bytes}',
98
98
  'Content-Range': f'bytes 0-{file_bytes - 1}/{file_bytes}'}
99
- response_upload = requests.put(url=upload_url, headers=headers_upload, data=file_input)
100
- response_upload.raise_for_status()
99
+ response_upload = requests.put(url=upload_url, headers=headers_upload, data=file_input)
100
+ response_upload.raise_for_status()
101
+
102
+ return response_upload
101
103
 
102
104
  def open_file(self, remote_file_path: str) -> bytes:
103
105
  """
@@ -109,7 +111,7 @@ class Sharepoint(BrynQ):
109
111
  url = f'https://graph.microsoft.com/v1.0/sites/{self.site_id}/drives/{drive_id}/root:/{remote_file_path}'
110
112
  if self.debug:
111
113
  print(f"url: {url}")
112
- headers = self._get_headers()
114
+ headers = self._get_sharepoint_headers()
113
115
  response = requests.get(url=url, headers=headers)
114
116
  response.raise_for_status()
115
117
  download_url = response.json()['@microsoft.graph.downloadUrl']
@@ -128,7 +130,7 @@ class Sharepoint(BrynQ):
128
130
  """
129
131
  driveid = self.get_driveid()
130
132
  url = f'https://graph.microsoft.com/v1.0/sites/{self.site_id}/drives/{driveid}/root:/{remote_file_path}'
131
- headers = self._get_headers()
133
+ headers = self._get_sharepoint_headers()
132
134
  response = requests.get(url=url, headers=headers)
133
135
  response.raise_for_status()
134
136
  download_url = response.json()['@microsoft.graph.downloadUrl']
@@ -137,6 +139,8 @@ class Sharepoint(BrynQ):
137
139
  with open(file=f'{local_file_path}', mode='wb') as f:
138
140
  f.write(BytesIO(response_download.content).read())
139
141
 
142
+ return response_download
143
+
140
144
  def download_files(self, local_folder_path: str, remote_folder_path: str):
141
145
  """
142
146
  This method downloads a file from sharepoint to the local machine.
@@ -150,11 +154,13 @@ class Sharepoint(BrynQ):
150
154
  if self.debug:
151
155
  print(f"folder_content: {folder_content}")
152
156
  filecount = 0
157
+
158
+ responses = []
153
159
  for file in folder_content:
154
160
  url = f'https://graph.microsoft.com/v1.0/sites/{self.site_id}/drives/{driveid}/root:/{remote_folder_path}{file["name"]}'
155
161
  if self.debug:
156
162
  print(f"url: {url}")
157
- headers = self._get_headers()
163
+ headers = self._get_sharepoint_headers()
158
164
  response = requests.get(url=url, headers=headers)
159
165
  response.raise_for_status()
160
166
  download_url = response.json()['@microsoft.graph.downloadUrl']
@@ -162,8 +168,11 @@ class Sharepoint(BrynQ):
162
168
  with open(file=f'{local_folder_path}{file["name"]}', mode='wb') as f:
163
169
  f.write(BytesIO(response_download.content).read())
164
170
  filecount += 1
171
+ responses.append(response_download)
165
172
  print(f'{filecount} files downloaded')
166
173
 
174
+ return responses
175
+
167
176
  def list_dir(self, remote_folder_path: str, get_files_from_nested_folders: bool = False) -> [json, typing.Generator]:
168
177
  """
169
178
  Fetch the contents of the API and return the "children"
@@ -178,7 +187,7 @@ class Sharepoint(BrynQ):
178
187
  url = f'https://graph.microsoft.com/v1.0/sites/{self.site_id}/drives/{drive_id}/root:/{remote_folder_path}?expand=children'
179
188
  if self.debug:
180
189
  print(f"url: {url}")
181
- response = requests.get(url, headers=self._get_headers(), timeout=120)
190
+ response = requests.get(url, headers=self._get_sharepoint_headers(), timeout=120)
182
191
  response.raise_for_status()
183
192
 
184
193
  return response.json()['children']
@@ -202,9 +211,11 @@ class Sharepoint(BrynQ):
202
211
  url = f'https://graph.microsoft.com/v1.0/sites/{self.site_id}/drives/{drive_id}/root:/{remote_file_path}'
203
212
  if self.debug:
204
213
  print(f"url: {url}")
205
- response = requests.delete(url=url, headers=self._get_headers())
214
+ response = requests.delete(url=url, headers=self._get_sharepoint_headers())
206
215
  response.raise_for_status()
207
216
 
217
+ return response
218
+
208
219
  def remove_files(self, remote_folder_path: str):
209
220
  """
210
221
  Remove a file from Sharepoint
@@ -212,12 +223,16 @@ class Sharepoint(BrynQ):
212
223
  """
213
224
  drive_id = self.get_driveid()
214
225
  folder_content = self.list_dir(remote_folder_path=remote_folder_path)
226
+ responses = []
215
227
  for file in folder_content:
216
228
  url = f'https://graph.microsoft.com/v1.0/sites/{self.site_id}/drives/{drive_id}/root:/{remote_folder_path}{file["name"]}'
217
229
  if self.debug:
218
230
  print(f"url: {url}")
219
- response = requests.delete(url=url, headers=self._get_headers())
231
+ response = requests.delete(url=url, headers=self._get_sharepoint_headers())
220
232
  response.raise_for_status()
233
+ responses.append(response)
234
+
235
+ return responses
221
236
 
222
237
  def remove_folder(self, folder_id: str):
223
238
  """
@@ -228,5 +243,7 @@ class Sharepoint(BrynQ):
228
243
  url = f'https://graph.microsoft.com/v1.0/sites/{self.site_id}/drives/{drive_id}/items/{folder_id}'
229
244
  if self.debug:
230
245
  print(f"url: {url}")
231
- response = requests.delete(url=url, headers=self._get_headers())
232
- response.raise_for_status()
246
+ response = requests.delete(url=url, headers=self._get_sharepoint_headers())
247
+ response.raise_for_status()
248
+
249
+ return response
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: brynq-sdk-sharepoint
3
- Version: 1.0.0
3
+ Version: 1.1.0
4
4
  Summary: Sharepoint wrapper from BrynQ
5
5
  Home-page: UNKNOWN
6
6
  Author: BrynQ
@@ -3,7 +3,7 @@ from setuptools import setup
3
3
 
4
4
  setup(
5
5
  name='brynq_sdk_sharepoint',
6
- version='1.0.0',
6
+ version='1.1.0',
7
7
  description='Sharepoint wrapper from BrynQ',
8
8
  long_description='Sharepoint wrapper from BrynQ',
9
9
  author='BrynQ',