예제 #1
0
파일: app.py 프로젝트: einalex/todo
 def wrap_todo_name(self, underline=False):
     """wrap todo's name"""
     name = self.todo.name
     if name:
         wrapped_name = colored(name, 'orange')
         if underline:
             wrapped_name += '\n' + colored(len(name) * '-', 'gray')
         return wrapped_name
     return None
예제 #2
0
파일: read.py 프로젝트: dohlee/meth-pops
    def get_CpG_colored_string(self):
        nucs = []
        for nuc, meth in zip(self.seq, self.methylation):
            if meth == 'z':
                nucs.append(colored(' ', 'grey'))
            elif meth == 'Z':
                nucs.append(colored(' ', 'red'))

        return ''.join(nucs)
예제 #3
0
def register_players():
    players_list = []
    tokens = []

    taken_names = game_names

    index = 1
    while True:
        name = input(
            utils.colored(f"Jogador {index}, vai jogar? Qual seu nome? §y"))
        name_lower = name.lower()

        if not name_lower in taken_names:
            tokens_input = input(
                utils.colored(f"§0Quantas fichas você tem, {name}? §g"))
            tokens_amount = 0

            if tokens_input:
                int_tokens = int(tokens_input)

                if int_tokens > 0:
                    tokens_amount = int_tokens

                else:
                    utils.print_colored(
                        "§0Não é possível entrar no jogo sem fichas!\n")
                    continue

            taken_names.append(name_lower)
            players_list.append(name)
            tokens.append(tokens_amount)

            utils.print_success(
                f"{name} entrou no jogo com {tokens_amount} fichas!")

            index += 1

        elif name_lower in exit_names:
            utils.print_colored(f"§0Fim da entrada de jogadores.")

            break

        else:
            utils.print_colored(f"§0Não é possível usar esse nome!\n")

    if players_list:
        players_list.append("Banco")
        tokens.append("∞")

        utils.print_success(f"Banco entrou no jogo com infinitas fichas!")

    else:
        system.game_over()

    return (players_list, tokens)
예제 #4
0
파일: app.py 프로젝트: einalex/todo
    def wrap_task(self, task, index=None):
        """wrap task to colored str"""
        if task.done:
            state = colored('✓', 'green')
        else:
            state = colored('✖', "red")

        content = colored(task.content, "gray")
        wrapped_task = state + "  " + content
        if index:
            wrapped_task = colored(str(index)+'.', 'gray') + ' ' + wrapped_task
        return wrapped_task
예제 #5
0
파일: logger.py 프로젝트: hit9/zhuanlan2pdf
 def format(self, record):
     message = record.getMessage()
     mapping = {
         'CRITICAL': 'bgred',
         'ERROR': 'red',
         'WARNING': 'yellow',
         'SUCCESS': 'green',
         'INFO': 'cyan',
         'DEBUG': 'bggrey',
     }
     color = mapping.get(record.levelname, 'white')
     level = colored('%-8s' % record.levelname, color)
     time = colored(datetime.now().strftime("(%H:%M:%S)"), 'magenta')
     return " ".join([level, time, message])
예제 #6
0
 def show(self, serie_filter=None):
     serie_filter = fix_name(serie_filter) if serie_filter else None
     series = self.__get_filtered(serie_filter)
     if not series:
         return
     longest_len = len(sorted(series.keys(), key=len)[-1])
     now = datetime.date.today()
     for serie in sorted(series.values(), key=attrgetter("name")):
         line = []
         line.append("%*s %s" % (longest_len, serie.name, serie.current))
         line.append("%-24s" % colored(serie.desc["message"], serie.desc["color"]))
         line.append("%s" % colored((abs(serie.desc["days"]) * ("+" if serie.desc["days"] >= 0 else "-")), serie.desc["color"]))
         print(" | ".join(line))
     print("%i serie%s" % (len(series), "s" if len(series) > 1 else ""))
예제 #7
0
파일: api.py 프로젝트: gpalsingh/SmScout
    def eligible(self, age=21, mins=200, goals=0, v=True):
        col = 'green' if self.age <= age else 'red'
        print '\tAge', ':', utils.colored(str(self.age), col)
        if self.age > age:
            return False
        col = 'green' if self.sesGoals >= goals else 'red'
        print '\tGoals', ':', utils.colored(str(self.sesGoals), col)
        if self.sesGoals < goals:
            return False
        col = 'green' if self.get_stat('mins') >= mins else 'red'
        print '\tMinutes', ':', utils.colored(str(self.get_stat('mins')), col)
        if self.get_stat('mins') < mins:
            return False

        return True
예제 #8
0
파일: logger.py 프로젝트: liangfei/lilac
    def format(self, record):
        message = record.getMessage()

        mapping = {
            'CRITICAL': 'bgred',
            'ERROR': 'red',
            'WARNING': 'yellow',
            'SUCCESS': 'green',
            'INFO': 'cyan',
            'DEBUG': 'bggrey',
        }
        color = mapping.get(record.levelname, 'white')

        level = colored('%-8s' % record.levelname, color)
        time = colored(datetime.now().strftime("(%H:%M:%S)"), "magenta")
        return " ".join([level, time, message])
예제 #9
0
파일: api.py 프로젝트: gpalsingh/SmScout
 def __get_age(self):
     try:
         age = re.findall('([\d]{2}) years', str(self.tag))[0]
         return int(age)
     except:
         print '\t' + utils.colored('No age data available', 'red')
         return 500
예제 #10
0
 def show(self, serie_filter=None):
     serie_filter = fix_name(serie_filter) if serie_filter else None
     series = self.__get_filtered(serie_filter)
     if not series:
         return
     longest_len = len(sorted(series.keys(), key=len)[-1])
     now = datetime.date.today()
     for serie in sorted(series.values(), key=attrgetter("name")):
         line = []
         line.append("%*s %s" % (longest_len, serie.name, serie.current))
         line.append("%-24s" %
                     colored(serie.desc["message"], serie.desc["color"]))
         line.append("%s" % colored(
             (abs(serie.desc["days"]) *
              ("+" if serie.desc["days"] >= 0 else "-")),
             serie.desc["color"]))
         print(" | ".join(line))
     print("%i serie%s" % (len(series), "s" if len(series) > 1 else ""))
예제 #11
0
파일: api.py 프로젝트: gpalsingh/SmScout
 def __ext_tag(self, tag, stat_name):
     stats = tag
     stat_class = getattr(self, stat_name + 'Class')
     stat_tag = stats.find('td', stat_class)
     num_val = utils.get_string(stat_tag)
     try:
         return int(num_val)
     except:
         # shown on soccerwiki as "?"
         print '\t' + utils.colored('Stats not available yet', 'red')
         return 0
예제 #12
0
def ask_bet_bid(input_message, player_tokens):
    while True:
        bet_bid_input = input(utils.colored(input_message))

        if bet_bid_input:
            bet_bid = int(bet_bid_input)

            if bet_bid < 0 or bet_bid > player_tokens:
                utils.print_colored("§0Não é possível apostar essa quantia!")

            else:
                return bet_bid

        else:
            return False
예제 #13
0
def colored_test():
    print(colored('green', 'green'))
    print(colored('red', 'red'))
    print(colored('yellow', 'yellow'))
    print(colored('blue', 'blue'))

    try:
        colored('test', 'black')  # This should raise exception.
        print('Test did not pass.')
    except Exception as e:
        print(f'Unknown color: {e}')
예제 #14
0
    def __str__(self):
        size_formatted = utils.format_size(self.get_size())
        filepath = utils.colored(self.original_filepath, 'green')
        size_formatted = utils.colored(f'{size_formatted}', 'blue')

        return f'{filepath} {size_formatted}'
예제 #15
0
        return n, page
    else:
        return n, api.LeaguePage(new_url)


# =========================================================================
#
#                               UI
#
# =========================================================================
league, nat_num, league_num = [None] * 3
try:
    nat_num, nation_URL = choose_nation()
    league_num, league = choose_league(nation_URL)
except:
    print utils.colored('Working internet connection required', 'red')
    exit(0)
league_name = league.get_name()
league_nation = league.get_nation()
table = league.get_table()

# =========================================================================
#
#                           LOGGING
#
# =========================================================================
time_remaining = utils.time_till_next_download(league_name, weeks_between_downloads)
if time_remaining > 0 and not new_session:
    msg = "\nToo soon to download again.\n"
    msg += "You should wait at least {} days more".format(time_remaining)
    msg += " to get some useful new data."
예제 #16
0
sorting.add_argument('-m', '--mins', help='sort by minutes', action=minsAction)
sorting.add_argument('-a', '--age', help='sort by age', action=ageAction)

args = parser.parse_args()

for s in [args.goals, args.age, args.mins]:
    sort_option = s
    if sort_option is not None: break
else: sort_option = ['mins', 0]

svar, least = sort_option
show_all_leagues = args.all
user_requested_leagues = args.leagues

if len(all_leagues_data) == 0:
    print utils.colored("Download some data first")
    sys.exit(0)

if args.list:
    print 'Data available for :'
    for lg, natn in available_leagues.items():
        print utils.colored('\t{}( {} )'.format(lg, natn), 'blue')
    sys.exit(0)

leagues_data = utils.get_closest_names(user_requested_leagues,
                                       all_leagues_data)

if leagues_data == [] or show_all_leagues:
    if not show_all_leagues:
        print '''No leagues specified (-l option).
Show data for all leagues? (yes / no)'''
예제 #17
0
def ask_bets(players_names, players_tokens):
    players_names_tokens = list(zip(players_names, players_tokens))
    players_bets = []
    leavers = []

    for player_name_tokens in players.get_real_players(players_names_tokens):
        playername, tokens = player_name_tokens

        player_bet = []

        bet_bid = ask_bet_bid(
            f"§0Quanto você aposta nesta rodada, {playername}? (Ou saia sem apostar) §g",
            tokens)

        if bet_bid:
            player_bet.append(bet_bid)

            while True:
                bet_what = input(
                    utils.colored(
                        f"§0Jogador, banco ou empate. Em que você aposta {bet_bid} fichas, {playername}? §b"
                    ))
                bet_what_lower = bet_what.lower()

                if bet_what_lower in ["jogador", "j"]:
                    player_bet.append("player")

                    while True:
                        bet_who = input(
                            utils.colored(
                                f"§0Em qual jogador você aposta {bet_bid} fichas, {playername}? §y"
                            ))

                        bet_player = players.get_playername(
                            bet_who, players_names)
                        bet_leaver = players.get_playername(bet_who, leavers)

                        if bet_player and not bet_leaver and bet_who.lower(
                        ) != playername.lower():
                            player_bet.append(bet_player)
                            utils.print_success(
                                f"{playername} apostou {bet_bid} fichas em {bet_player}!"
                            )
                            break

                        else:
                            utils.print_colored(
                                "§0Não é possível apostar nesse jogador!")

                    break

                elif bet_what_lower in ["banco", "b"]:
                    player_bet.append("bank")
                    utils.print_success(
                        f"{playername} apostou {bet_bid} fichas no Banco!")
                    break

                elif bet_what_lower in ["empate", "e"]:
                    player_bet.append("tie")
                    utils.print_success(
                        f"{playername} apostou {bet_bid} fichas por um empate no jogo!"
                    )
                    break

                else:
                    utils.print_colored(
                        "§0Não é possível realizar esse tipo de aposta!")

        else:
            leavers.append(playername)
            utils.print_info(f"{playername} saiu do jogo com {tokens} fichas!")

        players_bets.append(player_bet)

    # Bank bet
    players_bets.append([])

    # Update players, removing who didn't bet
    players_names, players_tokens, players_bets = get_betting_players(
        players_names, players_tokens, players_bets)

    if not players.has_players(players_names):
        system.game_over()

    return (players_names, players_tokens, players_bets)
예제 #18
0
import requests
from queue import Queue, Empty
from threading import Thread
from collections import defaultdict

from funcx import FuncXClient
from funcx.serialize import FuncXSerializer
from utils import colored, endpoint_name
from transfer import TransferManager
from strategies import init_strategy
from predictors import init_runtime_predictor, TransferPredictor, \
    ImportPredictor

logger = logging.getLogger(__name__)
ch = logging.StreamHandler()
ch.setFormatter(logging.Formatter(colored("[SCHEDULER] %(message)s",
                                          'yellow')))
logger.addHandler(ch)

FUNCX_API = 'https://funcx.org/api/v1'
HEARTBEAT_THRESHOLD = 75.0  # Endpoints send regular heartbeats
CLIENT_ID = 'f06739da-ad7d-40bd-887f-abb1d23bbd6f'
BLOCK_ERRORS = [ModuleNotFoundError, MemoryError]


class CentralScheduler(object):
    def __init__(self,
                 endpoints,
                 strategy='round-robin',
                 runtime_predictor='rolling-average',
                 last_n=3,
                 train_every=1,
예제 #19
0
import os
import uuid
import time
import logging
from threading import Thread

import globus_sdk
from fair_research_login import NativeClient, JSONTokenStorage

from utils import colored, endpoint_name, MAX_CONCURRENT_TRANSFERS

logger = logging.getLogger(__name__)
ch = logging.StreamHandler()
ch.setFormatter(logging.Formatter(colored("[TRANSFER]  %(message)s", 'red')))
logger.addHandler(ch)

TOKEN_LOC = os.path.expanduser('~/.funcx/credentials/scheduler_tokens.json')
CLIENT_ID = 'f06739da-ad7d-40bd-887f-abb1d23bbd6f'


class TransferManager(object):

    # TODO: move TransferPredictor into this class and update prediction model
    # every time a tranfer finishes

    def __init__(self, endpoints, sync_level='exists', log_level='INFO'):

        transfer_scope = 'urn:globus:auth:scope:transfer.api.globus.org:all'
        native_client = NativeClient(client_id=CLIENT_ID,
                                     app_name="FuncX Continuum Scheduler",
                                     token_storage=JSONTokenStorage(TOKEN_LOC))