| Index: tools/variations/fieldtrial_to_struct.py
|
| diff --git a/tools/variations/fieldtrial_to_struct.py b/tools/variations/fieldtrial_to_struct.py
|
| index dcaed3ab412585a9f6701d541c2224023fa98f6c..946ca61cab2c34c3d127c2662dffda9095292047 100755
|
| --- a/tools/variations/fieldtrial_to_struct.py
|
| +++ b/tools/variations/fieldtrial_to_struct.py
|
| @@ -34,32 +34,39 @@ def _LoadFieldTrialConfig(filename):
|
| """
|
| return _FieldTrialConfigToDescription(_Load(filename))
|
|
|
| +def _CreateGroup(group_data):
|
| + group = {'name': group_data['group_name']}
|
| + params_data = group_data.get('params')
|
| + if (params_data):
|
| + group['params'] = [{'key': param, 'value': params_data[param]}
|
| + for param in sorted(params_data.keys())];
|
| + enable_features_data = group_data.get('enable_features')
|
| + if enable_features_data:
|
| + group['enable_features'] = enable_features_data
|
| + disable_features_data = group_data.get('disable_features')
|
| + if disable_features_data:
|
| + group['disable_features'] = disable_features_data
|
| + return group
|
| +
|
| +def _CreateTrial(trial_name, groups):
|
| + return {
|
| + 'name': trial_name,
|
| + 'groups': [_CreateGroup(group) for group in groups],
|
| + }
|
| +
|
| def _FieldTrialConfigToDescription(config):
|
| - element = {'groups': []}
|
| - for study in sorted(config.keys()):
|
| - group_data = config[study][0]
|
| - group = {
|
| - 'study': study,
|
| - 'group_name': group_data['group_name']
|
| + return {
|
| + 'elements': {
|
| + 'kFieldTrialConfig': {
|
| + 'trials': [_CreateTrial(trial_name, config[trial_name])
|
| + for trial_name in sorted(config.keys())]
|
| + }
|
| }
|
| - params_data = group_data.get('params')
|
| - if (params_data):
|
| - params = []
|
| - for param in sorted(params_data.keys()):
|
| - params.append({'key': param, 'value': params_data[param]})
|
| - group['params'] = params
|
| - enable_features_data = group_data.get('enable_features')
|
| - if enable_features_data:
|
| - group['enable_features'] = enable_features_data
|
| - disable_features_data = group_data.get('disable_features')
|
| - if disable_features_data:
|
| - group['disable_features'] = disable_features_data
|
| - element['groups'].append(group)
|
| - return {'elements': {'kFieldTrialConfig': element}}
|
| + }
|
|
|
| def main(arguments):
|
| parser = optparse.OptionParser(
|
| - description='Generates an C++ array of struct from a JSON description.',
|
| + description='Generates a struct from a JSON description.',
|
| usage='usage: %prog [option] -s schema description')
|
| parser.add_option('-b', '--destbase',
|
| help='base directory of generated files.')
|
|
|