示例#1
0
def set_undone(source: CommandSource, titles: str) -> None:
    if not root.task_manager.exists(TitleList(titles)):
        task_not_found(source)
        return
    root.task_manager.undone_task(TitleList(titles))
    info_task(source, title=titles)
    root.log(f"{_source_name(source)} marked task {titles} as undone")
示例#2
0
def remove_task(source: CommandSource, titles: str):
    if not root.task_manager.exists(TitleList(titles)):
        task_not_found(source)
        return
    root.task_manager.delete_task(TitleList(titles))
    source.reply(tr("mcd_task.deleted_task", "§e{}§r".format(titles)))
    root.log(f"{_source_name(source)} deleted task {titles}")
示例#3
0
def edit_desc(source: CommandSource, titles: str, desc: str) -> None:
    title_list = TitleList(titles)
    if not root.task_manager.exists(title_list):
        task_not_found(source)
        return
    root.task_manager.edit_desc(title_list, desc)
    info_task(source, title=titles)
    root.log(
        f"{_source_name(source)} changed task {titles} description to {desc}")
示例#4
0
def set_task_deadline(source: CommandSource, titles: str, ddl: str) -> None:
    if not root.task_manager.exists(TitleList(titles)):
        task_not_found(source)
        return
    deadline = float(time.time()) + float(ddl) * 3600 * 24
    root.task_manager.set_deadline(TitleList(titles), deadline)
    source.reply(tr("mcd_task.ddl_set", titles, ddl, formatted_time(deadline)))
    root.log(
        f"{_source_name(source)} set task deadline to {formatted_time(deadline, locale='en_us')}"
    )
示例#5
0
def inherit_responsible(info: Info, old_name: str, new_name: str, debug=False):
    resm = root.task_manager.get_responsible_manager()
    if old_name in resm.player_work.keys():
        resm.rename_player(old_name, new_name)
        num = len(resm[new_name])
        info.get_server().tell(new_name, tr("mcd_task.on_player_renamed", num))
        root.logger.debug(tr("mcd_task.on_player_renamed", num),
                          no_check=debug)
        root.log(
            f"Detected player rename {old_name} -> {new_name}. Inherited {num} task(s)"
        )
示例#6
0
def add_task(source: CommandSource, titles: str, desc: str = ''):
    titles = TitleList(titles)
    titles_for_text = titles.copy()
    if not root.task_manager.exists(titles):
        root.task_manager.add_task(titles, desc=desc)
        info_task(source,
                  title=titles_for_text.head,
                  prefix=tr("mcd_task.new_task_created"))
        root.log(
            f"{_source_name(source)} created new task named {str(titles_for_text)}"
        )
    else:
        task_already_exist(source)
示例#7
0
def rename_task(source: CommandSource, old_titles: str,
                new_title: str) -> None:
    if not root.task_manager.exists(TitleList(old_titles)):
        task_not_found(source)
        return
    if '.' in list(new_title):
        source.reply(tr("mcd_task.illegal_title_with_dot", new_title))
        return
    root.task_manager.rename_task(TitleList(old_titles), new_title)
    new_titles = TitleList(old_titles)
    new_titles.pop_tail()
    new_titles.append(new_title)
    info_task(source,
              title=str(new_titles),
              prefix=tr("mcd_task.task_renamed", old_titles, str(new_titles)))
    root.log(
        f"{_source_name(source)} renamed {old_titles} to {str(new_titles)}")
示例#8
0
def set_responsible(source: CommandSource,
                    titles: str,
                    players: Optional[str] = None) -> None:
    if not root.task_manager.exists(TitleList(titles)):
        task_not_found(source)
        return
    if players is None:
        if isinstance(source, PlayerCommandSource):
            players = source.player
        else:
            illegal_call(source)
            return
    players = players.split(' ')
    num = root.task_manager.set_responsible(TitleList(titles), *players)
    list_responsible(source,
                     titles,
                     prefix=tr("mcd_task.added_responsibles_title", num))
    root.log(
        f"{_source_name(source)} added responsibles for task {str(titles)}: {str(players)}"
    )