summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/mysql/enumerated.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2019-01-06 01:14:26 -0500
committermike bayer <mike_mp@zzzcomputing.com>2019-01-06 17:34:50 +0000
commit1e1a38e7801f410f244e4bbb44ec795ae152e04e (patch)
tree28e725c5c8188bd0cfd133d1e268dbca9b524978 /lib/sqlalchemy/dialects/mysql/enumerated.py
parent404e69426b05a82d905cbb3ad33adafccddb00dd (diff)
downloadsqlalchemy-1e1a38e7801f410f244e4bbb44ec795ae152e04e.tar.gz
Run black -l 79 against all source files
This is a straight reformat run using black as is, with no edits applied at all. The black run will format code consistently, however in some cases that are prevalent in SQLAlchemy code it produces too-long lines. The too-long lines will be resolved in the following commit that will resolve all remaining flake8 issues including shadowed builtins, long lines, import order, unused imports, duplicate imports, and docstring issues. Change-Id: I7eda77fed3d8e73df84b3651fd6cfcfe858d4dc9
Diffstat (limited to 'lib/sqlalchemy/dialects/mysql/enumerated.py')
-rw-r--r--lib/sqlalchemy/dialects/mysql/enumerated.py71
1 files changed, 36 insertions, 35 deletions
diff --git a/lib/sqlalchemy/dialects/mysql/enumerated.py b/lib/sqlalchemy/dialects/mysql/enumerated.py
index f63d64e8f..9586eff3f 100644
--- a/lib/sqlalchemy/dialects/mysql/enumerated.py
+++ b/lib/sqlalchemy/dialects/mysql/enumerated.py
@@ -14,29 +14,30 @@ from ...sql import sqltypes
class _EnumeratedValues(_StringType):
def _init_values(self, values, kw):
- self.quoting = kw.pop('quoting', 'auto')
+ self.quoting = kw.pop("quoting", "auto")
- if self.quoting == 'auto' and len(values):
+ if self.quoting == "auto" and len(values):
# What quoting character are we using?
q = None
for e in values:
if len(e) == 0:
- self.quoting = 'unquoted'
+ self.quoting = "unquoted"
break
elif q is None:
q = e[0]
if len(e) == 1 or e[0] != q or e[-1] != q:
- self.quoting = 'unquoted'
+ self.quoting = "unquoted"
break
else:
- self.quoting = 'quoted'
+ self.quoting = "quoted"
- if self.quoting == 'quoted':
+ if self.quoting == "quoted":
util.warn_deprecated(
- 'Manually quoting %s value literals is deprecated. Supply '
- 'unquoted values and use the quoting= option in cases of '
- 'ambiguity.' % self.__class__.__name__)
+ "Manually quoting %s value literals is deprecated. Supply "
+ "unquoted values and use the quoting= option in cases of "
+ "ambiguity." % self.__class__.__name__
+ )
values = self._strip_values(values)
@@ -58,7 +59,7 @@ class _EnumeratedValues(_StringType):
class ENUM(sqltypes.NativeForEmulated, sqltypes.Enum, _EnumeratedValues):
"""MySQL ENUM type."""
- __visit_name__ = 'ENUM'
+ __visit_name__ = "ENUM"
native_enum = True
@@ -115,7 +116,7 @@ class ENUM(sqltypes.NativeForEmulated, sqltypes.Enum, _EnumeratedValues):
"""
- kw.pop('strict', None)
+ kw.pop("strict", None)
self._enum_init(enums, kw)
_StringType.__init__(self, length=self.length, **kw)
@@ -145,13 +146,14 @@ class ENUM(sqltypes.NativeForEmulated, sqltypes.Enum, _EnumeratedValues):
def __repr__(self):
return util.generic_repr(
- self, to_inspect=[ENUM, _StringType, sqltypes.Enum])
+ self, to_inspect=[ENUM, _StringType, sqltypes.Enum]
+ )
class SET(_EnumeratedValues):
"""MySQL SET type."""
- __visit_name__ = 'SET'
+ __visit_name__ = "SET"
def __init__(self, *values, **kw):
"""Construct a SET.
@@ -216,45 +218,43 @@ class SET(_EnumeratedValues):
"""
- self.retrieve_as_bitwise = kw.pop('retrieve_as_bitwise', False)
+ self.retrieve_as_bitwise = kw.pop("retrieve_as_bitwise", False)
values, length = self._init_values(values, kw)
self.values = tuple(values)
- if not self.retrieve_as_bitwise and '' in values:
+ if not self.retrieve_as_bitwise and "" in values:
raise exc.ArgumentError(
"Can't use the blank value '' in a SET without "
- "setting retrieve_as_bitwise=True")
+ "setting retrieve_as_bitwise=True"
+ )
if self.retrieve_as_bitwise:
self._bitmap = dict(
- (value, 2 ** idx)
- for idx, value in enumerate(self.values)
+ (value, 2 ** idx) for idx, value in enumerate(self.values)
)
self._bitmap.update(
- (2 ** idx, value)
- for idx, value in enumerate(self.values)
+ (2 ** idx, value) for idx, value in enumerate(self.values)
)
- kw.setdefault('length', length)
+ kw.setdefault("length", length)
super(SET, self).__init__(**kw)
def column_expression(self, colexpr):
if self.retrieve_as_bitwise:
return sql.type_coerce(
- sql.type_coerce(colexpr, sqltypes.Integer) + 0,
- self
+ sql.type_coerce(colexpr, sqltypes.Integer) + 0, self
)
else:
return colexpr
def result_processor(self, dialect, coltype):
if self.retrieve_as_bitwise:
+
def process(value):
if value is not None:
value = int(value)
- return set(
- util.map_bits(self._bitmap.__getitem__, value)
- )
+ return set(util.map_bits(self._bitmap.__getitem__, value))
else:
return None
+
else:
super_convert = super(SET, self).result_processor(dialect, coltype)
@@ -263,18 +263,20 @@ class SET(_EnumeratedValues):
# MySQLdb returns a string, let's parse
if super_convert:
value = super_convert(value)
- return set(re.findall(r'[^,]+', value))
+ return set(re.findall(r"[^,]+", value))
else:
# mysql-connector-python does a naive
# split(",") which throws in an empty string
if value is not None:
- value.discard('')
+ value.discard("")
return value
+
return process
def bind_processor(self, dialect):
super_convert = super(SET, self).bind_processor(dialect)
if self.retrieve_as_bitwise:
+
def process(value):
if value is None:
return None
@@ -288,24 +290,23 @@ class SET(_EnumeratedValues):
for v in value:
int_value |= self._bitmap[v]
return int_value
+
else:
def process(value):
# accept strings and int (actually bitflag) values directly
if value is not None and not isinstance(
- value, util.int_types + util.string_types):
+ value, util.int_types + util.string_types
+ ):
value = ",".join(value)
if super_convert:
return super_convert(value)
else:
return value
+
return process
def adapt(self, impltype, **kw):
- kw['retrieve_as_bitwise'] = self.retrieve_as_bitwise
- return util.constructor_copy(
- self, impltype,
- *self.values,
- **kw
- )
+ kw["retrieve_as_bitwise"] = self.retrieve_as_bitwise
+ return util.constructor_copy(self, impltype, *self.values, **kw)