summaryrefslogtreecommitdiffstats
path: root/src/utils/fs.py
diff options
context:
space:
mode:
authorJose M. Guisado <jguisado@soleta.eu>2022-07-05 17:11:26 +0200
committerJose M. Guisado <jguisado@soleta.eu>2022-08-24 09:48:35 +0200
commit3550da73e6da062d69dd0d7f1f6889b684abb15d (patch)
tree56d75bcc720468d6bebe889d21e06148e7322033 /src/utils/fs.py
parent74a61d6a7d71fa0bfb2a762bad7f754f33f63895 (diff)
image_create: partial integration into pythonv1.2.2
Integrates some parts of this operation into native code, eg: the md5 checksum computation. Wraps non native processes and commands using the subprocess module. For example, legacy.py stores bash commands pending integration. Supports python >=3.6, expected until more modern ogLives are put into production environments.
Diffstat (limited to 'src/utils/fs.py')
-rw-r--r--src/utils/fs.py28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/utils/fs.py b/src/utils/fs.py
index 191fb86..cd58383 100644
--- a/src/utils/fs.py
+++ b/src/utils/fs.py
@@ -6,10 +6,11 @@
# Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
+import logging
import os
import subprocess
-from subprocess import DEVNULL
+from subprocess import DEVNULL, PIPE
import psutil
@@ -74,3 +75,28 @@ def get_usedperc(mountpoint):
except FileNotFoundError:
return '0'
return str(perc)
+
+
+def ogReduceFs(disk, part):
+ """
+ Bash function 'ogReduceFs' wrapper
+ """
+ proc = subprocess.run(f'ogReduceFs {disk} {part}',
+ shell=True, stdout=PIPE)
+
+ if proc.returncode == 0:
+ subprocess.run(f'ogUnmount {disk} {part}',
+ shell=True, stdout=PIPE)
+ return proc.stdout.decode().replace('\n', '')
+
+ logging.warn(f'ogReduceFS exited with code {proc.returncode}')
+ return None
+
+
+def ogExtendFs(disk, part):
+ """
+ Bash function 'ogExtendFs' wrapper
+ """
+ proc = subprocess.run(f'ogExtendFs {disk} {part}',
+ shell=True)
+ return proc.returncode