This script clean's up (deletes) files with specific extensions, e.g. .sfv, .nzb, but only for downloads belonging to a particular category.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | # Selective cleanup (deletion) of files (based on category and extension)
# For use by a SABnzbd+ external post-processing script
# Version: 1.05
# Date: 2009/07/19
# License: As-is; public domain
# Requirements: Python 3.1, SABnzbd+ 0.4.11
# Description: This script clean's up (deletes) files with specific extensions, e.g. .sfv, .nzb, but only for downloads belonging to a particular category.
# Remarks:
# The cleanup is performed only in the job directory. Its subdirectories, if any, are not affected.
# Extensions are case-insensitive.
# Usage syntax:
# C:\Python31\python.exe selective_cleanup.py job_directory job_category category_specified ext1 ext2 ... extLast
# Usage examples:
# C:\Python31\python.exe "D:\SABnzbd scripts\selective_cleanup.py" %1 %5 movies sfv
# C:\Python31\python.exe "D:\SABnzbd scripts\selective_cleanup.py" %1 %5 "movies (hd)" sfv nzb
# Keywords:
# sabnzbd+, sabnzbd, post-processing, post-processing script,
# delete, deletion, file deletion, extension, file cleanup, cleanup list
import os, sys
# Parse input arguments
job_dir = sys.argv[1]
job_cat = sys.argv[2]
cleanup_cat = sys.argv[3]
exts = sys.argv[4:]
exts = [ext.lower() for ext in exts]
os.chdir(job_dir)
# Selectively delete files
if job_cat == cleanup_cat:
files = [i for i in os.listdir(job_dir) if os.path.isfile(i)]
files = [f for f in files if os.path.splitext(f)[1][1:].lower() in exts]
for f in files:
os.remove(f)
print('Deleted {}'.format(f))
|