You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2020/10/07 15:25:40 UTC
[allura] 01/02: [#8376] revert previous formencode py3 workarounds,
no longer needed
This is an automated email from the ASF dual-hosted git repository.
brondsem pushed a commit to branch db/8376
in repository https://gitbox.apache.org/repos/asf/allura.git
commit 16a3963596e83b7b2ed3ae341f075eef47e8f0da
Author: Dave Brondsema <da...@brondsema.net>
AuthorDate: Mon Oct 5 17:05:53 2020 -0400
[#8376] revert previous formencode py3 workarounds, no longer needed
---
Allura/allura/lib/validators.py | 17 +++--------------
Allura/allura/lib/widgets/discuss.py | 7 +------
Allura/allura/lib/widgets/forms.py | 14 --------------
ForgeImporters/forgeimporters/base.py | 12 ------------
ForgeTracker/forgetracker/widgets/ticket_form.py | 2 +-
5 files changed, 5 insertions(+), 47 deletions(-)
diff --git a/Allura/allura/lib/validators.py b/Allura/allura/lib/validators.py
index 28c224b..a984958 100644
--- a/Allura/allura/lib/validators.py
+++ b/Allura/allura/lib/validators.py
@@ -72,6 +72,7 @@ class UnicodeString(fev.UnicodeString):
"""
Override UnicodeString to fix bytes handling.
Specifically ran into problems with its 'tooLong' check is running on bytes incorrectly and getting wrong length
+ And sometimes would return b'foo' when we wanted 'foo'
Fixed elsewhere like this too:
https://github.com/formencode/formencode/issues/2#issuecomment-378410047
@@ -81,13 +82,7 @@ class UnicodeString(fev.UnicodeString):
# make UnicodeString fix above work through this String alias, just like formencode aliases String
-String = UnicodeString if str is str else fev.ByteString
-
-
-class FieldStorageUploadConverter(fev.FieldStorageUploadConverter):
- # https://github.com/formencode/formencode/issues/101 local fix
- def is_empty(self, value):
- return value == b'' or super(FieldStorageUploadConverter, self).is_empty(value)
+String = UnicodeString if str is six.text_type else fev.ByteString
class Ming(fev.FancyValidator):
@@ -296,7 +291,7 @@ class JsonConverter(fev.FancyValidator):
return obj
-class JsonFile(FieldStorageUploadConverter):
+class JsonFile(fev.FieldStorageUploadConverter):
"""Validates that a file is JSON and returns the deserialized Python object
@@ -464,12 +459,6 @@ def convertTime(timestring):
class IconValidator(fev.FancyValidator):
regex = '(jpg|jpeg|gif|png|bmp)$'
-
- # https://github.com/formencode/formencode/issues/101 local fix
- # formencode is_empty doesn't handle empty bytestring by default
- def is_empty(self, val):
- return val == b'' or super(IconValidator, self).is_empty(val)
-
def _to_python(self, value, state):
p = re.compile(self.regex, flags=re.I)
result = p.search(value.filename)
diff --git a/Allura/allura/lib/widgets/discuss.py b/Allura/allura/lib/widgets/discuss.py
index 5abdf4b..9338fbb 100644
--- a/Allura/allura/lib/widgets/discuss.py
+++ b/Allura/allura/lib/widgets/discuss.py
@@ -40,11 +40,6 @@ class NullValidator(fev.FancyValidator):
def _from_python(self, value, state):
return value
- # https://github.com/formencode/formencode/issues/101 local fix
- def is_empty(self, value):
- return value == b'' or super(NullValidator, self).is_empty(value)
-
-
# Discussion forms
@@ -211,7 +206,7 @@ class NewTopicPost(EditPost):
fields = super(NewTopicPost, self).fields
fields.append(ew.InputField(name='attachment', label='Attachment', field_type='file',
attrs={'multiple': 'True'},
- validator=v.FieldStorageUploadConverter(if_missing=None)))
+ validator=fev.FieldStorageUploadConverter(if_missing=None)))
return fields
diff --git a/Allura/allura/lib/widgets/forms.py b/Allura/allura/lib/widgets/forms.py
index d79b3ae..54082ce 100644
--- a/Allura/allura/lib/widgets/forms.py
+++ b/Allura/allura/lib/widgets/forms.py
@@ -125,20 +125,6 @@ class ForgeForm(ew.SimpleForm):
ctx['errors'])
return Markup(display)
- # https://github.com/formencode/formencode/issues/101 local fix
- def _make_schema(self):
- schema = super(ForgeForm, self)._make_schema()
-
- orig_val_is_iter = schema._value_is_iterator
-
- def _value_is_iterator(val):
- if isinstance(val, bytes):
- return False
- return orig_val_is_iter(val)
- schema._value_is_iterator = _value_is_iterator
-
- return schema
-
class ForgeFormResponsive(ForgeForm):
def __init__(self):
diff --git a/ForgeImporters/forgeimporters/base.py b/ForgeImporters/forgeimporters/base.py
index a37b8e3..ea87738 100644
--- a/ForgeImporters/forgeimporters/base.py
+++ b/ForgeImporters/forgeimporters/base.py
@@ -73,12 +73,6 @@ class ProjectImportForm(schema.Schema):
neighborhood = fev.NotEmpty()
project_name = v.UnicodeString(not_empty=True, max=40)
- # https://github.com/formencode/formencode/issues/101 local fix
- def _value_is_iterator(self, value):
- if isinstance(value, bytes):
- return False
- return super(ProjectImportForm, self)._value_is_iterator(value)
-
class ToolImportForm(schema.Schema):
@@ -87,12 +81,6 @@ class ToolImportForm(schema.Schema):
self.add_field('mount_point', v.MountPointValidator(tool_class))
mount_label = v.UnicodeString()
- # https://github.com/formencode/formencode/issues/101 local fix
- def _value_is_iterator(self, value):
- if isinstance(value, bytes):
- return False
- return super(ToolImportForm, self)._value_is_iterator(value)
-
class ImportErrorHandler(object):
diff --git a/ForgeTracker/forgetracker/widgets/ticket_form.py b/ForgeTracker/forgetracker/widgets/ticket_form.py
index 73eb753..fa1ddd4 100644
--- a/ForgeTracker/forgetracker/widgets/ticket_form.py
+++ b/ForgeTracker/forgetracker/widgets/ticket_form.py
@@ -124,7 +124,7 @@ class GenericTicketForm(ew.SimpleForm):
validator=fev.StringBool(),
attrs={'class': 'unlabeled'}),
ew.InputField(name='attachment', label='Attachment', field_type='file', attrs={
- 'multiple': 'True'}, validator=v.FieldStorageUploadConverter(if_missing=None)),
+ 'multiple': 'True'}, validator=fev.FieldStorageUploadConverter(if_missing=None)),
ffw.MarkdownEdit(name='comment', label='Comment',
attrs={'style': 'min-height:7em; width:97%'}),
ew.SubmitButton(label=self.submit_text, name='submit',