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
tox.ini
[tox]
envlist=black,flake8,mypy,py3

[testenv]
extras =
  testing
deps =
  pytest-cov
commands =
  pytest --cov={envsitepackagesdir}/swh/model \
         {envsitepackagesdir}/swh/model \
           --cov-branch {posargs}

[testenv:black]
skip_install = true
deps =
  black
commands =
  {envpython} -m black --check swh

[testenv:flake8]
skip_install = true
deps =
  flake8
commands =
  {envpython} -m flake8

[testenv:mypy]
extras =
  testing
deps =
  mypy
commands =
  mypy swh
back to top