@@ -52,8 +52,8 @@ def run_upgrade(parser: ArgumentParser, args: Namespace) -> None:
5252 """Run the upgrade command."""
5353 validate_upgrade_args (parser , args )
5454
55- spec = load_spec (args .yaml )
56- version = spec .seqspec_version
55+ spec = load_spec (args .yaml , strict = False )
56+ version = spec .seqspec_version or "0.0.0"
5757 upgraded_spec = seqspec_upgrade (spec , version )
5858
5959 if args .output :
@@ -65,11 +65,12 @@ def run_upgrade(parser: ArgumentParser, args: Namespace) -> None:
6565def seqspec_upgrade (spec : Assay , version : str ) -> Assay :
6666 """Upgrade spec to current version."""
6767 UPGRADE = {
68- "0.0.0" : upgrade_0_0_0_to_0_3_0 ,
69- "0.1.0" : upgrade_0_1_0_to_0_3_0 ,
70- "0.1.1" : upgrade_0_1_1_to_0_3_0 ,
71- "0.2.0" : upgrade_0_2_0_to_0_3_0 ,
72- "0.3.0" : upgrade_0_3_0_to_0_3_0 ,
68+ "0.0.0" : upgrade_0_0_0_to_0_4_0 ,
69+ "0.1.0" : upgrade_0_1_0_to_0_4_0 ,
70+ "0.1.1" : upgrade_0_1_1_to_0_4_0 ,
71+ "0.2.0" : upgrade_0_2_0_to_0_4_0 ,
72+ "0.3.0" : upgrade_0_3_0_to_0_4_0 ,
73+ "0.4.0" : upgrade_0_4_0_to_0_4_0 ,
7374 }
7475
7576 if version not in UPGRADE :
@@ -80,13 +81,19 @@ def seqspec_upgrade(spec: Assay, version: str) -> Assay:
8081 return UPGRADE [version ](spec )
8182
8283
83- def upgrade_0_3_0_to_0_3_0 (spec : Assay ) -> Assay :
84+ def upgrade_0_4_0_to_0_4_0 (spec : Assay ) -> Assay :
8485 """No upgrade needed for current version."""
8586 return spec
8687
8788
88- def upgrade_0_2_0_to_0_3_0 (spec : Assay ) -> Assay :
89- """Upgrade spec from version 0.2.0 to 0.3.0."""
89+ def upgrade_0_3_0_to_0_4_0 (spec : Assay ) -> Assay :
90+ """Upgrade spec from version 0.3.0 to 0.4.0."""
91+ spec .seqspec_version = "0.4.0"
92+ return spec
93+
94+
95+ def upgrade_0_2_0_to_0_4_0 (spec : Assay ) -> Assay :
96+ """Upgrade spec from version 0.2.0 to 0.4.0."""
9097 # Set files to empty for specs < v0.3.0
9198 for r in spec .sequence_spec :
9299 r .set_files (
@@ -117,21 +124,21 @@ def upgrade_0_2_0_to_0_3_0(spec: Assay) -> Assay:
117124 url = "" ,
118125 urltype = "" ,
119126 md5 = md5 ,
120- )
127+ )
121128 spec .seqspec_version = "0.3.0"
122- return spec
129+ return upgrade_0_3_0_to_0_4_0 ( spec )
123130
124131
125- def upgrade_0_1_1_to_0_3_0 (spec : Assay ) -> Assay :
126- """Upgrade spec from version 0.1.1 to 0.3 .0."""
127- return upgrade_0_2_0_to_0_3_0 (spec )
132+ def upgrade_0_1_1_to_0_4_0 (spec : Assay ) -> Assay :
133+ """Upgrade spec from version 0.1.1 to 0.4 .0."""
134+ return upgrade_0_2_0_to_0_4_0 (spec )
128135
129136
130- def upgrade_0_1_0_to_0_3_0 (spec : Assay ) -> Assay :
131- """Upgrade spec from version 0.1.0 to 0.3 .0."""
132- return upgrade_0_2_0_to_0_3_0 (spec )
137+ def upgrade_0_1_0_to_0_4_0 (spec : Assay ) -> Assay :
138+ """Upgrade spec from version 0.1.0 to 0.4 .0."""
139+ return upgrade_0_2_0_to_0_4_0 (spec )
133140
134141
135- def upgrade_0_0_0_to_0_3_0 (spec : Assay ) -> Assay :
136- """Upgrade spec from version 0.0.0 to 0.3 .0."""
137- return upgrade_0_2_0_to_0_3_0 (spec )
142+ def upgrade_0_0_0_to_0_4_0 (spec : Assay ) -> Assay :
143+ """Upgrade spec from version 0.0.0 to 0.4 .0."""
144+ return upgrade_0_2_0_to_0_4_0 (spec )
0 commit comments