[ARVADOS] updated: 69fae522bf6fe6dbaa64ce7d75ef4ce5616ced72
git at public.curoverse.com
git at public.curoverse.com
Tue Nov 18 11:25:01 EST 2014
Summary of changes:
services/api/app/models/collection.rb | 13 +++++++++++++
1 file changed, 13 insertions(+)
via 69fae522bf6fe6dbaa64ce7d75ef4ce5616ced72 (commit)
from 22ae84c0d72cdeab882017a8caf2ade4465ddd59 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 69fae522bf6fe6dbaa64ce7d75ef4ce5616ced72
Author: Tom Clegg <tom at curoverse.com>
Date: Tue Nov 18 11:24:58 2014 -0500
4363: Accept manifest_text in a non-UTF-8 encoding that is equal to its UTF-8 encoding.
diff --git a/services/api/app/models/collection.rb b/services/api/app/models/collection.rb
index 5dd760f..2f81dc0 100644
--- a/services/api/app/models/collection.rb
+++ b/services/api/app/models/collection.rb
@@ -111,6 +111,19 @@ class Collection < ArvadosModel
if manifest_text.encoding.name == 'UTF-8' and manifest_text.valid_encoding?
true
else
+ begin
+ # If Ruby thinks the encoding is something else, like 7-bit
+ # ASCII, but its stored bytes are equal to the (valid) UTF-8
+ # encoding of the same string, we declare it to be a UTF-8
+ # string.
+ utf8 = manifest_text
+ utf8.force_encoding Encoding::UTF_8
+ if utf8.valid_encoding? and utf8 == manifest_text.encode(Encoding::UTF_8)
+ manifest_text = utf8
+ return true
+ end
+ rescue
+ end
errors.add :manifest_text, "must use UTF-8 encoding"
false
end
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list