Code Monkey home page Code Monkey logo

pyrenamer's Introduction

pyRenamer

pyRenamer is an application for mass file renaming.

Files can be renamed using patterns, substitutions, inserting or deleting text, or even manually. Image files can be also renamed using their EXIF tags, and music files can be renamed using their internal metadata.

pyRenamer is released under the terms of the GNU General Public License Version 3.

pyRenamer

About this repository

This repository contains an evolved version of the original pyRenamer after being migrated to Python 3 and GTK+ 3.

pyRenamer was once a very common application in many Linux distributions but it became unmaintained some years ago. It is no longer available in modern distributions and original code does not run without installing old dependencies. I really missed pyRenamer so I have tried to revive it by migrating the code to Python 3 and GTK+ 3 so it runs again in modern Linux distributions.

Requirements

In order to run pyRenamer, you need:

  • Python 3.7+
  • PyGObject 3.36 (Python3 bindings for GObject introspection)
  • pytaglib 0.3.6 (Python audio metadata library based on TagLib)

And the following packages with GObject introspection:

  • GLib 2.64
  • GTK+ 3.24
  • GExiv2 0.12 (GObject wrapper around the Exiv2 photo metadata library)

On a Debian-based Linux, you can install the requirements by running:

$ sudo apt install python3-gi python3-taglib gir1.2-glib-2.0 gir1.2-gtk-3.0 gir1.2-gexiv2-0.10

Build requirements

In order to build pyRenamer, you need:

  • Python 3.7+
  • Meson 0.60+
  • Ninja
  • gettext
  • appstream-util
  • libxml2-utils
  • Development packages for PyGObject, GTK+ and GExiv2

On a Debian-based Linux, you can install the build requirements by running:

$ sudo apt install python3-pip gettext appstream-util libxml2-utils python-gi-dev libgtk-3-dev libgexiv2-dev
$ sudo pip install 'meson>=0.60' ninja

Building

pyRenamer uses the Meson Build system. Use the following commands to build pyRenamer from the source directory:

$ meson _build
$ cd _build
$ ninja

You can then install pyRenamer system-wide by running:

$ ninja install

Note that you do not need to build pyRenamer in order to run it. pyRenamer can be run directly from this source directory by running:

$ bin/pyrenamer

Running

If pyRenamer has been system-wide installed you can launch it from your desktop or from a shell by running pyrenamer.

pyRenamer support several command line options:

  • Select /home/user/Music as the active directory:

    $ pyrenamer /home/user/Music
  • Set /media/music as the root directory on the directory tree:

    $ pyrenamer --root /media/music
  • The same than before, but setting /media/music/classic as the active directory:

    $ pyrenamer --root /media/music /media/music/classic
  • Get help:

    $ pyrenamer --help

pyrenamer's People

Contributors

joseantoniorodriguez avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

rxela

pyrenamer's Issues

Images and Music tab show Patterns fields

Hello,

When clicked, Images tab and Music tab show the same fields and options as the Pattern tab. I expected them to show music and image-specific fields (to support renaming based on file metadata).

This happens when running pyRenamer from the source directory tree (as cloned from Github), without building it first, on a Debian Linux system (Debian 11 aka Bullseye).

Please see attached screenshots.

pyRenamer-Images-tab-selected

pyRenamer-Music-tab-selected

Other tabs (Substitutions, Insert / Delete and Manual rename) display fine on my system.

Cheers.

Alex

PS : Many thanks for your work. I am delighted to see that pyRenamer is available again in a modernized form.

[feature-request] Provide compiled versions

Hi, I really love pyRenamer, and I'm happy to see that somebody is trying to revive it. I've seen a couple of attempts from other people, but they aren't as polished or finished as yours.
Would you consider generating compiled versions? It could be something like an AppImage, or as elaborate as a .deb or .rpm package for various architectures.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.