misc: pylint fix super-with-arguments (#52222)

This commit is contained in:
Lauréline Guérin 2021-03-19 18:39:01 +01:00
parent 6ca8dc014c
commit 6893e0dd80
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
42 changed files with 110 additions and 116 deletions

View File

@ -390,7 +390,7 @@ class NamedDataSourcesDirectory(Directory):
def _q_traverse(self, path):
get_response().breadcrumb.append(('data-sources/', _('Data Sources')))
return super(NamedDataSourcesDirectory, self)._q_traverse(path)
return super()._q_traverse(path)
def _q_index(self):
html_top('datasources', title=_('Data Sources'))

View File

@ -46,7 +46,7 @@ class MailTemplatesDirectory(Directory):
def _q_traverse(self, path):
get_response().breadcrumb.append(('mail-templates/', _('Mail Templates')))
return super(MailTemplatesDirectory, self)._q_traverse(path)
return super()._q_traverse(path)
def _q_lookup(self, component):
return MailTemplatePage(component)

View File

@ -986,7 +986,7 @@ class WorkflowVariableWidget(CompositeWidget):
)
def _parse(self, request):
super(WorkflowVariableWidget, self)._parse(request)
super()._parse(request)
if self.get('select'):
self.value = self.get('select')
elif self.get('name'):
@ -998,7 +998,7 @@ class WorkflowVariablesFieldDefPage(FieldDefPage):
blacklisted_attributes = ['condition']
def form(self):
form = super(WorkflowVariablesFieldDefPage, self).form()
form = super().form()
form.remove('varname')
form.add(
WorkflowVariableWidget,
@ -1020,7 +1020,7 @@ class WorkflowBackofficeFieldDefPage(FieldDefPage):
blacklisted_attributes = ['condition']
def form(self):
form = super(WorkflowBackofficeFieldDefPage, self).form()
form = super().form()
form.remove('prefill')
display_locations = form.get_widget('display_locations')
if display_locations:

View File

@ -204,7 +204,7 @@ class NamedWsCallsDirectory(Directory):
def _q_traverse(self, path):
get_response().breadcrumb.append(('wscalls/', _('Webservice Calls')))
return super(NamedWsCallsDirectory, self)._q_traverse(path)
return super()._q_traverse(path)
def _q_index(self):
html_top('wscalls', title=_('Webservice Calls'))

View File

@ -1173,7 +1173,7 @@ class ApiDirectory(Directory):
def _q_traverse(self, path):
get_request().is_json_marker = True
return super(ApiDirectory, self)._q_traverse(path)
return super()._q_traverse(path)
def reverse_geocoding(request, *args, **kwargs):

View File

@ -216,7 +216,7 @@ class CardDefPage(FormDefPage):
return r.getvalue()
def duplicate(self):
response = super(CardDefPage, self).duplicate()
response = super().duplicate()
self.formdefui.formdef.disabled = False
self.formdefui.formdef.store()
return response
@ -316,7 +316,7 @@ class CardsDirectory(FormsDirectory):
return r.getvalue()
def import_submit(self, form):
response = super(CardsDirectory, self).import_submit(form)
response = super().import_submit(form)
if self.imported_formdef:
self.imported_formdef.disabled = False
self.imported_formdef.store()

View File

@ -51,7 +51,7 @@ class DataManagementDirectory(ManagementDirectory):
def _q_traverse(self, path):
get_response().breadcrumb.append(('data/', _('Cards')))
return super(ManagementDirectory, self)._q_traverse(path)
return super()._q_traverse(path)
def is_accessible(self, user):
if not user.can_go_in_backoffice():
@ -145,10 +145,10 @@ class CardPage(FormPage):
return field_ids
def get_filter_from_query(self, default=Ellipsis):
return super(CardPage, self).get_filter_from_query(default='all' if default is Ellipsis else default)
return super().get_filter_from_query(default='all' if default is Ellipsis else default)
def get_formdata_sidebar_actions(self, qs=''):
r = super(CardPage, self).get_formdata_sidebar_actions(qs=qs)
r = super().get_formdata_sidebar_actions(qs=qs)
if self.can_user_add_cards():
r += htmltext('<li><a rel="popup" href="import-csv">%s</a></li>') % _(
'Import data from a CSV file'
@ -323,7 +323,7 @@ class CardFillPage(FormFillPage):
self.has_user_support = True
def submitted(self, form, *args):
super(CardFillPage, self).submitted(form, *args)
super().submitted(form, *args)
if get_response().get_header('location').endswith('/backoffice/submission/'):
return redirect('..')

View File

@ -362,7 +362,7 @@ class UsersViewDirectory(Directory):
if not get_publisher().is_using_postgresql():
raise errors.TraversalError()
get_response().breadcrumb.append(('users', _('Per User View')))
return super(UsersViewDirectory, self)._q_traverse(path)
return super()._q_traverse(path)
def get_search_sidebar(self, offset=None, limit=None, order_by=None):
get_response().add_javascript(['wcs.listing.js'])
@ -494,7 +494,7 @@ class ManagementDirectory(Directory):
def _q_traverse(self, path):
get_response().breadcrumb.append(('management/', _('Management')))
return super(ManagementDirectory, self)._q_traverse(path)
return super()._q_traverse(path)
def _q_index(self):
if get_publisher().has_site_option('default-to-global-view'):
@ -2686,14 +2686,14 @@ class FormBackOfficeStatusPage(FormStatusPage):
'therefore displayed like you were also its owner.'
)
r += htmltext('</div>')
r += super(FormBackOfficeStatusPage, self).receipt(*args, **kwargs)
r += super().receipt(*args, **kwargs)
return r.getvalue()
def get_sidebar(self):
return self.get_extra_context_bar()
def get_workflow_form(self, user):
form = super(FormBackOfficeStatusPage, self).get_workflow_form(user)
form = super().get_workflow_form(user)
if form:
form.attrs['data-live-url'] = self.filled.get_url(backoffice=True) + 'live'
return form

View File

@ -90,7 +90,7 @@ class RootDirectory(BackofficeRootDirectory):
if path and path[0] == 'categories':
# legacy /backoffice/categories/<...>, redirect.
return redirect('/backoffice/forms/' + '/'.join(path))
return super(RootDirectory, self)._q_traverse(path)
return super()._q_traverse(path)
@classmethod
def is_accessible(cls, subdirectory):
@ -247,7 +247,7 @@ class RootDirectory(BackofficeRootDirectory):
if not self.is_accessible(component):
raise errors.AccessForbiddenError()
return getattr(self, component)
return super(RootDirectory, self)._q_lookup(component)
return super()._q_lookup(component)
def get_menu_items(self):
if not get_request().user:

View File

@ -91,7 +91,7 @@ class SubmissionFormStatusPage(FormStatusPage):
if not self.filled.is_draft():
get_session().message = ('error', _('This form has already been submitted.'))
return redirect(get_publisher().get_backoffice_url() + '/submission/')
return super(SubmissionFormStatusPage, self)._q_index()
return super()._q_index()
class FormFillPage(PublicFormFillPage):
@ -112,7 +112,7 @@ class FormFillPage(PublicFormFillPage):
has_user_support = True
def __init__(self, *args, **kwargs):
super(FormFillPage, self).__init__(*args, **kwargs)
super().__init__(*args, **kwargs)
self.selected_submission_channel = None
self.selected_user_id = None
self.remove_draft = RemoveDraftDirectory(self)
@ -153,7 +153,7 @@ class FormFillPage(PublicFormFillPage):
'submission_channel'
)
self.selected_user_id = get_request().form.get('user_id')
return super(FormFillPage, self)._q_index(*args, **kwargs)
return super()._q_index(*args, **kwargs)
def lateral_block(self):
get_response().filter = {'raw': True}
@ -295,7 +295,7 @@ class FormFillPage(PublicFormFillPage):
return r.getvalue()
def create_view_form(self, *args, **kwargs):
form = super(FormFillPage, self).create_view_form(*args, **kwargs)
form = super().create_view_form(*args, **kwargs)
if self.has_channel_support:
form.add_hidden('submission_channel', self.selected_submission_channel)
if self.has_user_support:
@ -303,7 +303,7 @@ class FormFillPage(PublicFormFillPage):
return form
def create_form(self, *args, **kwargs):
form = super(FormFillPage, self).create_form(*args, **kwargs)
form = super().create_form(*args, **kwargs)
form.attrs['data-live-url'] = self.formdef.get_backoffice_submission_url() + 'live'
if self.has_channel_support:
form.add_hidden('submission_channel', self.selected_submission_channel)
@ -376,7 +376,7 @@ class FormFillPage(PublicFormFillPage):
return redirect(url)
def save_draft(self, data, page_no=None):
formdata = super(FormFillPage, self).save_draft(data, page_no=page_no)
formdata = super().save_draft(data, page_no=page_no)
formdata.backoffice_submission = True
if not formdata.submission_context:
formdata.submission_context = {}

View File

@ -52,6 +52,6 @@ class CardData(FormData):
return None
def just_created(self):
super(CardData, self).just_created()
super().just_created()
if self.submission_agent_id:
self.evolution[0].who = self.submission_agent_id

View File

@ -78,7 +78,7 @@ class Category(XmlStorableObject):
while self.url_name in existing_slugs:
self.url_name = '%s-%s' % (base_slug, i)
i += 1
return super(Category, self).store(*args, **kwargs)
return super().store(*args, **kwargs)
@classmethod
def sort_by_position(cls, categories):

View File

@ -91,7 +91,7 @@ class TemplateWithFallbackView(TemplateView):
return response
def render_to_response(self, context, **response_kwargs):
django_response = super(TemplateWithFallbackView, self).render_to_response(context, **response_kwargs)
django_response = super().render_to_response(context, **response_kwargs)
if self.quixote_response and self.quixote_response.status_code != 200:
django_response.status_code = self.quixote_response.status_code
django_response.reason_phrase = self.quixote_response.reason_phrase
@ -199,7 +199,7 @@ class CompatWcsPublisher(WcsPublisher):
return django_response
def set_app_dir(self, request):
super(CompatWcsPublisher, self).set_app_dir(request)
super().set_app_dir(request)
settings.THEME_SKELETON_URL = self.get_site_option('theme_skeleton_url')
def process_request(self, request):

View File

@ -24,7 +24,7 @@ class Command(shell.Command, TenantCommand):
def add_arguments(self, parser):
parser.add_argument('-d', '--domain', '--vhost', metavar='DOMAIN', required=True)
super(Command, self).add_arguments(parser)
super().add_arguments(parser)
def handle(self, *args, **options):
domain = options.pop('domain')

View File

@ -128,7 +128,7 @@ class CustomView(StorableObject):
def store(self, *args, **kwargs):
self.ensure_slug()
return super(CustomView, self).store(*args, **kwargs)
return super().store(*args, **kwargs)
def get_columns(self):
if self.columns and 'list' in self.columns:

View File

@ -505,7 +505,7 @@ class NamedDataSource(XmlStorableObject):
if self.slug is None:
# set slug if it's not yet there
self.slug = self.get_new_slug()
super(NamedDataSource, self).store()
super().store()
if get_publisher().snapshot_class:
get_publisher().snapshot_class.snap(instance=self, comment=comment)

View File

@ -1082,14 +1082,14 @@ class StringField(WidgetField):
return str(value)
def migrate(self):
changed = super(StringField, self).migrate()
changed = super().migrate()
if isinstance(self.validation, str):
self.validation = {'type': 'regex', 'value': self.validation}
changed = True
return changed
def init_with_xml(self, element, charset, include_id=False, snapshot=False):
super(StringField, self).init_with_xml(element, charset, include_id=include_id)
super().init_with_xml(element, charset, include_id=include_id)
self.migrate()
@ -1304,7 +1304,7 @@ class FileField(WidgetField):
]
def __init__(self, *args, **kwargs):
super(FileField, self).__init__(*args, **kwargs)
super().__init__(*args, **kwargs)
self.document_type = self.document_type or {}
@property
@ -1484,7 +1484,7 @@ class FileField(WidgetField):
get_request().form[self.field_key + '$token'] = value.token
def migrate(self):
changed = super(FileField, self).migrate()
changed = super().migrate()
if 'file_type' in self.__dict__:
self.document_type = {}
if self.__dict__['file_type']:
@ -1522,13 +1522,13 @@ class FileField(WidgetField):
if self.document_type and self.document_type.get('mimetypes'):
old_value = self.document_type['mimetypes']
self.document_type['mimetypes'] = '|'.join(self.document_type['mimetypes'])
result = super(FileField, self).export_to_xml(charset, include_id=include_id)
result = super().export_to_xml(charset, include_id=include_id)
if self.document_type and self.document_type.get('mimetypes'):
self.document_type['mimetypes'] = old_value
return result
def init_with_xml(self, element, charset, include_id=False, snapshot=False):
super(FileField, self).init_with_xml(element, charset, include_id=include_id)
super().init_with_xml(element, charset, include_id=include_id)
# translate fields flattened to strings
if self.document_type and self.document_type.get('mimetypes'):
self.document_type['mimetypes'] = self.document_type['mimetypes'].split('|')
@ -1832,7 +1832,7 @@ class ItemField(WidgetField, MapOptionsMixin, ItemFieldMixin):
WidgetField.__init__(self, **kwargs)
def migrate(self):
changed = super(ItemField, self).migrate()
changed = super().migrate()
if isinstance(getattr(self, 'show_as_radio', None), bool):
if self.show_as_radio:
self.display_mode = 'radio'
@ -1843,7 +1843,7 @@ class ItemField(WidgetField, MapOptionsMixin, ItemFieldMixin):
return changed
def init_with_xml(self, element, charset, include_id=False, snapshot=False):
super(ItemField, self).init_with_xml(element, charset, include_id=include_id)
super().init_with_xml(element, charset, include_id=include_id)
if getattr(element.find('show_as_radio'), 'text', None) == 'True':
self.display_mode = 'radio'
@ -1935,7 +1935,7 @@ class ItemField(WidgetField, MapOptionsMixin, ItemFieldMixin):
return display_value
def get_view_value(self, value, value_id=None, **kwargs):
value = super(ItemField, self).get_view_value(value)
value = super().get_view_value(value)
if not (
value_id
and get_request()
@ -2140,7 +2140,7 @@ class ItemField(WidgetField, MapOptionsMixin, ItemFieldMixin):
return values
def export_to_json(self, include_id=False, anonymise=True):
field = super(ItemField, self).export_to_json(include_id=include_id, anonymise=anonymise)
field = super().export_to_json(include_id=include_id, anonymise=anonymise)
if self.data_source and not anonymise:
structured_items = data_sources.get_structured_items(self.data_source)
if structured_items:
@ -2245,7 +2245,7 @@ class ItemsField(WidgetField, ItemFieldMixin):
self.check_items_admin_form(form)
def get_prefill_value(self, user=None, force_string=True):
return super(ItemsField, self).get_prefill_value(user=user, force_string=False)
return super().get_prefill_value(user=user, force_string=False)
def convert_value_to_str(self, value):
return value
@ -2373,7 +2373,7 @@ class ItemsField(WidgetField, ItemFieldMixin):
return structured_value
def export_to_json(self, include_id=False, anonymise=True):
field = super(ItemsField, self).export_to_json(include_id=include_id, anonymise=True)
field = super().export_to_json(include_id=include_id, anonymise=True)
if self.data_source and not anonymise:
structured_items = data_sources.get_structured_items(self.data_source)
if structured_items:
@ -2413,10 +2413,10 @@ class PostConditionsTableWidget(WidgetListAsTable):
readonly = False
def __init__(self, name, **kwargs):
super(PostConditionsTableWidget, self).__init__(name, element_type=PostConditionsRowWidget, **kwargs)
super().__init__(name, element_type=PostConditionsRowWidget, **kwargs)
def parse(self, request=None):
super(PostConditionsTableWidget, self).parse(request=request)
super().parse(request=request)
for post_condition in self.value or []:
if not (post_condition.get('error_message') and post_condition.get('condition')):
self.set_error(_('Both condition and error message are required.'))
@ -2477,7 +2477,7 @@ class PageCondition(Condition):
source.data.update(dict_vars)
break
data = super(PageCondition, self).get_data()
data = super().get_data()
# 2) add live data as var_ variables for local evaluation only, for
# backward compatibility. They are not added globally as they would
# interfere with the var_ prefixed variables used in dynamic jsonp
@ -2562,7 +2562,7 @@ class PageField(Field):
return Field.get_admin_attributes(self) + ['post_conditions']
def migrate(self):
changed = super(PageField, self).migrate()
changed = super().migrate()
if isinstance(self.condition, str):
if self.condition:
self.condition = {'type': 'python', 'value': self.condition}

View File

@ -313,11 +313,11 @@ class FormData(StorableObject):
has_id = self.id is not None
if has_id:
self.set_auto_fields()
super(FormData, self).store(*args, **kwargs)
super().store(*args, **kwargs)
if not has_id: # got it now
if self.set_auto_fields():
# store changes
super(FormData, self).store(*args, **kwargs)
super().store(*args, **kwargs)
def refresh_from_storage(self):
obj = self.get(self.id)

View File

@ -178,7 +178,7 @@ class FormDef(StorableObject):
category_class = Category
def __init__(self, *args, **kwargs):
super(FormDef, self).__init__(*args, **kwargs)
super().__init__(*args, **kwargs)
self.fields = []
def migrate(self):
@ -286,7 +286,7 @@ class FormDef(StorableObject):
@classmethod
def remove_object(cls, id):
super(FormDef, cls).remove_object(id)
super().remove_object(id)
if get_publisher().is_using_postgresql():
# recreate global views so they don't reference formdata from
# deleted formefs
@ -395,7 +395,7 @@ class FormDef(StorableObject):
@classmethod
def wipe(cls):
super(FormDef, cls).wipe()
super().wipe()
if get_publisher().is_using_postgresql():
cls.sql_wipe()
@ -1567,7 +1567,7 @@ class FormDef(StorableObject):
@classmethod
def storage_load(cls, fd, **kwargs):
o = super(FormDef, cls).storage_load(fd)
o = super().storage_load(fd)
if kwargs.get('lightweight'):
o.fields = Ellipsis
return o

View File

@ -824,7 +824,7 @@ class FormStatusPage(Directory, FormTemplateMixin):
def _q_traverse(self, path):
get_response().breadcrumb.append((str(self.filled.id) + '/', self.filled.get_display_id()))
return super(FormStatusPage, self)._q_traverse(path)
return super()._q_traverse(path)
def wfedit(self, action_id):
wf_status = self.filled.get_status()

View File

@ -48,7 +48,7 @@ class MailTemplate(XmlStorableObject):
if self.slug is None:
# set slug if it's not yet there
self.slug = self.get_new_slug()
super(MailTemplate, self).store()
super().store()
def get_new_slug(self):
new_slug = misc.simplify(self.name, space='-')

View File

@ -68,12 +68,12 @@ class TenantAwareThread(threading.Thread):
self.publisher = copy.copy(get_publisher())
if self.publisher:
self.publisher.detach()
super(TenantAwareThread, self).__init__(*args, **kwargs)
super().__init__(*args, **kwargs)
def run(self):
if self.publisher:
self.publisher.set_in_thread()
super(TenantAwareThread, self).run()
super().run()
class _Timer(TenantAwareThread):
@ -86,7 +86,7 @@ class _Timer(TenantAwareThread):
"""
def __init__(self, interval, function, args=[], kwargs={}):
super(_Timer, self).__init__()
super().__init__()
self.interval = interval
self.function = function
self.args = args
@ -106,7 +106,7 @@ class _Timer(TenantAwareThread):
class _MainThread(TenantAwareThread):
def __init__(self):
super(_MainThread, self).__init__(name="MainThread")
super().__init__(name="MainThread")
self._Thread__started.set()
self._set_ident()
with threading._active_limbo_lock:
@ -131,7 +131,7 @@ class _MainThread(TenantAwareThread):
class _DummyThread(TenantAwareThread):
def __init__(self):
super(_DummyThread, self).__init__(name=threading._newname("Dummy-%d"), daemon=True)
super().__init__(name=threading._newname("Dummy-%d"), daemon=True)
self._started.set()
self._set_ident()

View File

@ -73,7 +73,7 @@ class HttpResponse401Error(AccessError):
def __init__(self, realm, public_msg=None):
self.realm = realm
super(HttpResponse401Error, self).__init__(public_msg=public_msg)
super().__init__(public_msg=public_msg)
class EmailError(Exception):

View File

@ -288,7 +288,7 @@ class RadiobuttonsWidget(quixote.form.RadiobuttonsWidget):
def __init__(self, name, value=None, **kwargs):
self.extra_css_class = kwargs.pop('extra_css_class', None)
self.options_with_attributes = kwargs.pop('options_with_attributes', None)
super(RadiobuttonsWidget, self).__init__(name, value=value, **kwargs)
super().__init__(name, value=value, **kwargs)
def get_options(self):
options = self.options_with_attributes or self.options
@ -539,7 +539,7 @@ class CommentWidget(Widget):
template_name = 'qommon/forms/widgets/comment.html'
def __init__(self, content, extra_css_class):
super(CommentWidget, self).__init__(name='')
super().__init__(name='')
self.content = content
self.extra_css_class = extra_css_class
@ -597,7 +597,7 @@ class StringWidget(quixote.form.StringWidget):
elif 'readonly' in kwargs:
kwargs['readonly'] = 'readonly'
self.validation_function = kwargs.pop('validation_function', None)
super(StringWidget, self).__init__(name, *args, **kwargs)
super().__init__(name, *args, **kwargs)
def _parse(self, request):
quixote.form.StringWidget._parse(self, request)
@ -619,10 +619,10 @@ class DurationWidget(StringWidget):
else:
kwargs['hint'] = ''
kwargs['hint'] += htmltext(_('Usable units of time: %s.')) % ', '.join(timewords())
super(DurationWidget, self).__init__(name, value=value, **kwargs)
super().__init__(name, value=value, **kwargs)
def parse(self, request=None):
value = super(DurationWidget, self).parse(request)
value = super().parse(request)
return str(humanduration2seconds(self.value)) if value else None
@ -631,7 +631,7 @@ class TextWidget(quixote.form.TextWidget):
def __init__(self, name, *args, **kwargs):
self.validation_function = kwargs.pop('validation_function', None)
super(TextWidget, self).__init__(name, *args, **kwargs)
super().__init__(name, *args, **kwargs)
def add_media(self):
if self.prefill_attributes and 'geolocation' in self.prefill_attributes:
@ -1065,7 +1065,7 @@ class SingleSelectWidget(quixote.form.widget.SingleSelectWidget):
class ValidationCondition(Condition):
def __init__(self, django_condition, value):
super(ValidationCondition, self).__init__({'type': 'django', 'value': django_condition})
super().__init__({'type': 'django', 'value': django_condition})
self.evaluated_value = value
def get_data(self):
@ -1140,7 +1140,7 @@ class ValidationWidget(CompositeWidget):
)
def __init__(self, name, value=None, **kwargs):
super(ValidationWidget, self).__init__(name, value=value, **kwargs)
super().__init__(name, value=value, **kwargs)
if not value:
value = {}
@ -1290,7 +1290,7 @@ class WcsExtraStringWidget(StringWidget):
if self.field and self.field.validation:
self.HTML_TYPE = ValidationWidget.get_html_input_type(self.field.validation)
self.inputmode = ValidationWidget.get_html_inputmode(self.field.validation)
return super(WcsExtraStringWidget, self).render_content()
return super().render_content()
def _parse(self, request):
StringWidget._parse(self, request)
@ -1444,7 +1444,7 @@ class TimeWidget(DateWidget):
class DateTimeWidget(CompositeWidget):
def __init__(self, name, value=None, **kwargs):
super(DateTimeWidget, self).__init__(name, value=value, **kwargs)
super().__init__(name, value=value, **kwargs)
date_value = None
time_value = None
if value:
@ -1597,7 +1597,7 @@ class ValidatedStringWidget(StringWidget):
def __init__(self, *args, **kwargs):
if 'regex' in kwargs:
self.regex = kwargs.pop('regex')
super(ValidatedStringWidget, self).__init__(*args, **kwargs)
super().__init__(*args, **kwargs)
def _parse(self, request):
StringWidget._parse(self, request)
@ -2055,7 +2055,7 @@ class SingleSelectHintWidget(SingleSelectWidget):
self.select2 = kwargs.pop('select2', None)
if 'template-name' in kwargs:
self.template_name = kwargs.pop('template-name')
super(SingleSelectHintWidget, self).__init__(name, value=value, **kwargs)
super().__init__(name, value=value, **kwargs)
def add_media(self):
if self.select2:
@ -2332,7 +2332,7 @@ class JsonpSingleSelectWidget(Widget):
template_name = 'qommon/forms/widgets/select_jsonp.html'
def __init__(self, name, value=None, url=None, **kwargs):
super(JsonpSingleSelectWidget, self).__init__(name, value=value, **kwargs)
super().__init__(name, value=value, **kwargs)
self.url = url
def add_media(self):
@ -3009,7 +3009,7 @@ class ConditionWidget(CompositeWidget):
class DjangoConditionWidget(StringWidget):
def _parse(self, request):
super(DjangoConditionWidget, self)._parse(request)
super()._parse(request)
if self.value:
try:
Condition({'type': 'django', 'value': self.value}).validate()

View File

@ -113,9 +113,7 @@ class UserFieldMappingTableWidget(WidgetListAsTable):
readonly = False
def __init__(self, name, **kwargs):
super(UserFieldMappingTableWidget, self).__init__(
name, element_type=UserFieldMappingRowWidget, **kwargs
)
super().__init__(name, element_type=UserFieldMappingRowWidget, **kwargs)
class MethodDirectory(Directory):

View File

@ -575,7 +575,7 @@ def preprocess_struct_time(obj):
class JSONEncoder(json.JSONEncoder):
def encode(self, obj):
return super(JSONEncoder, self).encode(preprocess_struct_time(obj))
return super().encode(preprocess_struct_time(obj))
def default(self, obj):
# make sure time.struct_time are not received as they do have a

View File

@ -162,7 +162,7 @@ class Session(QommonSession, CaptchaSession, StorableObject):
current_dict.pop('_access_time', None)
orig_dict.pop('_access_time', None)
if current_dict != orig_dict:
return super(Session, self).store(*args, **kwargs)
return super().store(*args, **kwargs)
def get_session_id(self):
return self.id
@ -176,20 +176,20 @@ class Session(QommonSession, CaptchaSession, StorableObject):
return os.path.join(get_publisher().form_tokens_dir, token)
def create_form_token(self):
token = super(Session, self).create_form_token()
token = super().create_form_token()
open(self.get_form_token_filepath(token), 'wb').close()
return token
def has_form_token(self, token):
if not token:
return False
has_form_token = super(Session, self).has_form_token(token)
has_form_token = super().has_form_token(token)
if not os.path.exists(self.get_form_token_filepath(token)):
has_form_token = False
return has_form_token
def remove_form_token(self, token):
super(Session, self).remove_form_token(token)
super().remove_form_token(token)
self.store()
try:
os.unlink(self.get_form_token_filepath(token))

View File

@ -57,7 +57,7 @@ class Role(StorableObject):
if self.slug is None:
# set slug if it's not yet there
self.slug = self.get_new_slug()
super(Role, self).store()
super().store()
def get_new_slug(self):
new_slug = misc.simplify(self.name)

View File

@ -124,7 +124,7 @@ class Equal(Criteria):
def as_sql(self):
if self.value in ([], ()):
return 'ARRAY_LENGTH(%s, 1) IS NULL' % self.attribute
return super(Equal, self).as_sql()
return super().as_sql()
class LessOrEqual(Criteria):
@ -157,7 +157,7 @@ class NotContains(Contains):
def as_sql(self):
if not self.value:
return 'TRUE'
return super(NotContains, self).as_sql()
return super().as_sql()
class NotNull(Criteria):
@ -237,7 +237,7 @@ class Intersects(Criteria):
class ILike(Criteria):
def __init__(self, attribute, value, **kwargs):
super(ILike, self).__init__(attribute, value, **kwargs)
super().__init__(attribute, value, **kwargs)
self.value = '%' + self.value + '%'
def as_sql(self):
@ -2713,7 +2713,7 @@ class TrackingCode(SqlMixin, wcs.tracking_code.TrackingCode):
@classmethod
def get(cls, id, **kwargs):
return super(TrackingCode, cls).get(id.upper(), **kwargs)
return super().get(id.upper(), **kwargs)
@guard_postgres
@invalidate_substitution_cache
@ -3060,7 +3060,7 @@ class AnyFormData(SqlMixin):
@classmethod
def get_objects(cls, *args, **kwargs):
cls._formdef_cache = {}
return super(AnyFormData, cls).get_objects(*args, **kwargs)
return super().get_objects(*args, **kwargs)
@classmethod
def _row2ob(cls, row, **kwargs):

View File

@ -77,7 +77,7 @@ class User(StorableObject):
@invalidate_substitution_cache
def store(self, *args, **kwargs):
return super(User, self).store(*args, **kwargs)
return super().store(*args, **kwargs)
@classmethod
def get_formdef(cls):

View File

@ -329,7 +329,7 @@ class LazyFormDef(object):
class LazyFormData(LazyFormDef):
def __init__(self, formdata):
super(LazyFormData, self).__init__(formdata.formdef)
super().__init__(formdata.formdef)
self._formdata = formdata
def inspect_keys(self):
@ -861,7 +861,7 @@ class LazyFieldVarStructured(LazyFieldVar):
def __getitem__(self, key):
try:
return super(LazyFieldVarStructured, self).__getitem__(key)
return super().__getitem__(key)
except KeyError:
pass
structured_value = self._field.get_structured_value(self._data)
@ -1002,7 +1002,7 @@ class LazyFieldVarPassword(LazyFieldVar):
field_value = self._data.get(self._field.id)
if key in field_value:
return field_value[key]
return super(LazyFieldVarPassword, self)._getitem__(key)
return super()._getitem__(key)
class LazyFieldVarFile(LazyFieldVar):
@ -1120,7 +1120,7 @@ class LazyUser(object):
def __getattr__(self, attr):
try:
return super(LazyUser, self).__getattr__(attr)
return super().__getattr__(attr)
except AttributeError:
return getattr(self._user, attr)
@ -1167,7 +1167,7 @@ class LazyFormDefOptions(LazyFormDataVar):
# varnames, not id.
field.id = field.varname or field.id
data = self._formdef.workflow_options
super(LazyFormDefOptions, self).__init__(fields, data)
super().__init__(fields, data)
class CardsSource:

View File

@ -30,7 +30,7 @@ class Backoffice(compat.TemplateWithFallbackView):
return self.get(request, *args, **kwargs)
def get_context_data(self, **kwargs):
context = super(Backoffice, self).get_context_data(**kwargs)
context = super().get_context_data(**kwargs)
with compat.request(self.request):
get_request().response.filter = {'admin_ezt': True}

View File

@ -116,7 +116,7 @@ class AddAttachmentWorkflowStatusItem(WorkflowStatusItem):
max_file_size = None
def __init__(self, *args, **kwargs):
super(AddAttachmentWorkflowStatusItem, self).__init__(*args, **kwargs)
super().__init__(*args, **kwargs)
self.document_type = self.document_type or {}
@classmethod

View File

@ -71,7 +71,7 @@ class SetBackofficeFieldsTableWidget(WidgetListAsTable):
readonly = False
def __init__(self, name, **kwargs):
super(SetBackofficeFieldsTableWidget, self).__init__(
super().__init__(
name,
element_type=SetBackofficeFieldRowWidget,
element_kwargs={'workflow': kwargs.pop('workflow')},

View File

@ -52,7 +52,7 @@ class MappingWidget(CompositeWidget):
def __init__(self, name, value=None, to_formdef=None, **kwargs):
value = value or Mapping(None, '')
self.accept_empty_value = kwargs.pop('accept_empty_value', False)
super(MappingWidget, self).__init__(name, value, **kwargs)
super().__init__(name, value, **kwargs)
to_fields = self._fields_to_options(to_formdef)
@ -78,7 +78,7 @@ class MappingWidget(CompositeWidget):
]
def _parse(self, request):
super(MappingWidget, self)._parse(request)
super()._parse(request)
if self.get('field_id') is not None and self.accept_empty_value or self.get('expression') is not None:
self.value = Mapping(field_id=self.get('field_id'), expression=self.get('expression'))
else:
@ -102,7 +102,7 @@ class MappingsWidget(WidgetListAsTable):
value.sort(key=lambda mapping: self.ranks.get(str(mapping.field_id), 9999))
accept_empty_value = kwargs.pop('accept_empty_value', False)
super(MappingsWidget, self).__init__(
super().__init__(
name,
element_type=MappingWidget,
element_kwargs={
@ -119,7 +119,7 @@ class MappingsWidget(WidgetListAsTable):
}
def _parse(self, request):
super(MappingsWidget, self)._parse(request)
super()._parse(request)
if self.value:
# prevent many mappings to the same field

View File

@ -62,9 +62,7 @@ class AutomaticDispatchTableWidget(WidgetListAsTable):
readonly = False
def __init__(self, name, **kwargs):
super(AutomaticDispatchTableWidget, self).__init__(
name, element_type=AutomaticDispatchRowWidget, **kwargs
)
super().__init__(name, element_type=AutomaticDispatchRowWidget, **kwargs)
class RuleNode(XmlSerialisable):

View File

@ -257,7 +257,7 @@ class FormWorkflowStatusItem(WorkflowStatusItem):
def get_parameters_view(self):
r = TemplateIO(html=True)
r += super(FormWorkflowStatusItem, self).get_parameters_view()
r += super().get_parameters_view()
if self.formdef and self.formdef.fields:
r += htmltext('<p>%s</p>') % _('Form:')
r += htmltext('<ul>')

View File

@ -148,7 +148,7 @@ class JumpWorkflowStatusItem(WorkflowStatusJumpItem):
self.timeout = int(timeout)
def migrate(self):
changed = super(JumpWorkflowStatusItem, self).migrate()
changed = super().migrate()
if isinstance(self.condition, str):
if self.condition:
self.condition = {'type': 'python', 'value': self.condition}

View File

@ -173,7 +173,7 @@ class SendNotificationWorkflowStatusItem(WebserviceCallStatusItem):
continue
for name_id in user.name_identifiers or []:
self.qs_data = {'NameID': name_id}
super(SendNotificationWorkflowStatusItem, self).perform(formdata)
super().perform(formdata)
register_item_class(SendNotificationWorkflowStatusItem)

View File

@ -95,7 +95,7 @@ class ProfileUpdateTableWidget(WidgetListAsTable):
readonly = False
def __init__(self, name, **kwargs):
super(ProfileUpdateTableWidget, self).__init__(name, element_type=ProfileUpdateRowWidget, **kwargs)
super().__init__(name, element_type=ProfileUpdateRowWidget, **kwargs)
class FieldNode(XmlSerialisable):

View File

@ -472,7 +472,7 @@ class Workflow(StorableObject):
from wcs.carddef import CardDef
return CardDef.get_default_workflow()
return super(Workflow, cls).get(id, ignore_errors=ignore_errors, ignore_migration=ignore_migration)
return super().get(id, ignore_errors=ignore_errors, ignore_migration=ignore_migration)
def add_status(self, name, id=None):
if [x for x in self.possible_status if x.name == name]:
@ -2515,7 +2515,7 @@ class CommentableWorkflowStatusItem(WorkflowStatusItem):
def fill_admin_form(self, form):
if self.by and not type(self.by) is list:
self.by = None
return super(CommentableWorkflowStatusItem, self).fill_admin_form(form)
return super().fill_admin_form(form)
def get_parameters(self):
return (
@ -2791,9 +2791,7 @@ class SendmailWorkflowStatusItem(WorkflowStatusItem):
if self.get_expression(value)['type'] != 'text' or '@' in value:
return value
return super(SendmailWorkflowStatusItem, self)._get_role_id_from_xml(
elem, charset, include_id=include_id
)
return super()._get_role_id_from_xml(elem, charset, include_id=include_id)
def render_list_of_roles_or_emails(self, roles):
t = []

View File

@ -247,7 +247,7 @@ class NamedWsCall(XmlStorableObject):
if self.id and self.slug != self.id:
self.remove_object(self.id)
self.id = self.slug
super(NamedWsCall, self).store()
super().store()
if get_publisher().snapshot_class:
get_publisher().snapshot_class.snap(instance=self, comment=comment)