aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorPapoteur <papoteur@mageia.org>2021-03-26 07:08:42 +0100
committerPapoteur <papoteur@mageia.org>2021-03-27 18:58:25 +0100
commit6f33ddb8f52132471b9a052d18625fdd753dfd0f (patch)
tree88a7d7ca56fc3fa69095e521438e3a3206d0856d /lib
parent122d5f3d29999e9e8179251eed98bdf3fcb6a3d9 (diff)
downloadisodumper-6f33ddb8f52132471b9a052d18625fdd753dfd0f.tar
isodumper-6f33ddb8f52132471b9a052d18625fdd753dfd0f.tar.gz
isodumper-6f33ddb8f52132471b9a052d18625fdd753dfd0f.tar.bz2
isodumper-6f33ddb8f52132471b9a052d18625fdd753dfd0f.tar.xz
isodumper-6f33ddb8f52132471b9a052d18625fdd753dfd0f.zip
Init DBus interface only one time
Diffstat (limited to 'lib')
-rwxr-xr-xlib/isodumper.py56
1 files changed, 28 insertions, 28 deletions
diff --git a/lib/isodumper.py b/lib/isodumper.py
index fc5ef4d..d91bc3d 100755
--- a/lib/isodumper.py
+++ b/lib/isodumper.py
@@ -386,16 +386,14 @@ class IsoDumper(basedialog.BaseDialog):
message = _('Backup to: {}').format(dest)
self.logger(message)
logging.info(message)
- bus = SystemBus()
- iface = bus.get("org.mageia.Magiback", "Isodumper")
# Writing step
- iface.do_write(source, dest, self.deviceSize)
- while not iface.done:
- progress = iface.progress
+ self.iface.do_write(source, dest, self.deviceSize)
+ while not self.iface.done:
+ progress = self.iface.progress
self.progress.setValue(progress)
self.dialog.pollEvent()
time.sleep(.2)
- success, message = iface.end()
+ success, message = self.iface.end()
if success:
#: don't translate source or target
message = _('{source} successfully written to {target}').format(source=source.split('/')[-1], target=dest)
@@ -445,21 +443,19 @@ class IsoDumper(basedialog.BaseDialog):
self.operation = True
self.logger(message)
logging.info(message)
- bus = SystemBus()
- iface = bus.get("org.mageia.Magiback", "Isodumper")
success, message = self.u.do_unmount(target)
self.udev_wait(_("unmounting"))
if success:
# Writing step
- iface.do_write(source, target, b)
- iface.get_sum(source)
- progress = iface.progress
- while not iface.done:
- progress = iface.progress
+ self.iface.do_write(source, target, b)
+ self.iface.get_sum(source)
+ progress = self.iface.progress
+ while not self.iface.done:
+ progress = self.iface.progress
self.progress.setValue(progress)
self.dialog.pollEvent()
time.sleep(.5)
- success, message = iface.end()
+ success, message = self.iface.end()
if success:
#: don't translate source or target
message = _('Image {source} successfully written to {target}').format(source=source.split('/')[-1],
@@ -471,14 +467,14 @@ class IsoDumper(basedialog.BaseDialog):
self.progress.setValue(0)
self.dialog.pollEvent()
# Checking
- iface.check_write(target, source)
+ self.iface.check_write(target, source)
progress = 0
while progress < 100:
self.progress.setValue(progress)
self.dialog.pollEvent()
time.sleep(.5)
- progress = iface.progress
- nowarning, message = iface.end()
+ progress = self.iface.progress
+ nowarning, message = self.iface.end()
self.progress.setEnabled()
self.logger(message)
logging.info(message)
@@ -492,33 +488,33 @@ class IsoDumper(basedialog.BaseDialog):
self.logger(message)
logging.warning(message)
else:
- iface.do_persistence(target, self.partition_label.value(), self.cryptkey.value())
- while not iface.done:
- progress = iface.progress
+ self.iface.do_persistence(target, self.partition_label.value(), self.cryptkey.value())
+ while not self.iface.done:
+ progress = self.iface.progress
self.progress.setValue(progress)
- self.progress.setLabel(iface.message)
+ self.progress.setLabel(self.iface.message)
self.dialog.pollEvent()
time.sleep(.5)
- if iface.state:
+ if self.iface.state:
message = _("Added encrypted persistent partition")
self.logger(message)
logging.warning(message)
else:
self.logger(_("Adding encrypted persistent partition failed"))
- self.logger(iface.message)
+ self.logger(self.iface.message)
nowarning = False
else:
- iface.do_persistence(target, self.partition_label.value(), "")
- while not iface.done:
- progress = iface.progress
+ self.iface.do_persistence(target, self.partition_label.value(), "")
+ while not self.iface.done:
+ progress = self.iface.progress
self.progress.setValue(progress)
self.dialog.pollEvent()
time.sleep(.5)
- if iface.state:
+ if self.iface.state:
message = _("Added persistent partition")
else:
message = _("Adding persistent partition failed")
- self.logger(iface.message)
+ self.logger(self.iface.message)
nowarning = False
self.logger(message)
logging.warning(message)
@@ -688,6 +684,10 @@ exFAT, NTFS or ext. You can specify a volume name and the format in a new dialog
# Operation running
self.operation = False
+
+ # Prepare interface on DBus
+ self.bus = SystemBus()
+ self.iface = self.bus.get("org.mageia.Magiback", "Isodumper")
self.ChooseImage = _("Choose an image")
self.warning = _("Warning\nThis will destroy all data on the target device,\n\
> -name '*.ko.?z'`) { my $modfile = basename($_); $modfile =~ s/\.ko\.xz//; $wanted_modules{$modfile} and print "$modfile\n"; } } sub list_fake_modules { my ($kern_ver) = @_; load_dependencies("/lib/modules/$kern_ver/modules.dep"); my @all = map { category2modules($_) } split(' ', 'multimedia/*'); my %wanted_modules = map { (list_modules::modname2filename($_) => 1) } @all; foreach (`find /lib/modules/$kern_ver -name '*.ko.?z'`) { my $modfile = basename($_); $modfile =~ s/\.ko\.xz//; $wanted_modules{$modfile} and print "$modfile\n"; } } sub get_main_modules() { my $base = dirname($0); my $main = chomp_(cat_("$base/RPMS/.main")); chomp_(`tar tf $base/all.kernels/$main/all_modules.tar`); } sub pci_modules4stage1 { my ($category) = @_; my @modules = difference2([ category2modules($category) ]); print "$_\n" foreach uniq(map { dependencies_closure($_) } @modules); } sub check() { my $error; my %listed; while (my ($t1, $l) = each %list_modules::l) { while (my ($t2, $l) = each %$l) { ref $l or die "bad $l in $t1/$t2"; foreach (@$l) { $listed{$_} = "$t1/$t2"; } } } my %module2category; my %deprecated_modules = %listed; my $not_listed = sub { my ($msg, $verbose, @l) = @_; my %not_listed; foreach (@l) { my ($mod) = m|([^/]*)\.k?o(\.gz)?$| or next; delete $deprecated_modules{$mod}; next if $listed{$mod}; s|.*?mdk/||; s|kernel/||; s|drivers/||; s|3rdparty/||; $_ = dirname $_; $_ = dirname $_ if $mod eq basename($_); $module2category{$mod} = $_; push @{$not_listed{$_}}, $mod; } if ($verbose) { print "$msg $_: ", join(" ", @{$not_listed{$_}}), "\n" foreach sort keys %not_listed; } }; $not_listed->('NOT LISTED', 1, get_main_modules()); $not_listed->('not listed', $verbose, chomp_(`rpm -qpl RPMS/kernel-*2.6*`)); if (%deprecated_modules) { my %per_cat; push @{$per_cat{$listed{$_}}}, $_ foreach keys %deprecated_modules; foreach my $cat (sort keys %per_cat) { print "bad/old modules ($cat) : ", join(" ", sort @{$per_cat{$cat}}), "\n"; } } { require '/usr/bin/merge2pcitable.pl'; my $pcitable = read_pcitable("/usr/share/ldetect-lst/pcitable"); my $usbtable = read_pcitable("/usr/share/ldetect-lst/usbtable"); my @l1 = uniq grep { !/:/ && $_ ne 'unknown' } map { $_->[0] } values %$pcitable; if (my @l = difference2(\@l1, [ keys %listed ])) { my %not_listed; push @{$not_listed{$module2category{$_}}}, $_ foreach @l; if (my $l = delete $not_listed{''}) { print "bad/old pcitable modules : ", join(" ", @$l), "\n"; } print STDERR "PCITABLE MODULES NOT LISTED $_: ", join(" ", sort @{$not_listed{$_}}), "\n" foreach sort keys %not_listed; #$error = 1; } my @l2 = uniq grep { !/:/ && $_ ne 'unknown' } map { $_->[0] } values %$usbtable; if (my @l = difference2(\@l2, [ keys %listed ])) { my %not_listed; push @{$not_listed{$module2category{$_}}}, $_ foreach @l; print STDERR "usbtable modules not listed $_: ", join(" ", sort @{$not_listed{$_}}), "\n" foreach sort keys %not_listed; } } exit $error; }