misc: pylint fix super-with-arguments (#52222)
This commit is contained in:
parent
6ca8dc014c
commit
6893e0dd80
|
@ -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'))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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'))
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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('..')
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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 = {}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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='-')
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
|
|
10
wcs/sql.py
10
wcs/sql.py
|
@ -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):
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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')},
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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>')
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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 = []
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
Loading…
Reference in New Issue