Revision e632abed41c5cd71507c4222e1e85987556b232c authored by David Douard on 13 May 2020, 15:03:01 UTC, committed by David Douard on 24 June 2020, 15:39:02 UTC
this aims at preventing constant usage of isinstance() based dispatch
code when writing generic code handling model entities.

For example, the "object_type" argument of JournalWriter.write_addition() has
become superflous now we only pass model entities, etc.

This idea comes olasd's reading of mypy doc:

  https://mypy.readthedocs.io/en/latest/literal_types.html#tagged-unions

This comes with a refactoring of from_dict.DiskBackedContent to make
it *not* inherit from model.Content: object_type being Final, it cannot
be overloaded.
1 parent 661b7c2
Raw File
.pre-commit-config.yaml
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
  rev: v2.4.0
  hooks:
  - id: trailing-whitespace
  - id: flake8
  - id: check-json
  - id: check-yaml

- repo: https://github.com/codespell-project/codespell
  rev: v1.16.0
  hooks:
  - id: codespell

- repo: local
  hooks:
  - id: mypy
    name: mypy
    entry: mypy
    args: [swh]
    pass_filenames: false
    language: system
    types: [python]

- repo: https://github.com/python/black
  rev: 19.10b0
  hooks:
  - id: black

# unfortunately, we are far from being able to enable this...
# - repo: https://github.com/PyCQA/pydocstyle.git
#   rev: 4.0.0
#   hooks:
#   - id: pydocstyle
#     name: pydocstyle
#     description: pydocstyle is a static analysis tool for checking compliance with Python docstring conventions.
#     entry: pydocstyle --convention=google
#     language: python
#     types: [python]

back to top