Source code for magpy.data

from git import Repo
from git import Actor
from .results import EnsembleResults
import os.path as osp
import pickle as pkl

[docs]def magpy_actor(): return Actor("magpy-shelf", "github.com/owlas/magpy")
[docs]def shelve_results(results, repo_path, name): repo = Repo(repo_path) assert not repo.bare index = repo.index results_path = osp.join(repo.working_tree_dir, name) with open(results_path, 'wb') as f: if isinstance(results, EnsembleResults): pkl.dump(results.results, f) else: pkl.dump(results, f) index.add([results_path]) index.commit("Added results ref:"+name, author=magpy_actor(), committer=magpy_actor()) print('Shelved!') print('Shelf repo:', repo_path) print('Object name:', name)
[docs]def grab_results(repo_path, name): repo = Repo(repo_path) assert not repo.bare results_path = osp.join(repo.working_tree_dir, name) with open(results_path, 'rb') as f: res = pkl.load(f) if isinstance(res, list): results = EnsembleResults(res) else: results = res return results