# limitations under the License.
from configparser import RawConfigParser
-from litmus import _projects_
-def load_project_list():
+def load_project_list(projects):
"""docstring for load_project_list"""
configparser = RawConfigParser()
- configparser.read(_projects_)
+ configparser.read(projects)
project_list = []
for section in configparser.sections():
import logging
from litmus.core.util import copy, call
from litmus.cmds import load_project_list
-from litmus import _projects_
def main(args):
"""docstring for main"""
- prj_list = load_project_list()
+ prj_list = load_project_list(args.projects)
orig = next((prj for prj in prj_list if prj['name'] == args.orig),
None)
copy(orig['path'], path)
call(['chmod', '-R', '775', path])
- with open(_projects_, 'a') as f:
+ with open(args.projects, 'a') as f:
f.write('[{0}]\n'.format(args.new))
f.write('path={0}\n'.format(path))
f.write('description={0}\n\n'.format(description))
import os
import logging
-from litmus import _duts_
def load_device_list(topology):
def main(args):
"""docstring for main"""
logging.debug('=====list of all devices in topology=====\n')
- load_device_list(_duts_)
+ load_device_list(args.topology)
def main(args):
"""docstring for main"""
- gt_main()
+ gt_main(topology=args.topology)
# limitations under the License.
import os
-from litmus import _projects_
from litmus.cmds import load_project_list
from litmus.core.util import call
def main(args):
"""docstring for main"""
- prj_list = load_project_list()
+ prj_list = load_project_list(args.projects)
project = next((prj for prj in prj_list
if prj['name'] == args.project),
call(['chmod', '-R', '775', prj_path])
- with open(_projects_, 'a') as f:
+ with open(args.projects, 'a') as f:
f.write('[{0}]\n'.format(args.project))
f.write('path={0}\n'.format(os.path.abspath(prj_path)))
f.write('description={0}\n\n'.format(prj_description))
def main(args):
"""docstring for main"""
- prj_list = load_project_list()
+ prj_list = load_project_list(args.projects)
logging.debug('=====list of all litmus projects=====')
for loop in prj_list:
logging.debug('{0:10s} ({1} : {2})'.format(loop['name'],
import litmus
import logging
from litmus.core.util import copy, call
-from litmus import _projects_, _dev_types_
+from litmus import _dev_types_
from litmus.cmds import load_project_list
def main(args):
"""docstring for main"""
- prj_list = load_project_list()
+ prj_list = load_project_list(args.projects)
project = next((prj for prj in prj_list if prj['name'] == args.project),
None)
copy(src, path)
call(['chmod', '-R', '775', path])
- with open(_projects_, 'a') as f:
+ with open(args.projects, 'a') as f:
f.write('[{0}]\n'.format(args.project))
f.write('path={0}\n'.format(path))
f.write('description={0}\n\n'.format(description))
import shutil
import logging
from configparser import RawConfigParser
-from litmus import _projects_
def main(args):
"""docstring for main"""
configparser = RawConfigParser()
- configparser.read(_projects_)
+ configparser.read(args.projects)
if args.project in configparser.sections():
path = configparser.get(args.project, 'path')
shutil.rmtree(path)
configparser.remove_section(args.project)
- with open(_projects_, 'w') as f:
+ with open(args.projects, 'w') as f:
configparser.write(f)
logging.debug('Project {0} is removed'.format(args.project))
else:
def main(args):
"""docstring for main"""
- prj_list = load_project_list()
+ prj_list = load_project_list(args.projects)
project = next((prj for prj in prj_list if prj['name'] == args.project),
None)
if not project:
userscript.main(project_name=args.project,
project_path=project['path'],
param=args.param,
- workingdir=args.workingdir)
+ workingdir=args.workingdir,
+ topology=args.topology)
self.kwargs = kwargs
logging.debug(self._comment)
- self._load_configs(_duts_)
+ if 'topology' in self.kwargs and self.kwargs['topology']:
+ tp = self.kwargs['topology']
+ else:
+ tp = _duts_
+ self._load_configs(tp)
+
if 'project_name' in self.kwargs:
self._project_name = self.kwargs['project_name']
if 'project_path' in self.kwargs:
super(generate_topology_sdb_device, self).__init__()
if 'append' in kwargs and kwargs['append']:
self.open_mode = 'a+'
+ if 'topology' in kwargs and kwargs['topology']:
+ self.topology_path = kwargs['topology']
def init_smartpowers(self):
"""docstring for init_smartpowers"""
self.close_uarts()
-def main():
+def main(topology):
"""docstring for main"""
try:
logging.debug('# phase 1 : detect all devices which use sdb')
- phase_sdb = generate_topology_sdb_device()
+ phase_sdb = generate_topology_sdb_device(topology=topology)
phase_sdb.run()
except KeyboardInterrupt:
if not os.path.exists(_projects_):
open(_projects_, 'a').close()
try:
- os.chmod(_duts_, 0o664)
+ os.chmod(_projects_, 0o664)
except PermissionError:
logging.debug('Can\'t change projects file permission')
parser.add_argument('-V', '--version',
action='version',
version='%(prog)s ' + __version__)
+ parser.add_argument('-t', '--topology',
+ type=str,
+ help='topology file path')
+ parser.add_argument('-p', '--projects',
+ type=str,
+ help='projects file path')
parser.format_usage = parser.format_help
subparsers = parser.add_subparsers(title='subcommands', dest='subcommands')
obj(subparsers)
args = parser.parse_args(argv[1:])
+
+ if not args.projects:
+ args.projects = _projects_
+ else:
+ args.projects = os.path.expanduser(args.projects)
+ if not args.topology:
+ args.topology = _duts_
+ else:
+ args.topology = os.path.expanduser(args.topology)
+
module = __import__('litmus.cmds.{0}'.format(args.module),
fromlist=[args.module])
return module.main(args)