Skip to content

Instantly share code, notes, and snippets.

View zehpatricio's full-sized avatar

J. Patrício zehpatricio

  • Universidade Federal do Piauí
View GitHub Profile
@zehpatricio
zehpatricio / index.html
Last active April 28, 2022 13:18
Python Private Package Repository Versions Page
<!DOCTYPE html>
<html>
<body>
<a href="./chuckfacts-0.0.3-py3-none-any.whl">chuckfacts-0.0.3-py3-none-any.whl</a>
</body>
</html>
@zehpatricio
zehpatricio / index.html
Created April 28, 2022 13:10
Python Private Package Repository Root Page
<!DOCTYPE html>
<html>
<body>
<a href="/chuckfacts/">chuckfacts</a>
</body>
</html>
import abc
from typing import List
from app.domain import model
class LocationRepository(metaclass=abc.ABCMeta):
@abc.abstractmethod
def list(self) -> List[model.Location]:
from app.domain.use_cases import base_location_use_case
from app.domain import model
class CreateLocationUseCase(base_location_use_case.BaseLocationUseCase):
def create(self, location: model.Location) -> int:
return self.repository.create(location)
from typing import List
from app.domain.model import Location
from app.domain.use_cases import base_location_use_case
class ListLocationUseCase(base_location_use_case.BaseLocationUseCase):
def list(self) -> List[Location]:
locations = self.repository.list()
from app.domain.repository import location_repository
class BaseLocationUseCase():
def __init__(
self,
repository: location_repository.LocationRepository
) -> None:
self.repository = repository
from datetime import datetime
class Location():
id: int
lat: float
long: float
date: datetime
def __init__(
from app.domain import model as domain_model
from app.adapter.rest import model as rest_model
def to_domain_model(location: rest_model.Location) -> domain_model.Location:
domain_location = domain_model.Location(**vars(location))
return domain_location
from app.domain import model as domain_model
from app.adapter.db import model as sql_model
def to_domain_model(location: sql_model.Location) -> domain_model.Location:
domain_location = domain_model.Location(
id=location.id,
device_id=location.device_id,
lat=location.lat,
long=location.long,
import typing
from app.domain.repository import location_repository
from app.domain import model as domain_model
from app.adapter.db import sql_db
from app.adapter.db import model as sql_model
from app.adapter.db import location_mapper
class LocationRepositoryImpl(location_repository.LocationRepository):