Avoid instantiate set

issue10660
review342911003
This commit is contained in:
Cédric Krier committed 2021-09-02 23:56:13 +02:00
1 parent c2e2cdb148
commit 03e2a7f2dc
7 files changed
+18 -18

No files matched your search

+1 -1
View File
@@ -39,7 +39,7 @@ class Char(FieldTranslate):
if autocomplete:
warnings.warn('autocomplete argument is deprecated, use the '
'depends decorator', DeprecationWarning, stacklevel=2)
self.autocomplete |= set(autocomplete)
self.autocomplete.update(autocomplete)
self.translate = translate
self.__size = None
self.size = size
+8 -8
View File
@@ -38,7 +38,7 @@ def domain_validate(value):
and arg[1] in OPERATORS)
or (
isinstance(arg[1], PYSON)
and arg[1].types() == set([str]))))):
and arg[1].types() == {str})))):
pass
elif isinstance(arg, list):
if not test_domain(arg):
@@ -57,7 +57,7 @@ def states_validate(value):
assert isinstance(value[state], (bool, PYSON)), \
'values of states must be PYSON'
if hasattr(value[state], 'types'):
assert value[state].types() == set([bool]), \
assert value[state].types() == {bool}, \
'values of states must return boolean'
@@ -73,7 +73,7 @@ def size_validate(value):
if value is not None:
assert isinstance(value, (int, PYSON)), 'size must be PYSON'
if hasattr(value, 'types'):
assert value.types() == set([int]), \
assert value.types() == {int}, \
'size must return integer'
@@ -81,7 +81,7 @@ def search_order_validate(value):
if value is not None:
assert isinstance(value, (list, PYSON)), 'search_order must be PYSON'
if hasattr(value, 'types'):
assert value.types() == set([list]), 'search_order must be PYSON'
assert value.types() == {list}, 'search_order must be PYSON'
def _set_value(record, field):
@@ -108,12 +108,12 @@ def depends(*fields, **kwargs):
def decorator(func):
depends = getattr(func, 'depends', set())
depends |= set(fields)
depends.update(fields)
setattr(func, 'depends', depends)
if methods:
depend_methods = getattr(func, 'depend_methods', set())
depend_methods |= set(methods)
depend_methods.update(methods)
setattr(func, 'depend_methods', depend_methods)
@wraps(func)
@@ -267,13 +267,13 @@ class Field(object):
warnings.warn('on_change argument is deprecated, '
'use the depends decorator',
DeprecationWarning, stacklevel=3)
self.on_change |= set(on_change)
self.on_change.update(on_change)
self.on_change_with = set()
if on_change_with:
warnings.warn('on_change_with argument is deprecated, '
'use the depends decorator',
DeprecationWarning, stacklevel=3)
self.on_change_with |= set(on_change_with)
self.on_change_with.update(on_change_with)
self.__depends = None
self.depends = depends or []
self.__context = None
+1 -1
View File
@@ -13,7 +13,7 @@ def digits_validate(value):
assert isinstance(i, (int, PYSON)), \
'digits must be tuple of integers or PYSON'
if isinstance(i, PYSON):
assert i.types().issubset(set([int, int])), \
assert i.types() == {int}, \
'PYSON digits must return an integer'
+1 -1
View File
@@ -54,7 +54,7 @@ class Reference(SelectionMixin, Field):
warnings.warn('selection_change_with argument is deprecated, '
'use the depends decorator',
DeprecationWarning, stacklevel=2)
self.selection_change_with |= set(selection_change_with)
self.selection_change_with.update(selection_change_with)
self.sort = sort
self.translate_selection = translate
self.help_selection = help_selection
+1 -1
View File
@@ -103,7 +103,7 @@ class Selection(SelectionMixin, Field):
warnings.warn('selection_change_with argument is deprecated, '
'use the depends decorator',
DeprecationWarning, stacklevel=2)
self.selection_change_with |= set(selection_change_with)
self.selection_change_with.update(selection_change_with)
self.sort = sort
self.translate_selection = translate
self.help_selection = help_selection
+5 -5
View File
@@ -570,7 +570,7 @@ class ModelSQL(ModelStorage):
'write_uid', 'write_date', 'id'):
if key in values:
del values[key]
modified_fields |= set(values.keys())
modified_fields |= values.keys()
# Get default values
values_schema = tuple(sorted(values))
@@ -710,7 +710,7 @@ class ModelSQL(ModelStorage):
extra_fields.update(fields.get_eval_fields(field.context))
extra_fields.discard('id')
all_fields = (
set(fields_names) | set(fields_related.keys()) | extra_fields)
set(fields_names) | fields_related.keys() | extra_fields)
result = []
table = cls.__table__()
@@ -906,7 +906,7 @@ class ModelSQL(ModelStorage):
row[key] = None
to_del = set()
for fname in set(fields_related.keys()) | extra_fields:
for fname in fields_related.keys() | extra_fields:
if fname not in fields_names:
to_del.add(fname)
if fname not in cls._fields:
@@ -1029,12 +1029,12 @@ class ModelSQL(ModelStorage):
if hasattr(field, 'set'):
fields_to_set.setdefault(fname, []).extend((ids, value))
mptt_fields = cls._mptt_fields & set(values)
mptt_fields = cls._mptt_fields & values.keys()
if mptt_fields:
cls._update_mptt(
list(sorted(mptt_fields)), repeat(ids, len(mptt_fields)),
values)
all_field_names |= set(values)
all_field_names |= values.keys()
for fname in sorted(fields_to_set, key=cls.index_set_field):
fargs = fields_to_set[fname]
+1 -1
View File
@@ -166,7 +166,7 @@ class ModelStorage(Model):
ModelAccess.check(cls.__name__, 'create')
all_fields = list(set(chain(*(iter(v.keys()) for v in vlist))))
all_fields = list(set().union(*vlist))
ModelFieldAccess.check(cls.__name__, all_fields, 'write')
# Increase transaction counter