Metadata-Version: 1.1
Name: django-linter
Version: 0.7
Summary: Linter for django projects
Home-page: https://github.com/geerk/django_linter
Author: Timofey Trukhanov
Author-email: timofey.trukhanov@gmail.com
License: MIT
Description-Content-Type: UNKNOWN
Description: Django linter
        =============
        
        .. image:: https://travis-ci.org/geerk/django_linter.svg?branch=master
            :target: https://travis-ci.org/geerk/django_linter
        
        This is a simple extension for pylint that aims to check some common mistakes in django projects.
        
        Contributions are welcome.
        
        Installation
        ------------
        
        ::
        
            pip install django_linter
        
        Usage
        -----
        
        It can be used as a plugin or standalone script. To use it as a plugin it should be installed first, then run with pylint:
        
        ::
        
            pylint --load-plugins=django_linter TARGET
        
        To use it as a standalone script:
        
        
        ::
        
            usage: django-linter [-h] TARGET [TARGET ...]
        
            Simple extension for pylint to check django projects for common mistakes.
        
            positional arguments:
              TARGET      python package or module
        
            optional arguments:
              -h, --help  show this help message and exit
        
        Implemented checks
        ------------------
        
        **Settings:**
        
        - E5221 (required-setting-missed): Used when required setting missed in settings file.
        - E5222 (empty-setting): Used when setting is empty value.
        - W5221 (improper-settings-import): Used when settings is not imported from django.conf
        
        **Models:**
        
        - W5241 (nullable-text-field): Used when text field has null=True.
        - W5242 (float-money-field): Used when money related field uses FloatField.
        - W5243 (naive-datetime-used): Used when there is datetime.now is used.
        - W5244 (related-field-named-with-id): Used when related field is named with _id suffix
        - W5245 (unicode-method-absent): Used when model has no unicode method.
        - W5246 (unicode-method-return): Used when unicode method does not return unicode.
        - W5247 (model-field-redefinition): Used when there are more than one model field with the same name.
        - W5248 (get-absolute-url-without-reverse): Used when get_absolute_url method is defined without using reverse function.
        
        **Forms:**
        
        - W5211 (form-field-redefinition): Used when there are more than one form field with the same name.
        
        **Views:**
        
        - W5231 (is-authenticated-not-called): Used when is_authenticated method is not called
        - W5232 (objects-get-without-doesnotexist): Used when Model.objects.get is used without enclosing it in try-except block to catch DoesNotExist exception.
        - W5233 (fetching-db-objects-len): Used when there is db query that fetches objects from database only to check the number of returned objects.
        - W5234 (raw-get-post-access): Used when request.GET or request.POST dicts is accessed directly, it is better to use forms.
        
        **Layout:**
        
        - W5201 (forms-layout): Used when form class definition is not in forms module.
        - W5202 (admin-layout): Used when admin class definition is not in admin module.
        
        **Misc:**
        
        - W5251 (print-used): Used when there is print statement or function
        
        Implemented suppressers
        -----------------------
        
        - "Meta" classes
        - urlpatterns
        - logger
        
        Implemented transformers
        ------------------------
        
        **Models**
        
        - "id" field
        - "objects" manager
        - "DoesNotExist" exception
        - "MultipleObjectsReturned" exception
        
        **Testing**
        
        - test responses (django and DRF)
        
        **Factories**
        
        - factory-boy's factories  (factory should return django model, but not always possible to infer model class)
        
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Django :: 1.8
Classifier: Framework :: Django :: 1.9
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Operating System :: OS Independent
