In [109]:
import os
import numpy as np
import libtiff 
import matplotlib.pyplot as plt
import sys
import Image
from libtiff import TIFFimage
from PIL import Image
import tifffile as tiff
import subprocess
import fileinput
import datetime
from threading import Timer
import time

In [5]:
def ReplaceID(prevID,newID):
    filein="/home/sophie/Desktop/sophie/nodesendsopfor.R"
    f = open(filein,'r')
    filedata = f.read()
    f.close()

    newdata = filedata.replace(prevID,newID)

    f = open(filein,'w')
    f.write(newdata)
    f.close()

In [14]:
#rm file_list mkcmd_1to 14
def RemoveOldFiles():
    bashCommand = "rm /home/sophie/Desktop/sophie/file_list"
    process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE)
    output = process.communicate()[0]
    
    for i in range(14):
        j=i+1
    
        bashCommand = "rm /home/sophie/Desktop/sophie/mkcmd_"+str(j)
        process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE)
        output = process.communicate()[0]

In [18]:
def getpath(ID):
    
    path1="/media/Seagate Backup Plus Drive/Data"+ID
    path2="/media/Seagate Expansion Drive/Data"+ID

    if os.path.exists(path1):
        path=path1
    else:
        path=path2
            
    return path

In [124]:
#copy files to nexcave
def CopyFiles(ID):
    path=getpath(ID)
    remotehost='saimon@nexcave.ucsd.edu'
    remotefile='/home/saimon/data/'
    os.system('scp -r "%s" "%s:%s"' % (path, remotehost, remotefile) )
    outpath="/home/sophie/Desktop/stanford_lfanalyze_v0.4/examples/"+ID 
    calibfile=outpath+'/'+ID+"_ss1_f1250_6microns.lfc"
    os.system('scp "%s" "%s:%s"' % (calibfile, remotehost, remotefile) )

In [131]:
#make file list to know length silly way
def SendtoNexcave(ID):
    path=getpath(ID)
    filelist='/home/sophie/Desktop/sophie/file_list'
    os.system('ls -rt "%s" > "%s"' % (path,filelist) )
    os.system('R < /home/sophie/Desktop/sophie/sendscript.R --no-save')
    os.system('/home/sophie/Desktop/sophie/./GT')
    os.system('sudo /home/sophie/Desktop/sophie/./mk')

In [120]:
def SendAll(prevID,newID):
    ReplaceID(prevID,newID)
    RemoveOldFiles()
    CopyFiles(newID)
    SendtoNexcave(newID)

In [133]:
filename="/home/sophie/Desktop/ListeToAnalyze"
Listfile = open(filename, 'r')
ListToAnalyze = [line.split('\n')[0] for line in Listfile.readlines()]
prevID=ListToAnalyze[4]
for i in range(5,len(ListToAnalyze)):
    newID=ListToAnalyze[i]
    #t = datetime.datetime.today()
    #future = datetime.datetime(t.year,t.month,t.day,21,0)
    #if t.hour >= 2:
        #future += datetime.timedelta(days=1)
    #time.sleep((future-t).seconds)
    print('send'+newID)
    SendAll(prevID,newID)
    
    t = datetime.datetime.today()
    future = datetime.datetime(t.year,t.month,t.day,9,0)
    time.sleep((future-t).seconds)   
    
    ExitNexcave()
    prevID=newID
    # do 2AM stuff   

#t = Timer(secs, SendAll())
#t.start()


send100147
---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-133-5a0aa7c15ce7> in <module>()
     15     t = datetime.datetime.today()
     16     future = datetime.datetime(t.year,t.month,t.day,9,0)
---> 17     time.sleep((future-t).seconds)
     18 
     19     ExitNexcave()

KeyboardInterrupt: 

In [123]:
# close all previous 
def ExitNexcave():
    os.system("ps -C ssh > /home/sophie/Desktop/sophie/toclose")
    Listfile = open("/home/sophie/Desktop/sophie/toclose", 'r')
    ListToClose = [line.split('\n')[0] for line in Listfile.readlines()]
    for i in range(1,len(ListToClose)):
        PID=ListToClose[i].split(' ')[1]
        print(PID)
        os.system("kill "+PID)

In [ ]: