Sceneta
Starting Member
12 Posts |
Posted - 19 Jun 2011 : 21:54:07
|
der Filter für die Dateinamen extraktion ist im Moment etwas mühsam. Mein Vorschlag wäre etwa folgender. Statt einzelner Worte sollte alles hinter einem zu bestimmenden Zeichen entfernt werden. Ember löst das so:
Public Sub SetDefaultsForLists(ByVal Type As Enums.DefaultType, ByVal Force As Boolean) If (Type = Enums.DefaultType.All OrElse Type = Enums.DefaultType.MovieFilters) AndAlso (Force OrElse (Master.eSettings.FilterCustom.Count <= 0 AndAlso Not Master.eSettings.NoFilters)) Then Master.eSettings.FilterCustom.Clear() Master.eSettings.FilterCustom.Add("[\W_]\(?\d{4}\)?.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]blu[\W_]?ray.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]bd[\W_]?rip.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]dvd.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]720.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]1080.*") 'not really needed because the year title will catch this one, but just in case a user doesn't want the year filter but wants to filter 1080 Master.eSettings.FilterCustom.Add("(?i)[\W_]ac3.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]dts.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]divx.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]xvid.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]dc[\W_]?.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]dir(ector'?s?)?\s?cut.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]extended.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]hd(tv)?.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]unrated.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]uncut.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]([a-z]{3}|multi)[sd]ub.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]\[offline\].*") Master.eSettings.FilterCustom.Add("(?i)[\W_]ntsc.*") Master.eSettings.FilterCustom.Add("[\W_]PAL[\W_]?.*") Master.eSettings.FilterCustom.Add("\.[->] ") End If
obenstehende Procedure macht folgendes: Alle Zeichen inclusive der eingetragenen werden ab aufindens der eingetragenen ignoriert aus dem Ordnernamen:
der.club.der.lebenden.Dichter.1080p AC3D gute Nacht Marie bluRay
wird alles entfernt was hinter dem letzten Punkt steht also:
1080p AC3D gute Nacht Marie bluRay verschwindet wegen dem Filter (?i)[\W_]1080.*") Und es bleibt:
der.club.der.lebenden.Dichter.
mit der schon vorhandenen Möglichkeit die "punkte" zu entfernen bleibt ein klarer und zur Suche bestens geeigneter Name übrig.
der club der lebenden Dichter
Mit dem sich die Suche Online wesentlich einfacher gestaltet. Ausserdem würden die verschieden Schreibweisen (Gross- und Kleinbuchstaben) überflüssig werden.
Für mich ist das normales Batchprogramming von daher sollte es auch kein Problem darstellen das zu kopieren (von wegen Urheberrecht)
The Filterfunction in the current way is not very confortable. better than the current way to filter single Words from a list was the way to eliminate complete Strings fron a specific point. for Example:
Public Sub SetDefaultsForLists(ByVal Type As Enums.DefaultType, ByVal Force As Boolean) If (Type = Enums.DefaultType.All OrElse Type = Enums.DefaultType.MovieFilters) AndAlso (Force OrElse (Master.eSettings.FilterCustom.Count <= 0 AndAlso Not Master.eSettings.NoFilters)) Then Master.eSettings.FilterCustom.Clear() Master.eSettings.FilterCustom.Add("[\W_]\(?\d{4}\)?.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]blu[\W_]?ray.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]bd[\W_]?rip.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]dvd.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]720.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]1080.*") 'not really needed because the year title will catch this one, but just in case a user doesn't want the year filter but wants to filter 1080 Master.eSettings.FilterCustom.Add("(?i)[\W_]ac3.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]dts.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]divx.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]xvid.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]dc[\W_]?.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]dir(ector'?s?)?\s?cut.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]extended.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]hd(tv)?.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]unrated.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]uncut.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]([a-z]{3}|multi)[sd]ub.*") Master.eSettings.FilterCustom.Add("(?i)[\W_]\[offline\].*") Master.eSettings.FilterCustom.Add("(?i)[\W_]ntsc.*") Master.eSettings.FilterCustom.Add("[\W_]PAL[\W_]?.*") Master.eSettings.FilterCustom.Add("\.[->] ") End If
This results in a clean and searchable File or Moviename and reduce the Time for the script to search and reduce partical Matches in the online Databases.
For me this is normal Batchprogramming so there is no copyright infringement to other developers.
If there are Questions about the function please ask. Bye Sceneta
|
|