ea70c6e89dd2a2bae72624bb59d861f36896cb4f
[archive/20170607/tools/tic-core.git] / tic / command.py
1 import base64
2 import logging
3
4 from tic.dependency import analyze_dependency
5 from tic.parser.repo_parser import RepodataParser
6 from tic.parser.view_parser import make_view_data
7
8 from tic.repo import Repo
9 from tic.repo import get_repodata_from_repos
10
11 DEFAULT_CACHEDIR='/var/tmp/tic-core/cached'
12
13 def analyze(repo_list, recipe_list=None):
14     logger = logging.getLogger(__name__)
15     
16     repos = []
17     for repo_url in repo_list:
18         repos.append(Repo(base64.urlsafe_b64encode(repo_url), repo_url))
19     
20     #Download repodata from repositories (Remote/Local)
21     repodata_list = get_repodata_from_repos(repos, DEFAULT_CACHEDIR)
22     
23     # Parse the xml files for the analysis of package (.rpm)
24     repo_parser = RepodataParser(repodata_list)
25     pkg_group = repo_parser.parse()
26     logger.info('pkg_list: %d, pkg2id: %d', len(pkg_group['pkg_list']), len(pkg_group['pkg2id']))
27     
28     # package install-dependency analysis
29     analyze_dependency(pkg_group)
30     # Make a data for TIC (Tizen image creation)
31     view_data = make_view_data(pkg_group)
32     
33     return view_data