diff --git a/README.md b/README.md index 892a29a..102107c 100644 --- a/README.md +++ b/README.md @@ -61,13 +61,6 @@ Thanks a lot for spending your time helping! Keep rocking 🍻 Null - - - PGautam27 -
- P Gautam -
- bartick @@ -75,6 +68,13 @@ Thanks a lot for spending your time helping! Keep rocking 🍻 Bartick Maiti + + + PGautam27 +
+ P Gautam +
+ muratonuryildirim @@ -82,14 +82,21 @@ Thanks a lot for spending your time helping! Keep rocking 🍻 Murat Onur Yildirim + + + Ayudh-65 +
+ Null +
+ + Abbhiishek
Abhishek Kushwaha
- - + Farhan-2222 @@ -111,13 +118,6 @@ Thanks a lot for spending your time helping! Keep rocking 🍻 Mohd Arsh Ali - - - Ayudh-65 -
- Null -
- Montekkundan @@ -240,6 +240,13 @@ Thanks a lot for spending your time helping! Keep rocking 🍻 Aswin Shailajan + + + jrafaaael +
+ Null +
+ noobyysauraj @@ -253,15 +260,15 @@ Thanks a lot for spending your time helping! Keep rocking 🍻
Srinjoy Pati
- + + accodes21
Aarya Chopkar
- - + akashJainAJ11 @@ -296,15 +303,15 @@ Thanks a lot for spending your time helping! Keep rocking 🍻
Nafis Adnan Mondal
- + + devtayade
Null
- - + yashbrid03 @@ -339,7 +346,8 @@ Thanks a lot for spending your time helping! Keep rocking 🍻
Smit Shah
- + + SameerSahu007 diff --git a/scripts/AudioConverter/README.md b/scripts/AudioConverter/README.md new file mode 100644 index 0000000..59702ac --- /dev/null +++ b/scripts/AudioConverter/README.md @@ -0,0 +1,28 @@ +# Audio Converter + +CLI tool to convert an audio file from one extension to another (e.g. mp3 to wav) + +## Requirements +- [FFmpeg](https://ffmpeg.org/) + +## Usage + +### Convert all audio files in a specific directory +```bash +python3 audio-converter.py -p -e +``` + +e.g. +```bash +python3 audio-converter.py -p /home/username/Music -e .wav +``` + +### Convert specific audio file +```bash +python3 audio-converter.py -p -e +``` + +e.g. +```bash +python3 audio-converter.py -p /home/username/Music/test.mp3 -e .wav +``` diff --git a/scripts/AudioConverter/audio-converter.py b/scripts/AudioConverter/audio-converter.py new file mode 100644 index 0000000..28f936f --- /dev/null +++ b/scripts/AudioConverter/audio-converter.py @@ -0,0 +1,51 @@ +import subprocess +import os +import argparse + + +parser = argparse.ArgumentParser( + description='A program to convert audio to another audio format' +) +parser.add_argument( + '-p', + '--path', + type=str, + help=''' +The full path of file to convert OR +the full path of folder that contains all files to convert' + ''', + required=True +) +parser.add_argument( + '-e', + '--extension', + type=str, + help='The type of extension to convert the audio', + default='.mp3', + required=False +) + + +def convert(file, extension): + file_name, _ = file.split('.') + output_name = file_name + extension + subprocess.run(['ffmpeg', '-i', file, output_name]) + + +def convert_all(path, extension): + for _, _, files in os.walk(path): + for file in files: + convert(file, extension) + + +if __name__ == "__main__": + args = parser.parse_args() + path = args.path + extension = args.extension + + os.chdir(os.path.dirname(path)) + + if (os.path.isdir(path)): + convert_all(path=path, extension=extension) + else: + convert(file=path, extension=extension) diff --git a/scripts/PDF-delete-pages/README.md b/scripts/PDF-delete-pages/README.md new file mode 100644 index 0000000..6d5a4cc --- /dev/null +++ b/scripts/PDF-delete-pages/README.md @@ -0,0 +1,19 @@ +# PDF Delete Pages + +A simple Tkinter GUI application that deletes specified pages from a PDF and outputs a new PDF file with only the desired pages. + +### Installing Requirements + - Open Windows Command Prompt + - Run command ``` pip install PyPDF2 ``` + +### Usage + - Install the requirements (Python3 and PyPDF2 module) + - Run the application script + - Select the PDF file + - Enter page numbers to be deleted + - Wait for confirmation + - New PDF file will be generated at the location of the script. + +### Screenshots + ![Screenshot1](/scripts/PDF-delete-pages/example/screenshot1.jpg?raw=true) + ![Screenshot2](/scripts/PDF-delete-pages/example/screenshot2.jpg?raw=true) diff --git a/scripts/PDF-delete-pages/example/Test.pdf b/scripts/PDF-delete-pages/example/Test.pdf new file mode 100644 index 0000000..b187f91 Binary files /dev/null and b/scripts/PDF-delete-pages/example/Test.pdf differ diff --git a/scripts/PDF-delete-pages/example/Test_deleted.pdf b/scripts/PDF-delete-pages/example/Test_deleted.pdf new file mode 100644 index 0000000..9bb41a5 Binary files /dev/null and b/scripts/PDF-delete-pages/example/Test_deleted.pdf differ diff --git a/scripts/PDF-delete-pages/example/screenshot1.jpg b/scripts/PDF-delete-pages/example/screenshot1.jpg new file mode 100644 index 0000000..19c80c1 Binary files /dev/null and b/scripts/PDF-delete-pages/example/screenshot1.jpg differ diff --git a/scripts/PDF-delete-pages/example/screenshot2.jpg b/scripts/PDF-delete-pages/example/screenshot2.jpg new file mode 100644 index 0000000..61b869d Binary files /dev/null and b/scripts/PDF-delete-pages/example/screenshot2.jpg differ diff --git a/scripts/PDF-delete-pages/script.py b/scripts/PDF-delete-pages/script.py new file mode 100644 index 0000000..d5b61c9 --- /dev/null +++ b/scripts/PDF-delete-pages/script.py @@ -0,0 +1,72 @@ +from PyPDF2 import PdfFileWriter, PdfFileReader +import os +import tkinter as tk +from tkinter import ttk +from tkinter.filedialog import askopenfilename + + +win = tk.Tk() +win.geometry("400x200") +win.title("Delete PDF Pages") + + +def pagedel(): + pages_del = pages.get() + pages_to_delete = pages_del.strip().split(",") + pages_to_delete = [(int(i) - 1) for i in pages_to_delete] + + with open(path, "rb") as pdf_file: + pdf_reader = PdfFileReader(pdf_file) + num_pages = pdf_reader.numPages + + out_of_index_page = [] + for num in pages_to_delete: + if num > num_pages: + out_of_index_page.append(num) + + if len(out_of_index_page) == 0: + + infile = PdfFileReader(path, "rb") + output = PdfFileWriter() + + for i in range(infile.getNumPages()): + if i not in pages_to_delete: + p = infile.getPage(i) + output.addPage(p) + + inputfile_name = ((path.split("\\")[-1]).split(".pdf"))[0] + + output_name = inputfile_name + "_deleted.pdf" + + with open(output_name, "wb") as f: + output.write(f) + + print(f"\nThe output pdf is saved as: {output_name}\n") + + else: + print("\nPage number entered is greater than the No of Pages in PDF") + print("Please Check & Re-Try\n") + + +def getpages(): + global pages, path + user_path = askopenfilename().strip() + path = os.path.normpath(user_path) + + label2 = ttk.Label(win, text="Enter page numbers to be deleted seperated by commas:\n(Eg: 1,2) ") + label2.grid(row=0, column=0, padx=50, pady=20) + + pages = tk.Entry(win, width = 30) + pages.grid(row=1, column=0, padx=50, pady=0) + + button2 = ttk.Button(win, text="Enter", width=30, command=pagedel) + button2.grid(row=2, column=0, padx=50, pady=10) + + +label1 = ttk.Label(win, text="Select PDF File: ") +label1.grid(row=0, column=0, padx=100, pady=40) + +button1 = ttk.Button(win, text="Select File", width=30, command=getpages) +button1.grid(row=1, column=0, padx=100, pady=0) + +win.mainloop()