import urllib
import urllib2
import threading
import subprocess
import os
import sys
import json

def local_print(string):
    if os.name == "posix":
        # Nicer colour output when using posix (and thus supporting colour)
        string = "\033[92m%s\033[0m" % string
    print(string)

def remote_print(string):
    if os.name == "posix":
        # Nicer colour output when using posix (and thus supporting colour)
        string = "\033[94m%s\033[0m" % string
    print(string)

local_print("Welcome to the debugging shell!")
local_print("Please specify Modelverse location (default: 127.0.0.1:8001)")

location = raw_input()
if location == "":
    address = "http://127.0.0.1:8001/"
    
local_print("Please specify task name (default: test)")

taskname = raw_input()
if location == "":
    taskname = "test"

local_print("Switching context to Modelverse: all data is piped.")
local_print("Available commands: 'pause', 'resume'")
local_print("To quit: execute command 'quit'")

while 1:
    inp = raw_input().split(" ")
    action = inp[0]
    if action == "quit":
        local_print("Received quit: breaking connection to Modelverse immediately!")
        break

    print json.loads(urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": action, "taskname": taskname}))).read())
