# HG changeset patch # User Aurelien Campeas # Date 1399046257 -7200 # Node ID 8391bf718485e85bd4d69f10257c50642dcb2145 # Parent 7769d0f618106a728a36458b1ae16c26266499e4 remove most 3.10 bw compat Related to #3799117. The boxes and entityvcomponent objects cannot really be removed as they are still used throughout the code base (and possible cubes). This may be caused by a non-working deprecation and needs some more work. diff -r 7769d0f61810 -r 8391bf718485 devtools/htmlparser.py --- a/devtools/htmlparser.py Fri May 02 17:41:11 2014 +0200 +++ b/devtools/htmlparser.py Fri May 02 17:57:37 2014 +0200 @@ -176,23 +176,6 @@ return super(XMLSyntaxValidator, self)._parse(data) -class XMLDemotingValidator(XMLValidator): - """ some views produce html instead of xhtml, using demote_to_html - - this is typically related to the use of external dependencies - which do not produce valid xhtml (google maps, ...) - """ - __metaclass__ = class_deprecated - __deprecation_warning__ = '[3.10] this is now handled in testlib.py' - - def preprocess_data(self, data): - if data.startswith('' % self.cssclass) - self.w(u'

%s

\n' % self._cw._(self.title).capitalize()) - self.wview(self.vid, rset) - self.w(u'') diff -r 7769d0f61810 -r 8391bf718485 web/formfields.py --- a/web/formfields.py Fri May 02 17:41:11 2014 +0200 +++ b/web/formfields.py Fri May 02 17:57:37 2014 +0200 @@ -349,13 +349,7 @@ def initial_typed_value(self, form, load_bytes): if self.value is not _MARKER: if callable(self.value): - # pylint: disable=E1102 - if support_args(self.value, 'form', 'field'): - return self.value(form, self) - else: - warn("[3.10] field's value callback must now take form and " - "field as argument (%s)" % self, DeprecationWarning) - return self.value(form) + return self.value(form, self) return self.value formattr = '%s_%s_default' % (self.role, self.name) if self.eidparam and self.role is not None: diff -r 7769d0f61810 -r 8391bf718485 web/request.py --- a/web/request.py Fri May 02 17:41:11 2014 +0200 +++ b/web/request.py Fri May 02 17:57:37 2014 +0200 @@ -439,10 +439,6 @@ """ self.add_js('cubicweb.ajax.js') jsfunc = kwargs.pop('jsfunc', 'userCallbackThenReloadPage') - if 'msg' in kwargs: - warn('[3.10] msg should be given as positional argument', - DeprecationWarning, stacklevel=2) - args = (kwargs.pop('msg'),) + args assert not kwargs, 'dunno what to do with remaining kwargs: %s' % kwargs cbname = self.register_onetime_callback(cb, *cbargs) return "javascript: %s" % getattr(js, jsfunc)(cbname, *args) diff -r 7769d0f61810 -r 8391bf718485 web/test/unittest_form.py --- a/web/test/unittest_form.py Fri May 02 17:41:11 2014 +0200 +++ b/web/test/unittest_form.py Fri May 02 17:57:37 2014 +0200 @@ -104,7 +104,9 @@ req.form['__linkto'] = 'in_group:%s:subject' % geid form = self.vreg['forms'].select('edition', req, entity=e) form.content_type = 'text/html' - pageinfo = self._check_html(form.render(), form, template=None) + data = [] + form.render(w=data.append) + pageinfo = self._check_html(u'\n'.join(data), form, template=None) inputs = pageinfo.find_tag('select', False) ok = False for selectnode in pageinfo.matching_nodes('select', name='from_in_group-subject:A'): @@ -133,14 +135,18 @@ creation_date = DateTimeField(widget=DateTimePicker) form = CustomChangeStateForm(req, redirect_path='perdu.com', entity=req.user) - form.render(formvalues=dict(state=123, trcomment=u'', + data = [] + form.render(w=data.append, + formvalues=dict(state=123, trcomment=u'', trcomment_format=u'text/plain')) def test_change_state_form(self): with self.admin_access.web_request() as req: form = ChangeStateForm(req, redirect_path='perdu.com', entity=req.user) - form.render(formvalues=dict(state=123, trcomment=u'', + data = [] + form.render(w=data.append, + formvalues=dict(state=123, trcomment=u'', trcomment_format=u'text/plain')) # fields tests ############################################################ diff -r 7769d0f61810 -r 8391bf718485 web/views/formrenderers.py --- a/web/views/formrenderers.py Fri May 02 17:41:11 2014 +0200 +++ b/web/views/formrenderers.py Fri May 02 17:57:37 2014 +0200 @@ -1,4 +1,4 @@ -# copyright 2003-2012 LOGILAB S.A. (Paris, FRANCE), all rights reserved. +# copyright 2003-2014 LOGILAB S.A. (Paris, FRANCE), all rights reserved. # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr # # This file is part of CubicWeb. @@ -142,12 +142,7 @@ help = [] descr = field.help if callable(descr): - if support_args(descr, 'form', 'field'): - descr = descr(form, field) - else: - warn("[3.10] field's help callback must now take form and field as argument (%s)" - % field, DeprecationWarning) - descr = descr(form) + descr = descr(form, field) if descr: help.append('
%s
' % self._cw._(descr)) example = field.example_format(self._cw) diff -r 7769d0f61810 -r 8391bf718485 web/views/forms.py --- a/web/views/forms.py Fri May 02 17:41:11 2014 +0200 +++ b/web/views/forms.py Fri May 02 17:57:37 2014 +0200 @@ -197,24 +197,10 @@ Extra keyword arguments will be given to renderer's :meth:`render` method. """ w = kwargs.pop('w', None) - if w is None: - warn('[3.10] you should specify "w" to form.render() named arguments', - DeprecationWarning, stacklevel=2) - data = [] - w = data.append - else: - data = None self.build_context(formvalues) if renderer is None: renderer = self.default_renderer() - if support_args(renderer.render, 'w'): - renderer.render(w, self, kwargs) - else: - warn('[3.10] you should add "w" as first argument o %s.render()' - % renderer.__class__, DeprecationWarning) - w(renderer.render(self, kwargs)) - if data is not None: - return '\n'.join(data) + renderer.render(w, self, kwargs) def default_renderer(self): return self._cw.vreg['formrenderers'].select( diff -r 7769d0f61810 -r 8391bf718485 web/views/ibreadcrumbs.py --- a/web/views/ibreadcrumbs.py Fri May 02 17:41:11 2014 +0200 +++ b/web/views/ibreadcrumbs.py Fri May 02 17:57:37 2014 +0200 @@ -1,4 +1,4 @@ -# copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved. +# copyright 2003-2014 LOGILAB S.A. (Paris, FRANCE), all rights reserved. # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr # # This file is part of CubicWeb. @@ -64,16 +64,9 @@ """ parent = self.parent_entity() if parent is not None: - if recurs is True: - _recurs = set() - warn('[3.10] recurs argument should be a set() or None', - DeprecationWarning, stacklevel=2) - elif recurs: + if recurs: _recurs = recurs else: - if recurs is False: - warn('[3.10] recurs argument should be a set() or None', - DeprecationWarning, stacklevel=2) _recurs = set() if _recurs and parent.eid in _recurs: self.error('cycle in breadcrumbs for entity %s' % self.entity) diff -r 7769d0f61810 -r 8391bf718485 web/views/idownloadable.py --- a/web/views/idownloadable.py Fri May 02 17:41:11 2014 +0200 +++ b/web/views/idownloadable.py Fri May 02 17:57:37 2014 +0200 @@ -1,4 +1,4 @@ -# copyright 2003-2012 LOGILAB S.A. (Paris, FRANCE), all rights reserved. +# copyright 2003-2014 LOGILAB S.A. (Paris, FRANCE), all rights reserved. # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr # # This file is part of CubicWeb. @@ -34,23 +34,6 @@ from cubicweb.web.views import primary, baseviews -@deprecated('[3.10] use a custom IDownloadable adapter instead') -def download_box(w, entity, title=None, label=None, footer=u''): - req = entity._cw - w(u'\n') - - class DownloadBox(component.EntityCtxComponent): """add download box""" __regid__ = 'download_box' # no download box for images @@ -175,10 +158,6 @@ self.w(u'%s [%s]' % (url, name, durl, self._cw._('download'))) -IDownloadableLineView = class_renamed( - 'IDownloadableLineView', IDownloadableOneLineView, - '[3.10] IDownloadableLineView is deprecated, use IDownloadableOneLineView') - class AbstractEmbeddedView(EntityView): __abstract__ = True diff -r 7769d0f61810 -r 8391bf718485 web/views/primary.py --- a/web/views/primary.py Fri May 02 17:41:11 2014 +0200 +++ b/web/views/primary.py Fri May 02 17:57:37 2014 +0200 @@ -1,4 +1,4 @@ -# copyright 2003-2012 LOGILAB S.A. (Paris, FRANCE), all rights reserved. +# copyright 2003-2014 LOGILAB S.A. (Paris, FRANCE), all rights reserved. # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr # # This file is part of CubicWeb. @@ -131,16 +131,7 @@ boxes = None if boxes or hasattr(self, 'render_side_related'): self.w(u'
') - if hasattr(self, 'render_entity_summary'): - warn('[3.10] render_entity_summary method is deprecated (%s)' % self, - DeprecationWarning) - self.render_entity_summary(entity) # pylint: disable=E1101 - summary = self.summary(entity) - if summary: - warn('[3.10] summary method is deprecated (%s)' % self, - DeprecationWarning) - self.w(u'
%s
' % summary) self.w(u'
') self.content_navigation_components('navcontenttop') self.render_entity_attributes(entity) @@ -189,10 +180,6 @@ def render_entity_toolbox(self, entity): self.content_navigation_components('ctxtoolbar') - def summary(self, entity): - """default implementation return an empty string""" - return u'' - def render_entity_attributes(self, entity): """Renders all attributes and relations in the 'attributes' section. """ @@ -263,23 +250,10 @@ explicit box appobjects selectable in this context. """ for box in boxes: - if isinstance(box, tuple): - try: - label, rset, vid, dispctrl = box - except ValueError: - label, rset, vid = box - dispctrl = {} - warn('[3.10] box views should now be a RsetBox instance, ' - 'please update %s' % self.__class__.__name__, - DeprecationWarning) - self.w(u'') - else: - try: - box.render(w=self.w, row=self.cw_row) - except TypeError: - box.render(w=self.w) + try: + box.render(w=self.w, row=self.cw_row) + except TypeError: + box.render(w=self.w) def _prepare_side_boxes(self, entity): sideboxes = [] diff -r 7769d0f61810 -r 8391bf718485 web/views/workflow.py --- a/web/views/workflow.py Fri May 02 17:41:11 2014 +0200 +++ b/web/views/workflow.py Fri May 02 17:57:37 2014 +0200 @@ -1,4 +1,4 @@ -# copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved. +# copyright 2003-2014 LOGILAB S.A. (Paris, FRANCE), all rights reserved. # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr # # This file is part of CubicWeb. @@ -169,14 +169,7 @@ title = _('Workflow history') def render_body(self, w): - if hasattr(self, 'cell_call'): - warn('[3.10] %s should now implement render_body instead of cell_call' - % self.__class__, DeprecationWarning) - self.w = w - # pylint: disable=E1101 - self.cell_call(self.entity.cw_row, self.entity.cw_col) - else: - self.entity.view('wfhistory', w=w, title=None) + self.entity.view('wfhistory', w=w, title=None) class InContextWithStateView(EntityView):