#!/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
from jsb.lib.config import getmainconfig

print getversion("UPLOAD")

## basic imports

from subprocess import Popen, PIPE
import os
import sys


## options parser

from optparse import OptionParser
parser = OptionParser(usage='usage: %prog [options] <appid>', 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()
if getmainconfig().debian: homedir = "/var/spool/jsb"
else: homedir = os.path.expanduser("~")
try: target = opts.args[0]
except IndexError: print "jsb-upload <appid>" ; os._exit(1)

## upload all instances in ~/jsbregs/

print "UPLOADING %s" % target
try:
    execstring = '%s/google_appengine/appcfg.py update %s%sreleases%s%s' % (homedir, ddir, os.sep, os.sep, target)
    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 """

