6fa318332a292e94b922852500c045d42b83c9c7
[tools/litmus.git] / litmus / cmds / __init__.py
1 #!/usr/bin/env python3
2 # Copyright 2015-2016 Samsung Electronics Co., Ltd.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 from configparser import RawConfigParser
17 from litmus.core.util import call
18
19
20 def load_project_list(projects):
21     """docstring for load_project_list"""
22     configparser = RawConfigParser()
23     configparser.read(projects)
24
25     project_list = []
26     for section in configparser.sections():
27         item = dict(configparser.items(section))
28         item['name'] = section
29         project_list.append(item)
30     return project_list
31
32 def sdb_does_exist():
33     help_url = 'https://github.com/dhs-shine/litmus#prerequisite'
34     try:
35         call('sdb version', timeout=10)
36     except FileNotFoundError:
37         raise Exception('Please install sdb. Refer to {}'.format(help_url))
38     return