Python wrapper for running instances of trisurf-ng
Samo Penic
2017-01-14 d2f7b0c053e93b4d409d9661dbaff2eedcf391c1
trisurf/tsmgr.py
@@ -15,7 +15,7 @@
else:
   from urlparse import urlparse
   from vtk import *
   from . import VTKRendering
#import io
from IPython import embed
@@ -55,6 +55,7 @@
   parser.add_argument('-n', nargs='+', metavar='PROC_NO', type=int, help='OBSOLETE. Specifies process numbers.')
   parser.add_argument('-R','--raw',help='print status and the rest of the information in raw format', action="store_true")
   parser.add_argument('-x','--local-only',help='do not attempt to contact remote hosts. Run all operations only on local machine',action='store_true')
   parser.add_argument('--originating-host',nargs=1,help='specify which host started the remote connections. Useful mainly fo internal functionaly of tsmgr and analyses.')
   args = parser.parse_args(arguments)
   return args
@@ -79,7 +80,7 @@
   for h in hosts:
      for r in h['runs']:
         if(r.isFromSnapshot):
            file_list.append(r.snapshotFilename)
            file_list.append(r.snapshotFile)
         else:
            file_list.append(r.tapeFilename)
   file_list.append(main.__file__)
@@ -255,12 +256,16 @@
def preview_vtu(args,host):
   #only for localhost at the moment
   if sys.version_info>=(3,0):
      print("Preview works only with python 2.7")
      exit(1)
   from . import VTKRendering
   target_runs=getTargetRunIdxList(args)
   if target_runs==None:
      target_runs=list(range(1,len(host['runs'])+1))
   if host['name'] == socket.gethostname():
      VTKRendering.Renderer(args,host)
      for i in target_runs:
         VTKRendering.Renderer(args,host,host['runs'][i-1])
   else:
      print("VTK rendering currently works on localhost only!")
def getListOfHostConfigurationByHostname(hosts,host):
   rhost=[]
@@ -305,7 +310,11 @@
            remote_dir=host['remotebasepath']
         else:
            remote_dir='trisurf_simulations'
         output=host['_conn'].execute('python3 ./'+remote_dir+'/'+main.__file__+' -x '+" ".join(argv))
         #output=host['_conn'].execute('cd '+remote_dir)
         #print(remote_dir)
         #print(main.__file__)
         #print('python3 '+main.__file__+' -x '+" ".join(argv))
         output=host['_conn'].execute('cd '+remote_dir+ '; python3 '+main.__file__+' -x --originating-host ' +socket.gethostname()+" "+" ".join(argv))
         for line in output:
            print(line.replace('\n',''))