#!/usr/bin/env python
#
#

""" upload all instances in ~/jsonreg/ """

## jsb imports

import os, sys
sys.path.insert(0, os.getcwd())
sys.path.insert(0, os.getcwd() + os.sep + "..")

os.environ['PATH'] = os.getcwd() + os.sep + 'bin:' + os.environ['PATH']

from jsb.utils.popen import gozerpopen
from jsb.lib.datadir import getdatadir
from jsb.version import getversion

print getversion("UPLOADALL")

## basic imports

from subprocess import Popen, PIPE
import os
import sys


## options parser

from optparse import OptionParser
parser = OptionParser(usage='usage: %prog [options] [list of appids]', version='%prog ' + getversion())
parser.add_option('-d', '--datadir', type='string', default=False, dest='datadir', help="datadir to use")
opts, args = parser.parse_args()
opts.args = args

if opts.datadir and not os.path.isdir(opts.datadir): os.mkdir(opts.datadir)

ddir = opts.datadir or getdatadir()
homedir = os.path.expanduser("~")
target = opts.args or os.listdir(homedir + os.sep + 'jsbregs')

## upload all instances in ~/jsbregs/

for item in target:
    print "DOING RELEASE %s" % item
    if os.path.isfile('jsb-release'): execstring = './jsb-release -d%s %s' % (ddir, item)
    else: execstring = 'jsb-release -d%s %s' % (ddir, item)
    print execstring
    proc = Popen(execstring.split())
    proc.wait()
    print "UPLOADING %s" % item
    try:
        execstring = '%s/google_appengine/appcfg.py update %s%sreleases%s%s' % (homedir, ddir, os.sep, os.sep, item)
        print execstring
        proc = Popen(execstring.split())
        proc.wait()
    except:
        print """ google_appengine is not installed in your home dir. see http://code.google.com/appengine/downloads.html """
        os._exit(1)