Esempio n. 1
0
def downloads_formatter():
    return DownloadsNumberFormatter()
Esempio n. 2
0
from pepy.application.helper import AdminPasswordChecker
from pepy.application.query import BadgeProvider, ProjectProvider, DownloadsNumberFormatter
from pepy.domain.model import HashedPassword
from pepy.infrastructure.bq_downloads_extractor import BQDownloadsExtractor
from pepy.infrastructure.db_repository import DBProjectRepository
from pepy.infrastructure.db_view import DBProjectView
from ._config import DATABASE, BQ_CREDENTIALS_FILE, ADMIN_PASSWORD, LOGGING_FILE, DATABASE_ORATOR, LOGGING_DIR

db_connection = psycopg2.connect(**DATABASE)
db_orator = DatabaseManager(DATABASE_ORATOR)
project_repository = DBProjectRepository(db_connection)
db_project_view = DBProjectView(db_orator)
command_bus = CommandBus()
command_bus.subscribe(ImportDownloadsFile,
                      ImportDownloadsFileHandler(project_repository))
downloads_formatter = DownloadsNumberFormatter()
badge_query = BadgeProvider(db_project_view, downloads_formatter)
project_provider = ProjectProvider(db_project_view)

# Directories configuration
if not os.path.exists(LOGGING_DIR):
    os.makedirs(LOGGING_DIR)

# Logger configuration
logger = logging.getLogger("pepy")
logger.setLevel(logging.INFO)
formatter = logging.Formatter(
    "[%(asctime)s] [%(levelname)s] [%(pathname)s:%(funcName)s:%(lineno)d]: %(message)s"
)
file_handler = logging.FileHandler(LOGGING_FILE)
file_handler.setFormatter(formatter)
Esempio n. 3
0
def test_downloads_format_billion(
        downloads_formatter: DownloadsNumberFormatter):
    downloads = Downloads(9_132_919_492)
    assert '9G' == downloads_formatter.format(downloads)
Esempio n. 4
0
def test_downloads_format_quadrillion(
        downloads_formatter: DownloadsNumberFormatter):
    downloads = Downloads(11_132_919_492_432_000)
    assert '11P' == downloads_formatter.format(downloads)
Esempio n. 5
0
def test_downloads_format_thousands(
        downloads_formatter: DownloadsNumberFormatter):
    downloads = Downloads(12_132)
    assert '12k' == downloads_formatter.format(downloads)
Esempio n. 6
0
def test_downloads_format_million(
        downloads_formatter: DownloadsNumberFormatter):
    downloads = Downloads(412_132_492)
    assert '412M' == downloads_formatter.format(downloads)
Esempio n. 7
0
def test_downloads_format_trillion(
        downloads_formatter: DownloadsNumberFormatter):
    downloads = Downloads(11_132_919_492_000)
    assert "11T" == downloads_formatter.format(downloads)
Esempio n. 8
0
def test_downloads_format_less_than_thousands(
        downloads_formatter: DownloadsNumberFormatter):
    downloads = Downloads(121)
    assert '121' == downloads_formatter.format(downloads)
Esempio n. 9
0
def test_downloads_format_quadrillion(downloads_formatter: DownloadsNumberFormatter):
    downloads = 11_132_919_492_432_000
    assert "11P" == downloads_formatter.format(downloads)
Esempio n. 10
0
def test_downloads_format_billion(downloads_formatter: DownloadsNumberFormatter):
    downloads = 9_132_919_492
    assert "9G" == downloads_formatter.format(downloads)
Esempio n. 11
0
def test_downloads_format_million(downloads_formatter: DownloadsNumberFormatter):
    downloads = 412_132_492
    assert "412M" == downloads_formatter.format(downloads)
Esempio n. 12
0
def test_downloads_format_thousands(downloads_formatter: DownloadsNumberFormatter):
    downloads = 12132
    assert "12k" == downloads_formatter.format(downloads)
Esempio n. 13
0
def test_downloads_format_less_than_thousands(downloads_formatter: DownloadsNumberFormatter):
    downloads = 121
    assert "121" == downloads_formatter.format(downloads)