Project

General

Profile

Actions

Bug #6095

closed

[SDKs] Make arv-copy preserve pipeline template component order

Added by Brett Smith over 9 years ago. Updated over 9 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
SDKs
Target version:
Story points:
0.5

Description

Implementation steps:

  1. Add an OrderedJsonModel class to arvados.api. This is a subclass of googleapiclient.model.JsonModel. It overrides the de/serialize methods. When it calls a json load/dump method, it passes in collections.OrderedDict as the object_hook to preserve order (refer to the json module documentation).
  2. Ensure that whenever arv-copy instantiates an API client, it passes in an OrderedJsonModel instance as the model keyword argument. Refer to the apiclient.discovery PyDoc.

This will make arv-copy do the right thing with pipeline templates, and give us the right API hooks to extend this functionality to other Python clients easily.

We should not make OrderedJsonModel the default model because the space overhead is noticeable, and not necessary for most applications.


Subtasks 1 (0 open1 closed)

Task #6117: Review 6095-arv-copy-preserve-object-order-wipResolvedBrett Smith05/20/2015Actions

Related issues

Related to Arvados - Idea #2992: [Workbench] Support "display_order" (integer) key for pipeline template components. Obey when rendering pipeline summary/details in Workbench.Rejected03/13/2019Actions
Actions

Also available in: Atom PDF