예제 #1
0
import logging
import os
import sys
from collections import defaultdict, Counter
from copy import deepcopy
from datetime import datetime, timedelta
from itertools import groupby
from statistics import median

import requests
from requests.exceptions import HTTPError

from dao.base import BaseLeague, BaseMatchup, BaseTeam, BaseRecord, BaseManager, BasePlayer, BaseStat
from report.logger import get_logger

logger = get_logger(__name__)

# Suppress Sleeper API debug logging
logger.setLevel(level=logging.INFO)


class LeagueData(object):
    def __init__(self,
                 week_for_report,
                 league_id,
                 season,
                 config,
                 data_dir,
                 week_validation_function,
                 get_current_nfl_week_function,
                 save_data=True,
예제 #2
0
from typing import List

import requests
from ff_espn_api import League, Settings, Team
from ff_espn_api.box_player import BoxPlayer
from ff_espn_api.box_score import BoxScore
from ff_espn_api.constant import POSITION_MAP
from ff_espn_api.league import checkRequestStatus

from dao.base import BaseLeague, BaseMatchup, BaseTeam, BaseRecord, BaseManager, BasePlayer, BaseStat
from report.logger import get_logger

colorama.init()

logger = get_logger(__name__, propagate=False)

# Suppress ESPN API requests debug logging
logging.getLogger("urllib3.connectionpool").setLevel(level=logging.WARNING)
# Suppress gitpython debug logging
logging.getLogger("git.cmd").setLevel(level=logging.WARNING)
logging.getLogger("git.cmd.cmd.execute").setLevel(level=logging.WARNING)


class LeagueData(object):
    def __init__(self,
                 week_for_report,
                 league_id,
                 season,
                 config,
                 base_dir,
예제 #3
0
import traceback
import colorama
from colorama import Fore, Style

import pkg_resources
from pkg_resources import DistributionNotFound, VersionConflict

from integrations.drive_integration import GoogleDriveUploader
from integrations.slack_integration import SlackMessenger
from report.builder import FantasyFootballReport
from report.logger import get_logger
from utils.report_tools import check_for_updates, get_valid_config

colorama.init()

logger = get_logger()


def main(argv):
    logger.debug(
        "Running fantasy football metrics weekly report app with arguments:\n{0}"
        .format(argv))

    dependencies = []
    with open(
            os.path.join(os.path.dirname(os.path.abspath(__file__)),
                         "requirements.txt"), "r") as reqs:
        for line in reqs.readlines():
            if not line.startswith("#"):
                dependencies.append(line.strip())