@@ -182,7 +182,10 @@ class AutomatedRunFactory(DVCAble, PersistenceLoggable):
182
182
display_labnumbers = Property (depends_on = "project, selected_level, _identifiers" )
183
183
_identifiers = List
184
184
185
- use_project_based_repository_identifier = Bool (True )
185
+ # use_project_based_repository_identifier = Bool(True)
186
+ # use_load_based_repository_identifier = Bool(False)
187
+
188
+ repository_identifier_model = Enum (("Project" , ("None" , "Project" , "Load" )))
186
189
repository_identifier = Str
187
190
repository_identifiers = Property (
188
191
depends_on = "repository_identifier_dirty, db_refresh_needed"
@@ -339,6 +342,7 @@ class AutomatedRunFactory(DVCAble, PersistenceLoggable):
339
342
extract_device = Str
340
343
username = Str
341
344
laboratory = Str
345
+ load_name = Str
342
346
343
347
persistence_name = "run_factory"
344
348
pattributes = (
@@ -363,7 +367,9 @@ class AutomatedRunFactory(DVCAble, PersistenceLoggable):
363
367
TEMPLATE ,
364
368
"use_simple_truncation" ,
365
369
"conditionals_path" ,
366
- "use_project_based_repository_identifier" ,
370
+ "repository_identifier_model" ,
371
+ # "use_project_based_repository_identifier",
372
+ # "use_load_based_repository_identifier",
367
373
"delay_after" ,
368
374
DISABLE_BETWEEN_POSITIONS ,
369
375
)
@@ -1117,16 +1123,21 @@ def _load_labnumber_meta(self, labnumber):
1117
1123
self .irrad_hole = d ["irradiation_position" ]
1118
1124
self ._no_clear_labnumber = False
1119
1125
1120
- if self .use_project_based_repository_identifier :
1121
- ipp = self .irradiation_project_prefix
1122
- project_name = d ["project" ]
1123
- if ipp and project_name .startswith (ipp ):
1124
- repo = project_name
1125
- if repo == "REFERENCES" :
1126
- repo = ""
1127
- else :
1128
- repo = camel_case (project_name )
1129
- self .repository_identifier = repo
1126
+ if self .repository_identifier_model in ["Load" , "Project" ]:
1127
+ self .repository_identifier = d ["repository_identifier" ]
1128
+
1129
+ # if self.use_project_based_repository_identifier:
1130
+ # ipp = self.irradiation_project_prefix
1131
+ # project_name = d["project"]
1132
+ # if ipp and project_name.startswith(ipp):
1133
+ # repo = project_name
1134
+ # if repo == "REFERENCES":
1135
+ # repo = ""
1136
+ # else:
1137
+ # repo = camel_case(project_name)
1138
+ # self.repository_identifier = repo
1139
+ # elif self.use_load_based_repository_identifier:
1140
+ # self.repository_identifier = d['load_name']
1130
1141
1131
1142
return True
1132
1143
else :
@@ -1171,12 +1182,17 @@ def _load_labnumber_meta(self, labnumber):
1171
1182
# irrad = ip.level.irradiation.name
1172
1183
# self.repository_identifier = '{}{}'.format(ipp, irrad)
1173
1184
if project_name != "REFERENCES" :
1174
- if self .use_project_based_repository_identifier :
1185
+ repo = None
1186
+ if self .repository_identifier_model == "Project" :
1175
1187
if ipp and project_name .startswith (ipp ):
1176
1188
repo = project_name
1177
1189
else :
1178
1190
repo = camel_case (project_name )
1179
1191
1192
+ elif self .repository_identifier_model == "Load" :
1193
+ repo = self .load_name
1194
+
1195
+ if repo :
1180
1196
self .debug ("unprepped repo={}" .format (repo ))
1181
1197
repo = prep_repo_name (repo )
1182
1198
self .debug ("setting repository to {}" .format (repo ))
@@ -1199,9 +1215,10 @@ def _load_labnumber_meta(self, labnumber):
1199
1215
"Failed to add {}."
1200
1216
"\n Resolve issue before proceeding!!" .format (m )
1201
1217
)
1218
+ return
1202
1219
1203
1220
d ["repository_identifier" ] = self .repository_identifier
1204
-
1221
+ d [ "load_name" ] = self . load_name
1205
1222
if self .mode != SIMPLE :
1206
1223
self ._make_irrad_level (ip )
1207
1224
d ["irradiation" ] = self .selected_irradiation
0 commit comments