def get_bta_cmd(): if development.get_development(): cmdline = "sicstus -r run_bta.sav --goal \"runtime_entry(start),halt.\" -a" else: cmdline = os.path.join(".", "bta") return cmdline
def get_bta_cmd(): if development.get_development(): cmdline = "sicstus -r run_bta.sav --goal \"runtime_entry(start),halt.\" -a" else: cmdline = os.path.join(".","bta") return cmdline
def get_pylogen_cmd(): if development.get_development(): cmdline = "sicstus -r pylogen_main.sav --goal \"runtime_entry(start),halt.\" -a" else: cmdline = os.path.join(".", "pylogen_main") return cmdline
def get_pylogen_cmd(): if development.get_development(): cmdline = 'sicstus -r pylogen_main.sav --goal "runtime_entry(start),halt." -a' else: cmdline = os.path.join(".", "pylogen_main") return cmdline
def startProlog(self, splash=None): """ Start the sicstus process and connect to the provided socket This can take a while if needs rebuild """ #if not os.path.exists('logen_main.sav'): # print "Building Save State" # if 'win32' in sys.platform: # os.system("make_save.bat") # else: # os.system("sh ./make_save.bat") saves = MakeLogen.Logen_Saves() self.write_to_splash(splash, "\nChecking Logen Save States...") saves.refresh(splash=splash) try: os.remove('prologport') except OSError: pass self.reset_logs() ##if we are not in development mode then use the exec... if development.get_development(): (self._stdout, self._stdin, self._stderr) = popen2.popen3( "sicstus -r pylogen_main.sav --goal prolog_socket,halt.") else: #(self._stdout,self._stdin,self._stderr) = popen2.popen3("../distribution/pylogen_main") cmd = os.path.join(".", "pylogen_main") if sys.platform == "win32": cmd += ".exe" if os.path.exists(cmd): print "Loading PyLogen Prolog Module" print "Command Line:", cmd print "Current Working Directory", os.getcwd() (self._stdout, self._stdin, self._stderr) = popen2.popen3(cmd) else: print "Cannot find logen binaries, please compile or run with --dev option" sys.exit() #while fileExists('prologport') != 1: #print "Prolog Port not Found" #time.sleep(0.05) #self.port = open('prologport').read() #print "Reading" line = self._stdout.readline() while not line.startswith("Port: "): line = self._stdout.readline() self.port = int(line[5:]) print "Port", self.port #print "Using port:",self.port self.soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.soc.connect(("localhost", int(self.port))) print "Connected" #self.call('X=a,Y=b') #self.call("X=a,print('foo\n'),Y=ok") #self.call("ensure_loaded('sicstus.pl'), ensure_loaded('logen_main.pl').") #self.call("restore('logen_main.sav').") self.stdout = Listener(self._stdout.fileno(), filename="prologstdout") self.stderr = Listener(self._stderr.fileno(), filename="prologstderr") self.stdout.start() self.stderr.start()
def refresh(self,splash=None): if development.get_development(): self.logen.refresh(splash=splash) self.localbta.refresh(splash=splash) else: print "Using precompiled binaries"
def refresh(self, splash=None): if development.get_development(): self.logen.refresh(splash=splash) self.localbta.refresh(splash=splash) else: print "Using precompiled binaries"