aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbackend/magiback11
-rwxr-xr-xbackend/raw_write.py19
2 files changed, 22 insertions, 8 deletions
diff --git a/backend/magiback b/backend/magiback
index e1ec093..6bf0202 100755
--- a/backend/magiback
+++ b/backend/magiback
@@ -10,7 +10,8 @@ import logging
DEAMON_ORG = 'org.mageia.Magiback'
DEAMON_INTERFACE = DEAMON_ORG
ISODUMPER_INTERFACE = DEAMON_ORG + ".Isodumper"
-logging.basicConfig(filename="/var/log/magiback.log",level=logging.DEBUG)
+logging.basicConfig(filename="/var/log/magiback.log",format='%(asctime)s %(levelname)-8s %(message)s',
+ datefmt='%Y-%m-%d %H:%M:%S',level=logging.DEBUG)
class Isodumper(raw_write.Dumper):
"""
@@ -61,6 +62,7 @@ class Isodumper(raw_write.Dumper):
# Call translation catalog
gettext.install(APP, localedir=DIR,)
self.finished = threading.Event()
+ # finished is cleared at start of operation, and set at the end
self.finished.clear()
self._progress = 0
self.loop = GLib.MainLoop()
@@ -84,7 +86,8 @@ class Isodumper(raw_write.Dumper):
self.writing_perm = True
self.writing_target = target
else:
- self.return_message = "Access denied"
+ self.return_message = "Writing: Access denied"
+ logging.debug(self.return_message)
self.finished.set()
def do_persistence(self, target, label):
@@ -92,7 +95,7 @@ class Isodumper(raw_write.Dumper):
if self.writing_perm and self.writing_target == target :
self._do_persistence(target, label)
else:
- self.return_message = "Access denied"
+ self.return_message = "Persistence: Access denied"
self.writing_perm = False
self.writing_target = ""
@@ -120,7 +123,6 @@ class Isodumper(raw_write.Dumper):
return self._progress
def do_unmount(self, device):
- print("Unmounting")
return self._do_unmount([device])
def get_sum(self, source):
@@ -191,3 +193,4 @@ if __name__ == '__main__':
("Isodumper", Isodumper()))
loop = GLib.MainLoop()
loop.run()
+ logging.shutdown()
diff --git a/backend/raw_write.py b/backend/raw_write.py
index dbf8e19..d369d82 100755
--- a/backend/raw_write.py
+++ b/backend/raw_write.py
@@ -34,6 +34,7 @@ from subprocess import call, Popen, PIPE
import hashlib
import gnupg
import time
+import logging
class Dumper(object):
@@ -47,6 +48,7 @@ class Dumper(object):
ifc=io.open(source, "rb",1)
except:
message = _('Reading error.')+ source
+ logging.debug(message)
self.return_state = False
self.return_message = message
self.finished.set()
@@ -85,6 +87,7 @@ class Dumper(object):
ofc.write(buf)
except:
message = _("Writing error.")
+ logging.debug(message)
self.return_state = False
self.return_message = message
self.finished.set()
@@ -98,6 +101,7 @@ class Dumper(object):
os.fsync(ofc)
except:
message = _("Writing error.")
+ logging.debug(message)
self.return_state = False
self.return_message = message
self.finished.set()
@@ -114,11 +118,13 @@ class Dumper(object):
self._progress = 100
self.finished.set()
self.return_state = True
- self.return_message = _("Success")
+ self.return_message = _("Writing terminated")
+ logging.debug(self.return_message)
return
def _do_unmount(self, target):
target = target[0]
+ logging.debug("Starting unmounting")
message = _("No partition is mounted.")
retcode = 0
try:
@@ -144,12 +150,13 @@ class Dumper(object):
message += _('Error, umount returned {}').format(str(retcode))
except OSError as e:
message += _('Execution failed: {}').format(str(e))
- print(message)
+ logging.info(message)
return not bool(retcode), message
def _get_sum(self, source):
self.return_state = False
self.return_message = ""
+ logging.debug("Starting getting sum")
# Check if the sum file has a valid signature
gpg = gnupg.GPG()
gpg.encoding = 'utf-8'
@@ -178,8 +185,10 @@ class Dumper(object):
except:
self.return_message = _("Sum SHA512 file {} not found\n").format(source+'.sha512')
self.sum_file = False
+ logging.info(self.return_message)
def _check_write(self, target, source):
+ logging.debug("Start checking")
self.return_state = False
self.return_message = ""
b = os.path.getsize(source)
@@ -219,13 +228,15 @@ class Dumper(object):
#pass
self._progress = 100
+ logging.info(self.return_message)
self.return_state = True
self.finished.set()
def _do_persistence(self, target, label):
+ logging.debug("Start doing persistence partition")
p = Popen(["fdisk",target], stdin = PIPE)
p.communicate(input=b'n\np\n3\n\n\nw\n')
- # exemple mkfs.ext4 -L mgalive-persist /dev/sdf3
+ # example mkfs.ext4 -L mgalive-persist /dev/sdf3
process = Popen(['mkfs.ext4','-L', label, target+"3"])
working=True
while working:
@@ -237,7 +248,7 @@ class Dumper(object):
else:
process = None
working= False
- print(rc)
+ logging.debug("Persistence partition done")
return rc