Skip to content
Snippets Groups Projects
Select Git revision
  • cd9b99eb8034b752a6c94da66a1a8ff964128f34
  • master default protected
  • fix_Makefile.mingw#2
  • update_Makefile.mingw
  • fix_Makefile.mingw
  • fix_API_for_C_apps
  • fix_procinfo_mac
  • boinccmd_gpu_mode_always_until_sigterm
  • fgrp_osx_hotfix
  • fix_boinc_master@f8250782
  • eah_wrapper_improvements
  • diagnostics_win-hotfix
  • diagnostics_win-hotfix-old
  • current_fgrp_apps
  • testing_gw_apps
  • gw_app_darwin_15
  • current_brp_apps
  • current_brp_apps_android10
  • current_gfx_apps
  • current_server
  • current_gw_apps
  • previous_fgrp_apps
  • previous_gw_apps
  • testing_brp_apps
  • apps_FGRP3_1.07
  • apps_FGRP3_1.08
26 results

AdvancedFrame.cpp

Blame
  • web_server.py 2.42 KiB
    import os
    import sys  
    from flask import Flask
    from optparse import OptionParser
    
    def start(instance_path,port=5000, debug=True, ip="0.0.0.0", git_bin="/usr/bin/git"):
            
        os.environ["GIT_BIN"] = git_bin
        # we import this now so that we can set the GIT_BIN env var
        from pykat.testing import utils
        
        print "starting web server..."
        
        if instance_path is None:
            raise Exception("instance_path must be defined")
        elif type(instance_path) is not str:
            raise Exception("instance_path must be a string")
            
        if not os.path.exists(instance_path):
            os.mkdir(instance_path)
            
        os.chdir(instance_path)
        
        from pykat.testing.web import app    
        
        if(app.instance_path!=instance_path):
    	print app.instance_path, instance_path
            raise Exception("Instance path of Flask app didn't match the requested value")
        
        os.chdir(instance_path)    
        
        # need local copy of src
        if not os.path.exists(os.path.join(app.instance_path,"finesse_src")):
            print "finesse src folder didn't exist, cloning now..."
            utils.git(["clone","git://gitmaster.atlas.aei.uni-hannover.de/finesse/finesse.git","finesse_src"])
        else:
            # get the latest version for logs etc.
            utils.git("pull", cwd=os.path.join(app.instance_path,"finesse_src"))
         
        os.chdir(instance_path)
        
        # need local copy of test
        if not os.path.exists(os.path.join(app.instance_path,"finesse_test")):
            print "finesse test folder didn't exist, cloning now..."
            utils.git(["clone","git://gitmaster.atlas.aei.uni-hannover.de/finesse/test.git","finesse_test"])
        
        # load up the actual interface code
        import pykat.testing.web.web_interface
        
        app.secret_key = os.urandom(24)
        app.run(debug=debug, port=int(port), host=ip,use_reloader=False)
    
    if __name__ == "__main__":
        
        parser = OptionParser()
        
        parser.add_option("-P","--path",type="string",dest="instance_path",help="")
        parser.add_option("-p","--port",type="int",default=5000,dest="port",help="")
        parser.add_option("-g","--git-bin",type="string",default="/usr/bin/git",dest="git_bin",help="")
        
        options, args = parser.parse_args()
        
        if options.instance_path is None:
            print "Must specify a path for the web server"
            exit()
        
        start(options.instance_path, port=options.port, git_bin=options.git_bin )