labstep 3.28.2__tar.gz → 3.30.0__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 (171) hide show
  1. {labstep-3.28.2 → labstep-3.30.0}/PKG-INFO +1 -1
  2. labstep-3.30.0/labstep/constants/version.py +1 -0
  3. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/collaborator/repository.py +1 -6
  4. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experiment/repository.py +4 -6
  5. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentTemplate/repository.py +5 -6
  6. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/jupyterInstance/model.py +2 -1
  7. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/jupyterInstance/repository.py +2 -0
  8. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/protocol/model.py +36 -19
  9. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/protocol/repository.py +5 -7
  10. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/protocolVersion/model.py +27 -9
  11. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/protocolVersion/repository.py +10 -2
  12. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/user/model.py +2 -2
  13. {labstep-3.28.2 → labstep-3.30.0}/labstep.egg-info/PKG-INFO +1 -1
  14. labstep-3.28.2/labstep/constants/version.py +0 -1
  15. {labstep-3.28.2 → labstep-3.30.0}/README.rst +0 -0
  16. {labstep-3.28.2 → labstep-3.30.0}/labstep/__init__.py +0 -0
  17. {labstep-3.28.2 → labstep-3.30.0}/labstep/config/export.py +0 -0
  18. {labstep-3.28.2 → labstep-3.30.0}/labstep/constants/__init__.py +0 -0
  19. {labstep-3.28.2 → labstep-3.30.0}/labstep/constants/unspecified.py +0 -0
  20. {labstep-3.28.2 → labstep-3.30.0}/labstep/converter/__init__.py +0 -0
  21. {labstep-3.28.2 → labstep-3.30.0}/labstep/converter/htmlToProseMirror.py +0 -0
  22. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/apiKey/model.py +0 -0
  23. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/apiKey/repository.py +0 -0
  24. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/autoshare/model.py +0 -0
  25. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/autoshare/repository.py +0 -0
  26. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/chemical/model.py +0 -0
  27. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/chemical/repository.py +0 -0
  28. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/chemicalReaction/model.py +0 -0
  29. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/chemicalReaction/repository.py +0 -0
  30. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/collaborator/model.py +0 -0
  31. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/collaboratorRole/model.py +0 -0
  32. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/collaboratorRole/repository.py +0 -0
  33. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/collaboratorRoleRequirement/model.py +0 -0
  34. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/collaboratorRoleRequirement/repository.py +0 -0
  35. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/collection/model.py +0 -0
  36. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/collection/repository.py +0 -0
  37. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/comment/model.py +0 -0
  38. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/comment/repository.py +0 -0
  39. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/device/model.py +0 -0
  40. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/device/repository.py +0 -0
  41. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/deviceBooking/model.py +0 -0
  42. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/deviceBooking/repository.py +0 -0
  43. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/deviceCategory/model.py +0 -0
  44. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/deviceCategory/repository.py +0 -0
  45. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/deviceData/model.py +0 -0
  46. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/deviceData/repository.py +0 -0
  47. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/deviceTemplate/model.py +0 -0
  48. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/deviceTemplate/repository.py +0 -0
  49. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/entityImport/model.py +0 -0
  50. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/entityImport/repository.py +0 -0
  51. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/entityState/model.py +0 -0
  52. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/entityState/repository.py +0 -0
  53. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/entityStateWorkflow/model.py +0 -0
  54. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/entityStateWorkflow/repository.py +0 -0
  55. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experiment/model.py +0 -0
  56. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentCondition/model.py +0 -0
  57. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentCondition/repository.py +0 -0
  58. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentDataField/model.py +0 -0
  59. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentDataField/repository.py +0 -0
  60. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentInventoryField/model.py +0 -0
  61. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentInventoryField/repository.py +0 -0
  62. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentLink/model.py +0 -0
  63. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentLink/repository.py +0 -0
  64. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentProtocol/model.py +0 -0
  65. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentProtocol/repository.py +0 -0
  66. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentSignature/model.py +0 -0
  67. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentSignature/repository.py +0 -0
  68. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentSignatureRequest/model.py +0 -0
  69. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentSignatureRequest/repository.py +0 -0
  70. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentStep/model.py +0 -0
  71. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentStep/repository.py +0 -0
  72. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentTable/model.py +0 -0
  73. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentTable/repository.py +0 -0
  74. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentTemplate/model.py +0 -0
  75. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentTimer/model.py +0 -0
  76. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/experimentTimer/repository.py +0 -0
  77. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/export/model.py +0 -0
  78. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/export/repository.py +0 -0
  79. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/file/model.py +0 -0
  80. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/file/repository.py +0 -0
  81. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/invitation/model.py +0 -0
  82. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/invitation/repository.py +0 -0
  83. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/jupyterNotebook/model.py +0 -0
  84. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/jupyterNotebook/repository.py +0 -0
  85. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/jupyterSchedule/model.py +0 -0
  86. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/jupyterSchedule/repository.py +0 -0
  87. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/metadata/model.py +0 -0
  88. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/metadata/repository.py +0 -0
  89. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/molecule/model.py +0 -0
  90. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/molecule/repository.py +0 -0
  91. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/notification/model.py +0 -0
  92. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/notification/repository.py +0 -0
  93. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/notificationAlert/model.py +0 -0
  94. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/notificationAlert/repository.py +0 -0
  95. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/orderRequest/model.py +0 -0
  96. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/orderRequest/repository.py +0 -0
  97. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/organization/model.py +0 -0
  98. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/organization/repository.py +0 -0
  99. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/organizationUser/model.py +0 -0
  100. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/organizationUser/repository.py +0 -0
  101. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/permission/model.py +0 -0
  102. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/permission/repository.py +0 -0
  103. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/protocolCondition/model.py +0 -0
  104. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/protocolCondition/repository.py +0 -0
  105. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/protocolDataField/model.py +0 -0
  106. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/protocolDataField/repository.py +0 -0
  107. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/protocolInventoryField/model.py +0 -0
  108. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/protocolInventoryField/repository.py +0 -0
  109. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/protocolStep/model.py +0 -0
  110. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/protocolStep/repository.py +0 -0
  111. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/protocolTable/model.py +0 -0
  112. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/protocolTable/repository.py +0 -0
  113. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/protocolTimer/model.py +0 -0
  114. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/protocolTimer/repository.py +0 -0
  115. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/purchaseOrder/model.py +0 -0
  116. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/purchaseOrder/repository.py +0 -0
  117. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/resource/model.py +0 -0
  118. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/resource/repository.py +0 -0
  119. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/resourceCategory/model.py +0 -0
  120. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/resourceCategory/repository.py +0 -0
  121. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/resourceItem/model.py +0 -0
  122. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/resourceItem/repository.py +0 -0
  123. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/resourceLocation/model.py +0 -0
  124. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/resourceLocation/repository.py +0 -0
  125. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/resourceTemplate/model.py +0 -0
  126. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/resourceTemplate/repository.py +0 -0
  127. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/sequence/model.py +0 -0
  128. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/sequence/repository.py +0 -0
  129. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/sharelink/model.py +0 -0
  130. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/sharelink/repository.py +0 -0
  131. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/signatureRequirement/model.py +0 -0
  132. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/signatureRequirement/repository.py +0 -0
  133. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/tag/model.py +0 -0
  134. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/tag/repository.py +0 -0
  135. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/user/facade.py +0 -0
  136. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/user/repository.py +0 -0
  137. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/workspace/model.py +0 -0
  138. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/workspace/repository.py +0 -0
  139. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/workspaceMember/model.py +0 -0
  140. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/workspaceMember/repository.py +0 -0
  141. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/workspaceRole/model.py +0 -0
  142. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/workspaceRole/repository.py +0 -0
  143. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/workspaceRolePermission/model.py +0 -0
  144. {labstep-3.28.2 → labstep-3.30.0}/labstep/entities/workspaceRolePermission/repository.py +0 -0
  145. {labstep-3.28.2 → labstep-3.30.0}/labstep/generic/entity/model.py +0 -0
  146. {labstep-3.28.2 → labstep-3.30.0}/labstep/generic/entity/repository.py +0 -0
  147. {labstep-3.28.2 → labstep-3.30.0}/labstep/generic/entityList/model.py +0 -0
  148. {labstep-3.28.2 → labstep-3.30.0}/labstep/generic/entityPrimary/model.py +0 -0
  149. {labstep-3.28.2 → labstep-3.30.0}/labstep/generic/entityWithAssign/model.py +0 -0
  150. {labstep-3.28.2 → labstep-3.30.0}/labstep/generic/entityWithComments/model.py +0 -0
  151. {labstep-3.28.2 → labstep-3.30.0}/labstep/generic/entityWithMetadata/model.py +0 -0
  152. {labstep-3.28.2 → labstep-3.30.0}/labstep/generic/entityWithMetadata/repository.py +0 -0
  153. {labstep-3.28.2 → labstep-3.30.0}/labstep/generic/entityWithSharing/model.py +0 -0
  154. {labstep-3.28.2 → labstep-3.30.0}/labstep/generic/entityWithTags/model.py +0 -0
  155. {labstep-3.28.2 → labstep-3.30.0}/labstep/generic/entityWithTags/repository.py +0 -0
  156. {labstep-3.28.2 → labstep-3.30.0}/labstep/service/__init__.py +0 -0
  157. {labstep-3.28.2 → labstep-3.30.0}/labstep/service/config.py +0 -0
  158. {labstep-3.28.2 → labstep-3.30.0}/labstep/service/helpers.py +0 -0
  159. {labstep-3.28.2 → labstep-3.30.0}/labstep/service/htmlExport.py +0 -0
  160. {labstep-3.28.2 → labstep-3.30.0}/labstep/service/htmlToPDF.py +0 -0
  161. {labstep-3.28.2 → labstep-3.30.0}/labstep/service/htmlToProseMirror.py +0 -0
  162. {labstep-3.28.2 → labstep-3.30.0}/labstep/service/jupyter.py +0 -0
  163. {labstep-3.28.2 → labstep-3.30.0}/labstep/service/ping.py +0 -0
  164. {labstep-3.28.2 → labstep-3.30.0}/labstep/service/request.py +0 -0
  165. {labstep-3.28.2 → labstep-3.30.0}/labstep.egg-info/SOURCES.txt +0 -0
  166. {labstep-3.28.2 → labstep-3.30.0}/labstep.egg-info/dependency_links.txt +0 -0
  167. {labstep-3.28.2 → labstep-3.30.0}/labstep.egg-info/not-zip-safe +0 -0
  168. {labstep-3.28.2 → labstep-3.30.0}/labstep.egg-info/requires.txt +0 -0
  169. {labstep-3.28.2 → labstep-3.30.0}/labstep.egg-info/top_level.txt +0 -0
  170. {labstep-3.28.2 → labstep-3.30.0}/setup.cfg +0 -0
  171. {labstep-3.28.2 → labstep-3.30.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: labstep
3
- Version: 3.28.2
3
+ Version: 3.30.0
4
4
  Summary: Python SDK for working with the Labstep API
5
5
  Home-page: http://github.com/Labstep/labstepPy
6
6
  Author: Labstep
@@ -0,0 +1 @@
1
+ VERSION = "3.30.0"
@@ -19,13 +19,8 @@ def assign(parent_entity, user_id, extraParams):
19
19
 
20
20
 
21
21
  def unassign(collaborator, extraParams={}):
22
- entity_name = collaborator['permission_entity_info']['entityName']
23
- params = {f'{entity_name}_id': collaborator['permission_entity_info']['id'],
24
- 'user_id': collaborator['user']['id'],
25
- 'is_assigned': False,
26
- **extraParams}
22
+ return editEntity(collaborator,{'is_assigned': False})
27
23
 
28
- return newEntity(collaborator.__user__, Collaborator, params)
29
24
 
30
25
 
31
26
  def getCollaborators(parent_entity, count, extraParams):
@@ -2,15 +2,13 @@
2
2
  # -*- coding: utf-8 -*-
3
3
  # Author: Labstep <dev@labstep.com>
4
4
 
5
- from labstep.service.helpers import (
6
- handleDate,
7
- )
8
- from labstep.entities.experiment.model import Experiment, ExperimentProtocol
9
5
  import labstep.generic.entity.repository as entityRepository
6
+ from labstep.config.export import includePDF
7
+ from labstep.constants import UNSPECIFIED
8
+ from labstep.entities.experiment.model import Experiment, ExperimentProtocol
9
+ from labstep.service.helpers import handleDate
10
10
  from labstep.service.htmlExport import htmlExportService
11
11
  from labstep.service.htmlToPDF import htmlToPDF
12
- from labstep.constants import UNSPECIFIED
13
- from labstep.config.export import includePDF
14
12
 
15
13
 
16
14
  def getExperiment(user, experiment_id):
@@ -2,15 +2,14 @@
2
2
  # -*- coding: utf-8 -*-
3
3
  # Author: Labstep <dev@labstep.com>
4
4
 
5
- from labstep.service.helpers import (
6
- handleDate,
7
- )
8
- from labstep.entities.experimentTemplate.model import ExperimentTemplate, ExperimentProtocol
9
5
  import labstep.generic.entity.repository as entityRepository
6
+ from labstep.config.export import includePDF
7
+ from labstep.constants import UNSPECIFIED
8
+ from labstep.entities.experimentTemplate.model import (ExperimentProtocol,
9
+ ExperimentTemplate)
10
+ from labstep.service.helpers import handleDate
10
11
  from labstep.service.htmlExport import htmlExportService
11
12
  from labstep.service.htmlToPDF import htmlToPDF
12
- from labstep.constants import UNSPECIFIED
13
- from labstep.config.export import includePDF
14
13
 
15
14
 
16
15
  def getExperimentTemplate(user, experiment_template_id):
@@ -14,7 +14,7 @@ class JupyterInstance(Entity):
14
14
  __entityName__ = "jupyter-instance"
15
15
  __hasGuid__ = True
16
16
 
17
- def edit(self, startedAt=UNSPECIFIED, endedAt=UNSPECIFIED, status=UNSPECIFIED, errorMessage=UNSPECIFIED):
17
+ def edit(self, startedAt=UNSPECIFIED, endedAt=UNSPECIFIED, status=UNSPECIFIED, data=UNSPECIFIED, errorMessage=UNSPECIFIED):
18
18
  """
19
19
  Edit an existing JupyterInstance.
20
20
 
@@ -48,5 +48,6 @@ class JupyterInstance(Entity):
48
48
  startedAt,
49
49
  endedAt,
50
50
  status,
51
+ data,
51
52
  errorMessage
52
53
  )
@@ -16,12 +16,14 @@ def editJupyterInstance(
16
16
  startedAt=UNSPECIFIED,
17
17
  endedAt=UNSPECIFIED,
18
18
  status=UNSPECIFIED,
19
+ data=UNSPECIFIED,
19
20
  errorMessage=UNSPECIFIED
20
21
  ):
21
22
  params = {
22
23
  "started_at": startedAt,
23
24
  "ended_at": endedAt,
24
25
  "status": status,
26
+ "data": data,
25
27
  "error_message": errorMessage,
26
28
  }
27
29
 
@@ -2,11 +2,11 @@
2
2
  # -*- coding: utf-8 -*-
3
3
  # Author: Labstep <dev@labstep.com>
4
4
  from deprecated import deprecated
5
+ from labstep.constants import UNSPECIFIED
6
+ from labstep.entities.protocolVersion.model import ProtocolVersion
5
7
  from labstep.generic.entity.repository import getEntityProperty
6
8
  from labstep.generic.entityPrimary.model import EntityPrimary
7
- from labstep.entities.protocolVersion.model import ProtocolVersion
8
9
  from labstep.service.helpers import getTime
9
- from labstep.constants import UNSPECIFIED
10
10
 
11
11
 
12
12
  class Protocol(EntityPrimary):
@@ -26,10 +26,27 @@ class Protocol(EntityPrimary):
26
26
  __entityName__ = "protocol-collection"
27
27
  __searchKey__ = 'label'
28
28
 
29
+ @property
30
+ def draft_version(self):
31
+ return getEntityProperty(self, 'draft_version', ProtocolVersion)
32
+
29
33
  @property
30
34
  def last_version(self):
31
35
  return getEntityProperty(self, 'last_version', ProtocolVersion)
32
36
 
37
+ def getCurrentVersion(self):
38
+ """
39
+ Returns the current version of the protocol.
40
+
41
+ Returns
42
+ -------
43
+ :class:`~labstep.entities.protocolVersion.model.ProtocolVersion`
44
+ The current version of the protocol.
45
+ """
46
+ if self.draft_version:
47
+ return self.draft_version
48
+ return self.last_version
49
+
33
50
  def edit(self, name=UNSPECIFIED, body=UNSPECIFIED, extraParams={}):
34
51
  """
35
52
  Edit an existing Protocol.
@@ -124,7 +141,7 @@ class Protocol(EntityPrimary):
124
141
 
125
142
  my_protocol.getBody()
126
143
  """
127
- return self.last_version.getBody()
144
+ return self.getCurrentVersion().getBody()
128
145
 
129
146
  def addSteps(self, N):
130
147
  """
@@ -142,7 +159,7 @@ class Protocol(EntityPrimary):
142
159
  my_protocol = user.newProtocol('My API Protocol')
143
160
  my_protocol.addSteps(5)
144
161
  """
145
- return self.last_version.addSteps(N)
162
+ return self.getCurrentVersion().addSteps(N)
146
163
 
147
164
  def getSteps(self):
148
165
  """
@@ -161,7 +178,7 @@ class Protocol(EntityPrimary):
161
178
  protocol_steps = protocol.getSteps()
162
179
  protocol_steps[0].attributes()
163
180
  """
164
- return self.last_version.getSteps()
181
+ return self.getCurrentVersion().getSteps()
165
182
 
166
183
  def getDataFields(self):
167
184
  """
@@ -180,7 +197,7 @@ class Protocol(EntityPrimary):
180
197
  protocol = user.getProtocol(17000)
181
198
  metadata = protocol.getDataFields()
182
199
  """
183
- return self.last_version.getDataFields()
200
+ return self.getCurrentVersion().getDataFields()
184
201
 
185
202
  def addDataField(
186
203
  self,
@@ -226,7 +243,7 @@ class Protocol(EntityPrimary):
226
243
  dataField = protocol.addDataField("Refractive Index",
227
244
  value="1.73")
228
245
  """
229
- return self.last_version.addDataField(
246
+ return self.getCurrentVersion().addDataField(
230
247
  fieldName=fieldName,
231
248
  fieldType=fieldType,
232
249
  value=value,
@@ -269,7 +286,7 @@ class Protocol(EntityPrimary):
269
286
  protocol.addInventoryField(name='Sample A', amount='2', units='ml',
270
287
  resource_id=resource.id)
271
288
  """
272
- return self.last_version.addInventoryField(
289
+ return self.getCurrentVersion().addInventoryField(
273
290
  resource_id=resource_id, name=name,
274
291
  amount=amount,
275
292
  units=units,
@@ -292,7 +309,7 @@ class Protocol(EntityPrimary):
292
309
  protocol_inventoryFields = protocol.getInventoryFields()
293
310
  protocol_inventory_fields[0]
294
311
  """
295
- return self.last_version.getInventoryFields(count=count, extraParams=extraParams)
312
+ return self.getCurrentVersion().getInventoryFields(count=count, extraParams=extraParams)
296
313
 
297
314
  def addTimer(self, name=UNSPECIFIED, hours=UNSPECIFIED, minutes=UNSPECIFIED, seconds=UNSPECIFIED):
298
315
  """
@@ -321,7 +338,7 @@ class Protocol(EntityPrimary):
321
338
  protocol = user.getProtocol(17000)
322
339
  protocol.addTimer(name='Refluxing', hours='4', minutes='30')
323
340
  """
324
- return self.last_version.addTimer(name=name, hours=hours, minutes=minutes, seconds=seconds)
341
+ return self.getCurrentVersion().addTimer(name=name, hours=hours, minutes=minutes, seconds=seconds)
325
342
 
326
343
  def getTimers(self):
327
344
  """
@@ -340,7 +357,7 @@ class Protocol(EntityPrimary):
340
357
  protocol_timers = protocol.getTimers()
341
358
  protocol_timers[0].attributes()
342
359
  """
343
- return self.last_version.getTimers()
360
+ return self.getCurrentVersion().getTimers()
344
361
 
345
362
  def addTable(self, name=UNSPECIFIED, data=UNSPECIFIED):
346
363
  """
@@ -383,7 +400,7 @@ class Protocol(EntityPrimary):
383
400
  protocol = user.getProtocol(17000)
384
401
  protocol.addTable(name='Calibration', data=data)
385
402
  """
386
- return self.last_version.addTable(name=name, data=data)
403
+ return self.getCurrentVersion().addTable(name=name, data=data)
387
404
 
388
405
  def getTables(self):
389
406
  """
@@ -402,7 +419,7 @@ class Protocol(EntityPrimary):
402
419
  protocol_tables = protocol.getTables()
403
420
  protocol_tables[0].attributes()
404
421
  """
405
- return self.last_version.getTables()
422
+ return self.getCurrentVersion().getTables()
406
423
 
407
424
  def addToCollection(self, collection_id):
408
425
  """
@@ -464,7 +481,7 @@ class Protocol(EntityPrimary):
464
481
  protocol = user.getProtocol(17000)
465
482
  protocol.addFile(filepath='./my_file.csv')
466
483
  """
467
- return self.last_version.addFile(filepath=filepath, rawData=rawData)
484
+ return self.getCurrentVersion().addFile(filepath=filepath, rawData=rawData)
468
485
 
469
486
  def getFiles(self):
470
487
  """
@@ -482,7 +499,7 @@ class Protocol(EntityPrimary):
482
499
  protocol = user.getProtocol(17000)
483
500
  protocol_files = protocol.getFiles()
484
501
  """
485
- return self.last_version.getFiles()
502
+ return self.getCurrentVersion().getFiles()
486
503
 
487
504
  def export(self, path):
488
505
  """
@@ -521,7 +538,7 @@ class Protocol(EntityPrimary):
521
538
  jupyter_notebooks = protocol.getJupyterNotebooks()
522
539
  print(jupyter_notebooks[0])
523
540
  """
524
- return self.last_version.getJupyterNotebooks()
541
+ return self.getCurrentVersion().getJupyterNotebooks()
525
542
 
526
543
  def addJupyterNotebook(self, name=UNSPECIFIED, data=UNSPECIFIED):
527
544
  """
@@ -546,7 +563,7 @@ class Protocol(EntityPrimary):
546
563
  protocol = user.getProtocol(17000)
547
564
  protocol.addJupyterNotebook()
548
565
  """
549
- return self.last_version.addJupyterNotebook(name=name, data=data)
566
+ return self.getCurrentVersion().addJupyterNotebook(name=name, data=data)
550
567
 
551
568
  def addConditions(self, number_of_conditions):
552
569
  """
@@ -567,7 +584,7 @@ class Protocol(EntityPrimary):
567
584
  conditions = protocol.addConditions(5)
568
585
  """
569
586
 
570
- return self.last_version.addConditions(number_of_conditions)
587
+ return self.getCurrentVersion().addConditions(number_of_conditions)
571
588
 
572
589
  def getConditions(self):
573
590
  """
@@ -584,7 +601,7 @@ class Protocol(EntityPrimary):
584
601
  conditions = protocol.getConditions()
585
602
  """
586
603
 
587
- return self.last_version.getConditions()
604
+ return self.getCurrentVersion().getConditions()
588
605
 
589
606
  @deprecated(version='3.3.2', reason="You should use experiment.addDataField instead")
590
607
  def addDataElement(self, *args, **kwargs):
@@ -2,15 +2,13 @@
2
2
  # -*- coding: utf-8 -*-
3
3
  # Author: Labstep <dev@labstep.com>
4
4
 
5
- from labstep.service.helpers import (
6
- handleDate,
7
- )
5
+ import labstep.generic.entity.repository as entityRepository
6
+ from labstep.config.export import includePDF
7
+ from labstep.constants import UNSPECIFIED
8
8
  from labstep.entities.protocol.model import Protocol
9
9
  from labstep.entities.protocolVersion.model import ProtocolVersion
10
- import labstep.generic.entity.repository as entityRepository
10
+ from labstep.service.helpers import handleDate
11
11
  from labstep.service.htmlExport import htmlExportService
12
- from labstep.constants import UNSPECIFIED
13
- from labstep.config.export import includePDF
14
12
  from labstep.service.htmlToPDF import htmlToPDF
15
13
 
16
14
 
@@ -51,7 +49,7 @@ def editProtocol(
51
49
  params = {"name": name, "deleted_at": deleted_at, **extraParams}
52
50
 
53
51
  if body is not UNSPECIFIED:
54
- entityRepository.editEntity(protocol.last_version, {"state": body})
52
+ entityRepository.editEntity(protocol.getCurrentVersion(), {"state": body})
55
53
  protocol.update()
56
54
 
57
55
  return entityRepository.editEntity(protocol, params)
@@ -2,18 +2,19 @@
2
2
  # -*- coding: utf-8 -*-
3
3
  # Author: Labstep <dev@labstep.com>
4
4
 
5
- from labstep.generic.entityWithComments.model import EntityWithComments
5
+ import labstep.entities.file.repository as fileRepository
6
+ import labstep.entities.protocolInventoryField.repository as protocolInventoryFieldRepository
7
+ from labstep.constants import UNSPECIFIED
8
+ from labstep.entities.file.model import File
6
9
  from labstep.entities.jupyterNotebook.model import JupyterNotebook
7
10
  from labstep.entities.protocolDataField.model import ProtocolDataField
11
+ from labstep.entities.protocolInventoryField.model import \
12
+ ProtocolInventoryField
8
13
  from labstep.entities.protocolStep.model import ProtocolStep
9
14
  from labstep.entities.protocolTable.model import ProtocolTable
10
15
  from labstep.entities.protocolTimer.model import ProtocolTimer
11
- from labstep.entities.protocolInventoryField.model import ProtocolInventoryField
12
- import labstep.entities.protocolInventoryField.repository as protocolInventoryFieldRepository
13
16
  from labstep.generic.entityList.model import EntityList
14
- from labstep.entities.file.model import File
15
- import labstep.entities.file.repository as fileRepository
16
- from labstep.constants import UNSPECIFIED
17
+ from labstep.generic.entityWithComments.model import EntityWithComments
17
18
 
18
19
 
19
20
  class ProtocolVersion(EntityWithComments):
@@ -52,6 +53,21 @@ class ProtocolVersion(EntityWithComments):
52
53
  self, body=body, extraParams=extraParams
53
54
  )
54
55
 
56
+ def setLive(self):
57
+ """
58
+ Set the protocol version as the live version.
59
+
60
+ Example
61
+ -------
62
+ ::
63
+
64
+ my_protocol = user.getProtocol(17000)
65
+ my_protocol.setLive()
66
+ """
67
+ import labstep.entities.protocolVersion.repository as protocolVersionRepository
68
+
69
+ return protocolVersionRepository.edit(self, is_draft=False)
70
+
55
71
  def getProtocol(self):
56
72
  """
57
73
  Returns the parent protocol
@@ -550,11 +566,12 @@ class ProtocolVersion(EntityWithComments):
550
566
  Example
551
567
  -------
552
568
  ::
553
-
569
+
554
570
  protocol = user.getProtocol(17000)
555
571
  conditions = protocol.addConditions(5)
556
572
  """
557
- from labstep.entities.protocolCondition.repository import addProtocolConditions
573
+ from labstep.entities.protocolCondition.repository import \
574
+ addProtocolConditions
558
575
 
559
576
  return addProtocolConditions(self, number_of_conditions)
560
577
 
@@ -572,6 +589,7 @@ class ProtocolVersion(EntityWithComments):
572
589
  protocol = user.getProtocol(17000)
573
590
  conditions = protocol.getConditions()
574
591
  """
575
- from labstep.entities.protocolCondition.repository import getProtocolConditions
592
+ from labstep.entities.protocolCondition.repository import \
593
+ getProtocolConditions
576
594
 
577
595
  return getProtocolConditions(self)
@@ -1,10 +1,18 @@
1
1
  import labstep.generic.entity.repository as entityRepository
2
- from labstep.service.htmlExport import htmlExportService
3
- from labstep.constants import UNSPECIFIED
4
2
  from labstep.config.export import includePDF
3
+ from labstep.constants import UNSPECIFIED
4
+ from labstep.service.htmlExport import htmlExportService
5
5
  from labstep.service.htmlToPDF import htmlToPDF
6
6
 
7
7
 
8
+ def edit(
9
+ protocolVersion, is_draft=UNSPECIFIED, extraParams={}
10
+ ):
11
+ params = {"is_draft": is_draft, **extraParams}
12
+
13
+ return entityRepository.editEntity(protocolVersion, params)
14
+
15
+
8
16
  def exportProtocolVersion(protocolVersion, root_path):
9
17
 
10
18
  protocolVersion.update()
@@ -50,9 +50,9 @@ class User(Entity):
50
50
  from labstep.service.config import configService
51
51
  from labstep.service.request import requestService
52
52
 
53
- apikey = self.__user__['api_key']
53
+ headers = getHeaders(self)
54
54
  url = url_join(configService.getHost(), "api/generic/user/info")
55
- response = requestService.get(url, headers={"apikey": apikey})
55
+ response = requestService.get(url, headers=headers)
56
56
  data = json.loads(response.content)
57
57
  update(self, data)
58
58
  return self
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: labstep
3
- Version: 3.28.2
3
+ Version: 3.30.0
4
4
  Summary: Python SDK for working with the Labstep API
5
5
  Home-page: http://github.com/Labstep/labstepPy
6
6
  Author: Labstep
@@ -1 +0,0 @@
1
- VERSION = "3.28.2"
File without changes
File without changes
File without changes
File without changes