Esempio n. 1
0
def c_opt(fp, ln, lt):
    links = load_links()  # Load links dict
    settings = load_settings()  # Load settigs dict

    # if link name not in links list
    if ln in links.keys():
        print('Связка с таким именем существует.')
        return 1

    # if link type 'NOTYPE'
    if lt == 'NOTYPE':
        # create files, update link
        c_path = create_file(ln + '.c')
        out_path = create_file(ln + '.out')
        link_info = ['c', c_path, out_path]
        links[ln] = link_info
        update_links(links)
    else:
        try:
            c_path = create_file(fp[C_SPEC])
            out_path = create_file(ln + '.out')
            link_info = ['c', c_path, out_path]
            links[ln] = link_info
            update_links(links)
        except KeyError:
            print(
                'Произошла ошбика создания связки. Неверно указано расширение создаваемого файла.'
            )
            return 1
        except:
            print(
                'Произошла ошбика создания связки. Неверно указан файл или не удалось создать файл с таким именем.'
            )
            return 1
Esempio n. 2
0
def inplace_opt(fp, ln, lt):
    links = load_links()  # load links dict
    if ln in links.keys():  # If this link is not in the list of links
        print('Связка с таким именем уже существует.')  # Inform user
        return 1  # return Error

    # Depending on the type of links, we create files and create a link
    if lt == 'CASM':
        asm_path = create_file(fp[ASM_SPEC])
        c_path = create_file(fp[C_SPEC])
        out_path = create_file(ln + '.out')
        link_info = ['sc', c_path, asm_path, out_path]
    elif lt == 'C':
        c_path = create_file(fp[C_SPEC])
        out_path = create_file(ln + '.out')
        link_info = ['c', c_path, out_path]
    elif lt == 'ASM':
        asm_path = create_file(fp[ASM_SPEC])
        out_path = create_file(ln + '.out')
        link_info = ['s', asm_path, out_path]
    elif lt == 'NASM':
        asm_path = create_file(fp[NASM_SPEC])
        out_path = create_file(ln + '.out')
        link_info = ['nasm', asm_path, out_path]
    elif lt == 'NOTYPE':
        return 1

    # Update links dict
    links[ln] = link_info
    update_links(links)
    return 0
Esempio n. 3
0
def nasm_opt(fp, ln, lt):
    links = load_links()
    settings = load_settings()

    if ln in links.keys():
        print('Связка с таким именем существует.')
        return 1

    if lt == 'NOTYPE':
        asm_path = create_file(ln + '.asm')
        out_path = create_file(ln + '.out')
        link_info = ['nasm', asm_path, out_path]
        links[ln] = link_info
        update_links(links)
    else:
        try:
            asm_path = create_file(fp[NASM_SPEC])
            out_path = create_file(ln + '.out')
            link_info = ['nasm', asm_path, out_path]
            links[ln] = link_info
            update_links(links)
        except KeyError:
            print(
                'Произошла ошбика создания связки. Неверно указано расширение создаваемого файла.'
            )
            return 1
        except:
            print(
                'Произошла ошбика создания связки. Неверно указан файл или не удалось создать файл с таким именем.'
            )
            return 1
Esempio n. 4
0
File: rml.py Progetto: sttell/ASMR
def f_opt(args, links):
    link_name = args[0]
    # if link name in links list
    if link_name in links.keys():
        # confirm operation
        asw = input(
            f'Вы уверены, что хотите удалить связку {link_name} вместе с ее файлами? (Да/Нет || Yes/No)\n>>> '
        )
        # if confirmed
        if asw.strip().lower() in 'yes y yeah ye д да':
            # Delete all files
            for file in links[link_name][1:]:

                try:
                    os.remove(file)
                except:
                    print('Файл {} не найден. Удаление продолжается.'.format(
                        file))

            # delete link
            del links[link_name]
            # update links settings
            update_links(links)

            print(
                f'Связка с именем {link_name} успешно удалена. Исполняемые файлы удалены.'
            )

        # if do not confirmed
        else:
            print('Удаление отменено.')

    else:
        print('Связки с таким именем не существует.')
Esempio n. 5
0
File: rml.py Progetto: sttell/ASMR
def run(args, opts):
    links = load_links()  # Load links
    opt_dict = {'-f': f_opt}  # Options dict 'opt_name' -> function

    # if args list not empty
    if args:
        link_name = args[0]  # get link

        # if options list
        if opts:

            try:
                opt_dict[opts[0]](args, links)  # run option function

            except KeyError:
                print(
                    f'Опции "{opts[0]}" не существует. Для справки введите asmr help rml.'
                )

        else:

            if link_name in links.keys():
                asw = input(
                    f'Вы уверены, что хотите удалит связку {link_name}?(Да/Нет || Yes/No)\n>>> '
                )
                if asw.strip().lower() in 'yes y yeah ye д да':
                    del links[link_name]
                    update_links(links)
                    print(
                        f'Связка с именем {link_name} успешно удалена. Исполняемые файлы остались.'
                    )
                else:
                    print('Удаление отменено.')
            else:
                print('Связки с таким именем не существует.')

    else:
        print('Укажите имя связки которую хотите удалить.')