Introduction
One of the reasons python language is so popular as it enables people to automate small chores around the work. Recently I was stuck with one of the problems. I use Calibre
Library for ebook management regularly. If you have tried Calibre
tool yet, I would highly recommend it.
Problem
One of the challenges with Calibre is that it organizes books into nested folders based on the author’s name, which can make it difficult to locate a specific book if you don’t remember the author’s name. If you want to search for a book without using the Calibre
tool, it can be time-consuming to manually browse through the folders organized by author name, even if you know the name of the author you are looking for. I noticed this frustration in the Calibre
community too.
Solution
-
Read the source folder and make a list of all files (nested or otherwise).
-
Loop through files and filter them by media type.
-
Copy the file using `shutil` library.
-
Enjoy your coffee.
import pathlib
import shutil
sourcefolder = "C:\\Users\\Paritosh Baghel\\Calibre Library"
destination = "C:\\codebase\\books"
file_list_source = [str(path) for path in pathlib.Path(sourcefolder).rglob("*.*") if path.is_file()]
for source_file in file_list_source:
if 'pdf' in source_file or 'epub' in source_file or 'mobi' in source_file:
shutil.copy(source_file, destination)
Conclusion
Python can be used to automate tedious housework. You’ll gain a broad understanding of programming and save time by using it.