def test_link_image_and_sync(self, gigantum_project_fixture): gigaleaf = Gigaleaf() assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'fig1_png.json').is_file() is False gigaleaf.link_image('../output/fig1.png', caption="My figure", label='fig111', alignment='right', width='0.3\\textwidth') assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'fig1_png.json').is_file() is True gigaleaf.sync() assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'data', 'fig1.png').is_file() is True # Delete everything in untracked, reinit, and should still see the files shutil.rmtree(gigaleaf.overleaf.overleaf_repo_directory) gigaleaf = None assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'fig1_png.json').is_file() is False assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'data', 'fig1.png').is_file() is False gigaleaf = Gigaleaf() assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'fig1_png.json').is_file() is True assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'data', 'fig1.png').is_file() is True
def test_unlink_image(self, gigantum_project_fixture): gigaleaf = Gigaleaf() assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'fig1_png.json').is_file() is False gigaleaf.link_image('../output/fig1.png') assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'fig1_png.json').is_file() is True gigaleaf.sync() assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'data', 'fig1.png').is_file() is True gigaleaf.unlink_image('../output/fig1.png') assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'fig1_png.json').is_file() is False assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'data', 'fig1.png').is_file() is False gigaleaf.sync() # Delete everything in untracked, reinit, and should still not see the files shutil.rmtree(gigaleaf.overleaf.overleaf_repo_directory) gigaleaf = None gigaleaf = Gigaleaf() assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'fig1_png.json').is_file() is False assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'data', 'fig1.png').is_file() is False
def test_link_csv_file_and_sync(self, gigantum_project_fixture): gigaleaf = Gigaleaf() assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'table_pkl.json').is_file() is False gigaleaf.link_dataframe('../output/table.pkl', to_latex_kwargs={ "index": False, "caption": "My table" }) assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'table_pkl.json').is_file() is True gigaleaf.sync() assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'subfiles', 'table_pkl.tex').is_file() is True # Delete everything in untracked, reinit, and should still see the files shutil.rmtree(gigaleaf.overleaf.overleaf_repo_directory) gigaleaf = None assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'table_pkl.json').is_file() is False assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'subfiles', 'table_pkl.tex').is_file() is False gigaleaf = Gigaleaf() assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'table_pkl.json').is_file() is True assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'subfiles', 'table_pkl.tex').is_file() is True
def test_delete_project_link(self, gigantum_project_fixture): gigaleaf = Gigaleaf() assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'fig1_png.json').is_file() is False gigaleaf.link_image('../output/fig1.png') assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'fig1_png.json').is_file() is True gigaleaf.sync() assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'data', 'fig1.png').is_file() is True gigaleaf.delete() assert Path(Gigantum.get_overleaf_root_directory()).is_dir() is False assert Path(gigaleaf.overleaf.overleaf_config_file).is_file() is False
def test_update_image(self, gigantum_project_fixture): gigaleaf = Gigaleaf() assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'fig1_png.json').is_file() is False gigaleaf.link_image('../output/fig1.png', width='0.8\\textwidth') assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'fig1_png.json').is_file() is True gigaleaf.sync() assert Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'data', 'fig1.png').is_file() is True metadata_file = Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'fig1_png.json') with open(metadata_file, 'rt') as mf: data = json.load(mf) first_hash = data['content_hash'] test_dir = Path(__file__).parent.absolute() shutil.copyfile( Path(test_dir, 'resources', 'fig1.png').as_posix(), Path(Gigantum.get_project_root(), 'output', 'fig1.png')) gigaleaf.sync() metadata_file = Path(Gigantum.get_overleaf_root_directory(), 'project', 'gigantum', 'metadata', 'fig1_png.json') with open(metadata_file, 'rt') as mf: data = json.load(mf) assert first_hash != data['content_hash']
def test_empty_sync(self, gigantum_project_fixture): gigaleaf = Gigaleaf() # should be a no-op and not error gigaleaf.sync()