Пример #1
0
def checkIfSyncedUser():
    syncDiff = syncDB(onlyReturnDiff=True)
    if syncDiff[
            'diff']:  # if we detect a difference between the sheet and our local db
        sel = inputy(
            f'local database has {syncDiff["localDB"]} entries, while sheet has {syncDiff["sheet"]} entries. sync with sheet? \[Y/n\]',
            'r>')
        if sel.lower() != 'n':
            syncDB()
Пример #2
0
def open_link(products):
    val = inputy("Enter a product number to open: ", "b")
    val_int = int(val)
    if (val_int > 0) and (val_int < len(products)):
        printy(f"Opening link {products[val_int].getUrl()}", "y")
        webbrowser.open(products[val_int].getUrl())
        return True
    else:
        return False
Пример #3
0
def main():
    args = parser.parse_args()

    if args.importd:
        importFromJson()
    elif args.export:
        exportToJson()
    elif args.sync:
        syncDB()
    else:
        dbLen = str(
            len(
                pickle.load(
                    open(
                        str(Path(__file__).resolve().parents[0]) +
                        '/answers.pkl', 'rb'))))
        answersLen = str(
            len(
                json.load(
                    open(
                        str(Path(__file__).resolve().parents[0]) +
                        '/answers.json', 'r'))))

        # if we detect a difference in the db's, ask if user wants to sync
        checkIfSyncedUser()

        # json/db stuff
        printy(f'local database has {dbLen} answers', 'p')
        printy(f'json has {answersLen} answers', 'o')
        print('')

        sel = inputy(
            '[o]import@ database from json or [p]export@ database to json? \[[o]i@/[p]e@]'
        ).lower()
        if sel == 'i':
            printy('importing..', 'o')
            importFromJson()
        elif sel == 'e':
            printy('exporting..', 'p')
            exportToJson()
Пример #4
0
def update(manifestData, settingsVar):
    answer = inputy(
        "Do you want to install " + manifestData['versionName'] + " ? (Y/n) ",
        "c")
    if answer.lower() != "n":
        try:
            savedFile = downloadFile(manifestData['download'], "newZCrypt",
                                     ".py")
            printy("ZCrypt will now quit. Please run the new version file")
            settingsVar['deleteOld'] = os.path.basename(
                __file__) + "|" + savedFile
            settings.writeSettings(settingsVar)
        except:
            printy(
                "Error : " + manifestData['versionName'] +
                " could not be downloaded. Are you connected to the internet ?",
                "m")
            return False
        else:
            return True
    else:
        return False
    while onscreen("./captures/missions ok.png"):
        click_to("./captures/missions ok.png")
    time.sleep(5)
    while onscreen("./captures/skip waiting for stats.png"):
        click_to("./captures/skip waiting for stats.png")
    time.sleep(5)
    while onscreen("./captures/play again.png"):
        click_to("./captures/play again.png")

    time.sleep(10)
    print("Queuing up again!")
    queue()


# End main process

# Start auth + main script
print("Developed by Aki from MoeKawaiiSpace.")

auth = inputy(f'Please enter Aki Private Password:'******'hestia':
    printy(f"Authorization successful!", "nB")
    auto.alert("Press OK when you're in a TFT lobby!")
    print("Bot started, queuing up!")
    queue()
else:
    print(f"404 error.", "rB")
    exit()
# End auth + main script
Пример #6
0
def view():
    printy(f"╔══════ ≪ °❈° ≫ ══════╗", "b>B")
    printy(f" ")
    printy(f"   Mushmash's Viewbot", "rB")
    printy(f" ")
    printy(f"╚══════ ≪ °❈° ≫ ══════╝", "b>B")
    printy
    printy(f" ")

    listingURL = inputy(" Enter Link : ", "rB")
    os.system('cls')

    printy(f"╔══════ ≪ °❈° ≫ ══════╗", "b>B")
    printy(f" ")
    printy(f"   Mushmash's Viewbot", "rB")
    printy(f" ")
    printy(f"╚══════ ≪ °❈° ≫ ══════╝", "b>B")
    printy
    printy(f" ")
    printy(f" \[          0%\] Testing Link", "nB")
    time.sleep(1)
    os.system('cls')

    printy(f"╔══════ ≪ °❈° ≫ ══════╗", "b>B")
    printy(f" ")
    printy(f"   Mushmash's Viewbot", "rB")
    printy(f" ")
    printy(f"╚══════ ≪ °❈° ≫ ══════╝", "b>B")
    printy
    printy(f" ")
    printy(f" \[==        15%\] Testing Link", "nB")
    time.sleep(1)
    os.system('cls')

    printy(f"╔══════ ≪ °❈° ≫ ══════╗", "b>B")
    printy(f" ")
    printy(f"   Mushmash's Viewbot", "rB")
    printy(f" ")
    printy(f"╚══════ ≪ °❈° ≫ ══════╝", "b>B")
    printy
    printy(f" ")
    printy(f" \[=====     45%\] Testing Link", "nB")
    time.sleep(1)

    os.system('cls')

    printy(f"╔══════ ≪ °❈° ≫ ══════╗", "b>B")
    printy(f" ")
    printy(f"   Mushmash's Viewbot", "rB")
    printy(f" ")
    printy(f"╚══════ ≪ °❈° ≫ ══════╝", "b>B")
    printy
    printy(f" ")
    printy(f" \[========  70%] Testing Link", "nB")
    time.sleep(1)

    os.system('cls')

    printy(f"╔══════ ≪ °❈° ≫ ══════╗", "b>B")
    printy(f" ")
    printy(f"   Mushmash's Viewbot", "rB")
    printy(f" ")
    printy(f"╚══════ ≪ °❈° ≫ ══════╝", "b>B")
    printy
    printy(f" ")

    viewCount = int(inputy(" Enter Views : ", "rB"))
    printy(f" ")
    printy

    os.system('cls')

    printy(f"╔══════ ≪ °❈° ≫ ══════╗", "b>B")
    printy(f" ")
    printy(f"   Mushmash's Viewbot", "rB")
    printy(f" ")
    printy(f"╚══════ ≪ °❈° ≫ ══════╝", "b>B")
    printy
    printy(f" ")

    os.system('cls')
    printy(f" \[=\] Sending views! ", "nB")
    printy(f" ")
    printy(f" \[!\] Do not close this window \[!\] ", "rB")
    print
    start_time = time.time()
    for i in range(viewCount):
        r = requests.get(listingURL)

    os.system('cls')
    printy(f" \[+\] Views Sent! ", "nB")
    printy(f" ", "nB")
    printy(f" Thanks For Using my Awesome Viewbot <3 ", "nB")
Пример #7
0
def query(question, questionType, draggables=None, specificness=95):
    '''
    returns an object in the format {'question': question, 'answer': answer}
    if the answer is not found in the database, manual input of the answer
    is required. click on the url in the terminal and paste the answer
    into the input

    i know specificness is dumb. thats why i used it.
    specificness is on a scale from 0 to 100, 0 being everything matches and 100 being only exact matches

    example call: print(query('who was thomas jefferson')['answer'])
    '''
    answersDB = pickle.load(open(str(Path(__file__).resolve().parents[0]) + '/answers.pkl', 'rb'))

    # generate list of all known questions
    logger.debug(answersDB)
    knownQuestions = []  # perhaps implement stop word filtering later on: https://en.wikipedia.org/wiki/Stop_words
    for answer in answersDB:
        knownQuestions.append(answer['question'])

    # find the closest match to our question
    foundQuestion = process.extractOne(question, knownQuestions)
    logger.debug(f'found question:  {foundQuestion[0]}, with confidence {str(foundQuestion[1])}')

    if foundQuestion[1] < specificness: # if the found question wasnt close enough to our question, get the answer to our question
        # generate question url so that the user can get datadome key
        question = sanitize(question)
        question = question.replace(' ', '+')
        questionUrl = f'{BASE_URL}app/ask?entry=top&q={question}'

        # make the request look like it came from a user browser EDIT: it now does come from a fkin user browser
        print(questionUrl)
        print('\n')
        answersBrainly = []
        
        if questionType == 'drag':
            for drag in draggables:
                match = inputy(f'[g]\[press enter when finished]@ [n] {drag} matches to : ')
                answerCurrent = {'drag': drag, 'match': match}
                answersBrainly.append(answerCurrent)
            
        else: # most question types
            moreAns = True
            while moreAns:
                answerCurrent = inputy(f'[g]\[press enter when finished]@ [n]answer #{len(answersBrainly)}: ')
                if answerCurrent == '':
                    moreAns = False
                else:
                    answersBrainly.append(answerCurrent)

        confirm = inputy(f'CONFIRM that the answers TO [c]{question}@ ARE [n]{str(answersBrainly)}@? \[[n]Y@/[r]n@] ')
        if confirm.lower() != 'n':
            answersDB.append({'question': question, 'questionType': questionType, 'answer': answersBrainly})
            pickle.dump(answersDB, open(str(Path(__file__).resolve().parents[0]) + '/answers.pkl', 'wb'))
            return {'question': question, 'questionType': questionType, 'answer': answersBrainly}
        else:
            return query(question, questionType, draggables)

    else:
        for answer in answersDB:
            if foundQuestion[0] == answer['question']:
                return {'question': answer['question'], 'answer': answer['answer']}
Пример #8
0
def runSettings(settings):
    print("")

    dateFormatDict = {
        "1": "dd/mm/YYYY",
        "2": "dd/mm/YY",
        "3": "YYYY-mm-dd",
        "4": "plain"
    }

    print("\n")
    printy("You are now in the settings !", "c")
    printy("Here, are the options you can change :", "c")
    printy("    - 1: date display format", "c")
    printy("    - 2: warn before overwrite", "c")
    printy("    - 3: decrypted content output mode", "c")
    printy("    - 4: encryption and decryption algorithm", "c")
    printy("    - 5: RSA keys size (number of bits)", "c")
    printy("    - 6: Fetch ZCrypt updates\n", "c")

    printy(
        "If you want to see the current value of an option, type \"see\" followed by the number linked to the option",
        "c")
    printy(
        "If you want to change this value, type \"set\" followed by the number linked to the option",
        "c")
    printy("If you want to exit this page, you can also type \"exit\"", "c")

    while True:
        printy(
            "You are currenly in settings ! Encrypt and decrypt are not part of this context. To go back to the main menu type \"exit\"",
            'y')
        settingsCmd = input(">>> ")

        if 'see' in settingsCmd and len(settingsCmd) == 5:
            if settingsCmd[4] == '1':
                print("The date format is currently set to",
                      settings['dateFormat'])

            elif settingsCmd[4] == '2':
                print((
                    "Warning before overwrite is currently enabled"
                    if settings['warnBeforeOW'] else
                    "No warning will be shown before you overwrite an existing file"
                ))

            elif settingsCmd[4] == '3':
                if settings['outModeDecrypt'] != 0:
                    printy(
                        "Any content you decrypt will be outputed to " +
                        ("a file" if settings['outModeDecrypt'] == 1 else
                         "screen directly"), "c")
                else:
                    printy(
                        "ZCrypt will always ask you if you want to save your decrypted content to a file or if you want to print it on screen",
                        "c")

            elif settingsCmd[4] == '4':
                if settings['encryptionMode'] == "ask":
                    printy(
                        "ZCrypt will always ask you if you want to encrypt a message using ZCrypt algorithm or RSA",
                        'c')
                elif settings['encryptionMode'] == "RSA":
                    printy("ZCrypt will always encrypt using RSA", "c")
                else:
                    printy(
                        "ZCrypt will always encrypt your messages using ZCrypt algorithm"
                    )

            elif settingsCmd[4] == '5':
                printy(
                    "RSA uses public and private keys to encrypt/decrypt content. These keys are made of very high numbers (more than 20 digits)",
                    "c")
                printy(
                    "Currently RSA keys have a length of " +
                    str(settings['rsaKeyBytes']) + " bits", "c")

            elif settingsCmd[4] == "6":
                printy("ZCrypt can automatically fetch updates for you", "c")
                if settings["checkForUpdates"] == "atStart":
                    printy(
                        "Currently ZCrypt checks for updates every time you start ZCrypt",
                        "c")
                elif settings["checkForUpdates"] == "atOperation":
                    printy(
                        "Currenly ZCrypt check for updates every time an operation is performed (decryption or encryption) AND at ZCrypt start",
                        "c")
                else:
                    printy("ZCrypt will never check if updates are available",
                           "c")

            else:
                printy(
                    "Error ! The option you tried to view does not exists or does have a number assigned to it",
                    "m")

        elif 'set' in settingsCmd and len(settingsCmd) == 5:
            if settingsCmd[4] == '1':
                printy(
                    "You have the choice between 4 date formats : 1) dd/mm/YYYY, 2) dd/mm/YY, 3) YYYY-mm-dd or just the 4) plain text format",
                    'c')
                choice = inputy(
                    "Please enter the number of the date format you want to use (1, 2, 3 or 4) : ",
                    'c')
                try:
                    if int(choice) <= 4 and int(choice) > 0:
                        settings['dateFormat'] = choice
                        writeSettings(settings)
                        printy(
                            'Success : set date format to ' +
                            dateFormatDict[choice], 'n')
                    else:
                        printy(
                            "Error : " + choice + " is not an offered choice",
                            'm')
                except ValueError:
                    printy("Error : Please enter an integer", "m")

            elif settingsCmd[4] == '2':
                printy(
                    "Sometimes when you encrypt a file, another file with the same name already exists",
                    'c')
                printy(
                    "When this happens, ZCrypt offers you to choice between overwriting the existing file or doing nothing",
                    'c')
                printy(
                    "When the file is overwritten, you lose all the data stored on it. This is why we recommend you to backup its content before overwriting",
                    'c')
                print("")
                printy("You can disable this warning by typing \"disable\"",
                       'c')
                printy(
                    "You don't want to disable this warning type anything except \"disable\"",
                    'c')
                printy(
                    "Please be careful when disabling this warning. You could lose important data and ZCrypt assumes no responsability in this. Do it at your own risk",
                    'm')
                testdisable = input("Input : ")
                if testdisable == "disable":
                    settings['warnBeforeOW'] = False
                    writeSettings(settings)
                    printy(
                        "Success : Warning before overwrite is now disabled",
                        'n')
                else:
                    printy("Nothing has been changed", 'n')
                    printy("Returning...", 'n')

            elif settingsCmd[4] == "3":
                printy("3 values are available for this setting : 0, 1 and 2",
                       "c")
                printy(
                    "If you choose 0, ZCrypt will always ask you if you want to save to a file or just show the content on screen",
                    "c")
                printy(
                    "If you choose 1, ZCrypt will always save your decrypted content to a file",
                    "c")
                printy(
                    "If you choose 2, ZCrypt will always output your descrypted content to your screen",
                    "c")
                printy(
                    "Note : mode 2 works just like ZCypt used to function in releases before V2.3",
                    'c')
                choice = input("Input : ")
                try:
                    if 0 <= int(choice) <= 2:
                        settings['outModeDecrypt'] = int(choice)
                        writeSettings(settings)
                        printy("Success : set output mode to " + choice, 'n')
                    else:
                        printy(
                            "Error : " + choice + " is not an offered choice",
                            "m")
                except ValueError:
                    printy("Error : please enter an integer", "m")

            elif settingsCmd[4] == '4':
                printy(
                    "ZCrypt offers you 2 different encryption algorithms for encrypting your messages",
                    "c")
                printy(
                    "3 values are available for this setting : ask, RSA and zcrypt",
                    "c")
                printy(
                    "If you choose ask, ZCrypt will always ask you if you want to use RSA or ZCrypt custom algorithm to encrypt your messages",
                    "c")
                printy(
                    "If you choose RSA, your messages will always be encrypted using RSA",
                    "c")
                printy(
                    "Lastly, as the name suggests, if you choose zcrypt, ZCrypt will always encrypt your messages using ZCrypt algorithm",
                    "c")
                choice = input("Input : ").lower()
                if choice == "ask":
                    settings['encryptionMode'] = "ask"
                    writeSettings(settings)
                    printy("Successfully set encryption mode to " + choice,
                           'n')
                elif choice == "rsa":
                    settings['encryptionMode'] = "RSA"
                    writeSettings(settings)
                    printy("Successfully set encryption mode to " + choice,
                           'n')
                elif choice == "zcrypt":
                    settings['encryptionMode'] = "zcrypt"
                    writeSettings(settings)
                    printy("Successfully set encryption mode to " + choice,
                           'n')
                else:
                    printy(
                        "The value you entered is not valid. Nothing has been changed",
                        "m")

            elif settingsCmd[4] == '5':
                printy(
                    "RSA uses public and private keys to encrypt/decrypt content. These keys are made of very high numbers (more than 20 digits)",
                    "c")
                printy(
                    "You can set the length of these numbers by entering the number of bits which must be a pow of 2 (256, 512, 1024, 2048...)",
                    "c")
                printy(
                    "The highest number of bits, the higher security but also the longer time to generate the keys",
                    "c")
                printy(
                    "By default this value is set to 1024. We do not recommend to enter a number lower than 256 (too low encryption) and higher than 4096 (your computer could take minutes to generate keys)",
                    "c")
                choice = input("Input : ")
                try:
                    choice = int(choice)
                    assert (
                        choice & (choice - 1) == 0
                    ) and choice != 0  #checking if choice is power of 2
                    if choice > 4096 or choice < 256:
                        printy(
                            "Warning : you entered a non-recomended value. Expect low security/crashes/slowness when generating keys",
                            'y')
                        settings['rsaKeyBytes'] = choice
                        writeSettings(settings)
                        printy(
                            "Success : set RSA keys length to " + str(choice) +
                            " bytes", 'n')
                    else:
                        settings['rsaKeyBytes'] = choice
                        writeSettings(settings)
                        printy(
                            "Success : set RSA keys length to " + str(choice) +
                            " bytes", 'n')
                except ValueError:
                    printy("Error : please enter an integer", "m")
                except AssertionError:
                    printy("Error : please enter a power of 2", "m")

            elif settingsCmd[4] == '6':
                printy(
                    "ZCrypt can automatically check for new updates and download them if necessary",
                    "c")
                printy(
                    "By default, ZCrypt does that every time you start however you can change this behavior",
                    "c")
                printy("3 values are available for this setting", "c")
                printy(
                    "If you enter start which is the default value for this setting that's to available updates will be fetched at start",
                    "c")
                printy(
                    "If you enter operation, ZCrypt will check for available updates every time you start ZCrypt AND every time you encrypt or decrypt something",
                    "c")
                printy(
                    "If you enter never ZCrypt will NEVER check for updates",
                    "c")
                choice = input("Input : ").lower()
                if choice == "start":
                    settings['checkForUpdates'] = "atStart"
                    writeSettings(settings)
                    printy("Success : ZCrypt will check for updates at boot",
                           "n")
                elif choice == "operation":
                    settings['checkForUpdates'] = "atOperation"
                    writeSettings(settings)
                    printy(
                        "Success : ZCrypt will check for updates each time an operation is performed",
                        "n")
                elif choice == "never":
                    settings['checkForUpdates'] = "never"
                    writeSettings(settings)
                    printy("Success : ZCrypt will never check for updates",
                           "n")
                else:
                    printy("Error : this is not an offered choice", "m")

            else:
                printy(
                    "Error : the option you tried to view does not exists or does have a number assigned to it",
                    "m")

        elif settingsCmd == 'exit':
            break

        else:
            printy(
                "Error : either this command is unknown either it does not use the needed format ! See the manual to learn more ",
                "m")
Пример #9
0
def prepareDecrypted():
    global privKey, Error_Code

    fileName = fdialog.askopenfilename()
    try:
        with open(fileName) as file:
            lines = file.readlines()
    except (FileNotFoundError, IOError):
        printy(
            "Error : this file does not exist or you do not have permissions to access it",
            "m")
        Error_Code = "E101"
        return

    if len(lines) == 5:
        printy("Info : entering ZCrypt decryption mode...", "c")
        if ZfileCheck(fileName):
            printy(
                "Success : your file was checked and no file integrity errors were found. Continuing...",
                "n")
            ZretrieveKey()
            finalDecrypted = decryptMessage("z")
            senderDecr = decryptSender("z")
            recieverDecr = decryptReciever("z")
            dateDecr = decryptTime("z")
        else:
            printy(
                "Error ! Either the file specified does not use the needed format for the program either it is corrupted.",
                "m")
            print("Aborting...")
            return

    elif len(lines) == 1:
        printy("Info : entering RSA decryption mode...", "c")
        if RfileCheck(fileName):
            printy(
                "Sucess : your file was checked and no file integrity errors were found. Continuing...",
                "n")
            privKey = RretrieveKey()
            if privKey != None:
                try:
                    finalDecrypted = decryptMessage("rsa")
                    senderDecr = decryptSender("rsa")
                    recieverDecr = decryptReciever("rsa")
                    dateDecr = decryptTime("rsa")
                except rsa.DecryptionError:
                    printy(
                        "Error : private key is not valid or does not match the public key used to encrypt this message",
                        "m")
                    return
            else:
                print("Aborting...")
                return
        else:
            printy(
                "Error ! Either the file specified does not use the needed format for the program either it is corrupted.",
                "m")
            print("Aborting...")
            return

    else:
        printy(
            "Error : this file does not match neither zcrypt neither rsa format",
            "m")
        Error_Code = "E201"
        return

    #list of the months to know which month number corresponds to what month -> used for date format plain text
    references = {
        'months': {
            '01': 'january',
            '02': 'february',
            '03': 'march',
            '04': 'april',
            '05': 'may',
            '06': 'june',
            '07': 'july',
            '08': 'august',
            '09': 'september',
            '10': 'october',
            '11': 'november',
            '12': 'december'
        }
    }

    printy("Success : file decrypted", "n")
    print("")

    finalEntireDate, finalEntireTime = '', ''
    dateFormat = settingsVar['dateFormat']

    #changing the final str according to what user specified in dateFormat parameter
    if dateFormat == '1':
        finalEntireDate = dateDecr[0] + '/' + dateDecr[1] + '/' + dateDecr[2]
    elif dateFormat == '2':
        finalEntireDate = dateDecr[0] + '/' + dateDecr[1] + '/' + dateDecr[2][
            2:4]
    elif dateFormat == '3':
        finalEntireDate = dateDecr[2] + '/' + dateDecr[1] + '/' + dateDecr[0]
    elif dateFormat == '4':
        month_text = references['months'][dateDecr[1]]

        #Used to find the day of the week with the date number
        dayWeek = miscs.findDayName(dateDecr[0] + ' ' + dateDecr[1] + ' ' +
                                    dateDecr[2])

        #This part analysis what is the day and adds the 'th', 'st'... at the end
        completeDay = ''
        if dateDecr[0] == 1:
            completeDay = dateDecr[0] + 'st'
        elif dateDecr[0] == 2:
            completeDay = dateDecr[0] + 'nd'
        elif dateDecr[0] == 3:
            completeDay = dateDecr[0] + 'rd'
        else:
            completeDay = dateDecr[0] + 'th'

        finalEntireDate = dayWeek + ", " + month_text + " the " + completeDay + " " + dateDecr[
            2]

    finalEntireTime = dateDecr[3] + ':' + dateDecr[4] + ':' + dateDecr[5]

    dicoOutput = {
        "Timestamp": finalEntireDate + ' at ' + finalEntireTime,
        "Sender": senderDecr,
        "receiver": recieverDecr,
        "Message": finalDecrypted
    }

    if settingsVar['outModeDecrypt'] == 0:
        choiceMode = inputy(
            "Would you like to output the decrypted content to be saved to a file or simply to be displayed on screen ? (PRINT/file) ",
            "c")
        if choiceMode.lower() == "file":
            printy("Info : entering file mode...")
            saveDecryptedContent(dicoOutput)
        else:
            printy("Info : entering print mode...")
            printDecryptedContent(dicoOutput)

    elif settingsVar['outModeDecrypt'] == 1:
        saveDecryptedContent(dicoOutput)
    else:
        printDecryptedContent(dicoOutput)

    if settingsVar['checkForUpdates'] == "atOperation":
        result = nettools.checkForUpdates()
        if result != None and nettools.update(result, settingsVar):
            input("Press any enter to continue...")
            sys.exit()
Пример #10
0
                    "Error : please make sure pip is installed and try again")
                sys.exit()
        else:
            sys.exit()

    #Loading utils only after all modules installed
    import utils.miscs as miscs
    import utils.settings as settings
    import utils.nettools as nettools

    #Loading settings from file routine
    try:
        settingsVar = settings.loadSettings()
    except (IndexError, KeyError, AssertionError):
        printy("Error : ZCrypt-settings file seems to be corrupt", "m")
        answer = inputy("Do you want to restore it to defaults (Y/n) ? ")
        if answer.lower() != "n":
            try:
                os.remove("ZCrypt-settings")
                settings.writeSettings()
                settingsVar = settings.loadSettings()
            except:
                printy(
                    "Error : ZCrypt was unable to automatically recover the settings file, please re-install ZCrypt if this problem keeps happening",
                    "m")
                sys.exit()
        else:
            sys.exit()

    except FileNotFoundError:
        settings.writeSettings()
Пример #11
0
 def prompt(self, msg):
     if self.mode:
         thisInput = inputy('[c]\[debug:prt\]@ ' + msg + '> ')
         return thisInput
Пример #12
0
 def prompt(self, msg):
     thisInput = inputy('[c]\[clik:prt\]@ ' + msg + '> ')
     return thisInput