Skip to main content

configure_with_sudo

Description

A Python module to handle executing system commands using sudo.

Usage

Extend GenericConfigure, setting at a minimum an appropriate argv command & argument list.

Example

The following class will check if pip is installed and, if not, install it system-wide using sudo easy_install pip:

from configure_with_sudo import GenericConfigure

class InstallPip(GenericConfigure):

    def __init__(self, kill_sudo_cred=True):
        # Initial argv is simply to check if 'pip' is installed
        argv = ["/usr/local/bin/pip", "-V"]
        super(InstallPip, self).__init__(
            argv, use_sudo=True, kill_sudo_cred=kill_sudo_cred)

        try:
            # Execute to check if pip is already installed
            # if it is, self.configured will be set to True
            # and subsequent calls to execute() will do nothing
            self.execute(use_sudo=False)

        except Exception:
            # If pip -V failed, assume pip is not installed.
            # Replace self.argv with the installation command.
            self.argv = ["/usr/bin/easy_install", "pip"]

pip_installer = InstallPip()
pip_installer.execute()

The following example will capture the output of sudo ls -l /private/var/root, and print it line-by-line:

class DirectoryLister(GenericConfigure):

    def __init__(self, path):
        argv = ["ls", "-l", path]
        super().__init__(argv, use_sudo=True)

path = "/private/var/root"
lister = DirectoryLister(path)
output = lister.execute(return_output=True)

for line in output:
    print(line)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

configure_with_sudo-0.1.1.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

configure_with_sudo-0.1.1-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file configure_with_sudo-0.1.1.tar.gz.

File metadata

  • Download URL: configure_with_sudo-0.1.1.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for configure_with_sudo-0.1.1.tar.gz
Algorithm Hash digest
SHA256 134fbd70a40a2dce9337d84adc621efa459cf3f619be36a646af063c2601db6c
MD5 afb3b34b7a87f15fb31fdc7292d18433
BLAKE2b-256 bef0e8a57cfe4249a43c1649711ae2d6c7a9a92603abfd6b85aee0f3d83fc7fd

See more details on using hashes here.

File details

Details for the file configure_with_sudo-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for configure_with_sudo-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 379a89d5ba2700a9d926901b370940fc0641b65b75cedca403fb5d78b47229d7
MD5 d837a9da572ad99004e749382a26f710
BLAKE2b-256 1f958cb371c534bed40fb02f5150c8615e8ba4acbeebaf8e2a08490d995e176c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page