fix: fix 'unnecessary-lambda' and 'unnecessary-lambda-assignment' for pylint
This commit is contained in:
parent
d265695cee
commit
601dec7777
8 changed files with 63 additions and 16 deletions
|
@ -36,5 +36,3 @@ disable=fixme,
|
||||||
ungrouped-imports,
|
ungrouped-imports,
|
||||||
unidiomatic-typecheck,
|
unidiomatic-typecheck,
|
||||||
unnecessary-comprehension,
|
unnecessary-comprehension,
|
||||||
unnecessary-lambda,
|
|
||||||
unnecessary-lambda-assignment,
|
|
||||||
|
|
|
@ -438,7 +438,9 @@ class RoleRefsWidget(WuttaCheckboxChoiceWidget):
|
||||||
kw["roles"] = roles
|
kw["roles"] = roles
|
||||||
|
|
||||||
# url
|
# url
|
||||||
url = lambda role: self.request.route_url("roles.view", uuid=role.uuid)
|
def url(role):
|
||||||
|
return self.request.route_url("roles.view", uuid=role.uuid)
|
||||||
|
|
||||||
kw["url"] = url
|
kw["url"] = url
|
||||||
|
|
||||||
# default logic from here
|
# default logic from here
|
||||||
|
|
|
@ -1058,13 +1058,27 @@ class Grid: # pylint: disable=too-many-instance-attributes
|
||||||
# TODO: may need this for String etc. as well?
|
# TODO: may need this for String etc. as well?
|
||||||
if isinstance(model_property.type, sa.Text):
|
if isinstance(model_property.type, sa.Text):
|
||||||
if foldcase:
|
if foldcase:
|
||||||
kfunc = lambda obj: (obj[key] or "").lower()
|
|
||||||
|
def kfunc_folded(obj):
|
||||||
|
return (obj[key] or "").lower()
|
||||||
|
|
||||||
|
kfunc = kfunc_folded
|
||||||
|
|
||||||
else:
|
else:
|
||||||
kfunc = lambda obj: obj[key] or ""
|
|
||||||
|
def kfunc_standard(obj):
|
||||||
|
return obj[key] or ""
|
||||||
|
|
||||||
|
kfunc = kfunc_standard
|
||||||
|
|
||||||
if not kfunc:
|
if not kfunc:
|
||||||
# nb. sorting with this can raise error if data
|
# nb. sorting with this can raise error if data
|
||||||
# contains varying types, e.g. str and None
|
# contains varying types, e.g. str and None
|
||||||
kfunc = lambda obj: obj[key]
|
|
||||||
|
def kfunc_fallback(obj):
|
||||||
|
return obj[key]
|
||||||
|
|
||||||
|
kfunc = kfunc_fallback
|
||||||
|
|
||||||
# then sort the data and return
|
# then sort the data and return
|
||||||
return sorted(data, key=kfunc, reverse=direction == "desc")
|
return sorted(data, key=kfunc, reverse=direction == "desc")
|
||||||
|
@ -1738,7 +1752,7 @@ class Grid: # pylint: disable=too-many-instance-attributes
|
||||||
raise ValueError(f"invalid dest identifier: {dest}")
|
raise ValueError(f"invalid dest identifier: {dest}")
|
||||||
|
|
||||||
# func to save a setting value to user session
|
# func to save a setting value to user session
|
||||||
def persist(key, value=lambda k: settings.get(k)):
|
def persist(key, value=settings.get):
|
||||||
assert dest == "session"
|
assert dest == "session"
|
||||||
skey = f"grid.{self.key}.{key}"
|
skey = f"grid.{self.key}.{key}"
|
||||||
self.request.session[skey] = value(key)
|
self.request.session[skey] = value(key)
|
||||||
|
|
|
@ -42,7 +42,9 @@ That will in turn include the following modules:
|
||||||
|
|
||||||
|
|
||||||
def defaults(config, **kwargs):
|
def defaults(config, **kwargs):
|
||||||
mod = lambda spec: kwargs.get(spec, spec)
|
|
||||||
|
def mod(spec):
|
||||||
|
return kwargs.get(spec, spec)
|
||||||
|
|
||||||
config.include(mod("wuttaweb.views.common"))
|
config.include(mod("wuttaweb.views.common"))
|
||||||
config.include(mod("wuttaweb.views.auth"))
|
config.include(mod("wuttaweb.views.auth"))
|
||||||
|
|
|
@ -119,13 +119,19 @@ class PersonView(MasterView):
|
||||||
)
|
)
|
||||||
|
|
||||||
if self.request.has_perm("users.view"):
|
if self.request.has_perm("users.view"):
|
||||||
url = lambda user, i: self.request.route_url("users.view", uuid=user.uuid)
|
|
||||||
grid.add_action("view", icon="eye", url=url)
|
def view_url(user, i): # pylint: disable=unused-argument
|
||||||
|
return self.request.route_url("users.view", uuid=user.uuid)
|
||||||
|
|
||||||
|
grid.add_action("view", icon="eye", url=view_url)
|
||||||
grid.set_link("username")
|
grid.set_link("username")
|
||||||
|
|
||||||
if self.request.has_perm("users.edit"):
|
if self.request.has_perm("users.edit"):
|
||||||
url = lambda user, i: self.request.route_url("users.edit", uuid=user.uuid)
|
|
||||||
grid.add_action("edit", url=url)
|
def edit_url(user, i): # pylint: disable=unused-argument
|
||||||
|
return self.request.route_url("users.edit", uuid=user.uuid)
|
||||||
|
|
||||||
|
grid.add_action("edit", url=edit_url)
|
||||||
|
|
||||||
return grid
|
return grid
|
||||||
|
|
||||||
|
|
|
@ -160,14 +160,20 @@ class RoleView(MasterView):
|
||||||
)
|
)
|
||||||
|
|
||||||
if self.request.has_perm("users.view"):
|
if self.request.has_perm("users.view"):
|
||||||
url = lambda user, i: self.request.route_url("users.view", uuid=user.uuid)
|
|
||||||
grid.add_action("view", icon="eye", url=url)
|
def view_url(user, i): # pylint: disable=unused-argument
|
||||||
|
return self.request.route_url("users.view", uuid=user.uuid)
|
||||||
|
|
||||||
|
grid.add_action("view", icon="eye", url=view_url)
|
||||||
grid.set_link("person")
|
grid.set_link("person")
|
||||||
grid.set_link("username")
|
grid.set_link("username")
|
||||||
|
|
||||||
if self.request.has_perm("users.edit"):
|
if self.request.has_perm("users.edit"):
|
||||||
url = lambda user, i: self.request.route_url("users.edit", uuid=user.uuid)
|
|
||||||
grid.add_action("edit", url=url)
|
def edit_url(user, i): # pylint: disable=unused-argument
|
||||||
|
return self.request.route_url("users.edit", uuid=user.uuid)
|
||||||
|
|
||||||
|
grid.add_action("edit", url=edit_url)
|
||||||
|
|
||||||
return grid
|
return grid
|
||||||
|
|
||||||
|
|
|
@ -54,9 +54,15 @@ class TestPersonView(WebTestCase):
|
||||||
self.assertIsInstance(form.widgets["users"], GridWidget)
|
self.assertIsInstance(form.widgets["users"], GridWidget)
|
||||||
|
|
||||||
def test_make_users_grid(self):
|
def test_make_users_grid(self):
|
||||||
|
self.pyramid_config.add_route("users.view", "/users/{uuid}/view")
|
||||||
|
self.pyramid_config.add_route("users.edit", "/users/{uuid}/edit")
|
||||||
model = self.app.model
|
model = self.app.model
|
||||||
view = self.make_view()
|
view = self.make_view()
|
||||||
person = model.Person(full_name="John Doe")
|
person = model.Person(full_name="John Doe")
|
||||||
|
self.session.add(person)
|
||||||
|
user = model.User(username="john", person=person)
|
||||||
|
self.session.add(user)
|
||||||
|
self.session.commit()
|
||||||
|
|
||||||
# basic
|
# basic
|
||||||
grid = view.make_users_grid(person)
|
grid = view.make_users_grid(person)
|
||||||
|
@ -73,6 +79,9 @@ class TestPersonView(WebTestCase):
|
||||||
self.assertEqual(grid.actions[0].key, "view")
|
self.assertEqual(grid.actions[0].key, "view")
|
||||||
self.assertEqual(grid.actions[1].key, "edit")
|
self.assertEqual(grid.actions[1].key, "edit")
|
||||||
|
|
||||||
|
# render grid to ensure coverage for link urls
|
||||||
|
grid.render_vue_template()
|
||||||
|
|
||||||
def test_objectify(self):
|
def test_objectify(self):
|
||||||
model = self.app.model
|
model = self.app.model
|
||||||
view = self.make_view()
|
view = self.make_view()
|
||||||
|
|
|
@ -95,9 +95,16 @@ class TestRoleView(WebTestCase):
|
||||||
self.assertIsNotNone(form.validators["name"])
|
self.assertIsNotNone(form.validators["name"])
|
||||||
|
|
||||||
def test_make_users_grid(self):
|
def test_make_users_grid(self):
|
||||||
|
self.pyramid_config.add_route("users.view", "/users/{uuid}/view")
|
||||||
|
self.pyramid_config.add_route("users.edit", "/users/{uuid}/edit")
|
||||||
model = self.app.model
|
model = self.app.model
|
||||||
view = self.make_view()
|
view = self.make_view()
|
||||||
role = model.Role(name="Manager")
|
role = model.Role(name="Manager")
|
||||||
|
self.session.add(role)
|
||||||
|
user = model.User(username="freddie")
|
||||||
|
user.roles.append(role)
|
||||||
|
self.session.add(user)
|
||||||
|
self.session.commit()
|
||||||
|
|
||||||
# basic
|
# basic
|
||||||
grid = view.make_users_grid(role)
|
grid = view.make_users_grid(role)
|
||||||
|
@ -115,6 +122,9 @@ class TestRoleView(WebTestCase):
|
||||||
self.assertEqual(grid.actions[0].key, "view")
|
self.assertEqual(grid.actions[0].key, "view")
|
||||||
self.assertEqual(grid.actions[1].key, "edit")
|
self.assertEqual(grid.actions[1].key, "edit")
|
||||||
|
|
||||||
|
# render grid to ensure coverage for link urls
|
||||||
|
grid.render_vue_template()
|
||||||
|
|
||||||
def test_unique_name(self):
|
def test_unique_name(self):
|
||||||
model = self.app.model
|
model = self.app.model
|
||||||
view = self.make_view()
|
view = self.make_view()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue