- start_time = misc.get_timestamp()
- # Parse the xml files for the analysis of package (.rpm)
- repo_parser = RepodataParser('armv7l', repoinfo)
- pkg_group = repo_parser.parse()
- logger.info('packages: %d, provides: %d, files: %d', len(pkg_group['pkg_dict']), len(pkg_group['provides']), len(pkg_group['files']))
- logger.info('time to parse repodata: %d ms', misc.get_timestamp() - start_time)
+ if not pkg_group or not pkg_group.get('pkg_dict'):
+ start_time = misc.get_timestamp()
+ # Parse the xml files for the analysis of package (.rpm)
+ repo_parser = RepodataParser('armv7l', repoinfo)
+ pkg_group = repo_parser.parse()
+ logger.info('packages: %d, provides: %d, files: %d', len(pkg_group['pkg_dict']), len(pkg_group['provides']), len(pkg_group['files']))
+ logger.info('time to parse repodata: %d ms', misc.get_timestamp() - start_time)
+ # dump to cached file
+ file.write_json_flock(analysis_file, pkg_group)
+ else:
+ logger.info('use a cache parsing data - %s', analysis_file)