|
|
|
@ -207,18 +207,22 @@ class InstallPackagesBlock(EmergeInformationBlock):
|
|
|
|
|
"""
|
|
|
|
|
list = PackageList([])
|
|
|
|
|
remove_list = PackageList([])
|
|
|
|
|
block_packages = False
|
|
|
|
|
_new_line = EmergeInformationBlock._new_line
|
|
|
|
|
_color_block = EmergeInformationBlock._color_block
|
|
|
|
|
token = "\n["
|
|
|
|
|
end_token = ["\r\n\r", "\n\n"]
|
|
|
|
|
|
|
|
|
|
re_block = re.compile(r"((?:^\[.*?{nl})+)".format(nl=_new_line),
|
|
|
|
|
re.MULTILINE)
|
|
|
|
|
re_blocks = re.compile(r"\[{c}blocks{c} {c}b".format(c=_color_block))
|
|
|
|
|
|
|
|
|
|
def get_data(self, match):
|
|
|
|
|
super(InstallPackagesBlock, self).get_data(match)
|
|
|
|
|
list_block = XmlConverter().transform(self.result).split('\n')
|
|
|
|
|
self.list = PackageList(map(EmergeUpdateInfo, list_block))
|
|
|
|
|
self.remove_list = PackageList(map(EmergeRemoveInfo, list_block))
|
|
|
|
|
self.block_packages = any(self.re_blocks.search(x) for x in list_block)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class UninstallPackagesBlock(EmergeInformationBlock):
|
|
|
|
|