From c73f3493c5fb26e52bfdd80fde78119d653bd8c6 Mon Sep 17 00:00:00 2001 From: Sarahtonin Date: Fri, 10 Apr 2026 19:02:04 +0200 Subject: [PATCH] Added a FileLimit parameter to DirConfig to limit the amount of files in an output directory. --- DirConfig.toml | 1 + SaraSortd.py | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/DirConfig.toml b/DirConfig.toml index 99f515d..81accb5 100644 --- a/DirConfig.toml +++ b/DirConfig.toml @@ -2,6 +2,7 @@ Title = "Unset" LastFile = "Unset" ParentDir = "Unset" ValidInputDirs = ["*"] +FileLimit = 0 [[Files]] Pattern = "*" diff --git a/SaraSortd.py b/SaraSortd.py index 9794ab9..dd32992 100644 --- a/SaraSortd.py +++ b/SaraSortd.py @@ -251,7 +251,6 @@ def DecideNewPath(FilePath): DirConfPath = f"{Output}/{DirConfName}.toml" ValidInputDirs = GetConf("ValidInputDirs", DirConfPath) - print(ValidInputDirs) for ValidInputDir in ValidInputDirs: ValidInputDir = Parse(String = ValidInputDir, Parent = GetConf("ParentDir", DirConfPath)) @@ -267,6 +266,21 @@ def DecideNewPath(FilePath): if not os.path.exists(DirConfPath) or not InputDirValid: continue + + OutputFiles = 0 + + FileLimitConf = GetConf("FileLimit", DirConfPath) + + if FileLimitConf > 0: + for OutputFile in os.listdir(Output): + if OutputFile.startswith("."): + continue + if os.path.isfile(os.path.join(Output, OutputFile)): + OutputFiles += 1 + + if OutputFiles >= FileLimitConf: + continue + FileConf = GetConf("Files", DirConfPath) if not FileConf: