- ensure command line args are unicode(py2)/str(py3)
- use io.open to open file with utf8 encoding
- set newlines="" in open commands, csv module takes care of line endings
- add tests for import command
argparse - remove, now part of Pythons stdlib in Python 2.7 and 3.4+
backports.csv - only required for Python 2
ipaddress - only required for Python < 3.3
Current Debian stable ships with uWSGI 2.0.14 while the current upstream version to the date is only 2.0.17. The original warning no longer applies, there's no need to scare off Debian or Ubuntu users.
- B007 Loop control variable not used within the loop body. If this is intended, start the name with an underscore.
* modoboa/admin/lib.py
* modoboa/admin/templatetags/admin_tags.py
* modoboa/admin/tests/test_account.py
* modoboa/admin/views/domain.py
* modoboa/admin/views/identity.py
* modoboa/core/views/dashboard.py
* modoboa/limits/forms.py
* modoboa/limits/handlers.py
* modoboa/limits/tests/test_api.py
* modoboa/limits/tests/test_domain_limits.py
* modoboa/limits/tests/test_import.py
* modoboa/limits/tests/test_user_limits.py
* modoboa/limits/utils.py
* modoboa/parameters/tools.py
* modoboa/relaydomains/tests.py
- C402 Unnecessary generator - rewrite as a dict comprehension.
* modoboa/admin/models/domain.py
* modoboa/admin/views/domain.py
* modoboa/admin/views/identity.py
* modoboa/limits/searializers.py
- C407 Unnecessary list comprehension - can take a generator.
* modoboa/core/password_validation.py
* modoboa/parameters/tools.py
* modoboa/transport/backends.py
- C408 Unnecessary dict call - rewrite as a literal.
* modoboa/admin/tests/test_account.py
* modoboa/admin/tests/test_alias.py
* modoboa/admin/tests/test_password_schemes.py
* modoboa/admin/views/domain.py
* modoboa/admin/views/identity.py
* modoboa/core/extensions.py
* modoboa/lib/middleware.py
* modoboa/lib/templatetags/form_tags.py
* modoboa/lib/templatetags/lib_tags.py
* modoboa/lib/web_utils.py
* modoboa/limits/handlers.py
* modoboa/limits/tests/test_user_limits.py
- E741 ambiguous variable name
* modoboa/core/management/commands/cleanlogs.py
* modoboa/limits/forms.py
* modoboa/limits/tests/test_user_limits.py
* modoboa/limits/utils.py
* modoboa/relaydomains/tests.py
- F401 imported but unused
* doc/conf.py
* modoboa/admin/views/domain.py
* modoboa/core/app_settings.py
* modoboa/core/management/commands/load_initial_data.py
- F821 undefined name 'raw_input'
* modoboa/core/commands/deploy.py
- F841 local variable 'test' is assigned to but never used
* modoboa/core/app_settings.py
- N802 function name 'setUpTestData' should be lowercase xxx
* modoboa/lib/email_utils.py - __ for name mangeling, _ for internal
- N805 first argument of a method should be named 'self'
* modoboa/lib/connections.py
* modoboa/lib/singleton.py
Ignore the following
- A001 "copyright" is a python builtin and is being shadowed, consider renaming the variable
* doc/conf.py
- A003 is a python builtin, consider renaming the class attribute
* modoboa/admin/factories.py
* modoboa/admin/forms/domain.py
* modoboa/admin/management/commands/handle_mailbox_operations.py
* modoboa/admin/management/commands/modo.py
* modoboa/admin/management/commands/subcommands/_repair.py
* modoboa/admin/models/domain.py
* modoboa/admin/models/mailbox.py
* modoboa/core/commands/__init__.py
* modoboa/core/commands/deploy.py
* modoboa/core/commands/help.py
* modoboa/core/management/commands/clean_inactive_accounts.py
* modoboa/core/management/commands/cleanlogs.py
* modoboa/core/management/commands/communicate_with_public_api.py
* modoboa/core/management/commands/generate_postfix_maps.py
* modoboa/core/management/commands/load_initial_data.py
* modoboa/core/management/commands/set_default_site.py
- F401 imported but unused
* modoboa/admin/apps.py - used to load handlers
* modoboa/core/password_hashers/__init__.py - dynamically loaded
* modoboa/limits/apps.py - used to load handlers
* modoboa/relaydomains/apps.py - used to load handlers
* modoboa/transport/apps.py - used to load handlers
- N802 function name should be lowercase xxx
* modoboa/admin/tests/test_account.py
* modoboa/admin/tests/test_alias.py
* modoboa/admin/tests/test_domain_alias.py
* modoboa/admin/tests/test_export.py
* modoboa/admin/tests/test_mailbox_operations.py
* modoboa/admin/tests/test_password_schemas.py
* modoboa/admin/tests/test_repair.py
* modoboa/core/tests/test_authentication.py
* modoboa/core/tests/test_core.py
* modoboa/core/tests/test_ldap.py
* modoboa/core/tests/test_views.py
* modoboa/lib/imap_utf7.py
* modoboa/limits/tests/test_api.py
* modoboa/limits/tests/test_domain_limits.py
* modoboa/limits/tests/test_import.py
* modoboa/limits/tests/test_user_limits.py
* modoboa/relaydomains/tests.py
other fixes:
- use isinstance() instead of type() == Class
This ensures all files use " for quotes with the exception of
migrations, as this are auto generated I've not modified them.
pip install unify
unify --in-place --recursive --quote \" .