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)
 |