|
|
|
@ -404,6 +404,16 @@ class UnemergingPackage(NotifierInformationBlock):
|
|
|
|
|
observer(EmergePackage(groups[2]), num=groups[0], max_num=groups[1])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class FetchingTarball(NotifierInformationBlock):
|
|
|
|
|
"""
|
|
|
|
|
Происходит скачивание архивов
|
|
|
|
|
"""
|
|
|
|
|
token = "Saving to:"
|
|
|
|
|
re_block = re.compile("Saving to:\s*‘(\S+)?’")
|
|
|
|
|
|
|
|
|
|
def notify(self, observer, groups):
|
|
|
|
|
observer(groups[0])
|
|
|
|
|
|
|
|
|
|
class InstallingPackage(NotifierInformationBlock):
|
|
|
|
|
"""
|
|
|
|
|
Запуск устанавливаемого пакета
|
|
|
|
@ -501,8 +511,10 @@ class EmergeParser(object):
|
|
|
|
|
self.installing = InstallingPackage(self)
|
|
|
|
|
self.uninstalling = UnemergingPackage(self)
|
|
|
|
|
self.emerging = EmergingPackage(self)
|
|
|
|
|
self.fetching = FetchingTarball(self)
|
|
|
|
|
|
|
|
|
|
self.emerging.add_observer(self.mark_binary)
|
|
|
|
|
self.emerging.add_observer(self.skip_fetching)
|
|
|
|
|
if run:
|
|
|
|
|
self.run()
|
|
|
|
|
|
|
|
|
@ -510,6 +522,9 @@ class EmergeParser(object):
|
|
|
|
|
if binary:
|
|
|
|
|
self.installing.mark_binary(package)
|
|
|
|
|
|
|
|
|
|
def skip_fetching(self, *argv, **kw):
|
|
|
|
|
self.fetching.action = lambda child: None
|
|
|
|
|
|
|
|
|
|
def add_element(self, element):
|
|
|
|
|
if element.token:
|
|
|
|
|
if type(element.token) == list:
|
|
|
|
|