Skip to content

Python extension to allow Nautilus (file manager) to show files' tags/metadata on list view.

License

Notifications You must be signed in to change notification settings

pedrovernetti/metanautilus

Repository files navigation

Metanautilus

Metanautilus is a python extension for Nautilus (GNOME File Manager, usually shipped with Debian, Fedora, openSUSE and Ubuntu) which makes many details (metadata) from files visible on list view.

Characteristics

  • All and every metadata fetched from local files is cached, so that from the second time you open the same folder onwards, there will be no overhead to display the information;
  • Any changes made to any file are automatically considered, since each cache entry is stored together with the time of its last modification (st_mtime);
  • Files smaller than 16B are automatically ignored to save time;
  • Files in Samba shares and MTP devices are fully supported, being the caching functionality unavailable for these, however;
  • Only tries fetching any infomartion other than the Index Node from regular files and symbolic links, skipping special files to save time;
  • Non-local files bigger than 256MB have only their Index Node fetched, too;
  • Big metadata fields are truncated to 100 characters;
  • The cached information is periodically stored in two separate files at ~/.cache/metanautilus/ by a daemon thread: known-junk (list of known ignorable files) and known-metadata (already fetched metadata).

Details/Metadata Currently Supported

  • Album
  • Artist [same as Performer, Track Artist]
  • Author [audio's Composer (preferred), Lyricist, Writer; video's Director (preferred); ...]
  • Bitrate [Overall Bitrate, for multitrack files] [kbps]
  • Camera Model
  • Comment [same as Description, Information]
  • Company [song's Record Label, document's Author's Company; same as Publisher, usually]
  • Date [images' Capture Date, audio/video Release Date, documents' Creation Date, ...] [YYYY-MM-DD]
  • Dimensions [WxH]
  • Duration [HH:MM:SS]
  • Genre [Category, for some files]
  • Height
  • Index Node [file system's inode number]
  • Pages [documents' Pages, images' Layers, presentations' Slides, spreadsheets' Tables]
  • Sample Rate [audio track's Sample Rate] [Hz]
  • Title [same as Name, Product Name]
  • # [Track Number, Episode Number, ...] [zero-padded - like '01' - without total tracks/episodes]
  • Width
  • Year [the 'YYYY' from Date]

Supported Formats

  • Documents:

    • Document Formats: HTML_ (.htm, .html, .xhtml); PDF_ (.pdf); Office Open XML_ (.docx, .pptx, .xlsx); Open Document_ (.odt, .ods, .odp, .odg); Flat XML Open Document_ (.fodt, .fods, .fodp, .fodg); OLE Compound Document (.doc, .mpp, .ole, .ppt, .vsd, .xls); Markdown_ (.md).
  • Images:

    • Image Formats:
    • Format-Agnostic Metadata:
  • Media:

    • Audio/Video Formats: MP3 (.mp3); Matroska (.mka, .mkv, mk3d); MP4 (.mp4, .m4a, .m4b, .m4p, .m4v); FLAC (.flac); WebM (.webm); Ogg (.ogg, .oga, .ogv); QuickTime (.mov, .mj2, .mjp2); ASF / Windows Media (.asf, .wma, .wmv); Audio Video Interleave (.avi); Waveform Audio (.wav, .wave); Monkey’s Audio (.ape); WavPack (.wv); Musepack (.mpc, .mpp, .mp+); RealMedia (.rm, .rmvb, .ra); Raw HEVC_ (.hevc); AC3 (.ac3); Flash Video (.flv); 3GPP (.3gp, .3g2, .3gp2, .3gpp, .3p2); MP2 (.mp2); Audio Interchange File Format (.aif, .aiff, .aifc); MIDI (.mid, .midi, .kar).
    • Playlist Formats: XML Shareable Playlist_ (.xspf).
    • Subtitle Formats: SubRip (.srt); Matroska Subtitles (.mks).
    • Format-Agnostic Metadata: ID3, APEv2.
  • Other:

    • File Formats: Torrent (.torrent); ZIP_ (.zip); Desktop Entries (.desktop).

    [Well supported formats vs. Partially supported formats_]


Installation

Using Installer Script

Run: ./install.sh or, for a re-installation: ./install.sh --reinstall (no sudo).

Dependencies

Metanautilus depends on the following third-party Python libraries/modules:

  • python-nautilus (kinda obvious...)
  • lxml
  • pymediainfo
  • mutagen
  • pillow
  • pyexiv2
  • pypdf2
  • olefile
  • torrentool

Uninstall

Using Installer Script

Run: ./install.sh --uninstall or, if you want to remove caches, too: ./install.sh --full-uninstall.


Bugs

If you find a bug, please report it at https://github.com/pedrovernetti/metanautilus/issues.


License

Metanautilus is distributed under the terms of the GNU General Public License, version 3 (GPL-3.0). See the LICENSE file for details.

About

Python extension to allow Nautilus (file manager) to show files' tags/metadata on list view.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published