edx-enterprise-data 8.2.0__py3-none-any.whl → 8.3.1__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edx-enterprise-data
3
- Version: 8.2.0
3
+ Version: 8.3.1
4
4
  Summary: Enterprise Reporting
5
5
  Home-page: https://github.com/openedx/edx-enterprise-data
6
6
  Author: edX
@@ -24,21 +24,21 @@ Requires-Dist: edx-rbac
24
24
  Requires-Dist: edx-rest-api-client
25
25
  Requires-Dist: factory-boy
26
26
  Requires-Dist: mysql-connector-python
27
- Requires-Dist: numpy <=1.24.4
28
- Requires-Dist: pandas <=2.0.3
27
+ Requires-Dist: numpy<=1.24.4
28
+ Requires-Dist: pandas<=2.0.3
29
29
  Requires-Dist: requests
30
30
  Requires-Dist: rules
31
31
  Provides-Extra: reporting
32
- Requires-Dist: PGPy ; extra == 'reporting'
33
- Requires-Dist: awscli ; extra == 'reporting'
34
- Requires-Dist: boto3 ; extra == 'reporting'
35
- Requires-Dist: celery ==5.3.6 ; extra == 'reporting'
36
- Requires-Dist: cryptography ; extra == 'reporting'
37
- Requires-Dist: https ; extra == 'reporting'
38
- Requires-Dist: paramiko ; extra == 'reporting'
39
- Requires-Dist: pyminizip ; extra == 'reporting'
40
- Requires-Dist: snowflake-connector-python ; extra == 'reporting'
41
- Requires-Dist: unicodecsv ==0.14.1 ; extra == 'reporting'
42
- Requires-Dist: vertica-python ; extra == 'reporting'
32
+ Requires-Dist: PGPy; extra == "reporting"
33
+ Requires-Dist: awscli; extra == "reporting"
34
+ Requires-Dist: boto3; extra == "reporting"
35
+ Requires-Dist: celery==5.3.6; extra == "reporting"
36
+ Requires-Dist: cryptography; extra == "reporting"
37
+ Requires-Dist: https; extra == "reporting"
38
+ Requires-Dist: paramiko; extra == "reporting"
39
+ Requires-Dist: pyminizip; extra == "reporting"
40
+ Requires-Dist: snowflake-connector-python; extra == "reporting"
41
+ Requires-Dist: unicodecsv==0.14.1; extra == "reporting"
42
+ Requires-Dist: vertica-python; extra == "reporting"
43
43
 
44
44
  Tools and products related to providing access to Enterprise data.
@@ -1,4 +1,4 @@
1
- enterprise_data/__init__.py,sha256=m1B80oppzBzILf9k9JMTLdt0jtuzOm21d91sVIZvtmM,123
1
+ enterprise_data/__init__.py,sha256=9P5euSdqQ9R848n450LMmcWN8bT4_wUPcxDHek9waKk,123
2
2
  enterprise_data/apps.py,sha256=aF6hZwDfI2oWj95tUTm_2ikHueQj-jLj-u0GrgzpsQI,414
3
3
  enterprise_data/clients.py,sha256=GvQupy5TVYfO_IKC3yzXSAgNP54r-PtIjidM5ws9Iks,3947
4
4
  enterprise_data/constants.py,sha256=uCKjfpdlMYFZJsAj3n9RMw4Cmg5_6s3NuwocO-fch3s,238
@@ -10,9 +10,8 @@ enterprise_data/signals.py,sha256=8eqNPnlvmfsKf19lGWv5xTIuBgQIqR8EZSp9UYzC8Rc,10
10
10
  enterprise_data/urls.py,sha256=bqtKF5OEWEwrNmHG3os-pZNuNsmjlhxEqp7yM4TbPf4,243
11
11
  enterprise_data/utils.py,sha256=UruTQLJcEl-q5UWGPnJZrnBnV1OvzBvhuoB_JkRY4Is,2328
12
12
  enterprise_data/admin_analytics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- enterprise_data/admin_analytics/constants.py,sha256=m7mK2PxkwnuzRAWlcPfMRdjY1r8D3dpA_i6PD0_aqBM,587
14
13
  enterprise_data/admin_analytics/data_loaders.py,sha256=jP9CgUt_93Bl_ak1_6dBPN4PAEdDT1da3sEMjJ45NLg,4281
15
- enterprise_data/admin_analytics/database.py,sha256=PZRJ-URmZKo7ib88iEZbN61Nhp6uwc5NpzYrrff-gTg,857
14
+ enterprise_data/admin_analytics/database.py,sha256=mNS_9xE5h6O7oMMzr6kr6LDTTSNvKzo8vaM-YG8tOd8,1312
16
15
  enterprise_data/admin_analytics/utils.py,sha256=Cock_rTtHkBEKcG3cq7VcYRPEuxC_SyJBlZn9KdVeCA,2465
17
16
  enterprise_data/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
17
  enterprise_data/api/urls.py,sha256=POqc_KATHdnpMf9zHtpO46pKD5KAlAExtx7G6iylLcU,273
@@ -148,8 +147,8 @@ enterprise_reporting/tests/test_send_enterprise_reports.py,sha256=WtL-RqGgu2x5PP
148
147
  enterprise_reporting/tests/test_utils.py,sha256=Zt_TA0LVb-B6fQGkUkAKKVlUKKnQh8jnw1US1jKe7g8,9493
149
148
  enterprise_reporting/tests/test_vertica_client.py,sha256=-R2yNCGUjRtoXwLMBloVFQkFYrJoo613VCr61gwI3kQ,140
150
149
  enterprise_reporting/tests/utils.py,sha256=xms2LM7DV3wczXEfctOK1ddel1EE0J_YSr17UzbCDy4,1401
151
- edx_enterprise_data-8.2.0.dist-info/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
152
- edx_enterprise_data-8.2.0.dist-info/METADATA,sha256=81erBLhfqTyzo75DfCtXfMt-qYPFnfrBSITELJCJCDw,1584
153
- edx_enterprise_data-8.2.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
154
- edx_enterprise_data-8.2.0.dist-info/top_level.txt,sha256=f5F2kU-dob6MqiHJpgZkFzoCD5VMhsdpkTV5n9Tvq3I,59
155
- edx_enterprise_data-8.2.0.dist-info/RECORD,,
150
+ edx_enterprise_data-8.3.1.dist-info/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
151
+ edx_enterprise_data-8.3.1.dist-info/METADATA,sha256=Wb7AA7AgVPyoHB7_BzDnbnjcZ_-xx1nXtUCf0vkrAs8,1569
152
+ edx_enterprise_data-8.3.1.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
153
+ edx_enterprise_data-8.3.1.dist-info/top_level.txt,sha256=f5F2kU-dob6MqiHJpgZkFzoCD5VMhsdpkTV5n9Tvq3I,59
154
+ edx_enterprise_data-8.3.1.dist-info/RECORD,,
@@ -2,4 +2,4 @@
2
2
  Enterprise data api application. This Django app exposes API endpoints used by enterprises.
3
3
  """
4
4
 
5
- __version__ = "8.2.0"
5
+ __version__ = "8.3.1"
@@ -4,12 +4,31 @@ Utility functions for interacting with the database.
4
4
  from contextlib import closing
5
5
  from logging import getLogger
6
6
 
7
- from enterprise_data.admin_analytics.constants import DATABASE_CONNECTION_CONFIG, DATABASE_CONNECTOR
7
+ from mysql.connector import connect
8
+
9
+ from django.conf import settings
10
+
8
11
  from enterprise_data.utils import timeit
9
12
 
10
13
  LOGGER = getLogger(__name__)
11
14
 
12
15
 
16
+ def get_db_connection(database=settings.ENTERPRISE_REPORTING_DB_ALIAS):
17
+ """
18
+ Get a connection to the database.
19
+
20
+ Returns:
21
+ (mysql.connector.connection.MySQLConnection): The database connection.
22
+ """
23
+ return connect(
24
+ host=settings.DATABASES[database]['HOST'],
25
+ port=settings.DATABASES[database]['PORT'],
26
+ database=settings.DATABASES[database]['NAME'],
27
+ user=settings.DATABASES[database]['USER'],
28
+ password=settings.DATABASES[database]['PASSWORD'],
29
+ )
30
+
31
+
13
32
  @timeit
14
33
  def run_query(query):
15
34
  """
@@ -22,7 +41,7 @@ def run_query(query):
22
41
  (list): The results of the query.
23
42
  """
24
43
  try:
25
- with closing(DATABASE_CONNECTOR(**DATABASE_CONNECTION_CONFIG)) as connection:
44
+ with closing(get_db_connection()) as connection:
26
45
  with closing(connection.cursor()) as cursor:
27
46
  cursor.execute(query)
28
47
  return cursor.fetchall()
@@ -1,15 +0,0 @@
1
- """
2
- Constants for admin analytics.
3
- """
4
- import mysql.connector
5
-
6
- from django.conf import settings
7
-
8
- DATABASE_CONNECTION_CONFIG = {
9
- 'host': settings.DATABASES[settings.ENTERPRISE_REPORTING_DB_ALIAS]['HOST'],
10
- 'port': settings.DATABASES[settings.ENTERPRISE_REPORTING_DB_ALIAS]['PORT'],
11
- 'database': settings.DATABASES[settings.ENTERPRISE_REPORTING_DB_ALIAS]['NAME'],
12
- 'user': settings.DATABASES[settings.ENTERPRISE_REPORTING_DB_ALIAS]['USER'],
13
- 'password': settings.DATABASES[settings.ENTERPRISE_REPORTING_DB_ALIAS]['PASSWORD'],
14
- }
15
- DATABASE_CONNECTOR = mysql.connector.connect