Fix lint.

This commit is contained in:
Florian Bruhin 2016-01-24 17:30:59 +01:00
parent 9eefb935c2
commit 7dca8d7329
2 changed files with 24 additions and 22 deletions

View File

@ -468,6 +468,28 @@ class IncDecError(Exception):
return '{}: {}'.format(self.msg, self.url.toString())
def _get_incdec_value(match, incdec, url):
"""Get a incremented/decremented URL based on a URL match."""
pre, zeroes, number, post = match.groups()
# This should always succeed because we match \d+
val = int(number)
if incdec == 'decrement':
if val <= 0:
raise IncDecError("Can't decrement {}!".format(val), url)
val -= 1
elif incdec == 'increment':
val += 1
else:
raise ValueError("Invalid value {} for indec!".format(incdec))
if zeroes:
if len(number) < len(str(val)):
zeroes = zeroes[1:]
elif len(number) > len(str(val)):
zeroes += '0'
return ''.join([pre, zeroes, str(val), post])
def incdec_number(url, incdec, segments=None):
"""Find a number in the url and increment or decrement it.
@ -513,26 +535,7 @@ def incdec_number(url, incdec, segments=None):
if not match:
continue
pre, zeroes, number, post = match.groups()
# This should always succeed because we match \d+
val = int(number)
if incdec == 'decrement':
if val <= 0:
raise IncDecError("Can't decrement {}!".format(val), url)
val -= 1
elif incdec == 'increment':
val += 1
else:
raise ValueError("Invalid value {} for indec!".format(incdec))
if zeroes:
if len(number) < len(str(val)):
zeroes = zeroes[1:]
elif len(number) > len(str(val)):
zeroes += '0'
new_value = ''.join([pre, zeroes, str(val), post])
setter(new_value)
setter(_get_incdec_value(match, incdec, url))
return url
raise IncDecError("No number found in URL!", url)

View File

@ -600,8 +600,7 @@ class TestIncDecNumber:
url = 'http://example.com/{}'
base_url = QUrl(url.format(number))
expected_url = QUrl(url.format(expected))
new_url = urlutils.incdec_number(
base_url, incdec, segments={'path'})
new_url = urlutils.incdec_number(base_url, incdec, segments={'path'})
assert new_url == expected_url
@pytest.mark.parametrize('url, segments, expected', [