#!/usr/bin/env python

import argparse
import os
import subprocess
import sys
import tempfile
from urllib import request, parse


def main(args):
    if not os.getuid() == 0:
        sys.stderr.write('rdpkg: error: requested operation requires superuser privilege\n')
        exit()
    else:
        url = parse.urlparse(args.URL)
        if not url.scheme or not url.netloc:
            sys.stderr.write('rdpkg: error: invalid url parameter provided\n')
            exit()
        temp = tempfile.NamedTemporaryFile(delete=False)
        request.urlretrieve(args.URL, temp.name)

        subprocess.call(['dpkg', '-i', temp.name])


if __name__ == '__main__':
    parser = argparse.ArgumentParser(
        description='Remote dpkg installer.',
        epilog='Installs a .deb package from a remote URL using dpkg.')
    parser.add_argument(
        'URL',
        help='remote URL of the package to be installed',
        metavar='URL')
    args = parser.parse_args()

main(args)
