From 62e0ae15ac6b614ea4f24974d7a1271ede0e6e5b Mon Sep 17 00:00:00 2001 From: DanCooper Date: Thu, 25 Feb 2016 16:39:52 +0100 Subject: [PATCH] fixed: Modules and dll loading - all dll's in Modules folder now loaded crrectly to Assembly list - it's no longer needed to add Addon (Modules) packages to EmberMediaManager project to get the packages loaded, so i've removed all NuGet packages from projects that not really need a package - fixed wrong/bad AssemblyName for addons/modules (old ordering and enable/disable settings for modules can not be loaded from existing Settings.xml, each use has to check and re-order the modules) - changed some logger entries --- .../generic.Compatibility.NMT.vbproj | 3 +- Addons/generic.EmberCore.NMT/packages.config | 2 +- Addons/scraper.Data.TVDB/TVDB_Data.vb | 18 +- .../scraper.FanartTV.Poster/FanartTV_Image.vb | 22 +- .../scraper.FanartTV.Poster/packages.config | 1 - .../scraper.Image.FanartTV.vbproj | 3 - Addons/scraper.IMDB.Data/IMDB_Data.vb | 8 +- Addons/scraper.IMDB.Poster/IMDB_Image.vb | 4 +- Addons/scraper.IMPA.Poster/packages.config | 1 - Addons/scraper.Image.TVDB/TVDB_Image.vb | 10 +- Addons/scraper.MPDB.Poster/packages.config | 1 - .../MoviepilotDE_Data.vb | 4 +- Addons/scraper.OFDB.Data/OFDB_Data.vb | 6 +- Addons/scraper.TMDB.Data/TMDB_Data.vb | 56 +- Addons/scraper.TMDB.Poster/TMDB_Image.vb | 20 +- Addons/scraper.Trakttv.Data/Trakttv_Data.vb | 12 +- EmberAPI/clsAPIMediaContainers.vb | 2 +- EmberAPI/clsAPIModules.vb | 1142 +++++++---------- EmberMediaManager/EmberMediaManager.vbproj | 31 - EmberMediaManager/dlgSettings.vb | 6 +- EmberMediaManager/frmMain.vb | 229 ++-- EmberMediaManager/packages.config | 8 - 22 files changed, 681 insertions(+), 908 deletions(-) diff --git a/Addons/generic.EmberCore.NMT/generic.Compatibility.NMT.vbproj b/Addons/generic.EmberCore.NMT/generic.Compatibility.NMT.vbproj index e84ece4c2..40ab6b5bc 100644 --- a/Addons/generic.EmberCore.NMT/generic.Compatibility.NMT.vbproj +++ b/Addons/generic.EmberCore.NMT/generic.Compatibility.NMT.vbproj @@ -110,8 +110,9 @@ ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll True - + ..\..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll + True ..\..\packages\NLog.4.2.3\lib\net45\NLog.dll diff --git a/Addons/generic.EmberCore.NMT/packages.config b/Addons/generic.EmberCore.NMT/packages.config index c22166a6c..9c2068bc9 100644 --- a/Addons/generic.EmberCore.NMT/packages.config +++ b/Addons/generic.EmberCore.NMT/packages.config @@ -2,7 +2,7 @@ - + diff --git a/Addons/scraper.Data.TVDB/TVDB_Data.vb b/Addons/scraper.Data.TVDB/TVDB_Data.vb index 6b712e556..5ea5b4604 100644 --- a/Addons/scraper.Data.TVDB/TVDB_Data.vb +++ b/Addons/scraper.Data.TVDB/TVDB_Data.vb @@ -237,8 +237,8 @@ Public Class TVDB_Data ''' What kind of data is being requested from the scrape(global scraper settings) ''' Database.DBElement Object (nMovie) which contains the scraped data ''' - Function Scraper(ByRef oDBTV As Database.DBElement, ByRef ScrapeModifiers As Structures.ScrapeModifiers, ByRef ScrapeType As Enums.ScrapeType, ByRef ScrapeOptions As Structures.ScrapeOptions) As Interfaces.ModuleResult_Data_TVShow Implements Interfaces.ScraperModule_Data_TV.Scraper_TVShow - logger.Trace("Started TVDB Scraper") + Function Scraper_TV(ByRef oDBTV As Database.DBElement, ByRef ScrapeModifiers As Structures.ScrapeModifiers, ByRef ScrapeType As Enums.ScrapeType, ByRef ScrapeOptions As Structures.ScrapeOptions) As Interfaces.ModuleResult_Data_TVShow Implements Interfaces.ScraperModule_Data_TV.Scraper_TVShow + logger.Trace("[TVDB_Data] [Scraper_TV] [Start]") LoadSettings() @@ -260,13 +260,17 @@ Public Class TVDB_Data nTVShow = _scraper.GetSearchTVShowInfo(oDBTV.TVShow.Title, oDBTV, ScrapeType, ScrapeModifiers, FilteredOptions) End If 'if still no search result -> exit - If nTVShow Is Nothing Then Return New Interfaces.ModuleResult_Data_TVShow With {.Result = Nothing} + If nTVShow Is Nothing Then + logger.Trace("[TVDB_Data] [Scraper_TV] [Abort] No search result found") + Return New Interfaces.ModuleResult_Data_TVShow With {.Result = Nothing} + End If End If End If If nTVShow Is Nothing Then Select Case ScrapeType Case Enums.ScrapeType.AllAuto, Enums.ScrapeType.FilterAuto, Enums.ScrapeType.MarkedAuto, Enums.ScrapeType.MissingAuto, Enums.ScrapeType.NewAuto, Enums.ScrapeType.SelectedAuto + logger.Trace("[TVDB_Data] [Scraper_TV] [Abort] No search result found") Return New Interfaces.ModuleResult_Data_TVShow With {.Result = Nothing} End Select End If @@ -279,6 +283,7 @@ Public Class TVDB_Data 'if a tvshow is found, set DoSearch back to "false" for following scrapers ScrapeModifiers.DoSearch = False Else + logger.Trace("[TVDB_Data] [Scraper_TV] [Abort] [Cancelled] Cancelled by user") Return New Interfaces.ModuleResult_Data_TVShow With {.Cancelled = True, .Result = Nothing} End If End Using @@ -298,12 +303,12 @@ Public Class TVDB_Data End If End If - logger.Trace("Finished TVDB Scraper") + logger.Trace("[TVDB_Data] [Scraper_TV] [Done]") Return New Interfaces.ModuleResult_Data_TVShow With {.Result = nTVShow} End Function Public Function Scraper_TVEpisode(ByRef oDBTVEpisode As Database.DBElement, ByVal ScrapeOptions As Structures.ScrapeOptions) As Interfaces.ModuleResult_Data_TVEpisode Implements Interfaces.ScraperModule_Data_TV.Scraper_TVEpisode - logger.Trace("Started TVDB Scraper") + logger.Trace("[TVDB_Data] [Scraper_TVEpisode] [Start]") LoadSettings() @@ -321,6 +326,7 @@ Public Class TVDB_Data ElseIf Not String.IsNullOrEmpty(oDBTVEpisode.TVEpisode.Aired) Then nTVEpisode = _scraper.GetTVEpisodeInfo(CInt(oDBTVEpisode.TVShow.TVDB), oDBTVEpisode.TVEpisode.Aired, FilteredOptions) Else + logger.Trace("[TVDB_Data] [Scraper_TVEpisode] [Abort] No TV Show TVDB ID and also no AiredDate available") Return New Interfaces.ModuleResult_Data_TVEpisode With {.Result = Nothing} End If End If @@ -338,7 +344,7 @@ Public Class TVDB_Data End If End If - logger.Trace("Finished TVDB Scraper") + logger.Trace("[TVDB_Data] [Scraper_TVEpisode] [Done]") Return New Interfaces.ModuleResult_Data_TVEpisode With {.Result = nTVEpisode} End Function diff --git a/Addons/scraper.FanartTV.Poster/FanartTV_Image.vb b/Addons/scraper.FanartTV.Poster/FanartTV_Image.vb index d98435931..a1c77e4e6 100644 --- a/Addons/scraper.FanartTV.Poster/FanartTV_Image.vb +++ b/Addons/scraper.FanartTV.Poster/FanartTV_Image.vb @@ -529,7 +529,7 @@ Public Class FanartTV_Image End Sub Function Scraper_Movie(ByRef DBMovie As Database.DBElement, ByRef ImagesContainer As MediaContainers.SearchResultsContainer, ByVal ScrapeModifiers As Structures.ScrapeModifiers) As Interfaces.ModuleResult Implements Interfaces.ScraperModule_Image_Movie.Scraper - logger.Trace("Started scrape FanartTV") + logger.Trace("[FanartTV_Image] [Scraper_Movie] [Start]") LoadSettings_Movie() Dim _scraper As New FanartTVs.Scraper(_SpecialSettings_Movie) @@ -541,15 +541,15 @@ Public Class FanartTV_Image ElseIf Not String.IsNullOrEmpty(DBMovie.Movie.TMDBID) Then ImagesContainer = _scraper.GetImages_Movie_MovieSet(DBMovie.Movie.TMDBID, FilteredModifiers) Else - logger.Trace(String.Concat("No IMDB and TMDB ID exist to search: ", DBMovie.ListTitle)) + logger.Trace(String.Concat("[FanartTV_Image] [Scraper_Movie] [Abort] No IMDB and TMDB ID exist to search: ", DBMovie.ListTitle)) End If - logger.Trace(New StackFrame().GetMethod().Name, "Finished scrape FanartTV") + logger.Trace("[FanartTV_Image] [Scraper_Movie] [Done]") Return New Interfaces.ModuleResult With {.breakChain = False} End Function Function Scraper_MovieSet(ByRef DBMovieset As Database.DBElement, ByRef ImagesContainer As MediaContainers.SearchResultsContainer, ByVal ScrapeModifiers As Structures.ScrapeModifiers) As Interfaces.ModuleResult Implements Interfaces.ScraperModule_Image_MovieSet.Scraper - logger.Trace("Started scrape FanartTV") + logger.Trace("[FanartTV_Image] [Scraper_MovieSet] [Start]") If String.IsNullOrEmpty(DBMovieset.MovieSet.TMDB) Then If DBMovieset.MovieList IsNot Nothing AndAlso DBMovieset.MovieList.Count > 0 Then @@ -566,12 +566,12 @@ Public Class FanartTV_Image ImagesContainer = _scraper.GetImages_Movie_MovieSet(DBMovieset.MovieSet.TMDB, FilteredModifiers) End If - logger.Trace("Finished scrape FanartTV") + logger.Trace("[FanartTV_Image] [Scraper_MovieSet] [Start]") Return New Interfaces.ModuleResult With {.breakChain = False} End Function Function Scraper_TV(ByRef DBTV As Database.DBElement, ByRef ImagesContainer As MediaContainers.SearchResultsContainer, ByVal ScrapeModifiers As Structures.ScrapeModifiers) As Interfaces.ModuleResult Implements Interfaces.ScraperModule_Image_TV.Scraper - logger.Trace("Started scrape FanartTV") + logger.Trace("[FanartTV_Image] [Scraper_TV] [Start]") LoadSettings_TV() Dim _scraper As New FanartTVs.Scraper(_SpecialSettings_TV) @@ -585,25 +585,25 @@ Public Class FanartTV_Image ImagesContainer.MainFanarts = _scraper.GetImages_TV(DBTV.TVShow.TVDB, FilteredModifiers).MainFanarts End If Else - logger.Trace(String.Concat("No TVDB ID exist to search: ", DBTV.ListTitle)) + logger.Trace(String.Concat("[FanartTV_Image] [Scraper_TV] [Abort] No TVDB ID exist to search: ", DBTV.ListTitle)) End If Case Enums.ContentType.TVSeason If Not String.IsNullOrEmpty(DBTV.TVShow.TVDB) Then ImagesContainer = _scraper.GetImages_TV(DBTV.TVShow.TVDB, FilteredModifiers) Else - logger.Trace(String.Concat("No TVDB ID exist to search: ", DBTV.ListTitle)) + logger.Trace(String.Concat("[FanartTV_Image] [Scraper_TV] [Abort] No TVDB ID exist to search: ", DBTV.ListTitle)) End If Case Enums.ContentType.TVShow If Not String.IsNullOrEmpty(DBTV.TVShow.TVDB) Then ImagesContainer = _scraper.GetImages_TV(DBTV.TVShow.TVDB, FilteredModifiers) Else - logger.Trace(String.Concat("No TVDB ID exist to search: ", DBTV.ListTitle)) + logger.Trace(String.Concat("[FanartTV_Image] [Scraper_TV] [Abort] No TVDB ID exist to search: ", DBTV.ListTitle)) End If Case Else - logger.Error(String.Concat("Unhandled ContentType")) + logger.Error(String.Concat("[FanartTV_Image] [Scraper_TV] [Abort] Unhandled ContentType")) End Select - logger.Trace(New StackFrame().GetMethod().Name, "Finished scrape FanartTV") + logger.Trace("[FanartTV_Image] [Scraper_TV] [Start]") Return New Interfaces.ModuleResult With {.breakChain = False} End Function diff --git a/Addons/scraper.FanartTV.Poster/packages.config b/Addons/scraper.FanartTV.Poster/packages.config index b9a838b70..e27ed9580 100644 --- a/Addons/scraper.FanartTV.Poster/packages.config +++ b/Addons/scraper.FanartTV.Poster/packages.config @@ -2,5 +2,4 @@ - \ No newline at end of file diff --git a/Addons/scraper.FanartTV.Poster/scraper.Image.FanartTV.vbproj b/Addons/scraper.FanartTV.Poster/scraper.Image.FanartTV.vbproj index 49f3de17a..02ba7a425 100644 --- a/Addons/scraper.FanartTV.Poster/scraper.Image.FanartTV.vbproj +++ b/Addons/scraper.FanartTV.Poster/scraper.Image.FanartTV.vbproj @@ -131,9 +131,6 @@ False ..\..\packages\FanartTv.2.0.5\lib\FanartTv.dll - - ..\..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll - ..\..\packages\NLog.4.2.3\lib\net45\NLog.dll True diff --git a/Addons/scraper.IMDB.Data/IMDB_Data.vb b/Addons/scraper.IMDB.Data/IMDB_Data.vb index 0c6e2682e..0dee988df 100644 --- a/Addons/scraper.IMDB.Data/IMDB_Data.vb +++ b/Addons/scraper.IMDB.Data/IMDB_Data.vb @@ -447,7 +447,7 @@ Public Class IMDB_Data ''' Database.DBElement Object (nMovie) which contains the scraped data ''' Function Scraper_Movie(ByRef oDBElement As Database.DBElement, ByRef ScrapeModifiers As Structures.ScrapeModifiers, ByRef ScrapeType As Enums.ScrapeType, ByRef ScrapeOptions As Structures.ScrapeOptions) As Interfaces.ModuleResult_Data_Movie Implements Interfaces.ScraperModule_Data_Movie.Scraper_Movie - logger.Trace("Started IMDB Scraper") + logger.Trace("[IMDB_Data] [Scraper_Movie] [Start]") LoadSettings_Movie() @@ -510,7 +510,7 @@ Public Class IMDB_Data End If End If - logger.Trace("Finished IMDB Scraper") + logger.Trace("[IMDB_Data] [Scraper_Movie] [Done]") Return New Interfaces.ModuleResult_Data_Movie With {.Result = nMovie} End Function ''' @@ -521,7 +521,7 @@ Public Class IMDB_Data ''' Database.DBElement Object (nMovie) which contains the scraped data ''' Function Scraper_TV(ByRef oDBElement As Database.DBElement, ByRef ScrapeModifiers As Structures.ScrapeModifiers, ByRef ScrapeType As Enums.ScrapeType, ByRef ScrapeOptions As Structures.ScrapeOptions) As Interfaces.ModuleResult_Data_TVShow Implements Interfaces.ScraperModule_Data_TV.Scraper_TVShow - logger.Trace("Started IMDB Scraper") + logger.Trace("[IMDB_Data] [Scraper_TV] [Start]") LoadSettings_TV() @@ -575,7 +575,7 @@ Public Class IMDB_Data End If End If - logger.Trace("Finished IMDB Scraper") + logger.Trace("[IMDB_Data] [Scraper_TV] [Done]") Return New Interfaces.ModuleResult_Data_TVShow With {.Result = nTVShow} End Function diff --git a/Addons/scraper.IMDB.Poster/IMDB_Image.vb b/Addons/scraper.IMDB.Poster/IMDB_Image.vb index ddeacacc6..231be093d 100644 --- a/Addons/scraper.IMDB.Poster/IMDB_Image.vb +++ b/Addons/scraper.IMDB.Poster/IMDB_Image.vb @@ -137,12 +137,12 @@ Public Class IMDB_Image End Sub Function Scraper(ByRef DBMovie As Database.DBElement, ByRef ImagesContainer As MediaContainers.SearchResultsContainer, ByVal ScrapeModifiers As Structures.ScrapeModifiers) As Interfaces.ModuleResult Implements Interfaces.ScraperModule_Image_Movie.Scraper - logger.Trace("Started scrape", New StackTrace().ToString()) + logger.Trace("[IMDB_Image] [Scraper] [Start]") LoadSettings() ImagesContainer = IMDB.GetIMDBPosters(DBMovie.Movie.IMDBID) - logger.Trace("Finished scrape", New StackTrace().ToString()) + logger.Trace("[IMDB_Image] [Scraper] [Start]") Return New Interfaces.ModuleResult With {.breakChain = False} End Function diff --git a/Addons/scraper.IMPA.Poster/packages.config b/Addons/scraper.IMPA.Poster/packages.config index 09f7d5100..3badae825 100644 --- a/Addons/scraper.IMPA.Poster/packages.config +++ b/Addons/scraper.IMPA.Poster/packages.config @@ -1,5 +1,4 @@  - \ No newline at end of file diff --git a/Addons/scraper.Image.TVDB/TVDB_Image.vb b/Addons/scraper.Image.TVDB/TVDB_Image.vb index 81182bf48..d260103e1 100644 --- a/Addons/scraper.Image.TVDB/TVDB_Image.vb +++ b/Addons/scraper.Image.TVDB/TVDB_Image.vb @@ -192,7 +192,7 @@ Public Class TVDB_Image End Sub Function Scraper(ByRef DBTV As Database.DBElement, ByRef ImagesContainer As MediaContainers.SearchResultsContainer, ByVal ScrapeModifiers As Structures.ScrapeModifiers) As Interfaces.ModuleResult Implements Interfaces.ScraperModule_Image_TV.Scraper - logger.Trace("Started scrape TVDB") + logger.Trace("[TVDB_Image] [Scraper] [Start]") LoadSettings() Dim _scraper As New TVDBs.Scraper(_SpecialSettings) @@ -207,24 +207,24 @@ Public Class TVDB_Image ImagesContainer.MainFanarts = _scraper.GetImages_TV(DBTV.TVShow.TVDB, FilteredModifiers).MainFanarts End If Else - logger.Trace(String.Concat("No TVDB ID exist to search: ", DBTV.ListTitle)) + logger.Trace(String.Concat("[TVDB_Image] [Scraper] [Abort] No TVDB ID exist to search: ", DBTV.ListTitle)) End If Case Enums.ContentType.TVSeason If Not String.IsNullOrEmpty(DBTV.TVShow.TVDB) Then ImagesContainer = _scraper.GetImages_TV(DBTV.TVShow.TVDB, FilteredModifiers) Else - logger.Trace(String.Concat("No TVDB ID exist to search: ", DBTV.ListTitle)) + logger.Trace(String.Concat("[TVDB_Image] [Scraper] [Abort] No TVDB ID exist to search: ", DBTV.ListTitle)) End If Case Enums.ContentType.TVShow If Not String.IsNullOrEmpty(DBTV.TVShow.TVDB) Then ImagesContainer = _scraper.GetImages_TV(DBTV.TVShow.TVDB, FilteredModifiers) Else - logger.Trace(String.Concat("No TVDB ID exist to search: ", DBTV.ListTitle)) + logger.Trace(String.Concat("[TVDB_Image] [Scraper] [Abort] No TVDB ID exist to search: ", DBTV.ListTitle)) End If Case Else End Select - logger.Trace(New StackFrame().GetMethod().Name, "Finished scrape TVDB") + logger.Trace("[TVDB_Image] [Scraper] [Done]") Return New Interfaces.ModuleResult With {.breakChain = False} End Function diff --git a/Addons/scraper.MPDB.Poster/packages.config b/Addons/scraper.MPDB.Poster/packages.config index 09f7d5100..3badae825 100644 --- a/Addons/scraper.MPDB.Poster/packages.config +++ b/Addons/scraper.MPDB.Poster/packages.config @@ -1,5 +1,4 @@  - \ No newline at end of file diff --git a/Addons/scraper.MoviepilotDE.Data/MoviepilotDE_Data.vb b/Addons/scraper.MoviepilotDE.Data/MoviepilotDE_Data.vb index cb4497433..7b2db9e88 100644 --- a/Addons/scraper.MoviepilotDE.Data/MoviepilotDE_Data.vb +++ b/Addons/scraper.MoviepilotDE.Data/MoviepilotDE_Data.vb @@ -151,7 +151,7 @@ Public Class MoviepilotDE_Data ''' Database.DBElement Object (nMovie) which contains the scraped data ''' Function Scraper_Movie(ByRef oDBMovie As Database.DBElement, ByRef ScrapeModifiers As Structures.ScrapeModifiers, ByRef ScrapeType As Enums.ScrapeType, ByRef ScrapeOptions As Structures.ScrapeOptions) As Interfaces.ModuleResult_Data_Movie Implements Interfaces.ScraperModule_Data_Movie.Scraper_Movie - logger.Trace("Started MoviepilotDE Scraper") + logger.Trace("[MoviepilotDE_Data] [Scraper_Movie] [Start]") LoadSettings() @@ -162,7 +162,7 @@ Public Class MoviepilotDE_Data nMovie = _scraper.GetMovieInfo(oDBMovie.Movie.OriginalTitle, oDBMovie.Movie.Title, oDBMovie.Movie.Year, FilteredOptions) End If - logger.Trace("Finished MoviepilotDE Scraper") + logger.Trace("[MoviepilotDE_Data] [Scraper_Movie] [Done]") Return New Interfaces.ModuleResult_Data_Movie With {.Result = nMovie} End Function diff --git a/Addons/scraper.OFDB.Data/OFDB_Data.vb b/Addons/scraper.OFDB.Data/OFDB_Data.vb index c894823d6..155c1f0cc 100644 --- a/Addons/scraper.OFDB.Data/OFDB_Data.vb +++ b/Addons/scraper.OFDB.Data/OFDB_Data.vb @@ -170,7 +170,7 @@ Public Class OFDB_Data ''' Database.DBElement Object (nMovie) which contains the scraped data ''' Function Scraper_Movie(ByRef oDBMovie As Database.DBElement, ByRef Modifier As Structures.ScrapeModifiers, ByRef Type As Enums.ScrapeType, ByRef ScrapeOptions As Structures.ScrapeOptions) As Interfaces.ModuleResult_Data_Movie Implements Interfaces.ScraperModule_Data_Movie.Scraper_Movie - logger.Trace("Started OFDB Scraper") + logger.Trace("[OFDB_Data] [Scraper_Movie] [Start]") LoadSettings() @@ -179,7 +179,7 @@ Public Class OFDB_Data 'datascraper needs imdb of movie! If String.IsNullOrEmpty(oDBMovie.Movie.ID) Then - logger.Trace("IMDB-ID of movie is needed, but not availaible! Leave OFDB scraper...") + logger.Trace("[OFDB_Data] [Scraper_Movie] [Abort] IMDB-ID of movie is needed, but not availaible") Return New Interfaces.ModuleResult_Data_Movie With {.Result = Nothing} End If @@ -187,7 +187,7 @@ Public Class OFDB_Data nMovie = _scraper.GetMovieInfo(oDBMovie.Movie.ID, FilteredOptions) End If - logger.Trace("Finished OFDB Scraper") + logger.Trace("[OFDB_Data] [Scraper_Movie] [Done]") Return New Interfaces.ModuleResult_Data_Movie With {.Result = nMovie} End Function diff --git a/Addons/scraper.TMDB.Data/TMDB_Data.vb b/Addons/scraper.TMDB.Data/TMDB_Data.vb index 7a2a6fc46..f851a797a 100644 --- a/Addons/scraper.TMDB.Data/TMDB_Data.vb +++ b/Addons/scraper.TMDB.Data/TMDB_Data.vb @@ -592,7 +592,7 @@ Public Class TMDB_Data ''' Database.DBElement Object (nMovie) which contains the scraped data ''' Function Scraper_Movie(ByRef oDBElement As Database.DBElement, ByRef ScrapeModifiers As Structures.ScrapeModifiers, ByRef ScrapeType As Enums.ScrapeType, ByRef ScrapeOptions As Structures.ScrapeOptions) As Interfaces.ModuleResult_Data_Movie Implements Interfaces.ScraperModule_Data_Movie.Scraper_Movie - logger.Trace("Started TMDB Scraper") + logger.Trace("[TMDB_Data] [Scraper_Movie] [Start]") LoadSettings_Movie() _SpecialSettings_Movie.PrefLanguage = oDBElement.Language @@ -615,13 +615,17 @@ Public Class TMDB_Data nMovie = _scraper.GetSearchMovieInfo(oDBElement.Movie.Title, oDBElement, ScrapeType, FilteredOptions) End If 'if still no search result -> exit - If nMovie Is Nothing Then Return New Interfaces.ModuleResult_Data_Movie With {.Result = Nothing} + If nMovie Is Nothing Then + logger.Trace("[TMDB_Data] [Scraper_Movie] [Abort] No search result found") + Return New Interfaces.ModuleResult_Data_Movie With {.Result = Nothing} + End If End If End If If nMovie Is Nothing Then Select Case ScrapeType Case Enums.ScrapeType.AllAuto, Enums.ScrapeType.FilterAuto, Enums.ScrapeType.MarkedAuto, Enums.ScrapeType.MissingAuto, Enums.ScrapeType.NewAuto, Enums.ScrapeType.SelectedAuto + logger.Trace("[TMDB_Data] [Scraper_Movie] [Abort] No search result found") Return New Interfaces.ModuleResult_Data_Movie With {.Result = Nothing} End Select End If @@ -634,6 +638,7 @@ Public Class TMDB_Data 'if a movie is found, set DoSearch back to "false" for following scrapers ScrapeModifiers.DoSearch = False Else + logger.Trace(String.Format("[TMDB_Data] [Scraper_Movie] [Cancelled] Cancelled by user")) Return New Interfaces.ModuleResult_Data_Movie With {.Cancelled = True, .Result = Nothing} End If End Using @@ -662,12 +667,12 @@ Public Class TMDB_Data End If End If - logger.Trace("Finished TMDB Scraper") + logger.Trace("[TMDB_Data] [Scraper_Movie] [Done]") Return New Interfaces.ModuleResult_Data_Movie With {.Result = nMovie} End Function Function Scraper_MovieSet(ByRef oDBElement As Database.DBElement, ByRef ScrapeModifiers As Structures.ScrapeModifiers, ByRef ScrapeType As Enums.ScrapeType, ByRef ScrapeOptions As Structures.ScrapeOptions) As Interfaces.ModuleResult_Data_MovieSet Implements Interfaces.ScraperModule_Data_MovieSet.Scraper - logger.Trace(String.Format("[TMDB_Data] [Start]")) + logger.Trace("[TMDB_Data] [Scraper_MovieSet] [Start]") LoadSettings_MovieSet() _SpecialSettings_MovieSet.PrefLanguage = oDBElement.Language @@ -688,7 +693,7 @@ Public Class TMDB_Data End If 'if still no search result -> exit If nMovieSet Is Nothing Then - logger.Trace(String.Format("[TMDB_Data] [Abort] No search result found")) + logger.Trace(String.Format("[TMDB_Data] [Scraper_MovieSet] [Abort] No search result found")) Return New Interfaces.ModuleResult_Data_MovieSet With {.Result = Nothing} End If End If @@ -697,7 +702,7 @@ Public Class TMDB_Data If nMovieSet Is Nothing Then Select Case ScrapeType Case Enums.ScrapeType.AllAuto, Enums.ScrapeType.FilterAuto, Enums.ScrapeType.MarkedAuto, Enums.ScrapeType.MissingAuto, Enums.ScrapeType.NewAuto, Enums.ScrapeType.SelectedAuto - logger.Trace(String.Format("[TMDB_Data] [Abort] No search result found")) + logger.Trace(String.Format("[TMDB_Data] [Scraper_MovieSet] [Abort] No search result found")) Return New Interfaces.ModuleResult_Data_MovieSet With {.Result = Nothing} End Select End If @@ -710,7 +715,7 @@ Public Class TMDB_Data 'if a movieset is found, set DoSearch back to "false" for following scrapers ScrapeModifiers.DoSearch = False Else - logger.Trace(String.Format("[TMDB_Data] [Cancelled] Cancelled by user")) + logger.Trace(String.Format("[TMDB_Data] [Scraper_MovieSet] [Cancelled] Cancelled by user")) Return New Interfaces.ModuleResult_Data_MovieSet With {.Cancelled = True, .Result = Nothing} End If End Using @@ -728,7 +733,7 @@ Public Class TMDB_Data End If End If - logger.Trace(String.Format("[TMDB_Data] [Done] With result")) + logger.Trace("[TMDB_Data] [Scraper_MovieSet] [Done]") Return New Interfaces.ModuleResult_Data_MovieSet With {.Result = nMovieSet} End Function ''' @@ -739,7 +744,7 @@ Public Class TMDB_Data ''' Database.DBElement Object (nMovie) which contains the scraped data ''' Function Scraper_TV(ByRef oDBElement As Database.DBElement, ByRef ScrapeModifiers As Structures.ScrapeModifiers, ByRef ScrapeType As Enums.ScrapeType, ByRef ScrapeOptions As Structures.ScrapeOptions) As Interfaces.ModuleResult_Data_TVShow Implements Interfaces.ScraperModule_Data_TV.Scraper_TVShow - logger.Trace("Started TMDB Scraper") + logger.Trace("[TMDB_Data] [Scraper_TV] [Start]") LoadSettings_TV() _SpecialSettings_TV.PrefLanguage = oDBElement.Language @@ -767,13 +772,17 @@ Public Class TMDB_Data nTVShow = _scraper.GetSearchTVShowInfo(oDBElement.TVShow.Title, oDBElement, ScrapeType, ScrapeModifiers, FilteredOptions) End If 'if still no search result -> exit - If nTVShow Is Nothing Then Return New Interfaces.ModuleResult_Data_TVShow With {.Result = Nothing} + If nTVShow Is Nothing Then + logger.Trace(String.Format("[TMDB_Data] [Scraper_TV] [Abort] No search result found")) + Return New Interfaces.ModuleResult_Data_TVShow With {.Result = Nothing} + End If End If End If If nTVShow Is Nothing Then Select Case ScrapeType Case Enums.ScrapeType.AllAuto, Enums.ScrapeType.FilterAuto, Enums.ScrapeType.MarkedAuto, Enums.ScrapeType.MissingAuto, Enums.ScrapeType.NewAuto, Enums.ScrapeType.SelectedAuto + logger.Trace(String.Format("[TMDB_Data] [Scraper_TV] [Abort] No search result found")) Return New Interfaces.ModuleResult_Data_TVShow With {.Result = Nothing} End Select End If @@ -786,6 +795,7 @@ Public Class TMDB_Data 'if a tvshow is found, set DoSearch back to "false" for following scrapers ScrapeModifiers.DoSearch = False Else + logger.Trace(String.Format("[TMDB_Data] [Scraper_TV] [Cancelled] Cancelled by user")) Return New Interfaces.ModuleResult_Data_TVShow With {.Cancelled = True, .Result = Nothing} End If End Using @@ -808,12 +818,12 @@ Public Class TMDB_Data End If End If - logger.Trace("Finished TMDB Scraper") + logger.Trace("[TMDB_Data] [Scraper_TV] [Done]") Return New Interfaces.ModuleResult_Data_TVShow With {.Result = nTVShow} End Function Public Function Scraper_TVEpisode(ByRef oDBElement As Database.DBElement, ByVal ScrapeOptions As Structures.ScrapeOptions) As Interfaces.ModuleResult_Data_TVEpisode Implements Interfaces.ScraperModule_Data_TV.Scraper_TVEpisode - logger.Trace("Started TMDB Scraper") + logger.Trace("[TMDB_Data] [Scraper_TVEpisode] [Start]") LoadSettings_TV() _SpecialSettings_TV.PrefLanguage = oDBElement.Language @@ -833,11 +843,16 @@ Public Class TMDB_Data ElseIf oDBElement.TVEpisode.AiredSpecified Then nTVEpisode = _scraper.GetTVEpisodeInfo(CInt(oDBElement.TVShow.TMDB), oDBElement.TVEpisode.Aired, FilteredOptions) Else + logger.Trace(String.Format("[TMDB_Data] [Scraper_TVEpisode] [Abort] No search result found")) Return New Interfaces.ModuleResult_Data_TVEpisode With {.Result = Nothing} End If 'if still no search result -> exit - If nTVEpisode Is Nothing Then Return New Interfaces.ModuleResult_Data_TVEpisode With {.Result = Nothing} + If nTVEpisode Is Nothing Then + logger.Trace(String.Format("[TMDB_Data] [Scraper_TVEpisode] [Abort] No search result found")) + Return New Interfaces.ModuleResult_Data_TVEpisode With {.Result = Nothing} + End If Else + logger.Trace(String.Format("[TMDB_Data] [Scraper_TVEpisode] [Abort] No TV Show TMDB ID available")) Return New Interfaces.ModuleResult_Data_TVEpisode With {.Result = Nothing} End If @@ -857,12 +872,12 @@ Public Class TMDB_Data End If End If - logger.Trace("Finished TMDB Scraper") + logger.Trace("[TMDB_Data] [Scraper_TVEpisode] [Done]") Return New Interfaces.ModuleResult_Data_TVEpisode With {.Result = nTVEpisode} End Function Public Function Scraper_TVSeason(ByRef oDBElement As Database.DBElement, ByVal ScrapeOptions As Structures.ScrapeOptions) As Interfaces.ModuleResult_Data_TVSeason Implements Interfaces.ScraperModule_Data_TV.Scraper_TVSeason - logger.Trace("Started TMDB Scraper") + logger.Trace("[TMDB_Data] [Scraper_TVSeason] [Start]") LoadSettings_TV() _SpecialSettings_TV.PrefLanguage = oDBElement.Language @@ -877,14 +892,19 @@ Public Class TMDB_Data End If If oDBElement.TVShow.TMDBSpecified Then - If Not oDBElement.TVSeason.Season = -1 Then + If oDBElement.TVSeason.SeasonSpecified Then nTVSeason = _scraper.GetTVSeasonInfo(CInt(oDBElement.TVShow.TMDB), oDBElement.TVSeason.Season, FilteredOptions) Else + logger.Trace(String.Format("[TMDB_Data] [Scraper_TVSeason] [Abort] Season is not specified")) Return New Interfaces.ModuleResult_Data_TVSeason With {.Result = Nothing} End If 'if still no search result -> exit - If nTVSeason Is Nothing Then Return New Interfaces.ModuleResult_Data_TVSeason With {.Result = Nothing} + If nTVSeason Is Nothing Then + logger.Trace(String.Format("[TMDB_Data] [Scraper_TVSeason] [Abort] No search result found")) + Return New Interfaces.ModuleResult_Data_TVSeason With {.Result = Nothing} + End If Else + logger.Trace(String.Format("[TMDB_Data] [Scraper_TVSeason] [Abort] No TV Show TMDB ID available")) Return New Interfaces.ModuleResult_Data_TVSeason With {.Result = Nothing} End If @@ -898,7 +918,7 @@ Public Class TMDB_Data End If End If - logger.Trace("Finished TMDB Scraper") + logger.Trace("[TMDB_Data] [Scraper_TVSeason] [Done]") Return New Interfaces.ModuleResult_Data_TVSeason With {.Result = nTVSeason} End Function diff --git a/Addons/scraper.TMDB.Poster/TMDB_Image.vb b/Addons/scraper.TMDB.Poster/TMDB_Image.vb index ec75a14a4..abd76915d 100644 --- a/Addons/scraper.TMDB.Poster/TMDB_Image.vb +++ b/Addons/scraper.TMDB.Poster/TMDB_Image.vb @@ -345,7 +345,7 @@ Public Class TMDB_Image End Sub Function Scraper_Movie(ByRef DBMovie As Database.DBElement, ByRef ImagesContainer As MediaContainers.SearchResultsContainer, ByVal ScrapeModifiers As Structures.ScrapeModifiers) As Interfaces.ModuleResult Implements Interfaces.ScraperModule_Image_Movie.Scraper - logger.Trace("Started scrape TMDB") + logger.Trace("[TMDB_Image] [Scraper_Movie] [Start]") LoadSettings_Movie() @@ -363,12 +363,12 @@ Public Class TMDB_Image ImagesContainer = _scraper.GetImages_Movie_MovieSet(DBMovie.Movie.TMDBID, FilteredModifiers, Enums.ContentType.Movie) End If - logger.Trace("Finished TMDB Scraper") + logger.Trace("[TMDB_Image] [Scraper_Movie] [Start]") Return New Interfaces.ModuleResult With {.breakChain = False} End Function Function Scraper_MovieSet(ByRef DBMovieSet As Database.DBElement, ByRef ImagesContainer As MediaContainers.SearchResultsContainer, ByVal ScrapeModifiers As Structures.ScrapeModifiers) As Interfaces.ModuleResult Implements Interfaces.ScraperModule_Image_MovieSet.Scraper - logger.Trace("Started scrape TMDB") + logger.Trace("[TMDB_Image] [Scraper_MovieSet] [Start]") LoadSettings_MovieSet() @@ -388,12 +388,12 @@ Public Class TMDB_Image ImagesContainer = _scraper.GetImages_Movie_MovieSet(DBMovieSet.MovieSet.TMDB, FilteredModifiers, Enums.ContentType.MovieSet) End If - logger.Trace("Finished TMDB Scraper") + logger.Trace("[TMDB_Image] [Scraper_MovieSet] [Start]") Return New Interfaces.ModuleResult With {.breakChain = False} End Function Function Scraper_TV(ByRef DBTV As Database.DBElement, ByRef ImagesContainer As MediaContainers.SearchResultsContainer, ByVal ScrapeModifiers As Structures.ScrapeModifiers) As Interfaces.ModuleResult Implements Interfaces.ScraperModule_Image_TV.Scraper - logger.Trace("Started scrape TMDB") + logger.Trace("[TMDB_Image] [Scraper_TV] [Start]") LoadSettings_TV() @@ -419,25 +419,25 @@ Public Class TMDB_Image ImagesContainer.MainFanarts = _scraper.GetImages_TVShow(DBTV.TVShow.TMDB, FilteredModifiers).MainFanarts End If Else - logger.Trace(String.Concat("No TMDB ID exist to search: ", DBTV.ListTitle)) + logger.Trace(String.Concat("[TMDB_Image] [Scraper_TV] [Abort] No TMDB ID exist to search: ", DBTV.ListTitle)) End If Case Enums.ContentType.TVSeason If Not String.IsNullOrEmpty(DBTV.TVShow.TMDB) Then ImagesContainer = _scraper.GetImages_TVShow(DBTV.TVShow.TMDB, FilteredModifiers) Else - logger.Trace(String.Concat("No TVDB ID exist to search: ", DBTV.ListTitle)) + logger.Trace(String.Concat("[TMDB_Image] [Scraper_TV] [Abort] No TVDB ID exist to search: ", DBTV.ListTitle)) End If Case Enums.ContentType.TVShow If Not String.IsNullOrEmpty(DBTV.TVShow.TMDB) Then ImagesContainer = _scraper.GetImages_TVShow(DBTV.TVShow.TMDB, FilteredModifiers) Else - logger.Trace(String.Concat("No TVDB ID exist to search: ", DBTV.ListTitle)) + logger.Trace(String.Concat("[TMDB_Image] [Scraper_TV] [Abort] No TVDB ID exist to search: ", DBTV.ListTitle)) End If Case Else - logger.Error(String.Concat("Unhandled ContentType")) + logger.Error(String.Concat("[TMDB_Image] [Scraper_TV] [Abort] Unhandled ContentType")) End Select - logger.Trace("Finished TMDB Scraper") + logger.Trace("[TMDB_Image] [Scraper_TV] [Start]") Return New Interfaces.ModuleResult With {.breakChain = False} End Function diff --git a/Addons/scraper.Trakttv.Data/Trakttv_Data.vb b/Addons/scraper.Trakttv.Data/Trakttv_Data.vb index 7fd2fb170..7440305c0 100644 --- a/Addons/scraper.Trakttv.Data/Trakttv_Data.vb +++ b/Addons/scraper.Trakttv.Data/Trakttv_Data.vb @@ -270,7 +270,7 @@ Public Class Trakttv_Data ''' Database.DBElement Object (nMovie) which contains the scraped data ''' Function Scraper_Movie(ByRef oDBElement As Database.DBElement, ByRef ScrapeModifiers As Structures.ScrapeModifiers, ByRef ScrapeType As Enums.ScrapeType, ByRef ScrapeOptions As Structures.ScrapeOptions) As Interfaces.ModuleResult_Data_Movie Implements Interfaces.ScraperModule_Data_Movie.Scraper_Movie - logger.Trace("Started Trakttv Scraper") + logger.Trace("[Tracktv_Data] [Scraper_Movie] [Start]") LoadSettings_Movie() @@ -294,7 +294,7 @@ Public Class Trakttv_Data End If End If - logger.Trace("Finished Trakttv Scraper") + logger.Trace("[Tracktv_Data] [Scraper_Movie] [Done]") Return New Interfaces.ModuleResult_Data_Movie With {.Result = nMovie} End Function @@ -307,7 +307,7 @@ Public Class Trakttv_Data ''' modifies Database.DBElement Object which contains the scraped data ''' Function Scraper_TV(ByRef oDBElement As Database.DBElement, ByRef ScrapeModifiers As Structures.ScrapeModifiers, ByRef ScrapeType As Enums.ScrapeType, ByRef ScrapeOptions As Structures.ScrapeOptions) As Interfaces.ModuleResult_Data_TVShow Implements Interfaces.ScraperModule_Data_TV.Scraper_TVShow - logger.Trace("Started Trakttv Scraper") + logger.Trace("[Tracktv_Data] [Scraper_TV] [Start]") LoadSettings_TV() @@ -336,7 +336,7 @@ Public Class Trakttv_Data End If End If - logger.Trace("Finished Trakttv Scraper") + logger.Trace("[Tracktv_Data] [Scraper_TV] [Done]") Return New Interfaces.ModuleResult_Data_TVShow With {.Result = nTVShow} End Function @@ -348,7 +348,7 @@ Public Class Trakttv_Data ''' modifies Database.DBElement Object which contains the scraped data ''' Public Function Scraper_TVEpisode(ByRef oDBElement As Database.DBElement, ByVal ScrapeOptions As Structures.ScrapeOptions) As Interfaces.ModuleResult_Data_TVEpisode Implements Interfaces.ScraperModule_Data_TV.Scraper_TVEpisode - logger.Trace("Started Trakttv Scraper") + logger.Trace("[Tracktv_Data] [Scraper_TVEpisode] [Start]") LoadSettings_TV() @@ -382,7 +382,7 @@ Public Class Trakttv_Data 'Set basic Episode setting (correct seaonnumber, epiodenumber) here because otherwise result will not be handled in MergeDataScraperResults_TVEpisode_Single nTVEpisode.Episode = oDBElement.TVEpisode.Episode nTVEpisode.Season = oDBElement.TVEpisode.Season - logger.Trace("Finished Trakttv Scraper") + logger.Trace("[Tracktv_Data] [Scraper_TVEpisode] [Done]") Return New Interfaces.ModuleResult_Data_TVEpisode With {.Result = nTVEpisode} End Function diff --git a/EmberAPI/clsAPIMediaContainers.vb b/EmberAPI/clsAPIMediaContainers.vb index 07dea4608..8f5a6fde6 100644 --- a/EmberAPI/clsAPIMediaContainers.vb +++ b/EmberAPI/clsAPIMediaContainers.vb @@ -2257,7 +2257,7 @@ Namespace MediaContainers Public ReadOnly Property SeasonSpecified() As Boolean Get - Return Not String.IsNullOrEmpty(_season.ToString) + Return Not String.IsNullOrEmpty(_season.ToString) AndAlso Not _season = -1 End Get End Property diff --git a/EmberAPI/clsAPIModules.vb b/EmberAPI/clsAPIModules.vb index b2860e0f3..8001cb1b9 100644 --- a/EmberAPI/clsAPIModules.vb +++ b/EmberAPI/clsAPIModules.vb @@ -18,9 +18,7 @@ ' # along with Ember Media Manager. If not, see . # ' ################################################################################ -Imports System Imports System.IO -Imports System.Xml Imports System.Xml.Serialization Imports System.Windows.Forms Imports System.Drawing @@ -29,12 +27,12 @@ Imports NLog Public Class ModulesManager #Region "Fields" - Shared logger As Logger = NLog.LogManager.GetCurrentClassLogger() + Shared logger As Logger = LogManager.GetCurrentClassLogger() Public Shared AssemblyList As New List(Of AssemblyListItem) Public Shared VersionList As New List(Of VersionItem) - Public externalProcessorModules As New List(Of _externalGenericModuleClass) + Public externalGenericModules As New List(Of _externalGenericModuleClass) Public externalScrapersModules_Data_Movie As New List(Of _externalScraperModuleClass_Data_Movie) Public externalScrapersModules_Data_MovieSet As New List(Of _externalScraperModuleClass_Data_MovieSet) Public externalScrapersModules_Data_TV As New List(Of _externalScraperModuleClass_Data_TV) @@ -51,20 +49,7 @@ Public Class ModulesManager Private moduleLocation As String = Path.Combine(Functions.AppPath, "Modules") - Friend WithEvents bwLoadGenericModules As New System.ComponentModel.BackgroundWorker - Friend WithEvents bwLoadScrapersModules_Movie As New System.ComponentModel.BackgroundWorker - Friend WithEvents bwLoadScrapersModules_MovieSet As New System.ComponentModel.BackgroundWorker - Friend WithEvents bwLoadScrapersModules_TV As New System.ComponentModel.BackgroundWorker - - Dim bwloadGenericModules_done As Boolean - Dim bwloadScrapersModules_Movie_done As Boolean - Dim bwloadScrapersModules_MovieSet_done As Boolean - Dim bwloadScrapersModules_TV_done As Boolean - - Dim AssemblyList_Generic As New List(Of AssemblyListItem) - Dim AssemblyList_Movie As New List(Of AssemblyListItem) - Dim AssemblyList_MovieSet As New List(Of AssemblyListItem) - Dim AssemblyList_TV As New List(Of AssemblyListItem) + Friend WithEvents bwLoadModules As New System.ComponentModel.BackgroundWorker #End Region 'Fields @@ -90,9 +75,8 @@ Public Class ModulesManager Public ReadOnly Property ModulesLoaded() As Boolean Get - Return bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done + Return Not bwLoadModules.IsBusy End Get - End Property #End Region 'Properties @@ -147,88 +131,25 @@ Public Class ModulesManager .AssemblyFileName = _externalScraperModule.AssemblyFileName, .Version = _externalScraperModule.ProcessorModule.ModuleVersion}) Next - For Each _externalModule As _externalGenericModuleClass In externalProcessorModules + For Each _externalModule As _externalGenericModuleClass In externalGenericModules VersionList.Add(New VersionItem With {.Name = _externalModule.ProcessorModule.ModuleName, .AssemblyFileName = _externalModule.AssemblyFileName, .Version = _externalModule.ProcessorModule.ModuleVersion}) Next End Sub - Private Sub bwLoadGenericModules_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwLoadGenericModules.DoWork - LoadGenericModules() - End Sub - - Private Sub bwLoadGenericModules_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwLoadGenericModules.RunWorkerCompleted - bwloadGenericModules_done = True - If bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done Then - CreateAssemblyList() - BuildVersionList() - End If - End Sub - - Private Sub bwLoadScrapersModules_Movie_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwLoadScrapersModules_Movie.DoWork - LoadScrapersModules_Movie() - End Sub - - Private Sub bwLoadScrapersModules_Movie_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwLoadScrapersModules_Movie.RunWorkerCompleted - bwloadScrapersModules_Movie_done = True - If bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done Then - CreateAssemblyList() - BuildVersionList() - End If - End Sub - - Private Sub bwLoadScrapersModules_MovieSet_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwLoadScrapersModules_MovieSet.DoWork - LoadScrapersModules_MovieSet() - End Sub - - Private Sub bwLoadScrapersModules_MovieSet_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwLoadScrapersModules_MovieSet.RunWorkerCompleted - bwloadScrapersModules_MovieSet_done = True - If bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done Then - CreateAssemblyList() - BuildVersionList() - End If - End Sub - - Private Sub bwLoadScrapersModules_TV_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwLoadScrapersModules_TV.DoWork - LoadScrapersModules_TV() - End Sub - - Private Sub bwLoadScrapersModules_TV_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwLoadScrapersModules_TV.RunWorkerCompleted - bwloadScrapersModules_TV_done = True - If bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done Then - CreateAssemblyList() - BuildVersionList() - End If + Private Sub bwLoadModules_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwLoadModules.DoWork + LoadModules() End Sub - Private Sub CreateAssemblyList() - For Each assembly As AssemblyListItem In AssemblyList_Generic - If String.IsNullOrEmpty(AssemblyList.FirstOrDefault(Function(x) x.AssemblyName = assembly.AssemblyName).AssemblyName) Then - AssemblyList.Add(assembly) - End If - Next - For Each assembly As AssemblyListItem In AssemblyList_Movie - If String.IsNullOrEmpty(AssemblyList.FirstOrDefault(Function(x) x.AssemblyName = assembly.AssemblyName).AssemblyName) Then - AssemblyList.Add(assembly) - End If - Next - For Each assembly As AssemblyListItem In AssemblyList_MovieSet - If String.IsNullOrEmpty(AssemblyList.FirstOrDefault(Function(x) x.AssemblyName = assembly.AssemblyName).AssemblyName) Then - AssemblyList.Add(assembly) - End If - Next - For Each assembly As AssemblyListItem In AssemblyList_TV - If String.IsNullOrEmpty(AssemblyList.FirstOrDefault(Function(x) x.AssemblyName = assembly.AssemblyName).AssemblyName) Then - AssemblyList.Add(assembly) - End If - Next + Private Sub bwLoadModules_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwLoadModules.RunWorkerCompleted + BuildVersionList() End Sub Public Function GetMovieCollectionID(ByVal sIMDBID As String) As String Dim CollectionID As String = String.Empty - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While @@ -245,7 +166,7 @@ Public Class ModulesManager Function GetMovieStudio(ByRef DBMovie As Database.DBElement) As List(Of String) Dim ret As Interfaces.ModuleResult Dim sStudio As New List(Of String) - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While For Each _externalScraperModule As _externalScraperModuleClass_Data_Movie In externalScrapersModules_Data_Movie.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) @@ -262,7 +183,7 @@ Public Class ModulesManager Public Function GetMovieTMDBID(ByRef sIMDBID As String) As String Dim TMDBID As String = String.Empty - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While @@ -279,7 +200,7 @@ Public Class ModulesManager Public Function GetTVLanguages() As clsXMLTVDBLanguages Dim ret As Interfaces.ModuleResult Dim Langs As New clsXMLTVDBLanguages - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While For Each _externalScraperModule As _externalScraperModuleClass_Data_TV In externalScrapersModules_Data_TV.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) @@ -296,7 +217,7 @@ Public Class ModulesManager Public Sub GetVersions() Dim dlgVersions As New dlgVersions Dim li As ListViewItem - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While For Each v As VersionItem In VersionList @@ -319,511 +240,406 @@ Public Class ModulesManager End Sub Public Sub LoadAllModules() - bwloadGenericModules_done = False - bwloadScrapersModules_Movie_done = False - bwloadScrapersModules_MovieSet_done = False - bwloadScrapersModules_TV_done = False - - bwLoadGenericModules.RunWorkerAsync() - bwLoadScrapersModules_Movie.RunWorkerAsync() - bwLoadScrapersModules_MovieSet.RunWorkerAsync() - bwLoadScrapersModules_TV.RunWorkerAsync() + bwLoadModules.RunWorkerAsync() End Sub - ''' - ''' Load all Generic Modules and field in externalProcessorModules List - ''' - Public Sub LoadGenericModules(Optional ByVal modulefile As String = "*.dll") - logger.Trace("loadModules started") + Public Sub LoadModules() + Dim DataScraperAnyEnabled_Movie As Boolean = False + Dim DataScraperAnyEnabled_MovieSet As Boolean = False + Dim DataScraperAnyEnabled_TV As Boolean = False + Dim DataScraperFound_Movie As Boolean = False + Dim DataScraperFound_MovieSet As Boolean = False + Dim DataScraperFound_TV As Boolean = False + Dim ImageScraperAnyEnabled_Movie As Boolean = False + Dim ImageScraperAnyEnabled_MovieSet As Boolean = False + Dim ImageScraperAnyEnabled_TV As Boolean = False + Dim ImageScraperFound_Movie As Boolean = False + Dim ImageScraperFound_MovieSet As Boolean = False + Dim ImageScraperFound_TV As Boolean = False + Dim ThemeScraperAnyEnabled_Movie As Boolean = False + Dim ThemeScraperAnyEnabled_TV As Boolean = False + Dim ThemeScraperFound_Movie As Boolean = False + Dim ThemeScraperFound_TV As Boolean = False + Dim TrailerScraperAnyEnabled_Movie As Boolean = False + Dim TrailerScraperFound_Movie As Boolean = False + + logger.Trace("[ModulesManager] [LoadModules] [Start]") + If Directory.Exists(moduleLocation) Then - 'Assembly to load the file - Dim assembly As System.Reflection.Assembly - 'For each .dll file in the module directory - For Each file As String In System.IO.Directory.GetFiles(moduleLocation, modulefile) - Try - 'Load the assembly - assembly = System.Reflection.Assembly.LoadFile(file) - 'Loop through each of the assemeblies type - For Each fileType As Type In assembly.GetTypes - Try - 'Activate the located module - Dim t As Type = fileType.GetInterface("GenericModule") - If Not t Is Nothing Then - Dim ProcessorModule As Interfaces.GenericModule 'Object - ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.GenericModule) - 'Add the activated module to the arraylist - Dim _externalProcessorModule As New _externalGenericModuleClass - Dim filename As String = file - If String.IsNullOrEmpty(AssemblyList_Generic.FirstOrDefault(Function(x) x.AssemblyName = Path.GetFileNameWithoutExtension(filename)).AssemblyName) Then - AssemblyList_Generic.Add(New AssemblyListItem With {.AssemblyName = Path.GetFileNameWithoutExtension(filename), .Assembly = assembly}) - End If - _externalProcessorModule.ProcessorModule = ProcessorModule - _externalProcessorModule.AssemblyName = String.Concat(Path.GetFileNameWithoutExtension(file), ".", fileType.FullName) - _externalProcessorModule.AssemblyFileName = Path.GetFileName(file) - _externalProcessorModule.Type = ProcessorModule.ModuleType - externalProcessorModules.Add(_externalProcessorModule) - ProcessorModule.Init(_externalProcessorModule.AssemblyName, Path.GetFileNameWithoutExtension(file)) - Dim found As Boolean = False - For Each i In Master.eSettings.EmberModules - If i.AssemblyName = _externalProcessorModule.AssemblyName Then - _externalProcessorModule.ProcessorModule.Enabled = i.GenericEnabled - found = True - End If - Next - If Not found AndAlso Path.GetFileNameWithoutExtension(file).Contains("generic.EmberCore") Then - _externalProcessorModule.ProcessorModule.Enabled = True - 'SetModuleEnable(_externalProcessorModule.AssemblyName, True) - End If - AddHandler ProcessorModule.GenericEvent, AddressOf GenericRunCallBack - 'ProcessorModule.Enabled = _externalProcessorModule.ProcessorModule.Enabled - End If - Catch ex As Exception - logger.Error(New StackFrame().GetMethod().Name, ex) - End Try - Next - Catch ex As Exception - logger.Error(New StackFrame().GetMethod().Name, ex) - End Try - Next - Dim c As Integer = 0 - For Each ext As _externalGenericModuleClass In externalProcessorModules.OrderBy(Function(x) x.ModuleOrder) - ext.ModuleOrder = c - c += 1 + 'add each .dll file to AssemblyList + For Each file As String In Directory.GetFiles(moduleLocation, "*.dll") + Dim nAssembly As Reflection.Assembly = Reflection.Assembly.LoadFile(file) + AssemblyList.Add(New ModulesManager.AssemblyListItem With {.Assembly = nAssembly, .AssemblyName = nAssembly.GetName.Name}) Next - End If - logger.Trace("loadModules finished") + For Each tAssemblyItem As AssemblyListItem In AssemblyList + 'Loop through each of the assemeblies type + For Each fileType As Type In tAssemblyItem.Assembly.GetTypes + + Dim fType As Type = fileType.GetInterface("GenericModule") + If Not fType Is Nothing Then + Dim ProcessorModule As Interfaces.GenericModule 'Object + ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.GenericModule) + + Dim GenericModule As New _externalGenericModuleClass + GenericModule.ProcessorModule = ProcessorModule + GenericModule.AssemblyName = tAssemblyItem.AssemblyName + GenericModule.AssemblyFileName = tAssemblyItem.Assembly.ManifestModule.Name + GenericModule.Type = ProcessorModule.ModuleType + externalGenericModules.Add(GenericModule) + + GenericModule.ProcessorModule.Init(GenericModule.AssemblyName, GenericModule.AssemblyFileName) + + Dim bFound As Boolean = False + For Each i In Master.eSettings.EmberModules + If i.AssemblyName = GenericModule.AssemblyName Then + GenericModule.ProcessorModule.Enabled = i.GenericEnabled + bFound = True + End If + Next - End Sub + 'Enable all Core Modules by default if no setting was found + If Not bFound AndAlso GenericModule.AssemblyFileName.Contains("generic.EmberCore") Then + GenericModule.ProcessorModule.Enabled = True + End If + AddHandler ProcessorModule.GenericEvent, AddressOf GenericRunCallBack + End If - ''' - ''' Load all Scraper Modules and field in externalScrapersModules List - ''' - Public Sub LoadScrapersModules_Movie(Optional ByVal modulefile As String = "*.dll") - logger.Trace("loadMovieScrapersModules started") - Dim DataScraperAnyEnabled As Boolean = False - Dim DataScraperFound As Boolean = False - Dim ImageScraperAnyEnabled As Boolean = False - Dim ImageScraperFound As Boolean = False - Dim ThemeScraperAnyEnabled As Boolean = False - Dim ThemeScraperFound As Boolean = False - Dim TrailerScraperAnyEnabled As Boolean = False - Dim TrailerScraperFound As Boolean = False + fType = fileType.GetInterface("ScraperModule_Data_Movie") + If Not fType Is Nothing Then + Dim ProcessorModule As Interfaces.ScraperModule_Data_Movie + ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Data_Movie) + + Dim ScraperModule As New _externalScraperModuleClass_Data_Movie + ScraperModule.ProcessorModule = ProcessorModule + ScraperModule.AssemblyName = tAssemblyItem.AssemblyName + ScraperModule.AssemblyFileName = tAssemblyItem.Assembly.ManifestModule.Name + externalScrapersModules_Data_Movie.Add(ScraperModule) + + logger.Trace(String.Concat("[ModulesManager] [LoadModules] Scraper Added: ", ScraperModule.AssemblyName, "_", ScraperModule.ContentType)) + + ScraperModule.ProcessorModule.Init(ScraperModule.AssemblyName) + + For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(f) f.AssemblyName = ScraperModule.AssemblyName AndAlso + f.ContentType = Enums.ContentType.Movie) + ScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled + DataScraperAnyEnabled_Movie = DataScraperAnyEnabled_Movie OrElse i.ModuleEnabled + ScraperModule.ModuleOrder = i.ModuleOrder + DataScraperFound_Movie = True + Next + If Not DataScraperFound_Movie Then + ScraperModule.ModuleOrder = 999 + End If + End If - If Directory.Exists(moduleLocation) Then - 'Assembly to load the file - Dim assembly As System.Reflection.Assembly - 'For each .dll file in the module directory - For Each file As String In System.IO.Directory.GetFiles(moduleLocation, modulefile) - Try - assembly = System.Reflection.Assembly.LoadFile(file) - 'Loop through each of the assemeblies type - For Each fileType As Type In assembly.GetTypes - - 'Activate the located module - Dim t1 As Type = fileType.GetInterface("ScraperModule_Data_Movie") - If Not t1 Is Nothing Then - Dim ProcessorModule As Interfaces.ScraperModule_Data_Movie - ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Data_Movie) - 'Add the activated module to the arraylist - Dim _externalScraperModule As New _externalScraperModuleClass_Data_Movie - Dim filename As String = file - If String.IsNullOrEmpty(AssemblyList_Movie.FirstOrDefault(Function(x) x.AssemblyName = Path.GetFileNameWithoutExtension(filename)).AssemblyName) Then - AssemblyList_Movie.Add(New AssemblyListItem With {.AssemblyName = Path.GetFileNameWithoutExtension(filename), .Assembly = assembly}) - End If - _externalScraperModule.ProcessorModule = ProcessorModule - _externalScraperModule.AssemblyName = String.Concat(Path.GetFileNameWithoutExtension(file), ".", fileType.FullName) - _externalScraperModule.AssemblyFileName = Path.GetFileName(file) - - externalScrapersModules_Data_Movie.Add(_externalScraperModule) - logger.Trace(String.Concat("Scraper Added: ", _externalScraperModule.AssemblyName, "_", _externalScraperModule.ContentType)) - _externalScraperModule.ProcessorModule.Init(_externalScraperModule.AssemblyName) - For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(x) x.AssemblyName = _externalScraperModule.AssemblyName AndAlso - x.ContentType = Enums.ContentType.Movie) - _externalScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled - DataScraperAnyEnabled = DataScraperAnyEnabled OrElse i.ModuleEnabled - _externalScraperModule.ModuleOrder = i.ModuleOrder - DataScraperFound = True - Next - If Not DataScraperFound Then - _externalScraperModule.ModuleOrder = 999 - End If - Else - Dim t2 As Type = fileType.GetInterface("ScraperModule_Image_Movie") - If Not t2 Is Nothing Then - Dim ProcessorModule As Interfaces.ScraperModule_Image_Movie - ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Image_Movie) - 'Add the activated module to the arraylist - Dim _externalScraperModule As New _externalScraperModuleClass_Image_Movie - Dim filename As String = file - If String.IsNullOrEmpty(AssemblyList_Movie.FirstOrDefault(Function(x) x.AssemblyName = Path.GetFileNameWithoutExtension(filename)).AssemblyName) Then - AssemblyList_Movie.Add(New AssemblyListItem With {.AssemblyName = Path.GetFileNameWithoutExtension(filename), .Assembly = assembly}) - End If - _externalScraperModule.ProcessorModule = ProcessorModule - _externalScraperModule.AssemblyName = String.Concat(Path.GetFileNameWithoutExtension(file), ".", fileType.FullName) - _externalScraperModule.AssemblyFileName = Path.GetFileName(file) - - externalScrapersModules_Image_Movie.Add(_externalScraperModule) - logger.Trace(String.Concat("Scraper Added: ", _externalScraperModule.AssemblyName, "_", _externalScraperModule.ContentType)) - _externalScraperModule.ProcessorModule.Init(_externalScraperModule.AssemblyName) - For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(x) x.AssemblyName = _externalScraperModule.AssemblyName AndAlso - x.ContentType = Enums.ContentType.Movie) - _externalScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled - ImageScraperAnyEnabled = ImageScraperAnyEnabled OrElse i.ModuleEnabled - _externalScraperModule.ModuleOrder = i.ModuleOrder - ImageScraperFound = True - Next - If Not ImageScraperFound Then - _externalScraperModule.ModuleOrder = 999 - End If - Else - Dim t3 As Type = fileType.GetInterface("ScraperModule_Trailer_Movie") - If Not t3 Is Nothing Then - Dim ProcessorModule As Interfaces.ScraperModule_Trailer_Movie - ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Trailer_Movie) - 'Add the activated module to the arraylist - Dim _externalScraperModule As New _externalScraperModuleClass_Trailer_Movie - Dim filename As String = file - If String.IsNullOrEmpty(AssemblyList_Movie.FirstOrDefault(Function(x) x.AssemblyName = Path.GetFileNameWithoutExtension(filename)).AssemblyName) Then - AssemblyList_Movie.Add(New AssemblyListItem With {.AssemblyName = Path.GetFileNameWithoutExtension(filename), .Assembly = assembly}) - End If - _externalScraperModule.ProcessorModule = ProcessorModule - _externalScraperModule.AssemblyName = String.Concat(Path.GetFileNameWithoutExtension(file), ".", fileType.FullName) - _externalScraperModule.AssemblyFileName = Path.GetFileName(file) - - externalScrapersModules_Trailer_Movie.Add(_externalScraperModule) - logger.Trace(String.Concat("Scraper Added: ", _externalScraperModule.AssemblyName, "_", _externalScraperModule.ContentType)) - _externalScraperModule.ProcessorModule.Init(_externalScraperModule.AssemblyName) - For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(x) x.AssemblyName = _externalScraperModule.AssemblyName AndAlso - x.ContentType = Enums.ContentType.Movie) - _externalScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled - TrailerScraperAnyEnabled = TrailerScraperAnyEnabled OrElse i.ModuleEnabled - _externalScraperModule.ModuleOrder = i.ModuleOrder - TrailerScraperFound = True - Next - If Not TrailerScraperFound Then - _externalScraperModule.ModuleOrder = 999 - End If - Else - Dim t4 As Type = fileType.GetInterface("ScraperModule_Theme_Movie") - If Not t4 Is Nothing Then - Dim ProcessorModule As Interfaces.ScraperModule_Theme_Movie - ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Theme_Movie) - 'Add the activated module to the arraylist - Dim _externalScraperModule As New _externalScraperModuleClass_Theme_Movie - Dim filename As String = file - If String.IsNullOrEmpty(AssemblyList_Movie.FirstOrDefault(Function(x) x.AssemblyName = Path.GetFileNameWithoutExtension(filename)).AssemblyName) Then - AssemblyList_Movie.Add(New AssemblyListItem With {.AssemblyName = Path.GetFileNameWithoutExtension(filename), .Assembly = assembly}) - End If - _externalScraperModule.ProcessorModule = ProcessorModule - _externalScraperModule.AssemblyName = String.Concat(Path.GetFileNameWithoutExtension(file), ".", fileType.FullName) - _externalScraperModule.AssemblyFileName = Path.GetFileName(file) - - externalScrapersModules_Theme_Movie.Add(_externalScraperModule) - logger.Trace(String.Concat("Scraper Added: ", _externalScraperModule.AssemblyName, "_", _externalScraperModule.ContentType)) - _externalScraperModule.ProcessorModule.Init(_externalScraperModule.AssemblyName) - For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(x) x.AssemblyName = _externalScraperModule.AssemblyName AndAlso - x.ContentType = Enums.ContentType.Movie) - _externalScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled - ThemeScraperAnyEnabled = ThemeScraperAnyEnabled OrElse i.ModuleEnabled - _externalScraperModule.ModuleOrder = i.ModuleOrder - ThemeScraperFound = True - Next - If Not ThemeScraperFound Then - _externalScraperModule.ModuleOrder = 999 - End If - End If - End If - End If + fType = fileType.GetInterface("ScraperModule_Image_Movie") + If Not fType Is Nothing Then + Dim ProcessorModule As Interfaces.ScraperModule_Image_Movie + ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Image_Movie) + + Dim ScraperModule As New _externalScraperModuleClass_Image_Movie + ScraperModule.ProcessorModule = ProcessorModule + ScraperModule.AssemblyName = tAssemblyItem.AssemblyName + ScraperModule.AssemblyFileName = tAssemblyItem.Assembly.ManifestModule.Name + externalScrapersModules_Image_Movie.Add(ScraperModule) + + logger.Trace(String.Concat("[ModulesManager] [LoadModules] Scraper Added: ", ScraperModule.AssemblyName, "_", ScraperModule.ContentType)) + + ScraperModule.ProcessorModule.Init(ScraperModule.AssemblyName) + + For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(f) f.AssemblyName = ScraperModule.AssemblyName AndAlso + f.ContentType = Enums.ContentType.Movie) + ScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled + ImageScraperAnyEnabled_Movie = ImageScraperAnyEnabled_Movie OrElse i.ModuleEnabled + ScraperModule.ModuleOrder = i.ModuleOrder + ImageScraperFound_Movie = True + Next + If Not ImageScraperFound_Movie Then + ScraperModule.ModuleOrder = 999 End If - Next - Catch ex As Exception - logger.Error(New StackFrame().GetMethod().Name, ex) - End Try + End If + + fType = fileType.GetInterface("ScraperModule_Trailer_Movie") + If Not fType Is Nothing Then + Dim ProcessorModule As Interfaces.ScraperModule_Trailer_Movie + ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Trailer_Movie) + + Dim ScraperModule As New _externalScraperModuleClass_Trailer_Movie + ScraperModule.ProcessorModule = ProcessorModule + ScraperModule.AssemblyName = tAssemblyItem.AssemblyName + ScraperModule.AssemblyFileName = tAssemblyItem.Assembly.ManifestModule.Name + externalScrapersModules_Trailer_Movie.Add(ScraperModule) + + logger.Trace(String.Concat("[ModulesManager] [LoadModules] Scraper Added: ", ScraperModule.AssemblyName, "_", ScraperModule.ContentType)) + + ScraperModule.ProcessorModule.Init(ScraperModule.AssemblyName) + + For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(f) f.AssemblyName = ScraperModule.AssemblyName AndAlso + f.ContentType = Enums.ContentType.Movie) + ScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled + TrailerScraperAnyEnabled_Movie = TrailerScraperAnyEnabled_Movie OrElse i.ModuleEnabled + ScraperModule.ModuleOrder = i.ModuleOrder + TrailerScraperFound_Movie = True + Next + If Not TrailerScraperFound_Movie Then + ScraperModule.ModuleOrder = 999 + End If + End If + + fType = fileType.GetInterface("ScraperModule_Theme_Movie") + If Not fType Is Nothing Then + Dim ProcessorModule As Interfaces.ScraperModule_Theme_Movie + ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Theme_Movie) + + Dim ScraperModule As New _externalScraperModuleClass_Theme_Movie + ScraperModule.ProcessorModule = ProcessorModule + ScraperModule.AssemblyName = tAssemblyItem.AssemblyName + ScraperModule.AssemblyFileName = tAssemblyItem.Assembly.ManifestModule.Name + externalScrapersModules_Theme_Movie.Add(ScraperModule) + + logger.Trace(String.Concat("[ModulesManager] [LoadModules] Scraper Added: ", ScraperModule.AssemblyName, "_", ScraperModule.ContentType)) + + ScraperModule.ProcessorModule.Init(ScraperModule.AssemblyName) + + For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(f) f.AssemblyName = ScraperModule.AssemblyName AndAlso + f.ContentType = Enums.ContentType.Movie) + ScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled + ThemeScraperAnyEnabled_Movie = ThemeScraperAnyEnabled_Movie OrElse i.ModuleEnabled + ScraperModule.ModuleOrder = i.ModuleOrder + ThemeScraperFound_Movie = True + Next + If Not ThemeScraperFound_Movie Then + ScraperModule.ModuleOrder = 999 + End If + End If + + fType = fileType.GetInterface("ScraperModule_Data_MovieSet") + If Not fType Is Nothing Then + Dim ProcessorModule As Interfaces.ScraperModule_Data_MovieSet + ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Data_MovieSet) + + Dim ScraperModule As New _externalScraperModuleClass_Data_MovieSet + ScraperModule.ProcessorModule = ProcessorModule + ScraperModule.AssemblyName = tAssemblyItem.AssemblyName + ScraperModule.AssemblyFileName = tAssemblyItem.Assembly.ManifestModule.Name + externalScrapersModules_Data_MovieSet.Add(ScraperModule) + + logger.Trace(String.Concat("[ModulesManager] [LoadModules] Scraper Added: ", ScraperModule.AssemblyName, "_", ScraperModule.ContentType)) + + ScraperModule.ProcessorModule.Init(ScraperModule.AssemblyName) + + For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(f) f.AssemblyName = ScraperModule.AssemblyName AndAlso + f.ContentType = Enums.ContentType.MovieSet) + ScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled + DataScraperAnyEnabled_MovieSet = DataScraperAnyEnabled_MovieSet OrElse i.ModuleEnabled + ScraperModule.ModuleOrder = i.ModuleOrder + DataScraperFound_MovieSet = True + Next + If Not DataScraperFound_MovieSet Then + ScraperModule.ModuleOrder = 999 + End If + End If + + fType = fileType.GetInterface("ScraperModule_Image_MovieSet") + If Not fType Is Nothing Then + Dim ProcessorModule As Interfaces.ScraperModule_Image_MovieSet + ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Image_MovieSet) + + Dim ScraperModule As New _externalScraperModuleClass_Image_MovieSet + ScraperModule.ProcessorModule = ProcessorModule + ScraperModule.AssemblyName = tAssemblyItem.AssemblyName + ScraperModule.AssemblyFileName = tAssemblyItem.Assembly.ManifestModule.Name + externalScrapersModules_Image_MovieSet.Add(ScraperModule) + + logger.Trace(String.Concat("[ModulesManager] [LoadModules] Scraper Added: ", ScraperModule.AssemblyName, "_", ScraperModule.ContentType)) + + ScraperModule.ProcessorModule.Init(ScraperModule.AssemblyName) + + For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(f) f.AssemblyName = ScraperModule.AssemblyName AndAlso + f.ContentType = Enums.ContentType.MovieSet) + ScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled + ImageScraperAnyEnabled_MovieSet = ImageScraperAnyEnabled_MovieSet OrElse i.ModuleEnabled + ScraperModule.ModuleOrder = i.ModuleOrder + ImageScraperFound_MovieSet = True + Next + If Not ImageScraperFound_MovieSet Then + ScraperModule.ModuleOrder = 999 + End If + End If + + fType = fileType.GetInterface("ScraperModule_Data_TV") + If Not fType Is Nothing Then + Dim ProcessorModule As Interfaces.ScraperModule_Data_TV + ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Data_TV) + + Dim ScraperModule As New _externalScraperModuleClass_Data_TV + ScraperModule.ProcessorModule = ProcessorModule + ScraperModule.AssemblyName = tAssemblyItem.AssemblyName + ScraperModule.AssemblyFileName = tAssemblyItem.Assembly.ManifestModule.Name + externalScrapersModules_Data_TV.Add(ScraperModule) + + logger.Trace(String.Concat("[ModulesManager] [LoadModules] Scraper Added: ", ScraperModule.AssemblyName, "_", ScraperModule.ContentType)) + + ScraperModule.ProcessorModule.Init(ScraperModule.AssemblyName) + + For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(f) f.AssemblyName = ScraperModule.AssemblyName AndAlso + f.ContentType = Enums.ContentType.TV) + ScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled + DataScraperAnyEnabled_TV = DataScraperAnyEnabled_TV OrElse i.ModuleEnabled + ScraperModule.ModuleOrder = i.ModuleOrder + DataScraperFound_TV = True + Next + If Not DataScraperFound_TV Then + ScraperModule.ModuleOrder = 999 + End If + End If + + fType = fileType.GetInterface("ScraperModule_Image_TV") + If Not fType Is Nothing Then + Dim ProcessorModule As Interfaces.ScraperModule_Image_TV + ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Image_TV) + + Dim ScraperModule As New _externalScraperModuleClass_Image_TV + ScraperModule.ProcessorModule = ProcessorModule + ScraperModule.AssemblyName = tAssemblyItem.AssemblyName + ScraperModule.AssemblyFileName = tAssemblyItem.Assembly.ManifestModule.Name + externalScrapersModules_Image_TV.Add(ScraperModule) + + logger.Trace(String.Concat("[ModulesManager] [LoadModules] Scraper Added: ", ScraperModule.AssemblyName, "_", ScraperModule.ContentType)) + + ScraperModule.ProcessorModule.Init(ScraperModule.AssemblyName) + + For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(f) f.AssemblyName = ScraperModule.AssemblyName AndAlso + f.ContentType = Enums.ContentType.TV) + ScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled + ImageScraperAnyEnabled_TV = ImageScraperAnyEnabled_TV OrElse i.ModuleEnabled + ScraperModule.ModuleOrder = i.ModuleOrder + ImageScraperFound_TV = True + Next + If Not ImageScraperFound_TV Then + ScraperModule.ModuleOrder = 999 + End If + End If + + fType = fileType.GetInterface("ScraperModule_Theme_TV") + If Not fType Is Nothing Then + Dim ProcessorModule As Interfaces.ScraperModule_Theme_TV + ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Theme_TV) + + Dim ScraperModule As New _externalScraperModuleClass_Theme_TV + ScraperModule.ProcessorModule = ProcessorModule + ScraperModule.AssemblyName = tAssemblyItem.AssemblyName + ScraperModule.AssemblyFileName = tAssemblyItem.Assembly.ManifestModule.Name + externalScrapersModules_Theme_TV.Add(ScraperModule) + + logger.Trace(String.Concat("[ModulesManager] [LoadModules] Scraper Added: ", ScraperModule.AssemblyName, "_", ScraperModule.ContentType)) + + ScraperModule.ProcessorModule.Init(ScraperModule.AssemblyName) + + For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(f) f.AssemblyName = ScraperModule.AssemblyName) + ScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled + ThemeScraperAnyEnabled_TV = ThemeScraperAnyEnabled_TV OrElse i.ModuleEnabled + ScraperModule.ModuleOrder = i.ModuleOrder + ThemeScraperFound_TV = True + Next + If Not ThemeScraperFound_TV Then + ScraperModule.ModuleOrder = 999 + End If + End If + Next Next + + 'Modules ordering Dim c As Integer = 0 - For Each ext As _externalScraperModuleClass_Data_Movie In externalScrapersModules_Data_Movie.OrderBy(Function(x) x.ModuleOrder) + For Each ext As _externalGenericModuleClass In externalGenericModules.OrderBy(Function(f) f.ModuleOrder) ext.ModuleOrder = c c += 1 Next c = 0 - For Each ext As _externalScraperModuleClass_Image_Movie In externalScrapersModules_Image_Movie.OrderBy(Function(x) x.ModuleOrder) + For Each ext As _externalScraperModuleClass_Data_Movie In externalScrapersModules_Data_Movie.OrderBy(Function(f) f.ModuleOrder) ext.ModuleOrder = c c += 1 Next c = 0 - For Each ext As _externalScraperModuleClass_Theme_Movie In externalScrapersModules_Theme_Movie.OrderBy(Function(x) x.ModuleOrder) + For Each ext As _externalScraperModuleClass_Image_Movie In externalScrapersModules_Image_Movie.OrderBy(Function(f) f.ModuleOrder) ext.ModuleOrder = c c += 1 Next c = 0 - For Each ext As _externalScraperModuleClass_Trailer_Movie In externalScrapersModules_Trailer_Movie.OrderBy(Function(x) x.ModuleOrder) + For Each ext As _externalScraperModuleClass_Theme_Movie In externalScrapersModules_Theme_Movie.OrderBy(Function(f) f.ModuleOrder) ext.ModuleOrder = c c += 1 Next - If Not DataScraperAnyEnabled AndAlso Not DataScraperFound Then - SetScraperEnable_Data_Movie("scraper.Data.TMDB.ScraperModule.TMDB_Data", True) - End If - If Not ImageScraperAnyEnabled AndAlso Not ImageScraperFound Then - SetScraperEnable_Image_Movie("scraper.Image.FanartTV.ScraperModule.FanartTV_Image", True) - SetScraperEnable_Image_Movie("scraper.Image.TMDB.ScraperModule.TMDB_Image", True) - End If - If Not ThemeScraperAnyEnabled AndAlso Not ThemeScraperFound Then - SetScraperEnable_Theme_Movie("scraper.Theme.TelevisionTunes.ScraperModule.TelevisionTunes_Theme", True) - End If - If Not TrailerScraperAnyEnabled AndAlso Not TrailerScraperFound Then - SetScraperEnable_Trailer_Movie("scraper.Trailer.TMDB.ScraperModule.TMDB_Trailer", True) - End If - End If - logger.Trace("loadMovieScrapersModules finished") - End Sub - - ''' - ''' Load all Scraper Modules and field in externalScrapersModules List - ''' - Public Sub LoadScrapersModules_MovieSet(Optional ByVal modulefile As String = "*.dll") - logger.Trace("loadMovieSetScrapersModules started") - Dim DataScraperAnyEnabled As Boolean = False - Dim DataScraperFound As Boolean = False - Dim ImageScraperAnyEnabled As Boolean = False - Dim ImageScraperFound As Boolean = False - - If Directory.Exists(moduleLocation) Then - 'Assembly to load the file - Dim assembly As System.Reflection.Assembly - 'For each .dll file in the module directory - For Each file As String In System.IO.Directory.GetFiles(moduleLocation, modulefile) - Try - assembly = System.Reflection.Assembly.LoadFile(file) - 'Loop through each of the assemeblies type - For Each fileType As Type In assembly.GetTypes - - 'Activate the located module - Dim t1 As Type = fileType.GetInterface("ScraperModule_Data_MovieSet") - If Not t1 Is Nothing Then - Dim ProcessorModule As Interfaces.ScraperModule_Data_MovieSet - ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Data_MovieSet) - 'Add the activated module to the arraylist - Dim _externalScraperModule As New _externalScraperModuleClass_Data_MovieSet - Dim filename As String = file - If String.IsNullOrEmpty(AssemblyList_MovieSet.FirstOrDefault(Function(x) x.AssemblyName = Path.GetFileNameWithoutExtension(filename)).AssemblyName) Then - AssemblyList_MovieSet.Add(New AssemblyListItem With {.AssemblyName = Path.GetFileNameWithoutExtension(filename), .Assembly = assembly}) - End If - _externalScraperModule.ProcessorModule = ProcessorModule - _externalScraperModule.AssemblyName = String.Concat(Path.GetFileNameWithoutExtension(file), ".", fileType.FullName) - _externalScraperModule.AssemblyFileName = Path.GetFileName(file) - - externalScrapersModules_Data_MovieSet.Add(_externalScraperModule) - logger.Trace(String.Concat("Scraper Added: ", _externalScraperModule.AssemblyName, "_", _externalScraperModule.ContentType)) - _externalScraperModule.ProcessorModule.Init(_externalScraperModule.AssemblyName) - For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(x) x.AssemblyName = _externalScraperModule.AssemblyName AndAlso - x.ContentType = Enums.ContentType.MovieSet) - _externalScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled - DataScraperAnyEnabled = DataScraperAnyEnabled OrElse i.ModuleEnabled - _externalScraperModule.ModuleOrder = i.ModuleOrder - DataScraperFound = True - Next - If Not DataScraperFound Then - _externalScraperModule.ModuleOrder = 999 - End If - Else - Dim t2 As Type = fileType.GetInterface("ScraperModule_Image_MovieSet") - If Not t2 Is Nothing Then - Dim ProcessorModule As Interfaces.ScraperModule_Image_MovieSet - ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Image_MovieSet) - 'Add the activated module to the arraylist - Dim _externalScraperModule As New _externalScraperModuleClass_Image_MovieSet - Dim filename As String = file - If String.IsNullOrEmpty(AssemblyList_MovieSet.FirstOrDefault(Function(x) x.AssemblyName = Path.GetFileNameWithoutExtension(filename)).AssemblyName) Then - AssemblyList_MovieSet.Add(New AssemblyListItem With {.AssemblyName = Path.GetFileNameWithoutExtension(filename), .Assembly = assembly}) - End If - _externalScraperModule.ProcessorModule = ProcessorModule - _externalScraperModule.AssemblyName = String.Concat(Path.GetFileNameWithoutExtension(file), ".", fileType.FullName) - _externalScraperModule.AssemblyFileName = Path.GetFileName(file) - - externalScrapersModules_Image_MovieSet.Add(_externalScraperModule) - logger.Trace(String.Concat("Scraper Added: ", _externalScraperModule.AssemblyName, "_", _externalScraperModule.ContentType)) - _externalScraperModule.ProcessorModule.Init(_externalScraperModule.AssemblyName) - For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(x) x.AssemblyName = _externalScraperModule.AssemblyName AndAlso - x.ContentType = Enums.ContentType.MovieSet) - _externalScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled - ImageScraperAnyEnabled = ImageScraperAnyEnabled OrElse i.ModuleEnabled - _externalScraperModule.ModuleOrder = i.ModuleOrder - ImageScraperFound = True - Next - If Not ImageScraperFound Then - _externalScraperModule.ModuleOrder = 999 - End If - End If - End If - Next - Catch ex As Exception - logger.Error(New StackFrame().GetMethod().Name, ex) - End Try - Next - Dim c As Integer = 0 - For Each ext As _externalScraperModuleClass_Data_MovieSet In externalScrapersModules_Data_MovieSet.OrderBy(Function(x) x.ModuleOrder) + c = 0 + For Each ext As _externalScraperModuleClass_Trailer_Movie In externalScrapersModules_Trailer_Movie.OrderBy(Function(f) f.ModuleOrder) ext.ModuleOrder = c c += 1 Next c = 0 - For Each ext As _externalScraperModuleClass_Image_MovieSet In externalScrapersModules_Image_MovieSet.OrderBy(Function(x) x.ModuleOrder) + For Each ext As _externalScraperModuleClass_Data_MovieSet In externalScrapersModules_Data_MovieSet.OrderBy(Function(f) f.ModuleOrder) ext.ModuleOrder = c c += 1 Next - If Not DataScraperAnyEnabled AndAlso Not DataScraperFound Then - SetScraperEnable_Data_MovieSet("scraper.Data.TMDB.ScraperModule.TMDB_Data", True) - End If - If Not ImageScraperAnyEnabled AndAlso Not ImageScraperFound Then - SetScraperEnable_Image_MovieSet("scraper.Image.FanartTV.ScraperModule.FanartTV_Image", True) - SetScraperEnable_Image_MovieSet("scraper.Image.TMDB.ScraperModule.TMDB_Image", True) - End If - End If - logger.Trace("loadMovieScrapersModules finished") - End Sub - - Public Sub LoadScrapersModules_TV() - logger.Trace("loadTVScrapersModules started") - Dim DataScraperAnyEnabled As Boolean = False - Dim DataScraperFound As Boolean = False - Dim ImageScraperAnyEnabled As Boolean = False - Dim ImageScraperFound As Boolean = False - Dim ThemeScraperAnyEnabled As Boolean = False - Dim ThemeScraperFound As Boolean = False - - If Directory.Exists(moduleLocation) Then - 'Assembly to load the file - Dim assembly As System.Reflection.Assembly - 'For each .dll file in the module directory - For Each file As String In System.IO.Directory.GetFiles(moduleLocation, "*.dll") - Try - assembly = System.Reflection.Assembly.LoadFile(file) - 'Loop through each of the assemeblies type - - For Each fileType As Type In assembly.GetTypes - - 'Activate the located module - Dim t1 As Type = fileType.GetInterface("ScraperModule_Data_TV") - If Not t1 Is Nothing Then - Dim ProcessorModule As Interfaces.ScraperModule_Data_TV - ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Data_TV) - 'Add the activated module to the arraylist - Dim _externalScraperModule As New _externalScraperModuleClass_Data_TV - Dim filename As String = file - If String.IsNullOrEmpty(AssemblyList_TV.FirstOrDefault(Function(x) x.AssemblyName = Path.GetFileNameWithoutExtension(filename)).AssemblyName) Then - AssemblyList_TV.Add(New AssemblyListItem With {.AssemblyName = Path.GetFileNameWithoutExtension(filename), .Assembly = assembly}) - End If - _externalScraperModule.ProcessorModule = ProcessorModule - _externalScraperModule.AssemblyName = String.Concat(Path.GetFileNameWithoutExtension(file), ".", fileType.FullName) - _externalScraperModule.AssemblyFileName = Path.GetFileName(file) - - externalScrapersModules_Data_TV.Add(_externalScraperModule) - logger.Trace(String.Concat("Scraper Added: ", _externalScraperModule.AssemblyName, "_", _externalScraperModule.ContentType)) - _externalScraperModule.ProcessorModule.Init(_externalScraperModule.AssemblyName) - For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(x) x.AssemblyName = _externalScraperModule.AssemblyName AndAlso - x.ContentType = Enums.ContentType.TV) - _externalScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled - DataScraperAnyEnabled = DataScraperAnyEnabled OrElse i.ModuleEnabled - _externalScraperModule.ModuleOrder = i.ModuleOrder - DataScraperFound = True - Next - If Not DataScraperFound Then - _externalScraperModule.ModuleOrder = 999 - End If - Else - Dim t2 As Type = fileType.GetInterface("ScraperModule_Image_TV") - If Not t2 Is Nothing Then - Dim ProcessorModule As Interfaces.ScraperModule_Image_TV - ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Image_TV) - 'Add the activated module to the arraylist - Dim _externalScraperModule As New _externalScraperModuleClass_Image_TV - Dim filename As String = file - If String.IsNullOrEmpty(AssemblyList_TV.FirstOrDefault(Function(x) x.AssemblyName = Path.GetFileNameWithoutExtension(filename)).AssemblyName) Then - AssemblyList_TV.Add(New AssemblyListItem With {.AssemblyName = Path.GetFileNameWithoutExtension(filename), .Assembly = assembly}) - End If - _externalScraperModule.ProcessorModule = ProcessorModule - _externalScraperModule.AssemblyName = String.Concat(Path.GetFileNameWithoutExtension(file), ".", fileType.FullName) - _externalScraperModule.AssemblyFileName = Path.GetFileName(file) - - externalScrapersModules_Image_TV.Add(_externalScraperModule) - logger.Trace(String.Concat("Scraper Added: ", _externalScraperModule.AssemblyName, "_", _externalScraperModule.ContentType)) - _externalScraperModule.ProcessorModule.Init(_externalScraperModule.AssemblyName) - For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(x) x.AssemblyName = _externalScraperModule.AssemblyName AndAlso - x.ContentType = Enums.ContentType.TV) - _externalScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled - ImageScraperAnyEnabled = ImageScraperAnyEnabled OrElse i.ModuleEnabled - _externalScraperModule.ModuleOrder = i.ModuleOrder - ImageScraperFound = True - Next - If Not ImageScraperFound Then - _externalScraperModule.ModuleOrder = 999 - End If - Else - Dim t3 As Type = fileType.GetInterface("ScraperModule_Theme_TV") - If Not t3 Is Nothing Then - Dim ProcessorModule As Interfaces.ScraperModule_Theme_TV - ProcessorModule = CType(Activator.CreateInstance(fileType), Interfaces.ScraperModule_Theme_TV) - 'Add the activated module to the arraylist - Dim _externalTVScraperModule As New _externalScraperModuleClass_Theme_TV - Dim filename As String = file - If String.IsNullOrEmpty(AssemblyList_TV.FirstOrDefault(Function(x) x.AssemblyName = Path.GetFileNameWithoutExtension(filename)).AssemblyName) Then - AssemblyList_TV.Add(New AssemblyListItem With {.AssemblyName = Path.GetFileNameWithoutExtension(filename), .Assembly = assembly}) - End If - - _externalTVScraperModule.ProcessorModule = ProcessorModule - _externalTVScraperModule.AssemblyName = String.Concat(Path.GetFileNameWithoutExtension(file), ".", fileType.FullName) - _externalTVScraperModule.AssemblyFileName = Path.GetFileName(file) - externalScrapersModules_Theme_TV.Add(_externalTVScraperModule) - _externalTVScraperModule.ProcessorModule.Init(_externalTVScraperModule.AssemblyName) - For Each i As _XMLEmberModuleClass In Master.eSettings.EmberModules.Where(Function(x) x.AssemblyName = _externalTVScraperModule.AssemblyName) - _externalTVScraperModule.ProcessorModule.ScraperEnabled = i.ModuleEnabled - ThemeScraperAnyEnabled = ThemeScraperAnyEnabled OrElse i.ModuleEnabled - _externalTVScraperModule.ModuleOrder = i.ModuleOrder - ThemeScraperFound = True - Next - If Not ThemeScraperFound Then - _externalTVScraperModule.ModuleOrder = 999 - End If - End If - End If - End If - Next - Catch ex As Exception - logger.Error(New StackFrame().GetMethod().Name, ex) - End Try + c = 0 + For Each ext As _externalScraperModuleClass_Image_MovieSet In externalScrapersModules_Image_MovieSet.OrderBy(Function(f) f.ModuleOrder) + ext.ModuleOrder = c + c += 1 Next - Dim c As Integer = 0 - For Each ext As _externalScraperModuleClass_Data_TV In externalScrapersModules_Data_TV.OrderBy(Function(x) x.ModuleOrder) + c = 0 + For Each ext As _externalScraperModuleClass_Data_TV In externalScrapersModules_Data_TV.OrderBy(Function(f) f.ModuleOrder) ext.ModuleOrder = c c += 1 Next c = 0 - For Each ext As _externalScraperModuleClass_Image_TV In externalScrapersModules_Image_TV.OrderBy(Function(x) x.ModuleOrder) + For Each ext As _externalScraperModuleClass_Image_TV In externalScrapersModules_Image_TV.OrderBy(Function(f) f.ModuleOrder) ext.ModuleOrder = c c += 1 Next c = 0 - For Each ext As _externalScraperModuleClass_Theme_TV In externalScrapersModules_Theme_TV.OrderBy(Function(x) x.ModuleOrder) + For Each ext As _externalScraperModuleClass_Theme_TV In externalScrapersModules_Theme_TV.OrderBy(Function(f) f.ModuleOrder) ext.ModuleOrder = c c += 1 Next - If Not DataScraperAnyEnabled AndAlso Not DataScraperFound Then - SetScraperEnable_Data_TV("scraper.Data.TVDB.ScraperModule.TVDB_Data", True) + + 'Enable default Modules + If Not DataScraperAnyEnabled_Movie AndAlso Not DataScraperFound_Movie Then + SetScraperEnable_Data_Movie("scraper.Data.TMDB", True) + End If + If Not ImageScraperAnyEnabled_Movie AndAlso Not ImageScraperFound_Movie Then + SetScraperEnable_Image_Movie("scraper.Image.FanartTV", True) + SetScraperEnable_Image_Movie("scraper.Image.TMDB", True) + End If + If Not ThemeScraperAnyEnabled_Movie AndAlso Not ThemeScraperFound_Movie Then + SetScraperEnable_Theme_Movie("scraper.Theme.TelevisionTunes", True) + End If + If Not TrailerScraperAnyEnabled_Movie AndAlso Not TrailerScraperFound_Movie Then + SetScraperEnable_Trailer_Movie("scraper.Trailer.TMDB", True) + End If + If Not DataScraperAnyEnabled_MovieSet AndAlso Not DataScraperFound_MovieSet Then + SetScraperEnable_Data_MovieSet("scraper.Data.TMDB", True) End If - If Not ImageScraperAnyEnabled AndAlso Not ImageScraperFound Then - SetScraperEnable_Image_TV("scraper.Image.FanartTV.ScraperModule.FanartTV_Image", True) - SetScraperEnable_Image_TV("scraper.Image.TMDB.ScraperModule.TMDB_Image", True) - SetScraperEnable_Image_TV("scraper.Image.TVDB.ScraperModule.TVDB_Image", True) + If Not ImageScraperAnyEnabled_MovieSet AndAlso Not ImageScraperFound_MovieSet Then + SetScraperEnable_Image_MovieSet("scraper.Image.FanartTV", True) + SetScraperEnable_Image_MovieSet("scraper.Image.TMDB", True) End If - If Not ThemeScraperAnyEnabled AndAlso Not ThemeScraperFound Then - SetScraperEnable_Theme_TV("scraper.TelevisionTunes.Theme.EmberTVScraperModule.TelevisionTunes_Theme", True) + If Not DataScraperAnyEnabled_TV AndAlso Not DataScraperFound_TV Then + SetScraperEnable_Data_TV("scraper.Data.TVDB", True) + End If + If Not ImageScraperAnyEnabled_TV AndAlso Not ImageScraperFound_TV Then + SetScraperEnable_Image_TV("scraper.Image.FanartTV", True) + SetScraperEnable_Image_TV("scraper.Image.TMDB", True) + SetScraperEnable_Image_TV("scraper.Image.TVDB", True) + End If + If Not ThemeScraperAnyEnabled_TV AndAlso Not ThemeScraperFound_TV Then + SetScraperEnable_Theme_TV("scraper.TelevisionTunes.Theme", True) End If End If - logger.Trace("loadTVScrapersModules finished") + + logger.Trace("[ModulesManager] [LoadModules] [Done]") End Sub Function QueryScraperCapabilities_Image_Movie(ByVal externalScraperModule As _externalScraperModuleClass_Image_Movie, ByVal ScrapeModifiers As Structures.ScrapeModifiers) As Boolean - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While @@ -841,7 +657,7 @@ Public Class ModulesManager End Function Function QueryScraperCapabilities_Image_Movie(ByVal externalScraperModule As _externalScraperModuleClass_Image_Movie, ByVal ImageType As Enums.ModifierType) As Boolean - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While @@ -858,7 +674,7 @@ Public Class ModulesManager End Function Function QueryScraperCapabilities_Image_MovieSet(ByVal externalScraperModule As _externalScraperModuleClass_Image_MovieSet, ByVal ScrapeModifiers As Structures.ScrapeModifiers) As Boolean - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While @@ -874,7 +690,7 @@ Public Class ModulesManager End Function Function QueryScraperCapabilities_Image_MovieSet(ByVal externalScraperModule As _externalScraperModuleClass_Image_MovieSet, ByVal ImageType As Enums.ModifierType) As Boolean - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While @@ -884,7 +700,7 @@ Public Class ModulesManager End Function Function QueryScraperCapabilities_Image_TV(ByVal externalScraperModule As _externalScraperModuleClass_Image_TV, ByVal ScrapeModifiers As Structures.ScrapeModifiers) As Boolean - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While @@ -906,7 +722,7 @@ Public Class ModulesManager End Function Function QueryScraperCapabilities_Image_TV(ByVal externalScraperModule As _externalScraperModuleClass_Image_TV, ByVal ImageType As Enums.ModifierType) As Boolean - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While @@ -948,23 +764,24 @@ Public Class ModulesManager ''' ''' Note that if any module returns a result of breakChain, no further modules are processed Public Function RunGeneric(ByVal mType As Enums.ModuleEventType, ByRef _params As List(Of Object), Optional ByVal _singleobjekt As Object = Nothing, Optional ByVal RunOnlyOne As Boolean = False, Optional ByRef DBElement As Database.DBElement = Nothing) As Boolean + logger.Trace(String.Format("[ModulesManager] [RunGeneric] [Start] <{0}>", mType.ToString)) Dim ret As Interfaces.ModuleResult - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While Try - Dim modules As IEnumerable(Of _externalGenericModuleClass) = externalProcessorModules.Where(Function(e) e.ProcessorModule.ModuleType.Contains(mType) AndAlso e.ProcessorModule.Enabled) + Dim modules As IEnumerable(Of _externalGenericModuleClass) = externalGenericModules.Where(Function(e) e.ProcessorModule.ModuleType.Contains(mType) AndAlso e.ProcessorModule.Enabled) If (modules.Count() <= 0) Then - logger.Warn("No generic modules defined <{0}>", mType.ToString) + logger.Warn("[ModulesManager] [RunGeneric] No generic modules defined <{0}>", mType.ToString) Else For Each _externalGenericModule As _externalGenericModuleClass In modules Try - logger.Trace("Run generic module <{0}>", _externalGenericModule.ProcessorModule.ModuleName) + logger.Trace("[ModulesManager] [RunGeneric] Run generic module <{0}>", _externalGenericModule.ProcessorModule.ModuleName) ret = _externalGenericModule.ProcessorModule.RunGeneric(mType, _params, _singleobjekt, DBElement) Catch ex As Exception - logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Windows.Forms.Keys.Tab) & "Error scraping movies images using <" & _externalGenericModule.ProcessorModule.ModuleName & ">", ex) + logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Keys.Tab) & "Error scraping movies images using <" & _externalGenericModule.ProcessorModule.ModuleName & ">", ex) End Try If ret.breakChain OrElse RunOnlyOne Then Exit For Next @@ -979,11 +796,11 @@ Public Class ModulesManager Public Sub SaveSettings() Dim tmpForXML As New List(Of _XMLEmberModuleClass) - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While - For Each _externalProcessorModule As _externalGenericModuleClass In externalProcessorModules + For Each _externalProcessorModule As _externalGenericModuleClass In externalGenericModules Dim t As New _XMLEmberModuleClass t.AssemblyName = _externalProcessorModule.AssemblyName t.AssemblyFileName = _externalProcessorModule.AssemblyFileName @@ -1085,13 +902,13 @@ Public Class ModulesManager ''' True if one of the scrapers was cancelled ''' Note that if no movie scrapers are enabled, a silent warning is generated. Public Function ScrapeData_Movie(ByRef DBElement As Database.DBElement, ByRef ScrapeModifiers As Structures.ScrapeModifiers, ByVal ScrapeType As Enums.ScrapeType, ByVal ScrapeOptions As Structures.ScrapeOptions, ByVal showMessage As Boolean) As Boolean - logger.Trace(String.Format("[APIModules] [ScrapeData_Movie] [Start] {0}", DBElement.Filename)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_Movie] [Start] {0}", DBElement.Filename)) If DBElement.IsOnline OrElse FileUtils.Common.CheckOnlineStatus_Movie(DBElement, showMessage) Then Dim modules As IEnumerable(Of _externalScraperModuleClass_Data_Movie) = externalScrapersModules_Data_Movie.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) Dim ret As Interfaces.ModuleResult_Data_Movie Dim ScrapedList As New List(Of MediaContainers.Movie) - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While @@ -1130,10 +947,10 @@ Public Class ModulesManager Dim oDBMovie As Database.DBElement = CType(DBElement.CloneDeep, Database.DBElement) If (modules.Count() <= 0) Then - logger.Warn("[APIModules] [ScrapeData_Movie] [Abort] No scrapers enabled") + logger.Warn("[ModulesManager] [ScrapeData_Movie] [Abort] No scrapers enabled") Else For Each _externalScraperModule As _externalScraperModuleClass_Data_Movie In modules - logger.Trace(String.Format("[APIModules] [ScrapeData_Movie] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_Movie] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) AddHandler _externalScraperModule.ProcessorModule.ScraperEvent, AddressOf Handler_ScraperEvent_Movie ret = _externalScraperModule.ProcessorModule.Scraper_Movie(oDBMovie, ScrapeModifiers, ScrapeType, ScrapeOptions) @@ -1148,7 +965,7 @@ Public Class ModulesManager Next If ScrapedList.Count = 0 Then - logger.Trace(String.Format("[APIModules] [ScrapeData_Movie] [Cancelled] [No Scraper Results] {0}", DBElement.Filename)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_Movie] [Cancelled] [No Scraper Results] {0}", DBElement.Filename)) Return True 'Cancelled End If @@ -1158,10 +975,10 @@ Public Class ModulesManager 'create cache paths for Actor Thumbs DBElement.Movie.CreateCachePaths_ActorsThumbs() End If - logger.Trace(String.Format("[APIModules] [ScrapeData_Movie] [Done] {0}", DBElement.Filename)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_Movie] [Done] {0}", DBElement.Filename)) Return ret.Cancelled Else - logger.Trace(String.Format("[APIModules] [ScrapeData_Movie] [Abort] [Offline] {0}", DBElement.Filename)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_Movie] [Abort] [Offline] {0}", DBElement.Filename)) Return True 'Cancelled End If End Function @@ -1174,13 +991,13 @@ Public Class ModulesManager ''' True if one of the scrapers was cancelled ''' Note that if no movie set scrapers are enabled, a silent warning is generated. Public Function ScrapeData_MovieSet(ByRef DBElement As Database.DBElement, ByRef ScrapeModifiers As Structures.ScrapeModifiers, ByVal ScrapeType As Enums.ScrapeType, ByVal ScrapeOptions As Structures.ScrapeOptions, ByVal showMessage As Boolean) As Boolean - logger.Trace(String.Format("[APIModules] [ScrapeData_MovieSet] [Start] {0}", DBElement.MovieSet.Title)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_MovieSet] [Start] {0}", DBElement.MovieSet.Title)) 'If DBMovieSet.IsOnline OrElse FileUtils.Common.CheckOnlineStatus_MovieSet(DBMovieSet, showMessage) Then Dim modules As IEnumerable(Of _externalScraperModuleClass_Data_MovieSet) = externalScrapersModules_Data_MovieSet.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) Dim ret As Interfaces.ModuleResult_Data_MovieSet Dim ScrapedList As New List(Of MediaContainers.MovieSet) - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While @@ -1198,16 +1015,16 @@ Public Class ModulesManager Dim oDBMovieSet As Database.DBElement = CType(DBElement.CloneDeep, Database.DBElement) If (modules.Count() <= 0) Then - logger.Warn("[APIModules] [ScrapeData_MovieSet] [Abort] No scrapers enabled") + logger.Warn("[ModulesManager] [ScrapeData_MovieSet] [Abort] No scrapers enabled") Else For Each _externalScraperModule As _externalScraperModuleClass_Data_MovieSet In modules - logger.Trace(String.Format("[APIModules] [ScrapeData_MovieSet] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_MovieSet] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) AddHandler _externalScraperModule.ProcessorModule.ScraperEvent, AddressOf Handler_ScraperEvent_MovieSet ret = _externalScraperModule.ProcessorModule.Scraper(oDBMovieSet, ScrapeModifiers, ScrapeType, ScrapeOptions) If ret.Cancelled Then - logger.Trace(String.Format("[APIModules] [ScrapeData_MovieSet] [Cancelled] [No Scraper Results] {0}", DBElement.MovieSet.Title)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_MovieSet] [Cancelled] [No Scraper Results] {0}", DBElement.MovieSet.Title)) Return ret.Cancelled End If @@ -1219,14 +1036,14 @@ Public Class ModulesManager Next If ScrapedList.Count = 0 Then - logger.Trace(String.Format("[APIModules] [ScrapeData_MovieSet] [Cancelled] [No Scraper Results] {0}", DBElement.MovieSet.Title)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_MovieSet] [Cancelled] [No Scraper Results] {0}", DBElement.MovieSet.Title)) Return True 'Cancelled End If 'Merge scraperresults considering global datascraper settings DBElement = NFO.MergeDataScraperResults_MovieSet(DBElement, ScrapedList, ScrapeType, ScrapeOptions) End If - logger.Trace(String.Format("[APIModules] [ScrapeData_MovieSet] [Done] {0}", DBElement.MovieSet.Title)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_MovieSet] [Done] {0}", DBElement.MovieSet.Title)) Return ret.Cancelled 'Else 'Return True 'Cancelled @@ -1234,13 +1051,13 @@ Public Class ModulesManager End Function Public Function ScrapeData_TVEpisode(ByRef DBElement As Database.DBElement, ByVal ScrapeOptions As Structures.ScrapeOptions, ByVal showMessage As Boolean) As Boolean - logger.Trace(String.Format("[APIModules] [ScrapeData_TVEpisode] [Start] {0}", DBElement.Filename)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_TVEpisode] [Start] {0}", DBElement.Filename)) If DBElement.IsOnline OrElse FileUtils.Common.CheckOnlineStatus_TVShow(DBElement, showMessage) Then Dim modules As IEnumerable(Of _externalScraperModuleClass_Data_TV) = externalScrapersModules_Data_TV.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) Dim ret As Interfaces.ModuleResult_Data_TVEpisode Dim ScrapedList As New List(Of MediaContainers.EpisodeDetails) - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While @@ -1248,10 +1065,10 @@ Public Class ModulesManager Dim oEpisode As Database.DBElement = CType(DBElement.CloneDeep, Database.DBElement) If (modules.Count() <= 0) Then - logger.Warn("[APIModules] [ScrapeData_TVEpisode] [Abort] No scrapers enabled") + logger.Warn("[ModulesManager] [ScrapeData_TVEpisode] [Abort] No scrapers enabled") Else For Each _externalScraperModule As _externalScraperModuleClass_Data_TV In modules - logger.Trace(String.Format("[APIModules] [ScrapeData_TVEpisode] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_TVEpisode] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) AddHandler _externalScraperModule.ProcessorModule.ScraperEvent, AddressOf Handler_ScraperEvent_TV ret = _externalScraperModule.ProcessorModule.Scraper_TVEpisode(oEpisode, ScrapeOptions) @@ -1266,7 +1083,7 @@ Public Class ModulesManager Next If ScrapedList.Count = 0 Then - logger.Trace(String.Format("[APIModules] [ScrapeData_TVEpisode] [Cancelled] [No Scraper Results] {0}", DBElement.Filename)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_TVEpisode] [Cancelled] [No Scraper Results] {0}", DBElement.Filename)) Return True 'Cancelled End If @@ -1283,13 +1100,13 @@ Public Class ModulesManager End Function Public Function ScrapeData_TVSeason(ByRef DBElement As Database.DBElement, ByVal ScrapeOptions As Structures.ScrapeOptions, ByVal showMessage As Boolean) As Boolean - logger.Trace(String.Format("[APIModules] [ScrapeData_TVSeason] [Start] {0}: Season {1}", DBElement.TVShow.Title, DBElement.TVSeason.Season)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_TVSeason] [Start] {0}: Season {1}", DBElement.TVShow.Title, DBElement.TVSeason.Season)) If DBElement.IsOnline OrElse FileUtils.Common.CheckOnlineStatus_TVShow(DBElement, showMessage) Then Dim modules As IEnumerable(Of _externalScraperModuleClass_Data_TV) = externalScrapersModules_Data_TV.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) Dim ret As Interfaces.ModuleResult_Data_TVSeason Dim ScrapedList As New List(Of MediaContainers.SeasonDetails) - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While @@ -1297,10 +1114,10 @@ Public Class ModulesManager Dim oSeason As Database.DBElement = CType(DBElement.CloneDeep, Database.DBElement) If (modules.Count() <= 0) Then - logger.Warn("[APIModules] [ScrapeData_TVSeason] [Abort] No scrapers enabled") + logger.Warn("[ModulesManager] [ScrapeData_TVSeason] [Abort] No scrapers enabled") Else For Each _externalScraperModule As _externalScraperModuleClass_Data_TV In modules - logger.Trace(String.Format("[APIModules] [ScrapeData_TVSeason] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_TVSeason] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) AddHandler _externalScraperModule.ProcessorModule.ScraperEvent, AddressOf Handler_ScraperEvent_TV ret = _externalScraperModule.ProcessorModule.Scraper_TVSeason(oSeason, ScrapeOptions) @@ -1315,7 +1132,7 @@ Public Class ModulesManager Next If ScrapedList.Count = 0 Then - logger.Trace(String.Format("[APIModules] [ScrapeData_TVSeason] [Cancelled] [No Scraper Results] {0}: Season {1}", DBElement.TVShow.Title, DBElement.TVSeason.Season)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_TVSeason] [Cancelled] [No Scraper Results] {0}: Season {1}", DBElement.TVShow.Title, DBElement.TVSeason.Season)) Return True 'Cancelled End If @@ -1336,13 +1153,13 @@ Public Class ModulesManager ''' True if one of the scrapers was cancelled ''' Note that if no movie scrapers are enabled, a silent warning is generated. Public Function ScrapeData_TVShow(ByRef DBElement As Database.DBElement, ByRef ScrapeModifiers As Structures.ScrapeModifiers, ByVal ScrapeType As Enums.ScrapeType, ByVal ScrapeOptions As Structures.ScrapeOptions, ByVal showMessage As Boolean) As Boolean - logger.Trace(String.Format("[APIModules] [ScrapeData_TVShow] [Start] {0}", DBElement.TVShow.Title)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_TVShow] [Start] {0}", DBElement.TVShow.Title)) If DBElement.IsOnline OrElse FileUtils.Common.CheckOnlineStatus_TVShow(DBElement, showMessage) Then Dim modules As IEnumerable(Of _externalScraperModuleClass_Data_TV) = externalScrapersModules_Data_TV.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) Dim ret As Interfaces.ModuleResult_Data_TVShow Dim ScrapedList As New List(Of MediaContainers.TVShow) - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While @@ -1372,10 +1189,10 @@ Public Class ModulesManager Dim oShow As Database.DBElement = CType(DBElement.CloneDeep, Database.DBElement) If (modules.Count() <= 0) Then - logger.Warn("[APIModules] [ScrapeData_TVShow] [Abort] No scrapers enabled") + logger.Warn("[ModulesManager] [ScrapeData_TVShow] [Abort] No scrapers enabled") Else For Each _externalScraperModule As _externalScraperModuleClass_Data_TV In modules - logger.Trace(String.Format("[APIModules] [ScrapeData_TVShow] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_TVShow] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) AddHandler _externalScraperModule.ProcessorModule.ScraperEvent, AddressOf Handler_ScraperEvent_TV ret = _externalScraperModule.ProcessorModule.Scraper_TVShow(oShow, ScrapeModifiers, ScrapeType, ScrapeOptions) @@ -1390,7 +1207,7 @@ Public Class ModulesManager Next If ScrapedList.Count = 0 Then - logger.Trace(String.Format("[APIModules] [ScrapeData_TVShow] [Cancelled] [No Scraper Results] {0}", DBElement.TVShow.Title)) + logger.Trace(String.Format("[ModulesManager] [ScrapeData_TVShow] [Cancelled] [No Scraper Results] {0}", DBElement.TVShow.Title)) Return True 'Cancelled End If @@ -1418,20 +1235,20 @@ Public Class ModulesManager ''' True if one of the scrapers was cancelled ''' Note that if no movie scrapers are enabled, a silent warning is generated. Public Function ScrapeImage_Movie(ByRef DBElement As Database.DBElement, ByRef ImagesContainer As MediaContainers.SearchResultsContainer, ByVal ScrapeModifiers As Structures.ScrapeModifiers, ByVal showMessage As Boolean) As Boolean - logger.Trace(String.Format("[APIModules] [ScrapeImage_Movie] [Start] {0}", DBElement.Filename)) + logger.Trace(String.Format("[ModulesManager] [ScrapeImage_Movie] [Start] {0}", DBElement.Filename)) If DBElement.IsOnline OrElse FileUtils.Common.CheckOnlineStatus_Movie(DBElement, showMessage) Then Dim modules As IEnumerable(Of _externalScraperModuleClass_Image_Movie) = externalScrapersModules_Image_Movie.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) Dim ret As Interfaces.ModuleResult - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While If (modules.Count() <= 0) Then - logger.Warn("[APIModules] [ScrapeImage_Movie] [Abort] No scrapers enabled") + logger.Warn("[ModulesManager] [ScrapeImage_Movie] [Abort] No scrapers enabled") Else For Each _externalScraperModule As _externalScraperModuleClass_Image_Movie In modules - logger.Trace(String.Format("[APIModules] [ScrapeImage_Movie] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) + logger.Trace(String.Format("[ModulesManager] [ScrapeImage_Movie] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) If QueryScraperCapabilities_Image_Movie(_externalScraperModule, ScrapeModifiers) Then AddHandler _externalScraperModule.ProcessorModule.ScraperEvent, AddressOf Handler_ScraperEvent_Movie Dim aContainer As New MediaContainers.SearchResultsContainer @@ -1471,19 +1288,19 @@ Public Class ModulesManager ''' True if one of the scrapers was cancelled ''' Note that if no movie scrapers are enabled, a silent warning is generated. Public Function ScrapeImage_MovieSet(ByRef DBElement As Database.DBElement, ByRef ImagesContainer As MediaContainers.SearchResultsContainer, ByVal ScrapeModifiers As Structures.ScrapeModifiers) As Boolean - logger.Trace(String.Format("[APIModules] [ScrapeImage_MovieSet] [Start] {0}", DBElement.MovieSet.Title)) + logger.Trace(String.Format("[ModulesManager] [ScrapeImage_MovieSet] [Start] {0}", DBElement.MovieSet.Title)) Dim modules As IEnumerable(Of _externalScraperModuleClass_Image_MovieSet) = externalScrapersModules_Image_MovieSet.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) Dim ret As Interfaces.ModuleResult - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While If (modules.Count() <= 0) Then - logger.Warn("[APIModules] [ScrapeImage_MovieSet] [Abort] No scrapers enabled") + logger.Warn("[ModulesManager] [ScrapeImage_MovieSet] [Abort] No scrapers enabled") Else For Each _externalScraperModule As _externalScraperModuleClass_Image_MovieSet In modules - logger.Trace(String.Format("[APIModules] [ScrapeImage_MovieSet] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) + logger.Trace(String.Format("[ModulesManager] [ScrapeImage_MovieSet] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) If QueryScraperCapabilities_Image_MovieSet(_externalScraperModule, ScrapeModifiers) Then AddHandler _externalScraperModule.ProcessorModule.ScraperEvent, AddressOf Handler_ScraperEvent_MovieSet Dim aContainer As New MediaContainers.SearchResultsContainer @@ -1521,12 +1338,12 @@ Public Class ModulesManager ''' True if one of the scrapers was cancelled ''' Note that if no movie scrapers are enabled, a silent warning is generated. Public Function ScrapeImage_TV(ByRef DBElement As Database.DBElement, ByRef ImagesContainer As MediaContainers.SearchResultsContainer, ByVal ScrapeModifiers As Structures.ScrapeModifiers, ByVal showMessage As Boolean) As Boolean - logger.Trace(String.Format("[APIModules] [ScrapeImage_TV] [Start] {0}", DBElement.TVShow.Title)) + logger.Trace(String.Format("[ModulesManager] [ScrapeImage_TV] [Start] {0}", DBElement.TVShow.Title)) If DBElement.IsOnline OrElse FileUtils.Common.CheckOnlineStatus_TVShow(DBElement, showMessage) Then Dim modules As IEnumerable(Of _externalScraperModuleClass_Image_TV) = externalScrapersModules_Image_TV.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) Dim ret As Interfaces.ModuleResult - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While @@ -1562,10 +1379,10 @@ Public Class ModulesManager End If If (modules.Count() <= 0) Then - logger.Warn("[APIModules] [ScrapeImage_TV] [Abort] No scrapers enabled") + logger.Warn("[ModulesManager] [ScrapeImage_TV] [Abort] No scrapers enabled") Else For Each _externalScraperModule As _externalScraperModuleClass_Image_TV In modules - logger.Trace(String.Format("[APIModules] [ScrapeImage_TV] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) + logger.Trace(String.Format("[ModulesManager] [ScrapeImage_TV] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) If QueryScraperCapabilities_Image_TV(_externalScraperModule, ScrapeModifiers) Then AddHandler _externalScraperModule.ProcessorModule.ScraperEvent, AddressOf Handler_ScraperEvent_TV Dim aContainer As New MediaContainers.SearchResultsContainer @@ -1611,20 +1428,20 @@ Public Class ModulesManager ''' True if one of the scrapers was cancelled ''' Public Function ScrapeTheme_Movie(ByRef DBElement As Database.DBElement, ByRef URLList As List(Of Themes)) As Boolean - logger.Trace(String.Format("[APIModules] [ScrapeTheme_Movie] [Start] {0}", DBElement.Filename)) + logger.Trace(String.Format("[ModulesManager] [ScrapeTheme_Movie] [Start] {0}", DBElement.Filename)) Dim modules As IEnumerable(Of _externalScraperModuleClass_Theme_Movie) = externalScrapersModules_Theme_Movie.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) Dim ret As Interfaces.ModuleResult Dim aList As List(Of Themes) - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While If (modules.Count() <= 0) Then - logger.Warn("[APIModules] [ScrapeTheme_Movie] [Abort] No scrapers enabled") + logger.Warn("[ModulesManager] [ScrapeTheme_Movie] [Abort] No scrapers enabled") Else For Each _externalScraperModule As _externalScraperModuleClass_Theme_Movie In modules - logger.Trace(String.Format("[APIModules] [ScrapeTheme_Movie] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) + logger.Trace(String.Format("[ModulesManager] [ScrapeTheme_Movie] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) AddHandler _externalScraperModule.ProcessorModule.ScraperEvent, AddressOf Handler_ScraperEvent_Movie aList = New List(Of Themes) ret = _externalScraperModule.ProcessorModule.Scraper(DBElement, aList) @@ -1649,19 +1466,19 @@ Public Class ModulesManager ''' True if one of the scrapers was cancelled ''' Public Function ScrapeTrailer_Movie(ByRef DBElement As Database.DBElement, ByVal Type As Enums.ModifierType, ByRef TrailerList As List(Of MediaContainers.Trailer)) As Boolean - logger.Trace(String.Format("[APIModules] [ScrapeTrailer_Movie] [Start] {0}", DBElement.Filename)) + logger.Trace(String.Format("[ModulesManager] [ScrapeTrailer_Movie] [Start] {0}", DBElement.Filename)) Dim modules As IEnumerable(Of _externalScraperModuleClass_Trailer_Movie) = externalScrapersModules_Trailer_Movie.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) Dim ret As Interfaces.ModuleResult - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While If (modules.Count() <= 0) Then - logger.Warn("[APIModules] [ScrapeTrailer_Movie] [Abort] No scrapers enabled") + logger.Warn("[ModulesManager] [ScrapeTrailer_Movie] [Abort] No scrapers enabled") Else For Each _externalScraperModule As _externalScraperModuleClass_Trailer_Movie In modules - logger.Trace(String.Format("[APIModules] [ScrapeTrailer_Movie] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) + logger.Trace(String.Format("[ModulesManager] [ScrapeTrailer_Movie] [Using] {0}", _externalScraperModule.ProcessorModule.ModuleName)) AddHandler _externalScraperModule.ProcessorModule.ScraperEvent, AddressOf Handler_ScraperEvent_Movie Dim aList As New List(Of MediaContainers.Trailer) ret = _externalScraperModule.ProcessorModule.Scraper(DBElement, Type, aList) @@ -1677,7 +1494,7 @@ Public Class ModulesManager Function ScraperWithCapabilityAnyEnabled_Image_Movie(ByVal ImageType As Enums.ModifierType) As Boolean Dim ret As Boolean = False - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While For Each _externalScraperModule As _externalScraperModuleClass_Image_Movie In externalScrapersModules_Image_Movie.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) @@ -1692,7 +1509,7 @@ Public Class ModulesManager Function ScraperWithCapabilityAnyEnabled_Image_MovieSet(ByVal ImageType As Enums.ModifierType) As Boolean Dim ret As Boolean = False - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While For Each _externalScraperModule As _externalScraperModuleClass_Image_MovieSet In externalScrapersModules_Image_MovieSet.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) @@ -1707,7 +1524,7 @@ Public Class ModulesManager Function ScraperWithCapabilityAnyEnabled_Image_TV(ByVal ImageType As Enums.ModifierType) As Boolean Dim ret As Boolean = False - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While For Each _externalScraperModule As _externalScraperModuleClass_Image_TV In externalScrapersModules_Image_TV.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) @@ -1722,7 +1539,7 @@ Public Class ModulesManager Function ScraperWithCapabilityAnyEnabled_Theme_Movie(ByVal cap As Enums.ModifierType) As Boolean Dim ret As Boolean = False - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While For Each _externalScraperModule As _externalScraperModuleClass_Theme_Movie In externalScrapersModules_Theme_Movie.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) @@ -1737,7 +1554,7 @@ Public Class ModulesManager Function ScraperWithCapabilityAnyEnabled_Theme_TV(ByVal cap As Enums.ModifierType) As Boolean Dim ret As Boolean = False - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While For Each _externalScraperModule As _externalScraperModuleClass_Theme_TV In externalScrapersModules_Theme_TV.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) @@ -1752,7 +1569,7 @@ Public Class ModulesManager Function ScraperWithCapabilityAnyEnabled_Trailer_Movie(ByVal cap As Enums.ModifierType) As Boolean Dim ret As Boolean = False - While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) + While Not ModulesLoaded Application.DoEvents() End While For Each _externalScraperModule As _externalScraperModuleClass_Trailer_Movie In externalScrapersModules_Trailer_Movie.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) @@ -1773,19 +1590,19 @@ Public Class ModulesManager ''' Public Sub SetModuleEnable_Generic(ByVal ModuleAssembly As String, ByVal value As Boolean) If (String.IsNullOrEmpty(ModuleAssembly)) Then - logger.Error("Invalid ModuleAssembly") + logger.Error("[ModulesManager] [SetModuleEnable_Generic] Invalid ModuleAssembly") Return End If - Dim modules As IEnumerable(Of _externalGenericModuleClass) = externalProcessorModules.Where(Function(p) p.AssemblyName = ModuleAssembly) + Dim modules As IEnumerable(Of _externalGenericModuleClass) = externalGenericModules.Where(Function(p) p.AssemblyName = ModuleAssembly) If (modules.Count < 0) Then - logger.Warn("No modules of type <{0}> were found", ModuleAssembly) + logger.Warn("[ModulesManager] [SetModuleEnable_Generic] No modules of type <{0}> were found", ModuleAssembly) Else For Each _externalProcessorModule As _externalGenericModuleClass In modules Try _externalProcessorModule.ProcessorModule.Enabled = value Catch ex As Exception - logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Windows.Forms.Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) + logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) End Try Next End If @@ -1793,19 +1610,19 @@ Public Class ModulesManager Public Sub SetScraperEnable_Data_Movie(ByVal ModuleAssembly As String, ByVal value As Boolean) If (String.IsNullOrEmpty(ModuleAssembly)) Then - logger.Error("Invalid ModuleAssembly") + logger.Error("[ModulesManager] [SetScraperEnable_Data_Movie] Invalid ModuleAssembly") Return End If Dim modules As IEnumerable(Of _externalScraperModuleClass_Data_Movie) = externalScrapersModules_Data_Movie.Where(Function(p) p.AssemblyName = ModuleAssembly) If (modules.Count < 0) Then - logger.Warn("No modules of type <{0}> were found", ModuleAssembly) + logger.Warn("[ModulesManager] [SetScraperEnable_Data_Movie] modules of type <{0}> were found", ModuleAssembly) Else For Each _externalScraperModule As _externalScraperModuleClass_Data_Movie In modules Try _externalScraperModule.ProcessorModule.ScraperEnabled = value Catch ex As Exception - logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Windows.Forms.Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) + logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) End Try Next End If @@ -1813,19 +1630,19 @@ Public Class ModulesManager Public Sub SetScraperEnable_Data_MovieSet(ByVal ModuleAssembly As String, ByVal value As Boolean) If (String.IsNullOrEmpty(ModuleAssembly)) Then - logger.Error("Invalid ModuleAssembly") + logger.Error("[ModulesManager] [SetScraperEnable_Data_MovieSet] Invalid ModuleAssembly") Return End If Dim modules As IEnumerable(Of _externalScraperModuleClass_Data_MovieSet) = externalScrapersModules_Data_MovieSet.Where(Function(p) p.AssemblyName = ModuleAssembly) If (modules.Count < 0) Then - logger.Warn("No modules of type <{0}> were found", ModuleAssembly) + logger.Warn("[ModulesManager] [SetScraperEnable_Data_MovieSet] No modules of type <{0}> were found", ModuleAssembly) Else For Each _externalScraperModule As _externalScraperModuleClass_Data_MovieSet In modules Try _externalScraperModule.ProcessorModule.ScraperEnabled = value Catch ex As Exception - logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Windows.Forms.Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) + logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) End Try Next End If @@ -1833,19 +1650,19 @@ Public Class ModulesManager Public Sub SetScraperEnable_Data_TV(ByVal ModuleAssembly As String, ByVal value As Boolean) If (String.IsNullOrEmpty(ModuleAssembly)) Then - logger.Error("Invalid ModuleAssembly") + logger.Error("[ModulesManager] [SetScraperEnable_Data_TV] Invalid ModuleAssembly") Return End If Dim modules As IEnumerable(Of _externalScraperModuleClass_Data_TV) = externalScrapersModules_Data_TV.Where(Function(p) p.AssemblyName = ModuleAssembly) If (modules.Count < 0) Then - logger.Warn("No modules of type <{0}> were found", ModuleAssembly) + logger.Warn("[ModulesManager] [SetScraperEnable_Data_TV] No modules of type <{0}> were found", ModuleAssembly) Else For Each _externalScraperModule As _externalScraperModuleClass_Data_TV In modules Try _externalScraperModule.ProcessorModule.ScraperEnabled = value Catch ex As Exception - logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Windows.Forms.Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) + logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) End Try Next End If @@ -1853,19 +1670,19 @@ Public Class ModulesManager Public Sub SetScraperEnable_Image_Movie(ByVal ModuleAssembly As String, ByVal value As Boolean) If (String.IsNullOrEmpty(ModuleAssembly)) Then - logger.Error("Invalid ModuleAssembly") + logger.Error("[ModulesManager] [SetScraperEnable_Image_Movie] Invalid ModuleAssembly") Return End If Dim modules As IEnumerable(Of _externalScraperModuleClass_Image_Movie) = externalScrapersModules_Image_Movie.Where(Function(p) p.AssemblyName = ModuleAssembly) If (modules.Count < 0) Then - logger.Warn("No modules of type <{0}> were found", ModuleAssembly) + logger.Warn("[ModulesManager] [SetScraperEnable_Image_Movie] No modules of type <{0}> were found", ModuleAssembly) Else For Each _externalScraperModule As _externalScraperModuleClass_Image_Movie In modules Try _externalScraperModule.ProcessorModule.ScraperEnabled = value Catch ex As Exception - logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Windows.Forms.Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) + logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) End Try Next End If @@ -1873,19 +1690,19 @@ Public Class ModulesManager Public Sub SetScraperEnable_Image_MovieSet(ByVal ModuleAssembly As String, ByVal value As Boolean) If (String.IsNullOrEmpty(ModuleAssembly)) Then - logger.Error("Invalid ModuleAssembly") + logger.Error("[ModulesManager] [SetScraperEnable_Image_MovieSet] Invalid ModuleAssembly") Return End If Dim modules As IEnumerable(Of _externalScraperModuleClass_Image_MovieSet) = externalScrapersModules_Image_MovieSet.Where(Function(p) p.AssemblyName = ModuleAssembly) If (modules.Count < 0) Then - logger.Warn("No modules of type <{0}> were found", ModuleAssembly) + logger.Warn("[ModulesManager] [SetScraperEnable_Image_MovieSet] No modules of type <{0}> were found", ModuleAssembly) Else For Each _externalScraperModule As _externalScraperModuleClass_Image_MovieSet In modules Try _externalScraperModule.ProcessorModule.ScraperEnabled = value Catch ex As Exception - logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Windows.Forms.Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) + logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) End Try Next End If @@ -1893,13 +1710,13 @@ Public Class ModulesManager Public Sub SetScraperEnable_Image_TV(ByVal ModuleAssembly As String, ByVal value As Boolean) If (String.IsNullOrEmpty(ModuleAssembly)) Then - logger.Error("Invalid ModuleAssembly") + logger.Error("[ModulesManager] [SetScraperEnable_Image_TV] Invalid ModuleAssembly") Return End If Dim modules As IEnumerable(Of _externalScraperModuleClass_Image_TV) = externalScrapersModules_Image_TV.Where(Function(p) p.AssemblyName = ModuleAssembly) If (modules.Count < 0) Then - logger.Warn("No modules of type <{0}> were found", ModuleAssembly) + logger.Warn("[ModulesManager] [SetScraperEnable_Image_TV] No modules of type <{0}> were found", ModuleAssembly) Else For Each _externalScraperModule As _externalScraperModuleClass_Image_TV In externalScrapersModules_Image_TV.Where(Function(p) p.AssemblyName = ModuleAssembly) Try @@ -1920,32 +1737,42 @@ Public Class ModulesManager Public Sub SetScraperEnable_Theme_Movie(ByVal ModuleAssembly As String, ByVal value As Boolean) If (String.IsNullOrEmpty(ModuleAssembly)) Then - logger.Error("Invalid ModuleAssembly") + logger.Error("[ModulesManager] [SetScraperEnable_Theme_Movie] Invalid ModuleAssembly") Return End If Dim modules As IEnumerable(Of _externalScraperModuleClass_Theme_Movie) = externalScrapersModules_Theme_Movie.Where(Function(p) p.AssemblyName = ModuleAssembly) If (modules.Count < 0) Then - logger.Warn("No modules of type <{0}> were found", ModuleAssembly) + logger.Warn("[ModulesManager] [SetScraperEnable_Theme_Movie] No modules of type <{0}> were found", ModuleAssembly) Else For Each _externalScraperModule As _externalScraperModuleClass_Theme_Movie In modules Try _externalScraperModule.ProcessorModule.ScraperEnabled = value Catch ex As Exception - logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Windows.Forms.Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) + logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) End Try Next End If End Sub Public Sub SetScraperEnable_Theme_TV(ByVal ModuleAssembly As String, ByVal value As Boolean) - For Each _externalScraperModule As _externalScraperModuleClass_Theme_TV In externalScrapersModules_Theme_TV.Where(Function(p) p.AssemblyName = ModuleAssembly) - Try - _externalScraperModule.ProcessorModule.ScraperEnabled = value - Catch ex As Exception - logger.Error(New StackFrame().GetMethod().Name, ex) - End Try - Next + If (String.IsNullOrEmpty(ModuleAssembly)) Then + logger.Error("[ModulesManager] [SetScraperEnable_Theme_TV] Invalid ModuleAssembly") + Return + End If + + Dim modules As IEnumerable(Of _externalScraperModuleClass_Theme_TV) = externalScrapersModules_Theme_TV.Where(Function(p) p.AssemblyName = ModuleAssembly) + If (modules.Count < 0) Then + logger.Warn("[ModulesManager] [SetScraperEnable_Theme_TV] No modules of type <{0}> were found", ModuleAssembly) + Else + For Each _externalScraperModule As _externalScraperModuleClass_Theme_TV In modules + Try + _externalScraperModule.ProcessorModule.ScraperEnabled = value + Catch ex As Exception + logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) + End Try + Next + End If End Sub ''' ''' Sets the enabled flag of the module identified by to the value of @@ -1956,45 +1783,24 @@ Public Class ModulesManager Public Sub SetScraperEnable_Trailer_Movie(ByVal ModuleAssembly As String, ByVal value As Boolean) If (String.IsNullOrEmpty(ModuleAssembly)) Then - logger.Error("Invalid ModuleAssembly") + logger.Error("[ModulesManager] [SetScraperEnable_Trailer_Movie] Invalid ModuleAssembly") Return End If Dim modules As IEnumerable(Of _externalScraperModuleClass_Trailer_Movie) = externalScrapersModules_Trailer_Movie.Where(Function(p) p.AssemblyName = ModuleAssembly) If (modules.Count < 0) Then - logger.Warn("No modules of type <{0}> were found", ModuleAssembly) + logger.Warn("[ModulesManager] [SetScraperEnable_Trailer_Movie] No modules of type <{0}> were found", ModuleAssembly) Else For Each _externalScraperModule As _externalScraperModuleClass_Trailer_Movie In modules Try _externalScraperModule.ProcessorModule.ScraperEnabled = value Catch ex As Exception - logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Windows.Forms.Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) + logger.Error(New StackFrame().GetMethod().Name & Convert.ToChar(Keys.Tab) & "Could not set module <" & ModuleAssembly & "> to enabled status <" & value & ">", ex) End Try Next End If End Sub - Function ChangeEpisode(ByVal ShowID As Integer, ByVal TVDBID As String, ByVal Lang As String) As MediaContainers.EpisodeDetails - 'Dim testDBTV As Database.DBElement = Master.currTV - 'If testDBTV.IsOnline OrElse FileUtils.Common.CheckOnlineStatus_TVEpisode(testDBTV, True) Then - ' Dim ret As Interfaces.ModuleResult - ' Dim epDetails As New MediaContainers.EpisodeDetails - ' While Not (bwloadGenericModules_done AndAlso bwloadScrapersModules_Movie_done AndAlso bwloadScrapersModules_MovieSet_done AndAlso bwloadScrapersModules_TV_done) - ' Application.DoEvents() - ' End While - ' For Each _externalScraperModule As _externalScraperModuleClass_Data_TV In externalScrapersModules_Data_TV.Where(Function(e) e.ProcessorModule.ScraperEnabled).OrderBy(Function(e) e.ModuleOrder) - ' Try - ' 'ret = _externalScraperModule.ProcessorModule.ChangeEpisode(ShowID, TVDBID, Lang, epDetails) - ' Catch ex As Exception - ' End Try - ' If ret.breakChain Then Exit For - ' Next - ' Return epDetails - 'Else - Return Nothing 'Cancelled - 'End If - End Function - Private Sub GenericRunCallBack(ByVal mType As Enums.ModuleEventType, ByRef _params As List(Of Object)) RaiseEvent GenericEvent(mType, _params) End Sub diff --git a/EmberMediaManager/EmberMediaManager.vbproj b/EmberMediaManager/EmberMediaManager.vbproj index ddda303f4..aa2536ecc 100644 --- a/EmberMediaManager/EmberMediaManager.vbproj +++ b/EmberMediaManager/EmberMediaManager.vbproj @@ -143,17 +143,6 @@ ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll True - - False - ..\packages\FanartTv.2.0.5\lib\FanartTv.dll - - - ..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll - - - ..\packages\Newtonsoft.Json.8.0.2\lib\net45\Newtonsoft.Json.dll - True - ..\packages\NLog.4.2.3\lib\net45\NLog.dll True @@ -181,26 +170,6 @@ - - ..\packages\TMDbLib.0.9.0.0-alpha\lib\net45\TMDbLib.dll - True - - - ..\packages\TheTVDBApi.1.2.0.0\lib\TVDB.dll - True - - - ..\packages\Vlc.DotNet.Core.2.1.115\lib\net45\x86\Vlc.DotNet.Core.dll - True - - - ..\packages\Vlc.DotNet.Core.Interops.2.1.115\lib\net45\x86\Vlc.DotNet.Core.Interops.dll - True - - - ..\packages\Vlc.DotNet.Forms.2.1.115\lib\net45\x86\Vlc.DotNet.Forms.dll - True - diff --git a/EmberMediaManager/dlgSettings.vb b/EmberMediaManager/dlgSettings.vb index b2ea9607d..5748fd196 100644 --- a/EmberMediaManager/dlgSettings.vb +++ b/EmberMediaManager/dlgSettings.vb @@ -481,7 +481,7 @@ Public Class dlgSettings AddHelpHandlers(tPanel.Panel, tPanel.Prefix) Next ModuleCounter = 1 - For Each s As ModulesManager._externalGenericModuleClass In ModulesManager.Instance.externalProcessorModules + For Each s As ModulesManager._externalGenericModuleClass In ModulesManager.Instance.externalGenericModules tPanel = s.ProcessorModule.InjectSetup If Not tPanel Is Nothing Then tPanel.Order += ModuleCounter @@ -545,7 +545,7 @@ Public Class dlgSettings RemoveHandler s.ProcessorModule.ModuleSettingsChanged, AddressOf Handle_ModuleSettingsChanged RemoveHandler s.ProcessorModule.SetupNeedsRestart, AddressOf Handle_SetupNeedsRestart Next - For Each s As ModulesManager._externalGenericModuleClass In ModulesManager.Instance.externalProcessorModules + For Each s As ModulesManager._externalGenericModuleClass In ModulesManager.Instance.externalGenericModules RemoveHandler s.ProcessorModule.ModuleSetupChanged, AddressOf Handle_ModuleSetupChanged RemoveHandler s.ProcessorModule.ModuleSettingsChanged, AddressOf Handle_ModuleSettingsChanged RemoveHandler s.ProcessorModule.SetupNeedsRestart, AddressOf Handle_SetupNeedsRestart @@ -5579,7 +5579,7 @@ Public Class dlgSettings logger.Error(New StackFrame().GetMethod().Name, ex) End Try Next - For Each s As ModulesManager._externalGenericModuleClass In ModulesManager.Instance.externalProcessorModules + For Each s As ModulesManager._externalGenericModuleClass In ModulesManager.Instance.externalGenericModules Try s.ProcessorModule.SaveSetup(Not isApply) Catch ex As Exception diff --git a/EmberMediaManager/frmMain.vb b/EmberMediaManager/frmMain.vb index 920fc2672..26d73e83f 100644 --- a/EmberMediaManager/frmMain.vb +++ b/EmberMediaManager/frmMain.vb @@ -18,17 +18,11 @@ ' # along with Ember Media Manager. If not, see . # ' ################################################################################ -Imports System -Imports System.Drawing Imports System.IO -Imports System.Linq Imports System.Reflection Imports System.Text.RegularExpressions Imports EmberAPI -Imports RestSharp Imports NLog -Imports System.Xml.Serialization -Imports System.Runtime.Serialization.Formatters.Binary Public Class frmMain @@ -10115,131 +10109,122 @@ doCancel: ''' ''' Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load - Try - Visible = False - logger.Info(New StackFrame().GetMethod().Name, "Ember startup") - - If Master.isWindows Then 'Dam mono on MacOSX don't have trayicon implemented yet - TrayIcon = New System.Windows.Forms.NotifyIcon(components) - TrayIcon.Icon = Icon - TrayIcon.ContextMenuStrip = cmnuTray - TrayIcon.Text = "Ember Media Manager" - TrayIcon.Visible = True - End If - - bwCheckVersion.RunWorkerAsync() - - Master.fLoading.SetLoadingMesg(Master.eLang.GetString(854, "Basic setup")) - - Dim currentDomain As AppDomain = AppDomain.CurrentDomain - ModulesManager.AssemblyList.Add(New ModulesManager.AssemblyListItem With {.AssemblyName = "EmberAPI", - .Assembly = Assembly.LoadFile(Path.Combine(Functions.AppPath, "EmberAPI.dll"))}) - 'Cocotus 2014/01/25 By switching Ember to NET4.5 dependency , the LoadFile method is not supported anymore - ' http://msdn.microsoft.com/de-de/library/system.reflection.assembly.loadfile(v=vs.110).aspx - '.Assembly = Assembly.LoadFile(Path.Combine(Functions.AppPath, "EmberAPI.dll"), Assembly.GetExecutingAssembly().Evidence)}) - AddHandler currentDomain.AssemblyResolve, AddressOf MyResolveEventHandler - - clsAdvancedSettings.Start() - - 'Create Modules Folders - Dim sPath = String.Concat(Functions.AppPath, "Modules") - If Not Directory.Exists(sPath) Then - Directory.CreateDirectory(sPath) - End If - - Master.fLoading.SetLoadingMesg(Master.eLang.GetString(855, "Creating default options...")) - Functions.CreateDefaultOptions() - - Master.fLoading.SetLoadingMesg(Master.eLang.GetString(858, "Loading database...")) - Master.DB.ConnectMyVideosDB() - Master.DB.LoadAllGenres() - Master.DB.LoadMovieSourcesFromDB() - Master.DB.LoadTVShowSourcesFromDB() - Master.DB.LoadExcludeDirsFromDB() - - 'Setup/Load Modules Manager and set runtime objects (ember application) so they can be exposed to modules - 'ExternalModulesManager = New ModulesManager - - tpMovies.Tag = New Structures.MainTabType With {.ContentName = Master.eLang.GetString(36, "Movies"), .ContentType = Enums.ContentType.Movie, .DefaultList = "movielist"} - tpMovieSets.Tag = New Structures.MainTabType With {.ContentName = Master.eLang.GetString(366, "Sets"), .ContentType = Enums.ContentType.MovieSet, .DefaultList = "setslist"} - tpTVShows.Tag = New Structures.MainTabType With {.ContentName = Master.eLang.GetString(653, "TV Shows"), .ContentType = Enums.ContentType.TV, .DefaultList = "tvshowlist"} - ModulesManager.Instance.RuntimeObjects.MediaTabSelected = DirectCast(tcMain.SelectedTab.Tag, Structures.MainTabType) - - ModulesManager.Instance.RuntimeObjects.DelegateLoadMedia(AddressOf LoadMedia) - ModulesManager.Instance.RuntimeObjects.DelegateOpenImageViewer(AddressOf OpenImageViewer) - ModulesManager.Instance.RuntimeObjects.MainMenu = mnuMain - ModulesManager.Instance.RuntimeObjects.MainTabControl = tcMain - ModulesManager.Instance.RuntimeObjects.MainToolStrip = tsMain - ModulesManager.Instance.RuntimeObjects.MediaListMovies = dgvMovies - ModulesManager.Instance.RuntimeObjects.MediaListMovieSets = dgvMovieSets - ModulesManager.Instance.RuntimeObjects.MediaListTVEpisodes = dgvTVEpisodes - ModulesManager.Instance.RuntimeObjects.MediaListTVSeasons = dgvTVSeasons - ModulesManager.Instance.RuntimeObjects.MediaListTVShows = dgvTVShows - ModulesManager.Instance.RuntimeObjects.ContextMenuMovieList = cmnuMovie - ModulesManager.Instance.RuntimeObjects.ContextMenuMovieSetList = cmnuMovieSet - ModulesManager.Instance.RuntimeObjects.ContextMenuTVEpisodeList = cmnuEpisode - ModulesManager.Instance.RuntimeObjects.ContextMenuTVSeasonList = cmnuSeason - ModulesManager.Instance.RuntimeObjects.ContextMenuTVShowList = cmnuShow - ModulesManager.Instance.RuntimeObjects.TrayMenu = cmnuTray - - 'start loading modules in background - ModulesManager.Instance.LoadAllModules() + 'Try + Visible = False + logger.Info(New StackFrame().GetMethod().Name, "Ember startup") + + If Master.isWindows Then 'Dam mono on MacOSX don't have trayicon implemented yet + TrayIcon = New System.Windows.Forms.NotifyIcon(components) + TrayIcon.Icon = Icon + TrayIcon.ContextMenuStrip = cmnuTray + TrayIcon.Text = "Ember Media Manager" + TrayIcon.Visible = True + End If + + bwCheckVersion.RunWorkerAsync() + + Master.fLoading.SetLoadingMesg(Master.eLang.GetString(854, "Basic setup")) + + AddHandler AppDomain.CurrentDomain.AssemblyResolve, AddressOf MyResolveEventHandler + + clsAdvancedSettings.Start() + + 'Create Modules Folders + Dim sPath = String.Concat(Functions.AppPath, "Modules") + If Not Directory.Exists(sPath) Then + Directory.CreateDirectory(sPath) + End If + + Master.fLoading.SetLoadingMesg(Master.eLang.GetString(855, "Creating default options...")) + Functions.CreateDefaultOptions() + + Master.fLoading.SetLoadingMesg(Master.eLang.GetString(858, "Loading database...")) + Master.DB.ConnectMyVideosDB() + Master.DB.LoadAllGenres() + Master.DB.LoadMovieSourcesFromDB() + Master.DB.LoadTVShowSourcesFromDB() + Master.DB.LoadExcludeDirsFromDB() + + tpMovies.Tag = New Structures.MainTabType With {.ContentName = Master.eLang.GetString(36, "Movies"), .ContentType = Enums.ContentType.Movie, .DefaultList = "movielist"} + tpMovieSets.Tag = New Structures.MainTabType With {.ContentName = Master.eLang.GetString(366, "Sets"), .ContentType = Enums.ContentType.MovieSet, .DefaultList = "setslist"} + tpTVShows.Tag = New Structures.MainTabType With {.ContentName = Master.eLang.GetString(653, "TV Shows"), .ContentType = Enums.ContentType.TV, .DefaultList = "tvshowlist"} + ModulesManager.Instance.RuntimeObjects.MediaTabSelected = DirectCast(tcMain.SelectedTab.Tag, Structures.MainTabType) + + ModulesManager.Instance.RuntimeObjects.DelegateLoadMedia(AddressOf LoadMedia) + ModulesManager.Instance.RuntimeObjects.DelegateOpenImageViewer(AddressOf OpenImageViewer) + ModulesManager.Instance.RuntimeObjects.MainMenu = mnuMain + ModulesManager.Instance.RuntimeObjects.MainTabControl = tcMain + ModulesManager.Instance.RuntimeObjects.MainToolStrip = tsMain + ModulesManager.Instance.RuntimeObjects.MediaListMovies = dgvMovies + ModulesManager.Instance.RuntimeObjects.MediaListMovieSets = dgvMovieSets + ModulesManager.Instance.RuntimeObjects.MediaListTVEpisodes = dgvTVEpisodes + ModulesManager.Instance.RuntimeObjects.MediaListTVSeasons = dgvTVSeasons + ModulesManager.Instance.RuntimeObjects.MediaListTVShows = dgvTVShows + ModulesManager.Instance.RuntimeObjects.ContextMenuMovieList = cmnuMovie + ModulesManager.Instance.RuntimeObjects.ContextMenuMovieSetList = cmnuMovieSet + ModulesManager.Instance.RuntimeObjects.ContextMenuTVEpisodeList = cmnuEpisode + ModulesManager.Instance.RuntimeObjects.ContextMenuTVSeasonList = cmnuSeason + ModulesManager.Instance.RuntimeObjects.ContextMenuTVShowList = cmnuShow + ModulesManager.Instance.RuntimeObjects.TrayMenu = cmnuTray + + 'start loading modules in background + ModulesManager.Instance.LoadAllModules() - If Not Master.isCL Then - Master.fLoading.SetLoadingMesg(Master.eLang.GetString(857, "Creating GUI...")) - End If + If Not Master.isCL Then + Master.fLoading.SetLoadingMesg(Master.eLang.GetString(857, "Creating GUI...")) + End If - 'setup some dummies so we don't get exceptions when resizing form/info panel - ReDim Preserve pnlGenre(0) - ReDim Preserve pbGenre(0) - pnlGenre(0) = New Panel() - pbGenre(0) = New PictureBox() + 'setup some dummies so we don't get exceptions when resizing form/info panel + ReDim Preserve pnlGenre(0) + ReDim Preserve pbGenre(0) + pnlGenre(0) = New Panel() + pbGenre(0) = New PictureBox() - AddHandler fScanner.ScannerUpdated, AddressOf ScannerUpdated - AddHandler fScanner.ScanningCompleted, AddressOf ScanningCompleted - AddHandler ModulesManager.Instance.GenericEvent, AddressOf GenericRunCallBack - AddHandler fCommandLine.TaskEvent, AddressOf TaskRunCallBack + AddHandler fScanner.ScannerUpdated, AddressOf ScannerUpdated + AddHandler fScanner.ScanningCompleted, AddressOf ScanningCompleted + AddHandler ModulesManager.Instance.GenericEvent, AddressOf GenericRunCallBack + AddHandler fCommandLine.TaskEvent, AddressOf TaskRunCallBack - Functions.DGVDoubleBuffer(dgvMovies) - Functions.DGVDoubleBuffer(dgvMovieSets) - Functions.DGVDoubleBuffer(dgvTVShows) - Functions.DGVDoubleBuffer(dgvTVSeasons) - Functions.DGVDoubleBuffer(dgvTVEpisodes) - SetStyle(ControlStyles.DoubleBuffer, True) - SetStyle(ControlStyles.AllPaintingInWmPaint, True) - SetStyle(ControlStyles.UserPaint, True) + Functions.DGVDoubleBuffer(dgvMovies) + Functions.DGVDoubleBuffer(dgvMovieSets) + Functions.DGVDoubleBuffer(dgvTVShows) + Functions.DGVDoubleBuffer(dgvTVSeasons) + Functions.DGVDoubleBuffer(dgvTVEpisodes) + SetStyle(ControlStyles.DoubleBuffer, True) + SetStyle(ControlStyles.AllPaintingInWmPaint, True) + SetStyle(ControlStyles.UserPaint, True) - If TypeOf tsMain.Renderer Is ToolStripProfessionalRenderer Then - CType(tsMain.Renderer, ToolStripProfessionalRenderer).RoundedEdges = False - End If + If TypeOf tsMain.Renderer Is ToolStripProfessionalRenderer Then + CType(tsMain.Renderer, ToolStripProfessionalRenderer).RoundedEdges = False + End If - If Not Directory.Exists(Master.TempPath) Then Directory.CreateDirectory(Master.TempPath) + If Not Directory.Exists(Master.TempPath) Then Directory.CreateDirectory(Master.TempPath) - While Not ModulesManager.Instance.ModulesLoaded() - Master.fLoading.SetLoadingMesg(Master.eLang.GetString(856, "Loading modules...")) - Application.DoEvents() - Threading.Thread.Sleep(50) - End While + While Not ModulesManager.Instance.ModulesLoaded() + Master.fLoading.SetLoadingMesg(Master.eLang.GetString(856, "Loading modules...")) + Application.DoEvents() + Threading.Thread.Sleep(50) + End While - RemoveHandler dgvMovies.RowsAdded, AddressOf dgvMovies_RowsAdded - RemoveHandler dgvMovieSets.RowsAdded, AddressOf dgvMovieSets_RowsAdded - RemoveHandler dgvTVShows.RowsAdded, AddressOf dgvTVShows_RowsAdded - FillList(True, True, True) - AddHandler dgvMovies.RowsAdded, AddressOf dgvMovies_RowsAdded - AddHandler dgvMovieSets.RowsAdded, AddressOf dgvMovieSets_RowsAdded - AddHandler dgvTVShows.RowsAdded, AddressOf dgvTVShows_RowsAdded + RemoveHandler dgvMovies.RowsAdded, AddressOf dgvMovies_RowsAdded + RemoveHandler dgvMovieSets.RowsAdded, AddressOf dgvMovieSets_RowsAdded + RemoveHandler dgvTVShows.RowsAdded, AddressOf dgvTVShows_RowsAdded + FillList(True, True, True) + AddHandler dgvMovies.RowsAdded, AddressOf dgvMovies_RowsAdded + AddHandler dgvMovieSets.RowsAdded, AddressOf dgvMovieSets_RowsAdded + AddHandler dgvTVShows.RowsAdded, AddressOf dgvTVShows_RowsAdded - If Master.isCL Then ' Command Line - LoadWithCommandLine(Master.appArgs) - Else 'Regular Run (GUI) - LoadWithGUI() - End If - Master.fLoading.Close() - Catch ex As Exception - logger.Error(New StackFrame().GetMethod().Name, ex) - Close() - End Try + If Master.isCL Then ' Command Line + LoadWithCommandLine(Master.appArgs) + Else 'Regular Run (GUI) + LoadWithGUI() + End If + Master.fLoading.Close() + 'Catch ex As Exception + ' logger.Error(New StackFrame().GetMethod().Name, ex) + ' Close() + 'End Try End Sub ''' ''' Performs startup routines specific to being initiated by the command line @@ -10510,7 +10495,7 @@ doCancel: Master.fLoading.SetLoadingMesg(Master.eLang.GetString(859, "Running Module...")) Dim strModuleName As String = CStr(_params(1)) Dim oParameters As List(Of Object) = CType(_params(2), List(Of Object)) - Dim gModule As ModulesManager._externalGenericModuleClass = ModulesManager.Instance.externalProcessorModules.FirstOrDefault(Function(y) y.ProcessorModule.ModuleName = strModuleName) + Dim gModule As ModulesManager._externalGenericModuleClass = ModulesManager.Instance.externalGenericModules.FirstOrDefault(Function(y) y.ProcessorModule.ModuleName = strModuleName) If gModule IsNot Nothing Then gModule.ProcessorModule.RunGeneric(Enums.ModuleEventType.CommandLine, oParameters, Nothing, Nothing) End If diff --git a/EmberMediaManager/packages.config b/EmberMediaManager/packages.config index d0e66ed07..b52bf9a7a 100644 --- a/EmberMediaManager/packages.config +++ b/EmberMediaManager/packages.config @@ -1,17 +1,9 @@  - - - - - - - - \ No newline at end of file