Skip to content

Add improved docs and license to config-update utility #980

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Feb 28, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions check_tools/config-update.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,58 @@
#! /usr/bin/env python
"""
mbed SDK
Copyright (c) 2019 ARM Limited
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
LIBRARIES BUILD
"""

# Script to automatically update the configuration parameters list in
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

# each configuration doc page with the output from `mbed compile --config -v`
# for the page's appropriate prefix.
#
# By default, when run from the check_tools directory, the script runs
# through each Markdown file in `docs/reference/configuration/`. An
# optional file or directory path may be passed in a parameter to run the
# script on a specific file or directroy outside the default path.
#
# Note that you need to run this with a local copy of whichever version of
# Mbed OS you wish to update the configuration parameters with.
#
# You can run this script with:
# python config-update.py <OPTIONAL FILE/DIR PATH>

import sys, os
import re
import subprocess

def split_into_pairs(l):
""" Split the provided list into a, b pairs.
[1, 2, 3, 4] -> [[1, 2], [3, 4]]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Args:
l - list of values to be split

Returns:
List of split pairs
"""
for i in range(0, len(l), 2):
yield l[i:i + 2]

def main(file):
file_h = open(file, 'r+')
file = file_h.read()

# Collect indices of markdown code block ticks, split into start,end pairs
# with `split_into_pairs` below. Collect the config parameter prefix used in
# the current block if viable and replace the contents with the output of
# the Mbed CLI config verbose list command.
snippet_indices = [m.start() for m in re.finditer('```', file)]

blocks = {}
Expand Down