Reviewed-by: gtema <artem.goncharov@gmail.com> Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com> Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.9 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.
 | |
| 
 | |
| import os
 | |
| import pathlib
 | |
| import yaml
 | |
| 
 | |
| __all__ = ["read_data"]
 | |
| 
 | |
| DATA_DIR = os.path.dirname(__file__)
 | |
| 
 | |
| 
 | |
| def read_data(filename):
 | |
|     """Return data that is shipped inside the Python package."""
 | |
| 
 | |
|     filepath = os.path.join(DATA_DIR, filename)
 | |
|     with open(filepath, "r") as fd:
 | |
|         data = yaml.safe_load(fd)
 | |
|         # Merge data found in individual element files
 | |
|         data.setdefault("documents", list())
 | |
|         data.setdefault("services", list())
 | |
|         data.setdefault("service_categories", list())
 | |
|         for item in pathlib.Path(DATA_DIR, "documents").glob("*.yaml"):
 | |
|             with open(item, "r") as fp:
 | |
|                 data["documents"].append(yaml.safe_load(fp))
 | |
|         for item in pathlib.Path(DATA_DIR, "services").glob("*.yaml"):
 | |
|             with open(item, "r") as fp:
 | |
|                 data["services"].append(yaml.safe_load(fp))
 | |
|         for item in pathlib.Path(DATA_DIR, "service_categories").glob(
 | |
|             "*.yaml"
 | |
|         ):
 | |
|             with open(item, "r") as fp:
 | |
|                 data["service_categories"].append(yaml.safe_load(fp))
 | |
| 
 | |
|         return data
 | |
| 
 | |
| 
 | |
| def rewrite_data(filename, data):
 | |
|     """Rewrites data formatting it"""
 | |
|     from ruamel.yaml import YAML
 | |
| 
 | |
|     _yaml = YAML()
 | |
|     _yaml.indent(mapping=2, sequence=4, offset=2)
 | |
|     filepath = os.path.join(DATA_DIR, filename)
 | |
|     with open(filepath, "w") as fd:
 | |
|         _yaml.dump(data, fd)
 |