return
added, removed, modified, rebuilded = [], [], [], []
- package_names = set(old.keys() + new.keys())
+ package_names = set(old.__dict__.keys() + new.__dict__.keys())
def _pair_old_new():
for name in package_names:
- if old.get(name) is None:
+ if old[name] is None:
for pkg in new[name]:
yield (None, pkg)
- elif new.get(name) is None:
+ elif new[name] is None:
for pkg in old[name]:
yield (pkg, None)
else:
def packages(url):
content = _get_file(url, suffix='.packages')
- packages_info = {}
+ packages_info = JsonDict()
for line in content[1]:
if line.strip():
name_arch, version, vcs = line.strip().split()
name = name_arch.split('.')[0]
- packages_info[name] = []
+ setattr(packages_info, name, [])
package_info = JsonDict()
package_info.name = name
package_info.version = JsonDict()
from .utils import xml2obj
+from .utils import JsonDict
import gzip
import mimetypes
@property
def packages(self):
- packages_info = {}
+ packages_info = JsonDict()
- for _package in self._primary.package:
- packages_info[_package.name] = (packages_info.get(_package.name) \
- or []) + [_package]
+ for package in self._primary.package:
+ if packages_info[package.name] is None:
+ setattr(packages_info, package.name, [package])
+ else:
+ packages_info[package.name].append(package)
return packages_info