#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
import argparse
import launchpadtools
import shutil
import tempfile


def _parse_cmd_arguments():
    parser = argparse.ArgumentParser(
            description='Update patches builds to launchpad.'
            )
    parser.add_argument(
            '--update-patches', '-z',
            default=False,
            action='store_true',
            help='update patches (default: false)'
            )
    parser.add_argument(
            '--orig', '-r',
            type=str,
            required=True,
            help='orig source'
            )
    parser.add_argument(
            '--debian', '-d',
            type=str,
            help='debian source'
            )
    parser.add_argument(
            '-u', '--ubuntu-releases',
            help='Ubuntu releases to build for',
            required=True,
            nargs='+'
            )
    parser.add_argument(
            '-p', '--ppa',
            help='PPA to submit to',
            type=str,
            required=True
            )
    parser.add_argument(
        '-n', '--debfullname',
        help='the submitter\'s full name',
        type=str
        )
    parser.add_argument(
        '-e', '--debemail',
        help='the submitter\'s email address',
        type=str
        )
    return parser.parse_args()


if __name__ == '__main__':
    args = _parse_cmd_arguments()
    # create tempory directory
    tmp_dir = tempfile.mkdtemp()

    launchpadtools.create_repo(
            args.orig,
            args.debian,
            tmp_dir,
            args.update_patches
            )
    launchpadtools.submit(
        tmp_dir,
        args.ubuntu_releases,
        1,
        None,
        False,
        args.ppa,
        args.debfullname,
        args.debemail,
        '',
        None,
        False,
        False
        )

    shutil.rmtree(tmp_dir)
