berryworld 1.0.0.169823__py3-none-any.whl → 1.0.0.170753__py3-none-any.whl

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.
berryworld/email_con.py CHANGED
@@ -267,6 +267,8 @@ class EmailConnection:
267
267
  response = requests.get(url=base_url, headers=header)
268
268
  json_resp = response.json()
269
269
 
270
+ if 'value' not in json_resp.keys():
271
+ return False
270
272
  emails_df = pd.DataFrame(json_resp['value'])
271
273
  if emails_df.shape[0] > 0:
272
274
  emails_df = emails_df.loc[emails_df['isRead'] == False]
@@ -278,6 +280,9 @@ class EmailConnection:
278
280
 
279
281
  @staticmethod
280
282
  def get_mimetype(file_path):
283
+ """ Get the mimetype of the file to be attached to the email
284
+ :param file_path: Path of the file to be attached
285
+ """
281
286
  # Get mimetype
282
287
  mimetype = None
283
288
  extension = None
@@ -21,19 +21,19 @@ class SharepointConnection:
21
21
  """
22
22
  try:
23
23
  if env_name is None:
24
- raise ValueError("Please provide a value for env_name")
25
- self.env_name = env_name
24
+ raise ValueError('Please provide a valid env_name')
25
+
26
26
  if api_version is None:
27
27
  self.api_version = 'v1.0'
28
+ else:
29
+ self.api_version = api_version
28
30
 
29
- self.client_id = os.environ.get(f"SHAREPOINT_CLIENT_ID_{self.env_name.upper()}")
31
+ self.env_name = env_name
32
+ self.client_id = os.environ.get(f"SHAREPOINT_CLIENT_ID")
33
+ self.organisation_id = os.environ.get(f"SHAREPOINT_ORG_ID")
34
+ self.username = os.environ.get(f"SHAREPOINT_USER")
35
+ self.password = os.environ.get(f"SHAREPOINT_PASSWORD")
30
36
  self.scopes = ['Sites.ReadWrite.All', 'Files.ReadWrite.All']
31
- self.organisation_id = os.environ.get(f"SHAREPOINT_ORG_{self.env_name.upper()}")
32
- self.username = os.environ.get(f"SHAREPOINT_USER_{self.env_name.upper()}")
33
- self.password = os.environ.get(f"SHAREPOINT_PASSWORD_{self.env_name.upper()}")
34
- self.site_id = os.environ.get(f"SHAREPOINT_SITE_ID_{self.env_name.upper()}")
35
- self.site_name = os.environ.get(f"SHAREPOINT_SITE_NAME_{self.env_name.upper()}")
36
- self.api_version = self.api_version
37
37
 
38
38
  except ValueError as e:
39
39
  raise ValueError(f"Variable {str(e)} not found")
@@ -42,6 +42,7 @@ class SharepointConnection:
42
42
  self.headers = self.get_headers()
43
43
  self.children = 'children?select=id,name,webUrl,file'
44
44
 
45
+ self.site_id = self.list_sites(site_name=env_name)['id'].values[0]
45
46
  self.drive_id = self.set_drive_id()
46
47
 
47
48
  def get_headers(self):
@@ -64,14 +65,24 @@ class SharepointConnection:
64
65
  raise ValueError(f"Could not retrieve the root folders: {traceback.format_exc()}")
65
66
  return drive_id
66
67
 
67
- def list_sites(self):
68
+ def list_sites(self, site_name=None):
68
69
  """ List Sites in SharePoint
70
+ :param site_name: Name of the site to retrieve the information
69
71
  """
70
72
  site_url = f'{self.graph_url}/sites?search=*'
71
73
  try:
72
74
  result = requests.get(site_url, headers=self.headers)
73
75
  site_values = result.json()['value']
74
- return pd.DataFrame(site_values)[['id', 'name', 'webUrl']]
76
+ sites_df = pd.DataFrame(site_values)[['id', 'name', 'webUrl']]
77
+
78
+ if site_name is not None:
79
+ sites_df = sites_df.loc[
80
+ sites_df['name'].str.lower().str.replace(' ', '') == site_name.lower().replace(' ', '')]
81
+ if sites_df.shape[0] == 0:
82
+ raise ValueError(f"The site {site_name} was not found")
83
+
84
+ return sites_df
85
+
75
86
  except ValueError as e:
76
87
  raise ValueError(f"Could not retrieve the sites: {str(e)}")
77
88
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: berryworld
3
- Version: 1.0.0.169823
3
+ Version: 1.0.0.170753
4
4
  Summary: Handy classes to improve ETL processes
5
5
  Home-page: https://www.berryworld.com
6
6
  Author: BerryWorld ltd
@@ -6,7 +6,7 @@ berryworld/app_logs_query.py,sha256=U94b-z3X9cuY_KFozupUcfaYciXWBn7p_RHkoRsfROU,
6
6
  berryworld/cache_data.py,sha256=2cStWbFQHimon_lHMbcM_0vU7lt-FCge96D-T9YXaxQ,2242
7
7
  berryworld/credentials.py,sha256=Knxo4gssLT7sbaBjOTFe3mX5k70G2e0M_6CdtlddjtA,10200
8
8
  berryworld/devops.py,sha256=BAsVonVwCXoApUOovkt-BCzwc6KnXjxRDGff_ejSGw8,9719
9
- berryworld/email_con.py,sha256=N-3R69MrqnzUSW4h9k0JJTjmzJuCKC_HkkQzClWRdX8,14142
9
+ berryworld/email_con.py,sha256=_QGA575BPVIqz7Z2AAghZCgN9YOkgDDYDpvcwnNo6ns,14358
10
10
  berryworld/email_logging.py,sha256=br2wlwoxVspEuUJJ7VXa4hUxPbBKBRfSKfTQ0GRrreI,3468
11
11
  berryworld/generate_env.py,sha256=Tk9Z_u7cA4Ve8YYTyLH2qwmLVAuYoTIWoFc0h8Va8lY,7842
12
12
  berryworld/handy_mix.py,sha256=SLCAdl2xaWEewWkECzcVFUDODDEkvUgpmJjTiccyVwU,9771
@@ -16,7 +16,7 @@ berryworld/persistent_storage.py,sha256=_lGdXa7IyxfMF3xNF9y26X_z9RDb2Ah7R0oF61HR
16
16
  berryworld/pickle_management.py,sha256=O49ojVtTqYCT510rVRTbZWWaur_-5q3HSVG03Azn8mQ,2393
17
17
  berryworld/postgres_connection.py,sha256=whKDnchd5Feqpmxpoh2vlyn36EKHR-dVEULYq0N_4wA,8287
18
18
  berryworld/power_automate.py,sha256=9rDuRy0v-Ttq-SThid4lOB_tD4ibkyEmobiROpa--g4,25414
19
- berryworld/sharepoint_con.py,sha256=72CZSVpAoHxocAWFuSSeUkNHa4Vu8FdM09NX-QC5-eE,22011
19
+ berryworld/sharepoint_con.py,sha256=TuH-Vxk1VxjTi7x80KFssf_J8YPLRXpV27RBaFZi37U,22254
20
20
  berryworld/sql_conn.py,sha256=GxkCTUpGouJ9ppiP_71_nfHrxOQSjlmh6UPlIRf7L98,46191
21
21
  berryworld/sql_connection.py,sha256=u-2oNFC8cTP0nXkBGp62XjD06kukMFkwFMQ57CwsySQ,44364
22
22
  berryworld/teams_logging.py,sha256=8NwXyWr4fLj7W6GzAm2nRQCGFDxibQpAHDHHD24FrP8,6997
@@ -29,8 +29,8 @@ tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
29
  tests/test_allocation_config.py,sha256=e12l6fE9U57eSPS35g6ekJ_hol7-RHg89JV60_m1BlE,4633
30
30
  tests/test_handy_mix_config.py,sha256=Un56mz9KJmdn4K4OwzHAHLSRzDU1Xv2nFrONNuzOG04,2594
31
31
  tests/test_xml_parser.py,sha256=3QTlhFEd6KbK6nRFKZnc35tad6wqukTbe4QrFi8mr_8,859
32
- berryworld-1.0.0.169823.dist-info/LICENSE,sha256=vtkVCJM6E2af2gnsi2XxKPr4WY-uIbvzVLXieFND0UU,1074
33
- berryworld-1.0.0.169823.dist-info/METADATA,sha256=xdLrr2dPgULwzjSgTzaZWz7zuIVhAy34L3DtD7tjAUU,1107
34
- berryworld-1.0.0.169823.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
35
- berryworld-1.0.0.169823.dist-info/top_level.txt,sha256=GIZ5qy-P5oxfEH755vA1IMFeTVdX3-40JxMe6nOe5I8,17
36
- berryworld-1.0.0.169823.dist-info/RECORD,,
32
+ berryworld-1.0.0.170753.dist-info/LICENSE,sha256=vtkVCJM6E2af2gnsi2XxKPr4WY-uIbvzVLXieFND0UU,1074
33
+ berryworld-1.0.0.170753.dist-info/METADATA,sha256=fvG-6-6i-EWLQJdwZ4a86jcOrjgpGHYVP8Yx_8S4G6k,1107
34
+ berryworld-1.0.0.170753.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
35
+ berryworld-1.0.0.170753.dist-info/top_level.txt,sha256=GIZ5qy-P5oxfEH755vA1IMFeTVdX3-40JxMe6nOe5I8,17
36
+ berryworld-1.0.0.170753.dist-info/RECORD,,