Improved code quality.

This commit is contained in:
Fabio Caccamo 2019-07-05 17:54:50 +02:00
parent c8b85dcc15
commit f9f6ee7962
11 changed files with 23 additions and 44 deletions

View File

@ -5,4 +5,3 @@ from benedict.metadata import (
__author__, __copyright__, __description__,
__license__, __title__, __version__,
)

View File

@ -69,4 +69,3 @@ class benedict(KeypathDict, ParseDict, UtilityDict):
@benediction
def setdefault(self, key, default=None):
return super(benedict, self).setdefault(key, default)

View File

@ -154,4 +154,3 @@ class KeypathDict(dict):
return default
else:
return self[key]

View File

@ -10,8 +10,8 @@ class ParseDict(dict):
def __init__(self, *args, **kwargs):
super(ParseDict, self).__init__(*args, **kwargs)
def _get_value(self, key, default=None, options=None,
parser_func=lambda val: val, parser_kwargs=None):
def _get_value(self, key, default, options,
parser_func, parser_kwargs=None):
"""
Get value by key or keypath core method.
If options and value is in options return value otherwise default.
@ -37,8 +37,8 @@ class ParseDict(dict):
else:
return value
def _get_values_list(self, key, default=None, separator=',',
parser_func=lambda val: val, parser_kwargs=None):
def _get_values_list(self, key, default, separator,
parser_func, parser_kwargs=None):
"""
Get value by key or keypath trying to return it as list of bool values.
If separator is specified and value is a string it will be splitted.
@ -215,4 +215,3 @@ class ParseDict(dict):
"""
return self._get_values_list(
key, default, separator, parse_util.parse_str)

View File

@ -53,4 +53,3 @@ class UtilityDict(dict):
if predicate(key, val):
d[key] = val
return d

View File

@ -6,7 +6,6 @@ from six import string_types
def join_keys(keys, separator):
return separator.join(keys)
def split_keys(key, separator):
if isinstance(key, string_types):
keypath = key
@ -22,4 +21,3 @@ def split_keys(key, separator):
return keys
else:
return [key]

View File

@ -25,7 +25,6 @@ def parse_bool(val):
val = False
return val
def parse_datetime(val, format=None):
if isinstance(val, datetime):
return val
@ -40,7 +39,6 @@ def parse_datetime(val, format=None):
pass
return val
def parse_decimal(val):
if isinstance(val, Decimal):
return val
@ -52,7 +50,6 @@ def parse_decimal(val):
pass
return val
def parse_dict(val):
if isinstance(val, dict):
return val
@ -75,7 +72,6 @@ def parse_dict(val):
# pass
return val
def parse_float(val):
if isinstance(val, float):
return val
@ -87,7 +83,6 @@ def parse_float(val):
pass
return val
def parse_email(val, check_blacklist=True):
val = parse_str(val)
if not val:
@ -101,7 +96,6 @@ def parse_email(val, check_blacklist=True):
return None
return val
def parse_int(val):
if isinstance(val, int):
return val
@ -113,7 +107,6 @@ def parse_int(val):
pass
return val
def parse_list(val, separator=None):
if isinstance(val, (list, tuple, )):
return list(val)
@ -130,7 +123,6 @@ def parse_list(val, separator=None):
val = list(str_val.split(separator))
return val
def parse_phonenumber(val, country_code=None):
val = parse_str(val)
if not val:
@ -159,11 +151,9 @@ def parse_phonenumber(val, country_code=None):
except phonenumberutil.NumberParseException:
return None
def parse_slug(val):
return slugify(parse_str(val))
def parse_str(val):
if (isinstance(val, string_types)):
try:
@ -175,4 +165,3 @@ def parse_str(val):
val = val.strip()
val = ' '.join(val.split())
return val

View File

@ -65,4 +65,3 @@ setup(
license=__license__,
test_suite='tests'
)

View File

@ -602,26 +602,26 @@ class KeypathDictTestCase(unittest.TestCase):
def test_setdefault_with_2_keys(self):
d = {
'a': {
'x': {
'a': None,
'b': 0,
'c': 1,
},
}
b = KeypathDict(d)
b.setdefault('a.a', 2)
b.setdefault('a.b', 2)
b.setdefault('a.c', 2)
b.setdefault('a.d', 2)
self.assertEqual(b['a.a'], None)
self.assertEqual(b['a.b'], 0)
self.assertEqual(b['a.c'], 1)
self.assertEqual(b['a.d'], 2)
b.setdefault('x.a', 2)
b.setdefault('x.b', 2)
b.setdefault('x.c', 2)
b.setdefault('x.d', 2)
self.assertEqual(b['x.a'], None)
self.assertEqual(b['x.b'], 0)
self.assertEqual(b['x.c'], 1)
self.assertEqual(b['x.d'], 2)
def test_setdefault_with_3_keys(self):
d = {
'a': {
'b': {
'y': {
'z': {
'a': None,
'b': 0,
'c': 1,
@ -629,14 +629,14 @@ class KeypathDictTestCase(unittest.TestCase):
},
}
b = KeypathDict(d)
b.setdefault('a.b.a', 2)
b.setdefault('a.b.b', 2)
b.setdefault('a.b.c', 2)
b.setdefault('a.b.d', 2)
self.assertEqual(b['a.b.a'], None)
self.assertEqual(b['a.b.b'], 0)
self.assertEqual(b['a.b.c'], 1)
self.assertEqual(b['a.b.d'], 2)
b.setdefault('y.z.a', 2)
b.setdefault('y.z.b', 2)
b.setdefault('y.z.c', 2)
b.setdefault('y.z.d', 2)
self.assertEqual(b['y.z.a'], None)
self.assertEqual(b['y.z.b'], 0)
self.assertEqual(b['y.z.c'], 1)
self.assertEqual(b['y.z.d'], 2)
def test_cast_existing_dict_with_keys_containing_dots_for_casting(self):
# TODO

View File

@ -471,4 +471,3 @@ class ParseDictTestCase(unittest.TestCase):
self.assertEqual(b.get_str('a', options=['Sunday', 'Saturday']), 'Sunday')
self.assertEqual(b.get_str('b', options=['Sunday', 'Saturday'], default='Saturday'), 'Saturday')
self.assertEqual(b.get_str('c', options=['Sunday', 'Saturday'], default='Saturday'), 'Saturday')

View File

@ -175,4 +175,3 @@ class UtilityDictTestCase(unittest.TestCase):
}
self.assertEqual(f, r)
self.assertFalse(b is f)