예제 #1
0
파일: sheet.py 프로젝트: Erreur32/cheat
def remove(sheet, default="yes"):
    """Ask a yes/no/quit sheet via raw_input() and return their answer.

    "sheet" is a string that is presented to the user.
    "default" is the presumed answer if the user just hits <Enter>.
        It must be "yes" (the default), "no", "quit" or None (meaning
        an answer is required of the user).
    The "answer" return value is one of "yes", "no" or "quit".
    """

    if not exists(sheet):
        die('\033[1;31mNo\033[0m cheatsheet found for \033[1;31m' + sheet + '\033[0m')

    sheet = sheets.get()[sheet]

    valid = {"yes":"yes",   "y":"yes",    "ye":"yes",
             "no":"no",     "n":"no",
             "quit":"quit", "qui":"quit", "qu":"quit", "q":"quit"}
    if default == None:
        prompt = " [y/n/q] "
    elif default == "yes":
        prompt = " [Y/n/q] "
    elif default == "no":
        prompt = " [y/N/q] "
    elif default == "quit":
        prompt = " [y/n/Q] "
    else:
        raise ValueError("invalid default answer: '%s'" % default)
    while 1:
        sys.stdout.write(sheet + prompt)
        choice = input().lower()
        if default is not None and choice == '':
            print("Delete\033[1;31m %s \033[0mfile " % sheet)
            os.remove(sheet)
            return default
        elif choice in valid.keys():
            print("Delete\033[1;31m %s \033[0mfile " % sheet)
            os.remove(sheet)
            return valid[choice]
        else:
            sys.stdout.write("Please respond with 'yes', 'no' or 'quit'.\n")
예제 #2
0
파일: sheet.py 프로젝트: mardim91/cheat
def path(sheet):
    """ Returns a sheet's filesystem path """
    return sheets.get()[sheet]
예제 #3
0
파일: sheet.py 프로젝트: mardim91/cheat
def is_writable(sheet):
    """ Predicate that returns true if the sheet is writeable """
    return sheet in sheets.get() and os.access(path(sheet), os.W_OK)
예제 #4
0
파일: sheet.py 프로젝트: mardim91/cheat
def exists_in_default_path(sheet):
    """ Predicate that returns true if the sheet exists in default_path"""
    default_path_sheet = os.path.join(sheets.default_path(), sheet)
    return sheet in sheets.get() and os.access(default_path_sheet, os.R_OK)
예제 #5
0
파일: sheet.py 프로젝트: mardim91/cheat
def exists(sheet):
    """ Predicate that returns true if the sheet exists """
    return sheet in sheets.get() and os.access(path(sheet), os.R_OK)