Exemplo n.º 1
0
def listseries():
    series = database.getAllSeries()
    if len(series) == 0:
        print("Não há series adicionadas")
    for serie in series:
        print("{}".format(serie["ser_nome"]))
    utils.pause()
Exemplo n.º 2
0
def undownloadEpisode():
    episode = userinput.getEpisode(
    )  # dict_keys(* from serie, epi_temporada, epi_episodio)
    if episode is None:
        print("Operação cancelada!")
        utils.pause()
        return
    utils.clear()
    print("Remover download episódio:")
    print("Série: %s" % episode['ser_nome'])
    print("Temporada: %s" % episode['epi_temporada'])
    print("Episódio: %s" % episode['epi_episodio'])
    if userinput.confirm():
        if database.setDownloadEpisodeAs(episode["ser_id"],
                                         episode["epi_temporada"],
                                         episode["epi_episodio"], False):
            print("Concluido com sucesso!")
            logger.debug("Sucesso ao definir para não baixar episodio '%s'" %
                         str(episode))
        else:
            print(
                "Houve um erro ao realizar a ação no banco de dados! Tente mais tarde!"
            )
            logger.warning("Erro ao definir episodio para não baixar")
    else:
        print("operação cancelada!")
    utils.pause()
Exemplo n.º 3
0
def removeSerie():
    utils.clear()
    series = database.getAllSeries()  # dict_keys(* from serie)
    if len(series) == 0:
        print("Não há series adicionadas.")
        utils.pause()
        return
    else:
        for k, serie in enumerate(series):
            print("*" * 50)
            print("Identificador: {}".format(k + 1))
            print("Nome: {}".format(serie["ser_nome"]))
            print("*" * 50)
        print("Informe o identificador")
        try:
            op = int(input(">>"))
        except ValueError:
            pass
        else:
            if 0 < op <= len(series):
                logger.debug(f"Trying to remove: {series[op - 1]['ser_id']}")
                if database.removeSerie(series[op - 1]["ser_id"]):
                    print("Série removida com sucesso")
                    logger.debug("Removed")
                else:
                    print("Houve algum erro durante a remoção!")
                    logger.warning("Problem on removing")
            else:
                print("Operação cancelada.")
    utils.pause()
Exemplo n.º 4
0
def downloadAfter():
    episode = userinput.getEpisode(
    )  # None or dict_keys(* from serie + epi_temporada + epi_episodio)
    if episode is None:
        print("Operação cancelada!")
        utils.pause()
        return
    utils.clear()
    print("Baixar todos os episódios a partir de:")
    print("Série: %s" % episode['ser_nome'])
    print("Temporada: %s" % episode['epi_temporada'])
    print("Episódio: %s" % episode['epi_episodio'])
    if userinput.confirm():
        if database.setToDownloadAfterEpisodeAs(episode["ser_id"],
                                                episode["epi_temporada"],
                                                episode["epi_episodio"], True):
            print("Concluido com sucesso!")
            logger.info(
                "Sucesso ao definir para baixar episodios a partir de '%s'" %
                str(episode))
        else:
            print(
                "Houve um erro ao realizar a ação no banco de dados! Tente mais tarde!"
            )
            logger.warning("Erro ao definir episodio para baixar a partir de")
    else:
        print("operação cancelada!")
    utils.pause()
Exemplo n.º 5
0
def getSerie():
    """
    :return: None or dict_keys(*)
    """
    utils.clear()
    tvshows = database.getAllSeries()
    if len(tvshows) == 0:
        print("Não há series adicionadas")
        utils.pause()
        return None
    print("Séries disponíveis:")
    for k, tvshow in enumerate(tvshows):
        print("%d - %s" % (k + 1, tvshow["ser_nome"]),
              "*" if tvshow["ser_firstadd"] == 1 else "** -> %s" % tvshow["ser_uatualizado"] if (datetime.datetime.now() - datetime.datetime.strptime(tvshow["ser_uatualizado"], DATETIME_FORMAT)) > datetime.timedelta(
                  hours=3) else "")
    print("* não finalizou primeira adição")
    print("** não foi atualizado recentemente")
    try:
        choice = int(input("\nInforme o número da serie: \n>>"))
    except ValueError:
        return None
    except:
        logger.exception("Error ocurred while picking serie.")
    else:
        if 0 < choice <= len(tvshows):
            return tvshows[choice - 1]
        else:
            return None
Exemplo n.º 6
0
def troubleshoot():
    # copy log to desktop
    dp = os.path.join(os.environ["HOMEPATH"], "Desktop")
    fi = 0
    while os.path.isfile(os.path.join(dp, "downloader_log(%s).log" % fi)):
        fi += 1
    shutil.copy("log_debug.log", os.path.join(dp,
                                              "downloader_log(%s).log" % fi))
    utils.pause()
Exemplo n.º 7
0
def listtodownloadepisodes():
    episodios = database.getToDownloadEpisode(
    )  # [dict_keys(ser_id, ser_nome, epi_temporada, epi_episodio)]
    if len(episodios) == 0:
        print("Não há episódios para baixar")
    for episodio in episodios:
        print("{} - S{:0>2d} E{:0>2d}".format(episodio["ser_nome"],
                                              episodio["epi_temporada"],
                                              episodio["epi_episodio"]))
    utils.pause()
Exemplo n.º 8
0
def getSeason():
    """
    :return: None or dict_keys(* from serie + epi_temporada)
    """
    serie = getSerie()  # dict_keys(* from serie)
    if serie is None:
        return None
    utils.clear()
    print("Série selecionada: '%s'" % serie['ser_nome'])
    try:
        season = int(input("Informe a temporada: "))
    except ValueError:
        print("Erro ao digitar o valor, retornando...")
    except:
        print("Um erro inesperado ocorreu, retornando...")
        logger.exception("Erro ao captar entrada do usuario")
    else:
        serie["epi_temporada"] = season
        return serie
    utils.pause()
    return None
Exemplo n.º 9
0
def adicionarSerie():
    utils.clear()
    print("Informe o nome da série")
    name = input(">>")
    utils.clear()
    acquired = tmdb.lock.acquire(blocking=False)
    if not acquired:
        print("Aguarde...")
    while not acquired:
        acquired = tmdb.lock.acquire(blocking=False)
    results = tmdb.searchTVShow(name=name)
    tmdb.lock.release()
    if len(results) == 0:
        print("Nenhum resultado encontrado para '{}'".format(name))
    else:
        print("{} resultados encontrados para {}".format(
            len(results['results']), name))
        for k, serie in enumerate(results['results']):
            print("*" * 50)
            print("Idenfitificador: {}".format(k + 1))
            print("Nome: {original_name}".format(**serie))
            print("*" * 50)
        print("Informe o identificador da serie que deseja adicionar: ")
        try:
            op = int(input(">>"))
        except ValueError:
            pass
        else:
            if op < 1:
                print("Saindo...")
                utils.pause()
                return
            elif op <= len(results):
                if database.addSerie(
                        results['results'][op - 1]['id'],
                        results['results'][op - 1]['original_name']):
                    print("Serie adicionada com sucesso!")
                else:
                    print("Serie não adicionada!")
                utils.pause()
Exemplo n.º 10
0
def lastadded():
    utils.clear()
    episodios = database.getLastAddedEpisodes(
    )  # [dict_keys(ser_nome, epi_temporada, epi_episodio, epi_adicionado), ... ]
    episodios.reverse()  # least recent to most recent
    size = database.getMinMaxSizeOfSerieNames()
    if len(episodios) == 0:
        print("Não há episodios adicionados")
        utils.pause()
        return
    if size is None:
        logger.critical(
            "Something is not right! size cannot be none if there is something on the table"
        )
        print("Um erro inesperado aconteceu!")
        utils.pause()
        return
    print("Ultimos {} episódios adicionados".format(len(episodios)))
    for episodio in episodios:
        print("{: <{width}} S{:02}E{:02}   {}".format(
            episodio["ser_nome"],
            episodio["epi_temporada"],
            episodio["epi_episodio"],
            episodio["epi_adicionado"],
            width=size[1] + 2))
    utils.pause()