Scheduled service maintenance on November 22


On Friday, November 22, 2024, between 06:00 CET and 18:00 CET, GIN services will undergo planned maintenance. Extended service interruptions should be expected. We will try to keep downtimes to a minimum, but recommend that users avoid critical tasks, large data uploads, or DOI requests during this time.

We apologize for any inconvenience.

simplified_api.py 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. # each item is a command that is allowed in the API
  2. # the key is the command name in the Python API.
  3. # the values are dicts with the following keys
  4. # - exclude_parameters: set with parameter names to
  5. # exclude from the API
  6. api = dict(
  7. clone=dict(
  8. name='&Clone a dataset',
  9. exclude_parameters=set((
  10. 'git_clone_opts',
  11. 'reckless',
  12. 'description',
  13. )),
  14. parameter_display_names=dict(
  15. source='Clone from',
  16. path='Clone into',
  17. dataset='Register in superdataset',
  18. ),
  19. parameter_order=dict(
  20. source=0,
  21. path=1,
  22. dataset=2,
  23. ),
  24. ),
  25. create=dict(
  26. name='C&reate a dataset',
  27. exclude_parameters=set((
  28. 'initopts',
  29. 'description',
  30. 'fake_dates',
  31. )),
  32. parameter_display_names=dict(
  33. force='OK if target directory not empty',
  34. path='Create at',
  35. dataset='Register in superdataset',
  36. ),
  37. parameter_order=dict(
  38. path=0,
  39. annex=1,
  40. dataset=2,
  41. ),
  42. ),
  43. create_sibling_gitlab=dict(
  44. name='Create a Git&Lab sibling',
  45. exclude_parameters=set((
  46. 'dryrun',
  47. )),
  48. ),
  49. create_sibling_gin=dict(
  50. name='Create a GI&N sibling',
  51. ),
  52. create_sibling_github=dict(
  53. name='Create a Git&Hub sibling',
  54. exclude_parameters=set((
  55. 'dryrun',
  56. )),
  57. ),
  58. create_sibling_webdav=dict(
  59. name='Create a &WebDAV sibling',
  60. ),
  61. drop=dict(
  62. name='Dr&op dataset content',
  63. exclude_parameters=set((
  64. 'check',
  65. 'if_dirty',
  66. 'reckless',
  67. )),
  68. ),
  69. get=dict(
  70. name='&Get dataset content',
  71. exclude_parameters=set((
  72. 'description',
  73. 'reckless',
  74. )),
  75. ),
  76. push=dict(
  77. name='&Push data/updates to a sibling',
  78. exclude_parameters=set((
  79. 'since',
  80. )),
  81. ),
  82. save=dict(
  83. name='&Save the state in a dataset',
  84. exclude_parameters=set((
  85. 'updated',
  86. 'message_file',
  87. )),
  88. parameter_display_names=dict(
  89. dataset='Save changes in dataset at',
  90. message='Description of change',
  91. path='Only save',
  92. recursive='Include changes in subdatasets',
  93. to_git='Do not put files in annex',
  94. version_tag='Tag for saved dataset state',
  95. amend='Amend last saved state',
  96. ),
  97. parameter_order=dict(
  98. dataset=0,
  99. message=1,
  100. path=2,
  101. recursive=3,
  102. to_git=4,
  103. version_tag=5,
  104. amend=6,
  105. ),
  106. ),
  107. update=dict(
  108. name='&Update from a sibling',
  109. exclude_parameters=set((
  110. 'merge',
  111. 'fetch_all',
  112. 'how_subds',
  113. 'follow',
  114. 'reobtain_data',
  115. )),
  116. ),
  117. )
  118. exclude_parameters = set((
  119. 'result_renderer',
  120. 'return_type',
  121. 'result_filter',
  122. 'result_xfm',
  123. 'on_failure',
  124. 'jobs',
  125. 'recursion_limit',
  126. ))
  127. parameter_display_names = dict(
  128. annex='Dataset with file annex',
  129. cfg_proc='Configuration procedure(s)',
  130. dataset='Dataset location',
  131. )
  132. dataset_api = {
  133. c: s for c, s in api.items()
  134. if c in (
  135. 'clone', 'create', 'create_sibling_gitlab', 'create_sibling_gin',
  136. 'create_sibling_github', 'drop', 'get', 'push', 'save', 'update'
  137. )
  138. }
  139. directory_api = {
  140. c: s for c, s in api.items() if c in ('clone', 'create')
  141. }
  142. directory_in_ds_api = {
  143. c: s for c, s in api.items()
  144. if c in ('clone', 'create', 'drop', 'get', 'push', 'save')
  145. }
  146. file_api = None
  147. file_in_ds_api = {
  148. c: s for c, s in api.items() if c in ('save', 'get', 'drop')
  149. }
  150. annexed_file_api = {
  151. c: s for c, s in api.items()
  152. if c in ('drop', 'get', 'push', 'save')
  153. }
  154. # simplified API has no groups
  155. api_group_order = {}