Добавлено событие emerge скачиваение бинарных файлов

master3.3
Mike khiretskiy 10 years ago
parent 3f817eedfc
commit a0078d2c53

@ -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:

@ -310,6 +310,14 @@ class Update:
self.startTask(_("Installing %s") %
_print(str(pkg)))
def _printFetching(self, fn):
"""
Вывод сообщения о скачивании
"""
self.endTask()
self.startTask(_("Fetching binary packages"))
def _printUninstallPackage(self, pkg, num=1, max_num=1):
"""
Вывод сообщения удаления пакета
@ -513,6 +521,7 @@ class Update:
emerge.emerging.add_observer(self._printEmergePackage)
emerge.installing.add_observer(self._printInstallPackage)
emerge.uninstalling.add_observer(self._printUninstallPackage)
emerge.fetching.add_observer(self._printFetching)
try:
emerge.run()
except EmergeError:

Loading…
Cancel
Save