import os import subprocess #!/usr/bin/env python3 def main(): os.environ["DEBUG"] = "no" ser = ogGetSerialNumber() cfg = "" disks = len(ogDiskToDev().split()) for dsk in range(1, disks + 1): particiones = ogGetPartitionsNumber(dsk) or 0 ptt = ogGetPartitionTableType(dsk) ptt_map = {"MSDOS": 1, "GPT": 2, "LVM": 3, "ZPOOL": 4} ptt = ptt_map.get(ptt, 0) cfg += f"{dsk}:0:{ptt}:::{ogGetDiskSize(dsk)}:0;" for par in range(1, particiones + 1): cod = ogGetPartitionId(dsk, par) fsi = getFsType(dsk, par) or "EMPTY" tam = ogGetPartitionSize(dsk, par) or "0" soi = "" uso = 0 if fsi not in ["", "EMPTY", "LINUX-SWAP", "LINUX-LVM", "ZVOL"]: if ogMount(dsk, par): soi = getOsVersion(dsk, par).split(":")[1] if not soi: soi = getOsVersion(dsk, par).split(":")[1] if not soi and fsi not in ["EMPTY", "CACHE"]: soi = "DATA" uso = int(subprocess.getoutput(f"df {ogGetMountPoint(dsk, par)} | awk '{{getline; printf \"%d\",$5}}'") or 0) cfg += f"{dsk}:{par}:{cod}:{fsi}:{soi}:{tam}:{uso};" if not cfg: cfg = "1:0:0:::0;" cfgfile = "/tmp/getconfig" with open(cfgfile, "w") as f: f.write(f"{ser + ';' if ser else ''}{cfg}") generateMenuDefault() with open(cfgfile, "r") as f: data = f.read() for line in data.split(";"): if line: parts = line.split(":") if len(parts) == 1: print(f"ser={parts[0]}") else: print(f"disk={parts[0]}\tpar={parts[1]}\tcpt={parts[2]}\tfsi={parts[3]}\tsoi={parts[4]}\ttam={parts[5]}\tuso={parts[6]}") for root, dirs, files in os.walk("/mnt"): for file in files: if file.startswith("ogboot."): os.remove(os.path.join(root, file)) os.environ.pop("DEBUG", None) if __name__ == "__main__": main()