From 3836a7f2a575dec4696ece877bc080d149615806 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Jul 15 2015 15:44:30 +0000 Subject: Check if the content is binary or could be text --- diff --git a/pagure/ui/repo.py b/pagure/ui/repo.py index aecdaf2..e603aa1 100644 --- a/pagure/ui/repo.py +++ b/pagure/ui/repo.py @@ -354,7 +354,7 @@ def view_file(repo, identifier, filename, username=None): content = commit if isinstance(content, pygit2.Blob): - if content.is_binary: + if content.is_binary or pagure.lib.could_be_text(data): ext = filename[filename.rfind('.'):] if ext in ( '.gif', '.png', '.bmp', '.tif', '.tiff', '.jpg', @@ -1300,8 +1300,9 @@ def edit_file(repo, branchname, filename, username=None): repo_obj, commit.tree, filename.split('/')) if not content or isinstance(content, pygit2.Tree): flask.abort(404, 'File not found') + data = repo_obj[content.oid].data - if content.is_binary or pagure.lib.is_binary(data): + if content.is_binary or pagure.lib.could_be_text(data): flask.abort(400, 'Cannot edit binary files') else: data = form.content.data