Source code for fortrace.utility.applications.file_manager.posix_file_manager

import os
from abc import ABCMeta
from pathlib import PurePosixPath

from fortrace.utility.applications.application import (
    ApplicationEvent,
    ApplicationType,
    GenericApplication,
)
from fortrace.utility.applications.file_manager.file_manager import GenericFileManager


[docs] class PosixFileManager(GenericFileManager, metaclass=ABCMeta):
[docs] def open_file( self, path: os.PathLike, app_type: ApplicationType, app_name: str ) -> GenericApplication: path = PurePosixPath(path) if path.parent != PurePosixPath(): self.browse_to_directory(path.parent) self.focus_on_item(path.name) self._qs.send_key_combination("ret") # pylint: disable-next=import-outside-toplevel from fortrace.utility.applications.application_factory import get_application new_app = get_application(app_type, app_name, self._qs, self._parent_notifier) self._parent_notifier( ApplicationEvent.NEW_APPLICATION_OPENED, application_reference=new_app ) return new_app
[docs] def move_file( self, source: os.PathLike, destination: os.PathLike, overwrite: bool = False, ignore_suffix: bool = True, ): source = PurePosixPath(source) destination = PurePosixPath(destination) self._move_file(source, destination, overwrite, ignore_suffix)
[docs] def show_hidden(self): self._qs.send_key_combination("ctrl-h") self._show_hidden = ~self._show_hidden