forked from cromer/pamac-classic
fix miscelleanous bugs
This commit is contained in:
parent
8aaed3ec9c
commit
5c143a9fb5
@ -365,7 +365,7 @@ class PamacDBusService(dbus.service.Object):
|
||||
else:
|
||||
percent = round(_percent/100, 2)
|
||||
if target != self.previous_target:
|
||||
self.previous_target = target.format()
|
||||
self.previous_target = target
|
||||
if percent != self.previous_percent:
|
||||
self.EmitTarget('{}/{}'.format(str(i), str(n)))
|
||||
self.previous_percent = percent
|
||||
@ -401,6 +401,7 @@ class PamacDBusService(dbus.service.Object):
|
||||
syncfirst = False
|
||||
updates = []
|
||||
_ignorepkgs = set()
|
||||
self.get_handle()
|
||||
self.get_local_packages()
|
||||
for group in self.handle.ignoregrps:
|
||||
db = self.localdb
|
||||
@ -428,6 +429,7 @@ class PamacDBusService(dbus.service.Object):
|
||||
if candidate:
|
||||
updates.append((candidate.name, candidate.version, candidate.db.name, '', candidate.download_size))
|
||||
self.local_packages.discard(pkg.name)
|
||||
if self.local_packages:
|
||||
aur_pkgs = aur.multiinfo(self.local_packages)
|
||||
for aur_pkg in aur_pkgs:
|
||||
comp = pyalpm.vercmp(aur_pkg.version, self.localdb.get_pkg(aur_pkg.name).version)
|
||||
@ -455,7 +457,7 @@ class PamacDBusService(dbus.service.Object):
|
||||
self.EmitTransactionDone('')
|
||||
self.task = Process(target=refresh)
|
||||
self.task.start()
|
||||
GObject.timeout_add(500, self.check_finished_commit)
|
||||
GObject.timeout_add(100, self.check_finished_commit)
|
||||
success('')
|
||||
|
||||
@dbus.service.method('org.manjaro.pamac', 'a{sb}', 's')
|
||||
@ -704,7 +706,7 @@ class PamacDBusService(dbus.service.Object):
|
||||
if authorized:
|
||||
self.task = Process(target=commit)
|
||||
self.task.start()
|
||||
GObject.timeout_add(500, self.check_finished_commit)
|
||||
GObject.timeout_add(100, self.check_finished_commit)
|
||||
else :
|
||||
self.t.release()
|
||||
self.EmitTransactionError(_('Authentication failed'))
|
||||
|
@ -1,7 +1,7 @@
|
||||
#! /usr/bin/python3
|
||||
# -*- coding:utf-8 -*-
|
||||
|
||||
version = '0.9.2'
|
||||
version = '0.9.3'
|
||||
|
||||
from gi.repository import Gtk, Gdk
|
||||
from gi.repository.GdkPixbuf import Pixbuf
|
||||
|
10
pamac/aur.py
10
pamac/aur.py
@ -133,6 +133,10 @@ def info(pkgname):
|
||||
return []
|
||||
else:
|
||||
results_dict = r.json()
|
||||
if results_dict['type'] == 'error':
|
||||
print('failed to get infos about {} from AUR'.format(pkgname))
|
||||
return None
|
||||
else:
|
||||
result = results_dict['results']
|
||||
if result:
|
||||
pkg = AURPkg(result)
|
||||
@ -151,8 +155,12 @@ def multiinfo(pkgnames):
|
||||
return []
|
||||
else:
|
||||
results_dict = r.json()
|
||||
results = results_dict['results']
|
||||
if results_dict['type'] == 'error':
|
||||
print('failed to get infos about {} from AUR'.format(pkgnames))
|
||||
return []
|
||||
else:
|
||||
pkgs = []
|
||||
results = results_dict['results']
|
||||
if results:
|
||||
for result in results:
|
||||
pkgs.append(AURPkg(result))
|
||||
|
@ -123,6 +123,8 @@ def write_to_buffer(fd, condition):
|
||||
#print(line.rstrip('\n'))
|
||||
progress_buffer.insert_at_cursor(line)
|
||||
progress_bar.pulse()
|
||||
while Gtk.events_pending():
|
||||
Gtk.main_iteration()
|
||||
return True # FUNDAMENTAL, otherwise the callback isn't recalled
|
||||
else:
|
||||
return False # Raised an error: exit
|
||||
@ -454,6 +456,9 @@ def check_finished_build(data):
|
||||
path = data[0]
|
||||
pkg = data[1]
|
||||
if build_proc.poll() is None:
|
||||
progress_bar.pulse()
|
||||
while Gtk.events_pending():
|
||||
Gtk.main_iteration()
|
||||
return True
|
||||
elif build_proc.poll() == 0:
|
||||
built = []
|
||||
@ -464,7 +469,8 @@ def check_finished_build(data):
|
||||
for new_pkg in new_pkgs:
|
||||
for item in os.listdir(path):
|
||||
if os.path.isfile(os.path.join(path, item)):
|
||||
if fnmatch.fnmatch(item, '{}-{}-*.pkg.tar.?z'.format(new_pkg.name, new_pkg.version)):
|
||||
# add a * before pkgver if there an epoch variable
|
||||
if fnmatch.fnmatch(item, '{}-*{}-*.pkg.tar.?z'.format(new_pkg.name, new_pkg.version)):
|
||||
built.append(os.path.join(path, item))
|
||||
break
|
||||
if built:
|
||||
@ -496,6 +502,10 @@ def check_finished_build(data):
|
||||
response = ErrorDialog.run()
|
||||
if response:
|
||||
ErrorDialog.hide()
|
||||
else:
|
||||
ProgressCancelButton.set_visible(False)
|
||||
ProgressCloseButton.set_visible(True)
|
||||
action_long_handler(_('Build process failed.'))
|
||||
return False
|
||||
elif build_proc.poll() == 1:
|
||||
ProgressCancelButton.set_visible(False)
|
||||
|
Loading…
Reference in New Issue
Block a user