edx-enterprise-data 9.5.0__py3-none-any.whl → 9.5.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: 9.5.0
3
+ Version: 9.5.1
4
4
  Summary: Enterprise Reporting
5
5
  Home-page: https://github.com/openedx/edx-enterprise-data
6
6
  Author: edX
@@ -1,4 +1,4 @@
1
- enterprise_data/__init__.py,sha256=JW7qtv6N00jaUkuzi5-tcxr7D5Om-AjAkr0V8FC3M-M,123
1
+ enterprise_data/__init__.py,sha256=597GPablerGSQN5qU0C5o7xVUCMCXM3NYNpwnoRv1z4,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
@@ -15,13 +15,13 @@ enterprise_data/admin_analytics/data_loaders.py,sha256=NixI-4M3D4MnI279x5hqqTw84
15
15
  enterprise_data/admin_analytics/database/__init__.py,sha256=vNSWKf2VV5xMegN7htJJtxtQEb0ASLC6frE2w0ZpYpE,104
16
16
  enterprise_data/admin_analytics/database/utils.py,sha256=5u-d6ZQW95mF_r4bH8Xdi7DgpYAuDFOG_q0P-bjKXHU,1712
17
17
  enterprise_data/admin_analytics/database/queries/__init__.py,sha256=IC5TLOr_GnydbrVbl2mWhwO3aUbYeHuDmfPTLmwGhZA,218
18
- enterprise_data/admin_analytics/database/queries/fact_engagement_admin_dash.py,sha256=T6iFTSKwRItNvThFH_IqlgOURSEY9Ol4hda8VpHNdiU,7364
18
+ enterprise_data/admin_analytics/database/queries/fact_engagement_admin_dash.py,sha256=r62hjL680PEC-qKE7gty5oHAtluQdLsg1QoSuabhKOc,7289
19
19
  enterprise_data/admin_analytics/database/queries/fact_enrollment_admin_dash.py,sha256=brRgmgtzPLsOdt1vYrk_EpoQLm2izmOdBapxAxNkXzA,8420
20
20
  enterprise_data/admin_analytics/database/queries/skills_daily_rollup_admin_dash.py,sha256=PgWwvtVCK5lbiq6z44lH0fwbkdWYukhyXZL9X8lNWCY,4099
21
21
  enterprise_data/admin_analytics/database/tables/__init__.py,sha256=Z-c3P9hqR-dC9uYKe63qHkQG9Nms8cLE2jRN-4jeMM0,289
22
22
  enterprise_data/admin_analytics/database/tables/base.py,sha256=1KyKsC18pW3m-5U-T6pdt5rIwsz6Wp3QFFbD3r6L6YQ,395
23
- enterprise_data/admin_analytics/database/tables/fact_engagement_admin_dash.py,sha256=igF7v9XAj7wrJrx8Lg4GtGv54RBrwhIFPB8Us4m24mY,10183
24
- enterprise_data/admin_analytics/database/tables/fact_enrollment_admin_dash.py,sha256=q1XB7aDwFzllS5lBQNfS2y7drehqiK7o0J1eiYzqFOk,10854
23
+ enterprise_data/admin_analytics/database/tables/fact_engagement_admin_dash.py,sha256=bfuNuEUF-x4f_y7WGY2-qapMYuqjZ_S-LDHYvk2OMOU,10324
24
+ enterprise_data/admin_analytics/database/tables/fact_enrollment_admin_dash.py,sha256=Hu2NUtq8vdX9kyz1lhs0P5l2sgg-nglygTsIb4g-exM,11047
25
25
  enterprise_data/admin_analytics/database/tables/skills_daily_rollup_admin_dash.py,sha256=9PqLeVqByrz7R0qumRbwJlr5lzIWn7Fl7WEGM0aJVlw,3131
26
26
  enterprise_data/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  enterprise_data/api/urls.py,sha256=POqc_KATHdnpMf9zHtpO46pKD5KAlAExtx7G6iylLcU,273
@@ -167,8 +167,8 @@ enterprise_reporting/tests/test_send_enterprise_reports.py,sha256=WtL-RqGgu2x5PP
167
167
  enterprise_reporting/tests/test_utils.py,sha256=Zt_TA0LVb-B6fQGkUkAKKVlUKKnQh8jnw1US1jKe7g8,9493
168
168
  enterprise_reporting/tests/test_vertica_client.py,sha256=-R2yNCGUjRtoXwLMBloVFQkFYrJoo613VCr61gwI3kQ,140
169
169
  enterprise_reporting/tests/utils.py,sha256=xms2LM7DV3wczXEfctOK1ddel1EE0J_YSr17UzbCDy4,1401
170
- edx_enterprise_data-9.5.0.dist-info/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
171
- edx_enterprise_data-9.5.0.dist-info/METADATA,sha256=xUr5rViJ5EEvt-15aIDF3b6AGVW0ih-1kwffcjqmtgs,1569
172
- edx_enterprise_data-9.5.0.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
173
- edx_enterprise_data-9.5.0.dist-info/top_level.txt,sha256=f5F2kU-dob6MqiHJpgZkFzoCD5VMhsdpkTV5n9Tvq3I,59
174
- edx_enterprise_data-9.5.0.dist-info/RECORD,,
170
+ edx_enterprise_data-9.5.1.dist-info/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
171
+ edx_enterprise_data-9.5.1.dist-info/METADATA,sha256=OTUxL1L8V-JAC4CaO4k2fIov0It3sl8m23jOVBClSbo,1569
172
+ edx_enterprise_data-9.5.1.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
173
+ edx_enterprise_data-9.5.1.dist-info/top_level.txt,sha256=f5F2kU-dob6MqiHJpgZkFzoCD5VMhsdpkTV5n9Tvq3I,59
174
+ edx_enterprise_data-9.5.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__ = "9.5.0"
5
+ __version__ = "9.5.1"
@@ -175,8 +175,7 @@ class FactEngagementAdminDashQueries:
175
175
  """
176
176
  return """
177
177
  SELECT
178
- COUNT(*) OVER () AS record_count,
179
- sum(case when email is null then 1 else 0 end) null_count
178
+ COUNT(*) OVER () AS record_count
180
179
  FROM fact_enrollment_engagement_day_admin_dash
181
180
  WHERE enterprise_customer_uuid=%(enterprise_customer_uuid)s AND
182
181
  (activity_date BETWEEN %(start_date)s AND %(end_date)s) AND
@@ -35,6 +35,9 @@ class FactEngagementAdminDashTable(BaseTable):
35
35
  'end_date': end_date,
36
36
  }
37
37
  )
38
+ if not results:
39
+ return 0.0, 0
40
+
38
41
  return tuple(results[0])
39
42
 
40
43
  def get_engagement_count(self, enterprise_customer_uuid: UUID, start_date: date, end_date: date):
@@ -57,6 +60,8 @@ class FactEngagementAdminDashTable(BaseTable):
57
60
  'end_date': end_date,
58
61
  }
59
62
  )
63
+ if not results:
64
+ return 0
60
65
  return results[0][0]
61
66
 
62
67
  def get_all_engagements(
@@ -272,4 +277,6 @@ class FactEngagementAdminDashTable(BaseTable):
272
277
  'end_date': end_date,
273
278
  }
274
279
  )
280
+ if not results:
281
+ return 0
275
282
  return results[0][0]
@@ -35,6 +35,8 @@ class FactEnrollmentAdminDashTable(BaseTable):
35
35
  'end_date': end_date,
36
36
  }
37
37
  )
38
+ if not results:
39
+ return 0
38
40
  return int(results[0][0] or 0)
39
41
 
40
42
  def get_all_enrollments(
@@ -79,6 +81,8 @@ class FactEnrollmentAdminDashTable(BaseTable):
79
81
  query=self.queries.get_enrollment_date_range_query(),
80
82
  params={'enterprise_customer_uuid': enterprise_customer_uuid}
81
83
  )
84
+ if not results:
85
+ return None, None
82
86
  min_date, max_date = results[0]
83
87
 
84
88
  # We should return date objects, not datetime objects
@@ -110,6 +114,8 @@ class FactEnrollmentAdminDashTable(BaseTable):
110
114
  'end_date': end_date,
111
115
  }
112
116
  )
117
+ if not results:
118
+ return 0, 0
113
119
  return tuple(results[0])
114
120
 
115
121
  def get_completion_count(self, enterprise_customer_uuid: UUID, start_date: date, end_date: date):
@@ -132,6 +138,9 @@ class FactEnrollmentAdminDashTable(BaseTable):
132
138
  'end_date': end_date,
133
139
  }
134
140
  )
141
+ if not results:
142
+ return 0
143
+
135
144
  return int(results[0][0] or 0)
136
145
 
137
146
  def get_top_courses_by_enrollments(self, enterprise_customer_uuid: UUID, start_date: date, end_date: date):