agilix-api-fr8train 2.2.3__tar.gz → 2.3.2__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.
Files changed (35) hide show
  1. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/PKG-INFO +1 -1
  2. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/api.py +6 -3
  3. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/models/enrollments.py +38 -0
  4. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train.egg-info/PKG-INFO +1 -1
  5. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/pyproject.toml +1 -1
  6. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/LICENSE +0 -0
  7. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/README.md +0 -0
  8. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/__init__.py +0 -0
  9. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/factories/__init__.py +0 -0
  10. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/factories/api.py +0 -0
  11. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/factories/authentication.py +0 -0
  12. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/factories/course.py +0 -0
  13. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/factories/domain.py +0 -0
  14. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/factories/enrollment.py +0 -0
  15. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/factories/rights.py +0 -0
  16. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/factories/submission.py +0 -0
  17. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/factories/user.py +0 -0
  18. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/models/__init__.py +0 -0
  19. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/models/authentication.py +0 -0
  20. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/models/connection.py +0 -0
  21. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/models/courses.py +0 -0
  22. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/models/datastreams.py +0 -0
  23. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/models/domains.py +0 -0
  24. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/models/generics.py +0 -0
  25. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/models/gradebook.py +0 -0
  26. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/models/manifests.py +0 -0
  27. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/models/rights.py +0 -0
  28. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/models/submissions.py +0 -0
  29. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train/models/users.py +0 -0
  30. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train.egg-info/SOURCES.txt +0 -0
  31. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train.egg-info/dependency_links.txt +0 -0
  32. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train.egg-info/requires.txt +0 -0
  33. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/agilix_api_fr8train.egg-info/top_level.txt +0 -0
  34. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/setup.cfg +0 -0
  35. {agilix_api_fr8train-2.2.3 → agilix_api_fr8train-2.3.2}/tests/test_is_active_student.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agilix-api-fr8train
3
- Version: 2.2.3
3
+ Version: 2.3.2
4
4
  Summary: A Python SDK for integrating with the Agilix Buzz API
5
5
  Author-email: Tyler Collette <tyler.collette@gmail.com>
6
6
  Project-URL: Documentation, https://github.com/fr8train-sv/agilix-api/wiki
@@ -43,7 +43,7 @@ from agilix_api_fr8train.models.enrollments import (
43
43
  ListEntityEnrollmentsDefinition,
44
44
  UpdateEnrollmentsDefinition,
45
45
  GetEnrollmentDefinition,
46
- GetEnrollmentActivityDefinition,
46
+ GetEnrollmentActivityDefinition, GetEnrollmentGradebookDefinition,
47
47
  )
48
48
  from agilix_api_fr8train.models.authentication import UpdatePasswordDefinition
49
49
 
@@ -218,10 +218,10 @@ class Api:
218
218
 
219
219
  return response.get("response", {}).get("enrollment", {})
220
220
 
221
- def get_enrollment_gradebook(self, enrollment_id: int) -> dict:
221
+ def get_enrollment_gradebook(self, definition: GetEnrollmentGradebookDefinition) -> dict:
222
222
  response = self._conn.get(
223
223
  "getenrollmentgradebook2",
224
- params={"enrollmentid": enrollment_id, "itemid": "**"},
224
+ params=dict(definition),
225
225
  )
226
226
 
227
227
  return response.get("response", {}).get("enrollment", {})
@@ -415,6 +415,9 @@ class Api:
415
415
 
416
416
  users.extend(response)
417
417
  p(f"Total users fetched from cmd=listusers: {len(users)}", "\r")
418
+ if len(response) == 0:
419
+ return users
420
+
418
421
  last_user = response[-1]
419
422
 
420
423
  while response and len(response) == definition.limit:
@@ -1,4 +1,42 @@
1
1
  from pendulum import DateTime
2
+ from typing import Optional as Opt
3
+
4
+ class GetEnrollmentGradebookDefinition:
5
+ enrollment_id: int
6
+ force_required_items: bool
7
+ zero_unscored: bool
8
+ item_id: Opt[str]
9
+
10
+ def __init__(
11
+ self,
12
+ enrollment_id: int,
13
+ return_all_items: bool = False,
14
+ return_gradable_items: bool = False,
15
+ force_required_items: bool = False,
16
+ zero_unscored: bool = False,
17
+ item_id: Opt[list[str]] = None,
18
+ ):
19
+ self.enrollment_id = enrollment_id
20
+
21
+ # ITEMID LOGIC
22
+ if item_id:
23
+ self.item_id = "|".join(item_id)
24
+ elif return_gradable_items:
25
+ self.item_id = "*"
26
+ elif return_all_items:
27
+ self.item_id = "**"
28
+ else:
29
+ self.item_id = None
30
+
31
+ self.force_required_items = force_required_items
32
+ self.zero_unscored = zero_unscored
33
+
34
+ def __iter__(self):
35
+ yield "enrollmentid", self.enrollment_id
36
+ if self.item_id:
37
+ yield "itemid", self.item_id
38
+ yield "forcerequireditems", self.force_required_items
39
+ yield "zerounscored", self.zero_unscored
2
40
 
3
41
 
4
42
  class ListUserEnrollmentsDefinition:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agilix-api-fr8train
3
- Version: 2.2.3
3
+ Version: 2.3.2
4
4
  Summary: A Python SDK for integrating with the Agilix Buzz API
5
5
  Author-email: Tyler Collette <tyler.collette@gmail.com>
6
6
  Project-URL: Documentation, https://github.com/fr8train-sv/agilix-api/wiki
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" # Build system backend
4
4
 
5
5
  [project]
6
6
  name = "agilix-api-fr8train" # Unique name of your package
7
- version = "2.2.3" # Follow semantic versioning: MAJOR.MINOR.PATCH
7
+ version = "2.3.2" # Follow semantic versioning: MAJOR.MINOR.PATCH
8
8
  description = "A Python SDK for integrating with the Agilix Buzz API" # Short description
9
9
  readme = "README.md" # Path to the README file
10
10
  authors = [