5 This script provides callback functions to use the recommended global tags.
8 from basf2
import B2INFO
10 from versioning
import recommended_global_tags_v2
13 def _get_recommended_tags(base_tags, user_tags, metadata):
14 """Get the recommendation from versioning and print a message if there is one"""
16 recommendation = recommended_global_tags_v2(release, base_tags, user_tags, metadata)
17 if 'message' in recommendation.keys():
18 B2INFO(
'Your global tag manager says: ' + recommendation[
'message'])
19 return recommendation[
'tags']
22 def _join_tags(*tags):
23 """Return concatenated list of GTs"""
24 return sum((entry
for entry
in tags
if entry
is not None), [])
27 def recommended_tags(base_tags, user_tags, metadata):
28 """Return the the user GTs + the reccomended GTs"""
30 recommendation = _get_recommended_tags(base_tags, user_tags, metadata)
31 return _join_tags(user_tags, recommendation)
34 def recommended_analysis_tags(base_tags, user_tags, metadata):
35 """Return the the user GTs + the reccomended analysis GTs + the base tags"""
37 recommendation = [tag
for tag
in _get_recommended_tags(base_tags, user_tags, metadata)
if tag.startswith(
'analysis')]
38 return _join_tags(user_tags, recommendation, base_tags)