#!/usr/bin/env bash
{ set +x; } 2>/dev/null

usage() {
    echo "usage: $(basename $0) name ..." 1>&2
    [ "$1" = "-h" ] || [ "$1" = "--help" ]; exit
}

[ "$1" = "-h" ] || [ "$1" = "--help" ] && usage "$@"

[[ $# == 0 ]] && usage

while (($#)); do
    url="https://pypi.org/project/$1/"
    ( set -x; curl -f -I -L -sS -o /dev/null "$url" 2> /dev/null ) && echo "SKIP: $1 EXISTS, $url" && { shift; continue; }
    cd "$(mktemp -d)" || exit
    cat <<EOF > setup.py
from distutils.core import setup

setup(name="$1", version="0.0.0",classifiers=['Development Status :: 1 - Planning'])
EOF
    ( set -x; python setup.py -q sdist --dist-dir="$PWD" 2> /dev/null ) || exit
    dist="$(find "$PWD" -type f ! -name "setup.py" ! -name "MANIFEST")" || exit
    ( set -x; twine upload "$dist" 1> /dev/null ) || exit
    echo "$url"
    shift
done;:
