# DownloadManager WARNING: this is WIP code and currently does NOT work properly A simple yet complex program to do something dumb. Basically write rules, run the program and watch your files fall in to line. No more cluttered download folders. ## Features You can currently - Write rules - Run rules ### Coming someday Future features include. - A built in rule editor/validator - Command line options (the framework is there just need the implementation) - More/Better output - Interactive mode (E.G "Do you want to do this.") - Pre-apply and Apply stages separated - This allows for the showing of "SOME FILES -> Destination, OTHER FILES -> Other destination" - Also makes confirmation on batches easier. - could also allow for making the Apply stage async, allowing the UI to update as files are moved (progress bar much?) ## Rules Rules are written in JSON and _must_ contain all 4 values to be loaded properly, any malformed rules will not be loaded with the errors logged. **NOTE**: For now _**ALL**_ paths must be absolute. This is due to C# being generally designed around windows and as such not having the features to handle unix style paths e.g `~/Downloads`. In the future I plan to add replace `~` at the start of a path with the running users home directory. Type is an integer that represents how to match the pattern 1. Exact match (**Implemented**) 2. Regex matching (**Being written**) 3. Shell style globbing (**This may never happen as it seems hard to do and kinda redundant with regex**) 4. Danbooru - this is a special match type that doesn't use the pattern field, instead it find files that are likely to be from danbooru (prefixed with `__`) and then sorts them based on their aspect ratio. ```json { "Name" : "Example Rule", "Type" : 1, "Pattern" : "File.File", "Destination" : "/Directory" } ```