misc: replace has_key usages (#36515)

This commit is contained in:
Frédéric Péters 2019-11-12 11:54:16 +01:00
parent 0db7cb0804
commit 4f827110bf
16 changed files with 60 additions and 60 deletions

View File

@ -622,7 +622,7 @@ class SettingsDirectory(QommonSettingsDirectory):
def themes(self):
request = get_request()
if not request.form.has_key('theme'):
if 'theme' not in request.form:
current_theme = get_cfg('branding', {}).get('theme', 'default')
get_response().breadcrumb.append(('themes', _('Themes')))
@ -669,7 +669,7 @@ class SettingsDirectory(QommonSettingsDirectory):
return r.getvalue()
else:
themes = template.get_themes()
if themes.has_key(str(request.form['theme'])):
if str(request.form['theme']) in themes:
branding_cfg = get_cfg('branding', {})
branding_cfg[str('theme')] = str(request.form['theme'])
get_publisher().cfg[str('branding')] = branding_cfg
@ -819,7 +819,7 @@ class SettingsDirectory(QommonSettingsDirectory):
else:
template = form.get_widget('template').parse()
if template in (DEFAULT_TEMPLATE_EZT, theme_default_template_ezt) or not template:
if branding_cfg.has_key('template'):
if 'template' in branding_cfg:
del branding_cfg['template']
else:
branding_cfg['template'] = template

View File

@ -207,9 +207,9 @@ class Evolution(object):
# don't pickle _formata cache
def __getstate__(self):
odict = self.__dict__.copy()
if odict.has_key('_formdata'):
if '_formdata' in odict:
del odict['_formdata']
if odict.has_key('_display_parts'):
if '_display_parts' in odict:
del odict['_display_parts']
return odict
@ -1107,7 +1107,7 @@ class FormData(StorableObject):
# don't pickle _formdef cache
def __getstate__(self):
odict = self.__dict__
if odict.has_key('_formdef'):
if '_formdef' in odict:
del odict['_formdef']
return odict

View File

@ -140,12 +140,12 @@ class FormDef(StorableObject):
# don't run migration on lightweight objects
return
if self.__dict__.has_key('receiver'):
if 'receiver' in self.__dict__:
self.receiver_id = self.__dict__['receiver']
del self.__dict__['receiver']
changed = True
if self.__dict__.has_key('category'):
if 'category' in self.__dict__:
self.category_id = self.__dict__['category']
del self.__dict__['category']
changed = True
@ -161,7 +161,7 @@ class FormDef(StorableObject):
if self.fields and type(self.fields[0]) is dict:
for f in self.fields:
if f.has_key('name'):
if 'name' in f:
f['label'] = f['name']
del f['name']
self.fields = [FormField(**x) for x in self.fields]
@ -169,7 +169,7 @@ class FormDef(StorableObject):
f.id = str(i)
for formdata in self.data_class().select():
for f in self.fields:
if not formdata.data.has_key(f.label):
if not f.label in formdata.data:
continue
formdata.data[f.id] = formdata.data[f.label]
del formdata.data[f.label]
@ -181,11 +181,11 @@ class FormDef(StorableObject):
# (200603)
self.fields = [x.real_field for x in self.fields]
if self.__dict__.has_key('public'):
if 'public' in self.__dict__:
del self.__dict__['public']
changed = True
if self.__dict__.has_key('receiver_id'):
if 'receiver_id' in self.__dict__:
# migration from a simple receiver role to workflow roles
if not self.workflow_roles:
self.workflow_roles = {}
@ -700,7 +700,7 @@ class FormDef(StorableObject):
display_value = field.store_display_value(d, field.id)
if display_value is not None:
d['%s_display' % field.id] = display_value
elif d.has_key('%s_display' % field.id):
elif '%s_display' % field.id in d:
del d['%s_display' % field.id]
if d.get(field.id) is not None and field.store_structured_value:
structured_value = field.store_structured_value(d, field.id)
@ -1423,11 +1423,11 @@ class FormDef(StorableObject):
# don't pickle computed attributes
def __getstate__(self):
odict = copy.copy(self.__dict__)
if odict.has_key('_workflow'):
if '_workflow' in odict:
del odict['_workflow']
if odict.has_key('_start_page'):
if '_start_page' in odict:
del odict['_start_page']
if self.lightweight and odict.has_key('fields'):
if self.lightweight and 'fields' in odict:
# will be stored independently
del odict['fields']
return odict

View File

@ -395,7 +395,7 @@ class FormStatusPage(Directory, FormTemplateMixin):
current_page_fields = []
def get_value(f):
if not self.filled.data.has_key(f.id):
if f.id not in self.filled.data:
value = None
else:
if f.store_display_value and ('%s_display' % f.id) in self.filled.data:
@ -441,7 +441,7 @@ class FormStatusPage(Directory, FormTemplateMixin):
# ignore empty pages
fields = []
for page in pages:
if not any([x.has_key('value') for x in page['fields']]):
if not any([bool('value' in x) for x in page['fields']]):
continue
fields.append(page['page'])
fields.extend([x['field'] for x in page['fields']])

View File

@ -317,14 +317,14 @@ class FormPage(Directory, FormTemplateMixin):
else:
form_data = {}
if page == self.pages[0] and not get_request().form.has_key('magictoken'):
if page == self.pages[0] and 'magictoken' not in get_request().form:
magictoken = randbytes(8)
else:
magictoken = get_request().form['magictoken']
form.add_hidden('magictoken', magictoken)
data = session.get_by_magictoken(magictoken, {})
if page == self.pages[0] and get_request().form.has_key('cancelurl'):
if page == self.pages[0] and 'cancelurl' in get_request().form:
cancelurl = get_request().form['cancelurl']
form_data['__cancelurl'] = cancelurl
session.add_magictoken(magictoken, form_data)
@ -363,7 +363,7 @@ class FormPage(Directory, FormTemplateMixin):
# "live prefill", regardless of existing data.
form.get_widget('f%s' % k).prefill_attributes = field.get_prefill_attributes()
if data.has_key(k):
if k in data:
v = data[k]
elif field.prefill:
if get_request().is_in_backoffice() and (
@ -623,12 +623,12 @@ class FormPage(Directory, FormTemplateMixin):
self.feed_current_data(get_request().form.get('magictoken'))
else:
self.feed_current_data(None)
if not self.edit_mode and get_request().get_method() == 'GET' and not get_request().form.has_key('mt'):
if not self.edit_mode and get_request().get_method() == 'GET' and 'mt' not in get_request().form:
self.initial_hit = True
# first hit on first page, if tracking code are enabled and we
# are not editing an existing formdata, generate a new tracking
# code.
if not self.edit_mode and self.formdef.enable_tracking_codes and not get_request().form.has_key('mt'):
if not self.edit_mode and self.formdef.enable_tracking_codes and 'mt' not in get_request().form:
tracking_code = get_publisher().tracking_code_class()
tracking_code.store()
token = randbytes(8)
@ -663,7 +663,7 @@ class FormPage(Directory, FormTemplateMixin):
form.add_submit('savedraft')
if not form.is_submitted():
if get_request().form.has_key('mt'):
if 'mt' in get_request().form:
magictoken = get_request().form['mt']
data = session.get_by_magictoken(magictoken, {})
if not get_request().is_in_backoffice():
@ -859,7 +859,7 @@ class FormPage(Directory, FormTemplateMixin):
req = get_request()
for field in self.formdef.fields:
k = field.id
if form_data.has_key(k):
if k in form_data:
v = form_data[k]
if field.convert_value_to_str:
v = field.convert_value_to_str(v)

View File

@ -201,19 +201,19 @@ class WcsPublisher(StubWcsPublisher):
d = cPickle.loads(data)
else:
d = json.loads(data, object_hook=_decode_dict)
if self.cfg.has_key('sp'):
if 'sp' in self.cfg:
current_sp = self.cfg['sp']
else:
current_sp = None
self.cfg = d
if current_sp:
self.cfg['sp'] = current_sp
elif self.cfg.has_key('sp'):
elif 'sp' in self.cfg:
del self.cfg['sp']
self.write_cfg()
continue
open(path, 'w').write(data)
if results.has_key(os.path.split(f)[0]):
if os.path.split(f)[0] in results:
results[os.path.split(f)[0]] += 1
# second pass, workflows

View File

@ -260,7 +260,7 @@ class EmailsDirectory(Directory):
return True
def _q_lookup(self, component):
if not self.emails_dict.has_key(component):
if component not in self.emails_dict:
return None
return self.email(component,

View File

@ -70,7 +70,7 @@ class LoggerDirectory(Directory):
user_color_key = d['user_id']
if user_color_key == 'anonymous':
user_color_key += d['ip']
if not user_color_keys.has_key(user_color_key):
if user_color_key not in user_color_keys:
user_color_keys[user_color_key] = ''.join(
['%x' % random.randint(0xc, 0xf) for x in range(3)])
r += htmltext('<tr class="level-%s" style="background: #%s;">') % (

View File

@ -176,7 +176,7 @@ class TextsDirectory(Directory):
return True
def _q_lookup(self, component):
if not self.texts_dict.has_key(component):
if component not in self.texts_dict:
return None
hint = self.texts_dict[component]['hint']

View File

@ -285,7 +285,7 @@ class Form(QuixoteForm):
return self.add(SubmitWidget, name, value, **kwargs)
def add(self, widget_class, name, *args, **kwargs):
if kwargs and not kwargs.has_key('render_br'):
if kwargs and 'render_br' not in kwargs:
kwargs['render_br'] = False
advanced = False
if kwargs and kwargs.get('advanced', False):
@ -366,7 +366,7 @@ class Form(QuixoteForm):
r += self._render_error_notice()
if self.info:
r += self._render_info_notice()
if self._names.has_key('prefill'):
if 'prefill' in self._names:
r += self._render_prefill_widgets()
r += self._render_widgets()
@ -1134,9 +1134,9 @@ class CheckboxesWidget(CompositeWidget):
CompositeWidget.__init__(self, name, value, **kwargs)
self.element_names = collections.OrderedDict()
if kwargs.has_key('title'):
if 'title' in kwargs:
del kwargs['title']
if kwargs.has_key('readonly'):
if 'readonly' in kwargs:
del kwargs['readonly']
self.readonly = True
self.inline = kwargs.get('inline', True)
@ -1513,10 +1513,10 @@ class TableWidget(CompositeWidget):
self.rows = rows
self.columns = columns
if kwargs.has_key('title'):
if 'title' in kwargs:
del kwargs['title']
if kwargs.has_key('readonly') and kwargs.get('readonly'):
if kwargs.get('readonly'):
self.readonly = True
for i, row in enumerate(rows):
@ -1532,7 +1532,7 @@ class TableWidget(CompositeWidget):
def add_widget(self, kwargs, i, j):
widget_kwargs = {}
if kwargs.has_key('readonly') and kwargs.get('readonly'):
if kwargs.get('readonly'):
widget_kwargs['readonly'] = 'readonly'
return self.add(StringWidget, 'c-%s-%s' % (i, j), **widget_kwargs)
@ -1600,7 +1600,7 @@ class TableWidget(CompositeWidget):
class SingleSelectTableWidget(TableWidget):
def add_widget(self, kwargs, i, j):
widget_kwargs = {'options': kwargs.get('options')}
if kwargs.has_key('readonly') and kwargs.get('readonly'):
if kwargs.get('readonly'):
widget_kwargs['readonly'] = 'readonly'
return self.add(SingleSelectWidget, 'c-%s-%s' % (i, j), **widget_kwargs)
@ -1608,7 +1608,7 @@ class SingleSelectTableWidget(TableWidget):
class CheckboxesTableWidget(TableWidget):
def add_widget(self, kwargs, i, j):
widget_kwargs = {'options': kwargs.get('options')}
if kwargs.has_key('readonly') and kwargs.get('readonly'):
if kwargs.get('readonly'):
widget_kwargs['readonly'] = 'readonly'
return self.add(CheckboxWidget, 'c-%s-%s' % (i, j), **widget_kwargs)
@ -1715,7 +1715,7 @@ class TableListRowsWidget(WidgetListAsTable):
def __init__(self, name, value=None, columns=None, min_rows=5, **kwargs):
self.table_row_class = self.create_row_class(columns)
self.widget_kwargs = {}
if kwargs.has_key('readonly'):
if 'readonly' in kwargs:
del kwargs['readonly']
self.readonly = True
self.widget_kwargs['readonly'] = 'readonly'
@ -1791,19 +1791,19 @@ class RankedItemsWidget(CompositeWidget):
CompositeWidget.__init__(self, name, value, **kwargs)
self.element_names = {}
if kwargs.has_key('title'):
if 'title' in kwargs:
del kwargs['title']
if kwargs.has_key('readonly'):
if 'readonly' in kwargs:
if kwargs['readonly']:
self.readonly = True
del kwargs['readonly']
if kwargs.has_key('required'):
if 'required' in kwargs:
if kwargs['required']:
self.required = True
del kwargs['required']
self.randomize_items = False
if kwargs.has_key('randomize_items'):
if 'randomize_items' in kwargs:
if kwargs['randomize_items']:
self.randomize_items = True
del kwargs['randomize_items']

View File

@ -528,7 +528,7 @@ class AdminIDPDir(Directory):
if old_publickey_fn and os.path.exists(old_publickey_fn):
os.rename(misc.get_abs_path(old_publickey_fn), misc.get_abs_path(publickey_fn))
if not cfg_idp.has_key(key_provider_id):
if key_provider_id not in cfg_idp:
cfg_idp[key_provider_id] = {}
cfg_idp[key_provider_id]['role'] = role
@ -697,7 +697,7 @@ class AdminIDPUI(Directory):
if old_cacertchain_fn and os.path.exists(old_cacertchain_fn):
os.rename(misc.get_abs_path(old_cacertchain_fn), misc.get_abs_path(cacertchain_fn))
if not cfg_idp.has_key(key_provider_id):
if key_provider_id not in cfg_idp:
cfg_idp[key_provider_id] = {}
cfg_idp[key_provider_id]['metadata'] = metadata_fn
@ -714,9 +714,9 @@ class AdminIDPUI(Directory):
lp = cfg_idp[key_provider_id]
publickey_fn = None
cacertchain_fn = None
if lp.has_key('publickey') and os.path.exists(misc.get_abs_path(lp['publickey'])):
if 'publickey' in lp and os.path.exists(misc.get_abs_path(lp['publickey'])):
publickey_fn = misc.get_abs_path(lp['publickey'])
if lp.has_key('cacertchain') and os.path.exists(misc.get_abs_path(lp['cacertchain'])):
if 'cacertchain' in lp and os.path.exists(misc.get_abs_path(lp['cacertchain'])):
cacertchain_fn = misc.get_abs_path(lp['cacertchain'])
try:
p = lasso.Provider(lasso.PROVIDER_ROLE_IDP, misc.get_abs_path(lp['metadata']),
@ -937,7 +937,7 @@ class MethodAdminDirectory(Directory):
encryption_pem_key = get_key('encryption_publickey')
private_encryption_pem_key = get_key('encryption_privatekey')
saml2 = cfg_sp.has_key('saml2_providerid')
saml2 = bool('saml2_providerid' in cfg_sp)
new_common_domain_getter_url = cfg_sp.get('common_domain_getter_url')
if new_common_domain_getter_url != old_common_domain_getter_url:

View File

@ -294,7 +294,7 @@ class MethodDirectory(Directory):
def forgotten(self, include_mode = False):
if get_request().form.has_key('t'):
if 't' in get_request().form:
return self.forgotten_token()
identities_cfg = get_cfg('identities', {})
@ -1233,7 +1233,7 @@ class AccountDirectory(Directory):
if formdef:
data = self.account.user.form_data
for f in formdef.fields:
if not data.has_key(f.id):
if f.id not in data:
continue
value = data[f.id]
if value is None or value == '':

View File

@ -256,7 +256,7 @@ def get_decorate_vars(body, response, generate_breadcrumb=True, **kwargs):
for k, v in response.filter.items():
if v:
kwargs[k] = str(v)
if not kwargs.has_key('lang') and hasattr(get_request(), 'language'):
if 'lang' not in kwargs and hasattr(get_request(), 'language'):
response.filter['lang'] = get_request().language
if 'rel="popup"' in body or 'rel="popup"' in kwargs.get('sidebar', ''):

View File

@ -122,7 +122,7 @@ class SetBackofficeFieldsWorkflowStatusItem(WorkflowStatusItem):
formdata.data, formdef_field.id)
if display_value:
formdata.data['%s_display' % formdef_field.id] = display_value
elif formdata.data.has_key('%s_display' % formdef_field.id):
elif '%s_display' % formdef_field.id in formdata.data:
del formdata.data['%s_display' % formdef_field.id]
if formdef_field.store_structured_value and formdata.data.get(formdef_field.id):
structured_value = formdef_field.store_structured_value(

View File

@ -265,9 +265,9 @@ def workflows_with_timeout():
for item in status.items:
if hasattr(item, 'status') and hasattr(item, 'timeout') and (
item.status and item.timeout):
if not wfs_status.has_key(id):
if id not in wfs_status:
wfs_status[id] = {}
if not wfs_status[id].has_key(status_str):
if status_str not in wfs_status[id]:
wfs_status[id][status_str] = []
if not item.get_target_status():
# this will catch status being a removed status

View File

@ -192,7 +192,7 @@ class AttachmentEvolutionPart: #pylint: disable=C1001
def __getstate__(self):
odict = self.__dict__.copy()
if not odict.has_key('fp'):
if not 'fp' in odict:
return odict
del odict['fp']
@ -317,7 +317,7 @@ class Workflow(StorableObject):
def migrate(self):
changed = False
if not self.__dict__.has_key('roles') or self.roles is None:
if not 'roles' in self.__dict__ or self.roles is None:
self.roles = {'_receiver': _('Recipient')}
changed = True
@ -1613,7 +1613,7 @@ class WorkflowStatus(object):
def __getstate__(self):
odict = self.__dict__.copy()
if odict.has_key('parent'):
if 'parent' in odict:
del odict['parent']
return odict
@ -2017,7 +2017,7 @@ class WorkflowStatusItem(XmlSerialisable):
def __getstate__(self):
odict = self.__dict__.copy()
if odict.has_key('parent'):
if 'parent' in odict:
del odict['parent']
return odict