Refactor example modules in Python3-ish way

This commit is contained in:
Roman Mogylatov 2020-01-26 18:41:36 -05:00
parent 06ff4bbbe4
commit cf44e5815d
34 changed files with 58 additions and 55 deletions

View File

@ -14,7 +14,10 @@ Development version
- Add support of six 1.14.0.
- Add support of six 1.13.0.
- Regenerate C sources using Cython 0.29.14.
- Fix PEP257 doc block errors in example modules.
- Remove Python 2-ish inheritance from ``object`` in example modules.
- Replace Python 2-ish ``super(class, self).__init__()`` calls with Python 3-ish
``super().__init__()`` in example modules.
- Fix doc block errors in example modules, including related to PEP257-compliance.
- Clean up tox.ini file.
3.14.12

View File

@ -1,11 +1,11 @@
"""The Code."""
class Service(object):
class Service:
"""Some "Service"."""
class Client(object):
class Client:
"""Some "Client" that uses "Service"."""
def __init__(self):

View File

@ -1,11 +1,11 @@
"""The Code, that demonstrates dependency injection pattern."""
class Service(object):
class Service:
"""Some "Service"."""
class Client(object):
class Client:
"""Some "Client" that uses "Service"."""
def __init__(self, service): # Service instance is injected into Client

View File

@ -1,7 +1,7 @@
"""TBD."""
"""API client module."""
class ApiClient(object):
class ApiClient:
"""Some API client."""
def __init__(self, host, api_key):

View File

@ -1,4 +1,4 @@
"""TBD."""
"""Main module."""
from dependency_injector import providers

View File

@ -1,7 +1,7 @@
"""TBD."""
"""Models module."""
class User(object):
class User:
"""User model."""
def __init__(self, id, api_client):

View File

@ -1,6 +1,6 @@
"""TBD."""
"""Tests module."""
from mock import Mock
from unittest.mock import Mock
import main
import api

View File

@ -1,5 +1,5 @@
"""Photos bundle entities module."""
class Photo(object):
class Photo:
"""Photo entity."""

View File

@ -1,7 +1,7 @@
"""Photos bundle entity repositories module."""
class PhotoRepository(object):
class PhotoRepository:
"""Photo entity repository."""
def __init__(self, object_factory, fs, db):

View File

@ -1,7 +1,7 @@
"""Users bundle entities module."""
class User(object):
class User:
"""User entity."""
def __init__(self, id):

View File

@ -1,7 +1,7 @@
"""Users bundle entity repositories module."""
class UserRepository(object):
class UserRepository:
"""User entity repository."""
def __init__(self, object_factory, db):

View File

@ -1,7 +1,7 @@
"""Dependency injection example, cars module."""
class Car(object):
class Car:
"""Example car."""
def __init__(self, engine):

View File

@ -1,7 +1,7 @@
"""Dependency injection example, engines module."""
class Engine(object):
class Engine:
"""Example engine base class.
Engine is a heart of every car. Engine is a very common term and could be
@ -17,5 +17,5 @@ class DieselEngine(Engine):
"""Diesel engine."""
class ElectroEngine(Engine):
"""Electro engine."""
class ElectricEngine(Engine):
"""Electric engine."""

View File

@ -7,4 +7,4 @@ import example.engines
if __name__ == '__main__':
gasoline_car = example.cars.Car(example.engines.GasolineEngine())
diesel_car = example.cars.Car(example.engines.DieselEngine())
electro_car = example.cars.Car(example.engines.ElectroEngine())
electric_car = example.cars.Car(example.engines.ElectricEngine())

View File

@ -14,7 +14,7 @@ class Engines(containers.DeclarativeContainer):
diesel = providers.Factory(example.engines.DieselEngine)
electro = providers.Factory(example.engines.ElectroEngine)
electric = providers.Factory(example.engines.ElectricEngine)
class Cars(containers.DeclarativeContainer):
@ -26,11 +26,11 @@ class Cars(containers.DeclarativeContainer):
diesel = providers.Factory(example.cars.Car,
engine=Engines.diesel)
electro = providers.Factory(example.cars.Car,
engine=Engines.electro)
electric = providers.Factory(example.cars.Car,
engine=Engines.electric)
if __name__ == '__main__':
gasoline_car = Cars.gasoline()
diesel_car = Cars.diesel()
electro_car = Cars.electro()
electric_car = Cars.electric()

View File

@ -1,7 +1,7 @@
"""Mail service and user registration example."""
class AbstractMailService(object):
class AbstractMailService:
"""Abstract mail service."""
def send(self, email, body):

View File

@ -6,11 +6,11 @@ This module contains all finder implementations.
import csv
class MovieFinder(object):
class MovieFinder:
"""Movie finder component.
Movie finder component is responsible for fetching movies data from
different storages.
various storage.
"""
def __init__(self, movie_model):
@ -47,7 +47,7 @@ class CsvMovieFinder(MovieFinder):
"""
self._csv_file_path = csv_file_path
self._delimiter = delimiter
super(CsvMovieFinder, self).__init__(movie_model)
super().__init__(movie_model)
def find_all(self):
"""Return all found movies.
@ -73,7 +73,7 @@ class SqliteMovieFinder(MovieFinder):
:type database: sqlite3.Connection
"""
self._database = database
super(SqliteMovieFinder, self).__init__(movie_model)
super().__init__(movie_model)
def find_all(self):
"""Return all found movies.

View File

@ -4,7 +4,7 @@ This module contains all lister implementations.
"""
class MovieLister(object):
class MovieLister:
"""Movie lister component.
Movie lister component provides several methods for filtering movies by

View File

@ -4,7 +4,7 @@ This module contains all model implementations.
"""
class Movie(object):
class Movie:
"""Base movie model."""
def __init__(self, name, year, director):

View File

@ -6,7 +6,7 @@ import dependency_injector.containers as containers
import dependency_injector.providers as providers
class UsersService(object):
class UsersService:
"""Users service."""
def __init__(self, password_hasher):

View File

@ -1,7 +1,7 @@
"""Example business services module."""
class BaseService(object):
class BaseService:
"""Service base class."""

View File

@ -1,7 +1,7 @@
"""Example business services module."""
class BaseService(object):
class BaseService:
"""Service base class."""

View File

@ -1,7 +1,7 @@
"""Example adapters package."""
class EmailSender(object):
class EmailSender:
"""Abstract email sender."""
def send(self, to, body):
@ -9,7 +9,7 @@ class EmailSender(object):
raise NotImplementedError()
class SmtpEmailSender(object):
class SmtpEmailSender:
"""SMTP email sender uses SMTP protocol for sending emails."""
def send(self, to, body):
@ -17,7 +17,7 @@ class SmtpEmailSender(object):
# Send email via SMTP
class EchoEmailSender(object):
class EchoEmailSender:
"""Echo email sender prints emails to stdout."""
def send(self, to, body):

View File

@ -1,7 +1,7 @@
"""Example use cases package."""
class UseCase(object):
class UseCase:
"""Abstract use case."""
def execute(self):
@ -9,7 +9,7 @@ class UseCase(object):
raise NotImplementedError()
class SignupUseCase(object):
class SignupUseCase:
"""Sign up use cases registers users."""
def __init__(self, email_sender):

View File

@ -1,7 +1,7 @@
"""Example hierarchy of cache clients with abstract base class."""
class AbstractCacheClient(object):
class AbstractCacheClient:
"""Abstract cache client."""

View File

@ -3,7 +3,7 @@
import dependency_injector.providers as providers
class User(object):
class User:
"""Example class User."""
@ -15,7 +15,7 @@ class UsersFactory(providers.Provider):
def __init__(self):
"""Initialize instance."""
self._factory = providers.Factory(User)
super(UsersFactory, self).__init__()
super().__init__()
def __call__(self, *args, **kwargs):
"""Return provided object.

View File

@ -6,7 +6,7 @@ import contextlib
import dependency_injector.providers as providers
class UsersService(object):
class UsersService:
"""Example class UsersService.
UsersService has dependency on DBAPI 2.0 database connection.

View File

@ -1,7 +1,7 @@
"""Example games module."""
class Game(object):
class Game:
"""Base game class."""
def __init__(self, player1, player2):

View File

@ -1,7 +1,7 @@
"""FactoryAggregate provider prototype."""
class FactoryAggregate(object):
class FactoryAggregate:
"""FactoryAggregate provider prototype."""
def __init__(self, **factories):

View File

@ -8,7 +8,7 @@ import dependency_injector.providers as providers
Photo = collections.namedtuple('Photo', [])
class User(object):
class User:
"""Example user model."""
def __init__(self, photos_factory):

View File

@ -4,7 +4,7 @@ import dependency_injector.providers as providers
import dependency_injector.errors as errors
class BaseService(object):
class BaseService:
"""Base service class."""

View File

@ -3,7 +3,7 @@
import dependency_injector.providers as providers
class User(object):
class User:
"""Example class User."""

View File

@ -3,23 +3,23 @@
import dependency_injector.providers as providers
class User(object):
class User:
"""Example class User."""
def __init__(self, id, password):
"""Initialize instance."""
self.id = id
self.password = password
super(User, self).__init__()
super().__init__()
class UsersService(object):
class UsersService:
"""Example class UsersService."""
def __init__(self, user_cls):
"""Initialize instance."""
self.user_cls = user_cls
super(UsersService, self).__init__()
super().__init__()
def get_by_id(self, id):
"""Find user by his id and return user model."""
@ -56,7 +56,7 @@ class ExtendedUser(User):
self.first_name = first_name
self.last_name = last_name
self.gender = gender
super(ExtendedUser, self).__init__(id, password)
super().__init__(id, password)
class ExtendedUsersService(UsersService):

View File

@ -4,7 +4,7 @@ import dependency_injector.providers as providers
import dependency_injector.errors as errors
class BaseService(object):
class BaseService:
"""Base service class."""