berryworld 1.0.0.194150__py3-none-any.whl → 1.0.0.194183__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/sql_connenction.py +21 -28
- berryworld/verify_keys.py +1 -1
- {berryworld-1.0.0.194150.dist-info → berryworld-1.0.0.194183.dist-info}/METADATA +1 -1
- {berryworld-1.0.0.194150.dist-info → berryworld-1.0.0.194183.dist-info}/RECORD +7 -7
- {berryworld-1.0.0.194150.dist-info → berryworld-1.0.0.194183.dist-info}/WHEEL +0 -0
- {berryworld-1.0.0.194150.dist-info → berryworld-1.0.0.194183.dist-info}/licenses/LICENSE +0 -0
- {berryworld-1.0.0.194150.dist-info → berryworld-1.0.0.194183.dist-info}/top_level.txt +0 -0
berryworld/sql_connenction.py
CHANGED
|
@@ -13,34 +13,27 @@ from numbers import Number
|
|
|
13
13
|
class SQLConnection:
|
|
14
14
|
""" Connect to Microsoft SQL """
|
|
15
15
|
|
|
16
|
-
def __init__(self, db_reference, server,
|
|
17
|
-
encrypt=True, multi_db=False):
|
|
16
|
+
def __init__(self, db_reference, server, master=False, trusted_certificate=True, encrypt=True, multi_db=False):
|
|
18
17
|
""" Initialize the class
|
|
19
18
|
It requires the
|
|
20
|
-
SQL-DBREFERENCE-
|
|
21
|
-
SQL-DBREFERENCE-USERNAME = 'user'
|
|
22
|
-
SQL-DBREFERENCE-PASSW = 'password'
|
|
19
|
+
SQL-DBREFERENCE-PROD = 'server_name db_name user password'
|
|
23
20
|
-----------------------------
|
|
24
21
|
db_reference = 'FruitFlow'
|
|
25
22
|
server = 'prod'
|
|
26
|
-
wincred = True
|
|
27
|
-
master = False
|
|
28
23
|
|
|
29
|
-
con_ = SQLConnection(db_reference, server
|
|
24
|
+
con_ = SQLConnection(db_reference, server)
|
|
30
25
|
-----------------------------
|
|
31
26
|
:param db_reference: Database reference to connect to
|
|
32
27
|
:param server: Server to connect to
|
|
33
28
|
:param master: Indicate whether the connection will be done to master or to a specific database
|
|
34
29
|
:param trusted_certificate: Indicate whether the connection will be done using the TrustServerCertificate
|
|
35
|
-
:param azure: Indicate whether the connection will be done to an Azure SQL database or to an on-premise SQL
|
|
36
30
|
:param encrypt: Indicate whether the connection will use SSL/TLS encryption
|
|
37
31
|
:param multi_db: Indicate whether the connection will be done to a specific database or to multiple databases
|
|
38
32
|
"""
|
|
39
33
|
self.db_reference = db_reference.replace("_", "") if "_" in db_reference else db_reference
|
|
40
34
|
self.server = server
|
|
41
|
-
self.db_server = db_server
|
|
42
35
|
if self.server is None:
|
|
43
|
-
raise ValueError("Please provide a value for server
|
|
36
|
+
raise ValueError("Please provide a value for server type")
|
|
44
37
|
|
|
45
38
|
self.multi_db = multi_db
|
|
46
39
|
self.master = master
|
|
@@ -55,13 +48,10 @@ class SQLConnection:
|
|
|
55
48
|
self.encrypt = ''
|
|
56
49
|
|
|
57
50
|
drivers = [driver for driver in pyodbc.drivers() if (bool(re.search(r'\d', driver)))]
|
|
58
|
-
self.azure = azure
|
|
59
|
-
self.creds = {}
|
|
60
51
|
try:
|
|
61
52
|
self.server_name, self.db_name, self.user_name, self.password = self.credentials()
|
|
62
|
-
|
|
63
53
|
except Exception as e:
|
|
64
|
-
|
|
54
|
+
raise ValueError(f"Cannot find a reference to {self.db_reference} and {self.server.upper()} server: {str(e)}")
|
|
65
55
|
|
|
66
56
|
self.con = None
|
|
67
57
|
self.engine = None
|
|
@@ -85,21 +75,24 @@ class SQLConnection:
|
|
|
85
75
|
""" Return the credentials used to connect to the SQL Server
|
|
86
76
|
:return: Dictionary with the credentials used to connect to the SQL Server
|
|
87
77
|
"""
|
|
88
|
-
|
|
89
|
-
|
|
78
|
+
server_creds = os.environ.get(f"SQL-{self.db_reference.upper()}-{self.server.upper()}")
|
|
79
|
+
server_creds = server_creds.split(' ') if server_creds is not None else None
|
|
80
|
+
if server_creds is None:
|
|
81
|
+
raise ValueError(f"Credentials not registered for {self.db_reference} on {self.server.upper()} server")
|
|
82
|
+
|
|
83
|
+
server_name = server_creds[0]
|
|
84
|
+
if len(server_creds) > 1:
|
|
85
|
+
db_name = server_creds[1]
|
|
90
86
|
else:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
server_name = os.environ.get(f"SQL-ONPREM-{self.server.upper()}")
|
|
95
|
-
|
|
96
|
-
if os.environ.get("SQL-" + self.db_reference.upper() + '-DBNAME-' + self.server.upper()) is not None:
|
|
97
|
-
db_name = os.environ.get("SQL-" + self.db_reference.upper() + '-DBNAME-' + self.server.upper())
|
|
87
|
+
raise ValueError(f"Database name not provided for {self.db_reference} on {self.server.upper()} server")
|
|
88
|
+
if len(server_creds) > 2:
|
|
89
|
+
user_name = server_creds[2]
|
|
98
90
|
else:
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
91
|
+
raise ValueError(f"User name not provided for {self.db_reference} on {self.server.upper()} server")
|
|
92
|
+
if len(server_creds) > 3:
|
|
93
|
+
password = server_creds[3]
|
|
94
|
+
else:
|
|
95
|
+
raise ValueError(f"Password not provided for {self.db_reference} on {self.server.upper()} server")
|
|
103
96
|
|
|
104
97
|
return re.sub(r'(\\)\1*', r'\1', server_name), db_name, user_name, password
|
|
105
98
|
|
berryworld/verify_keys.py
CHANGED
|
@@ -14,7 +14,7 @@ load_dotenv(os.path.join(os.getcwd(), '.env'))
|
|
|
14
14
|
class Verify:
|
|
15
15
|
""" Encrypt and Verify keys """
|
|
16
16
|
|
|
17
|
-
def __init__(self, key_name: str = '
|
|
17
|
+
def __init__(self, key_name: str = 'SECRET-KEY', key_override: str = None):
|
|
18
18
|
""" Initialize the class """
|
|
19
19
|
self.key = os.environ.get(key_name)
|
|
20
20
|
if key_override is not None:
|
|
@@ -19,19 +19,19 @@ berryworld/power_automate.py,sha256=V86QEGG9H36DrDvod9Q6yp8OUu307hfYcXJhw06pYrA,
|
|
|
19
19
|
berryworld/sharepoint_con.py,sha256=_P9m6OydNbm7tCtdMGfF5KRif2eooCcSW3tKbdYr2R4,22254
|
|
20
20
|
berryworld/snowflake_conn.py,sha256=go5ZJjnhz5SkG83B0G0XZSwKgU6tg7AFTBso59oRG5M,2434
|
|
21
21
|
berryworld/sql_conn.py,sha256=tYKgD8ja7NQuvLB1WBjdsJbPcm3eX1Y76QPTEgx8R8Q,47564
|
|
22
|
-
berryworld/sql_connenction.py,sha256=
|
|
22
|
+
berryworld/sql_connenction.py,sha256=ku2f4_4JY-X-G9dY7h1eKEkRgZY_Ps-1pC1_1ZvF1ng,48411
|
|
23
23
|
berryworld/teams_logging.py,sha256=8NwXyWr4fLj7W6GzAm2nRQCGFDxibQpAHDHHD24FrP8,6997
|
|
24
24
|
berryworld/transportation_solver.py,sha256=tNc1JJk71azIBccdWVHbqcvXWhalOdKffv6HmBD6tG0,5014
|
|
25
|
-
berryworld/verify_keys.py,sha256=
|
|
25
|
+
berryworld/verify_keys.py,sha256=X7VUHqYDklWPDO0bGVHIOXeLq5Qi4fZRZbHYw5x7UnA,4356
|
|
26
26
|
berryworld/vivantio.py,sha256=QfZo0UKqkzVRg_LyiwivNd3aEup4TH57x4KxLZkCJwc,10627
|
|
27
27
|
berryworld/vivantio_logging.py,sha256=ciy7gA4u3FrgUIpEBnMgocbNPp6jcu9TPoy-kLcrTZU,5736
|
|
28
28
|
berryworld/xml_parser.py,sha256=HWD71NaTN3DaIOGT6Wzxs4CEsroFhGQwe9iPLIL80Co,957
|
|
29
|
-
berryworld-1.0.0.
|
|
29
|
+
berryworld-1.0.0.194183.dist-info/licenses/LICENSE,sha256=vtkVCJM6E2af2gnsi2XxKPr4WY-uIbvzVLXieFND0UU,1074
|
|
30
30
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
31
|
tests/test_allocation_config.py,sha256=e12l6fE9U57eSPS35g6ekJ_hol7-RHg89JV60_m1BlE,4633
|
|
32
32
|
tests/test_handy_mix_config.py,sha256=Un56mz9KJmdn4K4OwzHAHLSRzDU1Xv2nFrONNuzOG04,2594
|
|
33
33
|
tests/test_xml_parser.py,sha256=3QTlhFEd6KbK6nRFKZnc35tad6wqukTbe4QrFi8mr_8,859
|
|
34
|
-
berryworld-1.0.0.
|
|
35
|
-
berryworld-1.0.0.
|
|
36
|
-
berryworld-1.0.0.
|
|
37
|
-
berryworld-1.0.0.
|
|
34
|
+
berryworld-1.0.0.194183.dist-info/METADATA,sha256=IEjVe7sa_ieI31kTqJ_65c98yxdeWqGOSD1aKwGuR1A,1445
|
|
35
|
+
berryworld-1.0.0.194183.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
36
|
+
berryworld-1.0.0.194183.dist-info/top_level.txt,sha256=GIZ5qy-P5oxfEH755vA1IMFeTVdX3-40JxMe6nOe5I8,17
|
|
37
|
+
berryworld-1.0.0.194183.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|