def saveSnapShot(saveSnapshotTime):

    if saveSnapshotTime is not None:
        print("Snapshot missing! Regenenerating over %d periods"
              % int(saveSnapshotTime))

        # typName ='gcal_continuous_%d.typ' % int(saveSnapshotTime)
        fullTypPath = typPath+ loadSnapshot#typName
        
        scheduleInfo(saveSnapshotTime, 10)
        topo.sim.run(int(saveSnapshotTime))
        save_snapshot(os.path.abspath(fullTypPath))
        print "Snapshot generated. Rerun script."
        sys.exit()
def compare_with_and_without_snapshot_CreateSnapshot(script="examples/lissom.ty"):
    data_filename=os.path.split(script)[1]+"_PICKLETEST"

    locn = resolve_path(os.path.join('tests',data_filename))
    print "Loading pickle at %s"%locn
        
    try:
        data = pickle.load(open(locn,"rb"))
    except IOError:
        print "\nData file '"+data_filename+"' could not be opened; run _A() first."
        raise

    # retrieve parameters used when script was run
    run_for=data['run_for']
    break_at=data['break_at']
    look_at=data['look_at']

    # CEBALERT: shouldn't need to re-list - should be able to read from data!
    cortex_density=data['cortex_density']
    lgn_density=data['lgn_density']
    retina_density=data['retina_density']
    dims=data['dims']
    dataset=data['dataset']

    __main__.__dict__['cortex_density']=cortex_density
    __main__.__dict__['lgn_density']=lgn_density
    __main__.__dict__['retina_density']=retina_density
    __main__.__dict__['dims']=dims
    __main__.__dict__['dataset']=dataset
    execfile(script,__main__.__dict__)        

    # check we have the same before any pickling
    topo.sim.run(break_at)
    assert_array_equal(data[topo.sim.time()],topo.sim[look_at].activity,
                       err_msg="\nAt topo.sim.time()=%d"%topo.sim.time())

    from topo.command.basic import save_snapshot
    locn = normalize_path(os.path.join('tests',data_filename+'.typ_'))
    print "Saving snapshot to %s"%locn
    save_snapshot(locn)
def saver_function():
    from topo.command.basic import save_snapshot
    save_snapshot(normalize_path('snapshot.typ'))