@@ -972,6 +972,14 @@ def convert_group(prop_name, old_widget, new_widget):
972
972
973
973
new_widget ['groupingLabelsIds' ] = migrated
974
974
975
+ def convert_override_filter (prop_name , old_widget , new_widget ):
976
+ if old_widget ['showAs' ] == 'map' :
977
+ # override scope always true if scope is set
978
+ new_widget ['overrideScope' ] = True
979
+ else :
980
+ new_widget ['overrideScope' ] = old_widget [prop_name ]
981
+
982
+
975
983
def convert_name (prop_name , old_widget , new_widget ):
976
984
#
977
985
# enforce unique name (on old dashboard, before migration)
@@ -1013,6 +1021,21 @@ def convert_property_name(prop_name, old_metric, new_metric):
1013
1021
1014
1022
migrated_metrics .append (migrated_metric )
1015
1023
1024
+ # Property name convention:
1025
+ # timestamp: k0 (if present)
1026
+ # other keys: k* (from 0 or 1, depending on timestamp)
1027
+ # values: v* (from 0)
1028
+ timestamp_key = filter (lambda m : m ['id' ] == 'timestamp' and not ('timeAggregation' in m and m ['timeAggregation' ] is not None ), migrated_metrics )
1029
+ no_timestamp_keys = filter (lambda m : m ['id' ] != 'timestamp' and not ('timeAggregation' in m and m ['timeAggregation' ] is not None ), migrated_metrics )
1030
+ values = filter (lambda m : 'timeAggregation' in m and m ['timeAggregation' ] is not None , migrated_metrics )
1031
+ if timestamp_key :
1032
+ timestamp_key [0 ]['propertyName' ] = 'k0'
1033
+ k_offset = 1 if timestamp_key else 0
1034
+ for i in range (0 , len (no_timestamp_keys )):
1035
+ no_timestamp_keys [i ]['propertyName' ] = 'k{}' .format (i + k_offset )
1036
+ for i in range (0 , len (values )):
1037
+ values [i ]['propertyName' ] = 'v{}' .format (i )
1038
+
1016
1039
new_widget ['metrics' ] = migrated_metrics
1017
1040
1018
1041
widget_migrations = {
@@ -1027,7 +1050,7 @@ def convert_property_name(prop_name, old_metric, new_metric):
1027
1050
'markdownSource' : when_set (keep_as_is ),
1028
1051
'metrics' : with_default (convert_metrics , []),
1029
1052
'name' : with_default (convert_name , 'Panel' ),
1030
- 'overrideFilter' : rename_to ( 'overrideScope' ) ,
1053
+ 'overrideFilter' : convert_override_filter ,
1031
1054
'paging' : drop_it ,
1032
1055
'scope' : with_default (keep_as_is , None ),
1033
1056
'showAs' : keep_as_is ,
0 commit comments