Skip to content

Commit

Permalink
a world full of flake 8 happiness
Browse files Browse the repository at this point in the history
  • Loading branch information
jensens committed Mar 10, 2016
1 parent 07fe125 commit e37862b
Show file tree
Hide file tree
Showing 13 changed files with 79 additions and 50 deletions.
9 changes: 5 additions & 4 deletions .isort.cfg
@@ -1,5 +1,6 @@
[settings]
force_alphabetical_sort=True
force_single_line=True
lines_after_imports=2
line_length=200
force_alphabetical_sort = True
force_single_line = True
lines_after_imports = 2
line_length = 200
not_skip = __init__.py
8 changes: 2 additions & 6 deletions plone/app/__init__.py
@@ -1,6 +1,2 @@
# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
try:
__import__('pkg_resources').declare_namespace(__name__)
except ImportError:
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
# -*- coding: utf-8 -*-
__import__('pkg_resources').declare_namespace(__name__)
17 changes: 10 additions & 7 deletions plone/app/z3cform/inline_validation.py
Expand Up @@ -20,14 +20,16 @@ def __call__(self, fname=None, fset=None):
if fname is None:
return json.dumps(res)

form = self.context
if hasattr(aq_base(form), 'form_instance'):
form = form.form_instance
if not hasattr(form, 'update'):
try:
form = aq_base(self.context).form_instance
except AttributeError:
form = self.context
try:
aq_base(form).update()
except AttributeError:
return json.dumps(res)
form.update()

if getattr(form, "extractData", None):
if getattr(form, 'extractData', None):
data, errors = form.extractData()
else:
return json.dumps(res)
Expand All @@ -39,7 +41,8 @@ def __call__(self, fname=None, fset=None):
form = form.groups[fset]
except (ValueError, TypeError):
# try to match fieldset on group name
_name = lambda g: getattr(g, '__name__', None) or g.label
def _name(group):
return getattr(group, '__name__', group.label)
group_match = filter(
lambda group: normalizeString(_name(group)) == fset,
form.groups,
Expand Down
2 changes: 1 addition & 1 deletion plone/app/z3cform/layout.py
Expand Up @@ -3,7 +3,7 @@


zope.deferredimport.deprecated(
"Import from plone.z3cform.layout instead.",
'Import from plone.z3cform.layout instead.',
FormWrapper='plone.z3cform.layout:FormWrapper',
wrap_form='plone.z3cform.layout:wrap_form',
)
1 change: 1 addition & 0 deletions plone/app/z3cform/objectsubform.py
@@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
from plone.app.z3cform.utils import closest_content
from z3c.form.object import ObjectSubForm as BaseObjectSubForm
from z3c.form.object import SubformAdapter as BaseSubformAdapter
Expand Down
1 change: 1 addition & 0 deletions plone/app/z3cform/templates.py
@@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
from Products.Five.browser import BrowserView
from Products.Five.browser.metaconfigure import ViewMixinForTemplates
from zope.browserpage.viewpagetemplatefile import ViewPageTemplateFile
Expand Down
4 changes: 2 additions & 2 deletions plone/app/z3cform/tests/example.py
Expand Up @@ -13,13 +13,13 @@


class MySchema(interface.Interface):
age = schema.Int(title=u"Age")
age = schema.Int(title=u'Age')


class MyContentProvider(ContentProviderBase):

def render(self):
return "My test content provider"
return 'My test content provider'


class MyForm(form.Form):
Expand Down
4 changes: 3 additions & 1 deletion plone/app/z3cform/tests/layer.py
@@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
from plone.app.testing import PLONE_FIXTURE
from plone.app.testing import PloneSandboxLayer
from plone.app.testing.layers import IntegrationTesting
Expand Down Expand Up @@ -30,4 +31,5 @@ def setUpPloneSite(self, portal):
PAZ3CForm_FIXTURE = PAZ3CFormLayer()
PAZ3CForm_INTEGRATION_TESTING = IntegrationTesting(
bases=(PAZ3CForm_FIXTURE,),
name="plone.app.z3cform:Integration")
name='plone.app.z3cform:Integration'
)
2 changes: 1 addition & 1 deletion plone/app/z3cform/tests/test_objectsubform.py
Expand Up @@ -34,7 +34,7 @@ def getId(self):
return self.__name__ or ''

def __repr__(self):
return "<SubObject title='%s'>" % self.title
return "<SubObject title='{0:s}'>".format(self.title)


registerFactoryAdapter(ISubObject, SubObject)
Expand Down
29 changes: 18 additions & 11 deletions plone/app/z3cform/tests/test_widgets.py
Expand Up @@ -545,10 +545,10 @@ def test_widget_extract(self):
)
widget.name = 'selectfield'
self.request.form['selectfield'] = 'one'
self.assertEquals(widget.extract(), 'one')
self.assertEqual(widget.extract(), 'one')
widget.multiple = True
self.request.form['selectfield'] = 'one;two'
self.assertEquals(widget.extract(), 'one;two')
self.assertEqual(widget.extract(), 'one;two')

def test_data_converter_list(self):
from plone.app.z3cform.widget import SelectWidget
Expand Down Expand Up @@ -765,9 +765,9 @@ def test_widget_addform_url_on_addform(self):
from plone.app.z3cform.widget import AjaxSelectWidget
widget = AjaxSelectWidget(self.request)
form = Mock(parentForm=None)
from zope.interface import directlyProvides
from zope.interface import directlyProvides # noqa
from z3c.form.interfaces import IAddForm
directlyProvides(form, IAddForm)
directlyProvides(form, IAddForm) # noqa
form.request = {'URL': 'http://addform_url'}
widget.form = form
self.assertEqual(
Expand Down Expand Up @@ -987,7 +987,7 @@ def test_single_selection(self):
widget.update()
base_args = widget._base_args()
pattern_options = base_args['pattern_options']
self.assertEquals(pattern_options.get('maximumSelectionSize', 0), 1)
self.assertEqual(pattern_options.get('maximumSelectionSize', 0), 1)

def test_multiple_selection(self):
"""The pattern_options key maximumSelectionSize shouldn't be
Expand Down Expand Up @@ -1026,7 +1026,10 @@ def test_converter_RelationChoice(self):
converter = RelationChoiceRelatedItemsWidgetConverter(
TextLine(), widget)

with mock.patch('plone.app.z3cform.converters.IUUID', return_value='id'):
with mock.patch(
'plone.app.z3cform.converters.IUUID',
return_value='id'
):
self.assertEqual(converter.toWidgetValue('obj'), 'id')
self.assertEqual(converter.toWidgetValue(None), None)

Expand All @@ -1049,7 +1052,9 @@ def test_converter_RelationList(self):

self.assertEqual(converter.toWidgetValue(None), None)
with mock.patch(
'plone.app.z3cform.converters.IUUID', side_effect=['id1', 'id2']):
'plone.app.z3cform.converters.IUUID',
side_effect=['id1', 'id2']
):
self.assertEqual(
converter.toWidgetValue(['obj1', 'obj2']), 'id1;id2')

Expand Down Expand Up @@ -1135,8 +1140,10 @@ def test_widget_params(self):
self.assertEqual(base_args['pattern'], 'tinymce')

prependToUrl = '/plone/resolveuid/'
self.assertEquals(base_args['pattern_options']['prependToUrl'],
prependToUrl)
self.assertEqual(
base_args['pattern_options']['prependToUrl'],
prependToUrl
)
self.assertEqual(
base_args['pattern_options']['upload']['relativePath'],
'@@fileUpload')
Expand All @@ -1150,15 +1157,15 @@ def test_widget_values(self):
widget.context = self.portal
widget.value = RichTextValue(u'Lorem ipsum \u2026')
base_args = widget._base_args()
self.assertEquals(base_args['value'], u'Lorem ipsum \u2026')
self.assertEqual(base_args['value'], u'Lorem ipsum \u2026')

def _set_mimetypes(self, default='text/html', allowed=('text/html')):
"""Set portal's mimetype settings.
"""
if IMarkupSchema:
registry = getUtility(IRegistry)
self.settings = registry.forInterface(
IMarkupSchema, prefix="plone")
IMarkupSchema, prefix='plone')
self.settings.default_type = default
self.settings.allowed_types = allowed

Expand Down
1 change: 1 addition & 0 deletions plone/app/z3cform/utils.py
@@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
from Acquisition import aq_base
from Products.CMFCore.interfaces import IContentish
from Products.CMFCore.interfaces import IFolderish
Expand Down
48 changes: 31 additions & 17 deletions plone/app/z3cform/widget.py
Expand Up @@ -56,8 +56,10 @@ class BaseWidget(Widget):

pattern = None
pattern_options = {}
_adapterValueAttributes = (Widget._adapterValueAttributes +
('pattern_options',))
_adapterValueAttributes = (
Widget._adapterValueAttributes +
('pattern_options',)
)

def _base(self, pattern, pattern_options={}):
"""Base widget class."""
Expand Down Expand Up @@ -144,7 +146,9 @@ def render(self):
return u''

formatter = self.request.locale.dates.getFormatter(
self._formater, "short")
self._formater,
'short'
)
if field_value.year > 1900:
return formatter.format(field_value)

Expand Down Expand Up @@ -348,7 +352,10 @@ def _base_args(self):

if field and getattr(field, 'vocabulary', None):
form_url = self.request.getURL()
source_url = "%s/++widget++%s/@@getSource" % (form_url, self.name)
source_url = '{0:s}/++widget++{1:s}/@@getSource'.format(
form_url,
self.name
)
args['pattern_options']['vocabularyUrl'] = source_url

# ISequence represents an orderable collection
Expand Down Expand Up @@ -460,7 +467,7 @@ def _base_args(self):
):
# widget vocab takes precedence over field
form_url = self.request.getURL()
source_url = "{0:s}/++widget++{1:s}/@@getSource".format(
source_url = '{0:s}/++widget++{1:s}/@@getSource'.format(
form_url,
self.name
)
Expand Down Expand Up @@ -539,7 +546,7 @@ def pattern(self):
except AttributeError:
default = 'tinymce'
available = ['TinyMCE']
tool = getToolByName(self.wrapped_context(), "portal_membership")
tool = getToolByName(self.wrapped_context(), 'portal_membership')
member = tool.getAuthenticatedMember()
editor = member.getProperty('wysiwyg_editor')
if editor in available:
Expand All @@ -557,10 +564,14 @@ def _base_args(self):
self.field.getName(), value)).decode('utf-8')

args.setdefault('pattern_options', {})
merged_options = dict_merge(get_tinymce_options(self.context,
self.field,
self.request), # noqa
args['pattern_options'])
merged_options = dict_merge(
get_tinymce_options(
self.context,
self.field,
self.request
),
args['pattern_options']
)
args['pattern_options'] = merged_options

return args
Expand Down Expand Up @@ -588,7 +599,7 @@ def render(self):
del base_args['pattern_options']
textarea_widget = self._base(None, None, **base_args)
textarea_widget.klass = ''
mt_pattern_name = '{}{}'.format(
mt_pattern_name = '{0}{1}'.format(
self._base._klass_prefix,
'textareamimetypeselector'
)
Expand All @@ -599,11 +610,13 @@ def render(self):
value_mime_type = self.value.mimeType if self.value\
else self.field.default_mime_type
mt_select = etree.Element('select')
mt_select.attrib['id'] = '{}_text_format'.format(self.id)
mt_select.attrib['name'] = '{}.mimeType'.format(self.name)
mt_select.attrib['id'] = '{0}_text_format'.format(self.id)
mt_select.attrib['name'] = '{0}.mimeType'.format(self.name)
mt_select.attrib['class'] = mt_pattern_name
mt_select.attrib['{}{}'.format('data-', mt_pattern_name)] =\
json.dumps({
mt_select.attrib[
'data-{0}'.format(mt_pattern_name)
] = json.dumps(
{
'textareaName': self.name,
'widgets': {
'text/html': { # TODO: currently, we only support
Expand All @@ -613,7 +626,8 @@ def render(self):
'patternOptions': pattern_options
}
}
})
}
)

# Create a list of allowed mime types
for mt in allowed_mime_types:
Expand All @@ -625,7 +639,7 @@ def render(self):
mt_select.append(opt)

# Render the combined widget
rendered = '{}\n{}'.format(
rendered = '{0}\n{1}'.format(
textarea_widget.render(),
etree.tostring(mt_select)
)
Expand Down
3 changes: 3 additions & 0 deletions plone/app/z3cform/wysiwyg/__init__.py
@@ -1,3 +1,6 @@
# -*- coding: utf-8 -*-
# Convenience import
from plone.app.z3cform.wysiwyg.widget import WysiwygFieldWidget


WysiwygFieldWidget # flake 8 happiness

1 comment on commit e37862b

@jenkins-plone-org
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jensens Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.z3cform/14/violations

plone/app/z3cform/inline_validation.py:15:1: C901 'InlineValidationView.__call__' is too complex (15)

Follow these instructions to reproduce it locally.

Please sign in to comment.