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
-
-
-
-
- P Gautam
-
- |
@@ -75,6 +68,13 @@ Thanks a lot for spending your time helping! Keep rocking 🍻
Bartick Maiti
|
+
+
+
+
+ P Gautam
+
+ |
@@ -82,14 +82,21 @@ Thanks a lot for spending your time helping! Keep rocking 🍻
Murat Onur Yildirim
|
+
+
+
+
+ Null
+
+ |
+
Abhishek Kushwaha
- |
-
+
@@ -111,13 +118,6 @@ Thanks a lot for spending your time helping! Keep rocking 🍻
Mohd Arsh Ali
|
-
-
-
-
- Null
-
- |
@@ -240,6 +240,13 @@ Thanks a lot for spending your time helping! Keep rocking 🍻
Aswin Shailajan
|
+
+
+
+
+ Null
+
+ |
@@ -253,15 +260,15 @@ Thanks a lot for spending your time helping! Keep rocking 🍻
Srinjoy Pati
- |
+
+
Aarya Chopkar
- |
-
+
@@ -296,15 +303,15 @@ Thanks a lot for spending your time helping! Keep rocking 🍻
Nafis Adnan Mondal
- |
+
+
Null
- |
-
+
@@ -339,7 +346,8 @@ Thanks a lot for spending your time helping! Keep rocking 🍻
Smit Shah
- |
+
+
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
+ 
+ 
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()
|