Commit 06680dcd authored by Leon Pyka's avatar Leon Pyka
Browse files

implemented lib for pushing data to location

parent 2f0a0434
Loading
Loading
Loading
Loading

lib/push_data.py

0 → 100644
+30 −0
Original line number Diff line number Diff line
import os
import shutil
import subprocess 
from pathlib import Path

def get_git_hash():
    current_path = os.path.dirname(os.path.abspath(__file__))
    try:
        git_version = subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD'], cwd=current_path).decode('ascii')
        git_version = git_version.rstrip("\n")
        return git_version
    except:
        return "not a git repository"
        
def write_metadata():
    git_hash = get_git_hash()
    file_path = "git_hash.txt"
    with open(file_path, "w") as file:
        file.write(git_hash)

def push_data_to(destination):
    current_path = Path(os.getcwd())
    destination_dir = Path(destination)
    if not destination_dir.exists():
        raise AssertionError(f"dir {destination} not found")
    for file in current_path.glob("*.h5"):
        shutil.move(file.name, f'{destination_dir}/{file.name}')
    write_metadata()
    hash_file_name = "git_hash.txt"
    shutil.move(hash_file_name, f'{destination_dir}/{hash_file_name}')
 No newline at end of file
+5 −29
Original line number Diff line number Diff line
@@ -2,8 +2,10 @@ import sys
import numpy as np
import mechnet as mn
import os
from pathlib import Path
from multiprocessing import Pool
sys.path.append(os.path.abspath("."))
print(sys.path)
from lib.push_data import push_data_to


def get_parametercollection(seed):
    par = mn.ParameterCollection()
@@ -65,35 +67,9 @@ def run_a_simulation_fuse(seed):
    print("done with sim of seed", seed)
    return (network_descriptor_dict, simdata_dict, simulation.simulationname, simulation.simulationdoc)

def get_git_hash():
    package_path = os.path.dirname(os.path.abspath(__file__))
    try:
        git_version = subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD'], cwd=package_path).decode('ascii')
        git_version = git_version.rstrip("\n")
        return git_version
    except:
        return "not a git repository"
        

def write_metadata():
    git_hash = get_git_hash()
    file_path = "git_hash.txt"
    with open(file_path, "w") as file:
        file.write(git_hash)
    

def push_data(destination):
    current_path = os.get_cwd()
    destination_dir = Path(destination)
    destination_dir.mkdir(exists_ok=True)
    for file in current_path.glob("*.h5"):
        file.rename(destination_dir / file.name)
    write_metadata()
    hash_file = current_path("git_hash.txt")
   #CONT here 

if __name__=="__main__": 
    results = run_a_simulation_fuse(1000)
    push_data_to("/FASTTEMP/p7/lpyka/hierarchical_interface/dummy_test")
 #   for data in results:
 #       mn.datman.save_simulation_output(data[0], data[1], data[2], data[3], targetdirectory="./", suffix="", overwritemode=False)
    #print(data[1]["current_data"]["stiffnessmatrix"].toarray())