Example #1
0
def list_files(applet_id, verbose):
    if applet_id is None:
        applet_id = AppletIds.ALPHAWORD
    with Device.connect() as device:
        files = file.list_files(device, applet_id)
        if not verbose:
            files = [{'name': f.name, 'space': f.space, 'alloc_size': f.alloc_size} for f in files]
        return files
Example #2
0
def read_all_files(applet_id, path, name_format):
    if applet_id is None:
        applet_id = AppletIds.ALPHAWORD
    with Device.connect() as device:
        files = file.list_files(device, applet_id)
        for file_attrs in files:
            text = read_text(device, applet_id, file_attrs)
            if len(text):
                write_file_with_format(file_attrs, text, path, name_format)
Example #3
0
def clear_file(applet_id, file_name_or_space):
    if applet_id is None:
        applet_id = AppletIds.ALPHAWORD
    with Device.connect() as device:
        file_attrs = file.get_file_by_name_or_space(device, applet_id, file_name_or_space)
        if file_attrs:
            file.clear_file(device, applet_id, file_attrs.file_index)
        else:
            raise NeotoolsError('File not found')
Example #4
0
def write_file(file_name_or_space, text):
    with Device.connect() as device:
        raw_bytes = import_text_to_neo(text)
        device.dialogue_start()
        file_attrs = file.get_file_by_name_or_space(device, AppletIds.ALPHAWORD, file_name_or_space)
        if file_attrs:
            file.raw_write_file(device, raw_bytes, AppletIds.ALPHAWORD, file_attrs.file_index, True)
        else:
            file.create_file(device, file_name_or_space, 'write', text, AppletIds.ALPHAWORD)
        device.dialogue_end()
Example #5
0
def read_file(applet_id, file_name_or_space, path, name_format):
    if applet_id is None:
        applet_id = AppletIds.ALPHAWORD

    with Device.connect() as device:
        file_attrs = file.get_file_by_name_or_space(device, applet_id, file_name_or_space)
        if file_attrs is None:
            raise NeotoolsError('Text file with name or space %s does not exist' % file_name_or_space)

        text = read_text(device, applet_id, file_attrs)
        if path:
            write_file_with_format(file_attrs, text, path, name_format)
        else:
            print(text)
Example #6
0
def applet_write_settings(applet_id, ident, values):
    with Device.connect() as device:
        for flag in [7, 15]:
            settings = get_settings(device, applet_id, flag)
            item = settings.settings.get(ident)
            if item:
                break
        if item is None:
            raise NeotoolsError('Settings item with id=%s not found' % ident)
        if item.type == AppletSettingsType.APPLET_ID:
            applets = read_applets(device)
            if not any(item.data == applet.id for applet in applets):
                raise NeotoolsError('Applet with id=%s not found' % item.data)
        item.change_setting(values)
        set_settings(device, applet_id, item)
Example #7
0
def applet_read_settings(applet_id, flags):
    default_flags = [0, 7, 15]
    if len(flags) == 0:
        flags = default_flags

    with Device.connect() as device:
        # Retrieve system labels for better UI.
        system_settings = AppletSettings([])
        for flag in default_flags:
            system_settings.merge_settings(get_settings(device, 0, flag))

        settings = AppletSettings([])
        for flag in flags:
            s = get_settings(device, applet_id, flag)
            settings.merge_settings(s)

        settings.labels.update(system_settings.labels)
        settings.descriptions.update(system_settings.descriptions)
        return settings.to_dict()
Example #8
0
def list_applets():
    with Device.connect() as device:
        return read_applets(device)
Example #9
0
def get_mode():
    with Device.connect(flip_to_comms=False) as device:
        mapping = {HID_PRODUCT_ID: 'keyboard', COM_PRODUCT_ID: 'comms'}
        mode = mapping.get(device.original_product, 'unknown')
        print(mode)
Example #10
0
def flip_to_keyboard():
    with Device.connect(flip_to_comms=False) as device:
        if device.original_product == COM_PRODUCT_ID:
            device.flip_to_keyboard_mode()
Example #11
0
def flip_to_communicator():
    with Device.connect(flip_to_comms=True, dispose=False):
        pass