#!/usr/bin/python3 import sys import apt_pkg import apt def show_help(): print(f"apt {apt_pkg.VERSION} compiled on {apt_pkg.DATE} {apt_pkg.TIME}") if apt_pkg.config.find_b("version"): return 0 # Copied from apt-cdrom print( "Usage: apt-cdrom [options] command\n" "\n" "apt-cdrom is a tool to add CDROM's to APT's source list. The\n" "CDROM mount point and device information is taken from apt.conf\n" "and /etc/fstab.\n" "\n" "Commands:\n" " add - Add a CDROM\n" " ident - Report the identity of a CDROM\n" "\n" "Options:\n" " -h This help text\n" " -d CD-ROM mount point\n" " -r Rename a recognized CD-ROM\n" " -m No mounting\n" " -f Fast mode, don't check package files\n" " -a Thorough scan mode\n" " -c=? Read this configuration file\n" " -o=? Set an arbitrary configuration option, eg -o " "dir::cache=/tmp\n" "See fstab(5)" ) return 0 def main(args): arguments = apt_pkg.parse_commandline( apt_pkg.config, [ ("h", "help", "help"), ("v", "version", "version"), ("d", "cdrom", "Acquire::cdrom::mount", "HasArg"), ("r", "rename", "APT::CDROM::Rename"), ("m", "no-mount", "APT::CDROM::NoMount"), ("f", "fast", "APT::CDROM::Fast"), ("n", "just-print", "APT::CDROM::NoAct"), ("n", "recon", "APT::CDROM::NoAct"), ("n", "no-act", "APT::CDROM::NoAct"), ("a", "thorough", "APT::CDROM::Thorough"), ("c", "config-file", "", "ConfigFile"), ("o", "option", "", "ArbItem"), ], args, ) if apt_pkg.config.find_b("help") or apt_pkg.config.find_b("version"): return show_help() progress = apt.progress.text.CdromProgress() cdrom = apt_pkg.Cdrom() if not arguments: return show_help() elif arguments[0] == "add": cdrom.add(progress) elif arguments[0] == "ident": cdrom.ident(progress) else: sys.stderr.write("E: Invalid operation %s\n" % arguments[0]) return 1 if __name__ == "__main__": sys.exit(main(sys.argv))