Doug Hellmann 8d38d82b41 show deliverables in the order listed in the projects file
Use an ordered dictionary loader to maintain the order items appear in
the projects file so we can produce them in the same order in the
output.

Change-Id: I96707f96056cc94a34cf9f4b9edfb73f42f7bb27
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-01-11 16:32:35 -05:00

45 lines
1.2 KiB
Python

# 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.
"""Load the projects.yaml file.
"""
import copy
import os.path
import yaml
import yamlordereddictloader
_projects_yaml = {}
def get_project_data():
"""Return a copy of the project data."""
return copy.deepcopy(_projects_yaml)
def slugify(name):
"""Convert name to slug form for references."""
return name.lower().replace(' ', '-')
def setup(app):
global _projects_yaml
filename = os.path.abspath('reference/projects.yaml')
app.info('reading %s' % filename)
with open(filename, 'r', encoding='utf-8') as f:
_projects_yaml = yaml.load(
f.read(),
Loader=yamlordereddictloader.Loader,
)