Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import git | |
| import tempfile | |
| import shutil | |
| import subprocess | |
| import os | |
| cwd = os.getcwd() | |
| gcounter = 1000 | |
| def generate_git(OldVersion, NewVersion, tmp_dir_name): | |
| new_repo = git.Repo.init(tmp_dir_name) | |
| with new_repo.config_writer() as git_config: | |
| git_config.set_value('user', 'email', 'latexdiff@latexdiff.latexdiff') | |
| git_config.set_value('user', 'name', 'git Latex Diff') | |
| shutil.unpack_archive(OldVersion.name, tmp_dir_name) | |
| new_repo.index.add('*') | |
| new_repo.index.commit('Initial commit.') | |
| shutil.unpack_archive(NewVersion.name, tmp_dir_name) | |
| new_repo.index.add('*') | |
| new_repo.index.commit('Changes') | |
| def generate_diff(tmp_dir_name): | |
| subprocess.check_call([f'{cwd}/git-latexdiff', 'HEAD~1', '--cleanup', 'keeppdf', '-o', 'mydiff.pdf'], cwd=tmp_dir_name) | |
| def gen_all(OldVersion, NewVersion): | |
| global gcounter | |
| gcounter+=1 | |
| dirpath = tempfile.mkdtemp() | |
| fake_git_name = 'something' | |
| generate_git(OldVersion, NewVersion, dirpath) | |
| generate_diff(dirpath) | |
| shutil.move(f'{dirpath}/mydiff.pdf', f'{cwd}/results/{gcounter}.pdf') | |
| shutil.rmtree(dirpath) | |
| return f'{cwd}/results/{gcounter}.pdf' | |
| os.makedirs('results', exist_ok=True) | |
| title = "Latex Diff" | |
| description = "This Space automatically generates LatexDiff for two different versions of your latex project. Upload two zip files from different stages of your latex project, and it will generate a latex diff." | |
| article = "<p style='text-align: center'><a href='https://gitlab.com/git-latexdiff/git-latexdiff' target='_blank'>Git LatexDiff GitLab Repo</a></p>" | |
| iface = gr.Interface(gen_all, | |
| ["file", "file"], "file", | |
| allow_screenshot=False, allow_flagging=False, | |
| title=title, | |
| description=description, | |
| article=article) | |
| iface.launch(enable_queue=True) | |