diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..de9b747
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,13 @@
+[flake8]
+doctests = yes
+ignore = E123,E133,E226,E241,E242,E501,W391,E261,E128
+# http://pep8.readthedocs.org/en/latest/intro.html#error-codes
+# E123: closing bracket does not match indentation of opening bracket’s line
+# E133: closing bracket does not match visual indentation
+# E226: missing whitespace around arithmetic operator
+# E241: multiple spaces after ‘,’
+# E242: tab after ‘,’
+# E501: line too long
+# W391 blank line at end of file
+# E261: at least two spaces before inline comment
+# E128: continuation line under-indented for visual indent
diff --git a/src/zodbbrowser/browser.py b/src/zodbbrowser/browser.py
index c99ee5e..cd00cf6 100644
--- a/src/zodbbrowser/browser.py
+++ b/src/zodbbrowser/browser.py
@@ -143,7 +143,7 @@ def render(self):
if self.request.get('confirmed') == '1':
self.history.rollback(rtid)
transaction.get().note('Rollback to old state %s'
- % self.requestedState)
+ % self.requestedState)
self.made_changes = True
self._redirectToSelf()
return ''
diff --git a/src/zodbbrowser/diff.py b/src/zodbbrowser/diff.py
index c013ae0..da2fd52 100644
--- a/src/zodbbrowser/diff.py
+++ b/src/zodbbrowser/diff.py
@@ -99,7 +99,7 @@ def compareDictsHTML(new, old, tid=None, indent=''):
html.append(indent + ' %s: '
% IValueRenderer(key).render(tid))
if (action == CHANGED and isinstance(oldvalue, dict) and
- isinstance(newvalue, dict)):
+ isinstance(newvalue, dict)):
html.append('dictionary changed:\n')
html.append(compareDictsHTML(newvalue, oldvalue, tid,
indent=indent + ' '))
diff --git a/src/zodbbrowser/tests/test_browser.py b/src/zodbbrowser/tests/test_browser.py
index 461d658..0d6b9b3 100644
--- a/src/zodbbrowser/tests/test_browser.py
+++ b/src/zodbbrowser/tests/test_browser.py
@@ -94,7 +94,7 @@ def test_inequality(self):
def test_not_equals(self):
self.assertFalse(self.attribute !=
- ZodbObjectAttribute('foo', 42L, 't565'))
+ ZodbObjectAttribute('foo', 42L, 't565'))
self.assertTrue(self.attribute != object())
diff --git a/src/zodbbrowser/value.py b/src/zodbbrowser/value.py
index 5e088a6..991d973 100644
--- a/src/zodbbrowser/value.py
+++ b/src/zodbbrowser/value.py
@@ -204,7 +204,7 @@ def render(self, tid=None, can_link=True, threshold=100):
html.append(IValueRenderer(key).render(tid, can_link) + ': ' +
IValueRenderer(value).render(tid, can_link))
if (sum(map(len, html)) < threshold and
- '' not in ''.join(html)):
+ '' not in ''.join(html)):
return '{%s}' % ', '.join(html)
else:
return join_with_commas(html, '{', '}')