File Commander

There are 16 replies in this Thread which was already clicked 14,430 times. The last Post () by Lululla.

  • egj_soldier added a new file:

  • egj_soldier added a new version:

    Box: GigaBlue Quad4K

    Image: OpenATV 6.3 // OpenPLI 7.0 + teamBlue 6.3 + OpenVision 7.0 (Multiboot)

    Softcam: GCam 2.0, NCam 9.7, OSCam 11512-r795 (CS)


    Box: GigaBlue UE4K

    Image: OpenATV 6.3 // OpenPLI 7.0 + OpenHDF 6.4 + OpenViX 5.2 (Multiboot)

    Softcam: GCam 2.0, NCam 9.7, OSCam 11512-r795 (CS)


    Box: GigaBlue Quad Plus

    Image: OpenATV 6.3

    Softcam: GCam 2.0, NCam 9.7, OSCam 11512-r795 (CS)


    Box: GigaBlue Ultra UE

    Image: OpenATV 6.3

    Softcam: GCam 2.0, NCam 9.7, OSCam 11512-r795 (CS)

  • egj_soldier added a new version:

    Box: GigaBlue Quad4K

    Image: OpenATV 6.3 // OpenPLI 7.0 + teamBlue 6.3 + OpenVision 7.0 (Multiboot)

    Softcam: GCam 2.0, NCam 9.7, OSCam 11512-r795 (CS)


    Box: GigaBlue UE4K

    Image: OpenATV 6.3 // OpenPLI 7.0 + OpenHDF 6.4 + OpenViX 5.2 (Multiboot)

    Softcam: GCam 2.0, NCam 9.7, OSCam 11512-r795 (CS)


    Box: GigaBlue Quad Plus

    Image: OpenATV 6.3

    Softcam: GCam 2.0, NCam 9.7, OSCam 11512-r795 (CS)


    Box: GigaBlue Ultra UE

    Image: OpenATV 6.3

    Softcam: GCam 2.0, NCam 9.7, OSCam 11512-r795 (CS)

  • The "FileTransfer.pyo" module unfortunately does not exists in OpenATV 6.2 image. I don't know why :). But in OpenATV 6.3 beta I found it.


    https://github.com/openatv/eni…6.3/lib/python/Components

    ...versus...

    https://github.com/openatv/eni…6.2/lib/python/Components


    Download the file FileTransfer.pyo (2019-04) and upload it via FTP connection into your box, to the following path:

    /usr/lib/enigma2/python/Components/FileTransfer.pyo


    There is no FileCommander plugin included in OpenATV 6.2. So there must be an error in the IPK package that did not install the missing "FileTransfer" module into the "Components". The module "Components.FileTransfer" is already included in OpenATV 6.3 but does not exist in OpenATV 6.2. So it must be added to the IPK installation.

  • Yes, I know, in other words the plugin is only built into OpenATV 6.3. Making it an IPK package is therefore not easy. All dependencies that will be installed with the IPK must be searched for and supplemented. Alternatively, the IPK package could test the name of Enigma and only if it detects OpenATV 6.3 will it install the plugin.


    I don't know who is author of the IPK package, but it's done wrong. There are no dependencies in it added. So, this IPK works only in OpenATV 6.3, which is of course stupid, because this plugin is directly included in OpenATV 6.3 already.

  • Yes, unfortunately the plugin is not portable. It is designed and built only for OpenATV 6.3 or later image versions.


    Unfortunately, in OpenATV version 6.2, the File Commander plugin hasn't existed yet. Also, many dependent modules are missing in OpenATV 6.2. There is a large number of them.


    It is necessary to create an IPK installation that will include all the extra modules needed. Unfortunately, the installer that is listed at the beginning of the discussion comes from the OpenATV 6.3 feed, which means that the installer does not have the necessary modules (since they are already included in the OpenATV 6.3 base).

  • Yes, I know, in other words the plugin is only built into OpenATV 6.3. Making it an IPK package is therefore not easy. All dependencies that will be installed with the IPK must be searched for and supplemented. Alternatively, the IPK package could test the name of Enigma and only if it detects OpenATV 6.3 will it install the plugin.


    I don't know who is author of the IPK package, but it's done wrong. There are no dependencies in it added. So, this IPK works only in OpenATV 6.3, which is of course stupid, because this plugin is directly included in OpenATV 6.3 already.

    When openatv implemented file commander for openatv 6.3, there was a ton of commits where they changed lots of modules and screens to incorporate it.

    I don't think its is meant to be a seperate IPK at all.
    But its one of the first things I delete of my box, its a hackers paradise for anyone that opens up their box to be accessed externally.

    ** A person who feels appreciated will always do more than what is expected **

  • share here my fix


    work on my arm box


    Belfagor2005/FileCommander (github.com)

    • Official Post

    ## What's New in v2.14


    This release introduces native image viewing, unified archive extraction, a dedicated text viewer, improved skin handling, and translation error resilience.


    ### New Features


    - Native Image Viewer: New show_image_with_fallback() using ePicLoad - no external dependencies (no PicturePlayer required). Displays PNG, JPG, GIF, BMP directly.

    - Unified Archive Extraction: New archive_utils.py module supports extracting .zip, .rar, .tar, .tgz, .gz archives to the target directory with progress feedback.

    - TextViewer: Dedicated read-only text viewer for files up to 1MB. Replaces vEditor for viewing; editing is still available via menu.

    - Better Unknown File Handling: Falls back to system openFile for unknown MIME types; prompts to open as text if no viewer is found.

    - 1280x720 Skin: Added full HD-ready skin optimized for 720p displays.

    - Translation Error Resilience: Added try/except blocks in _() and ngettext() to prevent plugin crashes when .mo files are corrupted.


    ### Bug Fixes


    - Skin itemHeight Error: Removed itemHeight from Label widgets (list_left_head1, list_right_head1, list_left_select, list_right_select) to prevent skin parsing failures.

    - None Directory Crash: Fixed AttributeError when changeDir receives None by bypassing the problematic setter in FileList.py.

    - current_mountpoint Missing: Added self.current_mountpoint = None in FileList.__init__ to prevent AttributeError during base class initialization.

    - gettext ValueError: Fixed "too many values to unpack (expected 2, got 20)" error caused by corrupted .mo files. Added error handling in _() and ngettext().

    - PicturePlayer Dependency: Removed dependency on external PicturePlayer extension. Now uses native ePicLoad for image display.

    - showiframe Callback Error: Replaced showiframe callback with native ePicLoad approach. No more "takes 0 positional arguments but 2 were given" errors.

    - keyRecord Warning: Commented out unused keyRecord and showMovies actions to silence "Undefined action" warnings.

    - LoadPixmap Fallback: Added fallback for LoadPixmap to prevent crashes when loading icons.


    ---



    ## File Structure

    ```

    FileCommander/

    ├── __init__.py (UPDATED: try/except in _() and ngettext())

    ├── archive_utils.py (NEW: unified archive extraction)

    ├── Console.py

    ├── Directories.py

    ├── FileCommander.png

    ├── FileList.py (FIXED: None handling in changeDir)

    ├── FileTransfer.py

    ├── InputBox.py

    ├── plugin.py

    ├── TaskList.py

    ├── TextViewer.py (NEW: read-only text viewer)

    ├── ui.py (FIXED: skin itemHeight, 1280x720 skin)

    ├── UnitConversions.py

    ├── addons/

    │ ├── __init__.py (UPDATED: try/except in _() and ngettext())

    │ ├── key_actions.py (INTEGRATED: archive_utils, TextViewer, image viewer)

    │ ├── type_utils.py (UPDATED: show_image_with_fallback using ePicLoad)

    │ ├── unrar.py

    │ ├── tar.py

    │ ├── unzip.py

    │ ├── gz.py

    │ ├── ipk.py

    │ └── ...

    ├── images/

    │ └── *.png (File type icons)

    ├── pic/

    │ └── button_*.png (Color button icons)

    └── locale/

    └── */LC_MESSAGES/ (Translations - fallback to English if corrupted)

    ```

    ---


    ## Installation


    ### From Plugin Feed

    1. Press Menu -> Plugins -> Download Plugins.

    2. Find FileCommander and install.


    ---


    ## Configuration


    Configuration is available via:

    - Menu -> Plugins -> FileCommander -> Settings

    - Or by pressing MENU inside the plugin.


    ### Key Settings


    - Filter extension: Filter files by extension (movies, music, pictures, custom).

    - Count directory content: Calculate directory size in file info.

    - Save cursor position: Remember last selected file across sessions.

    - Default folder: Set the default directory for quick navigation.

    - All movie extensions: Copy/move associated files (.eit, .meta, .cuts, etc.).

    - Unknown extension as text: Attempt to open unknown files as text.

    - File checksums/hashes: Choose between MD5, SHA1, SHA256, SHA512.


    ---


    ## Key Shortcuts


    - OK: Open file/directory

    - LEFT/RIGHT: Switch active panel

    - UP/DOWN: Navigate list

    - CH+ / CH-: Page up/down

    - 0: Refresh screen

    - 1: Toggle directory size walk

    - 2: Rename file/directory

    - 3: View/Edit file (< 1MB)

    - 7: Create directory

    - 8: Show task list

    - RED: Delete file/directory

    - GREEN: Move to target panel

    - YELLOW: Copy to target panel

    - BLUE: Rename

    - INFO: File status information

    - RECORD: Enter multi-selection mode


    ---


    ## Multi-Selection Mode


    - OK: Toggle selection of current item

    - BLUE: Invert selection

    - 2: Select group (by name)

    - 5: Deselect group

    - 6: Toggle "move selector" option

    - GREEN/YELLOW/RED: Move/Copy/Delete selected items


    ---


    ## Supported File Types


    ### Archives (extract)

    .zip, .rar, .tar, .tgz, .gz (via archive_utils.py)

    .ipk (via dedicated menu)


    ### Media

    .ts, .mpg, .mpeg, .mkv, .avi, .mp4, .divx, .wmv, .mov, .flv, .3gp

    Audio: .mp3, .ogg, .flac, .wav, .m4a, .aac

    DVD: .iso, .vob, .ifo


    ### Images (native viewer - no external dependencies)

    .jpg, .jpeg, .png, .gif, .bmp, .mvi


    ### Text (view only)

    .txt, .log, .py, .xml, .html, .meta, .bak, .lst, .cfg, .conf, .srt


    ### Scripts

    .sh, .py, .pyo (run or view)


    ---


    ## Changelog


    ### v2.14 (2024-06-19)


    Added

    - Native image viewer using ePicLoad - no external dependencies (PicturePlayer not required).

    - archive_utils.py - unified archive extraction for .zip, .rar, .tar, .tgz, .gz.

    - TextViewer.py - dedicated read-only text viewer.

    - Skin support for 1280x720 resolutions.

    - Fallback to system openFile for unknown MIME types.

    - Prompt to open unknown files as text if no viewer is available.

    - try/except blocks in _() and ngettext() to prevent crashes from corrupted .mo files.


    Fixed

    - Skin itemHeight errors on Label widgets (FULLHD skin).

    - AttributeError: 'FileList' object has no attribute 'current_mountpoint'.

    - TypeError when changeDir receives None (bypasses base setter).

    - ValueError: too many values to unpack (expected 2, got 20) from corrupted translations.

    - showiframe callback error (takes 0 positional arguments but 2 were given).

    - Removed dependency on PicturePlayer extension for image viewing.

    - LoadPixmap fallback to prevent missing icon crashes.

    - keyRecord "Undefined action" warnings (commented out unused bindings).


    Changed

    - onFileAction now uses extract_archive for archive files (.zip, .rar, .tar, .tgz, .gz).

    - onFileAction now uses TextViewer for text files instead of vEditor (view-only).

    - onFileAction now uses show_image_with_fallback() for image files (native ePicLoad).

    - Preserved None values for mountpoint lists instead of converting to empty strings.

    - Translation system now gracefully falls back to English if .mo files are corrupted.


    ---


    ## Credits


    - Original plugin ported from OpenATV to OpenPLi by mrvica (April 2019)

    - Fixed and rebuilt by ims (May 2020)

    - Updated by Lululla (August 2024)

    - v2.14 enhancements by community contributors

  • master G

    Added the Label File Commander

Your resource for Enigma2 system utility plugins

Find downloads and support for tools that monitor performance, manage system settings, provide detailed system info, and automate maintenance. Discover essential Enigma2 system utility plugins. Access downloads and support for performance monitors, maintenance tools, and system information managers.