X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=tic%2Fcommand.py;h=65570d16ab8916d6d94fb985de1a05f95219e746;hb=95e35418419d443b87102155fa2822e6c63220a5;hp=ea70c6e89dd2a2bae72624bb59d861f36896cb4f;hpb=1936539e7ea6190f0022af5891fba2f6a094f697;p=archive%2F20170607%2Ftools%2Ftic-core.git diff --git a/tic/command.py b/tic/command.py index ea70c6e..65570d1 100644 --- a/tic/command.py +++ b/tic/command.py @@ -1,11 +1,11 @@ -import base64 import logging -from tic.dependency import analyze_dependency +from tic.dependency import analyze_dependency, get_installed_packages +from tic.parser.recipe_parser import get_default_recipe from tic.parser.repo_parser import RepodataParser from tic.parser.view_parser import make_view_data -from tic.repo import Repo +from tic.utils.error import TICError from tic.repo import get_repodata_from_repos DEFAULT_CACHEDIR='/var/tmp/tic-core/cached' @@ -13,15 +13,30 @@ DEFAULT_CACHEDIR='/var/tmp/tic-core/cached' def analyze(repo_list, recipe_list=None): logger = logging.getLogger(__name__) + if not repo_list and not recipe_list: + raise TICError('No repositories defined') + repos = [] - for repo_url in repo_list: - repos.append(Repo(base64.urlsafe_b64encode(repo_url), repo_url)) + recipe = None + #TODO Repository check + # using default recipe (Temporary Code) + if recipe_list and recipe_list[0] == 'default': + recipe = get_default_recipe() + for repo_url in recipe.get('Repositories'): + repos.append({'name': repo_url.get('Name'), + 'url': repo_url.get('Url')}) + else: + number=1 + for repo_url in repo_list: + repos.append({'name': 'repository_%d' % number, + 'url': repo_url}) + number = number + 1 #Download repodata from repositories (Remote/Local) - repodata_list = get_repodata_from_repos(repos, DEFAULT_CACHEDIR) + repoinfo = get_repodata_from_repos(repos, DEFAULT_CACHEDIR) # Parse the xml files for the analysis of package (.rpm) - repo_parser = RepodataParser(repodata_list) + repo_parser = RepodataParser(repoinfo) pkg_group = repo_parser.parse() logger.info('pkg_list: %d, pkg2id: %d', len(pkg_group['pkg_list']), len(pkg_group['pkg2id'])) @@ -29,5 +44,10 @@ def analyze(repo_list, recipe_list=None): analyze_dependency(pkg_group) # Make a data for TIC (Tizen image creation) view_data = make_view_data(pkg_group) + inst_packages = get_installed_packages(recipe, repoinfo, pkg_group) + + result = {'packages': view_data, + 'repos': repos, + 'defaultpackages': inst_packages} - return view_data \ No newline at end of file + return result \ No newline at end of file