+from .utils import JsonDict
+
from bs4 import BeautifulSoup
import difflib
import glob
tofile=ks_new[0]):
yield line
+def packages(url):
+ content = _get_file(url, suffix='.packages')
+
+ packages_info = {}
+
+ for line in content[1]:
+ if line.strip():
+ name_arch, version, vcs = line.strip().split()
+ name = name_arch.split('.')[0]
+ packages_info[name] = []
+ package_info = JsonDict()
+ package_info.name = name
+ package_info.version = JsonDict()
+ ver, epoch_rel = version.split('-')
+ epoch, rel = epoch_rel.split('.')
+ package_info.version.epoch = epoch
+ package_info.version.ver = ver
+ package_info.version.rel = rel
+ package_info.version.vcs = vcs
+ packages_info[name].append(package_info)
+
+ return packages_info
+
xml.sax.parse(src, builder)
return builder.root._attrs.values()[0]
+
+class JsonDict(dict):
+ """Dictionary json object."""
+
+ def __init__(self):
+ super(JsonDict, self).__init__()
+
+ def __repr__(self):
+ items = self.__dict__.items()
+ return u'{%s}' % ', '.join([u'%s:%s' % (k, repr(v)) for k, v in items])
+
+ def __getitem__(self, key):
+ return self.__dict__.get(key, None)
+
+ def get(self, key, default=None):
+ return self.__dict__.get(key, default)
+
+