Skip to content

Commit 0f6a333

Browse files
Merge pull request #18 from TrueBankai416/GUI
Add support for more file extensions
2 parents c0bf7fc + 987de67 commit 0f6a333

File tree

5 files changed

+496
-53
lines changed

5 files changed

+496
-53
lines changed

email_utils.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ def load_email_config_from_file(config_file="media_manager_config.json"):
7777
config = json.load(f)
7878
email_config = config.get("email", {})
7979

80+
# Check if email is enabled
81+
if not email_config.get("enabled", False):
82+
return None
83+
8084
return EmailConfig(
8185
sender_name=email_config.get("sender_name", ""),
8286
sender_email=email_config.get("sender_email", ""),

example_config.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,12 @@
55
"D:\\Media\\Movies"
66
],
77
"output_directory": "C:\\Users\\YourName\\Documents\\MediaLists",
8+
"file_extensions": {
9+
"media": [".mp4", ".mkv", ".avi"],
10+
"additional": [".mov", ".wmv", ".flv", ".webm"]
11+
},
812
"email": {
13+
"enabled": true,
914
"sender_name": "Media Manager",
1015
"sender_email": "[email protected]",
1116
"receiver_email": "[email protected]",

generate_media_list.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,28 @@
22
import os
33
import argparse
44

5-
def generate_media_list(directories, output_file):
5+
def generate_media_list(directories, output_file, file_extensions=None):
66
"""
77
Generates a list of media files from the specified directories and writes them to the output file.
88
99
Args:
1010
directories (list of str): Directories to search for media files.
1111
output_file (str): Path to the output file where the list will be saved.
12+
file_extensions (list of str, optional): File extensions to search for.
13+
Defaults to ['.mp4', '.mkv', '.avi']
1214
"""
15+
if file_extensions is None:
16+
file_extensions = ['.mp4', '.mkv', '.avi']
17+
18+
# Convert to tuple for endswith() method
19+
file_extensions = tuple(file_extensions)
20+
1321
media_files = []
1422
for directory in directories:
1523
for root, dirs, files in os.walk(directory, topdown=True):
1624
dirs[:] = [d for d in dirs if not d.startswith('.')] # Ignore hidden directories
1725
for file in files:
18-
if file.endswith(('.mp4', '.mkv', '.avi')):
26+
if file.lower().endswith(file_extensions):
1927
media_files.append(os.path.join(root, file))
2028

2129
with open(output_file, 'w', encoding='utf-8') as f:

0 commit comments

Comments
 (0)