", tempD), 0)
@@ -213,7 +213,7 @@ Namespace IMDB
If bwIMDB.CancellationPending Then Return Nothing
- If Options.bCert Then
+ If Options.bCert AndAlso (String.IsNullOrEmpty(IMDBMovie.Certification) OrElse Not Master.eSettings.LockMPAA) Then
'get certifications
D = HTML.IndexOf("
Certification:
")
@@ -230,15 +230,83 @@ Namespace IMDB
If Options.bMPAA AndAlso Master.eSettings.UseCertForMPAA AndAlso (Not Master.eSettings.CertificationLang = "USA" OrElse (Master.eSettings.CertificationLang = "USA" AndAlso String.IsNullOrEmpty(IMDBMovie.MPAA))) Then
IMDBMovie.MPAA = If(Master.eSettings.CertificationLang = "USA", StringUtils.USACertToMPAA(IMDBMovie.Certification), If(Master.eSettings.OnlyValueForCert, IMDBMovie.Certification.Split(Convert.ToChar(":"))(1), IMDBMovie.Certification))
End If
+
+
+ Else
+ 'No FSK Rating was found -> Alternative: Set USA Rating instead as fallback, MPAA will be converted to FSK, Certification from USA will be used, so people can see that US info was used!
+ If Master.eSettings.UseMPAAForFSK Then
+ Try
+ If Master.eSettings.CertificationLang = "Germany" AndAlso (IMDBMovie.MPAA.ToLower.Contains("usa") Or IMDBMovie.MPAA.ToLower.Contains("rated")) Then
+ Dim LANGRATING As String = "USA"
+ Dim Cert2 = From M In rCert Select N = String.Format("{0}:{1}", DirectCast(M, Match).Groups(1).ToString.Trim, DirectCast(M, Match).Groups(2).ToString.Trim) Order By N Descending Where N.Contains(LANGRATING)
+ If Cert2.Count > 0 Then
+ IMDBMovie.Certification = Cert2(0).ToString.Replace("West", String.Empty).Trim
+ If Options.bMPAA AndAlso Master.eSettings.UseCertForMPAA Then
+ If IMDBMovie.MPAA.ToLower.Contains("usa:g") Or IMDBMovie.MPAA.ToLower.Contains("rated g") Then
+ IMDBMovie.Certification = IMDBMovie.MPAA
+ If Master.eSettings.OnlyValueForCert = False Then
+ IMDBMovie.MPAA = "Germany:0"
+ Else
+ IMDBMovie.MPAA = "0"
+ End If
+
+ ElseIf IMDBMovie.MPAA.ToLower.Contains("usa:pg-13") Or IMDBMovie.MPAA.ToLower.Contains("rated pg-13") Then
+ IMDBMovie.Certification = IMDBMovie.MPAA
+ If Master.eSettings.OnlyValueForCert = False Then
+ IMDBMovie.MPAA = "Germany:16"
+ Else
+ IMDBMovie.MPAA = "16"
+ End If
+
+ ElseIf IMDBMovie.MPAA.ToLower.Contains("usa:pg") Or IMDBMovie.MPAA.ToLower.Contains("rated pg") Then
+ IMDBMovie.Certification = IMDBMovie.MPAA
+ If Master.eSettings.OnlyValueForCert = False Then
+ IMDBMovie.MPAA = "Germany:12"
+ Else
+ IMDBMovie.MPAA = "12"
+ End If
+
+ ElseIf IMDBMovie.Certification.ToLower.Contains("usa:r") Or IMDBMovie.Certification.ToLower.Contains("rated r") Then
+ IMDBMovie.Certification = IMDBMovie.MPAA
+ If Master.eSettings.OnlyValueForCert = False Then
+ IMDBMovie.MPAA = "Germany:18"
+ Else
+ IMDBMovie.MPAA = "18"
+ End If
+
+ ElseIf IMDBMovie.Certification.ToLower.Contains("usa:nc-17") Or IMDBMovie.Certification.ToLower.Contains("rated nc") Then
+ IMDBMovie.Certification = IMDBMovie.MPAA
+ If Master.eSettings.OnlyValueForCert = False Then
+ IMDBMovie.MPAA = "Germany:18"
+ Else
+ IMDBMovie.MPAA = "18"
+ End If
+
+ End If
+ End If
+ End If
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ End If
End If
+
+
Else
+
IMDBMovie.Certification = Strings.Join(Cert.ToArray, " / ").Trim
+
+
End If
End If
End If
+
If String.IsNullOrEmpty(IMDBMovie.Certification) AndAlso Not String.IsNullOrEmpty(IMDBMovie.MPAA) Then
IMDBMovie.Certification = IMDBMovie.MPAA
End If
+
End If
If bwIMDB.CancellationPending Then Return Nothing
@@ -308,6 +376,7 @@ Namespace IMDB
'Find all cast of the movie
'Match the table only 1 time
Dim ActorsTable As String = Regex.Match(HTML, ACTORTABLE_PATTERN).ToString
+ Dim ThumbsSize = AdvancedSettings.GetSetting("ActorThumbsSize", "SY275_SX400")
Dim rCast As MatchCollection = Regex.Matches(ActorsTable, TR_PATTERN)
@@ -318,7 +387,7 @@ Namespace IMDB
Select New MediaContainers.Person(Web.HttpUtility.HtmlDecode(m1.Groups("name").ToString.Trim), _
Web.HttpUtility.HtmlDecode(m2.ToString.Trim), _
If(m3.Groups("thumb").ToString.IndexOf("addtiny") > 0 OrElse m3.Groups("thumb").ToString.IndexOf("no_photo") > 0, String.Empty, Strings.Replace(Web.HttpUtility.HtmlDecode(m3.Groups("thumb").ToString.Trim), _
- "._SX23_SY30_.jpg", "._SY275_SX400_.jpg"))) Take If(Master.eSettings.ActorLimit > 0, Master.eSettings.ActorLimit, 999999)
+ "._SX23_SY30_.jpg", String.Concat("._", ThumbsSize, "_.jpg")))) Take If(Master.eSettings.ActorLimit > 0, Master.eSettings.ActorLimit, 999999)
If Master.eSettings.CastImagesOnly Then
Cast1 = Cast1.Where(Function(p As MediaContainers.Person) (Not String.IsNullOrEmpty(p.Thumb)))
@@ -389,9 +458,20 @@ Namespace IMDB
Select Web.HttpUtility.HtmlDecode(DirectCast(M, Match).Groups("name").ToString)
If Cou.Count > 0 Then
- IMDBMovie.Country = Strings.Join(Cou.ToArray, " / ").Trim
+
+ 'fix for display country flag in XBMC!
+ If Strings.Join(Cou.ToArray, " / ").Trim.ToUpper.Contains("USA") Then
+ IMDBMovie.Country = "United States of America"
+ ElseIf Strings.Join(Cou.ToArray, " / ").Trim.ToUpper.Contains("UK") Then
+ IMDBMovie.Country = "United Kingdom"
+ Else
+ IMDBMovie.Country = Strings.Join(Cou.ToArray, " / ").Trim()
+ End If
+
End If
End If
+
+
End If
If bwIMDB.CancellationPending Then Return Nothing
@@ -413,8 +493,11 @@ Namespace IMDB
Dim Gen = From M In rGenres _
Select N = Web.HttpUtility.HtmlDecode(DirectCast(M, Match).Groups("name").ToString) Where Not N.Contains("more") Take If(Master.eSettings.GenreLimit > 0, Master.eSettings.GenreLimit, 999999)
If Gen.Count > 0 Then
- 'force splitting of /ed genres
- IMDBMovie.Genre = Strings.Join(Gen.ToArray, "/").Trim.Replace("/", " / ").Trim
+ Dim tGenre As String = Strings.Join(Gen.ToArray, "/").Trim
+ tGenre = StringUtils.GenreFilter(tGenre)
+ If Not String.IsNullOrEmpty(tGenre) Then
+ IMDBMovie.Genre = Strings.Join(tGenre.Split(Convert.ToChar("/")), " / ").Trim
+ End If
End If
End If
End If
@@ -637,9 +720,9 @@ mPlot:
Dim b As Boolean = False
Dim imdbMovie As MediaContainers.Movie = dbMovie.Movie
- r.PopularTitles.Sort()
- r.ExactMatches.Sort()
- r.PartialMatches.Sort()
+ 'r.PopularTitles.Sort()
+ 'r.ExactMatches.Sort()
+ 'r.PartialMatches.Sort()
Try
Select Case iType
@@ -655,7 +738,7 @@ mPlot:
Master.tmpMovie.Clear()
Using dIMDB As New dlgIMDBSearchResults
dIMDB.IMDBURL = IMDBURL
- If dIMDB.ShowDialog(r, sMovieName) = Windows.Forms.DialogResult.OK Then
+ If dIMDB.ShowDialog(r, sMovieName, dbMovie.Filename) = Windows.Forms.DialogResult.OK Then
If String.IsNullOrEmpty(Master.tmpMovie.IMDBID) Then
b = False
Else
@@ -689,8 +772,16 @@ mPlot:
'End If
If r.ExactMatches.Count = 1 Then
b = GetMovieInfo(r.ExactMatches.Item(0).IMDBID, imdbMovie, Master.eSettings.FullCrew, Master.eSettings.FullCast, False, Options, True)
- ElseIf r.ExactMatches.Count > 1 AndAlso (r.ExactMatches(If(exactHaveYear >= 0, exactHaveYear, 0)).Lev <= 5 OrElse useAnyway) Then
- b = GetMovieInfo(r.ExactMatches.Item(If(exactHaveYear >= 0, exactHaveYear, 0)).IMDBID, imdbMovie, Master.eSettings.FullCrew, Master.eSettings.FullCast, False, Options, True)
+ ElseIf r.ExactMatches.Count > 1 AndAlso exactHaveYear >= 0 Then
+ b = GetMovieInfo(r.ExactMatches.Item(exactHaveYear).IMDBID, imdbMovie, Master.eSettings.FullCrew, Master.eSettings.FullCast, False, Options, True)
+ ElseIf r.PopularTitles.Count > 0 AndAlso popularHaveYear >= 0 Then
+ b = GetMovieInfo(r.PopularTitles.Item(popularHaveYear).IMDBID, imdbMovie, Master.eSettings.FullCrew, Master.eSettings.FullCrew, False, Options, True)
+ ElseIf r.ExactMatches.Count > 0 AndAlso (r.ExactMatches(0).Lev <= 5 OrElse useAnyway) Then
+ b = GetMovieInfo(r.ExactMatches.Item(0).IMDBID, imdbMovie, Master.eSettings.FullCrew, Master.eSettings.FullCast, False, Options, True)
+ ElseIf r.PopularTitles.Count > 0 AndAlso (r.PopularTitles(0).Lev <= 5 OrElse useAnyway) Then
+ b = GetMovieInfo(r.PopularTitles.Item(0).IMDBID, imdbMovie, Master.eSettings.FullCrew, Master.eSettings.FullCast, False, Options, True)
+ ElseIf r.PartialMatches.Count > 0 AndAlso (r.PartialMatches(0).Lev <= 5 OrElse useAnyway) Then
+ b = GetMovieInfo(r.PartialMatches.Item(0).IMDBID, imdbMovie, Master.eSettings.FullCrew, Master.eSettings.FullCast, False, Options, True)
End If
End Select
@@ -843,84 +934,95 @@ mPlot:
Dim D, W As Integer
Dim R As New MovieSearchResults
- Dim sHTTP As New HTTP
- Dim HTML As String = sHTTP.DownloadData(String.Concat("http://", IMDBURL, "/find?q=", Web.HttpUtility.UrlEncode(sMovie, System.Text.Encoding.GetEncoding("ISO-8859-1")), "&s=all"))
- Dim HTMLm As String = sHTTP.DownloadData(String.Concat("http://", IMDBURL, "/find?q=", Web.HttpUtility.UrlEncode(sMovie, System.Text.Encoding.GetEncoding("ISO-8859-1")), "&s=tt&ttype=ft&ref_=fn_ft"))
- Dim HTMLe As String = sHTTP.DownloadData(String.Concat("http://", IMDBURL, "/find?q=", Web.HttpUtility.UrlEncode(sMovie, System.Text.Encoding.GetEncoding("ISO-8859-1")), "&s=tt&ttype=ft&exact=true&ref_=fn_tt_ex"))
- Dim rUri As String = sHTTP.ResponseUri
- sHTTP = Nothing
-
- 'Check if we've been redirected straight to the movie page
- If Regex.IsMatch(rUri, IMDB_ID_REGEX) Then
- Dim lNewMovie As MediaContainers.Movie = New MediaContainers.Movie(Regex.Match(rUri, IMDB_ID_REGEX).ToString, _
- StringUtils.ProperCase(sMovie), Regex.Match(Regex.Match(HTML, MOVIE_TITLE_PATTERN).ToString, "(?<=\()\d+(?=.*\))").ToString, 0)
+ If Regex.IsMatch(sMovie.ToLower, IMDB_ID_REGEX) Then
+ Dim sHTTP As New HTTP
+ Dim eIMDBID = Regex.Match(sMovie.ToLower, IMDB_ID_REGEX).ToString
+ Dim HTMLe As String = sHTTP.DownloadData(String.Concat("http://", IMDBURL, "/title/", eIMDBID))
+ Dim lNewMovie As MediaContainers.Movie = New MediaContainers.Movie(eIMDBID, StringUtils.ProperCase(sMovie), Regex.Match(Regex.Match(HTMLe, MOVIE_TITLE_PATTERN).ToString, "(?<=\()\d+(?=.*\))").ToString, 0)
R.ExactMatches.Add(lNewMovie)
Return R
- End If
+ Else
+ Dim sHTTP As New HTTP
+ Dim HTML As String = sHTTP.DownloadData(String.Concat("http://", IMDBURL, "/find?q=", Web.HttpUtility.UrlEncode(sMovie), "&s=tt&ttype=ft"))
+ Dim HTMLp As String = sHTTP.DownloadData(String.Concat("http://", IMDBURL, "/find?q=", Web.HttpUtility.UrlEncode(sMovie), "&s=tt&ttype=ft&ref_=fn_tt_pop"))
+ Dim HTMLm As String = sHTTP.DownloadData(String.Concat("http://", IMDBURL, "/find?q=", Web.HttpUtility.UrlEncode(sMovie), "&s=tt&ttype=ft&ref_=fn_ft"))
+ Dim HTMLe As String = sHTTP.DownloadData(String.Concat("http://", IMDBURL, "/find?q=", Web.HttpUtility.UrlEncode(sMovie), "&s=tt&ttype=ft&exact=true&ref_=fn_tt_ex"))
+ Dim rUri As String = sHTTP.ResponseUri
+ sHTTP = Nothing
+
+ 'Check if we've been redirected straight to the movie page
+ If Regex.IsMatch(rUri.ToLower, IMDB_ID_REGEX) Then
+ Dim lNewMovie As MediaContainers.Movie = New MediaContainers.Movie(Regex.Match(rUri.ToLower, IMDB_ID_REGEX).ToString, _
+ StringUtils.ProperCase(sMovie), Regex.Match(Regex.Match(HTML, MOVIE_TITLE_PATTERN).ToString, "(?<=\()\d+(?=.*\))").ToString, 0)
+ R.ExactMatches.Add(lNewMovie)
+ Return R
+ End If
- D = HTML.IndexOf("Titles")
- If D <= 0 Then GoTo mPartial
- W = HTML.IndexOf("", D) + 8
+ 'popular titles
+ D = HTMLp.IndexOf("Titles")
+ If D <= 0 Then GoTo mPartial
+ W = HTMLp.IndexOf("", D) + 8
- Dim Table As String = Regex.Match(HTML.Substring(D, W - D), TABLE_PATTERN).ToString
+ Dim Table As String = Regex.Match(HTML.Substring(D, W - D), TABLE_PATTERN).ToString
- Dim qPopular = From Mtr In Regex.Matches(Table, TITLE_PATTERN) _
- Where Not DirectCast(Mtr, Match).Groups("name").ToString.Contains("
![]()
Titles")
- If D <= 0 Then GoTo mApprox
- W = HTMLm.IndexOf("", D) + 8
+ D = HTMLm.IndexOf("Titles")
+ If D <= 0 Then GoTo mExact
+ W = HTMLm.IndexOf("", D) + 8
- Table = Regex.Match(HTMLm.Substring(D, W - D), TABLE_PATTERN).ToString
- Dim qpartial = From Mtr In Regex.Matches(Table, TITLE_PATTERN) _
- Where Not DirectCast(Mtr, Match).Groups("name").ToString.Contains("
![]()
", D) + 8
+ ' 'Now process "Approx Matches" and merge both Partial and Approx matches
+ ' D = HTML.IndexOf("Titles (Approx Matches)")
+ ' If D <= 0 Then GoTo mExact
+ ' W = HTML.IndexOf("", D) + 8
- Table = Regex.Match(HTML.Substring(D, W - D), TABLE_PATTERN).ToString
+ ' Table = Regex.Match(HTML.Substring(D, W - D), TABLE_PATTERN).ToString
- Dim qApprox = From Mtr In Regex.Matches(Table, TITLE_PATTERN) _
- Where Not DirectCast(Mtr, Match).Groups("name").ToString.Contains("
![]()
Titles")
- If D <= 0 Then GoTo mResult
- W = HTMLe.IndexOf("", D) + 8
+ D = HTMLe.IndexOf("Titles")
+ If D <= 0 Then GoTo mResult
+ W = HTMLe.IndexOf("", D) + 8
- Table = String.Empty
- Table = Regex.Match(HTMLe.Substring(D, W - D), TABLE_PATTERN).ToString
+ Table = String.Empty
+ Table = Regex.Match(HTMLe.Substring(D, W - D), TABLE_PATTERN).ToString
- Dim qExact = From Mtr In Regex.Matches(Table, TITLE_PATTERN) _
- Where Not DirectCast(Mtr, Match).Groups("name").ToString.Contains("
![]()
]*ver[^>]*.jpg))|(thumbs/imp_([^>]*.jpg))")
+ Dim mcPoster As MatchCollection = Regex.Matches(HTML, "(thumbs/imp_([^>]*ver[^>]*.jpg))|(thumbs/imp_([^>]*.jpg))")
Dim PosterURL As String
@@ -129,7 +129,7 @@ Namespace IMPA
Try
Dim sHTTP As New HTTP
- Dim HTML As String = sHTTP.DownloadData(String.Concat("http://", IMDBURL, "/title/tt", IMDBID, "/posters"))
+ Dim HTML As String = sHTTP.DownloadData(String.Concat("http://www.imdb.com/title/tt", IMDBID, "/posters"))
sHTTP = Nothing
Dim mcIMPA As MatchCollection = Regex.Matches(HTML, "http://([^""]*)impawards.com/([^""]*)")
diff --git a/Addons/scraper.EmberCore/Scraper/clsScrapeImages.vb b/Addons/scraper.EmberCore/Scraper/clsScrapeImages.vb
index 5fc7e6f..7bdb821 100644
--- a/Addons/scraper.EmberCore/Scraper/clsScrapeImages.vb
+++ b/Addons/scraper.EmberCore/Scraper/clsScrapeImages.vb
@@ -39,16 +39,16 @@ Public Class ScrapeImages
Dim tmpListTMDB As New List(Of MediaContainers.Image)
Dim tmpListIMPA As New List(Of MediaContainers.Image)
Dim tmpListMPDB As New List(Of MediaContainers.Image)
- Dim tmpIMPAX As Image = Nothing
- Dim tmpIMPAL As Image = Nothing
- Dim tmpIMPAM As Image = Nothing
- Dim tmpIMPAS As Image = Nothing
- Dim tmpIMPAW As Image = Nothing
- Dim tmpMPDBX As Image = Nothing
- Dim tmpMPDBL As Image = Nothing
- Dim tmpMPDBM As Image = Nothing
- Dim tmpMPDBS As Image = Nothing
- Dim tmpMPDBW As Image = Nothing
+ Dim tmpIMPAX As Images = Nothing
+ Dim tmpIMPAL As Images = Nothing
+ Dim tmpIMPAM As Images = Nothing
+ Dim tmpIMPAS As Images = Nothing
+ Dim tmpIMPAW As Images = Nothing
+ Dim tmpMPDBX As Images = Nothing
+ Dim tmpMPDBL As Images = Nothing
+ Dim tmpMPDBM As Images = Nothing
+ Dim tmpMPDBS As Images = Nothing
+ Dim tmpMPDBW As Images = Nothing
Dim CachePath As String = String.Concat(Master.TempPath, Path.DirectorySeparatorChar, IMDBID, Path.DirectorySeparatorChar, If(iType = Enums.ImageType.Posters, "posters", "fanart"))
@@ -109,8 +109,8 @@ Public Class ScrapeImages
tmdbThumb.WebImage.FromWeb(tmdbThumb.URL)
If Not IsNothing(tmdbThumb.WebImage.Image) Then
If Not Master.eSettings.NoSaveImagesToNfo Then imgResult.Posters.Add(tmdbThumb.URL)
- Image.Image = tmdbThumb.WebImage.Image
- Image.Save(Path.Combine(CachePath, String.Concat("poster_(", tmdbThumb.Description, ")_(url=", StringUtils.CleanURL(tmdbThumb.URL), ").jpg")))
+ Image = tmdbThumb.WebImage
+ Image.Save(Path.Combine(CachePath, String.Concat("poster_(", tmdbThumb.Description, ")_(url=", StringUtils.CleanURL(tmdbThumb.URL), ").jpg")), , , False)
End If
Image.Clear()
Next
@@ -128,13 +128,13 @@ Public Class ScrapeImages
For Each iMovie As MediaContainers.Image In tmpListTMDB
If Images.GetPosterDims(iMovie.WebImage.Image) = Master.eSettings.PreferredPosterSize Then
- Image.Image = iMovie.WebImage.Image
+ Image = iMovie.WebImage
GoTo foundit
End If
Next
If Not doAsk Then
- Image.Image = tmpListTMDB.OrderBy(Function(i) i.WebImage.Image.Height + i.WebImage.Image.Height).FirstOrDefault.WebImage.Image
+ Image = tmpListTMDB.OrderBy(Function(i) i.WebImage.Image.Height + i.WebImage.Image.Height).FirstOrDefault.WebImage
End If
End If
Else
@@ -199,23 +199,23 @@ Public Class ScrapeImages
Select Case tmpSize
Case Enums.PosterSize.Xlrg
If IsNothing(tmpIMPAX) Then
- tmpIMPAX = New Bitmap(Image.Image)
+ tmpIMPAX = Image
End If
Case Enums.PosterSize.Lrg
If IsNothing(tmpIMPAL) Then
- tmpIMPAL = New Bitmap(Image.Image)
+ tmpIMPAL = Image
End If
Case Enums.PosterSize.Mid
If IsNothing(tmpIMPAM) Then
- tmpIMPAM = New Bitmap(Image.Image)
+ tmpIMPAM = Image
End If
Case Enums.PosterSize.Small
If IsNothing(tmpIMPAS) Then
- tmpIMPAS = New Bitmap(Image.Image)
+ tmpIMPAS = Image
End If
Case Enums.PosterSize.Wide
If IsNothing(tmpIMPAW) Then
- tmpIMPAW = New Bitmap(Image.Image)
+ tmpIMPAW = Image
End If
End Select
Else
@@ -247,23 +247,23 @@ Public Class ScrapeImages
Select Case tmpSize
Case Enums.PosterSize.Xlrg
If IsNothing(tmpMPDBX) Then
- tmpMPDBX = New Bitmap(Image.Image)
+ tmpMPDBX = Image
End If
Case Enums.PosterSize.Lrg
If IsNothing(tmpMPDBL) Then
- tmpMPDBL = New Bitmap(Image.Image)
+ tmpMPDBL = Image
End If
Case Enums.PosterSize.Mid
If IsNothing(tmpMPDBM) Then
- tmpMPDBM = New Bitmap(Image.Image)
+ tmpMPDBM = Image
End If
Case Enums.PosterSize.Small
If IsNothing(tmpMPDBS) Then
- tmpMPDBS = New Bitmap(Image.Image)
+ tmpMPDBS = Image
End If
Case Enums.PosterSize.Wide
If IsNothing(tmpMPDBW) Then
- tmpMPDBW = New Bitmap(Image.Image)
+ tmpMPDBW = Image
End If
End Select
Else
@@ -314,23 +314,23 @@ Public Class ScrapeImages
If AdvancedSettings.GetBooleanSetting("UseIMPA", False) Then
If tmpListIMPA.Count > 0 Then
If Not IsNothing(tmpIMPAX) Then
- Image.Image = New Bitmap(tmpIMPAX)
+ Image = tmpIMPAX
GoTo foundIT
End If
If Not IsNothing(tmpIMPAL) Then
- Image.Image = New Bitmap(tmpIMPAL)
+ Image = tmpIMPAL
GoTo foundIT
End If
If Not IsNothing(tmpIMPAM) Then
- Image.Image = New Bitmap(tmpIMPAM)
+ Image = tmpIMPAM
GoTo foundIT
End If
If Not IsNothing(tmpIMPAS) Then
- Image.Image = New Bitmap(tmpIMPAS)
+ Image = tmpIMPAS
GoTo foundIT
End If
If Not IsNothing(tmpIMPAW) Then
- Image.Image = New Bitmap(tmpIMPAW)
+ Image = tmpIMPAW
GoTo foundIT
End If
End If
@@ -341,23 +341,23 @@ Public Class ScrapeImages
If AdvancedSettings.GetBooleanSetting("UseMPDB", False) Then
If tmpListMPDB.Count > 0 Then
If Not IsNothing(tmpMPDBX) Then
- Image.Image = New Bitmap(tmpMPDBX)
+ Image = tmpMPDBX
GoTo foundIT
End If
If Not IsNothing(tmpMPDBL) Then
- Image.Image = New Bitmap(tmpMPDBL)
+ Image = tmpMPDBL
GoTo foundIT
End If
If Not IsNothing(tmpMPDBM) Then
- Image.Image = New Bitmap(tmpMPDBM)
+ Image = tmpMPDBM
GoTo foundIT
End If
If Not IsNothing(tmpMPDBS) Then
- Image.Image = New Bitmap(tmpMPDBS)
+ Image = tmpMPDBS
GoTo foundIT
End If
If Not IsNothing(tmpMPDBW) Then
- Image.Image = New Bitmap(tmpMPDBW)
+ Image = tmpMPDBW
GoTo foundIT
End If
End If
@@ -436,9 +436,9 @@ Public Class ScrapeImages
For Each miFanart As MediaContainers.Image In tmpListTMDB
miFanart.WebImage.FromWeb(miFanart.URL)
If Not IsNothing(miFanart.WebImage.Image) Then
- Image.Image = miFanart.WebImage.Image
+ Image = miFanart.WebImage
Dim savePath As String = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
- Image.Save(savePath)
+ Image.Save(savePath, , , False)
If Master.eSettings.AutoET AndAlso doETs Then
Select Case miFanart.Description.ToLower
Case "original"
@@ -489,7 +489,7 @@ Public Class ScrapeImages
For Each iMovie As MediaContainers.Image In tmpListTMDB
If Images.GetFanartDims(iMovie.WebImage.Image) = Master.eSettings.PreferredFanartSize Then
- Image.Image = iMovie.WebImage.Image
+ Image = iMovie.WebImage
GoTo foundit
End If
Next
@@ -497,7 +497,7 @@ Public Class ScrapeImages
Image.Clear()
If Not doAsk Then
- Image.Image = tmpListTMDB.OrderBy(Function(i) i.WebImage.Image.Height + i.WebImage.Image.Height).FirstOrDefault.WebImage.Image
+ Image = tmpListTMDB.OrderBy(Function(i) i.WebImage.Image.Height + i.WebImage.Image.Height).FirstOrDefault.WebImage
End If
End If
@@ -538,9 +538,9 @@ Public Class ScrapeImages
If Master.eSettings.AutoETSize = Enums.FanartSize.Lrg Then
miFanart.WebImage.FromWeb(miFanart.URL)
If Not IsNothing(miFanart.WebImage.Image) Then
- Image.Image = miFanart.WebImage.Image
+ Image = miFanart.WebImage
savePath = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
- Image.Save(savePath)
+ Image.Save(savePath, , , False)
If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
Image.SaveFAasET(savePath, sPath)
End If
@@ -550,9 +550,9 @@ Public Class ScrapeImages
If Master.eSettings.AutoETSize = Enums.FanartSize.Mid Then
miFanart.WebImage.FromWeb(miFanart.URL)
If Not IsNothing(miFanart.WebImage.Image) Then
- Image.Image = miFanart.WebImage.Image
+ Image = miFanart.WebImage
savePath = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
- Image.Save(savePath)
+ Image.Save(savePath, , , False)
If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
Image.SaveFAasET(savePath, sPath)
End If
@@ -562,9 +562,9 @@ Public Class ScrapeImages
If Master.eSettings.AutoETSize = Enums.FanartSize.Small Then
miFanart.WebImage.FromWeb(miFanart.URL)
If Not IsNothing(miFanart.WebImage.Image) Then
- Image.Image = miFanart.WebImage.Image
+ Image = miFanart.WebImage
savePath = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
- Image.Save(savePath)
+ Image.Save(savePath, , , False)
If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
Image.SaveFAasET(savePath, sPath)
End If
@@ -582,7 +582,7 @@ Public Class ScrapeImages
Case Enums.FanartSize.Lrg
If iMovie.Description.ToLower = "original" Then
If Not IsNothing(iMovie.WebImage.Image) Then
- Image.Image = iMovie.WebImage.Image
+ Image = iMovie.WebImage
Else
Image.FromWeb(iMovie.URL)
End If
@@ -591,7 +591,7 @@ Public Class ScrapeImages
Case Enums.FanartSize.Mid
If iMovie.Description.ToLower = "mid" Then
If Not IsNothing(iMovie.WebImage.Image) Then
- Image.Image = iMovie.WebImage.Image
+ Image = iMovie.WebImage
Else
Image.FromWeb(iMovie.URL)
End If
@@ -600,7 +600,7 @@ Public Class ScrapeImages
Case Enums.FanartSize.Small
If iMovie.Description.ToLower = "thumb" Then
If Not IsNothing(iMovie.WebImage.Image) Then
- Image.Image = iMovie.WebImage.Image
+ Image = iMovie.WebImage
Else
Image.FromWeb(iMovie.URL)
End If
@@ -722,7 +722,7 @@ foundIT:
If Not IsNothing(miFanart.WebImage.Image) Then
_Image = miFanart.WebImage.Image
Dim savePath As String = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
- Save(_Image, savePath)
+ miFanart.WebImage.Save(savePath, , , False)
If Master.eSettings.AutoET Then
Select Case miFanart.Description.ToLower
Case "original"
@@ -768,7 +768,7 @@ foundIT:
If Not IsNothing(miFanart.WebImage.Image) Then
_Image = miFanart.WebImage.Image
savePath = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
- Save(_Image, savePath)
+ miFanart.WebImage.Save(savePath, , , False)
If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
SaveFAasET(savePath, sPath)
End If
@@ -780,7 +780,7 @@ foundIT:
If Not IsNothing(miFanart.WebImage.Image) Then
_Image = miFanart.WebImage.Image
savePath = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
- Save(_Image, savePath)
+ miFanart.WebImage.Save(savePath, , , False)
If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
SaveFAasET(savePath, sPath)
End If
@@ -792,7 +792,7 @@ foundIT:
If Not IsNothing(miFanart.WebImage.Image) Then
_Image = miFanart.WebImage.Image
savePath = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
- Save(_Image, savePath)
+ miFanart.WebImage.Save(savePath, , , False)
If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
SaveFAasET(savePath, sPath)
End If
@@ -845,9 +845,11 @@ foundIT:
If Master.eSettings.VideoTSParent AndAlso FileUtils.Common.isVideoTS(inPath) Then
extraPath = Path.Combine(Directory.GetParent(Directory.GetParent(inPath).FullName).FullName, "extrathumbs")
ElseIf Master.eSettings.VideoTSParent AndAlso FileUtils.Common.isBDRip(inPath) Then
- extraPath = Path.Combine(Directory.GetParent(Directory.GetParent(Directory.GetParent(inPath).FullName).FullName).FullName, "extrathumbs")
- Else
- extraPath = Path.Combine(Directory.GetParent(inPath).FullName, "extrathumbs")
+ extraPath = Path.Combine(Directory.GetParent(Directory.GetParent(Directory.GetParent(inPath).FullName).FullName).FullName, "extrathumbs")
+ ElseIf Master.eSettings.VideoTSParentXBMC AndAlso FileUtils.Common.isBDRip(inPath) Then
+ extraPath = Path.Combine(Directory.GetParent(Directory.GetParent(inPath).FullName).FullName, "extrathumbs")
+ Else
+ extraPath = Path.Combine(Directory.GetParent(inPath).FullName, "extrathumbs")
End If
iMod = Functions.GetExtraModifier(extraPath)
@@ -860,67 +862,68 @@ foundIT:
FileUtils.Common.MoveFileWithStream(faPath, Path.Combine(extraPath, String.Concat("thumb", iVal, ".jpg")))
End Sub
+ ' Duplicate of clsImage
+ 'Public Shared Sub Save(ByVal _image As Image, ByVal sPath As String, Optional ByVal iQuality As Long = 0, Optional ByVal sUrl As String = "")
+ ' Try
+ ' If IsNothing(_image) Then Exit Sub
+
+ ' Dim doesExist As Boolean = File.Exists(sPath)
+ ' Dim fAtt As New FileAttributes
+ ' If Not String.IsNullOrEmpty(sPath) AndAlso (Not doesExist OrElse (Not CBool(File.GetAttributes(sPath) And FileAttributes.ReadOnly))) Then
+ ' If doesExist Then
+ ' 'get the current attributes to set them back after writing
+ ' fAtt = File.GetAttributes(sPath)
+ ' 'set attributes to none for writing
+ ' File.SetAttributes(sPath, FileAttributes.Normal)
+ ' End If
+
+ ' If Not sUrl = "" Then
+ ' Dim stroriginalurl As String = sUrl
+
+ ' 'Image Download from tmdb is special, need original size
+ ' If Not sUrl.Contains("impawards") AndAlso Not sUrl.Contains("movieposterdb") Then
+ ' 'Always get original image...
+ ' 'links to images (tmdb) have following structure: 'example: http://d3gtl9l2a4fn1j.cloudfront.net/t/p/w92/x65b4vsFKYuA878pLN1mJiAsgIP.jpg
+ ' Dim stringArray() As String = Split(stroriginalurl, "/")
+ ' If stringArray.Length > 4 Then
+ ' ' stringArray(5) contains values like "w185","original", "w154"...-->size -> we want original!
+ ' stringArray(5) = "original"
+ ' stroriginalurl = Join(stringArray, "/")
+ ' End If
+ ' End If
+ ' Dim webclient As New Net.WebClient
+ ' webclient.DownloadFile(stroriginalurl, sPath)
+ ' Else
+ ' Using msSave As New MemoryStream
+ ' Dim retSave() As Byte
+ ' Dim ICI As ImageCodecInfo = GetEncoderInfo(ImageFormat.Jpeg)
+ ' Dim EncPars As EncoderParameters = New EncoderParameters(If(iQuality > 0, 2, 1))
+
+ ' EncPars.Param(0) = New EncoderParameter(Encoder.RenderMethod, EncoderValue.RenderNonProgressive)
+
+ ' If iQuality > 0 Then
+ ' EncPars.Param(1) = New EncoderParameter(Encoder.Quality, iQuality)
+ ' End If
+
+ ' _image.Save(msSave, ICI, EncPars)
+
+ ' retSave = msSave.ToArray
+
+ ' Using fs As New FileStream(sPath, FileMode.Create, FileAccess.Write)
+ ' fs.Write(retSave, 0, retSave.Length)
+ ' fs.Flush()
+ ' End Using
+ ' msSave.Flush()
+ ' End Using
+ ' End If
+
+ ' If doesExist Then File.SetAttributes(sPath, fAtt)
+ ' End If
+ ' Catch ex As Exception
+ ' Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ ' End Try
+ 'End Sub
- Public Shared Sub Save(ByVal _image As Image, ByVal sPath As String, Optional ByVal iQuality As Long = 0, Optional ByVal sUrl As String = "")
- Try
- If IsNothing(_image) Then Exit Sub
-
- Dim doesExist As Boolean = File.Exists(sPath)
- Dim fAtt As New FileAttributes
- If Not String.IsNullOrEmpty(sPath) AndAlso (Not doesExist OrElse (Not CBool(File.GetAttributes(sPath) And FileAttributes.ReadOnly))) Then
- If doesExist Then
- 'get the current attributes to set them back after writing
- fAtt = File.GetAttributes(sPath)
- 'set attributes to none for writing
- File.SetAttributes(sPath, FileAttributes.Normal)
- End If
-
- If Not sUrl = "" Then
- Dim stroriginalurl As String = sUrl
-
- 'Image Download from tmdb is special, need original size
- If Not sUrl.Contains("impawards") AndAlso Not sUrl.Contains("movieposterdb") Then
- 'Always get original image...
- 'links to images (tmdb) have following structure: 'example: http://d3gtl9l2a4fn1j.cloudfront.net/t/p/w92/x65b4vsFKYuA878pLN1mJiAsgIP.jpg
- Dim stringArray() As String = Split(stroriginalurl, "/")
- If stringArray.Length > 4 Then
- ' stringArray(5) contains values like "w185","original", "w154"...-->size -> we want original!
- stringArray(5) = "original"
- stroriginalurl = Join(stringArray, "/")
- End If
- End If
- Dim webclient As New Net.WebClient
- webclient.DownloadFile(stroriginalurl, sPath)
- Else
- Using msSave As New MemoryStream
- Dim retSave() As Byte
- Dim ICI As ImageCodecInfo = GetEncoderInfo(ImageFormat.Jpeg)
- Dim EncPars As EncoderParameters = New EncoderParameters(If(iQuality > 0, 2, 1))
-
- EncPars.Param(0) = New EncoderParameter(Encoder.RenderMethod, EncoderValue.RenderNonProgressive)
-
- If iQuality > 0 Then
- EncPars.Param(1) = New EncoderParameter(Encoder.Quality, iQuality)
- End If
-
- _image.Save(msSave, ICI, EncPars)
-
- retSave = msSave.ToArray
-
- Using fs As New FileStream(sPath, FileMode.Create, FileAccess.Write)
- fs.Write(retSave, 0, retSave.Length)
- fs.Flush()
- End Using
- msSave.Flush()
- End Using
- End If
-
- If doesExist Then File.SetAttributes(sPath, fAtt)
- End If
- Catch ex As Exception
- Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
- End Try
- End Sub
Private Shared Function GetEncoderInfo(ByVal Format As ImageFormat) As ImageCodecInfo
Dim Encoders() As ImageCodecInfo = ImageCodecInfo.GetImageEncoders()
diff --git a/Addons/scraper.EmberCore/Scraper/clsScrapeOFDB.vb b/Addons/scraper.EmberCore/Scraper/clsScrapeOFDB.vb
index 2e94cca..a220a06 100644
--- a/Addons/scraper.EmberCore/Scraper/clsScrapeOFDB.vb
+++ b/Addons/scraper.EmberCore/Scraper/clsScrapeOFDB.vb
@@ -119,15 +119,20 @@ Public Class OFDB
Dim HTML As String = sHTTP.DownloadData(sURL)
sHTTP = Nothing
- Dim D, W, B As Integer
+ Dim D, W, Wq, Wqq, B As Integer
Dim tmpHTML As String
- D = Html.IndexOf("Eine Inhaltsangabe von")
+ D = HTML.IndexOf("Eine Inhaltsangabe von")
If D > 0 Then
Dim L As Integer = Html.Length
tmpHTML = Html.Substring(D + 22, L - (D + 22)).Trim
W = tmpHTML.IndexOf("
")
- If W > 0 Then
+ Wq = tmpHTML.IndexOf("
Quelle:")
+ If Wq > 0 Then
+ Wqq = tmpHTML.IndexOf("
", Wq)
+ B = tmpHTML.IndexOf("", Wqq + 8)
+ FullPlot = Web.HttpUtility.HtmlDecode(tmpHTML.Substring(Wqq + 8, B - (Wqq + 8)).Replace("
", String.Empty).Replace(vbCrLf, " ").Trim)
+ ElseIf W > 0 Then
B = tmpHTML.IndexOf("", W + 16)
FullPlot = Web.HttpUtility.HtmlDecode(tmpHTML.Substring(W + 16, B - (W + 16)).Replace("
", String.Empty).Replace(vbCrLf, " ").Trim)
End If
@@ -153,30 +158,60 @@ Public Class OFDB
If Not String.IsNullOrEmpty(Html) Then
'title
If String.IsNullOrEmpty(OFDBMovie.Title) OrElse Not Master.eSettings.LockTitle Then
- Dim OFDBTitle As String = CleanTitle(Web.HttpUtility.HtmlDecode(Regex.Match(Html, "
([^<]+) | ").Groups(1).Value.ToString))
- _title = OFDBTitle
+ Dim OFDBTitle As String = CleanTitle(Web.HttpUtility.HtmlDecode(Regex.Match(HTML, "
([^<]+) | ").Groups(1).Value.ToString))
+ If OFDBTitle.EndsWith(", Der") Then
+ _title = String.Concat("Der ", OFDBTitle.Replace(", Der", " ")).Trim
+ ElseIf OFDBTitle.EndsWith(", Die") Then
+ _title = String.Concat("Die ", OFDBTitle.Replace(", Die", " ")).Trim
+ ElseIf OFDBTitle.EndsWith(", Das") Then
+ _title = String.Concat("Das ", OFDBTitle.Replace(", Das", " ")).Trim
+ ElseIf OFDBTitle.EndsWith(", The") Then
+ _title = String.Concat("The ", OFDBTitle.Replace(", The", " ")).Trim
+ Else
+ _title = OFDBTitle
+ End If
End If
- Dim D, W, B As Integer
+ Dim D, Dq, W, Wq, B As Integer
Dim tmpHTML As String
'outline
If String.IsNullOrEmpty(OFDBMovie.Outline) OrElse Not Master.eSettings.LockOutline Then
- D = Html.IndexOf("
Inhalt:")
-
- If D > 0 Then
- W = Html.IndexOf("
", String.Empty).Replace(vbCrLf, " ").Trim)
+ D = HTML.IndexOf("
Inhalt:")
+ Dq = HTML.IndexOf("
Inhalt: ", Dq)
+ W = HTML.IndexOf("", String.Empty).Replace(vbCrLf, " ").Trim)
+ ElseIf D > 0 Then
+ W = HTML.IndexOf("", String.Empty).Replace(vbCrLf, " ").Trim)
End If
End If
'full plot
- D = 0 : W = 0
+ D = 0 : Dq = 0 : W = 0
If String.IsNullOrEmpty(OFDBMovie.Plot) OrElse Not Master.eSettings.LockPlot Then
- D = Html.IndexOf("Inhalt:")
- If D > 0 Then
- Dim L As Integer = Html.Length
- tmpHTML = Html.Substring(D + 14, L - (D + 14)).Trim
+ D = HTML.IndexOf("Inhalt:")
+ Dq = HTML.IndexOf("Inhalt: 0 Then
+ B = tmpHTML.IndexOf(""">[mehr]", W + 9)
+ If B > 0 Then
+ Dim FullPlot = GetFullPlot(String.Concat("http://www.ofdb.de/", tmpHTML.Substring(W + 9, B - (W + 9))))
+ If Not String.IsNullOrEmpty(FullPlot) Then
+ _plot = FullPlot
+ End If
+ End If
+ End If
+ ElseIf D > 0 Then
+ Dim L As Integer = HTML.Length
+ tmpHTML = HTML.Substring(D + 44, L - (D + 44)).Trim
W = tmpHTML.IndexOf(" 0 Then
B = tmpHTML.IndexOf(""">[mehr]", W + 9)
@@ -197,12 +232,15 @@ Public Class OFDB
If D > 0 Then
W = HTML.IndexOf("", D)
If W > 0 Then
- Dim rGenres As MatchCollection = Regex.Matches(HTML.Substring(D, W - D), ".*?)[""'].*?>(?.*?)")
+ Dim rGenres As MatchCollection = Regex.Matches(HTML.Substring(D, W - D), ".*?)[""'].*?>(?.*?)")
Dim Gen = From M In rGenres _
Select N = Web.HttpUtility.HtmlDecode(DirectCast(M, Match).Groups("name").ToString)
If Gen.Count > 0 Then
Dim tGenre As String = Strings.Join(Gen.ToArray, "/").Trim
- _genre = Strings.Join(tGenre.Split(Convert.ToChar("/")), " / ").Trim
+ tGenre = StringUtils.GenreFilter(tGenre)
+ If Not String.IsNullOrEmpty(tGenre) Then
+ _genre = Strings.Join(tGenre.Split(Convert.ToChar("/")), " / ").Trim
+ End If
End If
End If
End If
diff --git a/Addons/scraper.EmberCore/Scraper/clsScrapeTMDB.vb b/Addons/scraper.EmberCore/Scraper/clsScrapeTMDB.vb
index 3fd3402..d40e628 100644
--- a/Addons/scraper.EmberCore/Scraper/clsScrapeTMDB.vb
+++ b/Addons/scraper.EmberCore/Scraper/clsScrapeTMDB.vb
@@ -73,44 +73,44 @@ Namespace TMDB
If bwTMDB.CancellationPending Then Return Nothing
Try
Dim ApiXML As String = sHTTP.DownloadData(String.Format("http://api.themoviedb.org/2.1/Movie.getImages/en/xml/{0}/tt{1}", APIKey, imdbID))
-
- If Not String.IsNullOrEmpty(ApiXML) Then
- Try
- xmlTMDB = XDocument.Parse(ApiXML)
- Catch
- Return alPosters
- End Try
-
- If bwTMDB.WorkerReportsProgress Then
- bwTMDB.ReportProgress(1)
- End If
-
- If bwTMDB.CancellationPending Then Return Nothing
-
- If Not xmlTMDB.......Value = "Nothing found." Then
- If sType = "poster" Then
- Dim tmdbImages = From iNode In xmlTMDB................Elements Select iNode
- If tmdbImages.Count > 0 Then
- For Each tmdbI As XElement In tmdbImages
- Dim parentID As String = tmdbI.Parent.Attribute("id").Value
- If bwTMDB.CancellationPending Then Return Nothing
- Dim tmpPoster As New MediaContainers.Image With {.URL = tmdbI.@url, .Description = tmdbI.@size, .Width = tmdbI.@width, .Height = tmdbI.@height, .ParentID = parentID}
- alPosters.Add(tmpPoster)
- Next
- End If
- ElseIf sType = "backdrop" Then
- Dim tmdbImages = From iNode In xmlTMDB................Elements Select iNode
- If tmdbImages.Count > 0 Then
- For Each tmdbI As XElement In tmdbImages
- Dim parentID As String = tmdbI.Parent.Attribute("id").Value
- If bwTMDB.CancellationPending Then Return Nothing
- Dim tmpPoster As New MediaContainers.Image With {.URL = tmdbI.@url, .Description = tmdbI.@size, .Width = tmdbI.@width, .Height = tmdbI.@height, .ParentID = parentID}
- alPosters.Add(tmpPoster)
- Next
- End If
- End If
- End If
- End If
+ If Not String.IsNullOrEmpty(ApiXML) Then
+ Try
+ xmlTMDB = XDocument.Parse(ApiXML)
+ Catch
+ Return alPosters
+ End Try
+
+ If bwTMDB.WorkerReportsProgress Then
+ bwTMDB.ReportProgress(1)
+ End If
+
+ If bwTMDB.CancellationPending Then Return Nothing
+
+ If Not xmlTMDB.......Value = "Nothing found." Then
+ If sType = "poster" Then
+ Dim tmdbImages = From iNode In xmlTMDB................Elements Select iNode
+ If tmdbImages.Count > 0 Then
+ For Each tmdbI As XElement In tmdbImages
+ Dim parentID As String = tmdbI.Parent.Attribute("id").Value
+ If bwTMDB.CancellationPending Then Return Nothing
+ Dim tmpPoster As New MediaContainers.Image With {.URL = tmdbI.@url, .Description = tmdbI.@size, .Width = tmdbI.@width, .Height = tmdbI.@height, .ParentID = parentID}
+ alPosters.Add(tmpPoster)
+ Next
+ End If
+ ElseIf sType = "backdrop" Then
+ Dim tmdbImages = From iNode In xmlTMDB................Elements Select iNode
+ If tmdbImages.Count > 0 Then
+ For Each tmdbI As XElement In tmdbImages
+ Dim parentID As String = tmdbI.Parent.Attribute("id").Value
+ If bwTMDB.CancellationPending Then Return Nothing
+ Debug.Print("{0}/t{1}", tmdbI.@size, tmdbI.@url)
+ Dim tmpPoster As New MediaContainers.Image With {.URL = tmdbI.@url, .Description = tmdbI.@size, .Width = tmdbI.@width, .Height = tmdbI.@height, .ParentID = parentID}
+ alPosters.Add(tmpPoster)
+ Next
+ End If
+ End If
+ End If
+ End If
If bwTMDB.WorkerReportsProgress Then
bwTMDB.ReportProgress(2)
diff --git a/Addons/scraper.EmberCore/Scraper/clsScrapeTrailers.vb b/Addons/scraper.EmberCore/Scraper/clsScrapeTrailers.vb
index 70d407a..19327b4 100644
--- a/Addons/scraper.EmberCore/Scraper/clsScrapeTrailers.vb
+++ b/Addons/scraper.EmberCore/Scraper/clsScrapeTrailers.vb
@@ -79,6 +79,8 @@ Public Class Trailers
File.Delete(String.Concat(tmpNameNoStack, "-trailer", t))
ElseIf File.Exists(String.Concat(tmpNameNoStack, "[trailer]", t)) AndAlso Not String.Concat(tmpNameNoStack, "[trailer]", t).ToLower = NewTrailer.ToLower Then
File.Delete(String.Concat(tmpNameNoStack, "[trailer]", t))
+ ElseIf Master.eSettings.VideoTSParentXBMC AndAlso FileUtils.Common.isBDRip(sPath) AndAlso File.Exists(String.Concat(Directory.GetParent(Directory.GetParent(sPath).FullName).FullName, "\", "index-trailer", t)) AndAlso Not String.Concat(Directory.GetParent(Directory.GetParent(sPath).FullName).FullName, "\", "index-trailer", t).ToLower = NewTrailer.ToLower Then
+ File.Delete(String.Concat(Directory.GetParent(Directory.GetParent(sPath).FullName).FullName, "\", "index-trailer", t))
End If
Next
End Sub
diff --git a/Addons/scraper.EmberCore/Scraper/clsScrapeYouTube.vb b/Addons/scraper.EmberCore/Scraper/clsScrapeYouTube.vb
index 68dbcc8..b4603fd 100644
--- a/Addons/scraper.EmberCore/Scraper/clsScrapeYouTube.vb
+++ b/Addons/scraper.EmberCore/Scraper/clsScrapeYouTube.vb
@@ -148,14 +148,14 @@ Namespace YouTube
Dim VideoTitle As String = GetVideoTitle(Html)
VideoTitle = Regex.Replace(VideoTitle, "['?\\:*<>]*", "")
- Dim fmtMatch As Match = Regex.Match(Html, "url_encoded_fmt_stream_map=(.*?)\\u0026amp;", RegexOptions.IgnoreCase)
+ Dim fmtMatch As Match = Regex.Match(Html, "url_encoded_fmt_stream_map\"": \""(.*?)\"", \""", RegexOptions.IgnoreCase)
If fmtMatch.Success Then
Dim FormatMap As String = fmtMatch.Groups(1).Value
Dim decoded As String = Web.HttpUtility.UrlDecode(FormatMap)
- Dim FormatArray() As String = Split(decoded, ",")
+ Dim FormatArray() As String = Split(decoded.Replace(", ", ";"), ",")
- Dim rurl As New Regex("url=([^&,]+)", RegexOptions.IgnoreCase)
- Dim rsig As New Regex("sig=([^&,]+)", RegexOptions.IgnoreCase)
+ Dim rurl As New Regex("url=([^\\]+)", RegexOptions.IgnoreCase)
+ Dim rsig As New Regex("sig=([^\\]+)", RegexOptions.IgnoreCase)
Dim ritag As New Regex("itag=(\d+)", RegexOptions.IgnoreCase)
For i As Integer = 0 To FormatArray.Length - 1
diff --git a/Addons/scraper.EmberCore/Scraper/dlgIMDBSearchResults.Designer.vb b/Addons/scraper.EmberCore/Scraper/dlgIMDBSearchResults.Designer.vb
index fe32b41..6d0924e 100644
--- a/Addons/scraper.EmberCore/Scraper/dlgIMDBSearchResults.Designer.vb
+++ b/Addons/scraper.EmberCore/Scraper/dlgIMDBSearchResults.Designer.vb
@@ -22,407 +22,428 @@ Partial Class dlgIMDBSearchResults
'Do not modify it using the code editor.
_
Private Sub InitializeComponent()
- Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(dlgIMDBSearchResults))
- Me.OK_Button = New System.Windows.Forms.Button()
- Me.Cancel_Button = New System.Windows.Forms.Button()
- Me.tvResults = New System.Windows.Forms.TreeView()
- Me.pbPoster = New System.Windows.Forms.PictureBox()
- Me.lblTitle = New System.Windows.Forms.Label()
- Me.lblTagline = New System.Windows.Forms.Label()
- Me.txtOutline = New System.Windows.Forms.TextBox()
- Me.lblYear = New System.Windows.Forms.Label()
- Me.lblDirector = New System.Windows.Forms.Label()
- Me.lblGenre = New System.Windows.Forms.Label()
- Me.txtIMDBID = New System.Windows.Forms.TextBox()
- Me.pnlTop = New System.Windows.Forms.Panel()
- Me.Label2 = New System.Windows.Forms.Label()
- Me.Label1 = New System.Windows.Forms.Label()
- Me.PictureBox1 = New System.Windows.Forms.PictureBox()
- Me.chkManual = New System.Windows.Forms.CheckBox()
- Me.btnVerify = New System.Windows.Forms.Button()
- Me.lblIMDB = New System.Windows.Forms.Label()
- Me.lblYearHeader = New System.Windows.Forms.Label()
- Me.lblDirectorHeader = New System.Windows.Forms.Label()
- Me.lblGenreHeader = New System.Windows.Forms.Label()
- Me.lblIMDBHeader = New System.Windows.Forms.Label()
- Me.lblPlotHeader = New System.Windows.Forms.Label()
- Me.btnSearch = New System.Windows.Forms.Button()
- Me.txtSearch = New System.Windows.Forms.TextBox()
- Me.pnlLoading = New System.Windows.Forms.Panel()
- Me.Label3 = New System.Windows.Forms.Label()
- Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
- Me.pnlPicStatus = New System.Windows.Forms.Panel()
- Me.Label4 = New System.Windows.Forms.Label()
- CType(Me.pbPoster, System.ComponentModel.ISupportInitialize).BeginInit()
- Me.pnlTop.SuspendLayout()
- CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
- Me.pnlLoading.SuspendLayout()
- Me.pnlPicStatus.SuspendLayout()
- Me.SuspendLayout()
- '
- 'OK_Button
- '
- Me.OK_Button.Enabled = False
- Me.OK_Button.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.OK_Button.Location = New System.Drawing.Point(497, 401)
- Me.OK_Button.Name = "OK_Button"
- Me.OK_Button.Size = New System.Drawing.Size(67, 22)
- Me.OK_Button.TabIndex = 0
- Me.OK_Button.Text = "OK"
- '
- 'Cancel_Button
- '
- Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
- Me.Cancel_Button.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.Cancel_Button.Location = New System.Drawing.Point(570, 401)
- Me.Cancel_Button.Name = "Cancel_Button"
- Me.Cancel_Button.Size = New System.Drawing.Size(67, 22)
- Me.Cancel_Button.TabIndex = 1
- Me.Cancel_Button.Text = "Cancel"
- '
- 'tvResults
- '
- Me.tvResults.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.tvResults.HideSelection = False
- Me.tvResults.Location = New System.Drawing.Point(4, 96)
- Me.tvResults.Name = "tvResults"
- Me.tvResults.Size = New System.Drawing.Size(281, 299)
- Me.tvResults.TabIndex = 5
- '
- 'pbPoster
- '
- Me.pbPoster.Location = New System.Drawing.Point(294, 130)
- Me.pbPoster.Name = "pbPoster"
- Me.pbPoster.Size = New System.Drawing.Size(110, 130)
- Me.pbPoster.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
- Me.pbPoster.TabIndex = 2
- Me.pbPoster.TabStop = False
- Me.pbPoster.Visible = False
- '
- 'lblTitle
- '
- Me.lblTitle.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.lblTitle.Location = New System.Drawing.Point(291, 70)
- Me.lblTitle.Name = "lblTitle"
- Me.lblTitle.Size = New System.Drawing.Size(346, 19)
- Me.lblTitle.TabIndex = 9
- Me.lblTitle.Text = "Title"
- Me.lblTitle.Visible = False
- '
- 'lblTagline
- '
- Me.lblTagline.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.lblTagline.Location = New System.Drawing.Point(291, 89)
- Me.lblTagline.Name = "lblTagline"
- Me.lblTagline.Size = New System.Drawing.Size(346, 16)
- Me.lblTagline.TabIndex = 10
- Me.lblTagline.Text = "Tagline"
- Me.lblTagline.Visible = False
- '
- 'txtOutline
- '
- Me.txtOutline.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.txtOutline.Location = New System.Drawing.Point(294, 295)
- Me.txtOutline.Multiline = True
- Me.txtOutline.Name = "txtOutline"
- Me.txtOutline.Size = New System.Drawing.Size(343, 100)
- Me.txtOutline.TabIndex = 22
- Me.txtOutline.TabStop = False
- Me.txtOutline.Visible = False
- '
- 'lblYear
- '
- Me.lblYear.AutoSize = True
- Me.lblYear.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.lblYear.Location = New System.Drawing.Point(472, 130)
- Me.lblYear.Name = "lblYear"
- Me.lblYear.Size = New System.Drawing.Size(31, 13)
- Me.lblYear.TabIndex = 13
- Me.lblYear.Text = "0000"
- Me.lblYear.Visible = False
- '
- 'lblDirector
- '
- Me.lblDirector.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.lblDirector.Location = New System.Drawing.Point(472, 156)
- Me.lblDirector.Name = "lblDirector"
- Me.lblDirector.Size = New System.Drawing.Size(165, 16)
- Me.lblDirector.TabIndex = 15
- Me.lblDirector.Text = "Director"
- Me.lblDirector.Visible = False
- '
- 'lblGenre
- '
- Me.lblGenre.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.lblGenre.Location = New System.Drawing.Point(472, 183)
- Me.lblGenre.Name = "lblGenre"
- Me.lblGenre.Size = New System.Drawing.Size(165, 52)
- Me.lblGenre.TabIndex = 17
- Me.lblGenre.Text = "Genre"
- Me.lblGenre.Visible = False
- '
- 'txtIMDBID
- '
- Me.txtIMDBID.Enabled = False
- Me.txtIMDBID.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.txtIMDBID.Location = New System.Drawing.Point(139, 399)
- Me.txtIMDBID.Name = "txtIMDBID"
- Me.txtIMDBID.Size = New System.Drawing.Size(100, 22)
- Me.txtIMDBID.TabIndex = 7
- '
- 'pnlTop
- '
- Me.pnlTop.BackColor = System.Drawing.Color.LightSteelBlue
- Me.pnlTop.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
- Me.pnlTop.Controls.Add(Me.Label2)
- Me.pnlTop.Controls.Add(Me.Label1)
- Me.pnlTop.Controls.Add(Me.PictureBox1)
- Me.pnlTop.Dock = System.Windows.Forms.DockStyle.Top
- Me.pnlTop.Location = New System.Drawing.Point(0, 0)
- Me.pnlTop.Name = "pnlTop"
- Me.pnlTop.Size = New System.Drawing.Size(643, 64)
- Me.pnlTop.TabIndex = 2
- '
- 'Label2
- '
- Me.Label2.AutoSize = True
- Me.Label2.BackColor = System.Drawing.Color.Transparent
- Me.Label2.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.Label2.ForeColor = System.Drawing.Color.White
- Me.Label2.Location = New System.Drawing.Point(61, 38)
- Me.Label2.Name = "Label2"
- Me.Label2.Size = New System.Drawing.Size(276, 13)
- Me.Label2.TabIndex = 1
- Me.Label2.Text = "View details of each result to find the proper movie."
- '
- 'Label1
- '
- Me.Label1.AutoSize = True
- Me.Label1.BackColor = System.Drawing.Color.Transparent
- Me.Label1.Font = New System.Drawing.Font("Segoe UI", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.Label1.ForeColor = System.Drawing.Color.White
- Me.Label1.Location = New System.Drawing.Point(58, 3)
- Me.Label1.Name = "Label1"
- Me.Label1.Size = New System.Drawing.Size(257, 32)
- Me.Label1.TabIndex = 0
- Me.Label1.Text = "Movie Search Results"
- '
- 'PictureBox1
- '
- Me.PictureBox1.BackColor = System.Drawing.Color.Transparent
- Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)
- Me.PictureBox1.Location = New System.Drawing.Point(7, 8)
- Me.PictureBox1.Name = "PictureBox1"
- Me.PictureBox1.Size = New System.Drawing.Size(48, 48)
- Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize
- Me.PictureBox1.TabIndex = 0
- Me.PictureBox1.TabStop = False
- '
- 'chkManual
- '
- Me.chkManual.AutoSize = True
- Me.chkManual.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkManual.Location = New System.Drawing.Point(4, 403)
- Me.chkManual.Name = "chkManual"
- Me.chkManual.Size = New System.Drawing.Size(128, 17)
- Me.chkManual.TabIndex = 6
- Me.chkManual.Text = "Manual IMDB Entry:"
- Me.chkManual.UseVisualStyleBackColor = True
- '
- 'btnVerify
- '
- Me.btnVerify.Enabled = False
- Me.btnVerify.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.btnVerify.Location = New System.Drawing.Point(245, 399)
- Me.btnVerify.Name = "btnVerify"
- Me.btnVerify.Size = New System.Drawing.Size(75, 22)
- Me.btnVerify.TabIndex = 8
- Me.btnVerify.Text = "Verify"
- Me.btnVerify.UseVisualStyleBackColor = True
- '
- 'lblIMDB
- '
- Me.lblIMDB.AutoSize = True
- Me.lblIMDB.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.lblIMDB.Location = New System.Drawing.Point(472, 247)
- Me.lblIMDB.Name = "lblIMDB"
- Me.lblIMDB.Size = New System.Drawing.Size(35, 13)
- Me.lblIMDB.TabIndex = 19
- Me.lblIMDB.Text = "IMDB"
- Me.lblIMDB.Visible = False
- '
- 'lblYearHeader
- '
- Me.lblYearHeader.AutoSize = True
- Me.lblYearHeader.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.lblYearHeader.Location = New System.Drawing.Point(410, 130)
- Me.lblYearHeader.Name = "lblYearHeader"
- Me.lblYearHeader.Size = New System.Drawing.Size(33, 13)
- Me.lblYearHeader.TabIndex = 12
- Me.lblYearHeader.Text = "Year:"
- Me.lblYearHeader.Visible = False
- '
- 'lblDirectorHeader
- '
- Me.lblDirectorHeader.AutoSize = True
- Me.lblDirectorHeader.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.lblDirectorHeader.Location = New System.Drawing.Point(410, 156)
- Me.lblDirectorHeader.Name = "lblDirectorHeader"
- Me.lblDirectorHeader.Size = New System.Drawing.Size(51, 13)
- Me.lblDirectorHeader.TabIndex = 14
- Me.lblDirectorHeader.Text = "Director:"
- Me.lblDirectorHeader.Visible = False
- '
- 'lblGenreHeader
- '
- Me.lblGenreHeader.AutoSize = True
- Me.lblGenreHeader.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.lblGenreHeader.Location = New System.Drawing.Point(410, 183)
- Me.lblGenreHeader.Name = "lblGenreHeader"
- Me.lblGenreHeader.Size = New System.Drawing.Size(54, 13)
- Me.lblGenreHeader.TabIndex = 16
- Me.lblGenreHeader.Text = "Genre(s):"
- Me.lblGenreHeader.Visible = False
- '
- 'lblIMDBHeader
- '
- Me.lblIMDBHeader.AutoSize = True
- Me.lblIMDBHeader.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.lblIMDBHeader.Location = New System.Drawing.Point(410, 247)
- Me.lblIMDBHeader.Name = "lblIMDBHeader"
- Me.lblIMDBHeader.Size = New System.Drawing.Size(53, 13)
- Me.lblIMDBHeader.TabIndex = 18
- Me.lblIMDBHeader.Text = "IMDB ID:"
- Me.lblIMDBHeader.Visible = False
- '
- 'lblPlotHeader
- '
- Me.lblPlotHeader.AutoSize = True
- Me.lblPlotHeader.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.lblPlotHeader.Location = New System.Drawing.Point(291, 279)
- Me.lblPlotHeader.Name = "lblPlotHeader"
- Me.lblPlotHeader.Size = New System.Drawing.Size(83, 13)
- Me.lblPlotHeader.TabIndex = 21
- Me.lblPlotHeader.Text = "Plot Summary:"
- Me.lblPlotHeader.Visible = False
- '
- 'btnSearch
- '
- Me.btnSearch.Image = CType(resources.GetObject("btnSearch.Image"), System.Drawing.Image)
- Me.btnSearch.Location = New System.Drawing.Point(262, 70)
- Me.btnSearch.Name = "btnSearch"
- Me.btnSearch.Size = New System.Drawing.Size(23, 23)
- Me.btnSearch.TabIndex = 4
- Me.btnSearch.UseVisualStyleBackColor = True
- '
- 'txtSearch
- '
- Me.txtSearch.Location = New System.Drawing.Point(4, 71)
- Me.txtSearch.Name = "txtSearch"
- Me.txtSearch.Size = New System.Drawing.Size(252, 22)
- Me.txtSearch.TabIndex = 3
- '
- 'pnlLoading
- '
- Me.pnlLoading.BackColor = System.Drawing.Color.White
- Me.pnlLoading.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
- Me.pnlLoading.Controls.Add(Me.Label3)
- Me.pnlLoading.Controls.Add(Me.ProgressBar1)
- Me.pnlLoading.Location = New System.Drawing.Point(364, 183)
- Me.pnlLoading.Name = "pnlLoading"
- Me.pnlLoading.Size = New System.Drawing.Size(200, 54)
- Me.pnlLoading.TabIndex = 20
- '
- 'Label3
- '
- Me.Label3.AutoSize = True
- Me.Label3.Location = New System.Drawing.Point(3, 10)
- Me.Label3.Name = "Label3"
- Me.Label3.Size = New System.Drawing.Size(98, 13)
- Me.Label3.TabIndex = 0
- Me.Label3.Text = "Searching IMDB..."
- Me.Label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
- '
- 'ProgressBar1
- '
- Me.ProgressBar1.Location = New System.Drawing.Point(3, 32)
- Me.ProgressBar1.MarqueeAnimationSpeed = 25
- Me.ProgressBar1.Name = "ProgressBar1"
- Me.ProgressBar1.Size = New System.Drawing.Size(192, 17)
- Me.ProgressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee
- Me.ProgressBar1.TabIndex = 1
- '
- 'pnlPicStatus
- '
- Me.pnlPicStatus.BackColor = System.Drawing.Color.LightSteelBlue
- Me.pnlPicStatus.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
- Me.pnlPicStatus.Controls.Add(Me.Label4)
- Me.pnlPicStatus.Location = New System.Drawing.Point(308, 155)
- Me.pnlPicStatus.Name = "pnlPicStatus"
- Me.pnlPicStatus.Size = New System.Drawing.Size(81, 45)
- Me.pnlPicStatus.TabIndex = 11
- '
- 'Label4
- '
- Me.Label4.Location = New System.Drawing.Point(5, 5)
- Me.Label4.Name = "Label4"
- Me.Label4.Size = New System.Drawing.Size(70, 33)
- Me.Label4.TabIndex = 0
- Me.Label4.Text = "Fetching Poster..."
- Me.Label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
- '
- 'dlgIMDBSearchResults
- '
- Me.AcceptButton = Me.OK_Button
- Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
- Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
- Me.CancelButton = Me.Cancel_Button
- Me.ClientSize = New System.Drawing.Size(643, 454)
- Me.ControlBox = False
- Me.Controls.Add(Me.pnlLoading)
- Me.Controls.Add(Me.pnlPicStatus)
- Me.Controls.Add(Me.Cancel_Button)
- Me.Controls.Add(Me.OK_Button)
- Me.Controls.Add(Me.btnSearch)
- Me.Controls.Add(Me.txtSearch)
- Me.Controls.Add(Me.lblPlotHeader)
- Me.Controls.Add(Me.lblIMDBHeader)
- Me.Controls.Add(Me.lblGenreHeader)
- Me.Controls.Add(Me.lblDirectorHeader)
- Me.Controls.Add(Me.lblYearHeader)
- Me.Controls.Add(Me.lblIMDB)
- Me.Controls.Add(Me.btnVerify)
- Me.Controls.Add(Me.chkManual)
- Me.Controls.Add(Me.pnlTop)
- Me.Controls.Add(Me.txtIMDBID)
- Me.Controls.Add(Me.lblGenre)
- Me.Controls.Add(Me.lblDirector)
- Me.Controls.Add(Me.lblYear)
- Me.Controls.Add(Me.txtOutline)
- Me.Controls.Add(Me.lblTagline)
- Me.Controls.Add(Me.lblTitle)
- Me.Controls.Add(Me.pbPoster)
- Me.Controls.Add(Me.tvResults)
- Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
- Me.MaximizeBox = False
- Me.MinimizeBox = False
- Me.MinimumSize = New System.Drawing.Size(649, 460)
- Me.Name = "dlgIMDBSearchResults"
- Me.ShowIcon = False
- Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
- Me.Text = "Search Results"
- CType(Me.pbPoster, System.ComponentModel.ISupportInitialize).EndInit()
- Me.pnlTop.ResumeLayout(False)
- Me.pnlTop.PerformLayout()
- CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
- Me.pnlLoading.ResumeLayout(False)
- Me.pnlLoading.PerformLayout()
- Me.pnlPicStatus.ResumeLayout(False)
- Me.ResumeLayout(False)
- Me.PerformLayout()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(dlgIMDBSearchResults))
+ Me.OK_Button = New System.Windows.Forms.Button()
+ Me.Cancel_Button = New System.Windows.Forms.Button()
+ Me.tvResults = New System.Windows.Forms.TreeView()
+ Me.pbPoster = New System.Windows.Forms.PictureBox()
+ Me.lblTitle = New System.Windows.Forms.Label()
+ Me.lblTagline = New System.Windows.Forms.Label()
+ Me.txtOutline = New System.Windows.Forms.TextBox()
+ Me.lblYear = New System.Windows.Forms.Label()
+ Me.lblDirector = New System.Windows.Forms.Label()
+ Me.lblGenre = New System.Windows.Forms.Label()
+ Me.txtIMDBID = New System.Windows.Forms.TextBox()
+ Me.pnlTop = New System.Windows.Forms.Panel()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.PictureBox1 = New System.Windows.Forms.PictureBox()
+ Me.chkManual = New System.Windows.Forms.CheckBox()
+ Me.btnVerify = New System.Windows.Forms.Button()
+ Me.lblIMDB = New System.Windows.Forms.Label()
+ Me.lblYearHeader = New System.Windows.Forms.Label()
+ Me.lblDirectorHeader = New System.Windows.Forms.Label()
+ Me.lblGenreHeader = New System.Windows.Forms.Label()
+ Me.lblIMDBHeader = New System.Windows.Forms.Label()
+ Me.lblPlotHeader = New System.Windows.Forms.Label()
+ Me.btnSearch = New System.Windows.Forms.Button()
+ Me.txtSearch = New System.Windows.Forms.TextBox()
+ Me.pnlLoading = New System.Windows.Forms.Panel()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
+ Me.pnlPicStatus = New System.Windows.Forms.Panel()
+ Me.Label4 = New System.Windows.Forms.Label()
+ Me.txtFileName = New System.Windows.Forms.TextBox()
+ Me.btnOpenFolder = New System.Windows.Forms.Button()
+ CType(Me.pbPoster, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.pnlTop.SuspendLayout()
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.pnlLoading.SuspendLayout()
+ Me.pnlPicStatus.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'OK_Button
+ '
+ Me.OK_Button.Enabled = False
+ Me.OK_Button.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.OK_Button.Location = New System.Drawing.Point(501, 431)
+ Me.OK_Button.Name = "OK_Button"
+ Me.OK_Button.Size = New System.Drawing.Size(67, 22)
+ Me.OK_Button.TabIndex = 0
+ Me.OK_Button.Text = "OK"
+ '
+ 'Cancel_Button
+ '
+ Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.Cancel_Button.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Cancel_Button.Location = New System.Drawing.Point(574, 431)
+ Me.Cancel_Button.Name = "Cancel_Button"
+ Me.Cancel_Button.Size = New System.Drawing.Size(67, 22)
+ Me.Cancel_Button.TabIndex = 1
+ Me.Cancel_Button.Text = "Cancel"
+ '
+ 'tvResults
+ '
+ Me.tvResults.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.tvResults.HideSelection = False
+ Me.tvResults.Location = New System.Drawing.Point(8, 126)
+ Me.tvResults.Name = "tvResults"
+ Me.tvResults.Size = New System.Drawing.Size(281, 299)
+ Me.tvResults.TabIndex = 5
+ '
+ 'pbPoster
+ '
+ Me.pbPoster.Location = New System.Drawing.Point(298, 160)
+ Me.pbPoster.Name = "pbPoster"
+ Me.pbPoster.Size = New System.Drawing.Size(110, 130)
+ Me.pbPoster.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
+ Me.pbPoster.TabIndex = 2
+ Me.pbPoster.TabStop = False
+ Me.pbPoster.Visible = False
+ '
+ 'lblTitle
+ '
+ Me.lblTitle.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblTitle.Location = New System.Drawing.Point(295, 100)
+ Me.lblTitle.Name = "lblTitle"
+ Me.lblTitle.Size = New System.Drawing.Size(346, 19)
+ Me.lblTitle.TabIndex = 9
+ Me.lblTitle.Text = "Title"
+ Me.lblTitle.Visible = False
+ '
+ 'lblTagline
+ '
+ Me.lblTagline.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblTagline.Location = New System.Drawing.Point(295, 119)
+ Me.lblTagline.Name = "lblTagline"
+ Me.lblTagline.Size = New System.Drawing.Size(346, 16)
+ Me.lblTagline.TabIndex = 10
+ Me.lblTagline.Text = "Tagline"
+ Me.lblTagline.Visible = False
+ '
+ 'txtOutline
+ '
+ Me.txtOutline.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txtOutline.Location = New System.Drawing.Point(298, 325)
+ Me.txtOutline.Multiline = True
+ Me.txtOutline.Name = "txtOutline"
+ Me.txtOutline.Size = New System.Drawing.Size(343, 100)
+ Me.txtOutline.TabIndex = 22
+ Me.txtOutline.TabStop = False
+ Me.txtOutline.Visible = False
+ '
+ 'lblYear
+ '
+ Me.lblYear.AutoSize = True
+ Me.lblYear.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblYear.Location = New System.Drawing.Point(476, 160)
+ Me.lblYear.Name = "lblYear"
+ Me.lblYear.Size = New System.Drawing.Size(31, 13)
+ Me.lblYear.TabIndex = 13
+ Me.lblYear.Text = "0000"
+ Me.lblYear.Visible = False
+ '
+ 'lblDirector
+ '
+ Me.lblDirector.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblDirector.Location = New System.Drawing.Point(476, 186)
+ Me.lblDirector.Name = "lblDirector"
+ Me.lblDirector.Size = New System.Drawing.Size(165, 16)
+ Me.lblDirector.TabIndex = 15
+ Me.lblDirector.Text = "Director"
+ Me.lblDirector.Visible = False
+ '
+ 'lblGenre
+ '
+ Me.lblGenre.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblGenre.Location = New System.Drawing.Point(476, 213)
+ Me.lblGenre.Name = "lblGenre"
+ Me.lblGenre.Size = New System.Drawing.Size(165, 52)
+ Me.lblGenre.TabIndex = 17
+ Me.lblGenre.Text = "Genre"
+ Me.lblGenre.Visible = False
+ '
+ 'txtIMDBID
+ '
+ Me.txtIMDBID.Enabled = False
+ Me.txtIMDBID.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txtIMDBID.Location = New System.Drawing.Point(143, 429)
+ Me.txtIMDBID.Name = "txtIMDBID"
+ Me.txtIMDBID.Size = New System.Drawing.Size(100, 22)
+ Me.txtIMDBID.TabIndex = 7
+ '
+ 'pnlTop
+ '
+ Me.pnlTop.BackColor = System.Drawing.Color.LightSteelBlue
+ Me.pnlTop.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlTop.Controls.Add(Me.Label2)
+ Me.pnlTop.Controls.Add(Me.Label1)
+ Me.pnlTop.Controls.Add(Me.PictureBox1)
+ Me.pnlTop.Dock = System.Windows.Forms.DockStyle.Top
+ Me.pnlTop.Location = New System.Drawing.Point(0, 0)
+ Me.pnlTop.Name = "pnlTop"
+ Me.pnlTop.Size = New System.Drawing.Size(647, 64)
+ Me.pnlTop.TabIndex = 2
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.BackColor = System.Drawing.Color.Transparent
+ Me.Label2.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.Label2.ForeColor = System.Drawing.Color.White
+ Me.Label2.Location = New System.Drawing.Point(61, 38)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(276, 13)
+ Me.Label2.TabIndex = 1
+ Me.Label2.Text = "View details of each result to find the proper movie."
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.BackColor = System.Drawing.Color.Transparent
+ Me.Label1.Font = New System.Drawing.Font("Segoe UI", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.Label1.ForeColor = System.Drawing.Color.White
+ Me.Label1.Location = New System.Drawing.Point(58, 3)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(256, 32)
+ Me.Label1.TabIndex = 0
+ Me.Label1.Text = "Movie Search Results"
+ '
+ 'PictureBox1
+ '
+ Me.PictureBox1.BackColor = System.Drawing.Color.Transparent
+ Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)
+ Me.PictureBox1.Location = New System.Drawing.Point(7, 8)
+ Me.PictureBox1.Name = "PictureBox1"
+ Me.PictureBox1.Size = New System.Drawing.Size(48, 48)
+ Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize
+ Me.PictureBox1.TabIndex = 0
+ Me.PictureBox1.TabStop = False
+ '
+ 'chkManual
+ '
+ Me.chkManual.AutoSize = True
+ Me.chkManual.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkManual.Location = New System.Drawing.Point(8, 433)
+ Me.chkManual.Name = "chkManual"
+ Me.chkManual.Size = New System.Drawing.Size(128, 17)
+ Me.chkManual.TabIndex = 6
+ Me.chkManual.Text = "Manual IMDB Entry:"
+ Me.chkManual.UseVisualStyleBackColor = True
+ '
+ 'btnVerify
+ '
+ Me.btnVerify.Enabled = False
+ Me.btnVerify.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.btnVerify.Location = New System.Drawing.Point(249, 429)
+ Me.btnVerify.Name = "btnVerify"
+ Me.btnVerify.Size = New System.Drawing.Size(75, 22)
+ Me.btnVerify.TabIndex = 8
+ Me.btnVerify.Text = "Verify"
+ Me.btnVerify.UseVisualStyleBackColor = True
+ '
+ 'lblIMDB
+ '
+ Me.lblIMDB.AutoSize = True
+ Me.lblIMDB.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblIMDB.Location = New System.Drawing.Point(476, 277)
+ Me.lblIMDB.Name = "lblIMDB"
+ Me.lblIMDB.Size = New System.Drawing.Size(35, 13)
+ Me.lblIMDB.TabIndex = 19
+ Me.lblIMDB.Text = "IMDB"
+ Me.lblIMDB.Visible = False
+ '
+ 'lblYearHeader
+ '
+ Me.lblYearHeader.AutoSize = True
+ Me.lblYearHeader.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblYearHeader.Location = New System.Drawing.Point(414, 160)
+ Me.lblYearHeader.Name = "lblYearHeader"
+ Me.lblYearHeader.Size = New System.Drawing.Size(32, 13)
+ Me.lblYearHeader.TabIndex = 12
+ Me.lblYearHeader.Text = "Year:"
+ Me.lblYearHeader.Visible = False
+ '
+ 'lblDirectorHeader
+ '
+ Me.lblDirectorHeader.AutoSize = True
+ Me.lblDirectorHeader.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblDirectorHeader.Location = New System.Drawing.Point(414, 186)
+ Me.lblDirectorHeader.Name = "lblDirectorHeader"
+ Me.lblDirectorHeader.Size = New System.Drawing.Size(51, 13)
+ Me.lblDirectorHeader.TabIndex = 14
+ Me.lblDirectorHeader.Text = "Director:"
+ Me.lblDirectorHeader.Visible = False
+ '
+ 'lblGenreHeader
+ '
+ Me.lblGenreHeader.AutoSize = True
+ Me.lblGenreHeader.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblGenreHeader.Location = New System.Drawing.Point(414, 213)
+ Me.lblGenreHeader.Name = "lblGenreHeader"
+ Me.lblGenreHeader.Size = New System.Drawing.Size(54, 13)
+ Me.lblGenreHeader.TabIndex = 16
+ Me.lblGenreHeader.Text = "Genre(s):"
+ Me.lblGenreHeader.Visible = False
+ '
+ 'lblIMDBHeader
+ '
+ Me.lblIMDBHeader.AutoSize = True
+ Me.lblIMDBHeader.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblIMDBHeader.Location = New System.Drawing.Point(414, 277)
+ Me.lblIMDBHeader.Name = "lblIMDBHeader"
+ Me.lblIMDBHeader.Size = New System.Drawing.Size(53, 13)
+ Me.lblIMDBHeader.TabIndex = 18
+ Me.lblIMDBHeader.Text = "IMDB ID:"
+ Me.lblIMDBHeader.Visible = False
+ '
+ 'lblPlotHeader
+ '
+ Me.lblPlotHeader.AutoSize = True
+ Me.lblPlotHeader.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblPlotHeader.Location = New System.Drawing.Point(295, 309)
+ Me.lblPlotHeader.Name = "lblPlotHeader"
+ Me.lblPlotHeader.Size = New System.Drawing.Size(83, 13)
+ Me.lblPlotHeader.TabIndex = 21
+ Me.lblPlotHeader.Text = "Plot Summary:"
+ Me.lblPlotHeader.Visible = False
+ '
+ 'btnSearch
+ '
+ Me.btnSearch.Image = CType(resources.GetObject("btnSearch.Image"), System.Drawing.Image)
+ Me.btnSearch.Location = New System.Drawing.Point(266, 100)
+ Me.btnSearch.Name = "btnSearch"
+ Me.btnSearch.Size = New System.Drawing.Size(23, 23)
+ Me.btnSearch.TabIndex = 4
+ Me.btnSearch.UseVisualStyleBackColor = True
+ '
+ 'txtSearch
+ '
+ Me.txtSearch.Location = New System.Drawing.Point(8, 101)
+ Me.txtSearch.Name = "txtSearch"
+ Me.txtSearch.Size = New System.Drawing.Size(252, 22)
+ Me.txtSearch.TabIndex = 3
+ '
+ 'pnlLoading
+ '
+ Me.pnlLoading.BackColor = System.Drawing.Color.White
+ Me.pnlLoading.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlLoading.Controls.Add(Me.Label3)
+ Me.pnlLoading.Controls.Add(Me.ProgressBar1)
+ Me.pnlLoading.Location = New System.Drawing.Point(368, 213)
+ Me.pnlLoading.Name = "pnlLoading"
+ Me.pnlLoading.Size = New System.Drawing.Size(200, 54)
+ Me.pnlLoading.TabIndex = 20
+ '
+ 'Label3
+ '
+ Me.Label3.AutoSize = True
+ Me.Label3.Location = New System.Drawing.Point(3, 10)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(98, 13)
+ Me.Label3.TabIndex = 0
+ Me.Label3.Text = "Searching IMDB..."
+ Me.Label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'ProgressBar1
+ '
+ Me.ProgressBar1.Location = New System.Drawing.Point(3, 32)
+ Me.ProgressBar1.MarqueeAnimationSpeed = 25
+ Me.ProgressBar1.Name = "ProgressBar1"
+ Me.ProgressBar1.Size = New System.Drawing.Size(192, 17)
+ Me.ProgressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee
+ Me.ProgressBar1.TabIndex = 1
+ '
+ 'pnlPicStatus
+ '
+ Me.pnlPicStatus.BackColor = System.Drawing.Color.LightSteelBlue
+ Me.pnlPicStatus.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlPicStatus.Controls.Add(Me.Label4)
+ Me.pnlPicStatus.Location = New System.Drawing.Point(312, 185)
+ Me.pnlPicStatus.Name = "pnlPicStatus"
+ Me.pnlPicStatus.Size = New System.Drawing.Size(81, 45)
+ Me.pnlPicStatus.TabIndex = 11
+ '
+ 'Label4
+ '
+ Me.Label4.Location = New System.Drawing.Point(5, 5)
+ Me.Label4.Name = "Label4"
+ Me.Label4.Size = New System.Drawing.Size(70, 33)
+ Me.Label4.TabIndex = 0
+ Me.Label4.Text = "Fetching Poster..."
+ Me.Label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
+ '
+ 'txtFileName
+ '
+ Me.txtFileName.Enabled = False
+ Me.txtFileName.Location = New System.Drawing.Point(8, 73)
+ Me.txtFileName.Name = "txtFileName"
+ Me.txtFileName.Size = New System.Drawing.Size(598, 22)
+ Me.txtFileName.TabIndex = 3
+ '
+ 'btnOpenFolder
+ '
+ Me.btnOpenFolder.Location = New System.Drawing.Point(612, 73)
+ Me.btnOpenFolder.Name = "btnOpenFolder"
+ Me.btnOpenFolder.Size = New System.Drawing.Size(29, 23)
+ Me.btnOpenFolder.TabIndex = 23
+ Me.btnOpenFolder.Text = "..."
+ Me.btnOpenFolder.UseVisualStyleBackColor = True
+ '
+ 'dlgIMDBSearchResults
+ '
+ Me.AcceptButton = Me.OK_Button
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
+ Me.CancelButton = Me.Cancel_Button
+ Me.ClientSize = New System.Drawing.Size(647, 492)
+ Me.ControlBox = False
+ Me.Controls.Add(Me.btnOpenFolder)
+ Me.Controls.Add(Me.txtFileName)
+ Me.Controls.Add(Me.pnlLoading)
+ Me.Controls.Add(Me.pnlPicStatus)
+ Me.Controls.Add(Me.Cancel_Button)
+ Me.Controls.Add(Me.OK_Button)
+ Me.Controls.Add(Me.btnSearch)
+ Me.Controls.Add(Me.txtSearch)
+ Me.Controls.Add(Me.lblPlotHeader)
+ Me.Controls.Add(Me.lblIMDBHeader)
+ Me.Controls.Add(Me.lblGenreHeader)
+ Me.Controls.Add(Me.lblDirectorHeader)
+ Me.Controls.Add(Me.lblYearHeader)
+ Me.Controls.Add(Me.lblIMDB)
+ Me.Controls.Add(Me.btnVerify)
+ Me.Controls.Add(Me.chkManual)
+ Me.Controls.Add(Me.pnlTop)
+ Me.Controls.Add(Me.txtIMDBID)
+ Me.Controls.Add(Me.lblGenre)
+ Me.Controls.Add(Me.lblDirector)
+ Me.Controls.Add(Me.lblYear)
+ Me.Controls.Add(Me.txtOutline)
+ Me.Controls.Add(Me.lblTagline)
+ Me.Controls.Add(Me.lblTitle)
+ Me.Controls.Add(Me.pbPoster)
+ Me.Controls.Add(Me.tvResults)
+ Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.MinimumSize = New System.Drawing.Size(649, 460)
+ Me.Name = "dlgIMDBSearchResults"
+ Me.ShowIcon = False
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "Search Results"
+ CType(Me.pbPoster, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.pnlTop.ResumeLayout(False)
+ Me.pnlTop.PerformLayout()
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.pnlLoading.ResumeLayout(False)
+ Me.pnlLoading.PerformLayout()
+ Me.pnlPicStatus.ResumeLayout(False)
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
- End Sub
+ End Sub
Friend WithEvents OK_Button As System.Windows.Forms.Button
Friend WithEvents Cancel_Button As System.Windows.Forms.Button
Friend WithEvents tvResults As System.Windows.Forms.TreeView
@@ -453,5 +474,7 @@ Partial Class dlgIMDBSearchResults
Friend WithEvents ProgressBar1 As System.Windows.Forms.ProgressBar
Friend WithEvents pnlPicStatus As System.Windows.Forms.Panel
Friend WithEvents Label4 As System.Windows.Forms.Label
+ Friend WithEvents txtFileName As System.Windows.Forms.TextBox
+ Friend WithEvents btnOpenFolder As System.Windows.Forms.Button
End Class
diff --git a/Addons/scraper.EmberCore/Scraper/dlgIMDBSearchResults.resx b/Addons/scraper.EmberCore/Scraper/dlgIMDBSearchResults.resx
index 09fbdab..fc0d614 100644
--- a/Addons/scraper.EmberCore/Scraper/dlgIMDBSearchResults.resx
+++ b/Addons/scraper.EmberCore/Scraper/dlgIMDBSearchResults.resx
@@ -120,72 +120,71 @@
- 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
- gg==
+ iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
+ JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr5AAAK+QG0Yd4ZAAALEUlE
+ QVRoQ+1YCVCU5xle5Qa55JDTRA4XWMIpKsgRLgFRVOQGAbl21+VabuWSS0A0chiPIB5RquKRkIR4VI1N
+ SMxMjW1sik2maWOSydFOkknTZprD/+n7/i4Gcrad1CYzvDPP/N/u/v/3v+fzvt9KZmRGZmRGZmRGZmRG
+ fgZi7+CoWf2ExN5xvmb1lXh6eRsFh4TMc5fJQpycnXvs7OxbLa2s7zeznDdLc8v/X76u+KKAALeNKlW6
+ UqnsycrKurQiPv6jZcuWwd3dHXZ2dphrYfHmPBubATs7h04bW9t6Xz+/Cnom38PD8z7NFpLszCyJmflc
+ zSeJxNTMXLP6kWWq8mXl6tbevv7Xe/v6PtizZ89nnZ2dKCkpQXJyMoKDg7Fq1SohISFBWJeYiFUJCVjg
+ 5CRC6uYmkIFfBAYFfbg0MGjU1s5+iWbLaWLn4Oi2UOoeovkoMTA00qz+TVm7dq0OKaGXlpFhVFJWZqbc
+ qLLKy8uz9fPzX5Cdk/P86OgoJiYmcOvWLeHRI0fQ0NCA4uJiJCUlITQ0VMTixYtFg/Lz8rBx40ZwZHx9
+ fREVFSWUlpYK6enpoKghMTFxYllwSGpo2IPOUdHR+0NCQz+IioqGXKHA8uXL37W0tvYilb47DcMjIjUr
+ iU5waFjgvn37Snp7e49WVFScpk0u7d69+8aOHQ+9U1VV9UVOTg7i4uIgk8kEPz8/HDt2DNevX0dfXx8y
+ MjJYGaTTNTc3V7zGxMYibsUKqCsqRCPYMDYkLS0d5eXloD1RUVmJuro6lJWV31bRPRQ5NlSwsrIWvLy9
+ 4eLi8q6ugYEL6adFmG5IWHiEeI2IiMpvbGx8p7u7++OGxobbtEZ9fT02bNgA9lR/fz86OjqgIK9weixa
+ tEjMcUtLS5w/fx5nz55FkVyO+PiVpEgZUlNTERERgRWkfHh4OBLXraMoNVKalUKlKhYNZIOy1q9HS1sb
+ 2js6hO09PfydQPuDnWNrawsDAwPBxs7uS30Dg0pS04AwW1R4qjwYEZnd2dWF/Px8gdJEKKaX7HjkGIrV
+ VWCPR0ZGghVmg6hY2QDxs6OjI7S1tcUc55Q6fPgwVq5KAO2BNWvWiNHgFOFn2AiKLI5QuvG7mrdsQUtL
+ C65du4YrV65gbGwM1TU1KCoqEvdnA9hBurq60NLShomp6VZSlSudjeBI3BXt9vaOtwoLC8XQcR7nFynR
+ 99Tv0f/0BJQV9Yh4MExkFR8fH8jJy1MN0NfXF6Nw8OBBMUpsZExsHDIzM0VlONe5PlauXCkcOnQIZ86c
+ wdGjR8nYRzE+Po6LFy+K0WMHnDhxQiQCuneaAbNmzYKxsfFL2jo6HqSvDcGY9WblJcTb3vTijzgt2ACV
+ SoXcfDlaj19D44lXUHfoKhJTsyjnPWBtbY3o6GjR0KkG0OboIq+2USrU1tYiOSUF/vQ7O4PTLicnF8xS
+ rOjQ0JBY9M899xwuXbqEkZERMroB+QUFFLl8bNq8GfFkgL+//10DSE3MnTsX7h6yEVo7aGBCkEiSklOW
+ dG/b9jHnKnuWc1OuLIaq5wkU9b2A7O3jSK/sxwNeXrCwsICrqyvlefykAQIbYGVlhda2NqG6upojJGRk
+ ZAruHh4g/v+bk5NTF73GxcfXt6qxqeldVp4N6aNoNVCdscOUSgXWUY2EhoZg4UIpqFdA5uk51QDB3Nyc
+ i/8WrZnLFxDuNAsPT0+3vXv3fhAbGytw6Ni7lcQK8fJu+KmehHPOKSxSnIRPQJBoAG9E1IaAgADBwcEB
+ hkZGYg3UavKXi5d/d3Zx/a25hUUavcKMYFtTU1PZPzAwwWmmVqvBJNHc3IwtVAtcI2xAWFgYKS7DPIq0
+ Gb2HGt/dCJiZmcHBwbGa1gsJbMQcwh0hA96mohM4Cozk5CSszSmBVDUKF9UYnBVnkZBeKCqvo6MjphFH
+ YP78+f8wmmMsd3FxTSGPtS0NDHxy8ZIlv3Z2dunS09cPoK2N6HtPYqeXqA4+37SpDupytVBHaca1xEqz
+ 04g8vjJAJhPZZzI1J2vA0NDoMhUz7+lOmEfQvdtZK6uq+tgTpJjA1McezM1MQ2T5ALzbn4dr7RVkV3fD
+ zNRU0NLSEtgAKui/EDMU0eNLCbzxIoIfwZvAXjINj4xcV0DkwIXd3t4ubOvbgz3DT6ByczOyczdg9erV
+ YtdmZ3Dkpxqgp6cHYxMTmJqaYfbs2Z/MMZ6TS3v6EFwJHNVpTGT28MMP/5OZgyhTiImJAXViZGdSY2ob
+ gu9DL6Gs8xGYmpgIpqam/MIblDrZ9ByPAaws05slgRmCvTM7KDg4lfsBpyM5R9jc2IzDl1/Fo+Nv4+Cz
+ b6H35DiKqxsRFLgEUqkUzs7OYt+YaoCunp7gRuxH0TxMe7LyDC5gfcIdCQkJE68KpTJlcHBQbELc/tk7
+ 2dnZ2Ersse3gadQ2biFvmMLGxuamiYlJKj3CHVBGYF6eFO6SjDklpaVvMCNR4xMaKAJbHhrE3su30Df2
+ KnY8fhPdZyaw9eQNVLX2QeYuFYmAa2qygZEBAr2HZif3P9F+ywhBBH4fO2ua9yVSD6ZXiRaND7uGh4dF
+ TifOFmhMEI4fP44LF86DZpTblPPvU1uvoXvjCJwyd6jsaxIeFbWcCvTv3Fu421aoy9C273F0nb6JluGX
+ UX/oOlT9VxGqHsOCrBHEpijIMfNgRITg5ubGBjC7CTTJvmZgaJhMW4YSfAnTvf8tor1r1676Xxw79uG5
+ c+fwzDPPiOjq7n6Dcn6QPMR5GE/g4YlT5VslNS0tp6W19XOejbhYKyvUqOkZRt3QdZQOXEVk9VncT4rb
+ p52AY/oJBCuOwk3mJRasvb0906dAxnyiq6ObRdvxuzhVuWANCd8cJViIDTQriaS+ocGWxuWMpqbmThrG
+ aol9Mulr9sRaQjDBnjA9jFMkMzNrPTWwz1Kooa2nWaeROnFheTNyd7wIT8UoFuQ9BqfCxwmjcCp4DPfl
+ jSJNXkfFOoupWuAUouI9RVst1+ABAhfutyv/A8IhcyOwFzgHOW2+94QVExMbsX379k8oAgLTI0+aeUUq
+ +CpH4Kx8Eq6lT0OqPgdpxXksLKdoKMeQ2z2GOYYGAvO9rZ3dp7TNasIaAkfAmfC9qfNDwgrrEr7T618T
+ Y5qv3iNCEJjNuLmVl6sRnL0F0qoL8Ki/DK+WZ+HdNg7Ppitwrb6I6NZLWOzvIxIF5X4v7bGOMBlxZrc7
+ s8+9kpTU1J27Bga4QQnU5cVGxR03qHoYQbtfRszwHxB3/DWED/0OPltfQFTnrxAZHsIG/NHQ0LCAtsgg
+ cBSYOn8w6v8Lmd3U1PRRNR1YeEzhQxCfLeQFeUjb/RTyr/4Vit98jMwr7yH80E1BfuCqEBy09DbR6RA9
+ m0NYT1hB4IOMHuHeiYtUKl5J6bCdO3d+ygMbD4o8NnCzVBQVoHbXIDrGb6DixTeRePpVYe+pc3ByWnCB
+ mIi7O0eAGYiblNgYCfdWVCUl4jUxKSlz//79wgClE43bQg+duni9f/8gjlDPOXrytDDyxBgKFYpX6HYF
+ QUlgAzh9uEH9h6f5H1EAHiQlkvucnKJofH6HGuOXBw4cEE9u3CD5AHPy1Cls29bzPvH+Jrq1lKAiMG3z
+ fPXNrnuv5cCRI5qVxLyoSF5FB59f7uzt/TOl1vvUIF/Pzd1wkc67rfR7BUFN4BSKIfDfeTqEn5RwLtsQ
+ zwfS6S6V5h05fWaPFxM4dXhA5MbFvM9d9ycrzOncWe8nME0uJvgTJmd9blr3nDb/W+Ec5ybJYMN+NorP
+ yIzMyIz8rEUi+Re4NXpfio4DrwAAAABJRU5ErkJggg==
- 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
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
+ JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAArpAAAK6QH9dc7TAAAB9ElE
+ QVQ4T6XSTWgTQRQH8E0LaZPaD9oaxULRi0igJSroqYLoxaa3gpfSFrx4sGp7Kj31pDYnPQpG8dzgQcSg
+ 1orQZJPd2exWSYOxiXhKQz5oEjQxpubvm6WN2zUe1IXf7OzMe2/fLCsA+C9NF//GbwtPfD67wti5SES5
+ +GZ19ZB532zfg8Lkq+uallFVFZymqRUqdNcYY9aYMFma1igpFoshl80in88jsbkJvhZRlAfGJCN9eOH3
+ WxWF5TaiUezs1FCv13X8SiYSoD2IwaCTx5rpA20OS5KEVCqFWu07KpWyrlr9hkJhG4wxSOHwdXMypw+B
+ tTVXOBRCOr1FSVWUSkVSQrn8FcViEUyW8VkTr5iTOX14vbLSTgUK0d0j8C54IaCOZDIBRt1d9gYXjIl7
+ GhM6xjWZAvl3yGQy9BFziMfj+Phegcf3FsLMc7TdfHbPmMztexBFcZ7O+oXwM+NdRP5xf/nVJ9uEF9aJ
+ h2ifeoyOyUcve+eedjUtwNHP0x8MBMaoo/EPauioIAgW+6jH233pFrpG76DTvYRu99LGwNhtW9MCf+IY
+ WbjRf3YOfWdm0Uf3gQuLh/m60EqvID3kGDlBhoiLnCKnd52ksCO9g+dnHM4p6eDxcY/VIvzqgAJaSRux
+ kQ5ygHSa7XXDtVBOo8C/g/ATj6yxruTRIKcAAAAASUVORK5CYII=
\ No newline at end of file
diff --git a/Addons/scraper.EmberCore/Scraper/dlgIMDBSearchResults.vb b/Addons/scraper.EmberCore/Scraper/dlgIMDBSearchResults.vb
index f6ab164..6eddfac 100644
--- a/Addons/scraper.EmberCore/Scraper/dlgIMDBSearchResults.vb
+++ b/Addons/scraper.EmberCore/Scraper/dlgIMDBSearchResults.vb
@@ -19,6 +19,7 @@
' ################################################################################
Imports System.Text.RegularExpressions
+Imports System.IO
Imports EmberAPI
Public Class dlgIMDBSearchResults
@@ -48,16 +49,17 @@ Public Class dlgIMDBSearchResults
#Region "Methods"
- Public Overloads Function ShowDialog(ByVal sMovieTitle As String, ByVal filterOptions As Structures.ScrapeOptions) As Windows.Forms.DialogResult
+ Public Overloads Function ShowDialog(ByVal sMovieTitle As String, ByVal filterOptions As Structures.ScrapeOptions, ByVal sFilename As String) As Windows.Forms.DialogResult
Me.tmrWait.Enabled = False
Me.tmrWait.Interval = 250
Me.tmrLoad.Enabled = False
Me.tmrLoad.Interval = 100
- _filterOptions = filterOptions
+ _filterOptions = filterOptions
- Me.Text = String.Concat(Master.eLang.GetString(10, "Search Results - "), sMovieTitle)
- Me.txtSearch.Text = sMovieTitle
+ Me.Text = String.Concat(Master.eLang.GetString(10, "Search Results"), " - ", sMovieTitle)
+ Me.txtSearch.Text = sMovieTitle
+ Me.txtFileName.Text = sFilename
chkManual.Enabled = False
IMDB.IMDBURL = IMDBURL
IMDB.SearchMovieAsync(sMovieTitle, _filterOptions)
@@ -65,14 +67,15 @@ Public Class dlgIMDBSearchResults
Return MyBase.ShowDialog()
End Function
- Public Overloads Function ShowDialog(ByVal Res As IMDB.MovieSearchResults, ByVal sMovieTitle As String) As Windows.Forms.DialogResult
+ Public Overloads Function ShowDialog(ByVal Res As IMDB.MovieSearchResults, ByVal sMovieTitle As String, ByVal sFilename As String) As Windows.Forms.DialogResult
Me.tmrWait.Enabled = False
Me.tmrWait.Interval = 250
Me.tmrLoad.Enabled = False
Me.tmrLoad.Interval = 100
- Me.Text = String.Concat(Master.eLang.GetString(10, "Search Results - "), sMovieTitle)
- Me.txtSearch.Text = sMovieTitle
+ Me.Text = String.Concat(Master.eLang.GetString(10, "Search Results"), " - ", sMovieTitle)
+ Me.txtSearch.Text = sMovieTitle
+ Me.txtFileName.Text = sFilename
SearchResultsDownloaded(Res)
Return MyBase.ShowDialog()
@@ -142,6 +145,14 @@ Public Class dlgIMDBSearchResults
Me.Close()
End Sub
+ Private Sub btnOpenFolder_Click(sender As Object, e As EventArgs) Handles btnOpenFolder.Click
+ Dim fPath As String = Directory.GetParent(Me.txtFileName.Text).FullName
+
+ If Not String.IsNullOrEmpty(fPath) Then
+ Shell("Explorer.exe " & fPath, vbNormalFocus)
+ End If
+ End Sub
+
Private Sub chkManual_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkManual.CheckedChanged
Me.ClearInfo()
Me.OK_Button.Enabled = False
@@ -353,11 +364,11 @@ Public Class dlgIMDBSearchResults
'determine if we automatically start downloading info for selected node
If M.ExactMatches.Count > 0 Then
- 'If M.ExactMatches.Count = 1 Then
Me.tvResults.SelectedNode = selNode
- 'Else
- 'Me.tvResults.SelectedNode = Nothing
- 'End If
+ ElseIf M.PopularTitles.Count > 0 Then
+ Me.tvResults.SelectedNode = selNode
+ ElseIf M.PartialMatches.Count > 0 Then
+ Me.tvResults.SelectedNode = selNode
Else
Me.tvResults.SelectedNode = Nothing
End If
@@ -506,4 +517,5 @@ Public Class dlgIMDBSearchResults
End Structure
#End Region 'Nested Types
+
End Class
\ No newline at end of file
diff --git a/Addons/scraper.EmberCore/Scraper/dlgImgSelect.vb b/Addons/scraper.EmberCore/Scraper/dlgImgSelect.vb
index 8b467fd..7e37076 100644
--- a/Addons/scraper.EmberCore/Scraper/dlgImgSelect.vb
+++ b/Addons/scraper.EmberCore/Scraper/dlgImgSelect.vb
@@ -57,7 +57,7 @@ Public Class dlgImgSelect
Private TMDB As New TMDB.Scraper
Private TMDBPosters As New List(Of MediaContainers.Image)
Private tMovie As New Structures.DBMovie
- Private tmpImage As New Images
+ Private tmpImage As New MediaContainers.Image
Private _impaDone As Boolean = True
Private _mpdbDone As Boolean = True
Private _tmdbDone As Boolean = True
@@ -589,7 +589,7 @@ Public Class dlgImgSelect
Me.rbSmall.Checked = False
Me.OK_Button.Enabled = True
Me.OK_Button.Focus()
- Me.tmpImage.Image = Me.pbImage(iIndex).Image
+ Me.tmpImage = CType(Me.pbImage(iIndex).Tag, MediaContainers.Image)
End If
Catch ex As Exception
@@ -897,75 +897,77 @@ Public Class dlgImgSelect
tmpPathPlus = Path.Combine(Master.TempPath, "poster.jpg")
End If
- If Not IsNothing(Me.tmpImage.Image) Then
- If isEdit Then
- Me.tmpImage.Save(tmpPathPlus, 100, selURL)
- Results.ImagePath = tmpPathPlus
- Else
- If Me.DLType = Enums.ImageType.Fanart Then
- Results.ImagePath = Me.tmpImage.SaveAsFanart(tMovie)
- Else
- Results.ImagePath = Me.tmpImage.SaveAsPoster(tMovie)
- End If
- End If
- Else
- Me.pnlBG.Visible = False
- Me.pnlSinglePic.Visible = True
- Me.Refresh()
- Application.DoEvents()
- Select Case True
- Case Me.rbXLarge.Checked
- If Master.eSettings.UseImgCache Then
- tmpImage.FromFile(Path.Combine(CachePath, String.Concat("poster_(original)_(url=", Me.rbXLarge.Tag, ").jpg")))
- Else
- If extrathumbSize = "original" And DLType = Enums.ImageType.Fanart Then
- Me.tmpImage.Image = Me.pbImage(selIndex).Image
- Else
- Me.tmpImage.FromWeb(Me.rbXLarge.Tag.ToString)
- End If
- End If
- Case Me.rbLarge.Checked
- If Master.eSettings.UseImgCache Then
- Me.tmpImage.FromFile(Path.Combine(CachePath, String.Concat("poster_(mid)_(url=", Me.rbLarge.Tag, ").jpg")))
- Else
- If extrathumbSize = "w1280" And DLType = Enums.ImageType.Fanart Or Not DLType = Enums.ImageType.Fanart Then
- Me.tmpImage.Image = Me.pbImage(selIndex).Image
- Else
- Me.tmpImage.FromWeb(Me.rbLarge.Tag.ToString)
- End If
- End If
- Case Me.rbMedium.Checked
- If extrathumbSize = "poster" And DLType = Enums.ImageType.Fanart Then
- Me.tmpImage.Image = Me.pbImage(selIndex).Image
- Else
- Me.tmpImage.FromWeb(Me.rbMedium.Tag.ToString)
- End If
- Case Me.rbSmall.Checked
- If Master.eSettings.UseImgCache Then
- Me.tmpImage.FromFile(Path.Combine(CachePath, String.Concat("poster_(thumb)_(url=", Me.rbSmall.Tag, ").jpg")))
- Else
- If extrathumbSize = "thumb" And DLType = Enums.ImageType.Fanart Then
- Me.tmpImage.Image = Me.pbImage(selIndex).Image
- Else
- Me.tmpImage.FromWeb(Me.rbSmall.Tag.ToString)
- End If
- End If
- End Select
-
- If Not IsNothing(Me.tmpImage.Image) Then
- If isEdit Then
- Me.tmpImage.Save(tmpPathPlus, 100, selURL)
- Results.ImagePath = tmpPathPlus
- Else
- If Me.DLType = Enums.ImageType.Fanart Then
- Results.ImagePath = Me.tmpImage.SaveAsFanart(Me.tMovie)
- Else
- Results.ImagePath = Me.tmpImage.SaveAsPoster(Me.tMovie)
- End If
- End If
- End If
- Me.pnlSinglePic.Visible = False
- End If
+ If Not IsNothing(Me.tmpImage.WebImage.Image) Then
+ If isEdit Then
+ 'Me.tmpImage.Save(tmpPathPlus, 100, selURL)
+ Me.tmpImage.WebImage.Save(tmpPathPlus, , , False)
+ Results.ImagePath = tmpPathPlus
+ Else
+ If Me.DLType = Enums.ImageType.Fanart Then
+ Results.ImagePath = Me.tmpImage.WebImage.SaveAsFanart(tMovie)
+ Else
+ Results.ImagePath = Me.tmpImage.WebImage.SaveAsPoster(tMovie)
+ End If
+ End If
+ Else
+ Me.pnlBG.Visible = False
+ Me.pnlSinglePic.Visible = True
+ Me.Refresh()
+ Application.DoEvents()
+ Select Case True
+ Case Me.rbXLarge.Checked
+ If Master.eSettings.UseImgCache Then
+ tmpImage.WebImage.FromFile(Path.Combine(CachePath, String.Concat("poster_(original)_(url=", Me.rbXLarge.Tag, ").jpg")))
+ Else
+ If extrathumbSize = "original" And DLType = Enums.ImageType.Fanart Then
+ Me.tmpImage.WebImage = CType(Me.pbImage(selIndex).Tag, MediaContainers.Image).WebImage
+ Else
+ Me.tmpImage.WebImage.FromWeb(Me.rbXLarge.Tag.ToString)
+ End If
+ End If
+ Case Me.rbLarge.Checked
+ If Master.eSettings.UseImgCache Then
+ Me.tmpImage.WebImage.FromFile(Path.Combine(CachePath, String.Concat("poster_(mid)_(url=", Me.rbLarge.Tag, ").jpg")))
+ Else
+ If extrathumbSize = "w1280" And DLType = Enums.ImageType.Fanart Or Not DLType = Enums.ImageType.Fanart Then
+ Me.tmpImage.WebImage = CType(Me.pbImage(selIndex).Tag, MediaContainers.Image).WebImage
+ Else
+ Me.tmpImage.WebImage.FromWeb(Me.rbLarge.Tag.ToString)
+ End If
+ End If
+ Case Me.rbMedium.Checked
+ If extrathumbSize = "poster" And DLType = Enums.ImageType.Fanart Then
+ Me.tmpImage.WebImage = CType(Me.pbImage(selIndex).Tag, MediaContainers.Image).WebImage
+ Else
+ Me.tmpImage.WebImage.FromWeb(Me.rbMedium.Tag.ToString)
+ End If
+ Case Me.rbSmall.Checked
+ If Master.eSettings.UseImgCache Then
+ Me.tmpImage.WebImage.FromFile(Path.Combine(CachePath, String.Concat("poster_(thumb)_(url=", Me.rbSmall.Tag, ").jpg")))
+ Else
+ If extrathumbSize = "thumb" And DLType = Enums.ImageType.Fanart Then
+ Me.tmpImage.WebImage = CType(Me.pbImage(selIndex).Tag, MediaContainers.Image).WebImage
+ Else
+ Me.tmpImage.WebImage.FromWeb(Me.rbSmall.Tag.ToString)
+ End If
+ End If
+ End Select
+
+ If Not IsNothing(Me.tmpImage.WebImage.Image) Then
+ If isEdit Then
+ 'Me.tmpImage.Save(tmpPathPlus, 100, selURL)
+ Me.tmpImage.WebImage.Save(tmpPathPlus, , , False)
+ Results.ImagePath = tmpPathPlus
+ Else
+ If Me.DLType = Enums.ImageType.Fanart Then
+ Results.ImagePath = Me.tmpImage.WebImage.SaveAsFanart(Me.tMovie)
+ Else
+ Results.ImagePath = Me.tmpImage.WebImage.SaveAsPoster(Me.tMovie)
+ End If
+ End If
+ End If
+ Me.pnlSinglePic.Visible = False
+ End If
If Me.DLType = Enums.ImageType.Fanart Then
Dim iMod As Integer = 0
@@ -1121,9 +1123,9 @@ Public Class dlgImgSelect
Functions.PNLDoubleBuffer(Me.pnlBG)
If Me.DLType = Enums.ImageType.Posters Then
- Me.Text = String.Concat(Master.eLang.GetString(39, "Select Poster - "), If(Not String.IsNullOrEmpty(Me.tMovie.Movie.Title), Me.tMovie.Movie.Title, Me.tMovie.ListTitle))
+ Me.Text = String.Concat(Master.eLang.GetString(39, "Select Poster"), " - ", If(Not String.IsNullOrEmpty(Me.tMovie.Movie.Title), Me.tMovie.Movie.Title, Me.tMovie.ListTitle))
Else
- Me.Text = String.Concat(Master.eLang.GetString(40, "Select Fanart - "), If(Not String.IsNullOrEmpty(Me.tMovie.Movie.Title), Me.tMovie.Movie.Title, Me.tMovie.ListTitle))
+ Me.Text = String.Concat(Master.eLang.GetString(40, "Select Fanart"), " - ", If(Not String.IsNullOrEmpty(Me.tMovie.Movie.Title), Me.tMovie.Movie.Title, Me.tMovie.ListTitle))
Me.pnlDLStatus.Height = 75
Me.pnlDLStatus.Top = 207
diff --git a/Addons/scraper.EmberCore/Scraper/dlgTrailer.Designer.vb b/Addons/scraper.EmberCore/Scraper/dlgTrailer.Designer.vb
index 1865dbc..2871b29 100644
--- a/Addons/scraper.EmberCore/Scraper/dlgTrailer.Designer.vb
+++ b/Addons/scraper.EmberCore/Scraper/dlgTrailer.Designer.vb
@@ -22,241 +22,253 @@ Partial Class dlgTrailer
'Do not modify it using the code editor.
_
Private Sub InitializeComponent()
- Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(dlgTrailer))
- Me.OK_Button = New System.Windows.Forms.Button()
- Me.Cancel_Button = New System.Windows.Forms.Button()
- Me.lbTrailers = New System.Windows.Forms.ListBox()
- Me.GroupBox1 = New System.Windows.Forms.GroupBox()
- Me.pnlStatus = New System.Windows.Forms.Panel()
- Me.lblStatus = New System.Windows.Forms.Label()
- Me.pbStatus = New System.Windows.Forms.ProgressBar()
- Me.btnGetTrailers = New System.Windows.Forms.Button()
- Me.GroupBox2 = New System.Windows.Forms.GroupBox()
- Me.btnBrowse = New System.Windows.Forms.Button()
- Me.txtManual = New System.Windows.Forms.TextBox()
- Me.Label2 = New System.Windows.Forms.Label()
- Me.txtYouTube = New System.Windows.Forms.TextBox()
- Me.Label1 = New System.Windows.Forms.Label()
- Me.btnPlayTrailer = New System.Windows.Forms.Button()
- Me.btnSetNfo = New System.Windows.Forms.Button()
- Me.ofdTrailer = New System.Windows.Forms.OpenFileDialog()
- Me.Panel1 = New System.Windows.Forms.Panel()
- Me.GroupBox1.SuspendLayout()
- Me.pnlStatus.SuspendLayout()
- Me.GroupBox2.SuspendLayout()
- Me.Panel1.SuspendLayout()
- Me.SuspendLayout()
- '
- 'OK_Button
- '
- Me.OK_Button.Enabled = False
- Me.OK_Button.Location = New System.Drawing.Point(290, 339)
- Me.OK_Button.Name = "OK_Button"
- Me.OK_Button.Size = New System.Drawing.Size(74, 23)
- Me.OK_Button.TabIndex = 0
- Me.OK_Button.Text = "Download"
- '
- 'Cancel_Button
- '
- Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
- Me.Cancel_Button.Location = New System.Drawing.Point(369, 339)
- Me.Cancel_Button.Name = "Cancel_Button"
- Me.Cancel_Button.Size = New System.Drawing.Size(67, 23)
- Me.Cancel_Button.TabIndex = 1
- Me.Cancel_Button.Text = "Cancel"
- '
- 'lbTrailers
- '
- Me.lbTrailers.Enabled = False
- Me.lbTrailers.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.lbTrailers.FormattingEnabled = True
- Me.lbTrailers.HorizontalScrollbar = True
- Me.lbTrailers.Location = New System.Drawing.Point(6, 19)
- Me.lbTrailers.Name = "lbTrailers"
- Me.lbTrailers.Size = New System.Drawing.Size(411, 173)
- Me.lbTrailers.TabIndex = 0
- '
- 'GroupBox1
- '
- Me.GroupBox1.Controls.Add(Me.pnlStatus)
- Me.GroupBox1.Controls.Add(Me.btnGetTrailers)
- Me.GroupBox1.Controls.Add(Me.GroupBox2)
- Me.GroupBox1.Controls.Add(Me.lbTrailers)
- Me.GroupBox1.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.GroupBox1.Location = New System.Drawing.Point(9, 9)
- Me.GroupBox1.Name = "GroupBox1"
- Me.GroupBox1.Size = New System.Drawing.Size(424, 319)
- Me.GroupBox1.TabIndex = 0
- Me.GroupBox1.TabStop = False
- Me.GroupBox1.Text = "Select Trailer to Scrape"
- '
- 'pnlStatus
- '
- Me.pnlStatus.BackColor = System.Drawing.Color.White
- Me.pnlStatus.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
- Me.pnlStatus.Controls.Add(Me.lblStatus)
- Me.pnlStatus.Controls.Add(Me.pbStatus)
- Me.pnlStatus.Location = New System.Drawing.Point(112, 82)
- Me.pnlStatus.Name = "pnlStatus"
- Me.pnlStatus.Size = New System.Drawing.Size(200, 54)
- Me.pnlStatus.TabIndex = 1
- Me.pnlStatus.Visible = False
- '
- 'lblStatus
- '
- Me.lblStatus.AutoSize = True
- Me.lblStatus.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.lblStatus.Location = New System.Drawing.Point(3, 10)
- Me.lblStatus.Name = "lblStatus"
- Me.lblStatus.Size = New System.Drawing.Size(121, 13)
- Me.lblStatus.TabIndex = 0
- Me.lblStatus.Text = "Compiling trailer list..."
- Me.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
- '
- 'pbStatus
- '
- Me.pbStatus.Location = New System.Drawing.Point(3, 32)
- Me.pbStatus.MarqueeAnimationSpeed = 25
- Me.pbStatus.Name = "pbStatus"
- Me.pbStatus.Size = New System.Drawing.Size(192, 17)
- Me.pbStatus.Style = System.Windows.Forms.ProgressBarStyle.Marquee
- Me.pbStatus.TabIndex = 1
- '
- 'btnGetTrailers
- '
- Me.btnGetTrailers.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.btnGetTrailers.Image = CType(resources.GetObject("btnGetTrailers.Image"), System.Drawing.Image)
- Me.btnGetTrailers.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
- Me.btnGetTrailers.Location = New System.Drawing.Point(120, 82)
- Me.btnGetTrailers.Name = "btnGetTrailers"
- Me.btnGetTrailers.Size = New System.Drawing.Size(184, 23)
- Me.btnGetTrailers.TabIndex = 2
- Me.btnGetTrailers.Text = "Download Trailer List"
- Me.btnGetTrailers.TextAlign = System.Drawing.ContentAlignment.MiddleRight
- Me.btnGetTrailers.UseVisualStyleBackColor = True
- '
- 'GroupBox2
- '
- Me.GroupBox2.Controls.Add(Me.btnBrowse)
- Me.GroupBox2.Controls.Add(Me.txtManual)
- Me.GroupBox2.Controls.Add(Me.Label2)
- Me.GroupBox2.Controls.Add(Me.txtYouTube)
- Me.GroupBox2.Controls.Add(Me.Label1)
- Me.GroupBox2.Location = New System.Drawing.Point(6, 201)
- Me.GroupBox2.Name = "GroupBox2"
- Me.GroupBox2.Size = New System.Drawing.Size(411, 111)
- Me.GroupBox2.TabIndex = 3
- Me.GroupBox2.TabStop = False
- Me.GroupBox2.Text = "Manual Trailer Entry"
- '
- 'btnBrowse
- '
- Me.btnBrowse.Location = New System.Drawing.Point(376, 82)
- Me.btnBrowse.Name = "btnBrowse"
- Me.btnBrowse.Size = New System.Drawing.Size(25, 23)
- Me.btnBrowse.TabIndex = 4
- Me.btnBrowse.Text = "..."
- Me.btnBrowse.UseVisualStyleBackColor = True
- '
- 'txtManual
- '
- Me.txtManual.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
- Me.txtManual.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.txtManual.Location = New System.Drawing.Point(9, 82)
- Me.txtManual.Name = "txtManual"
- Me.txtManual.Size = New System.Drawing.Size(365, 22)
- Me.txtManual.TabIndex = 3
- '
- 'Label2
- '
- Me.Label2.AutoSize = True
- Me.Label2.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.Label2.Location = New System.Drawing.Point(6, 68)
- Me.Label2.Name = "Label2"
- Me.Label2.Size = New System.Drawing.Size(72, 13)
- Me.Label2.TabIndex = 2
- Me.Label2.Text = "Local Trailer:"
- '
- 'txtYouTube
- '
- Me.txtYouTube.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
- Me.txtYouTube.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.txtYouTube.Location = New System.Drawing.Point(9, 28)
- Me.txtYouTube.Name = "txtYouTube"
- Me.txtYouTube.Size = New System.Drawing.Size(392, 22)
- Me.txtYouTube.TabIndex = 1
- '
- 'Label1
- '
- Me.Label1.AutoSize = True
- Me.Label1.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.Label1.Location = New System.Drawing.Point(6, 14)
- Me.Label1.Name = "Label1"
- Me.Label1.Size = New System.Drawing.Size(153, 13)
- Me.Label1.TabIndex = 0
- Me.Label1.Text = "Direct Link or YouTube URL:"
- '
- 'btnPlayTrailer
- '
- Me.btnPlayTrailer.Enabled = False
- Me.btnPlayTrailer.Image = CType(resources.GetObject("btnPlayTrailer.Image"), System.Drawing.Image)
- Me.btnPlayTrailer.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
- Me.btnPlayTrailer.Location = New System.Drawing.Point(12, 339)
- Me.btnPlayTrailer.Name = "btnPlayTrailer"
- Me.btnPlayTrailer.Size = New System.Drawing.Size(106, 23)
- Me.btnPlayTrailer.TabIndex = 3
- Me.btnPlayTrailer.Text = "Preview Trailer"
- Me.btnPlayTrailer.TextAlign = System.Drawing.ContentAlignment.MiddleRight
- Me.btnPlayTrailer.UseVisualStyleBackColor = True
- '
- 'btnSetNfo
- '
- Me.btnSetNfo.Enabled = False
- Me.btnSetNfo.Location = New System.Drawing.Point(207, 339)
- Me.btnSetNfo.Name = "btnSetNfo"
- Me.btnSetNfo.Size = New System.Drawing.Size(77, 23)
- Me.btnSetNfo.TabIndex = 4
- Me.btnSetNfo.Text = "Set To Nfo"
- '
- 'Panel1
- '
- Me.Panel1.BackColor = System.Drawing.Color.White
- Me.Panel1.Controls.Add(Me.GroupBox1)
- Me.Panel1.Location = New System.Drawing.Point(3, 3)
- Me.Panel1.Name = "Panel1"
- Me.Panel1.Size = New System.Drawing.Size(444, 331)
- Me.Panel1.TabIndex = 2
- '
- 'dlgTrailer
- '
- Me.AcceptButton = Me.OK_Button
- Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
- Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
- Me.CancelButton = Me.Cancel_Button
- Me.ClientSize = New System.Drawing.Size(450, 366)
- Me.ControlBox = False
- Me.Controls.Add(Me.Panel1)
- Me.Controls.Add(Me.btnSetNfo)
- Me.Controls.Add(Me.Cancel_Button)
- Me.Controls.Add(Me.OK_Button)
- Me.Controls.Add(Me.btnPlayTrailer)
- Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
- Me.MaximizeBox = False
- Me.MinimizeBox = False
- Me.Name = "dlgTrailer"
- Me.ShowIcon = False
- Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
- Me.Text = "Select Trailer"
- Me.GroupBox1.ResumeLayout(False)
- Me.pnlStatus.ResumeLayout(False)
- Me.pnlStatus.PerformLayout()
- Me.GroupBox2.ResumeLayout(False)
- Me.GroupBox2.PerformLayout()
- Me.Panel1.ResumeLayout(False)
- Me.ResumeLayout(False)
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(dlgTrailer))
+ Me.OK_Button = New System.Windows.Forms.Button()
+ Me.Cancel_Button = New System.Windows.Forms.Button()
+ Me.lbTrailers = New System.Windows.Forms.ListBox()
+ Me.GroupBox1 = New System.Windows.Forms.GroupBox()
+ Me.pnlStatus = New System.Windows.Forms.Panel()
+ Me.lblStatus = New System.Windows.Forms.Label()
+ Me.pbStatus = New System.Windows.Forms.ProgressBar()
+ Me.btnGetTrailers = New System.Windows.Forms.Button()
+ Me.GroupBox2 = New System.Windows.Forms.GroupBox()
+ Me.btnBrowse = New System.Windows.Forms.Button()
+ Me.txtManual = New System.Windows.Forms.TextBox()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.txtYouTube = New System.Windows.Forms.TextBox()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.btnPlayTrailer = New System.Windows.Forms.Button()
+ Me.btnSetNfo = New System.Windows.Forms.Button()
+ Me.ofdTrailer = New System.Windows.Forms.OpenFileDialog()
+ Me.Panel1 = New System.Windows.Forms.Panel()
+ Me.btnPlayBrowser = New System.Windows.Forms.Button()
+ Me.GroupBox1.SuspendLayout()
+ Me.pnlStatus.SuspendLayout()
+ Me.GroupBox2.SuspendLayout()
+ Me.Panel1.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'OK_Button
+ '
+ Me.OK_Button.Enabled = False
+ Me.OK_Button.Location = New System.Drawing.Point(350, 340)
+ Me.OK_Button.Name = "OK_Button"
+ Me.OK_Button.Size = New System.Drawing.Size(120, 23)
+ Me.OK_Button.TabIndex = 6
+ Me.OK_Button.Text = "Download"
+ '
+ 'Cancel_Button
+ '
+ Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.Cancel_Button.Location = New System.Drawing.Point(350, 369)
+ Me.Cancel_Button.Name = "Cancel_Button"
+ Me.Cancel_Button.Size = New System.Drawing.Size(120, 23)
+ Me.Cancel_Button.TabIndex = 7
+ Me.Cancel_Button.Text = "Cancel"
+ '
+ 'lbTrailers
+ '
+ Me.lbTrailers.Enabled = False
+ Me.lbTrailers.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lbTrailers.FormattingEnabled = True
+ Me.lbTrailers.HorizontalScrollbar = True
+ Me.lbTrailers.Location = New System.Drawing.Point(6, 19)
+ Me.lbTrailers.Name = "lbTrailers"
+ Me.lbTrailers.Size = New System.Drawing.Size(445, 173)
+ Me.lbTrailers.TabIndex = 0
+ '
+ 'GroupBox1
+ '
+ Me.GroupBox1.Controls.Add(Me.pnlStatus)
+ Me.GroupBox1.Controls.Add(Me.btnGetTrailers)
+ Me.GroupBox1.Controls.Add(Me.GroupBox2)
+ Me.GroupBox1.Controls.Add(Me.lbTrailers)
+ Me.GroupBox1.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.GroupBox1.Location = New System.Drawing.Point(9, 9)
+ Me.GroupBox1.Name = "GroupBox1"
+ Me.GroupBox1.Size = New System.Drawing.Size(458, 319)
+ Me.GroupBox1.TabIndex = 0
+ Me.GroupBox1.TabStop = False
+ Me.GroupBox1.Text = "Select Trailer to Scrape"
+ '
+ 'pnlStatus
+ '
+ Me.pnlStatus.BackColor = System.Drawing.Color.White
+ Me.pnlStatus.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlStatus.Controls.Add(Me.lblStatus)
+ Me.pnlStatus.Controls.Add(Me.pbStatus)
+ Me.pnlStatus.Location = New System.Drawing.Point(122, 60)
+ Me.pnlStatus.Name = "pnlStatus"
+ Me.pnlStatus.Size = New System.Drawing.Size(200, 54)
+ Me.pnlStatus.TabIndex = 1
+ Me.pnlStatus.Visible = False
+ '
+ 'lblStatus
+ '
+ Me.lblStatus.AutoSize = True
+ Me.lblStatus.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblStatus.Location = New System.Drawing.Point(3, 10)
+ Me.lblStatus.Name = "lblStatus"
+ Me.lblStatus.Size = New System.Drawing.Size(121, 13)
+ Me.lblStatus.TabIndex = 0
+ Me.lblStatus.Text = "Compiling trailer list..."
+ Me.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'pbStatus
+ '
+ Me.pbStatus.Location = New System.Drawing.Point(3, 32)
+ Me.pbStatus.MarqueeAnimationSpeed = 25
+ Me.pbStatus.Name = "pbStatus"
+ Me.pbStatus.Size = New System.Drawing.Size(192, 17)
+ Me.pbStatus.Style = System.Windows.Forms.ProgressBarStyle.Marquee
+ Me.pbStatus.TabIndex = 1
+ '
+ 'btnGetTrailers
+ '
+ Me.btnGetTrailers.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.btnGetTrailers.Image = CType(resources.GetObject("btnGetTrailers.Image"), System.Drawing.Image)
+ Me.btnGetTrailers.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
+ Me.btnGetTrailers.Location = New System.Drawing.Point(130, 82)
+ Me.btnGetTrailers.Name = "btnGetTrailers"
+ Me.btnGetTrailers.Size = New System.Drawing.Size(184, 23)
+ Me.btnGetTrailers.TabIndex = 2
+ Me.btnGetTrailers.Text = "Download Trailer List"
+ Me.btnGetTrailers.TextAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.btnGetTrailers.UseVisualStyleBackColor = True
+ '
+ 'GroupBox2
+ '
+ Me.GroupBox2.Controls.Add(Me.btnBrowse)
+ Me.GroupBox2.Controls.Add(Me.txtManual)
+ Me.GroupBox2.Controls.Add(Me.Label2)
+ Me.GroupBox2.Controls.Add(Me.txtYouTube)
+ Me.GroupBox2.Controls.Add(Me.Label1)
+ Me.GroupBox2.Location = New System.Drawing.Point(6, 201)
+ Me.GroupBox2.Name = "GroupBox2"
+ Me.GroupBox2.Size = New System.Drawing.Size(445, 111)
+ Me.GroupBox2.TabIndex = 3
+ Me.GroupBox2.TabStop = False
+ Me.GroupBox2.Text = "Manual Trailer Entry"
+ '
+ 'btnBrowse
+ '
+ Me.btnBrowse.Location = New System.Drawing.Point(410, 82)
+ Me.btnBrowse.Name = "btnBrowse"
+ Me.btnBrowse.Size = New System.Drawing.Size(25, 23)
+ Me.btnBrowse.TabIndex = 4
+ Me.btnBrowse.Text = "..."
+ Me.btnBrowse.UseVisualStyleBackColor = True
+ '
+ 'txtManual
+ '
+ Me.txtManual.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.txtManual.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txtManual.Location = New System.Drawing.Point(9, 82)
+ Me.txtManual.Name = "txtManual"
+ Me.txtManual.Size = New System.Drawing.Size(395, 22)
+ Me.txtManual.TabIndex = 3
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label2.Location = New System.Drawing.Point(6, 68)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(71, 13)
+ Me.Label2.TabIndex = 2
+ Me.Label2.Text = "Local Trailer:"
+ '
+ 'txtYouTube
+ '
+ Me.txtYouTube.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.txtYouTube.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txtYouTube.Location = New System.Drawing.Point(9, 28)
+ Me.txtYouTube.Name = "txtYouTube"
+ Me.txtYouTube.Size = New System.Drawing.Size(426, 22)
+ Me.txtYouTube.TabIndex = 1
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label1.Location = New System.Drawing.Point(6, 14)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(151, 13)
+ Me.Label1.TabIndex = 0
+ Me.Label1.Text = "Direct Link or YouTube URL:"
+ '
+ 'btnPlayTrailer
+ '
+ Me.btnPlayTrailer.Enabled = False
+ Me.btnPlayTrailer.Image = CType(resources.GetObject("btnPlayTrailer.Image"), System.Drawing.Image)
+ Me.btnPlayTrailer.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
+ Me.btnPlayTrailer.Location = New System.Drawing.Point(12, 369)
+ Me.btnPlayTrailer.Name = "btnPlayTrailer"
+ Me.btnPlayTrailer.Size = New System.Drawing.Size(120, 23)
+ Me.btnPlayTrailer.TabIndex = 3
+ Me.btnPlayTrailer.Text = "Preview Trailer"
+ Me.btnPlayTrailer.TextAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.btnPlayTrailer.UseVisualStyleBackColor = True
+ '
+ 'btnSetNfo
+ '
+ Me.btnSetNfo.Enabled = False
+ Me.btnSetNfo.Location = New System.Drawing.Point(224, 340)
+ Me.btnSetNfo.Name = "btnSetNfo"
+ Me.btnSetNfo.Size = New System.Drawing.Size(120, 23)
+ Me.btnSetNfo.TabIndex = 5
+ Me.btnSetNfo.Text = "Set To Nfo"
+ '
+ 'Panel1
+ '
+ Me.Panel1.BackColor = System.Drawing.Color.White
+ Me.Panel1.Controls.Add(Me.GroupBox1)
+ Me.Panel1.Location = New System.Drawing.Point(3, 3)
+ Me.Panel1.Name = "Panel1"
+ Me.Panel1.Size = New System.Drawing.Size(478, 331)
+ Me.Panel1.TabIndex = 2
+ '
+ 'btnPlayBrowser
+ '
+ Me.btnPlayBrowser.Enabled = False
+ Me.btnPlayBrowser.Location = New System.Drawing.Point(12, 340)
+ Me.btnPlayBrowser.Name = "btnPlayBrowser"
+ Me.btnPlayBrowser.Size = New System.Drawing.Size(120, 23)
+ Me.btnPlayBrowser.TabIndex = 4
+ Me.btnPlayBrowser.Text = "Open In Browser"
+ Me.btnPlayBrowser.UseVisualStyleBackColor = True
+ '
+ 'dlgTrailer
+ '
+ Me.AcceptButton = Me.OK_Button
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
+ Me.CancelButton = Me.Cancel_Button
+ Me.ClientSize = New System.Drawing.Size(484, 398)
+ Me.ControlBox = False
+ Me.Controls.Add(Me.Panel1)
+ Me.Controls.Add(Me.btnSetNfo)
+ Me.Controls.Add(Me.Cancel_Button)
+ Me.Controls.Add(Me.OK_Button)
+ Me.Controls.Add(Me.btnPlayTrailer)
+ Me.Controls.Add(Me.btnPlayBrowser)
+ Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "dlgTrailer"
+ Me.ShowIcon = False
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "Select Trailer"
+ Me.GroupBox1.ResumeLayout(False)
+ Me.pnlStatus.ResumeLayout(False)
+ Me.pnlStatus.PerformLayout()
+ Me.GroupBox2.ResumeLayout(False)
+ Me.GroupBox2.PerformLayout()
+ Me.Panel1.ResumeLayout(False)
+ Me.ResumeLayout(False)
- End Sub
+ End Sub
Friend WithEvents OK_Button As System.Windows.Forms.Button
Friend WithEvents Cancel_Button As System.Windows.Forms.Button
Friend WithEvents lbTrailers As System.Windows.Forms.ListBox
@@ -275,5 +287,6 @@ Partial Class dlgTrailer
Friend WithEvents ofdTrailer As System.Windows.Forms.OpenFileDialog
Friend WithEvents btnGetTrailers As System.Windows.Forms.Button
Friend WithEvents Panel1 As System.Windows.Forms.Panel
+ Friend WithEvents btnPlayBrowser As System.Windows.Forms.Button
End Class
diff --git a/Addons/scraper.EmberCore/Scraper/dlgTrailer.resx b/Addons/scraper.EmberCore/Scraper/dlgTrailer.resx
index 2be3cac..f08e020 100644
--- a/Addons/scraper.EmberCore/Scraper/dlgTrailer.resx
+++ b/Addons/scraper.EmberCore/Scraper/dlgTrailer.resx
@@ -120,33 +120,33 @@
- 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
+ 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
- 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
+ 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
diff --git a/Addons/scraper.EmberCore/Scraper/dlgTrailer.vb b/Addons/scraper.EmberCore/Scraper/dlgTrailer.vb
index 7e3454f..67c25ca 100644
--- a/Addons/scraper.EmberCore/Scraper/dlgTrailer.vb
+++ b/Addons/scraper.EmberCore/Scraper/dlgTrailer.vb
@@ -68,6 +68,7 @@ Public Class dlgTrailer
Me.OK_Button.Enabled = False
Me.btnSetNfo.Enabled = False
Me.btnPlayTrailer.Enabled = False
+ Me.btnPlayBrowser.Enabled = False
Me.lbTrailers.Enabled = False
Me.txtYouTube.Enabled = False
Me.txtManual.Enabled = False
@@ -95,7 +96,15 @@ Public Class dlgTrailer
Me.lblStatus.Text = Master.eLang.GetString(57, "Copying specified file to trailer...")
If Master.eSettings.ValidExts.Contains(Path.GetExtension(Me.txtManual.Text)) AndAlso File.Exists(Me.txtManual.Text) Then
If CloseDialog Then
- Me.tURL = Path.Combine(Directory.GetParent(Me.sPath).FullName, String.Concat(Path.GetFileNameWithoutExtension(Me.sPath), If(Master.eSettings.DashTrailer, "-trailer", "[trailer]"), Path.GetExtension(Me.txtManual.Text)))
+ If Master.eSettings.VideoTSParentXBMC AndAlso FileUtils.Common.isBDRip(Me.sPath) Then
+ Me.tURL = String.Concat(Directory.GetParent(Directory.GetParent(Me.sPath).FullName).FullName, "\", "index", If(Master.eSettings.DashTrailer, "-trailer", "[trailer]"), Path.GetExtension(Me.txtManual.Text))
+ ElseIf Master.eSettings.MovieNameNFOStack Then
+ Dim sPathStack As String = StringUtils.CleanStackingMarkers(Path.GetFileNameWithoutExtension(Me.sPath))
+ Me.tURL = Path.Combine(Directory.GetParent(Me.sPath).FullName, String.Concat(Path.GetFileNameWithoutExtension(sPathStack), If(Master.eSettings.DashTrailer, "-trailer", "[trailer]"), Path.GetExtension(Me.txtManual.Text)))
+ Else
+ Me.tURL = Path.Combine(Directory.GetParent(Me.sPath).FullName, String.Concat(Path.GetFileNameWithoutExtension(Me.sPath), If(Master.eSettings.DashTrailer, "-trailer", "[trailer]"), Path.GetExtension(Me.txtManual.Text)))
+ End If
+
FileUtils.Common.MoveFileWithStream(Me.txtManual.Text, Me.tURL)
Me.DialogResult = System.Windows.Forms.DialogResult.OK
@@ -178,6 +187,7 @@ Public Class dlgTrailer
Me.OK_Button.Enabled = False
Me.btnSetNfo.Enabled = False
Me.btnPlayTrailer.Enabled = False
+ Me.btnPlayBrowser.Enabled = False
Me.lbTrailers.Enabled = False
Me.txtYouTube.Enabled = False
Me.txtManual.Enabled = False
@@ -203,6 +213,30 @@ Public Class dlgTrailer
End Try
End Sub
+ Private Sub btnPlayBrowser_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlayBrowser.Click
+ If Not String.IsNullOrEmpty(Me.txtYouTube.Text) Then
+ If Master.isWindows Then
+ Process.Start(Me.txtYouTube.Text)
+ Else
+ Using Explorer As New Process
+ Explorer.StartInfo.FileName = "xdg-open"
+ Explorer.StartInfo.Arguments = Me.txtYouTube.Text
+ Explorer.Start()
+ End Using
+ End If
+ Else
+ If Master.isWindows Then
+ Process.Start(Me.lbTrailers.SelectedItem.ToString)
+ Else
+ Using Explorer As New Process
+ Explorer.StartInfo.FileName = "xdg-open"
+ Explorer.StartInfo.Arguments = Me.lbTrailers.SelectedItem.ToString
+ Explorer.Start()
+ End Using
+ End If
+ End If
+ End Sub
+
Private Sub btnSetNfo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSetNfo.Click
If Me.btnSetNfo.Text = Master.eLang.GetString(60, "Move") Then
@@ -210,6 +244,7 @@ Public Class dlgTrailer
Me.OK_Button.Enabled = False
Me.btnSetNfo.Enabled = False
Me.btnPlayTrailer.Enabled = False
+ Me.btnPlayBrowser.Enabled = False
Me.lbTrailers.Enabled = False
Me.txtYouTube.Enabled = False
Me.txtManual.Enabled = False
@@ -220,7 +255,14 @@ Public Class dlgTrailer
Me.pnlStatus.Visible = True
Application.DoEvents()
- Me.tURL = Path.Combine(Directory.GetParent(Me.sPath).FullName, String.Concat(Path.GetFileNameWithoutExtension(Me.sPath), If(Master.eSettings.DashTrailer, "-trailer", "[trailer]"), Path.GetExtension(Me.txtManual.Text)))
+ If Master.eSettings.VideoTSParentXBMC AndAlso FileUtils.Common.isBDRip(Me.sPath) Then
+ Me.tURL = String.Concat(Directory.GetParent(Directory.GetParent(Me.sPath).FullName).FullName, "\", "index", If(Master.eSettings.DashTrailer, "-trailer", "[trailer]"), Path.GetExtension(Me.txtManual.Text))
+ ElseIf Master.eSettings.MovieNameNFOStack Then
+ Dim sPathStack As String = StringUtils.CleanStackingMarkers(Path.GetFileNameWithoutExtension(Me.sPath))
+ Me.tURL = Path.Combine(Directory.GetParent(Me.sPath).FullName, String.Concat(Path.GetFileNameWithoutExtension(sPathStack), If(Master.eSettings.DashTrailer, "-trailer", "[trailer]"), Path.GetExtension(Me.txtManual.Text)))
+ Else
+ Me.tURL = Path.Combine(Directory.GetParent(Me.sPath).FullName, String.Concat(Path.GetFileNameWithoutExtension(Me.sPath), If(Master.eSettings.DashTrailer, "-trailer", "[trailer]"), Path.GetExtension(Me.txtManual.Text)))
+ End If
File.Move(Me.txtManual.Text, Me.tURL)
Me.DialogResult = System.Windows.Forms.DialogResult.OK
@@ -374,6 +416,11 @@ Public Class dlgTrailer
Me.OK_Button.Enabled = True
Me.btnSetNfo.Enabled = True
Me.btnPlayTrailer.Enabled = True
+ If Me.txtManual.Text.Length > 0 Then
+ Me.btnPlayBrowser.Enabled = False
+ Else
+ Me.btnPlayBrowser.Enabled = True
+ End If
If Me.txtManual.Text.Length > 0 Then
Me.OK_Button.Text = Master.eLang.GetString(61, "Copy")
Me.btnSetNfo.Text = Master.eLang.GetString(60, "Move")
@@ -385,6 +432,7 @@ Public Class dlgTrailer
Me.OK_Button.Enabled = False
Me.OK_Button.Text = Master.eLang.GetString(373, "Download", True)
Me.btnPlayTrailer.Enabled = False
+ Me.btnPlayBrowser.Enabled = False
Me.btnSetNfo.Enabled = False
Me.btnSetNfo.Text = Master.eLang.GetString(63, "Set To Nfo")
End If
@@ -399,6 +447,7 @@ Public Class dlgTrailer
Me.Label1.Text = Master.eLang.GetString(67, "Direct Link or YouTube URL:")
Me.lblStatus.Text = Master.eLang.GetString(68, "Compiling trailer list...")
Me.btnPlayTrailer.Text = Master.eLang.GetString(69, "Preview Trailer")
+ Me.btnPlayBrowser.Text = Master.eLang.GetString(114, "Open In Browser")
Me.btnSetNfo.Text = Master.eLang.GetString(63, "Set To Nfo")
Me.Label2.Text = Master.eLang.GetString(70, "Local Trailer:")
End Sub
diff --git a/Addons/scraper.EmberCore/Scraper/dlgTrailerFormat.Designer.vb b/Addons/scraper.EmberCore/Scraper/dlgTrailerFormat.Designer.vb
index aa7ae6a..8d135fa 100644
--- a/Addons/scraper.EmberCore/Scraper/dlgTrailerFormat.Designer.vb
+++ b/Addons/scraper.EmberCore/Scraper/dlgTrailerFormat.Designer.vb
@@ -22,127 +22,127 @@ Partial Class dlgTrailerFormat
'Do not modify it using the code editor.
_
Private Sub InitializeComponent()
- Me.OK_Button = New System.Windows.Forms.Button()
- Me.Cancel_Button = New System.Windows.Forms.Button()
- Me.lstFormats = New System.Windows.Forms.ListBox()
- Me.GroupBox1 = New System.Windows.Forms.GroupBox()
- Me.pnlStatus = New System.Windows.Forms.Panel()
- Me.lblStatus = New System.Windows.Forms.Label()
- Me.pbStatus = New System.Windows.Forms.ProgressBar()
- Me.Panel1 = New System.Windows.Forms.Panel()
- Me.GroupBox1.SuspendLayout()
- Me.pnlStatus.SuspendLayout()
- Me.Panel1.SuspendLayout()
- Me.SuspendLayout()
- '
- 'OK_Button
- '
- Me.OK_Button.Enabled = False
- Me.OK_Button.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.OK_Button.Location = New System.Drawing.Point(84, 117)
- Me.OK_Button.Name = "OK_Button"
- Me.OK_Button.Size = New System.Drawing.Size(67, 23)
- Me.OK_Button.TabIndex = 0
- Me.OK_Button.Text = "OK"
- '
- 'Cancel_Button
- '
- Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
- Me.Cancel_Button.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.Cancel_Button.Location = New System.Drawing.Point(154, 117)
- Me.Cancel_Button.Name = "Cancel_Button"
- Me.Cancel_Button.Size = New System.Drawing.Size(67, 23)
- Me.Cancel_Button.TabIndex = 1
- Me.Cancel_Button.Text = "Cancel"
- '
- 'lstFormats
- '
- Me.lstFormats.Enabled = False
- Me.lstFormats.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.lstFormats.FormattingEnabled = True
- Me.lstFormats.Location = New System.Drawing.Point(6, 19)
- Me.lstFormats.Name = "lstFormats"
- Me.lstFormats.Size = New System.Drawing.Size(177, 69)
- Me.lstFormats.TabIndex = 0
- '
- 'GroupBox1
- '
- Me.GroupBox1.Controls.Add(Me.lstFormats)
- Me.GroupBox1.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.GroupBox1.Location = New System.Drawing.Point(17, 2)
- Me.GroupBox1.Name = "GroupBox1"
- Me.GroupBox1.Size = New System.Drawing.Size(189, 100)
- Me.GroupBox1.TabIndex = 0
- Me.GroupBox1.TabStop = False
- Me.GroupBox1.Text = "Available Formats"
- '
- 'pnlStatus
- '
- Me.pnlStatus.BackColor = System.Drawing.Color.White
- Me.pnlStatus.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
- Me.pnlStatus.Controls.Add(Me.lblStatus)
- Me.pnlStatus.Controls.Add(Me.pbStatus)
- Me.pnlStatus.Location = New System.Drawing.Point(10, 29)
- Me.pnlStatus.Name = "pnlStatus"
- Me.pnlStatus.Size = New System.Drawing.Size(200, 54)
- Me.pnlStatus.TabIndex = 1
- '
- 'lblStatus
- '
- Me.lblStatus.AutoSize = True
- Me.lblStatus.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.lblStatus.Location = New System.Drawing.Point(3, 10)
- Me.lblStatus.Name = "lblStatus"
- Me.lblStatus.Size = New System.Drawing.Size(147, 13)
- Me.lblStatus.TabIndex = 0
- Me.lblStatus.Text = "Getting available formats..."
- Me.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
- '
- 'pbStatus
- '
- Me.pbStatus.Location = New System.Drawing.Point(3, 29)
- Me.pbStatus.MarqueeAnimationSpeed = 25
- Me.pbStatus.Name = "pbStatus"
- Me.pbStatus.Size = New System.Drawing.Size(192, 17)
- Me.pbStatus.Style = System.Windows.Forms.ProgressBarStyle.Marquee
- Me.pbStatus.TabIndex = 1
- '
- 'Panel1
- '
- Me.Panel1.BackColor = System.Drawing.Color.White
- Me.Panel1.Controls.Add(Me.pnlStatus)
- Me.Panel1.Controls.Add(Me.GroupBox1)
- Me.Panel1.Location = New System.Drawing.Point(2, 4)
- Me.Panel1.Name = "Panel1"
- Me.Panel1.Size = New System.Drawing.Size(220, 111)
- Me.Panel1.TabIndex = 2
- '
- 'dlgTrailerFormat
- '
- Me.AcceptButton = Me.OK_Button
- Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
- Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
- Me.CancelButton = Me.Cancel_Button
- Me.ClientSize = New System.Drawing.Size(224, 143)
- Me.Controls.Add(Me.Panel1)
- Me.Controls.Add(Me.Cancel_Button)
- Me.Controls.Add(Me.OK_Button)
- Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
- Me.MaximizeBox = False
- Me.MinimizeBox = False
- Me.Name = "dlgTrailerFormat"
- Me.ShowIcon = False
- Me.ShowInTaskbar = False
- Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
- Me.Text = "Select Format"
- Me.GroupBox1.ResumeLayout(False)
- Me.pnlStatus.ResumeLayout(False)
- Me.pnlStatus.PerformLayout()
- Me.Panel1.ResumeLayout(False)
- Me.ResumeLayout(False)
+ Me.OK_Button = New System.Windows.Forms.Button()
+ Me.Cancel_Button = New System.Windows.Forms.Button()
+ Me.lstFormats = New System.Windows.Forms.ListBox()
+ Me.GroupBox1 = New System.Windows.Forms.GroupBox()
+ Me.pnlStatus = New System.Windows.Forms.Panel()
+ Me.lblStatus = New System.Windows.Forms.Label()
+ Me.pbStatus = New System.Windows.Forms.ProgressBar()
+ Me.Panel1 = New System.Windows.Forms.Panel()
+ Me.GroupBox1.SuspendLayout()
+ Me.pnlStatus.SuspendLayout()
+ Me.Panel1.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'OK_Button
+ '
+ Me.OK_Button.Enabled = False
+ Me.OK_Button.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.OK_Button.Location = New System.Drawing.Point(72, 187)
+ Me.OK_Button.Name = "OK_Button"
+ Me.OK_Button.Size = New System.Drawing.Size(67, 23)
+ Me.OK_Button.TabIndex = 0
+ Me.OK_Button.Text = "OK"
+ '
+ 'Cancel_Button
+ '
+ Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.Cancel_Button.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.Cancel_Button.Location = New System.Drawing.Point(145, 187)
+ Me.Cancel_Button.Name = "Cancel_Button"
+ Me.Cancel_Button.Size = New System.Drawing.Size(67, 23)
+ Me.Cancel_Button.TabIndex = 1
+ Me.Cancel_Button.Text = "Cancel"
+ '
+ 'lstFormats
+ '
+ Me.lstFormats.Enabled = False
+ Me.lstFormats.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lstFormats.FormattingEnabled = True
+ Me.lstFormats.Location = New System.Drawing.Point(4, 19)
+ Me.lstFormats.Name = "lstFormats"
+ Me.lstFormats.Size = New System.Drawing.Size(170, 121)
+ Me.lstFormats.TabIndex = 0
+ '
+ 'GroupBox1
+ '
+ Me.GroupBox1.Controls.Add(Me.lstFormats)
+ Me.GroupBox1.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.GroupBox1.Location = New System.Drawing.Point(10, 8)
+ Me.GroupBox1.Name = "GroupBox1"
+ Me.GroupBox1.Size = New System.Drawing.Size(180, 151)
+ Me.GroupBox1.TabIndex = 0
+ Me.GroupBox1.TabStop = False
+ Me.GroupBox1.Text = "Available Formats"
+ '
+ 'pnlStatus
+ '
+ Me.pnlStatus.BackColor = System.Drawing.Color.White
+ Me.pnlStatus.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlStatus.Controls.Add(Me.lblStatus)
+ Me.pnlStatus.Controls.Add(Me.pbStatus)
+ Me.pnlStatus.Location = New System.Drawing.Point(12, 75)
+ Me.pnlStatus.Name = "pnlStatus"
+ Me.pnlStatus.Size = New System.Drawing.Size(200, 54)
+ Me.pnlStatus.TabIndex = 1
+ '
+ 'lblStatus
+ '
+ Me.lblStatus.AutoSize = True
+ Me.lblStatus.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblStatus.Location = New System.Drawing.Point(3, 10)
+ Me.lblStatus.Name = "lblStatus"
+ Me.lblStatus.Size = New System.Drawing.Size(147, 13)
+ Me.lblStatus.TabIndex = 0
+ Me.lblStatus.Text = "Getting available formats..."
+ Me.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'pbStatus
+ '
+ Me.pbStatus.Location = New System.Drawing.Point(3, 29)
+ Me.pbStatus.MarqueeAnimationSpeed = 25
+ Me.pbStatus.Name = "pbStatus"
+ Me.pbStatus.Size = New System.Drawing.Size(192, 17)
+ Me.pbStatus.Style = System.Windows.Forms.ProgressBarStyle.Marquee
+ Me.pbStatus.TabIndex = 1
+ '
+ 'Panel1
+ '
+ Me.Panel1.BackColor = System.Drawing.Color.White
+ Me.Panel1.Controls.Add(Me.GroupBox1)
+ Me.Panel1.Location = New System.Drawing.Point(12, 12)
+ Me.Panel1.Name = "Panel1"
+ Me.Panel1.Size = New System.Drawing.Size(200, 169)
+ Me.Panel1.TabIndex = 2
+ '
+ 'dlgTrailerFormat
+ '
+ Me.AcceptButton = Me.OK_Button
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
+ Me.CancelButton = Me.Cancel_Button
+ Me.ClientSize = New System.Drawing.Size(224, 217)
+ Me.Controls.Add(Me.pnlStatus)
+ Me.Controls.Add(Me.Panel1)
+ Me.Controls.Add(Me.Cancel_Button)
+ Me.Controls.Add(Me.OK_Button)
+ Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "dlgTrailerFormat"
+ Me.ShowIcon = False
+ Me.ShowInTaskbar = False
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "Select Format"
+ Me.GroupBox1.ResumeLayout(False)
+ Me.pnlStatus.ResumeLayout(False)
+ Me.pnlStatus.PerformLayout()
+ Me.Panel1.ResumeLayout(False)
+ Me.ResumeLayout(False)
- End Sub
+ End Sub
Friend WithEvents OK_Button As System.Windows.Forms.Button
Friend WithEvents Cancel_Button As System.Windows.Forms.Button
Friend WithEvents lstFormats As System.Windows.Forms.ListBox
diff --git a/Addons/scraper.EmberCore/Scraper/scraper.EmberCore.German_(de_DE)-Help.xml b/Addons/scraper.EmberCore/Scraper/scraper.EmberCore.German_(de_DE)-Help.xml
deleted file mode 100644
index b613dee..0000000
--- a/Addons/scraper.EmberCore/Scraper/scraper.EmberCore.German_(de_DE)-Help.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
- Aktiviert dieses Modul.
- Verschiebt diesen Scraper in der Reihenfolge einen nach oben (Scrape Module werden von oben nach unten abgearbeitet.)
- Verschiebt diesen Scraper in der Reihenfolge einen nach unten (Scrape Module werden von oben nach unten abgearbeitet.)
- Gib den Mirror ein über den Ember mit der IMDB kommunizieren soll.
- Wenn aktiviert versucht Ember den Titel von der deutschen Seite OFDB.DE zu scrapen.
- Wenn aktiviert versucht Ember die Kurzebschreibung von der deutschen Seite OFDB.DE zu scrapen.
- Wenn aktiviert versucht Ember die Inhaltsangabe von der deutschen Seite OFDB.DE zu scrapen.
- Wenn aktiviert versucht Ember die Genres von der deutschen Seite OFDB.DE zu scrapen.
- Aktiviert das scrapen der Altersbeschränkung (=Certification) mit diesem Modul.
- Aktiviert das scrapen der IMDB Top250 mit diesem Modul.
- Die Anzahl der gescrapten Genres limitieren.
- Die Anzahl der gescrapten Schauspieler limitieren.
- Aktiviert das scrapen der Sonstigen Crew mit diesem Modul. (Die Gesamte Crew scrapen muss aktiviert sein!)
- Aktiviert das scrapen der Musiker mit diesem Modul. (Die Gesamte Crew scrapen muss aktiviert sein!)
- Aktiviert das scrapen der Produzenten mit diesem Modul. (Die Gesamte Crew scrapen muss aktiviert sein!)
- Aktiviert das scrapen der Autoren mit diesem Modul.
- Aktiviert das scrapen des Studios mit diesem Modul.
- Aktiviert das scrapen der Spielzeit mit diesem Modul.
- Aktiviert das scrapen des Inhalts (=Plot)) mit diesem Modul.
- Aktiviert das scrapen der Kurzbeschreibung mit diesem Modul.
- Aktiviert das scrapen von Genre mit diesem Modul.
- Aktiviert das scrapen des Regisseurs mit diesem Modul.
- Aktiviert das scrapen der Tagline mit diesem Modul.
- Aktiviert das scrapen der Schauspieler mit diesem Modul.
- Aktiviert das scrapen der Anzahl Bewertungen (=Stimmen) mit diesem Modul.
- Aktiviert das scrapen von Trailern mit diesem Modul.
- Aktiviert das scrapen der Bewertung mit diesem Modul.
- Aktiviert das scrapen des Premiere Datums mit diesem Modul.
- Aktiviert das scrapen der MPAA Bewertung mit diesem Modul.
- Aktiviert das scrapen des Jahres mit diesem Modul.
- Aktiviert das scrapen des Titels mit diesem Modul.
- Aktiviert dieses Modul.
- Verschiebt diesen Scraper in der Reihenfolge einen nach oben (Scrape Module werden von oben nach unten abgearbeitet.)
- Verschiebt diesen Scraper in der Reihenfolge einen nach unten (Scrape Module werden von oben nach unten abgearbeitet.)
- Aktiviert das Laden von Postern mit diesem Modul. (Schau auch in die Globale Konfiguration!)
- Aktiviert das Laden von Fanart mit diesem Modul. (Schau auch in die Globale Konfiguration!)
- Aktiviert das Laden von Bildern von TheMovieDB.org.
- Aktiviert das Laden von Bildern von IMPA
- Aktiviert das Laden von Bildern von MoviePosterDB.com.
- Automatische Frame extraktion mit diesem Modul aktivieren. (Schau auch in die Globale Konfiguration!)
- Trailer laden mit diesem Modul aktivieren. (Schau auch in die Globale Konfiguration!)
- Wähle die Zeit (in Sekunden) die auf Trailerseiten gewartet werden soll. (Wenn die Zeite in dieser Zeit nicht geantwortet hat wird sie übersprungen)
- Wähle die Seite von der Trailer URLS/Dateien geladen werden sollen.
-
-
diff --git "a/Addons/scraper.EmberCore/Scraper/scraper.EmberCore.Portugu\303\252s_(pt-BR).xml" "b/Addons/scraper.EmberCore/Scraper/scraper.EmberCore.Portugu\303\252s_(pt-BR).xml"
deleted file mode 100644
index a91dc2d..0000000
--- "a/Addons/scraper.EmberCore/Scraper/scraper.EmberCore.Portugu\303\252s_(pt-BR).xml"
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/Addons/scraper.EmberCore/TVScraper/clsScrapeTVDB.vb b/Addons/scraper.EmberCore/TVScraper/clsScrapeTVDB.vb
index 4459f88..b0f8531 100644
--- a/Addons/scraper.EmberCore/TVScraper/clsScrapeTVDB.vb
+++ b/Addons/scraper.EmberCore/TVScraper/clsScrapeTVDB.vb
@@ -94,9 +94,9 @@ Public Class Scraper
Return sObject.GetSingleEpisode(New Structures.ScrapeInfo With {.ShowID = ShowID, .TVDBID = TVDBID, .iSeason = Season, .iEpisode = Episode, .SelectedLang = Lang, .Ordering = Ordering, .Options = Options})
End Function
- Public Function GetSingleImage(ByVal Title As String, ByVal ShowID As Integer, ByVal TVDBID As String, ByVal Type As Enums.TVImageType, ByVal Season As Integer, ByVal Episode As Integer, ByVal Lang As String, ByVal Ordering As Enums.Ordering, ByVal CurrentImage As Image) As Image
- Return sObject.GetSingleImage(New Structures.ScrapeInfo With {.ShowTitle = Title, .ShowID = ShowID, .TVDBID = TVDBID, .ImageType = Type, .iSeason = Season, .iEpisode = Episode, .SelectedLang = Lang, .Ordering = Ordering, .CurrentImage = CurrentImage})
- End Function
+ Public Function GetSingleImage(ByVal Title As String, ByVal ShowID As Integer, ByVal TVDBID As String, ByVal Type As Enums.TVImageType, ByVal Season As Integer, ByVal Episode As Integer, ByVal Lang As String, ByVal Ordering As Enums.Ordering, ByVal CurrentImage As Images) As Images
+ Return sObject.GetSingleImage(New Structures.ScrapeInfo With {.ShowTitle = Title, .ShowID = ShowID, .TVDBID = TVDBID, .ImageType = Type, .iSeason = Season, .iEpisode = Episode, .SelectedLang = Lang, .Ordering = Ordering, .CurrentImage = CurrentImage})
+ End Function
Public Sub InnerEvent(ByVal eType As Enums.TVScraperEventType, ByVal iProgress As Integer, ByVal Parameter As Object)
RaiseEvent ScraperEvent(eType, iProgress, Parameter)
@@ -424,105 +424,105 @@ Public Class Scraper
Return New MediaContainers.EpisodeDetails
End Function
- Public Function GetSingleImage(ByVal sInfo As Structures.ScrapeInfo) As Image
- tmpTVDBShow = New TVDBShow
-
- If sInfo.ImageType = Enums.TVImageType.EpisodePoster Then
-
- If String.IsNullOrEmpty(sInfo.TVDBID) Then
- Using dTVDBSearch As New dlgTVDBSearchResults
- sInfo = dTVDBSearch.ShowDialog(sInfo, True)
- If Not String.IsNullOrEmpty(sInfo.TVDBID) Then
- Master.currShow.TVShow.ID = sInfo.TVDBID
-
- Using tImage As New Images
- Dim tmpEp As MediaContainers.EpisodeDetails = Me.GetListOfKnownEpisodes(sInfo).FirstOrDefault(Function(e) e.Episode = sInfo.iEpisode AndAlso e.Season = sInfo.iSeason)
- If Not IsNothing(tmpEp) Then
-
- If File.Exists(tmpEp.LocalFile) Then
- tImage.FromFile(tmpEp.LocalFile)
- Else
- tImage.FromWeb(tmpEp.PosterURL)
- If Not IsNothing(tImage.Image) Then
- Directory.CreateDirectory(Directory.GetParent(tmpEp.LocalFile).FullName)
- tImage.Save(tmpEp.LocalFile)
- End If
- End If
-
- If Not IsNothing(tImage.Image) Then
- Using dPosterConfirm As New dlgTVEpisodePoster
- If dPosterConfirm.ShowDialog(tImage.Image) = DialogResult.OK Then
- Return tImage.Image
- Else
- Return Nothing
- End If
- End Using
- Else
- MsgBox(Master.eLang.GetString(81, "There is no poster available for this episode."), MsgBoxStyle.OkOnly, Master.eLang.GetString(31, "No Posters Found"))
- Return Nothing
- End If
- Else
- Return Nothing
- End If
- End Using
- Else
- Return Nothing
- End If
- End Using
- Else
- Using tImage As New Images
- Dim tmpEp As MediaContainers.EpisodeDetails = Me.GetListOfKnownEpisodes(sInfo).FirstOrDefault(Function(e) e.Episode = sInfo.iEpisode AndAlso e.Season = sInfo.iSeason)
- If Not IsNothing(tmpEp) Then
-
- If File.Exists(tmpEp.LocalFile) Then
- tImage.FromFile(tmpEp.LocalFile)
- Else
- tImage.FromWeb(tmpEp.PosterURL)
- If Not IsNothing(tImage.Image) Then
- Directory.CreateDirectory(Directory.GetParent(tmpEp.LocalFile).FullName)
- tImage.Save(tmpEp.LocalFile)
- End If
- End If
-
- If Not IsNothing(tImage.Image) Then
- Using dPosterConfirm As New dlgTVEpisodePoster
- If dPosterConfirm.ShowDialog(tImage.Image) = DialogResult.OK Then
- Return tImage.Image
- Else
- Return Nothing
- End If
- End Using
- Else
- MsgBox(Master.eLang.GetString(81, "There is no poster available for this episode."), MsgBoxStyle.OkOnly, Master.eLang.GetString(31, "No Posters Found"))
- Return Nothing
- End If
- Else
- Return Nothing
- End If
- End Using
- End If
- Else
- If String.IsNullOrEmpty(sInfo.TVDBID) Then
- Using dTVDBSearch As New dlgTVDBSearchResults
- sInfo = dTVDBSearch.ShowDialog(sInfo, True)
- If Not String.IsNullOrEmpty(sInfo.TVDBID) Then
- Master.currShow.TVShow.ID = sInfo.TVDBID
- Me.DownloadSeries(sInfo, True)
- Using dImageSelect As New dlgTVImageSelect
- Return dImageSelect.ShowDialog(sInfo.ShowID, sInfo.ImageType, sInfo.iSeason, sInfo.CurrentImage)
- End Using
- Else
- Return Nothing
- End If
- End Using
- Else
- Me.DownloadSeries(sInfo, True)
- Using dImageSelect As New dlgTVImageSelect
- Return dImageSelect.ShowDialog(sInfo.ShowID, sInfo.ImageType, sInfo.iSeason, sInfo.CurrentImage)
- End Using
- End If
- End If
- End Function
+ Public Function GetSingleImage(ByVal sInfo As Structures.ScrapeInfo) As Images
+ tmpTVDBShow = New TVDBShow
+
+ If sInfo.ImageType = Enums.TVImageType.EpisodePoster Then
+
+ If String.IsNullOrEmpty(sInfo.TVDBID) Then
+ Using dTVDBSearch As New dlgTVDBSearchResults
+ sInfo = dTVDBSearch.ShowDialog(sInfo, True)
+ If Not String.IsNullOrEmpty(sInfo.TVDBID) Then
+ Master.currShow.TVShow.ID = sInfo.TVDBID
+
+ Using tImage As New Images
+ Dim tmpEp As MediaContainers.EpisodeDetails = Me.GetListOfKnownEpisodes(sInfo).FirstOrDefault(Function(e) e.Episode = sInfo.iEpisode AndAlso e.Season = sInfo.iSeason)
+ If Not IsNothing(tmpEp) Then
+
+ If File.Exists(tmpEp.LocalFile) Then
+ tImage.FromFile(tmpEp.LocalFile)
+ Else
+ tImage.FromWeb(tmpEp.PosterURL)
+ If Not IsNothing(tImage.Image) Then
+ Directory.CreateDirectory(Directory.GetParent(tmpEp.LocalFile).FullName)
+ tImage.Save(tmpEp.LocalFile, , , False)
+ End If
+ End If
+
+ If Not IsNothing(tImage.Image) Then
+ Using dPosterConfirm As New dlgTVEpisodePoster
+ If dPosterConfirm.ShowDialog(tImage.Image) = DialogResult.OK Then
+ Return tImage
+ Else
+ Return Nothing
+ End If
+ End Using
+ Else
+ MsgBox(Master.eLang.GetString(81, "There is no poster available for this episode."), MsgBoxStyle.OkOnly, Master.eLang.GetString(31, "No Posters Found"))
+ Return Nothing
+ End If
+ Else
+ Return Nothing
+ End If
+ End Using
+ Else
+ Return Nothing
+ End If
+ End Using
+ Else
+ Using tImage As New Images
+ Dim tmpEp As MediaContainers.EpisodeDetails = Me.GetListOfKnownEpisodes(sInfo).FirstOrDefault(Function(e) e.Episode = sInfo.iEpisode AndAlso e.Season = sInfo.iSeason)
+ If Not IsNothing(tmpEp) Then
+
+ If File.Exists(tmpEp.LocalFile) Then
+ tImage.FromFile(tmpEp.LocalFile)
+ Else
+ tImage.FromWeb(tmpEp.PosterURL)
+ If Not IsNothing(tImage.Image) Then
+ Directory.CreateDirectory(Directory.GetParent(tmpEp.LocalFile).FullName)
+ tImage.Save(tmpEp.LocalFile, , , False)
+ End If
+ End If
+
+ If Not IsNothing(tImage.Image) Then
+ Using dPosterConfirm As New dlgTVEpisodePoster
+ If dPosterConfirm.ShowDialog(tImage.Image) = DialogResult.OK Then
+ Return tImage
+ Else
+ Return Nothing
+ End If
+ End Using
+ Else
+ MsgBox(Master.eLang.GetString(81, "There is no poster available for this episode."), MsgBoxStyle.OkOnly, Master.eLang.GetString(31, "No Posters Found"))
+ Return Nothing
+ End If
+ Else
+ Return Nothing
+ End If
+ End Using
+ End If
+ Else
+ If String.IsNullOrEmpty(sInfo.TVDBID) Then
+ Using dTVDBSearch As New dlgTVDBSearchResults
+ sInfo = dTVDBSearch.ShowDialog(sInfo, True)
+ If Not String.IsNullOrEmpty(sInfo.TVDBID) Then
+ Master.currShow.TVShow.ID = sInfo.TVDBID
+ Me.DownloadSeries(sInfo, True)
+ Using dImageSelect As New dlgTVImageSelect
+ Return dImageSelect.ShowDialog(sInfo.ShowID, sInfo.ImageType, sInfo.iSeason, sInfo.CurrentImage)
+ End Using
+ Else
+ Return Nothing
+ End If
+ End Using
+ Else
+ Me.DownloadSeries(sInfo, True)
+ Using dImageSelect As New dlgTVImageSelect
+ Return dImageSelect.ShowDialog(sInfo.ShowID, sInfo.ImageType, sInfo.iSeason, sInfo.CurrentImage)
+ End Using
+ End If
+ End If
+ End Function
Public Function IsBusy() As Boolean
Return bwTVDB.IsBusy
@@ -848,17 +848,17 @@ Public Class Scraper
If Me.bwTVDB.CancellationPending Then Return
If Episode.TVEp.Season > -1 AndAlso Episode.TVEp.Episode > -1 AndAlso Not Episode.IsLockEp Then
- If Not IsNothing(Episode.TVEp.Poster.Image) Then Episode.EpPosterPath = Episode.TVEp.Poster.SaveAsEpPoster(Episode)
+ If Not IsNothing(Episode.TVEp.Poster.Image) Then Episode.EpPosterPath = Episode.TVEp.Poster.SaveAsEpPoster(Episode, Episode.TVEp.PosterURL)
If Me.bwTVDB.CancellationPending Then Return
- If Master.eSettings.EpisodeFanartEnabled AndAlso Not IsNothing(Episode.TVEp.Fanart.Image) Then Episode.EpFanartPath = Episode.TVEp.Fanart.SaveAsEpFanart(Episode)
+ If Master.eSettings.EpisodeFanartEnabled AndAlso Not IsNothing(Episode.TVEp.Fanart.Image) Then Episode.EpFanartPath = Episode.TVEp.Fanart.SaveAsEpFanart(Episode, )
If Me.bwTVDB.CancellationPending Then Return
Dim cSea = From cSeason As TVDBSeasonImage In TVDBImages.SeasonImageList Where cSeason.Season = iSea Take 1
If cSea.Count > 0 Then
- If Not IsNothing(cSea(0).Poster.Image) Then Episode.SeasonPosterPath = cSea(0).Poster.SaveAsSeasonPoster(Episode)
+ If Not IsNothing(cSea(0).Poster.Image) Then Episode.SeasonPosterPath = cSea(0).Poster.SaveAsSeasonPoster(Episode)
If Me.bwTVDB.CancellationPending Then Return
@@ -871,7 +871,7 @@ Public Class Scraper
cSea(0).Fanart.Image.FromWeb(cSea(0).Fanart.URL)
If Not IsNothing(cSea(0).Fanart.Image.Image) Then
Directory.CreateDirectory(Directory.GetParent(cSea(0).Fanart.LocalFile).FullName)
- cSea(0).Fanart.Image.Save(cSea(0).Fanart.LocalFile)
+ cSea(0).Fanart.Image.Save(cSea(0).Fanart.LocalFile, , , False)
Episode.SeasonFanartPath = cSea(0).Fanart.Image.SaveAsSeasonFanart(Episode)
End If
End If
@@ -934,24 +934,14 @@ Public Class Scraper
End Sub
Private Sub SaveToCache(ByVal sID As String, ByVal sURL As String, ByVal sPath As String)
- Dim sHTTP As New HTTP
Dim sImage As New Images
- sHTTP.StartDownloadImage(sURL)
-
- While sHTTP.IsDownloading
- Application.DoEvents()
- Threading.Thread.Sleep(50)
- End While
-
- sImage.Image = sHTTP.Image
+ sImage.FromWeb(sURL)
If Not IsNothing(sImage.Image) Then
- sImage.Save(Path.Combine(Master.TempPath, String.Concat("Shows", Path.DirectorySeparatorChar, sID, Path.DirectorySeparatorChar, sPath.Replace(Convert.ToChar("/"), Path.DirectorySeparatorChar))))
+ sImage.Save(Path.Combine(Master.TempPath, String.Concat("Shows", Path.DirectorySeparatorChar, sID, Path.DirectorySeparatorChar, sPath.Replace(Convert.ToChar("/"), Path.DirectorySeparatorChar))), , , True)
End If
-
- sImage = Nothing
- sHTTP = Nothing
+ sImage = Nothing
End Sub
Private Function SearchSeries(ByVal sInfo As Structures.ScrapeInfo) As List(Of TVSearchResults)
diff --git a/Addons/scraper.EmberCore/TVScraper/dlgTVImageSelect.vb b/Addons/scraper.EmberCore/TVScraper/dlgTVImageSelect.vb
index 12e7038..288414e 100644
--- a/Addons/scraper.EmberCore/TVScraper/dlgTVImageSelect.vb
+++ b/Addons/scraper.EmberCore/TVScraper/dlgTVImageSelect.vb
@@ -80,22 +80,22 @@ Public Class dlgTVImageSelect
'no preferred size, just get any one of them
If IsNothing(tSP) Then tSP = ShowPosterList.FirstOrDefault(Function(p) Not IsNothing(p.Image.Image))
- If Not IsNothing(tSP) Then
- Scraper.TVDBImages.ShowPoster.Image.Image = tSP.Image.Image
- Scraper.TVDBImages.ShowPoster.LocalFile = tSP.LocalFile
- Scraper.TVDBImages.ShowPoster.URL = tSP.URL
- Else
- 'still nothing? try to get from generic posters
- Dim tSPg As Scraper.TVDBPoster = GenericPosterList.FirstOrDefault(Function(p) p.Language = Master.eSettings.TVDBLanguage AndAlso Not IsNothing(p.Image.Image))
-
- If IsNothing(tSPg) Then tSPg = GenericPosterList.FirstOrDefault(Function(p) Not IsNothing(p.Image.Image))
-
- If Not IsNothing(tSPg) Then
- Scraper.TVDBImages.ShowPoster.Image.Image = tSPg.Image.Image
- Scraper.TVDBImages.ShowPoster.LocalFile = tSPg.LocalFile
- Scraper.TVDBImages.ShowPoster.URL = tSPg.URL
- End If
- End If
+ If Not IsNothing(tSP) Then
+ Scraper.TVDBImages.ShowPoster.Image = tSP.Image
+ Scraper.TVDBImages.ShowPoster.LocalFile = tSP.LocalFile
+ Scraper.TVDBImages.ShowPoster.URL = tSP.URL
+ Else
+ 'still nothing? try to get from generic posters
+ Dim tSPg As Scraper.TVDBPoster = GenericPosterList.FirstOrDefault(Function(p) p.Language = Master.eSettings.TVDBLanguage AndAlso Not IsNothing(p.Image.Image))
+
+ If IsNothing(tSPg) Then tSPg = GenericPosterList.FirstOrDefault(Function(p) Not IsNothing(p.Image.Image))
+
+ If Not IsNothing(tSPg) Then
+ Scraper.TVDBImages.ShowPoster.Image = tSPg.Image
+ Scraper.TVDBImages.ShowPoster.LocalFile = tSPg.LocalFile
+ Scraper.TVDBImages.ShowPoster.URL = tSPg.URL
+ End If
+ End If
Else
Dim tSPg As Scraper.TVDBPoster = GenericPosterList.FirstOrDefault(Function(p) Not IsNothing(p.Image.Image) AndAlso Me.GetPosterDims(p.Size) = Master.eSettings.PreferredShowPosterSize AndAlso p.Language = Master.eSettings.TVDBLanguage)
@@ -109,7 +109,7 @@ Public Class dlgTVImageSelect
If IsNothing(tSPg) Then tSPg = GenericPosterList.FirstOrDefault(Function(p) Not IsNothing(p.Image.Image))
If Not IsNothing(tSPg) Then
- Scraper.TVDBImages.ShowPoster.Image.Image = tSPg.Image.Image
+ Scraper.TVDBImages.ShowPoster.Image = tSPg.Image
Scraper.TVDBImages.ShowPoster.LocalFile = tSPg.LocalFile
Scraper.TVDBImages.ShowPoster.URL = tSPg.URL
Else
@@ -118,7 +118,7 @@ Public Class dlgTVImageSelect
If IsNothing(tSP) Then tSP = ShowPosterList.FirstOrDefault(Function(p) Not IsNothing(p.Image.Image))
If Not IsNothing(tSP) Then
- Scraper.TVDBImages.ShowPoster.Image.Image = tSP.Image.Image
+ Scraper.TVDBImages.ShowPoster.Image = tSP.Image
Scraper.TVDBImages.ShowPoster.LocalFile = tSP.LocalFile
Scraper.TVDBImages.ShowPoster.URL = tSP.URL
End If
@@ -148,7 +148,7 @@ Public Class dlgTVImageSelect
Scraper.TVDBImages.ShowFanart.Image.FromWeb(tSF.URL)
If Not IsNothing(Scraper.TVDBImages.ShowFanart.Image.Image) Then
Directory.CreateDirectory(Directory.GetParent(tSF.LocalFile).FullName)
- Scraper.TVDBImages.ShowFanart.Image.Save(tSF.LocalFile)
+ Scraper.TVDBImages.ShowFanart.Image.Save(tSF.LocalFile, , , False)
Scraper.TVDBImages.ShowFanart.LocalFile = tSF.LocalFile
Scraper.TVDBImages.ShowFanart.URL = tSF.URL
End If
@@ -171,7 +171,7 @@ Public Class dlgTVImageSelect
If IsNothing(tSP) Then tSP = ShowPosterList.FirstOrDefault(Function(p) Not IsNothing(p.Image.Image))
If Not IsNothing(tSP) Then
- Scraper.TVDBImages.AllSeasonPoster.Image.Image = tSP.Image.Image
+ Scraper.TVDBImages.AllSeasonPoster.Image = tSP.Image
Scraper.TVDBImages.AllSeasonPoster.LocalFile = tSP.LocalFile
Scraper.TVDBImages.AllSeasonPoster.URL = tSP.URL
Else
@@ -181,7 +181,7 @@ Public Class dlgTVImageSelect
If IsNothing(tSPg) Then tSPg = GenericPosterList.FirstOrDefault(Function(p) Not IsNothing(p.Image.Image))
If Not IsNothing(tSPg) Then
- Scraper.TVDBImages.AllSeasonPoster.Image.Image = tSPg.Image.Image
+ Scraper.TVDBImages.AllSeasonPoster.Image = tSPg.Image
Scraper.TVDBImages.AllSeasonPoster.LocalFile = tSPg.LocalFile
Scraper.TVDBImages.AllSeasonPoster.URL = tSPg.URL
End If
@@ -195,7 +195,7 @@ Public Class dlgTVImageSelect
If IsNothing(tSPg) Then tSPg = GenericPosterList.FirstOrDefault(Function(p) Not IsNothing(p.Image.Image))
If Not IsNothing(tSPg) Then
- Scraper.TVDBImages.AllSeasonPoster.Image.Image = tSPg.Image.Image
+ Scraper.TVDBImages.AllSeasonPoster.Image = tSPg.Image
Scraper.TVDBImages.AllSeasonPoster.LocalFile = tSPg.LocalFile
Scraper.TVDBImages.AllSeasonPoster.URL = tSPg.URL
Else
@@ -204,7 +204,7 @@ Public Class dlgTVImageSelect
If IsNothing(tSP) Then tSP = ShowPosterList.FirstOrDefault(Function(p) Not IsNothing(p.Image.Image))
If Not IsNothing(tSP) Then
- Scraper.TVDBImages.AllSeasonPoster.Image.Image = tSP.Image.Image
+ Scraper.TVDBImages.AllSeasonPoster.Image = tSP.Image
Scraper.TVDBImages.AllSeasonPoster.LocalFile = tSP.LocalFile
Scraper.TVDBImages.AllSeasonPoster.URL = tSP.URL
End If
@@ -225,9 +225,9 @@ Public Class dlgTVImageSelect
tSea = SeasonList.FirstOrDefault(Function(p) Not IsNothing(p.Image.Image) AndAlso p.Season = iSeason AndAlso p.Type = Master.eSettings.PreferredSeasonPosterSize AndAlso p.Language = Master.eSettings.TVDBLanguage)
If IsNothing(tSea) Then tSea = SeasonList.FirstOrDefault(Function(p) Not IsNothing(p.Image.Image) AndAlso p.Season = iSeason AndAlso p.Type = Master.eSettings.PreferredSeasonPosterSize)
If IsNothing(tSea) Then tSea = SeasonList.FirstOrDefault(Function(p) Not IsNothing(p.Image.Image) AndAlso p.Season = iSeason)
- If Not IsNothing(tSea) Then cSeason.Poster.Image = tSea.Image.Image
+ If Not IsNothing(tSea) Then cSeason.Poster = tSea.Image
End If
- If (Me._type = Enums.TVImageType.All OrElse Me._type = Enums.TVImageType.SeasonFanart) AndAlso Master.eSettings.SeasonFanartEnabled AndAlso IsNothing(cSeason.Fanart.Image.Image) AndAlso Not IsNothing(Scraper.TVDBImages.ShowFanart.Image.Image) Then cSeason.Fanart.Image.Image = Scraper.TVDBImages.ShowFanart.Image.Image
+ If (Me._type = Enums.TVImageType.All OrElse Me._type = Enums.TVImageType.SeasonFanart) AndAlso Master.eSettings.SeasonFanartEnabled AndAlso IsNothing(cSeason.Fanart.Image.Image) AndAlso Not IsNothing(Scraper.TVDBImages.ShowFanart.Image.Image) Then cSeason.Fanart.Image = Scraper.TVDBImages.ShowFanart.Image
If Me.bwLoadImages.CancellationPending Then
Return True
@@ -253,7 +253,7 @@ Public Class dlgTVImageSelect
If Not String.IsNullOrEmpty(Episode.EpFanartPath) Then
Episode.TVEp.Fanart.FromFile(Episode.EpFanartPath)
ElseIf Not IsNothing(Scraper.TVDBImages.ShowFanart.Image.Image) Then
- Episode.TVEp.Fanart.Image = Scraper.TVDBImages.ShowFanart.Image.Image
+ Episode.TVEp.Fanart = Scraper.TVDBImages.ShowFanart.Image
End If
End If
@@ -284,77 +284,78 @@ Public Class dlgTVImageSelect
Return MyBase.ShowDialog
End Function
- Public Overloads Function ShowDialog(ByVal ShowID As Integer, ByVal Type As Enums.TVImageType, ByVal Season As Integer, ByVal CurrentImage As Image) As Image
- Me._id = ShowID
- Me._type = Type
- Me._season = Season
- Me.pbCurrent.Image = CurrentImage
-
- If MyBase.ShowDialog = Windows.Forms.DialogResult.OK Then
- Return Me.pbCurrent.Image
- Else
- Return Nothing
- End If
- End Function
-
- Private Sub AddImage(ByVal iImage As Image, ByVal sDescription As String, ByVal iIndex As Integer, ByVal fTag As ImageTag)
- Try
- ReDim Preserve Me.pnlImage(iIndex)
- ReDim Preserve Me.pbImage(iIndex)
- ReDim Preserve Me.lblImage(iIndex)
- Me.pnlImage(iIndex) = New Panel()
- Me.pbImage(iIndex) = New PictureBox()
- Me.lblImage(iIndex) = New Label()
- Me.pbImage(iIndex).Name = iIndex.ToString
- Me.pnlImage(iIndex).Name = iIndex.ToString
- Me.lblImage(iIndex).Name = iIndex.ToString
- Me.pnlImage(iIndex).Size = New Size(187, 187)
- Me.pbImage(iIndex).Size = New Size(181, 151)
- Me.lblImage(iIndex).Size = New Size(181, 30)
- Me.pnlImage(iIndex).BackColor = Color.White
- Me.pnlImage(iIndex).BorderStyle = BorderStyle.FixedSingle
- Me.pbImage(iIndex).SizeMode = PictureBoxSizeMode.Zoom
- Me.lblImage(iIndex).AutoSize = False
- Me.lblImage(iIndex).BackColor = Color.White
- Me.lblImage(iIndex).TextAlign = System.Drawing.ContentAlignment.MiddleCenter
- Me.lblImage(iIndex).Text = sDescription
- Me.pbImage(iIndex).Image = iImage
- Me.pnlImage(iIndex).Left = iLeft
- Me.pbImage(iIndex).Left = 3
- Me.lblImage(iIndex).Left = 0
- Me.pnlImage(iIndex).Top = iTop
- Me.pbImage(iIndex).Top = 3
- Me.lblImage(iIndex).Top = 151
- Me.pnlImage(iIndex).Tag = fTag
- Me.pbImage(iIndex).Tag = fTag
- Me.lblImage(iIndex).Tag = fTag
- Me.pnlImages.Controls.Add(Me.pnlImage(iIndex))
- Me.pnlImage(iIndex).Controls.Add(Me.pbImage(iIndex))
- Me.pnlImage(iIndex).Controls.Add(Me.lblImage(iIndex))
- Me.pnlImage(iIndex).BringToFront()
- AddHandler pbImage(iIndex).Click, AddressOf pbImage_Click
- AddHandler pbImage(iIndex).DoubleClick, AddressOf pbImage_DoubleClick
- AddHandler pnlImage(iIndex).Click, AddressOf pnlImage_Click
- AddHandler lblImage(iIndex).Click, AddressOf lblImage_Click
-
- AddHandler pbImage(iIndex).MouseWheel, AddressOf MouseWheelEvent
- AddHandler pnlImage(iIndex).MouseWheel, AddressOf MouseWheelEvent
- AddHandler lblImage(iIndex).MouseWheel, AddressOf MouseWheelEvent
-
- Catch ex As Exception
- Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
- End Try
-
- Me.iCounter += 1
-
- If Me.iCounter = 3 Then
- Me.iCounter = 0
- Me.iLeft = 5
- Me.iTop += 192
- Else
- Me.iLeft += 192
- End If
- End Sub
+ Public Overloads Function ShowDialog(ByVal ShowID As Integer, ByVal Type As Enums.TVImageType, ByVal Season As Integer, ByVal CurrentImage As Images) As Images
+ Me._id = ShowID
+ Me._type = Type
+ Me._season = Season
+ Me.pbCurrent.Image = CurrentImage.Image
+ Me.pbCurrent.Tag = CurrentImage
+
+ If MyBase.ShowDialog = Windows.Forms.DialogResult.OK Then
+ Return CType(Me.pbCurrent.Tag, Images)
+ Else
+ Return Nothing
+ End If
+ End Function
+
+ Private Sub AddImage(ByVal sDescription As String, ByVal iIndex As Integer, ByVal fTag As ImageTag)
+ Try
+ ReDim Preserve Me.pnlImage(iIndex)
+ ReDim Preserve Me.pbImage(iIndex)
+ ReDim Preserve Me.lblImage(iIndex)
+ Me.pnlImage(iIndex) = New Panel()
+ Me.pbImage(iIndex) = New PictureBox()
+ Me.lblImage(iIndex) = New Label()
+ Me.pbImage(iIndex).Name = iIndex.ToString
+ Me.pnlImage(iIndex).Name = iIndex.ToString
+ Me.lblImage(iIndex).Name = iIndex.ToString
+ Me.pnlImage(iIndex).Size = New Size(187, 187)
+ Me.pbImage(iIndex).Size = New Size(181, 151)
+ Me.lblImage(iIndex).Size = New Size(181, 30)
+ Me.pnlImage(iIndex).BackColor = Color.White
+ Me.pnlImage(iIndex).BorderStyle = BorderStyle.FixedSingle
+ Me.pbImage(iIndex).SizeMode = PictureBoxSizeMode.Zoom
+ Me.lblImage(iIndex).AutoSize = False
+ Me.lblImage(iIndex).BackColor = Color.White
+ Me.lblImage(iIndex).TextAlign = System.Drawing.ContentAlignment.MiddleCenter
+ Me.lblImage(iIndex).Text = sDescription
+ Me.pbImage(iIndex).Image = fTag.ImageObj.Image
+ Me.pnlImage(iIndex).Left = iLeft
+ Me.pbImage(iIndex).Left = 3
+ Me.lblImage(iIndex).Left = 0
+ Me.pnlImage(iIndex).Top = iTop
+ Me.pbImage(iIndex).Top = 3
+ Me.lblImage(iIndex).Top = 151
+ Me.pnlImage(iIndex).Tag = fTag
+ Me.pbImage(iIndex).Tag = fTag
+ Me.lblImage(iIndex).Tag = fTag
+ Me.pnlImages.Controls.Add(Me.pnlImage(iIndex))
+ Me.pnlImage(iIndex).Controls.Add(Me.pbImage(iIndex))
+ Me.pnlImage(iIndex).Controls.Add(Me.lblImage(iIndex))
+ Me.pnlImage(iIndex).BringToFront()
+ AddHandler pbImage(iIndex).Click, AddressOf pbImage_Click
+ AddHandler pbImage(iIndex).DoubleClick, AddressOf pbImage_DoubleClick
+ AddHandler pnlImage(iIndex).Click, AddressOf pnlImage_Click
+ AddHandler lblImage(iIndex).Click, AddressOf lblImage_Click
+
+ AddHandler pbImage(iIndex).MouseWheel, AddressOf MouseWheelEvent
+ AddHandler pnlImage(iIndex).MouseWheel, AddressOf MouseWheelEvent
+ AddHandler lblImage(iIndex).MouseWheel, AddressOf MouseWheelEvent
+
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ Me.iCounter += 1
+
+ If Me.iCounter = 3 Then
+ Me.iCounter = 0
+ Me.iLeft = 5
+ Me.iTop += 192
+ Else
+ Me.iLeft += 192
+ End If
+ End Sub
Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
If Me.bwLoadData.IsBusy Then Me.bwLoadData.CancelAsync()
@@ -387,7 +388,7 @@ Public Class dlgTVImageSelect
Scraper.TVDBImages.ShowFanart.Image.FromWeb(Scraper.TVDBImages.ShowFanart.URL)
If Not IsNothing(Scraper.TVDBImages.ShowFanart.Image.Image) Then
Directory.CreateDirectory(Directory.GetParent(Scraper.TVDBImages.ShowFanart.LocalFile).FullName)
- Scraper.TVDBImages.ShowFanart.Image.Save(Scraper.TVDBImages.ShowFanart.LocalFile)
+ Scraper.TVDBImages.ShowFanart.Image.Save(Scraper.TVDBImages.ShowFanart.LocalFile, , , False)
Master.currShow.ShowFanartPath = Scraper.TVDBImages.ShowFanart.LocalFile
End If
End If
@@ -398,32 +399,36 @@ Public Class dlgTVImageSelect
Me.lblStatus.Text = Master.eLang.GetString(87, "Downloading Fullsize Fanart Image...")
Me.pbStatus.Style = ProgressBarStyle.Marquee
Me.pnlStatus.Visible = True
- If Not String.IsNullOrEmpty(Scraper.TVDBImages.SeasonImageList(0).Fanart.LocalFile) AndAlso File.Exists(Scraper.TVDBImages.SeasonImageList(0).Fanart.LocalFile) Then
- Scraper.TVDBImages.SeasonImageList(0).Fanart.Image.FromFile(Scraper.TVDBImages.SeasonImageList(0).Fanart.LocalFile)
- Me.pbCurrent.Image = Scraper.TVDBImages.SeasonImageList(0).Fanart.Image.Image
- ElseIf Not String.IsNullOrEmpty(Scraper.TVDBImages.SeasonImageList(0).Fanart.URL) AndAlso Not String.IsNullOrEmpty(Scraper.TVDBImages.SeasonImageList(0).Fanart.LocalFile) Then
- Scraper.TVDBImages.SeasonImageList(0).Fanart.Image.Clear()
- Scraper.TVDBImages.SeasonImageList(0).Fanart.Image.FromWeb(Scraper.TVDBImages.SeasonImageList(0).Fanart.URL)
- If Not IsNothing(Scraper.TVDBImages.SeasonImageList(0).Fanart.Image.Image) Then
- Directory.CreateDirectory(Directory.GetParent(Scraper.TVDBImages.SeasonImageList(0).Fanart.LocalFile).FullName)
- Scraper.TVDBImages.SeasonImageList(0).Fanart.Image.Save(Scraper.TVDBImages.SeasonImageList(0).Fanart.LocalFile)
- Me.pbCurrent.Image = Scraper.TVDBImages.SeasonImageList(0).Fanart.Image.Image
- End If
- End If
+ If Not String.IsNullOrEmpty(Scraper.TVDBImages.SeasonImageList(0).Fanart.LocalFile) AndAlso File.Exists(Scraper.TVDBImages.SeasonImageList(0).Fanart.LocalFile) Then
+ Scraper.TVDBImages.SeasonImageList(0).Fanart.Image.FromFile(Scraper.TVDBImages.SeasonImageList(0).Fanart.LocalFile)
+ Me.pbCurrent.Image = Scraper.TVDBImages.SeasonImageList(0).Fanart.Image.Image
+ Me.pbCurrent.Tag = Scraper.TVDBImages.SeasonImageList(0).Fanart.Image
+ ElseIf Not String.IsNullOrEmpty(Scraper.TVDBImages.SeasonImageList(0).Fanart.URL) AndAlso Not String.IsNullOrEmpty(Scraper.TVDBImages.SeasonImageList(0).Fanart.LocalFile) Then
+ Scraper.TVDBImages.SeasonImageList(0).Fanart.Image.Clear()
+ Scraper.TVDBImages.SeasonImageList(0).Fanart.Image.FromWeb(Scraper.TVDBImages.SeasonImageList(0).Fanart.URL)
+ If Not IsNothing(Scraper.TVDBImages.SeasonImageList(0).Fanart.Image.Image) Then
+ Directory.CreateDirectory(Directory.GetParent(Scraper.TVDBImages.SeasonImageList(0).Fanart.LocalFile).FullName)
+ Scraper.TVDBImages.SeasonImageList(0).Fanart.Image.Save(Scraper.TVDBImages.SeasonImageList(0).Fanart.LocalFile, , , False)
+ Me.pbCurrent.Image = Scraper.TVDBImages.SeasonImageList(0).Fanart.Image.Image
+ Me.pbCurrent.Tag = Scraper.TVDBImages.SeasonImageList(0).Fanart.Image
+ End If
+ End If
ElseIf (Me._type = Enums.TVImageType.ShowFanart OrElse Me._type = Enums.TVImageType.EpisodeFanart) AndAlso Me._fanartchanged Then
Me.lblStatus.Text = Master.eLang.GetString(87, "Downloading Fullsize Fanart Image...")
Me.pbStatus.Style = ProgressBarStyle.Marquee
Me.pnlStatus.Visible = True
If Not String.IsNullOrEmpty(Scraper.TVDBImages.ShowFanart.LocalFile) AndAlso File.Exists(Scraper.TVDBImages.ShowFanart.LocalFile) Then
Scraper.TVDBImages.ShowFanart.Image.FromFile(Scraper.TVDBImages.ShowFanart.LocalFile)
- Me.pbCurrent.Image = Scraper.TVDBImages.ShowFanart.Image.Image
+ Me.pbCurrent.Image = Scraper.TVDBImages.ShowFanart.Image.Image
+ Me.pbCurrent.Tag = Scraper.TVDBImages.ShowFanart.Image
ElseIf Not String.IsNullOrEmpty(Scraper.TVDBImages.ShowFanart.URL) AndAlso Not String.IsNullOrEmpty(Scraper.TVDBImages.ShowFanart.LocalFile) Then
Scraper.TVDBImages.ShowFanart.Image.Clear()
Scraper.TVDBImages.ShowFanart.Image.FromWeb(Scraper.TVDBImages.ShowFanart.URL)
If Not IsNothing(Scraper.TVDBImages.ShowFanart.Image.Image) Then
Directory.CreateDirectory(Directory.GetParent(Scraper.TVDBImages.ShowFanart.LocalFile).FullName)
- Scraper.TVDBImages.ShowFanart.Image.Save(Scraper.TVDBImages.ShowFanart.LocalFile)
- Me.pbCurrent.Image = Scraper.TVDBImages.ShowFanart.Image.Image
+ Scraper.TVDBImages.ShowFanart.Image.Save(Scraper.TVDBImages.ShowFanart.LocalFile, , , False)
+ Me.pbCurrent.Image = Scraper.TVDBImages.ShowFanart.Image.Image
+ Me.pbCurrent.Tag = Scraper.TVDBImages.ShowFanart.Image
End If
End If
End If
@@ -453,21 +458,21 @@ Public Class dlgTVImageSelect
Select Case Me._type
Case Enums.TVImageType.AllSeasonPoster
- Scraper.TVDBImages.AllSeasonPoster.Image.Image = Me.pbCurrent.Image
+ Scraper.TVDBImages.AllSeasonPoster.Image = CType(Me.pbCurrent.Tag, Images)
Case Enums.TVImageType.SeasonFanart
cSI = New Scraper.TVDBSeasonImage
cSI.Season = Me._season
- cSI.Fanart.Image.Image = Me.pbCurrent.Image
+ cSI.Fanart.Image = CType(Me.pbCurrent.Tag, Images)
Scraper.TVDBImages.SeasonImageList.Add(cSI)
Case Enums.TVImageType.SeasonPoster
cSI = New Scraper.TVDBSeasonImage
cSI.Season = Me._season
- cSI.Poster.Image = Me.pbCurrent.Image
+ cSI.Poster = CType(Me.pbCurrent.Tag, Images)
Scraper.TVDBImages.SeasonImageList.Add(cSI)
Case Enums.TVImageType.ShowFanart, Enums.TVImageType.EpisodeFanart
- Scraper.TVDBImages.ShowFanart.Image.Image = Me.pbCurrent.Image
+ Scraper.TVDBImages.ShowFanart.Image = CType(Me.pbCurrent.Tag, Images)
Case Enums.TVImageType.ShowPoster
- Scraper.TVDBImages.ShowPoster.Image.Image = Me.pbCurrent.Image
+ Scraper.TVDBImages.ShowPoster.Image = CType(Me.pbCurrent.Tag, Images)
Case Enums.TVImageType.All
If _withcurrent Then
@@ -652,7 +657,8 @@ Public Class dlgTVImageSelect
Me.iCounter = 0
Me.iLeft = 5
Me.iTop = 5
- Me.pbCurrent.Image = Nothing
+ Me.pbCurrent.Image = Nothing
+ Me.pbCurrent.Tag = Nothing
If Me.pnlImages.Controls.Count > 0 Then
For i As Integer = UBound(Me.pnlImage) To 0 Step -1
@@ -684,25 +690,25 @@ Public Class dlgTVImageSelect
Me.bwLoadData.RunWorkerAsync()
End Sub
- Private Sub DoSelect(ByVal iIndex As Integer, ByVal SelImage As Image, ByVal SelTag As ImageTag)
- Try
- For i As Integer = 0 To UBound(Me.pnlImage)
- Me.pnlImage(i).BackColor = Color.White
- Me.lblImage(i).BackColor = Color.White
- Me.lblImage(i).ForeColor = Color.Black
- Next
+ Private Sub DoSelect(ByVal iIndex As Integer, ByVal SelTag As ImageTag)
+ Try
+ For i As Integer = 0 To UBound(Me.pnlImage)
+ Me.pnlImage(i).BackColor = Color.White
+ Me.lblImage(i).BackColor = Color.White
+ Me.lblImage(i).ForeColor = Color.Black
+ Next
- Me.pnlImage(iIndex).BackColor = Color.Blue
- Me.lblImage(iIndex).BackColor = Color.Blue
- Me.lblImage(iIndex).ForeColor = Color.White
+ Me.pnlImage(iIndex).BackColor = Color.Blue
+ Me.lblImage(iIndex).BackColor = Color.Blue
+ Me.lblImage(iIndex).ForeColor = Color.White
- SetImage(SelImage, SelTag)
+ SetImage(SelTag)
- Me.CheckCurrentImage()
- Catch ex As Exception
- Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
- End Try
- End Sub
+ Me.CheckCurrentImage()
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
Private Function DownloadAllImages() As Boolean
Dim iProgress As Integer = 1
@@ -745,7 +751,7 @@ Public Class dlgTVImageSelect
Seas.Image.FromWeb(Seas.URL)
If Not IsNothing(Seas.Image.Image) Then
Directory.CreateDirectory(Directory.GetParent(Seas.LocalFile).FullName)
- Seas.Image.Save(Seas.LocalFile)
+ Seas.Image.Save(Seas.LocalFile, , , False)
SeasonList.Add(Seas)
End If
End If
@@ -774,12 +780,12 @@ Public Class dlgTVImageSelect
SPost.Image.FromWeb(SPost.URL)
If Not IsNothing(SPost.Image.Image) Then
Directory.CreateDirectory(Directory.GetParent(SPost.LocalFile).FullName)
- SPost.Image.Save(SPost.LocalFile)
+ SPost.Image.Save(SPost.LocalFile, , , False)
ShowPosterList.Add(SPost)
End If
End If
Else
- SPost.Image.FromFile(SPost.LocalFile)
+ SPost.Image.FromFile(SPost.LocalFile)
ShowPosterList.Add(SPost)
End If
@@ -803,7 +809,7 @@ Public Class dlgTVImageSelect
SFan.Image.FromWeb(SFan.ThumbnailURL)
If Not IsNothing(SFan.Image.Image) Then
Directory.CreateDirectory(Directory.GetParent(SFan.LocalThumb).FullName)
- SFan.Image.Image.Save(SFan.LocalThumb)
+ SFan.Image.Save(SFan.LocalThumb, , , False)
FanartList.Add(SFan)
End If
End If
@@ -833,7 +839,7 @@ Public Class dlgTVImageSelect
Post.Image.FromWeb(Post.URL)
If Not IsNothing(Post.Image.Image) Then
Directory.CreateDirectory(Directory.GetParent(Post.LocalFile).FullName)
- Post.Image.Save(Post.LocalFile)
+ Post.Image.Save(Post.LocalFile, , , False)
GenericPosterList.Add(Post)
End If
End If
@@ -877,7 +883,7 @@ Public Class dlgTVImageSelect
tImage.FromWeb(iTag.URL)
If Not IsNothing(tImage.Image) Then
Directory.CreateDirectory(Directory.GetParent(iTag.Path).FullName)
- tImage.Save(iTag.Path)
+ tImage.Save(iTag.Path, , , False)
End If
sHTTP = Nothing
@@ -955,7 +961,7 @@ Public Class dlgTVImageSelect
Private Sub lblImage_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim iindex As Integer = Convert.ToInt32(DirectCast(sender, Label).Name)
- Me.DoSelect(iindex, Me.pbImage(iindex).Image, DirectCast(DirectCast(sender, Label).Tag, ImageTag))
+ Me.DoSelect(iindex, DirectCast(DirectCast(sender, Label).Tag, ImageTag))
End Sub
Private Sub MouseWheelEvent(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
@@ -975,12 +981,13 @@ Public Class dlgTVImageSelect
End Sub
Private Sub pbDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pbDelete.Click
- Me.pbCurrent.Image = Nothing
- Me.SetImage(Nothing, New ImageTag)
+ Me.pbCurrent.Image = Nothing
+ Me.pbCurrent.Tag = Nothing
+ Me.SetImage(New ImageTag)
End Sub
Private Sub pbImage_Click(ByVal sender As Object, ByVal e As System.EventArgs)
- Me.DoSelect(Convert.ToInt32(DirectCast(sender, PictureBox).Name), DirectCast(sender, PictureBox).Image, DirectCast(DirectCast(sender, PictureBox).Tag, ImageTag))
+ Me.DoSelect(Convert.ToInt32(DirectCast(sender, PictureBox).Name), DirectCast(DirectCast(sender, PictureBox).Tag, ImageTag))
End Sub
Private Sub pbImage_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs)
@@ -998,74 +1005,80 @@ Public Class dlgTVImageSelect
Private Sub pbUndo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pbUndo.Click
If Me.SelSeason = -999 Then
If Me.SelIsPoster Then
- Scraper.TVDBImages.ShowPoster.Image.Image = DefaultImages.ShowPoster.Image.Image
+ Scraper.TVDBImages.ShowPoster.Image = DefaultImages.ShowPoster.Image
Scraper.TVDBImages.ShowPoster.LocalFile = DefaultImages.ShowPoster.LocalFile
Scraper.TVDBImages.ShowPoster.URL = DefaultImages.ShowPoster.URL
- Me.pbCurrent.Image = Scraper.TVDBImages.ShowPoster.Image.Image
+ Me.pbCurrent.Image = Scraper.TVDBImages.ShowPoster.Image.Image
+ Me.pbCurrent.Tag = Scraper.TVDBImages.ShowPoster.Image
Else
- Scraper.TVDBImages.ShowFanart.Image.Image = DefaultImages.ShowFanart.Image.Image
+ Scraper.TVDBImages.ShowFanart.Image = DefaultImages.ShowFanart.Image
Scraper.TVDBImages.ShowFanart.LocalFile = DefaultImages.ShowFanart.LocalFile
Scraper.TVDBImages.ShowFanart.URL = DefaultImages.ShowFanart.URL
- Me.pbCurrent.Image = Scraper.TVDBImages.ShowFanart.Image.Image
+ Me.pbCurrent.Image = Scraper.TVDBImages.ShowFanart.Image.Image
+ Me.pbCurrent.Tag = Scraper.TVDBImages.ShowFanart.Image
End If
ElseIf Me.SelSeason = 999 Then
- Scraper.TVDBImages.AllSeasonPoster.Image.Image = DefaultImages.AllSeasonPoster.Image.Image
+ Scraper.TVDBImages.AllSeasonPoster.Image = DefaultImages.AllSeasonPoster.Image
Scraper.TVDBImages.AllSeasonPoster.LocalFile = DefaultImages.AllSeasonPoster.LocalFile
Scraper.TVDBImages.AllSeasonPoster.URL = DefaultImages.AllSeasonPoster.URL
- Me.pbCurrent.Image = Scraper.TVDBImages.AllSeasonPoster.Image.Image
+ Me.pbCurrent.Image = Scraper.TVDBImages.AllSeasonPoster.Image.Image
+ Me.pbCurrent.Tag = Scraper.TVDBImages.AllSeasonPoster.Image
Else
If Me.SelIsPoster Then
- Dim dSPost As Image = DefaultImages.SeasonImageList.FirstOrDefault(Function(s) s.Season = Me.SelSeason).Poster.Image
- Scraper.TVDBImages.SeasonImageList.FirstOrDefault(Function(s) s.Season = Me.SelSeason).Poster.Image = dSPost
- Me.pbCurrent.Image = dSPost
+ Dim dSPost As Images = DefaultImages.SeasonImageList.FirstOrDefault(Function(s) s.Season = Me.SelSeason).Poster
+ Scraper.TVDBImages.SeasonImageList.FirstOrDefault(Function(s) s.Season = Me.SelSeason).Poster = dSPost
+ Me.pbCurrent.Image = dSPost.Image
+ Me.pbCurrent.Tag = dSPost
Else
Dim dSFan As Scraper.TVDBFanart = DefaultImages.SeasonImageList.FirstOrDefault(Function(s) s.Season = Me.SelSeason).Fanart
Dim tSFan As Scraper.TVDBFanart = Scraper.TVDBImages.SeasonImageList.FirstOrDefault(Function(s) s.Season = Me.SelSeason).Fanart
- tSFan.Image.Image = dSFan.Image.Image
+ tSFan.Image = dSFan.Image
tSFan.LocalFile = dSFan.LocalFile
tSFan.URL = dSFan.URL
- Me.pbCurrent.Image = dSFan.Image.Image
+ Me.pbCurrent.Image = dSFan.Image.Image
+ Me.pbCurrent.Tag = dSFan.Image
End If
End If
End Sub
Private Sub pnlImage_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim iIndex As Integer = Convert.ToInt32(DirectCast(sender, Panel).Name)
- Me.DoSelect(iIndex, Me.pbImage(iIndex).Image, DirectCast(DirectCast(sender, Panel).Tag, ImageTag))
+ Me.DoSelect(iIndex, DirectCast(DirectCast(sender, Panel).Tag, ImageTag))
End Sub
- Private Sub SetImage(ByVal SelImage As Image, ByVal SelTag As ImageTag)
- Me.pbCurrent.Image = SelImage
-
- Me._fanartchanged = True
-
- If Me.SelSeason = -999 Then
- If Me.SelIsPoster Then
- Scraper.TVDBImages.ShowPoster.Image.Image = SelImage
- Scraper.TVDBImages.ShowPoster.LocalFile = SelTag.Path
- Scraper.TVDBImages.ShowPoster.URL = SelTag.URL
- Else
- Scraper.TVDBImages.ShowFanart.Image.Image = SelImage
- Scraper.TVDBImages.ShowFanart.LocalFile = SelTag.Path
- Scraper.TVDBImages.ShowFanart.URL = SelTag.URL
- End If
- ElseIf Me.SelSeason = 999 Then
- Scraper.TVDBImages.AllSeasonPoster.Image.Image = SelImage
- Scraper.TVDBImages.AllSeasonPoster.LocalFile = SelTag.Path
- Scraper.TVDBImages.AllSeasonPoster.URL = SelTag.URL
- Else
- If Me.SelIsPoster Then
- Scraper.TVDBImages.SeasonImageList.FirstOrDefault(Function(s) s.Season = Me.SelSeason).Poster.Image = SelImage
- Else
- Dim tFan As Scraper.TVDBFanart = Scraper.TVDBImages.SeasonImageList.FirstOrDefault(Function(s) s.Season = Me.SelSeason).Fanart
- If Not IsNothing(tFan) Then
- tFan.Image.Image = SelImage
- tFan.LocalFile = SelTag.Path
- tFan.URL = SelTag.URL
- End If
- End If
- End If
- End Sub
+ Private Sub SetImage(ByVal SelTag As ImageTag)
+ Me.pbCurrent.Image = SelTag.ImageObj.Image
+ Me.pbCurrent.Tag = SelTag.ImageObj
+
+ Me._fanartchanged = True
+
+ If Me.SelSeason = -999 Then
+ If Me.SelIsPoster Then
+ Scraper.TVDBImages.ShowPoster.Image = SelTag.ImageObj
+ Scraper.TVDBImages.ShowPoster.LocalFile = SelTag.Path
+ Scraper.TVDBImages.ShowPoster.URL = SelTag.URL
+ Else
+ Scraper.TVDBImages.ShowFanart.Image = SelTag.ImageObj
+ Scraper.TVDBImages.ShowFanart.LocalFile = SelTag.Path
+ Scraper.TVDBImages.ShowFanart.URL = SelTag.URL
+ End If
+ ElseIf Me.SelSeason = 999 Then
+ Scraper.TVDBImages.AllSeasonPoster.Image = SelTag.ImageObj
+ Scraper.TVDBImages.AllSeasonPoster.LocalFile = SelTag.Path
+ Scraper.TVDBImages.AllSeasonPoster.URL = SelTag.URL
+ Else
+ If Me.SelIsPoster Then
+ Scraper.TVDBImages.SeasonImageList.FirstOrDefault(Function(s) s.Season = Me.SelSeason).Poster = SelTag.ImageObj
+ Else
+ Dim tFan As Scraper.TVDBFanart = Scraper.TVDBImages.SeasonImageList.FirstOrDefault(Function(s) s.Season = Me.SelSeason).Fanart
+ If Not IsNothing(tFan) Then
+ tFan.Image = SelTag.ImageObj
+ tFan.LocalFile = SelTag.Path
+ tFan.URL = SelTag.URL
+ End If
+ End If
+ End If
+ End Sub
Private Sub SetUp()
Me.Text = Master.eLang.GetString(99, "TV Image Selection")
@@ -1094,13 +1107,13 @@ Public Class dlgTVImageSelect
iCount = ShowPosterList.Count
For i = 0 To iCount - 1
If Not IsNothing(ShowPosterList(i)) AndAlso Not IsNothing(ShowPosterList(i).Image) AndAlso Not IsNothing(ShowPosterList(i).Image.Image) Then
- Me.AddImage(ShowPosterList(i).Image.Image, String.Format("{0}x{1}", ShowPosterList(i).Image.Image.Width, ShowPosterList(i).Image.Image.Height), i, New ImageTag With {.URL = ShowPosterList(i).URL, .Path = ShowPosterList(i).LocalFile, .isFanart = False})
+ Me.AddImage(String.Format("{0}x{1}", ShowPosterList(i).Image.Image.Width, ShowPosterList(i).Image.Image.Height), i, New ImageTag With {.URL = ShowPosterList(i).URL, .Path = ShowPosterList(i).LocalFile, .isFanart = False, .ImageObj = ShowPosterList(i).Image})
End If
Next
For i = 0 To GenericPosterList.Count - 1
If Not IsNothing(GenericPosterList(i)) AndAlso Not IsNothing(GenericPosterList(i).Image) AndAlso Not IsNothing(GenericPosterList(i).Image.Image) Then
- Me.AddImage(GenericPosterList(i).Image.Image, String.Format("{0}x{1}", GenericPosterList(i).Image.Image.Width, GenericPosterList(i).Image.Image.Height), i + iCount, New ImageTag With {.URL = GenericPosterList(i).URL, .Path = GenericPosterList(i).LocalFile, .isFanart = False})
+ Me.AddImage(String.Format("{0}x{1}", GenericPosterList(i).Image.Image.Width, GenericPosterList(i).Image.Image.Height), i + iCount, New ImageTag With {.URL = GenericPosterList(i).URL, .Path = GenericPosterList(i).LocalFile, .isFanart = False, .ImageObj = GenericPosterList(i).Image})
End If
Next
@@ -1116,7 +1129,7 @@ Public Class dlgTVImageSelect
For i = 0 To FanartList.Count - 1
If Not IsNothing(FanartList(i)) AndAlso Not IsNothing(FanartList(i).Image) AndAlso Not IsNothing(FanartList(i).Image.Image) Then
- Me.AddImage(FanartList(i).Image.Image, String.Format("{0}x{1}", FanartList(i).Size.Width, FanartList(i).Size.Height), i, New ImageTag With {.URL = FanartList(i).URL, .Path = FanartList(i).LocalFile, .isFanart = True})
+ Me.AddImage(String.Format("{0}x{1}", FanartList(i).Size.Width, FanartList(i).Size.Height), i, New ImageTag With {.URL = FanartList(i).URL, .Path = FanartList(i).LocalFile, .isFanart = True, .ImageObj = FanartList(i).Image})
End If
Next
@@ -1132,13 +1145,13 @@ Public Class dlgTVImageSelect
iCount = GenericPosterList.Count
For i = 0 To iCount - 1
If Not IsNothing(GenericPosterList(i)) AndAlso Not IsNothing(GenericPosterList(i).Image) AndAlso Not IsNothing(GenericPosterList(i).Image.Image) Then
- Me.AddImage(GenericPosterList(i).Image.Image, String.Format("{0}x{1}", GenericPosterList(i).Image.Image.Width, GenericPosterList(i).Image.Image.Height), i, New ImageTag With {.URL = GenericPosterList(i).URL, .Path = GenericPosterList(i).LocalFile, .isFanart = False})
+ Me.AddImage(String.Format("{0}x{1}", GenericPosterList(i).Image.Image.Width, GenericPosterList(i).Image.Image.Height), i, New ImageTag With {.URL = GenericPosterList(i).URL, .Path = GenericPosterList(i).LocalFile, .isFanart = False, .ImageObj = GenericPosterList(i).Image})
End If
Next
For i = 0 To ShowPosterList.Count - 1
If Not IsNothing(ShowPosterList(i)) AndAlso Not IsNothing(ShowPosterList(i).Image) AndAlso Not IsNothing(ShowPosterList(i).Image.Image) Then
- Me.AddImage(ShowPosterList(i).Image.Image, String.Format("{0}x{1}", ShowPosterList(i).Image.Image.Width, ShowPosterList(i).Image.Image.Height), i + iCount, New ImageTag With {.URL = ShowPosterList(i).URL, .Path = ShowPosterList(i).LocalFile, .isFanart = False})
+ Me.AddImage(String.Format("{0}x{1}", ShowPosterList(i).Image.Image.Width, ShowPosterList(i).Image.Image.Height), i + iCount, New ImageTag With {.URL = ShowPosterList(i).URL, .Path = ShowPosterList(i).LocalFile, .isFanart = False, .ImageObj = ShowPosterList(i).Image})
End If
Next
Else
@@ -1155,7 +1168,7 @@ Public Class dlgTVImageSelect
End If
For i = 0 To FanartList.Count - 1
If Not IsNothing(FanartList(i)) AndAlso Not IsNothing(FanartList(i).Image) AndAlso Not IsNothing(FanartList(i).Image.Image) Then
- Me.AddImage(FanartList(i).Image.Image, String.Format("{0}x{1}", FanartList(i).Size.Width, FanartList(i).Size.Height), i, New ImageTag With {.URL = FanartList(i).URL, .Path = FanartList(i).LocalFile, .isFanart = True})
+ Me.AddImage(String.Format("{0}x{1}", FanartList(i).Size.Width, FanartList(i).Size.Height), i, New ImageTag With {.URL = FanartList(i).URL, .Path = FanartList(i).LocalFile, .isFanart = True, .ImageObj = FanartList(i).Image})
End If
Next
ElseIf tMatch.Groups("type").Value = "p" Then
@@ -1170,7 +1183,7 @@ Public Class dlgTVImageSelect
iCount = 0
For Each SImage As Scraper.TVDBSeasonPoster In SeasonList.Where(Function(s) s.Season = Convert.ToInt32(tMatch.Groups("num").Value))
If Not IsNothing(SImage.Image) AndAlso Not IsNothing(SImage.Image.Image) Then
- Me.AddImage(SImage.Image.Image, String.Format("{0}x{1}", SImage.Image.Image.Width, SImage.Image.Image.Height), iCount, New ImageTag With {.URL = SImage.URL, .Path = SImage.LocalFile, .isFanart = False})
+ Me.AddImage(String.Format("{0}x{1}", SImage.Image.Image.Width, SImage.Image.Image.Height), iCount, New ImageTag With {.URL = SImage.URL, .Path = SImage.LocalFile, .isFanart = False, .ImageObj = SImage.Image})
End If
iCount += 1
Next
@@ -1199,7 +1212,8 @@ Public Class dlgTVImageSelect
Dim isFanart As Boolean
Dim Path As String
- Dim URL As String
+ Dim URL As String
+ Dim ImageObj As Images
#End Region 'Fields
diff --git a/Addons/scraper.EmberCore/frmInfoSettingsHolder.Designer.vb b/Addons/scraper.EmberCore/frmInfoSettingsHolder.Designer.vb
index fa997c4..c3675d6 100644
--- a/Addons/scraper.EmberCore/frmInfoSettingsHolder.Designer.vb
+++ b/Addons/scraper.EmberCore/frmInfoSettingsHolder.Designer.vb
@@ -22,570 +22,570 @@ Partial Class frmInfoSettingsHolder
'Do not modify it using the code editor.
_
Private Sub InitializeComponent()
- Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmInfoSettingsHolder))
- Me.lblVersion = New System.Windows.Forms.Label()
- Me.GroupBox30 = New System.Windows.Forms.GroupBox()
- Me.Label18 = New System.Windows.Forms.Label()
- Me.txtIMDBURL = New System.Windows.Forms.TextBox()
- Me.GroupBox15 = New System.Windows.Forms.GroupBox()
- Me.chkOFDBGenre = New System.Windows.Forms.CheckBox()
- Me.chkOFDBPlot = New System.Windows.Forms.CheckBox()
- Me.chkOFDBOutline = New System.Windows.Forms.CheckBox()
- Me.chkOFDBTitle = New System.Windows.Forms.CheckBox()
- Me.cbEnabled = New System.Windows.Forms.CheckBox()
- Me.Panel1 = New System.Windows.Forms.Panel()
- Me.Label2 = New System.Windows.Forms.Label()
- Me.btnDown = New System.Windows.Forms.Button()
- Me.btnUp = New System.Windows.Forms.Button()
- Me.pnlSettings = New System.Windows.Forms.Panel()
- Me.Label1 = New System.Windows.Forms.Label()
- Me.PictureBox1 = New System.Windows.Forms.PictureBox()
- Me.gbOptions = New System.Windows.Forms.GroupBox()
- Me.chkCertification = New System.Windows.Forms.CheckBox()
- Me.chkCountry = New System.Windows.Forms.CheckBox()
- Me.chkTop250 = New System.Windows.Forms.CheckBox()
- Me.chkCrew = New System.Windows.Forms.CheckBox()
- Me.chkMusicBy = New System.Windows.Forms.CheckBox()
- Me.chkProducers = New System.Windows.Forms.CheckBox()
- Me.chkFullCast = New System.Windows.Forms.CheckBox()
- Me.chkWriters = New System.Windows.Forms.CheckBox()
- Me.chkStudio = New System.Windows.Forms.CheckBox()
- Me.chkRuntime = New System.Windows.Forms.CheckBox()
- Me.chkFullCrew = New System.Windows.Forms.CheckBox()
- Me.chkPlot = New System.Windows.Forms.CheckBox()
- Me.chkOutline = New System.Windows.Forms.CheckBox()
- Me.chkGenre = New System.Windows.Forms.CheckBox()
- Me.chkDirector = New System.Windows.Forms.CheckBox()
- Me.chkTagline = New System.Windows.Forms.CheckBox()
- Me.chkCast = New System.Windows.Forms.CheckBox()
- Me.chkVotes = New System.Windows.Forms.CheckBox()
- Me.chkTrailer = New System.Windows.Forms.CheckBox()
- Me.chkRating = New System.Windows.Forms.CheckBox()
- Me.chkRelease = New System.Windows.Forms.CheckBox()
- Me.chkMPAA = New System.Windows.Forms.CheckBox()
- Me.chkYear = New System.Windows.Forms.CheckBox()
- Me.chkTitle = New System.Windows.Forms.CheckBox()
- Me.GroupBox30.SuspendLayout()
- Me.GroupBox15.SuspendLayout()
- Me.Panel1.SuspendLayout()
- Me.pnlSettings.SuspendLayout()
- CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
- Me.gbOptions.SuspendLayout()
- Me.SuspendLayout()
- '
- 'lblVersion
- '
- Me.lblVersion.Location = New System.Drawing.Point(286, 393)
- Me.lblVersion.Name = "lblVersion"
- Me.lblVersion.Size = New System.Drawing.Size(90, 16)
- Me.lblVersion.TabIndex = 74
- Me.lblVersion.Text = "Version:"
- '
- 'GroupBox30
- '
- Me.GroupBox30.Controls.Add(Me.Label18)
- Me.GroupBox30.Controls.Add(Me.txtIMDBURL)
- Me.GroupBox30.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.GroupBox30.Location = New System.Drawing.Point(8, 40)
- Me.GroupBox30.Name = "GroupBox30"
- Me.GroupBox30.Size = New System.Drawing.Size(213, 69)
- Me.GroupBox30.TabIndex = 1
- Me.GroupBox30.TabStop = False
- Me.GroupBox30.Text = "IMDB"
- '
- 'Label18
- '
- Me.Label18.AutoSize = True
- Me.Label18.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.Label18.Location = New System.Drawing.Point(6, 18)
- Me.Label18.Name = "Label18"
- Me.Label18.Size = New System.Drawing.Size(73, 13)
- Me.Label18.TabIndex = 0
- Me.Label18.Text = "IMDB Mirror:"
- '
- 'txtIMDBURL
- '
- Me.txtIMDBURL.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.txtIMDBURL.Location = New System.Drawing.Point(8, 32)
- Me.txtIMDBURL.Name = "txtIMDBURL"
- Me.txtIMDBURL.Size = New System.Drawing.Size(192, 22)
- Me.txtIMDBURL.TabIndex = 1
- '
- 'GroupBox15
- '
- Me.GroupBox15.Controls.Add(Me.chkOFDBGenre)
- Me.GroupBox15.Controls.Add(Me.chkOFDBPlot)
- Me.GroupBox15.Controls.Add(Me.chkOFDBOutline)
- Me.GroupBox15.Controls.Add(Me.chkOFDBTitle)
- Me.GroupBox15.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.GroupBox15.Location = New System.Drawing.Point(8, 114)
- Me.GroupBox15.Name = "GroupBox15"
- Me.GroupBox15.Size = New System.Drawing.Size(213, 87)
- Me.GroupBox15.TabIndex = 2
- Me.GroupBox15.TabStop = False
- Me.GroupBox15.Text = "OFDB (German)"
- '
- 'chkOFDBGenre
- '
- Me.chkOFDBGenre.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkOFDBGenre.Location = New System.Drawing.Point(6, 65)
- Me.chkOFDBGenre.Name = "chkOFDBGenre"
- Me.chkOFDBGenre.Size = New System.Drawing.Size(168, 17)
- Me.chkOFDBGenre.TabIndex = 3
- Me.chkOFDBGenre.Text = "Use OFDB Genre"
- Me.chkOFDBGenre.UseVisualStyleBackColor = True
- '
- 'chkOFDBPlot
- '
- Me.chkOFDBPlot.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkOFDBPlot.Location = New System.Drawing.Point(6, 49)
- Me.chkOFDBPlot.Name = "chkOFDBPlot"
- Me.chkOFDBPlot.Size = New System.Drawing.Size(168, 17)
- Me.chkOFDBPlot.TabIndex = 2
- Me.chkOFDBPlot.Text = "Use OFDB Plot"
- Me.chkOFDBPlot.UseVisualStyleBackColor = True
- '
- 'chkOFDBOutline
- '
- Me.chkOFDBOutline.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkOFDBOutline.Location = New System.Drawing.Point(6, 33)
- Me.chkOFDBOutline.Name = "chkOFDBOutline"
- Me.chkOFDBOutline.Size = New System.Drawing.Size(168, 17)
- Me.chkOFDBOutline.TabIndex = 1
- Me.chkOFDBOutline.Text = "Use OFDB Outline"
- Me.chkOFDBOutline.UseVisualStyleBackColor = True
- '
- 'chkOFDBTitle
- '
- Me.chkOFDBTitle.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkOFDBTitle.Location = New System.Drawing.Point(6, 17)
- Me.chkOFDBTitle.Name = "chkOFDBTitle"
- Me.chkOFDBTitle.Size = New System.Drawing.Size(168, 17)
- Me.chkOFDBTitle.TabIndex = 0
- Me.chkOFDBTitle.Text = "Use OFDB Title"
- Me.chkOFDBTitle.UseVisualStyleBackColor = True
- '
- 'cbEnabled
- '
- Me.cbEnabled.AutoSize = True
- Me.cbEnabled.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.cbEnabled.Location = New System.Drawing.Point(10, 5)
- Me.cbEnabled.Name = "cbEnabled"
- Me.cbEnabled.Size = New System.Drawing.Size(68, 17)
- Me.cbEnabled.TabIndex = 0
- Me.cbEnabled.Text = "Enabled"
- Me.cbEnabled.UseVisualStyleBackColor = True
- '
- 'Panel1
- '
- Me.Panel1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
- Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
- Me.Panel1.BackColor = System.Drawing.Color.WhiteSmoke
- Me.Panel1.Controls.Add(Me.Label2)
- Me.Panel1.Controls.Add(Me.btnDown)
- Me.Panel1.Controls.Add(Me.cbEnabled)
- Me.Panel1.Controls.Add(Me.btnUp)
- Me.Panel1.Location = New System.Drawing.Point(0, 0)
- Me.Panel1.Name = "Panel1"
- Me.Panel1.Size = New System.Drawing.Size(1125, 25)
- Me.Panel1.TabIndex = 0
- '
- 'Label2
- '
- Me.Label2.AutoSize = True
- Me.Label2.Font = New System.Drawing.Font("Segoe UI", 6.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.Label2.Location = New System.Drawing.Point(500, 7)
- Me.Label2.Name = "Label2"
- Me.Label2.Size = New System.Drawing.Size(58, 12)
- Me.Label2.TabIndex = 1
- Me.Label2.Text = "Scraper order"
- '
- 'btnDown
- '
- Me.btnDown.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
- Me.btnDown.Image = CType(resources.GetObject("btnDown.Image"), System.Drawing.Image)
- Me.btnDown.Location = New System.Drawing.Point(591, 1)
- Me.btnDown.Name = "btnDown"
- Me.btnDown.Size = New System.Drawing.Size(23, 23)
- Me.btnDown.TabIndex = 3
- Me.btnDown.UseVisualStyleBackColor = True
- '
- 'btnUp
- '
- Me.btnUp.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
- Me.btnUp.Image = CType(resources.GetObject("btnUp.Image"), System.Drawing.Image)
- Me.btnUp.Location = New System.Drawing.Point(566, 1)
- Me.btnUp.Name = "btnUp"
- Me.btnUp.Size = New System.Drawing.Size(23, 23)
- Me.btnUp.TabIndex = 2
- Me.btnUp.UseVisualStyleBackColor = True
- '
- 'pnlSettings
- '
- Me.pnlSettings.Controls.Add(Me.Label1)
- Me.pnlSettings.Controls.Add(Me.PictureBox1)
- Me.pnlSettings.Controls.Add(Me.Panel1)
- Me.pnlSettings.Controls.Add(Me.GroupBox30)
- Me.pnlSettings.Controls.Add(Me.GroupBox15)
- Me.pnlSettings.Controls.Add(Me.gbOptions)
- Me.pnlSettings.Location = New System.Drawing.Point(12, 1)
- Me.pnlSettings.Name = "pnlSettings"
- Me.pnlSettings.Size = New System.Drawing.Size(617, 369)
- Me.pnlSettings.TabIndex = 0
- '
- 'Label1
- '
- Me.Label1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
- Me.Label1.Font = New System.Drawing.Font("Segoe UI", 6.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.Label1.ForeColor = System.Drawing.Color.Blue
- Me.Label1.Location = New System.Drawing.Point(37, 337)
- Me.Label1.Name = "Label1"
- Me.Label1.Size = New System.Drawing.Size(225, 31)
- Me.Label1.TabIndex = 4
- Me.Label1.Text = "These settings are specific to this module." & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Please refer to the global settings " & _
- "for more options."
- Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
- '
- 'PictureBox1
- '
- Me.PictureBox1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
- Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)
- Me.PictureBox1.Location = New System.Drawing.Point(3, 335)
- Me.PictureBox1.Name = "PictureBox1"
- Me.PictureBox1.Size = New System.Drawing.Size(30, 31)
- Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
- Me.PictureBox1.TabIndex = 96
- Me.PictureBox1.TabStop = False
- '
- 'gbOptions
- '
- Me.gbOptions.Controls.Add(Me.chkCertification)
- Me.gbOptions.Controls.Add(Me.chkCountry)
- Me.gbOptions.Controls.Add(Me.chkTop250)
- Me.gbOptions.Controls.Add(Me.chkCrew)
- Me.gbOptions.Controls.Add(Me.chkMusicBy)
- Me.gbOptions.Controls.Add(Me.chkProducers)
- Me.gbOptions.Controls.Add(Me.chkFullCast)
- Me.gbOptions.Controls.Add(Me.chkWriters)
- Me.gbOptions.Controls.Add(Me.chkStudio)
- Me.gbOptions.Controls.Add(Me.chkRuntime)
- Me.gbOptions.Controls.Add(Me.chkFullCrew)
- Me.gbOptions.Controls.Add(Me.chkPlot)
- Me.gbOptions.Controls.Add(Me.chkOutline)
- Me.gbOptions.Controls.Add(Me.chkGenre)
- Me.gbOptions.Controls.Add(Me.chkDirector)
- Me.gbOptions.Controls.Add(Me.chkTagline)
- Me.gbOptions.Controls.Add(Me.chkCast)
- Me.gbOptions.Controls.Add(Me.chkVotes)
- Me.gbOptions.Controls.Add(Me.chkTrailer)
- Me.gbOptions.Controls.Add(Me.chkRating)
- Me.gbOptions.Controls.Add(Me.chkRelease)
- Me.gbOptions.Controls.Add(Me.chkMPAA)
- Me.gbOptions.Controls.Add(Me.chkYear)
- Me.gbOptions.Controls.Add(Me.chkTitle)
- Me.gbOptions.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.gbOptions.Location = New System.Drawing.Point(227, 40)
- Me.gbOptions.Name = "gbOptions"
- Me.gbOptions.Size = New System.Drawing.Size(387, 161)
- Me.gbOptions.TabIndex = 3
- Me.gbOptions.TabStop = False
- Me.gbOptions.Text = "Scraper Fields"
- '
- 'chkCertification
- '
- Me.chkCertification.AutoSize = True
- Me.chkCertification.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkCertification.Location = New System.Drawing.Point(6, 70)
- Me.chkCertification.Name = "chkCertification"
- Me.chkCertification.Size = New System.Drawing.Size(89, 17)
- Me.chkCertification.TabIndex = 3
- Me.chkCertification.Text = "Certification"
- Me.chkCertification.UseVisualStyleBackColor = True
- '
- 'chkCountry
- '
- Me.chkCountry.AutoSize = True
- Me.chkCountry.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkCountry.Location = New System.Drawing.Point(237, 53)
- Me.chkCountry.Name = "chkCountry"
- Me.chkCountry.Size = New System.Drawing.Size(67, 17)
- Me.chkCountry.TabIndex = 18
- Me.chkCountry.Text = "Country"
- Me.chkCountry.UseVisualStyleBackColor = True
- '
- 'chkTop250
- '
- Me.chkTop250.AutoSize = True
- Me.chkTop250.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkTop250.Location = New System.Drawing.Point(237, 19)
- Me.chkTop250.Name = "chkTop250"
- Me.chkTop250.Size = New System.Drawing.Size(66, 17)
- Me.chkTop250.TabIndex = 16
- Me.chkTop250.Text = "Top 250"
- Me.chkTop250.UseVisualStyleBackColor = True
- '
- 'chkCrew
- '
- Me.chkCrew.AutoSize = True
- Me.chkCrew.Enabled = False
- Me.chkCrew.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkCrew.Location = New System.Drawing.Point(246, 104)
- Me.chkCrew.Name = "chkCrew"
- Me.chkCrew.Size = New System.Drawing.Size(85, 17)
- Me.chkCrew.TabIndex = 21
- Me.chkCrew.Text = "Other Crew"
- Me.chkCrew.UseVisualStyleBackColor = True
- '
- 'chkMusicBy
- '
- Me.chkMusicBy.AutoSize = True
- Me.chkMusicBy.Enabled = False
- Me.chkMusicBy.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkMusicBy.Location = New System.Drawing.Point(246, 121)
- Me.chkMusicBy.Name = "chkMusicBy"
- Me.chkMusicBy.Size = New System.Drawing.Size(71, 17)
- Me.chkMusicBy.TabIndex = 22
- Me.chkMusicBy.Text = "Music By"
- Me.chkMusicBy.UseVisualStyleBackColor = True
- '
- 'chkProducers
- '
- Me.chkProducers.AutoSize = True
- Me.chkProducers.Enabled = False
- Me.chkProducers.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkProducers.Location = New System.Drawing.Point(246, 138)
- Me.chkProducers.Name = "chkProducers"
- Me.chkProducers.Size = New System.Drawing.Size(77, 17)
- Me.chkProducers.TabIndex = 23
- Me.chkProducers.Text = "Producers"
- Me.chkProducers.UseVisualStyleBackColor = True
- '
- 'chkFullCast
- '
- Me.chkFullCast.AutoSize = True
- Me.chkFullCast.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkFullCast.Location = New System.Drawing.Point(237, 70)
- Me.chkFullCast.Name = "chkFullCast"
- Me.chkFullCast.Size = New System.Drawing.Size(107, 17)
- Me.chkFullCast.TabIndex = 19
- Me.chkFullCast.Text = "Scrape Full Cast"
- Me.chkFullCast.UseVisualStyleBackColor = True
- '
- 'chkWriters
- '
- Me.chkWriters.AutoSize = True
- Me.chkWriters.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkWriters.Location = New System.Drawing.Point(131, 121)
- Me.chkWriters.Name = "chkWriters"
- Me.chkWriters.Size = New System.Drawing.Size(63, 17)
- Me.chkWriters.TabIndex = 14
- Me.chkWriters.Text = "Writers"
- Me.chkWriters.UseVisualStyleBackColor = True
- '
- 'chkStudio
- '
- Me.chkStudio.AutoSize = True
- Me.chkStudio.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkStudio.Location = New System.Drawing.Point(131, 19)
- Me.chkStudio.Name = "chkStudio"
- Me.chkStudio.Size = New System.Drawing.Size(60, 17)
- Me.chkStudio.TabIndex = 8
- Me.chkStudio.Text = "Studio"
- Me.chkStudio.UseVisualStyleBackColor = True
- '
- 'chkRuntime
- '
- Me.chkRuntime.AutoSize = True
- Me.chkRuntime.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkRuntime.Location = New System.Drawing.Point(6, 104)
- Me.chkRuntime.Name = "chkRuntime"
- Me.chkRuntime.Size = New System.Drawing.Size(69, 17)
- Me.chkRuntime.TabIndex = 5
- Me.chkRuntime.Text = "Runtime"
- Me.chkRuntime.UseVisualStyleBackColor = True
- '
- 'chkFullCrew
- '
- Me.chkFullCrew.AutoSize = True
- Me.chkFullCrew.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkFullCrew.Location = New System.Drawing.Point(237, 87)
- Me.chkFullCrew.Name = "chkFullCrew"
- Me.chkFullCrew.Size = New System.Drawing.Size(111, 17)
- Me.chkFullCrew.TabIndex = 20
- Me.chkFullCrew.Text = "Scrape Full Crew"
- Me.chkFullCrew.UseVisualStyleBackColor = True
- '
- 'chkPlot
- '
- Me.chkPlot.AutoSize = True
- Me.chkPlot.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkPlot.Location = New System.Drawing.Point(131, 70)
- Me.chkPlot.Name = "chkPlot"
- Me.chkPlot.Size = New System.Drawing.Size(46, 17)
- Me.chkPlot.TabIndex = 11
- Me.chkPlot.Text = "Plot"
- Me.chkPlot.UseVisualStyleBackColor = True
- '
- 'chkOutline
- '
- Me.chkOutline.AutoSize = True
- Me.chkOutline.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkOutline.Location = New System.Drawing.Point(131, 53)
- Me.chkOutline.Name = "chkOutline"
- Me.chkOutline.Size = New System.Drawing.Size(65, 17)
- Me.chkOutline.TabIndex = 10
- Me.chkOutline.Text = "Outline"
- Me.chkOutline.UseVisualStyleBackColor = True
- '
- 'chkGenre
- '
- Me.chkGenre.AutoSize = True
- Me.chkGenre.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkGenre.Location = New System.Drawing.Point(131, 138)
- Me.chkGenre.Name = "chkGenre"
- Me.chkGenre.Size = New System.Drawing.Size(57, 17)
- Me.chkGenre.TabIndex = 15
- Me.chkGenre.Text = "Genre"
- Me.chkGenre.UseVisualStyleBackColor = True
- '
- 'chkDirector
- '
- Me.chkDirector.AutoSize = True
- Me.chkDirector.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkDirector.Location = New System.Drawing.Point(131, 104)
- Me.chkDirector.Name = "chkDirector"
- Me.chkDirector.Size = New System.Drawing.Size(67, 17)
- Me.chkDirector.TabIndex = 13
- Me.chkDirector.Text = "Director"
- Me.chkDirector.UseVisualStyleBackColor = True
- '
- 'chkTagline
- '
- Me.chkTagline.AutoSize = True
- Me.chkTagline.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkTagline.Location = New System.Drawing.Point(131, 36)
- Me.chkTagline.Name = "chkTagline"
- Me.chkTagline.Size = New System.Drawing.Size(63, 17)
- Me.chkTagline.TabIndex = 9
- Me.chkTagline.Text = "Tagline"
- Me.chkTagline.UseVisualStyleBackColor = True
- '
- 'chkCast
- '
- Me.chkCast.AutoSize = True
- Me.chkCast.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkCast.Location = New System.Drawing.Point(131, 87)
- Me.chkCast.Name = "chkCast"
- Me.chkCast.Size = New System.Drawing.Size(48, 17)
- Me.chkCast.TabIndex = 12
- Me.chkCast.Text = "Cast"
- Me.chkCast.UseVisualStyleBackColor = True
- '
- 'chkVotes
- '
- Me.chkVotes.AutoSize = True
- Me.chkVotes.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkVotes.Location = New System.Drawing.Point(6, 138)
- Me.chkVotes.Name = "chkVotes"
- Me.chkVotes.Size = New System.Drawing.Size(55, 17)
- Me.chkVotes.TabIndex = 7
- Me.chkVotes.Text = "Votes"
- Me.chkVotes.UseVisualStyleBackColor = True
- '
- 'chkTrailer
- '
- Me.chkTrailer.AutoSize = True
- Me.chkTrailer.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkTrailer.Location = New System.Drawing.Point(237, 36)
- Me.chkTrailer.Name = "chkTrailer"
- Me.chkTrailer.Size = New System.Drawing.Size(57, 17)
- Me.chkTrailer.TabIndex = 17
- Me.chkTrailer.Text = "Trailer"
- Me.chkTrailer.UseVisualStyleBackColor = True
- '
- 'chkRating
- '
- Me.chkRating.AutoSize = True
- Me.chkRating.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkRating.Location = New System.Drawing.Point(6, 121)
- Me.chkRating.Name = "chkRating"
- Me.chkRating.Size = New System.Drawing.Size(60, 17)
- Me.chkRating.TabIndex = 6
- Me.chkRating.Text = "Rating"
- Me.chkRating.UseVisualStyleBackColor = True
- '
- 'chkRelease
- '
- Me.chkRelease.AutoSize = True
- Me.chkRelease.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkRelease.Location = New System.Drawing.Point(6, 87)
- Me.chkRelease.Name = "chkRelease"
- Me.chkRelease.Size = New System.Drawing.Size(92, 17)
- Me.chkRelease.TabIndex = 4
- Me.chkRelease.Text = "Release Date"
- Me.chkRelease.UseVisualStyleBackColor = True
- '
- 'chkMPAA
- '
- Me.chkMPAA.AutoSize = True
- Me.chkMPAA.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkMPAA.Location = New System.Drawing.Point(6, 53)
- Me.chkMPAA.Name = "chkMPAA"
- Me.chkMPAA.Size = New System.Drawing.Size(56, 17)
- Me.chkMPAA.TabIndex = 2
- Me.chkMPAA.Text = "MPAA"
- Me.chkMPAA.UseVisualStyleBackColor = True
- '
- 'chkYear
- '
- Me.chkYear.AutoSize = True
- Me.chkYear.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkYear.Location = New System.Drawing.Point(6, 36)
- Me.chkYear.Name = "chkYear"
- Me.chkYear.Size = New System.Drawing.Size(47, 17)
- Me.chkYear.TabIndex = 1
- Me.chkYear.Text = "Year"
- Me.chkYear.UseVisualStyleBackColor = True
- '
- 'chkTitle
- '
- Me.chkTitle.AutoSize = True
- Me.chkTitle.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkTitle.Location = New System.Drawing.Point(6, 19)
- Me.chkTitle.Name = "chkTitle"
- Me.chkTitle.Size = New System.Drawing.Size(47, 17)
- Me.chkTitle.TabIndex = 0
- Me.chkTitle.Text = "Title"
- Me.chkTitle.UseVisualStyleBackColor = True
- '
- 'frmInfoSettingsHolder
- '
- Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
- Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
- Me.BackColor = System.Drawing.Color.White
- Me.ClientSize = New System.Drawing.Size(652, 388)
- Me.Controls.Add(Me.pnlSettings)
- Me.Controls.Add(Me.lblVersion)
- Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
- Me.MaximizeBox = False
- Me.MinimizeBox = False
- Me.Name = "frmInfoSettingsHolder"
- Me.ShowInTaskbar = False
- Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
- Me.Text = "Scraper Setup"
- Me.GroupBox30.ResumeLayout(False)
- Me.GroupBox30.PerformLayout()
- Me.GroupBox15.ResumeLayout(False)
- Me.Panel1.ResumeLayout(False)
- Me.Panel1.PerformLayout()
- Me.pnlSettings.ResumeLayout(False)
- CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
- Me.gbOptions.ResumeLayout(False)
- Me.gbOptions.PerformLayout()
- Me.ResumeLayout(False)
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmInfoSettingsHolder))
+ Me.lblVersion = New System.Windows.Forms.Label()
+ Me.GroupBox30 = New System.Windows.Forms.GroupBox()
+ Me.Label18 = New System.Windows.Forms.Label()
+ Me.txtIMDBURL = New System.Windows.Forms.TextBox()
+ Me.GroupBox15 = New System.Windows.Forms.GroupBox()
+ Me.chkOFDBGenre = New System.Windows.Forms.CheckBox()
+ Me.chkOFDBPlot = New System.Windows.Forms.CheckBox()
+ Me.chkOFDBOutline = New System.Windows.Forms.CheckBox()
+ Me.chkOFDBTitle = New System.Windows.Forms.CheckBox()
+ Me.cbEnabled = New System.Windows.Forms.CheckBox()
+ Me.Panel1 = New System.Windows.Forms.Panel()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.btnDown = New System.Windows.Forms.Button()
+ Me.btnUp = New System.Windows.Forms.Button()
+ Me.pnlSettings = New System.Windows.Forms.Panel()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.PictureBox1 = New System.Windows.Forms.PictureBox()
+ Me.gbOptions = New System.Windows.Forms.GroupBox()
+ Me.chkCertification = New System.Windows.Forms.CheckBox()
+ Me.chkCountry = New System.Windows.Forms.CheckBox()
+ Me.chkTop250 = New System.Windows.Forms.CheckBox()
+ Me.chkCrew = New System.Windows.Forms.CheckBox()
+ Me.chkMusicBy = New System.Windows.Forms.CheckBox()
+ Me.chkProducers = New System.Windows.Forms.CheckBox()
+ Me.chkFullCast = New System.Windows.Forms.CheckBox()
+ Me.chkWriters = New System.Windows.Forms.CheckBox()
+ Me.chkStudio = New System.Windows.Forms.CheckBox()
+ Me.chkRuntime = New System.Windows.Forms.CheckBox()
+ Me.chkFullCrew = New System.Windows.Forms.CheckBox()
+ Me.chkPlot = New System.Windows.Forms.CheckBox()
+ Me.chkOutline = New System.Windows.Forms.CheckBox()
+ Me.chkGenre = New System.Windows.Forms.CheckBox()
+ Me.chkDirector = New System.Windows.Forms.CheckBox()
+ Me.chkTagline = New System.Windows.Forms.CheckBox()
+ Me.chkCast = New System.Windows.Forms.CheckBox()
+ Me.chkVotes = New System.Windows.Forms.CheckBox()
+ Me.chkTrailer = New System.Windows.Forms.CheckBox()
+ Me.chkRating = New System.Windows.Forms.CheckBox()
+ Me.chkRelease = New System.Windows.Forms.CheckBox()
+ Me.chkMPAA = New System.Windows.Forms.CheckBox()
+ Me.chkYear = New System.Windows.Forms.CheckBox()
+ Me.chkTitle = New System.Windows.Forms.CheckBox()
+ Me.GroupBox30.SuspendLayout()
+ Me.GroupBox15.SuspendLayout()
+ Me.Panel1.SuspendLayout()
+ Me.pnlSettings.SuspendLayout()
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.gbOptions.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'lblVersion
+ '
+ Me.lblVersion.Location = New System.Drawing.Point(286, 393)
+ Me.lblVersion.Name = "lblVersion"
+ Me.lblVersion.Size = New System.Drawing.Size(90, 16)
+ Me.lblVersion.TabIndex = 74
+ Me.lblVersion.Text = "Version:"
+ '
+ 'GroupBox30
+ '
+ Me.GroupBox30.Controls.Add(Me.Label18)
+ Me.GroupBox30.Controls.Add(Me.txtIMDBURL)
+ Me.GroupBox30.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.GroupBox30.Location = New System.Drawing.Point(8, 40)
+ Me.GroupBox30.Name = "GroupBox30"
+ Me.GroupBox30.Size = New System.Drawing.Size(213, 69)
+ Me.GroupBox30.TabIndex = 1
+ Me.GroupBox30.TabStop = False
+ Me.GroupBox30.Text = "IMDB"
+ '
+ 'Label18
+ '
+ Me.Label18.AutoSize = True
+ Me.Label18.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label18.Location = New System.Drawing.Point(6, 18)
+ Me.Label18.Name = "Label18"
+ Me.Label18.Size = New System.Drawing.Size(73, 13)
+ Me.Label18.TabIndex = 0
+ Me.Label18.Text = "IMDB Mirror:"
+ '
+ 'txtIMDBURL
+ '
+ Me.txtIMDBURL.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txtIMDBURL.Location = New System.Drawing.Point(8, 32)
+ Me.txtIMDBURL.Name = "txtIMDBURL"
+ Me.txtIMDBURL.Size = New System.Drawing.Size(192, 22)
+ Me.txtIMDBURL.TabIndex = 1
+ '
+ 'GroupBox15
+ '
+ Me.GroupBox15.Controls.Add(Me.chkOFDBGenre)
+ Me.GroupBox15.Controls.Add(Me.chkOFDBPlot)
+ Me.GroupBox15.Controls.Add(Me.chkOFDBOutline)
+ Me.GroupBox15.Controls.Add(Me.chkOFDBTitle)
+ Me.GroupBox15.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.GroupBox15.Location = New System.Drawing.Point(8, 114)
+ Me.GroupBox15.Name = "GroupBox15"
+ Me.GroupBox15.Size = New System.Drawing.Size(213, 87)
+ Me.GroupBox15.TabIndex = 2
+ Me.GroupBox15.TabStop = False
+ Me.GroupBox15.Text = "OFDB (German)"
+ '
+ 'chkOFDBGenre
+ '
+ Me.chkOFDBGenre.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkOFDBGenre.Location = New System.Drawing.Point(6, 65)
+ Me.chkOFDBGenre.Name = "chkOFDBGenre"
+ Me.chkOFDBGenre.Size = New System.Drawing.Size(194, 17)
+ Me.chkOFDBGenre.TabIndex = 3
+ Me.chkOFDBGenre.Text = "Use OFDB Genre"
+ Me.chkOFDBGenre.UseVisualStyleBackColor = True
+ '
+ 'chkOFDBPlot
+ '
+ Me.chkOFDBPlot.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkOFDBPlot.Location = New System.Drawing.Point(6, 49)
+ Me.chkOFDBPlot.Name = "chkOFDBPlot"
+ Me.chkOFDBPlot.Size = New System.Drawing.Size(194, 17)
+ Me.chkOFDBPlot.TabIndex = 2
+ Me.chkOFDBPlot.Text = "Use OFDB Plot"
+ Me.chkOFDBPlot.UseVisualStyleBackColor = True
+ '
+ 'chkOFDBOutline
+ '
+ Me.chkOFDBOutline.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkOFDBOutline.Location = New System.Drawing.Point(6, 33)
+ Me.chkOFDBOutline.Name = "chkOFDBOutline"
+ Me.chkOFDBOutline.Size = New System.Drawing.Size(194, 17)
+ Me.chkOFDBOutline.TabIndex = 1
+ Me.chkOFDBOutline.Text = "Use OFDB Outline"
+ Me.chkOFDBOutline.UseVisualStyleBackColor = True
+ '
+ 'chkOFDBTitle
+ '
+ Me.chkOFDBTitle.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkOFDBTitle.Location = New System.Drawing.Point(6, 17)
+ Me.chkOFDBTitle.Name = "chkOFDBTitle"
+ Me.chkOFDBTitle.Size = New System.Drawing.Size(194, 17)
+ Me.chkOFDBTitle.TabIndex = 0
+ Me.chkOFDBTitle.Text = "Use OFDB Title"
+ Me.chkOFDBTitle.UseVisualStyleBackColor = True
+ '
+ 'cbEnabled
+ '
+ Me.cbEnabled.AutoSize = True
+ Me.cbEnabled.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.cbEnabled.Location = New System.Drawing.Point(10, 5)
+ Me.cbEnabled.Name = "cbEnabled"
+ Me.cbEnabled.Size = New System.Drawing.Size(68, 17)
+ Me.cbEnabled.TabIndex = 0
+ Me.cbEnabled.Text = "Enabled"
+ Me.cbEnabled.UseVisualStyleBackColor = True
+ '
+ 'Panel1
+ '
+ Me.Panel1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Panel1.BackColor = System.Drawing.Color.WhiteSmoke
+ Me.Panel1.Controls.Add(Me.Label2)
+ Me.Panel1.Controls.Add(Me.btnDown)
+ Me.Panel1.Controls.Add(Me.cbEnabled)
+ Me.Panel1.Controls.Add(Me.btnUp)
+ Me.Panel1.Location = New System.Drawing.Point(0, 0)
+ Me.Panel1.Name = "Panel1"
+ Me.Panel1.Size = New System.Drawing.Size(1125, 25)
+ Me.Panel1.TabIndex = 0
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Font = New System.Drawing.Font("Segoe UI", 6.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label2.Location = New System.Drawing.Point(500, 7)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(58, 12)
+ Me.Label2.TabIndex = 1
+ Me.Label2.Text = "Scraper order"
+ '
+ 'btnDown
+ '
+ Me.btnDown.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.btnDown.Image = CType(resources.GetObject("btnDown.Image"), System.Drawing.Image)
+ Me.btnDown.Location = New System.Drawing.Point(591, 1)
+ Me.btnDown.Name = "btnDown"
+ Me.btnDown.Size = New System.Drawing.Size(23, 23)
+ Me.btnDown.TabIndex = 3
+ Me.btnDown.UseVisualStyleBackColor = True
+ '
+ 'btnUp
+ '
+ Me.btnUp.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.btnUp.Image = CType(resources.GetObject("btnUp.Image"), System.Drawing.Image)
+ Me.btnUp.Location = New System.Drawing.Point(566, 1)
+ Me.btnUp.Name = "btnUp"
+ Me.btnUp.Size = New System.Drawing.Size(23, 23)
+ Me.btnUp.TabIndex = 2
+ Me.btnUp.UseVisualStyleBackColor = True
+ '
+ 'pnlSettings
+ '
+ Me.pnlSettings.Controls.Add(Me.Label1)
+ Me.pnlSettings.Controls.Add(Me.PictureBox1)
+ Me.pnlSettings.Controls.Add(Me.Panel1)
+ Me.pnlSettings.Controls.Add(Me.GroupBox30)
+ Me.pnlSettings.Controls.Add(Me.GroupBox15)
+ Me.pnlSettings.Controls.Add(Me.gbOptions)
+ Me.pnlSettings.Location = New System.Drawing.Point(12, 1)
+ Me.pnlSettings.Name = "pnlSettings"
+ Me.pnlSettings.Size = New System.Drawing.Size(617, 369)
+ Me.pnlSettings.TabIndex = 0
+ '
+ 'Label1
+ '
+ Me.Label1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.Label1.Font = New System.Drawing.Font("Segoe UI", 6.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.Label1.ForeColor = System.Drawing.Color.Blue
+ Me.Label1.Location = New System.Drawing.Point(37, 337)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(225, 31)
+ Me.Label1.TabIndex = 4
+ Me.Label1.Text = "These settings are specific to this module." & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Please refer to the global settings " & _
+ "for more options."
+ Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'PictureBox1
+ '
+ Me.PictureBox1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)
+ Me.PictureBox1.Location = New System.Drawing.Point(3, 335)
+ Me.PictureBox1.Name = "PictureBox1"
+ Me.PictureBox1.Size = New System.Drawing.Size(30, 31)
+ Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
+ Me.PictureBox1.TabIndex = 96
+ Me.PictureBox1.TabStop = False
+ '
+ 'gbOptions
+ '
+ Me.gbOptions.Controls.Add(Me.chkCertification)
+ Me.gbOptions.Controls.Add(Me.chkCountry)
+ Me.gbOptions.Controls.Add(Me.chkTop250)
+ Me.gbOptions.Controls.Add(Me.chkCrew)
+ Me.gbOptions.Controls.Add(Me.chkMusicBy)
+ Me.gbOptions.Controls.Add(Me.chkProducers)
+ Me.gbOptions.Controls.Add(Me.chkFullCast)
+ Me.gbOptions.Controls.Add(Me.chkWriters)
+ Me.gbOptions.Controls.Add(Me.chkStudio)
+ Me.gbOptions.Controls.Add(Me.chkRuntime)
+ Me.gbOptions.Controls.Add(Me.chkFullCrew)
+ Me.gbOptions.Controls.Add(Me.chkPlot)
+ Me.gbOptions.Controls.Add(Me.chkOutline)
+ Me.gbOptions.Controls.Add(Me.chkGenre)
+ Me.gbOptions.Controls.Add(Me.chkDirector)
+ Me.gbOptions.Controls.Add(Me.chkTagline)
+ Me.gbOptions.Controls.Add(Me.chkCast)
+ Me.gbOptions.Controls.Add(Me.chkVotes)
+ Me.gbOptions.Controls.Add(Me.chkTrailer)
+ Me.gbOptions.Controls.Add(Me.chkRating)
+ Me.gbOptions.Controls.Add(Me.chkRelease)
+ Me.gbOptions.Controls.Add(Me.chkMPAA)
+ Me.gbOptions.Controls.Add(Me.chkYear)
+ Me.gbOptions.Controls.Add(Me.chkTitle)
+ Me.gbOptions.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.gbOptions.Location = New System.Drawing.Point(227, 40)
+ Me.gbOptions.Name = "gbOptions"
+ Me.gbOptions.Size = New System.Drawing.Size(387, 161)
+ Me.gbOptions.TabIndex = 3
+ Me.gbOptions.TabStop = False
+ Me.gbOptions.Text = "Scraper Fields"
+ '
+ 'chkCertification
+ '
+ Me.chkCertification.AutoSize = True
+ Me.chkCertification.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkCertification.Location = New System.Drawing.Point(6, 70)
+ Me.chkCertification.Name = "chkCertification"
+ Me.chkCertification.Size = New System.Drawing.Size(89, 17)
+ Me.chkCertification.TabIndex = 3
+ Me.chkCertification.Text = "Certification"
+ Me.chkCertification.UseVisualStyleBackColor = True
+ '
+ 'chkCountry
+ '
+ Me.chkCountry.AutoSize = True
+ Me.chkCountry.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkCountry.Location = New System.Drawing.Point(237, 53)
+ Me.chkCountry.Name = "chkCountry"
+ Me.chkCountry.Size = New System.Drawing.Size(67, 17)
+ Me.chkCountry.TabIndex = 18
+ Me.chkCountry.Text = "Country"
+ Me.chkCountry.UseVisualStyleBackColor = True
+ '
+ 'chkTop250
+ '
+ Me.chkTop250.AutoSize = True
+ Me.chkTop250.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkTop250.Location = New System.Drawing.Point(237, 19)
+ Me.chkTop250.Name = "chkTop250"
+ Me.chkTop250.Size = New System.Drawing.Size(66, 17)
+ Me.chkTop250.TabIndex = 16
+ Me.chkTop250.Text = "Top 250"
+ Me.chkTop250.UseVisualStyleBackColor = True
+ '
+ 'chkCrew
+ '
+ Me.chkCrew.AutoSize = True
+ Me.chkCrew.Enabled = False
+ Me.chkCrew.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkCrew.Location = New System.Drawing.Point(246, 104)
+ Me.chkCrew.Name = "chkCrew"
+ Me.chkCrew.Size = New System.Drawing.Size(85, 17)
+ Me.chkCrew.TabIndex = 21
+ Me.chkCrew.Text = "Other Crew"
+ Me.chkCrew.UseVisualStyleBackColor = True
+ '
+ 'chkMusicBy
+ '
+ Me.chkMusicBy.AutoSize = True
+ Me.chkMusicBy.Enabled = False
+ Me.chkMusicBy.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkMusicBy.Location = New System.Drawing.Point(246, 121)
+ Me.chkMusicBy.Name = "chkMusicBy"
+ Me.chkMusicBy.Size = New System.Drawing.Size(71, 17)
+ Me.chkMusicBy.TabIndex = 22
+ Me.chkMusicBy.Text = "Music By"
+ Me.chkMusicBy.UseVisualStyleBackColor = True
+ '
+ 'chkProducers
+ '
+ Me.chkProducers.AutoSize = True
+ Me.chkProducers.Enabled = False
+ Me.chkProducers.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkProducers.Location = New System.Drawing.Point(246, 138)
+ Me.chkProducers.Name = "chkProducers"
+ Me.chkProducers.Size = New System.Drawing.Size(77, 17)
+ Me.chkProducers.TabIndex = 23
+ Me.chkProducers.Text = "Producers"
+ Me.chkProducers.UseVisualStyleBackColor = True
+ '
+ 'chkFullCast
+ '
+ Me.chkFullCast.AutoSize = True
+ Me.chkFullCast.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkFullCast.Location = New System.Drawing.Point(237, 70)
+ Me.chkFullCast.Name = "chkFullCast"
+ Me.chkFullCast.Size = New System.Drawing.Size(107, 17)
+ Me.chkFullCast.TabIndex = 19
+ Me.chkFullCast.Text = "Scrape Full Cast"
+ Me.chkFullCast.UseVisualStyleBackColor = True
+ '
+ 'chkWriters
+ '
+ Me.chkWriters.AutoSize = True
+ Me.chkWriters.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkWriters.Location = New System.Drawing.Point(131, 121)
+ Me.chkWriters.Name = "chkWriters"
+ Me.chkWriters.Size = New System.Drawing.Size(63, 17)
+ Me.chkWriters.TabIndex = 14
+ Me.chkWriters.Text = "Writers"
+ Me.chkWriters.UseVisualStyleBackColor = True
+ '
+ 'chkStudio
+ '
+ Me.chkStudio.AutoSize = True
+ Me.chkStudio.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkStudio.Location = New System.Drawing.Point(131, 19)
+ Me.chkStudio.Name = "chkStudio"
+ Me.chkStudio.Size = New System.Drawing.Size(60, 17)
+ Me.chkStudio.TabIndex = 8
+ Me.chkStudio.Text = "Studio"
+ Me.chkStudio.UseVisualStyleBackColor = True
+ '
+ 'chkRuntime
+ '
+ Me.chkRuntime.AutoSize = True
+ Me.chkRuntime.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkRuntime.Location = New System.Drawing.Point(6, 104)
+ Me.chkRuntime.Name = "chkRuntime"
+ Me.chkRuntime.Size = New System.Drawing.Size(69, 17)
+ Me.chkRuntime.TabIndex = 5
+ Me.chkRuntime.Text = "Runtime"
+ Me.chkRuntime.UseVisualStyleBackColor = True
+ '
+ 'chkFullCrew
+ '
+ Me.chkFullCrew.AutoSize = True
+ Me.chkFullCrew.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkFullCrew.Location = New System.Drawing.Point(237, 87)
+ Me.chkFullCrew.Name = "chkFullCrew"
+ Me.chkFullCrew.Size = New System.Drawing.Size(111, 17)
+ Me.chkFullCrew.TabIndex = 20
+ Me.chkFullCrew.Text = "Scrape Full Crew"
+ Me.chkFullCrew.UseVisualStyleBackColor = True
+ '
+ 'chkPlot
+ '
+ Me.chkPlot.AutoSize = True
+ Me.chkPlot.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkPlot.Location = New System.Drawing.Point(131, 70)
+ Me.chkPlot.Name = "chkPlot"
+ Me.chkPlot.Size = New System.Drawing.Size(46, 17)
+ Me.chkPlot.TabIndex = 11
+ Me.chkPlot.Text = "Plot"
+ Me.chkPlot.UseVisualStyleBackColor = True
+ '
+ 'chkOutline
+ '
+ Me.chkOutline.AutoSize = True
+ Me.chkOutline.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkOutline.Location = New System.Drawing.Point(131, 53)
+ Me.chkOutline.Name = "chkOutline"
+ Me.chkOutline.Size = New System.Drawing.Size(65, 17)
+ Me.chkOutline.TabIndex = 10
+ Me.chkOutline.Text = "Outline"
+ Me.chkOutline.UseVisualStyleBackColor = True
+ '
+ 'chkGenre
+ '
+ Me.chkGenre.AutoSize = True
+ Me.chkGenre.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkGenre.Location = New System.Drawing.Point(131, 138)
+ Me.chkGenre.Name = "chkGenre"
+ Me.chkGenre.Size = New System.Drawing.Size(57, 17)
+ Me.chkGenre.TabIndex = 15
+ Me.chkGenre.Text = "Genre"
+ Me.chkGenre.UseVisualStyleBackColor = True
+ '
+ 'chkDirector
+ '
+ Me.chkDirector.AutoSize = True
+ Me.chkDirector.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkDirector.Location = New System.Drawing.Point(131, 104)
+ Me.chkDirector.Name = "chkDirector"
+ Me.chkDirector.Size = New System.Drawing.Size(67, 17)
+ Me.chkDirector.TabIndex = 13
+ Me.chkDirector.Text = "Director"
+ Me.chkDirector.UseVisualStyleBackColor = True
+ '
+ 'chkTagline
+ '
+ Me.chkTagline.AutoSize = True
+ Me.chkTagline.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkTagline.Location = New System.Drawing.Point(131, 36)
+ Me.chkTagline.Name = "chkTagline"
+ Me.chkTagline.Size = New System.Drawing.Size(63, 17)
+ Me.chkTagline.TabIndex = 9
+ Me.chkTagline.Text = "Tagline"
+ Me.chkTagline.UseVisualStyleBackColor = True
+ '
+ 'chkCast
+ '
+ Me.chkCast.AutoSize = True
+ Me.chkCast.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkCast.Location = New System.Drawing.Point(131, 87)
+ Me.chkCast.Name = "chkCast"
+ Me.chkCast.Size = New System.Drawing.Size(48, 17)
+ Me.chkCast.TabIndex = 12
+ Me.chkCast.Text = "Cast"
+ Me.chkCast.UseVisualStyleBackColor = True
+ '
+ 'chkVotes
+ '
+ Me.chkVotes.AutoSize = True
+ Me.chkVotes.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkVotes.Location = New System.Drawing.Point(6, 138)
+ Me.chkVotes.Name = "chkVotes"
+ Me.chkVotes.Size = New System.Drawing.Size(55, 17)
+ Me.chkVotes.TabIndex = 7
+ Me.chkVotes.Text = "Votes"
+ Me.chkVotes.UseVisualStyleBackColor = True
+ '
+ 'chkTrailer
+ '
+ Me.chkTrailer.AutoSize = True
+ Me.chkTrailer.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkTrailer.Location = New System.Drawing.Point(237, 36)
+ Me.chkTrailer.Name = "chkTrailer"
+ Me.chkTrailer.Size = New System.Drawing.Size(57, 17)
+ Me.chkTrailer.TabIndex = 17
+ Me.chkTrailer.Text = "Trailer"
+ Me.chkTrailer.UseVisualStyleBackColor = True
+ '
+ 'chkRating
+ '
+ Me.chkRating.AutoSize = True
+ Me.chkRating.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkRating.Location = New System.Drawing.Point(6, 121)
+ Me.chkRating.Name = "chkRating"
+ Me.chkRating.Size = New System.Drawing.Size(60, 17)
+ Me.chkRating.TabIndex = 6
+ Me.chkRating.Text = "Rating"
+ Me.chkRating.UseVisualStyleBackColor = True
+ '
+ 'chkRelease
+ '
+ Me.chkRelease.AutoSize = True
+ Me.chkRelease.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkRelease.Location = New System.Drawing.Point(6, 87)
+ Me.chkRelease.Name = "chkRelease"
+ Me.chkRelease.Size = New System.Drawing.Size(92, 17)
+ Me.chkRelease.TabIndex = 4
+ Me.chkRelease.Text = "Release Date"
+ Me.chkRelease.UseVisualStyleBackColor = True
+ '
+ 'chkMPAA
+ '
+ Me.chkMPAA.AutoSize = True
+ Me.chkMPAA.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkMPAA.Location = New System.Drawing.Point(6, 53)
+ Me.chkMPAA.Name = "chkMPAA"
+ Me.chkMPAA.Size = New System.Drawing.Size(56, 17)
+ Me.chkMPAA.TabIndex = 2
+ Me.chkMPAA.Text = "MPAA"
+ Me.chkMPAA.UseVisualStyleBackColor = True
+ '
+ 'chkYear
+ '
+ Me.chkYear.AutoSize = True
+ Me.chkYear.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkYear.Location = New System.Drawing.Point(6, 36)
+ Me.chkYear.Name = "chkYear"
+ Me.chkYear.Size = New System.Drawing.Size(47, 17)
+ Me.chkYear.TabIndex = 1
+ Me.chkYear.Text = "Year"
+ Me.chkYear.UseVisualStyleBackColor = True
+ '
+ 'chkTitle
+ '
+ Me.chkTitle.AutoSize = True
+ Me.chkTitle.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkTitle.Location = New System.Drawing.Point(6, 19)
+ Me.chkTitle.Name = "chkTitle"
+ Me.chkTitle.Size = New System.Drawing.Size(47, 17)
+ Me.chkTitle.TabIndex = 0
+ Me.chkTitle.Text = "Title"
+ Me.chkTitle.UseVisualStyleBackColor = True
+ '
+ 'frmInfoSettingsHolder
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
+ Me.BackColor = System.Drawing.Color.White
+ Me.ClientSize = New System.Drawing.Size(652, 388)
+ Me.Controls.Add(Me.pnlSettings)
+ Me.Controls.Add(Me.lblVersion)
+ Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "frmInfoSettingsHolder"
+ Me.ShowInTaskbar = False
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "Scraper Setup"
+ Me.GroupBox30.ResumeLayout(False)
+ Me.GroupBox30.PerformLayout()
+ Me.GroupBox15.ResumeLayout(False)
+ Me.Panel1.ResumeLayout(False)
+ Me.Panel1.PerformLayout()
+ Me.pnlSettings.ResumeLayout(False)
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.gbOptions.ResumeLayout(False)
+ Me.gbOptions.PerformLayout()
+ Me.ResumeLayout(False)
- End Sub
+ End Sub
Friend WithEvents lblVersion As System.Windows.Forms.Label
Friend WithEvents GroupBox30 As System.Windows.Forms.GroupBox
Friend WithEvents Label18 As System.Windows.Forms.Label
diff --git a/Addons/scraper.EmberCore/frmInfoSettingsHolder.resx b/Addons/scraper.EmberCore/frmInfoSettingsHolder.resx
index c37233a..1a3b6b2 100644
--- a/Addons/scraper.EmberCore/frmInfoSettingsHolder.resx
+++ b/Addons/scraper.EmberCore/frmInfoSettingsHolder.resx
@@ -120,76 +120,74 @@
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK8gAA
- CvIBPVL3EQAAApRJREFUOE+l0GtIU2EYB/DHC0Ve2lDsIppZ2TQ9UwPJsCAJirDsQ/lhlHT5YFCWXbDm
- Xam0vMGm4mVeppApXiDSckynNc2pa5jTbOmWqSEtA6WUwuTpOSeS5PitAz94zvs+7/+9ACLC/1hZbF3Q
- A+vrohEGZ+Rh5XqvikqDj4JVpveo7J/OjFpa/gaLS1bO301XihFrFbBMs7XQaoqmRSKseB3AUeh9sWkk
- QmeafQyj1hoOL6B3KhNY/Z9y4dGbg02yXiEW6Nw48l4XNmRE8+EWdFiuc3gBPZM5wNJNy6Bm8HBDbs9m
- zH/lwcnr2YrFA2JjhyUJ2s1SDi9AO5ED2olcOoUcqgxHGrK07pjd7cV5qPXEgr5go9qcAqrxRHg+dnuN
- K0yWw8sJOXR/LIJS/bGGjK5teO/FTs7dLm86SYixbSwNnr1Ppk0U/ICp+VHoMJdAu0UGxQOR9SmaHZje
- KeKkaXzoJPuHWkzp8GT0Pnz/OccPmJ57a9dqyvOsNlwNzNYeVce37Uapyo9zRyXCDE3omNIQG1g3JPWd
- //HFhvcGzcMPLqaqw5cTVGF4szUI4576r3KjRYyJqgMobQvF5uEsMS/g84JFUK1PSoiu3Y4xjQF4qZFZ
- JYb+z9ftwnT1ybK5XzP2vIDBdzrQjjeDwpAUH1UlQokyACXVzB9KBqOUfpjReaaksi8ZWjRN/DcA+ty2
- COFCrARS6y/HRZYHYkQRgxGFDJ5QiPFKzalCybXjsMldyLbyA+wAbGjcnjg4OzjZ7pMwqYfygzBcFowh
- 5/aUCgQb2TlHsp7t5V2BBu2IK/GjpGBq9HXxEJx29RaepdqfxvbSHEO82N61AoAm7MkG4mRLaCGVYEu1
- IxXOxIGs+/cEvwG4WS+MPfOKlQAAAABJRU5ErkJggg==
+ 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
+ rkJggg==
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK8gAA
- CvIBPVL3EQAAAo1JREFUOE+lkW1IU1EYx5+lbi0jKk2EDKlMJ5eZEFlRyKBUwg/lB3sBSYllRC218K3A
- ptvSSpfMtKRIU0vzSviCuU0xnXozKVNn06lzTklJ+yDCwA+yp7ObDeUaBB34cd7+53cezgFEhP/BdXje
- PgqfZ19C3/diMM2/hqlFLbSMx117Z4rK+PbjBb/blgXvx2XQbcsHx5pLNxSYf9LQO3M/rvzrMXtZ/2FH
- m0WWzszk/Jugf/Y5dE7J4572Uajp9SZ4YUmfCBtHE+S6iaS/V7BgH4OBuUrQjafFF30KwYIeX1QzfiwF
- jC8RUVhtjM1hph+vezPXZMFu3tw2qZKqmYOY1+WHD7v91/GArOX3UNgwmqR0OFZ4fx7eJWi1qC7n94Sh
- /MNuVHTuRVXnflSu8nu8D7M79qDKIEL9hCKEI5he/CJsMt8JrRxMiFR/lBiy2gOILIjlXvsBzO06ZK0Y
- uBRJm26GLy7PenAEc0tD0G5VQ6tFA4XM2ZrUlgDM0AWzpGuDUNFxfLBhJBv0ljxYXllyVe4aGKxVoDUX
- g36sFPI6ztA3GgIxqYlikTUG413dCSNtVABtzAHGVssVaCefQfNYCTSbSiFbH0NLa0V4tU7McoWm8HZT
- uPFNvwqqh5TwdkTJFUgzz0EBnQlaSwWk1sfQsWUivPhKzHK+nMLEGiIYegS5dclwJELMFQBpAgEf0tTX
- IaX+Ql2URoTRxWKW00UUxledHE59kgjCLQJnlCtwA+DxANw3Ac/jVObRWklRKEoKV9GEYoQqbJjv5i4g
- GYEzy/kFsuhG8CKBQOFWvsQnZGeyN7XdSYqPeMetbbs8o8leMMn4O7MbCYBsuBOEJOhBqiTdOpwXeBL4
- ayv4Ba5+NdG8cgGAAAAAAElFTkSuQmCC
+ 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
- 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
- RK5CYII=
+ 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
\ No newline at end of file
diff --git a/Addons/scraper.EmberCore/frmInfoSettingsHolder.vb b/Addons/scraper.EmberCore/frmInfoSettingsHolder.vb
index 21a3d0b..0a2f1c0 100644
--- a/Addons/scraper.EmberCore/frmInfoSettingsHolder.vb
+++ b/Addons/scraper.EmberCore/frmInfoSettingsHolder.vb
@@ -34,23 +34,25 @@ Public Class frmInfoSettingsHolder
#Region "Methods"
Private Sub btnDown_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDown.Click
- Dim order As Integer = ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberNativeScraperModule._AssemblyName).ScraperOrder
- If order < ModulesManager.Instance.externalScrapersModules.Where(Function(y) y.ProcessorModule.IsScraper).Count - 1 Then
- ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.ScraperOrder = order + 1).ScraperOrder = order
- ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberNativeScraperModule._AssemblyName).ScraperOrder = order + 1
- RaiseEvent SetupScraperChanged(cbEnabled.Checked, 1)
- orderChanged()
- End If
+ Dim order As Integer = ModulesManager.Instance.externalDataScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberNativeScraperModule._AssemblyName).ScraperOrder
+
+ 'If order < ModulesManager.Instance.externalScrapersModules.Where(Function(y) y.ProcessorModule.IsScraper).Count - 1 Then
+ ' ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.ScraperOrder = order + 1).ScraperOrder = order
+ ' ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberNativeScraperModule._AssemblyName).ScraperOrder = order + 1
+ ' RaiseEvent SetupScraperChanged(cbEnabled.Checked, 1)
+ ' orderChanged()
+ 'End If
End Sub
Private Sub btnUp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUp.Click
- Dim order As Integer = ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberNativeScraperModule._AssemblyName).ScraperOrder
- If order > 0 Then
- ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.ScraperOrder = order - 1).ScraperOrder = order
- ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberNativeScraperModule._AssemblyName).ScraperOrder = order - 1
- RaiseEvent SetupScraperChanged(cbEnabled.Checked, -1)
- orderChanged()
- End If
+ Dim order As Integer = ModulesManager.Instance.externalDataScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberNativeScraperModule._AssemblyName).ScraperOrder
+ 'Dim order As Integer = ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberNativeScraperModule._AssemblyName).ScraperOrder
+ ' If order > 0 Then
+ ' ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.ScraperOrder = order - 1).ScraperOrder = order
+ ' ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberNativeScraperModule._AssemblyName).ScraperOrder = order - 1
+ ' RaiseEvent SetupScraperChanged(cbEnabled.Checked, -1)
+ ' orderChanged()
+ ' End If
End Sub
Private Sub cbEnabled_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbEnabled.CheckedChanged
diff --git a/Addons/scraper.EmberCore/frmMediaSettingsHolder.Designer.vb b/Addons/scraper.EmberCore/frmMediaSettingsHolder.Designer.vb
index b5e621a..2c09e78 100644
--- a/Addons/scraper.EmberCore/frmMediaSettingsHolder.Designer.vb
+++ b/Addons/scraper.EmberCore/frmMediaSettingsHolder.Designer.vb
@@ -22,445 +22,471 @@ Partial Class frmMediaSettingsHolder
'Do not modify it using the code editor.
_
Private Sub InitializeComponent()
- Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMediaSettingsHolder))
- Me.pnlSettings = New System.Windows.Forms.Panel()
- Me.Label1 = New System.Windows.Forms.Label()
- Me.PictureBox1 = New System.Windows.Forms.PictureBox()
- Me.GroupBox3 = New System.Windows.Forms.GroupBox()
- Me.GroupBox4 = New System.Windows.Forms.GroupBox()
- Me.cbManualETSize = New System.Windows.Forms.ComboBox()
- Me.grpSaveFanart = New System.Windows.Forms.GroupBox()
- Me.optFanartFolderExtraFanart = New System.Windows.Forms.RadioButton()
- Me.optFanartFolderExtraThumbs = New System.Windows.Forms.RadioButton()
- Me.GroupBox9 = New System.Windows.Forms.GroupBox()
- Me.chkUseMPDB = New System.Windows.Forms.CheckBox()
- Me.chkUseTMDB = New System.Windows.Forms.CheckBox()
- Me.chkUseIMPA = New System.Windows.Forms.CheckBox()
- Me.chkScrapePoster = New System.Windows.Forms.CheckBox()
- Me.chkScrapeFanart = New System.Windows.Forms.CheckBox()
- Me.GroupBox1 = New System.Windows.Forms.GroupBox()
- Me.GroupBox5 = New System.Windows.Forms.GroupBox()
- Me.cbTrailerTMDBPref = New System.Windows.Forms.ComboBox()
- Me.Label2 = New System.Windows.Forms.Label()
- Me.chkDownloadTrailer = New System.Windows.Forms.CheckBox()
- Me.Label23 = New System.Windows.Forms.Label()
- Me.txtTimeout = New System.Windows.Forms.TextBox()
- Me.GroupBox2 = New System.Windows.Forms.GroupBox()
- Me.chkTrailerTMDBXBMC = New System.Windows.Forms.CheckBox()
- Me.chkTrailerIMDB = New System.Windows.Forms.CheckBox()
- Me.chkTrailerTMDB = New System.Windows.Forms.CheckBox()
- Me.Panel2 = New System.Windows.Forms.Panel()
- Me.Label3 = New System.Windows.Forms.Label()
- Me.btnDown = New System.Windows.Forms.Button()
- Me.btnUp = New System.Windows.Forms.Button()
- Me.cbEnabled = New System.Windows.Forms.CheckBox()
- Me.pnlSettings.SuspendLayout()
- CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
- Me.GroupBox3.SuspendLayout()
- Me.GroupBox4.SuspendLayout()
- Me.grpSaveFanart.SuspendLayout()
- Me.GroupBox9.SuspendLayout()
- Me.GroupBox1.SuspendLayout()
- Me.GroupBox5.SuspendLayout()
- Me.GroupBox2.SuspendLayout()
- Me.Panel2.SuspendLayout()
- Me.SuspendLayout()
- '
- 'pnlSettings
- '
- Me.pnlSettings.Controls.Add(Me.Label1)
- Me.pnlSettings.Controls.Add(Me.PictureBox1)
- Me.pnlSettings.Controls.Add(Me.GroupBox3)
- Me.pnlSettings.Controls.Add(Me.GroupBox1)
- Me.pnlSettings.Controls.Add(Me.Panel2)
- Me.pnlSettings.Location = New System.Drawing.Point(12, 4)
- Me.pnlSettings.Name = "pnlSettings"
- Me.pnlSettings.Size = New System.Drawing.Size(617, 369)
- Me.pnlSettings.TabIndex = 0
- '
- 'Label1
- '
- Me.Label1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
- Me.Label1.Font = New System.Drawing.Font("Segoe UI", 6.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
- Me.Label1.ForeColor = System.Drawing.Color.Blue
- Me.Label1.Location = New System.Drawing.Point(37, 337)
- Me.Label1.Name = "Label1"
- Me.Label1.Size = New System.Drawing.Size(225, 31)
- Me.Label1.TabIndex = 3
- Me.Label1.Text = "These settings are specific to this module." & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Please refer to the global settings " & _
- "for more options."
- Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
- '
- 'PictureBox1
- '
- Me.PictureBox1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
- Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)
- Me.PictureBox1.Location = New System.Drawing.Point(3, 335)
- Me.PictureBox1.Name = "PictureBox1"
- Me.PictureBox1.Size = New System.Drawing.Size(30, 31)
- Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
- Me.PictureBox1.TabIndex = 94
- Me.PictureBox1.TabStop = False
- '
- 'GroupBox3
- '
- Me.GroupBox3.Controls.Add(Me.GroupBox4)
- Me.GroupBox3.Controls.Add(Me.grpSaveFanart)
- Me.GroupBox3.Controls.Add(Me.GroupBox9)
- Me.GroupBox3.Controls.Add(Me.chkScrapePoster)
- Me.GroupBox3.Controls.Add(Me.chkScrapeFanart)
- Me.GroupBox3.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.GroupBox3.Location = New System.Drawing.Point(15, 31)
- Me.GroupBox3.Name = "GroupBox3"
- Me.GroupBox3.Size = New System.Drawing.Size(587, 131)
- Me.GroupBox3.TabIndex = 1
- Me.GroupBox3.TabStop = False
- Me.GroupBox3.Text = "Images"
- '
- 'GroupBox4
- '
- Me.GroupBox4.Controls.Add(Me.cbManualETSize)
- Me.GroupBox4.Location = New System.Drawing.Point(374, 11)
- Me.GroupBox4.Name = "GroupBox4"
- Me.GroupBox4.Size = New System.Drawing.Size(160, 80)
- Me.GroupBox4.TabIndex = 4
- Me.GroupBox4.TabStop = False
- Me.GroupBox4.Text = "TMDB Extrathumbs Size:"
- '
- 'cbManualETSize
- '
- Me.cbManualETSize.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
- Me.cbManualETSize.Enabled = False
- Me.cbManualETSize.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.cbManualETSize.FormattingEnabled = True
- Me.cbManualETSize.Items.AddRange(New Object() {"original", "w1280", "poster", "thumb"})
- Me.cbManualETSize.Location = New System.Drawing.Point(21, 35)
- Me.cbManualETSize.Name = "cbManualETSize"
- Me.cbManualETSize.Size = New System.Drawing.Size(121, 21)
- Me.cbManualETSize.TabIndex = 0
- '
- 'grpSaveFanart
- '
- Me.grpSaveFanart.Controls.Add(Me.optFanartFolderExtraFanart)
- Me.grpSaveFanart.Controls.Add(Me.optFanartFolderExtraThumbs)
- Me.grpSaveFanart.Enabled = False
- Me.grpSaveFanart.Location = New System.Drawing.Point(24, 54)
- Me.grpSaveFanart.Name = "grpSaveFanart"
- Me.grpSaveFanart.Size = New System.Drawing.Size(123, 66)
- Me.grpSaveFanart.TabIndex = 2
- Me.grpSaveFanart.TabStop = False
- Me.grpSaveFanart.Text = "Save Fanart In:"
- '
- 'optFanartFolderExtraFanart
- '
- Me.optFanartFolderExtraFanart.AutoSize = True
- Me.optFanartFolderExtraFanart.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.optFanartFolderExtraFanart.Location = New System.Drawing.Point(22, 38)
- Me.optFanartFolderExtraFanart.Name = "optFanartFolderExtraFanart"
- Me.optFanartFolderExtraFanart.Size = New System.Drawing.Size(85, 17)
- Me.optFanartFolderExtraFanart.TabIndex = 1
- Me.optFanartFolderExtraFanart.TabStop = True
- Me.optFanartFolderExtraFanart.Text = "\extrafanart"
- Me.optFanartFolderExtraFanart.UseVisualStyleBackColor = True
- '
- 'optFanartFolderExtraThumbs
- '
- Me.optFanartFolderExtraThumbs.AutoSize = True
- Me.optFanartFolderExtraThumbs.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.optFanartFolderExtraThumbs.Location = New System.Drawing.Point(22, 19)
- Me.optFanartFolderExtraThumbs.Name = "optFanartFolderExtraThumbs"
- Me.optFanartFolderExtraThumbs.Size = New System.Drawing.Size(93, 17)
- Me.optFanartFolderExtraThumbs.TabIndex = 0
- Me.optFanartFolderExtraThumbs.TabStop = True
- Me.optFanartFolderExtraThumbs.Text = "\extrathumbs"
- Me.optFanartFolderExtraThumbs.UseVisualStyleBackColor = True
- '
- 'GroupBox9
- '
- Me.GroupBox9.Controls.Add(Me.chkUseMPDB)
- Me.GroupBox9.Controls.Add(Me.chkUseTMDB)
- Me.GroupBox9.Controls.Add(Me.chkUseIMPA)
- Me.GroupBox9.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.GroupBox9.Location = New System.Drawing.Point(165, 11)
- Me.GroupBox9.Name = "GroupBox9"
- Me.GroupBox9.Size = New System.Drawing.Size(160, 80)
- Me.GroupBox9.TabIndex = 3
- Me.GroupBox9.TabStop = False
- Me.GroupBox9.Text = "Get Images From:"
- '
- 'chkUseMPDB
- '
- Me.chkUseMPDB.CheckAlign = System.Drawing.ContentAlignment.TopLeft
- Me.chkUseMPDB.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkUseMPDB.Location = New System.Drawing.Point(6, 56)
- Me.chkUseMPDB.Name = "chkUseMPDB"
- Me.chkUseMPDB.Size = New System.Drawing.Size(150, 22)
- Me.chkUseMPDB.TabIndex = 2
- Me.chkUseMPDB.Text = "MoviePosterDB.com"
- Me.chkUseMPDB.TextAlign = System.Drawing.ContentAlignment.TopLeft
- Me.chkUseMPDB.UseVisualStyleBackColor = True
- '
- 'chkUseTMDB
- '
- Me.chkUseTMDB.CheckAlign = System.Drawing.ContentAlignment.TopLeft
- Me.chkUseTMDB.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkUseTMDB.Location = New System.Drawing.Point(6, 18)
- Me.chkUseTMDB.Name = "chkUseTMDB"
- Me.chkUseTMDB.Size = New System.Drawing.Size(149, 19)
- Me.chkUseTMDB.TabIndex = 0
- Me.chkUseTMDB.Text = "themoviedb.org"
- Me.chkUseTMDB.TextAlign = System.Drawing.ContentAlignment.TopLeft
- Me.chkUseTMDB.UseVisualStyleBackColor = True
- '
- 'chkUseIMPA
- '
- Me.chkUseIMPA.CheckAlign = System.Drawing.ContentAlignment.TopLeft
- Me.chkUseIMPA.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkUseIMPA.Location = New System.Drawing.Point(6, 37)
- Me.chkUseIMPA.Name = "chkUseIMPA"
- Me.chkUseIMPA.Size = New System.Drawing.Size(149, 20)
- Me.chkUseIMPA.TabIndex = 1
- Me.chkUseIMPA.Text = "IMPAwards.com"
- Me.chkUseIMPA.TextAlign = System.Drawing.ContentAlignment.TopLeft
- Me.chkUseIMPA.UseVisualStyleBackColor = True
- '
- 'chkScrapePoster
- '
- Me.chkScrapePoster.CheckAlign = System.Drawing.ContentAlignment.TopLeft
- Me.chkScrapePoster.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkScrapePoster.Location = New System.Drawing.Point(6, 19)
- Me.chkScrapePoster.Name = "chkScrapePoster"
- Me.chkScrapePoster.Size = New System.Drawing.Size(114, 15)
- Me.chkScrapePoster.TabIndex = 0
- Me.chkScrapePoster.Text = "Get Posters"
- Me.chkScrapePoster.TextAlign = System.Drawing.ContentAlignment.TopLeft
- Me.chkScrapePoster.UseVisualStyleBackColor = True
- '
- 'chkScrapeFanart
- '
- Me.chkScrapeFanart.CheckAlign = System.Drawing.ContentAlignment.TopLeft
- Me.chkScrapeFanart.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkScrapeFanart.Location = New System.Drawing.Point(6, 37)
- Me.chkScrapeFanart.Name = "chkScrapeFanart"
- Me.chkScrapeFanart.Size = New System.Drawing.Size(84, 16)
- Me.chkScrapeFanart.TabIndex = 1
- Me.chkScrapeFanart.Text = "Get Fanart"
- Me.chkScrapeFanart.TextAlign = System.Drawing.ContentAlignment.TopLeft
- Me.chkScrapeFanart.UseVisualStyleBackColor = True
- '
- 'GroupBox1
- '
- Me.GroupBox1.Controls.Add(Me.GroupBox5)
- Me.GroupBox1.Controls.Add(Me.chkDownloadTrailer)
- Me.GroupBox1.Controls.Add(Me.Label23)
- Me.GroupBox1.Controls.Add(Me.txtTimeout)
- Me.GroupBox1.Controls.Add(Me.GroupBox2)
- Me.GroupBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.GroupBox1.Location = New System.Drawing.Point(15, 168)
- Me.GroupBox1.Name = "GroupBox1"
- Me.GroupBox1.Size = New System.Drawing.Size(587, 112)
- Me.GroupBox1.TabIndex = 2
- Me.GroupBox1.TabStop = False
- Me.GroupBox1.Text = "Trailers"
- Me.GroupBox1.UseCompatibleTextRendering = True
- '
- 'GroupBox5
- '
- Me.GroupBox5.Controls.Add(Me.cbTrailerTMDBPref)
- Me.GroupBox5.Controls.Add(Me.Label2)
- Me.GroupBox5.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold)
- Me.GroupBox5.Location = New System.Drawing.Point(374, 12)
- Me.GroupBox5.Name = "GroupBox5"
- Me.GroupBox5.Size = New System.Drawing.Size(161, 94)
- Me.GroupBox5.TabIndex = 4
- Me.GroupBox5.TabStop = False
- Me.GroupBox5.Text = "Youtube/TMDB Trailer:"
- '
- 'cbTrailerTMDBPref
- '
- Me.cbTrailerTMDBPref.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
- Me.cbTrailerTMDBPref.Enabled = False
- Me.cbTrailerTMDBPref.Font = New System.Drawing.Font("Segoe UI", 8.25!)
- Me.cbTrailerTMDBPref.FormattingEnabled = True
- Me.cbTrailerTMDBPref.Items.AddRange(New Object() {"bg", "cs", "da", "de", "el", "en", "es", "fi", "fr", "he", "hu", "it", "nb", "nl", "no", "pl", "pt", "ru", "sk", "sv", "ta", "tr", "uk", "vi", "xx", "zh"})
- Me.cbTrailerTMDBPref.Location = New System.Drawing.Point(21, 51)
- Me.cbTrailerTMDBPref.Name = "cbTrailerTMDBPref"
- Me.cbTrailerTMDBPref.Size = New System.Drawing.Size(121, 21)
- Me.cbTrailerTMDBPref.TabIndex = 1
- '
- 'Label2
- '
- Me.Label2.AutoSize = True
- Me.Label2.Font = New System.Drawing.Font("Segoe UI", 8.25!)
- Me.Label2.Location = New System.Drawing.Point(26, 26)
- Me.Label2.Name = "Label2"
- Me.Label2.Size = New System.Drawing.Size(111, 13)
- Me.Label2.TabIndex = 0
- Me.Label2.Text = "Preferred Language:"
- '
- 'chkDownloadTrailer
- '
- Me.chkDownloadTrailer.AutoSize = True
- Me.chkDownloadTrailer.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkDownloadTrailer.Location = New System.Drawing.Point(6, 19)
- Me.chkDownloadTrailer.Name = "chkDownloadTrailer"
- Me.chkDownloadTrailer.Size = New System.Drawing.Size(140, 17)
- Me.chkDownloadTrailer.TabIndex = 0
- Me.chkDownloadTrailer.Text = "Enable Trailer Support"
- Me.chkDownloadTrailer.UseVisualStyleBackColor = True
- '
- 'Label23
- '
- Me.Label23.AutoSize = True
- Me.Label23.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.Label23.Location = New System.Drawing.Point(21, 43)
- Me.Label23.Name = "Label23"
- Me.Label23.Size = New System.Drawing.Size(51, 13)
- Me.Label23.TabIndex = 1
- Me.Label23.Text = "Timeout:"
- '
- 'txtTimeout
- '
- Me.txtTimeout.Enabled = False
- Me.txtTimeout.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.txtTimeout.Location = New System.Drawing.Point(82, 39)
- Me.txtTimeout.Name = "txtTimeout"
- Me.txtTimeout.Size = New System.Drawing.Size(50, 22)
- Me.txtTimeout.TabIndex = 2
- '
- 'GroupBox2
- '
- Me.GroupBox2.Controls.Add(Me.chkTrailerTMDBXBMC)
- Me.GroupBox2.Controls.Add(Me.chkTrailerIMDB)
- Me.GroupBox2.Controls.Add(Me.chkTrailerTMDB)
- Me.GroupBox2.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.GroupBox2.Location = New System.Drawing.Point(165, 12)
- Me.GroupBox2.Name = "GroupBox2"
- Me.GroupBox2.Size = New System.Drawing.Size(161, 94)
- Me.GroupBox2.TabIndex = 3
- Me.GroupBox2.TabStop = False
- Me.GroupBox2.Text = "Supported Sites:"
- '
- 'chkTrailerTMDBXBMC
- '
- Me.chkTrailerTMDBXBMC.AutoSize = True
- Me.chkTrailerTMDBXBMC.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkTrailerTMDBXBMC.Location = New System.Drawing.Point(26, 44)
- Me.chkTrailerTMDBXBMC.Name = "chkTrailerTMDBXBMC"
- Me.chkTrailerTMDBXBMC.Size = New System.Drawing.Size(95, 17)
- Me.chkTrailerTMDBXBMC.TabIndex = 1
- Me.chkTrailerTMDBXBMC.Text = "XBMC Format"
- Me.chkTrailerTMDBXBMC.UseVisualStyleBackColor = True
- '
- 'chkTrailerIMDB
- '
- Me.chkTrailerIMDB.AutoSize = True
- Me.chkTrailerIMDB.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkTrailerIMDB.Location = New System.Drawing.Point(6, 67)
- Me.chkTrailerIMDB.Name = "chkTrailerIMDB"
- Me.chkTrailerIMDB.Size = New System.Drawing.Size(54, 17)
- Me.chkTrailerIMDB.TabIndex = 2
- Me.chkTrailerIMDB.Text = "IMDB"
- Me.chkTrailerIMDB.UseVisualStyleBackColor = True
- '
- 'chkTrailerTMDB
- '
- Me.chkTrailerTMDB.AutoSize = True
- Me.chkTrailerTMDB.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.chkTrailerTMDB.Location = New System.Drawing.Point(6, 21)
- Me.chkTrailerTMDB.Name = "chkTrailerTMDB"
- Me.chkTrailerTMDB.Size = New System.Drawing.Size(103, 17)
- Me.chkTrailerTMDB.TabIndex = 0
- Me.chkTrailerTMDB.Text = "Youtube/TMDB"
- Me.chkTrailerTMDB.UseVisualStyleBackColor = True
- '
- 'Panel2
- '
- Me.Panel2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
- Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
- Me.Panel2.BackColor = System.Drawing.Color.WhiteSmoke
- Me.Panel2.Controls.Add(Me.Label3)
- Me.Panel2.Controls.Add(Me.btnDown)
- Me.Panel2.Controls.Add(Me.btnUp)
- Me.Panel2.Controls.Add(Me.cbEnabled)
- Me.Panel2.Location = New System.Drawing.Point(0, 0)
- Me.Panel2.Name = "Panel2"
- Me.Panel2.Size = New System.Drawing.Size(1125, 25)
- Me.Panel2.TabIndex = 0
- '
- 'Label3
- '
- Me.Label3.AutoSize = True
- Me.Label3.Font = New System.Drawing.Font("Segoe UI", 6.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.Label3.Location = New System.Drawing.Point(500, 7)
- Me.Label3.Name = "Label3"
- Me.Label3.Size = New System.Drawing.Size(58, 12)
- Me.Label3.TabIndex = 1
- Me.Label3.Text = "Scraper order"
- '
- 'btnDown
- '
- Me.btnDown.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
- Me.btnDown.Image = CType(resources.GetObject("btnDown.Image"), System.Drawing.Image)
- Me.btnDown.Location = New System.Drawing.Point(591, 1)
- Me.btnDown.Name = "btnDown"
- Me.btnDown.Size = New System.Drawing.Size(23, 23)
- Me.btnDown.TabIndex = 3
- Me.btnDown.UseVisualStyleBackColor = True
- '
- 'btnUp
- '
- Me.btnUp.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
- Me.btnUp.Image = CType(resources.GetObject("btnUp.Image"), System.Drawing.Image)
- Me.btnUp.Location = New System.Drawing.Point(566, 1)
- Me.btnUp.Name = "btnUp"
- Me.btnUp.Size = New System.Drawing.Size(23, 23)
- Me.btnUp.TabIndex = 2
- Me.btnUp.UseVisualStyleBackColor = True
- '
- 'cbEnabled
- '
- Me.cbEnabled.AutoSize = True
- Me.cbEnabled.Location = New System.Drawing.Point(10, 5)
- Me.cbEnabled.Name = "cbEnabled"
- Me.cbEnabled.Size = New System.Drawing.Size(68, 17)
- Me.cbEnabled.TabIndex = 0
- Me.cbEnabled.Text = "Enabled"
- Me.cbEnabled.UseVisualStyleBackColor = True
- '
- 'frmMediaSettingsHolder
- '
- Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
- Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
- Me.BackColor = System.Drawing.Color.White
- Me.ClientSize = New System.Drawing.Size(652, 388)
- Me.Controls.Add(Me.pnlSettings)
- Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
- Me.MaximizeBox = False
- Me.MinimizeBox = False
- Me.Name = "frmMediaSettingsHolder"
- Me.ShowInTaskbar = False
- Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
- Me.Text = "Scraper Setup"
- Me.pnlSettings.ResumeLayout(False)
- CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
- Me.GroupBox3.ResumeLayout(False)
- Me.GroupBox4.ResumeLayout(False)
- Me.grpSaveFanart.ResumeLayout(False)
- Me.grpSaveFanart.PerformLayout()
- Me.GroupBox9.ResumeLayout(False)
- Me.GroupBox1.ResumeLayout(False)
- Me.GroupBox1.PerformLayout()
- Me.GroupBox5.ResumeLayout(False)
- Me.GroupBox5.PerformLayout()
- Me.GroupBox2.ResumeLayout(False)
- Me.GroupBox2.PerformLayout()
- Me.Panel2.ResumeLayout(False)
- Me.Panel2.PerformLayout()
- Me.ResumeLayout(False)
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMediaSettingsHolder))
+ Me.pnlSettings = New System.Windows.Forms.Panel()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.PictureBox1 = New System.Windows.Forms.PictureBox()
+ Me.GroupBox3 = New System.Windows.Forms.GroupBox()
+ Me.GroupBox6 = New System.Windows.Forms.GroupBox()
+ Me.cbActorThumbsSize = New System.Windows.Forms.ComboBox()
+ Me.GroupBox4 = New System.Windows.Forms.GroupBox()
+ Me.cbManualETSize = New System.Windows.Forms.ComboBox()
+ Me.grpSaveFanart = New System.Windows.Forms.GroupBox()
+ Me.optFanartFolderExtraFanart = New System.Windows.Forms.RadioButton()
+ Me.optFanartFolderExtraThumbs = New System.Windows.Forms.RadioButton()
+ Me.GroupBox9 = New System.Windows.Forms.GroupBox()
+ Me.chkUseMPDB = New System.Windows.Forms.CheckBox()
+ Me.chkUseTMDB = New System.Windows.Forms.CheckBox()
+ Me.chkUseIMPA = New System.Windows.Forms.CheckBox()
+ Me.chkScrapePoster = New System.Windows.Forms.CheckBox()
+ Me.chkScrapeFanart = New System.Windows.Forms.CheckBox()
+ Me.GroupBox1 = New System.Windows.Forms.GroupBox()
+ Me.GroupBox5 = New System.Windows.Forms.GroupBox()
+ Me.cbTrailerTMDBPref = New System.Windows.Forms.ComboBox()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.chkDownloadTrailer = New System.Windows.Forms.CheckBox()
+ Me.Label23 = New System.Windows.Forms.Label()
+ Me.txtTimeout = New System.Windows.Forms.TextBox()
+ Me.GroupBox2 = New System.Windows.Forms.GroupBox()
+ Me.chkTrailerTMDBXBMC = New System.Windows.Forms.CheckBox()
+ Me.chkTrailerIMDB = New System.Windows.Forms.CheckBox()
+ Me.chkTrailerTMDB = New System.Windows.Forms.CheckBox()
+ Me.Panel2 = New System.Windows.Forms.Panel()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.btnDown = New System.Windows.Forms.Button()
+ Me.btnUp = New System.Windows.Forms.Button()
+ Me.cbEnabled = New System.Windows.Forms.CheckBox()
+ Me.pnlSettings.SuspendLayout()
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.GroupBox3.SuspendLayout()
+ Me.GroupBox6.SuspendLayout()
+ Me.GroupBox4.SuspendLayout()
+ Me.grpSaveFanart.SuspendLayout()
+ Me.GroupBox9.SuspendLayout()
+ Me.GroupBox1.SuspendLayout()
+ Me.GroupBox5.SuspendLayout()
+ Me.GroupBox2.SuspendLayout()
+ Me.Panel2.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'pnlSettings
+ '
+ Me.pnlSettings.Controls.Add(Me.Label1)
+ Me.pnlSettings.Controls.Add(Me.PictureBox1)
+ Me.pnlSettings.Controls.Add(Me.GroupBox3)
+ Me.pnlSettings.Controls.Add(Me.GroupBox1)
+ Me.pnlSettings.Controls.Add(Me.Panel2)
+ Me.pnlSettings.Location = New System.Drawing.Point(12, 4)
+ Me.pnlSettings.Name = "pnlSettings"
+ Me.pnlSettings.Size = New System.Drawing.Size(617, 369)
+ Me.pnlSettings.TabIndex = 0
+ '
+ 'Label1
+ '
+ Me.Label1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.Label1.Font = New System.Drawing.Font("Segoe UI", 6.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.Label1.ForeColor = System.Drawing.Color.Blue
+ Me.Label1.Location = New System.Drawing.Point(37, 337)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(225, 31)
+ Me.Label1.TabIndex = 3
+ Me.Label1.Text = "These settings are specific to this module." & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Please refer to the global settings " & _
+ "for more options."
+ Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'PictureBox1
+ '
+ Me.PictureBox1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)
+ Me.PictureBox1.Location = New System.Drawing.Point(3, 335)
+ Me.PictureBox1.Name = "PictureBox1"
+ Me.PictureBox1.Size = New System.Drawing.Size(30, 31)
+ Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
+ Me.PictureBox1.TabIndex = 94
+ Me.PictureBox1.TabStop = False
+ '
+ 'GroupBox3
+ '
+ Me.GroupBox3.Controls.Add(Me.GroupBox6)
+ Me.GroupBox3.Controls.Add(Me.GroupBox4)
+ Me.GroupBox3.Controls.Add(Me.grpSaveFanart)
+ Me.GroupBox3.Controls.Add(Me.GroupBox9)
+ Me.GroupBox3.Controls.Add(Me.chkScrapePoster)
+ Me.GroupBox3.Controls.Add(Me.chkScrapeFanart)
+ Me.GroupBox3.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.GroupBox3.Location = New System.Drawing.Point(15, 31)
+ Me.GroupBox3.Name = "GroupBox3"
+ Me.GroupBox3.Size = New System.Drawing.Size(587, 177)
+ Me.GroupBox3.TabIndex = 1
+ Me.GroupBox3.TabStop = False
+ Me.GroupBox3.Text = "Images"
+ '
+ 'GroupBox6
+ '
+ Me.GroupBox6.Controls.Add(Me.cbActorThumbsSize)
+ Me.GroupBox6.Location = New System.Drawing.Point(374, 98)
+ Me.GroupBox6.Name = "GroupBox6"
+ Me.GroupBox6.Size = New System.Drawing.Size(160, 73)
+ Me.GroupBox6.TabIndex = 5
+ Me.GroupBox6.TabStop = False
+ Me.GroupBox6.Text = "Actor Thumbs Size:"
+ '
+ 'cbActorThumbsSize
+ '
+ Me.cbActorThumbsSize.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+ Me.cbActorThumbsSize.Font = New System.Drawing.Font("Segoe UI", 8.25!)
+ Me.cbActorThumbsSize.FormattingEnabled = True
+ Me.cbActorThumbsSize.Items.AddRange(New Object() {"SY275_SX400", "SY720_SX1080", "SY1080_SX1920"})
+ Me.cbActorThumbsSize.Location = New System.Drawing.Point(21, 35)
+ Me.cbActorThumbsSize.Name = "cbActorThumbsSize"
+ Me.cbActorThumbsSize.Size = New System.Drawing.Size(121, 21)
+ Me.cbActorThumbsSize.TabIndex = 0
+ '
+ 'GroupBox4
+ '
+ Me.GroupBox4.Controls.Add(Me.cbManualETSize)
+ Me.GroupBox4.Location = New System.Drawing.Point(374, 11)
+ Me.GroupBox4.Name = "GroupBox4"
+ Me.GroupBox4.Size = New System.Drawing.Size(160, 80)
+ Me.GroupBox4.TabIndex = 4
+ Me.GroupBox4.TabStop = False
+ Me.GroupBox4.Text = "TMDB Extrathumbs Size:"
+ '
+ 'cbManualETSize
+ '
+ Me.cbManualETSize.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+ Me.cbManualETSize.Enabled = False
+ Me.cbManualETSize.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.cbManualETSize.FormattingEnabled = True
+ Me.cbManualETSize.Items.AddRange(New Object() {"original", "w1280", "poster", "thumb"})
+ Me.cbManualETSize.Location = New System.Drawing.Point(21, 35)
+ Me.cbManualETSize.Name = "cbManualETSize"
+ Me.cbManualETSize.Size = New System.Drawing.Size(121, 21)
+ Me.cbManualETSize.TabIndex = 0
+ '
+ 'grpSaveFanart
+ '
+ Me.grpSaveFanart.Controls.Add(Me.optFanartFolderExtraFanart)
+ Me.grpSaveFanart.Controls.Add(Me.optFanartFolderExtraThumbs)
+ Me.grpSaveFanart.Enabled = False
+ Me.grpSaveFanart.Location = New System.Drawing.Point(24, 54)
+ Me.grpSaveFanart.Name = "grpSaveFanart"
+ Me.grpSaveFanart.Size = New System.Drawing.Size(123, 66)
+ Me.grpSaveFanart.TabIndex = 2
+ Me.grpSaveFanart.TabStop = False
+ Me.grpSaveFanart.Text = "Save Fanart In:"
+ '
+ 'optFanartFolderExtraFanart
+ '
+ Me.optFanartFolderExtraFanart.AutoSize = True
+ Me.optFanartFolderExtraFanart.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.optFanartFolderExtraFanart.Location = New System.Drawing.Point(22, 38)
+ Me.optFanartFolderExtraFanart.Name = "optFanartFolderExtraFanart"
+ Me.optFanartFolderExtraFanart.Size = New System.Drawing.Size(85, 17)
+ Me.optFanartFolderExtraFanart.TabIndex = 1
+ Me.optFanartFolderExtraFanart.TabStop = True
+ Me.optFanartFolderExtraFanart.Text = "\extrafanart"
+ Me.optFanartFolderExtraFanart.UseVisualStyleBackColor = True
+ '
+ 'optFanartFolderExtraThumbs
+ '
+ Me.optFanartFolderExtraThumbs.AutoSize = True
+ Me.optFanartFolderExtraThumbs.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.optFanartFolderExtraThumbs.Location = New System.Drawing.Point(22, 19)
+ Me.optFanartFolderExtraThumbs.Name = "optFanartFolderExtraThumbs"
+ Me.optFanartFolderExtraThumbs.Size = New System.Drawing.Size(93, 17)
+ Me.optFanartFolderExtraThumbs.TabIndex = 0
+ Me.optFanartFolderExtraThumbs.TabStop = True
+ Me.optFanartFolderExtraThumbs.Text = "\extrathumbs"
+ Me.optFanartFolderExtraThumbs.UseVisualStyleBackColor = True
+ '
+ 'GroupBox9
+ '
+ Me.GroupBox9.Controls.Add(Me.chkUseMPDB)
+ Me.GroupBox9.Controls.Add(Me.chkUseTMDB)
+ Me.GroupBox9.Controls.Add(Me.chkUseIMPA)
+ Me.GroupBox9.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.GroupBox9.Location = New System.Drawing.Point(165, 11)
+ Me.GroupBox9.Name = "GroupBox9"
+ Me.GroupBox9.Size = New System.Drawing.Size(160, 80)
+ Me.GroupBox9.TabIndex = 3
+ Me.GroupBox9.TabStop = False
+ Me.GroupBox9.Text = "Get Images From:"
+ '
+ 'chkUseMPDB
+ '
+ Me.chkUseMPDB.CheckAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkUseMPDB.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkUseMPDB.Location = New System.Drawing.Point(6, 56)
+ Me.chkUseMPDB.Name = "chkUseMPDB"
+ Me.chkUseMPDB.Size = New System.Drawing.Size(150, 22)
+ Me.chkUseMPDB.TabIndex = 2
+ Me.chkUseMPDB.Text = "MoviePosterDB.com"
+ Me.chkUseMPDB.TextAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkUseMPDB.UseVisualStyleBackColor = True
+ '
+ 'chkUseTMDB
+ '
+ Me.chkUseTMDB.CheckAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkUseTMDB.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkUseTMDB.Location = New System.Drawing.Point(6, 18)
+ Me.chkUseTMDB.Name = "chkUseTMDB"
+ Me.chkUseTMDB.Size = New System.Drawing.Size(149, 19)
+ Me.chkUseTMDB.TabIndex = 0
+ Me.chkUseTMDB.Text = "themoviedb.org"
+ Me.chkUseTMDB.TextAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkUseTMDB.UseVisualStyleBackColor = True
+ '
+ 'chkUseIMPA
+ '
+ Me.chkUseIMPA.CheckAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkUseIMPA.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkUseIMPA.Location = New System.Drawing.Point(6, 37)
+ Me.chkUseIMPA.Name = "chkUseIMPA"
+ Me.chkUseIMPA.Size = New System.Drawing.Size(149, 20)
+ Me.chkUseIMPA.TabIndex = 1
+ Me.chkUseIMPA.Text = "IMPAwards.com"
+ Me.chkUseIMPA.TextAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkUseIMPA.UseVisualStyleBackColor = True
+ '
+ 'chkScrapePoster
+ '
+ Me.chkScrapePoster.CheckAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkScrapePoster.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkScrapePoster.Location = New System.Drawing.Point(6, 19)
+ Me.chkScrapePoster.Name = "chkScrapePoster"
+ Me.chkScrapePoster.Size = New System.Drawing.Size(114, 15)
+ Me.chkScrapePoster.TabIndex = 0
+ Me.chkScrapePoster.Text = "Get Posters"
+ Me.chkScrapePoster.TextAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkScrapePoster.UseVisualStyleBackColor = True
+ '
+ 'chkScrapeFanart
+ '
+ Me.chkScrapeFanart.CheckAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkScrapeFanart.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkScrapeFanart.Location = New System.Drawing.Point(6, 37)
+ Me.chkScrapeFanart.Name = "chkScrapeFanart"
+ Me.chkScrapeFanart.Size = New System.Drawing.Size(84, 16)
+ Me.chkScrapeFanart.TabIndex = 1
+ Me.chkScrapeFanart.Text = "Get Fanart"
+ Me.chkScrapeFanart.TextAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkScrapeFanart.UseVisualStyleBackColor = True
+ '
+ 'GroupBox1
+ '
+ Me.GroupBox1.Controls.Add(Me.GroupBox5)
+ Me.GroupBox1.Controls.Add(Me.chkDownloadTrailer)
+ Me.GroupBox1.Controls.Add(Me.Label23)
+ Me.GroupBox1.Controls.Add(Me.txtTimeout)
+ Me.GroupBox1.Controls.Add(Me.GroupBox2)
+ Me.GroupBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.GroupBox1.Location = New System.Drawing.Point(15, 214)
+ Me.GroupBox1.Name = "GroupBox1"
+ Me.GroupBox1.Size = New System.Drawing.Size(587, 112)
+ Me.GroupBox1.TabIndex = 2
+ Me.GroupBox1.TabStop = False
+ Me.GroupBox1.Text = "Trailers"
+ Me.GroupBox1.UseCompatibleTextRendering = True
+ '
+ 'GroupBox5
+ '
+ Me.GroupBox5.Controls.Add(Me.cbTrailerTMDBPref)
+ Me.GroupBox5.Controls.Add(Me.Label2)
+ Me.GroupBox5.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold)
+ Me.GroupBox5.Location = New System.Drawing.Point(374, 12)
+ Me.GroupBox5.Name = "GroupBox5"
+ Me.GroupBox5.Size = New System.Drawing.Size(161, 94)
+ Me.GroupBox5.TabIndex = 4
+ Me.GroupBox5.TabStop = False
+ Me.GroupBox5.Text = "Youtube/TMDB Trailer:"
+ '
+ 'cbTrailerTMDBPref
+ '
+ Me.cbTrailerTMDBPref.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+ Me.cbTrailerTMDBPref.Enabled = False
+ Me.cbTrailerTMDBPref.Font = New System.Drawing.Font("Segoe UI", 8.25!)
+ Me.cbTrailerTMDBPref.FormattingEnabled = True
+ Me.cbTrailerTMDBPref.Items.AddRange(New Object() {"bg", "cs", "da", "de", "el", "en", "es", "fi", "fr", "he", "hu", "it", "nb", "nl", "no", "pl", "pt", "ru", "sk", "sv", "ta", "tr", "uk", "vi", "xx", "zh"})
+ Me.cbTrailerTMDBPref.Location = New System.Drawing.Point(21, 51)
+ Me.cbTrailerTMDBPref.Name = "cbTrailerTMDBPref"
+ Me.cbTrailerTMDBPref.Size = New System.Drawing.Size(121, 21)
+ Me.cbTrailerTMDBPref.TabIndex = 1
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Font = New System.Drawing.Font("Segoe UI", 8.25!)
+ Me.Label2.Location = New System.Drawing.Point(26, 26)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(111, 13)
+ Me.Label2.TabIndex = 0
+ Me.Label2.Text = "Preferred Language:"
+ '
+ 'chkDownloadTrailer
+ '
+ Me.chkDownloadTrailer.AutoSize = True
+ Me.chkDownloadTrailer.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkDownloadTrailer.Location = New System.Drawing.Point(6, 19)
+ Me.chkDownloadTrailer.Name = "chkDownloadTrailer"
+ Me.chkDownloadTrailer.Size = New System.Drawing.Size(140, 17)
+ Me.chkDownloadTrailer.TabIndex = 0
+ Me.chkDownloadTrailer.Text = "Enable Trailer Support"
+ Me.chkDownloadTrailer.UseVisualStyleBackColor = True
+ '
+ 'Label23
+ '
+ Me.Label23.AutoSize = True
+ Me.Label23.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label23.Location = New System.Drawing.Point(21, 43)
+ Me.Label23.Name = "Label23"
+ Me.Label23.Size = New System.Drawing.Size(51, 13)
+ Me.Label23.TabIndex = 1
+ Me.Label23.Text = "Timeout:"
+ '
+ 'txtTimeout
+ '
+ Me.txtTimeout.Enabled = False
+ Me.txtTimeout.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txtTimeout.Location = New System.Drawing.Point(82, 39)
+ Me.txtTimeout.Name = "txtTimeout"
+ Me.txtTimeout.Size = New System.Drawing.Size(50, 22)
+ Me.txtTimeout.TabIndex = 2
+ '
+ 'GroupBox2
+ '
+ Me.GroupBox2.Controls.Add(Me.chkTrailerTMDBXBMC)
+ Me.GroupBox2.Controls.Add(Me.chkTrailerIMDB)
+ Me.GroupBox2.Controls.Add(Me.chkTrailerTMDB)
+ Me.GroupBox2.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.GroupBox2.Location = New System.Drawing.Point(165, 12)
+ Me.GroupBox2.Name = "GroupBox2"
+ Me.GroupBox2.Size = New System.Drawing.Size(161, 94)
+ Me.GroupBox2.TabIndex = 3
+ Me.GroupBox2.TabStop = False
+ Me.GroupBox2.Text = "Supported Sites:"
+ '
+ 'chkTrailerTMDBXBMC
+ '
+ Me.chkTrailerTMDBXBMC.AutoSize = True
+ Me.chkTrailerTMDBXBMC.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkTrailerTMDBXBMC.Location = New System.Drawing.Point(26, 44)
+ Me.chkTrailerTMDBXBMC.Name = "chkTrailerTMDBXBMC"
+ Me.chkTrailerTMDBXBMC.Size = New System.Drawing.Size(95, 17)
+ Me.chkTrailerTMDBXBMC.TabIndex = 1
+ Me.chkTrailerTMDBXBMC.Text = "XBMC Format"
+ Me.chkTrailerTMDBXBMC.UseVisualStyleBackColor = True
+ '
+ 'chkTrailerIMDB
+ '
+ Me.chkTrailerIMDB.AutoSize = True
+ Me.chkTrailerIMDB.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkTrailerIMDB.Location = New System.Drawing.Point(6, 67)
+ Me.chkTrailerIMDB.Name = "chkTrailerIMDB"
+ Me.chkTrailerIMDB.Size = New System.Drawing.Size(54, 17)
+ Me.chkTrailerIMDB.TabIndex = 2
+ Me.chkTrailerIMDB.Text = "IMDB"
+ Me.chkTrailerIMDB.UseVisualStyleBackColor = True
+ '
+ 'chkTrailerTMDB
+ '
+ Me.chkTrailerTMDB.AutoSize = True
+ Me.chkTrailerTMDB.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkTrailerTMDB.Location = New System.Drawing.Point(6, 21)
+ Me.chkTrailerTMDB.Name = "chkTrailerTMDB"
+ Me.chkTrailerTMDB.Size = New System.Drawing.Size(103, 17)
+ Me.chkTrailerTMDB.TabIndex = 0
+ Me.chkTrailerTMDB.Text = "Youtube/TMDB"
+ Me.chkTrailerTMDB.UseVisualStyleBackColor = True
+ '
+ 'Panel2
+ '
+ Me.Panel2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Panel2.BackColor = System.Drawing.Color.WhiteSmoke
+ Me.Panel2.Controls.Add(Me.Label3)
+ Me.Panel2.Controls.Add(Me.btnDown)
+ Me.Panel2.Controls.Add(Me.btnUp)
+ Me.Panel2.Controls.Add(Me.cbEnabled)
+ Me.Panel2.Location = New System.Drawing.Point(0, 0)
+ Me.Panel2.Name = "Panel2"
+ Me.Panel2.Size = New System.Drawing.Size(1125, 25)
+ Me.Panel2.TabIndex = 0
+ '
+ 'Label3
+ '
+ Me.Label3.AutoSize = True
+ Me.Label3.Font = New System.Drawing.Font("Segoe UI", 6.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label3.Location = New System.Drawing.Point(500, 7)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(58, 12)
+ Me.Label3.TabIndex = 1
+ Me.Label3.Text = "Scraper order"
+ '
+ 'btnDown
+ '
+ Me.btnDown.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.btnDown.Image = CType(resources.GetObject("btnDown.Image"), System.Drawing.Image)
+ Me.btnDown.Location = New System.Drawing.Point(591, 1)
+ Me.btnDown.Name = "btnDown"
+ Me.btnDown.Size = New System.Drawing.Size(23, 23)
+ Me.btnDown.TabIndex = 3
+ Me.btnDown.UseVisualStyleBackColor = True
+ '
+ 'btnUp
+ '
+ Me.btnUp.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.btnUp.Image = CType(resources.GetObject("btnUp.Image"), System.Drawing.Image)
+ Me.btnUp.Location = New System.Drawing.Point(566, 1)
+ Me.btnUp.Name = "btnUp"
+ Me.btnUp.Size = New System.Drawing.Size(23, 23)
+ Me.btnUp.TabIndex = 2
+ Me.btnUp.UseVisualStyleBackColor = True
+ '
+ 'cbEnabled
+ '
+ Me.cbEnabled.AutoSize = True
+ Me.cbEnabled.Location = New System.Drawing.Point(10, 5)
+ Me.cbEnabled.Name = "cbEnabled"
+ Me.cbEnabled.Size = New System.Drawing.Size(68, 17)
+ Me.cbEnabled.TabIndex = 0
+ Me.cbEnabled.Text = "Enabled"
+ Me.cbEnabled.UseVisualStyleBackColor = True
+ '
+ 'frmMediaSettingsHolder
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
+ Me.BackColor = System.Drawing.Color.White
+ Me.ClientSize = New System.Drawing.Size(652, 388)
+ Me.Controls.Add(Me.pnlSettings)
+ Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "frmMediaSettingsHolder"
+ Me.ShowInTaskbar = False
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "Scraper Setup"
+ Me.pnlSettings.ResumeLayout(False)
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.GroupBox3.ResumeLayout(False)
+ Me.GroupBox6.ResumeLayout(False)
+ Me.GroupBox4.ResumeLayout(False)
+ Me.grpSaveFanart.ResumeLayout(False)
+ Me.grpSaveFanart.PerformLayout()
+ Me.GroupBox9.ResumeLayout(False)
+ Me.GroupBox1.ResumeLayout(False)
+ Me.GroupBox1.PerformLayout()
+ Me.GroupBox5.ResumeLayout(False)
+ Me.GroupBox5.PerformLayout()
+ Me.GroupBox2.ResumeLayout(False)
+ Me.GroupBox2.PerformLayout()
+ Me.Panel2.ResumeLayout(False)
+ Me.Panel2.PerformLayout()
+ Me.ResumeLayout(False)
- End Sub
+ End Sub
Friend WithEvents pnlSettings As System.Windows.Forms.Panel
Friend WithEvents chkScrapeFanart As System.Windows.Forms.CheckBox
Friend WithEvents chkScrapePoster As System.Windows.Forms.CheckBox
@@ -492,5 +518,7 @@ Partial Class frmMediaSettingsHolder
Friend WithEvents GroupBox5 As System.Windows.Forms.GroupBox
Friend WithEvents cbTrailerTMDBPref As System.Windows.Forms.ComboBox
Friend WithEvents Label2 As System.Windows.Forms.Label
+ Friend WithEvents GroupBox6 As System.Windows.Forms.GroupBox
+ Friend WithEvents cbActorThumbsSize As System.Windows.Forms.ComboBox
End Class
\ No newline at end of file
diff --git a/Addons/scraper.EmberCore/frmMediaSettingsHolder.resx b/Addons/scraper.EmberCore/frmMediaSettingsHolder.resx
index 3c46229..023cf14 100644
--- a/Addons/scraper.EmberCore/frmMediaSettingsHolder.resx
+++ b/Addons/scraper.EmberCore/frmMediaSettingsHolder.resx
@@ -165,74 +165,73 @@
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
- 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
+ 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
+ 6bKz54D4Hdc/dStsxIkAAAAAAElFTkSuQmCC
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK8gAA
- CvIBPVL3EQAAApRJREFUOE+l0GtIU2EYB/DHC0Ve2lDsIppZ2TQ9UwPJsCAJirDsQ/lhlHT5YFCWXbDm
- Xam0vMGm4mVeppApXiDSckynNc2pa5jTbOmWqSEtA6WUwuTpOSeS5PitAz94zvs+7/+9ACLC/1hZbF3Q
- A+vrohEGZ+Rh5XqvikqDj4JVpveo7J/OjFpa/gaLS1bO301XihFrFbBMs7XQaoqmRSKseB3AUeh9sWkk
- QmeafQyj1hoOL6B3KhNY/Z9y4dGbg02yXiEW6Nw48l4XNmRE8+EWdFiuc3gBPZM5wNJNy6Bm8HBDbs9m
- zH/lwcnr2YrFA2JjhyUJ2s1SDi9AO5ED2olcOoUcqgxHGrK07pjd7cV5qPXEgr5go9qcAqrxRHg+dnuN
- K0yWw8sJOXR/LIJS/bGGjK5teO/FTs7dLm86SYixbSwNnr1Ppk0U/ICp+VHoMJdAu0UGxQOR9SmaHZje
- KeKkaXzoJPuHWkzp8GT0Pnz/OccPmJ57a9dqyvOsNlwNzNYeVce37Uapyo9zRyXCDE3omNIQG1g3JPWd
- //HFhvcGzcMPLqaqw5cTVGF4szUI4576r3KjRYyJqgMobQvF5uEsMS/g84JFUK1PSoiu3Y4xjQF4qZFZ
- JYb+z9ftwnT1ybK5XzP2vIDBdzrQjjeDwpAUH1UlQokyACXVzB9KBqOUfpjReaaksi8ZWjRN/DcA+ty2
- COFCrARS6y/HRZYHYkQRgxGFDJ5QiPFKzalCybXjsMldyLbyA+wAbGjcnjg4OzjZ7pMwqYfygzBcFowh
- 5/aUCgQb2TlHsp7t5V2BBu2IK/GjpGBq9HXxEJx29RaepdqfxvbSHEO82N61AoAm7MkG4mRLaCGVYEu1
- IxXOxIGs+/cEvwG4WS+MPfOKlQAAAABJRU5ErkJggg==
+ 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
+ rkJggg==
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK8gAA
- CvIBPVL3EQAAAo1JREFUOE+lkW1IU1EYx5+lbi0jKk2EDKlMJ5eZEFlRyKBUwg/lB3sBSYllRC218K3A
- ptvSSpfMtKRIU0vzSviCuU0xnXozKVNn06lzTklJ+yDCwA+yp7ObDeUaBB34cd7+53cezgFEhP/BdXje
- PgqfZ19C3/diMM2/hqlFLbSMx117Z4rK+PbjBb/blgXvx2XQbcsHx5pLNxSYf9LQO3M/rvzrMXtZ/2FH
- m0WWzszk/Jugf/Y5dE7J4572Uajp9SZ4YUmfCBtHE+S6iaS/V7BgH4OBuUrQjafFF30KwYIeX1QzfiwF
- jC8RUVhtjM1hph+vezPXZMFu3tw2qZKqmYOY1+WHD7v91/GArOX3UNgwmqR0OFZ4fx7eJWi1qC7n94Sh
- /MNuVHTuRVXnflSu8nu8D7M79qDKIEL9hCKEI5he/CJsMt8JrRxMiFR/lBiy2gOILIjlXvsBzO06ZK0Y
- uBRJm26GLy7PenAEc0tD0G5VQ6tFA4XM2ZrUlgDM0AWzpGuDUNFxfLBhJBv0ljxYXllyVe4aGKxVoDUX
- g36sFPI6ztA3GgIxqYlikTUG413dCSNtVABtzAHGVssVaCefQfNYCTSbSiFbH0NLa0V4tU7McoWm8HZT
- uPFNvwqqh5TwdkTJFUgzz0EBnQlaSwWk1sfQsWUivPhKzHK+nMLEGiIYegS5dclwJELMFQBpAgEf0tTX
- IaX+Ql2URoTRxWKW00UUxledHE59kgjCLQJnlCtwA+DxANw3Ac/jVObRWklRKEoKV9GEYoQqbJjv5i4g
- GYEzy/kFsuhG8CKBQOFWvsQnZGeyN7XdSYqPeMetbbs8o8leMMn4O7MbCYBsuBOEJOhBqiTdOpwXeBL4
- ayv4Ba5+NdG8cgGAAAAAAElFTkSuQmCC
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
+ JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAryAAAK8gE9UvcRAAACgklE
+ QVQ4T6WOa0iTURjHn6VuLSMqTYQMqUwnL7NBZEUhg1IJP5Qf7AKSEmZEmVrMS4Gp29LKLdmaJUWalzRf
+ CS+Y2xLz+mZSps7mps4rKVkfRBD8IHs675sM7DUKOvDjPOec//M7DyDif+Eq5pds8HH2OfR+NYB1vhIm
+ F4zQPBp75bU1MuPLt2fCrqkseDOaBF1TBeD8m8D+g4aembuxpZ+PLJX0HXS2OJLSmZncfxP0zT6F9sns
+ 2Me9FOp6vAleWNQrwQZbfLZpLPnPgu9LI9A/Vw6m0bQ4/YcQ1HT7opbx49AwvkREYZUlJpeZfujq+U1g
+ 39gyrk7QMvsxv9MP73f5r+EeuSvoprDelqxyOlcEPMFbh/piQXcoZr/bicr23ahu34uqVX7VezCnbReq
+ OyRoHlOG8ATTC5/EjfZbsvKB+Ajte3lHVmsAkQVx3Gndh3mdBybK+i9E0NbrYQvLsx48wdziILROaMkk
+ OihkTlcrmgMwwxTMkW4MQmXb0YH64RwwO/JheWXR1ecqOiYqwGg3gHmkGPLbTtHX6gMxuZHiSGoIxtum
+ YxbaogTakgvMVA1fYBx/Ak0jRdBkLYYcczSdUCPBy7VSjks0hTcbwywv+9RQNaiCV8MqviAh8wxo6Eww
+ OspAURdNx5RI8PwLKcfZUgoTq4lg8AHk1abAoXApX8AukUgIadqrkFp3rjZSJ8Eog5TjpJ7CuIrjQ4pH
+ iSDeJOKyPIEbgEAA4L4BBB4nMg/XyPUylBeuopNhuDp0SOjmLiIZEZtdT+BG8CKBQPFmodwnZHuKN7WV
+ JdVHuu3Glh2eUeQtmGT82ex6AhZ3gpgEPciRbGtgP/AkCAmrEyD8BK5+NdGVjkx7AAAAAElFTkSuQmCC
\ No newline at end of file
diff --git a/Addons/scraper.EmberCore/frmMediaSettingsHolder.vb b/Addons/scraper.EmberCore/frmMediaSettingsHolder.vb
index eb04560..401240a 100644
--- a/Addons/scraper.EmberCore/frmMediaSettingsHolder.vb
+++ b/Addons/scraper.EmberCore/frmMediaSettingsHolder.vb
@@ -133,14 +133,14 @@ Public Class frmMediaSettingsHolder
Me.cbEnabled.Text = Master.eLang.GetString(774, "Enabled", True)
Me.chkScrapePoster.Text = Master.eLang.GetString(101, "Get Posters")
Me.chkScrapeFanart.Text = Master.eLang.GetString(102, "Get Fanart")
- Me.Label1.Text = String.Format(Master.eLang.GetString(103, "These settings are specific to this module.{0}Please refer to the global settings for more options."), vbCrLf)
- Me.GroupBox3.Text = Master.eLang.GetString(467, "Images", True)
- Me.GroupBox4.Text = Master.eLang.GetString(108, "TMDB Extrathumbs Size:")
- Me.GroupBox1.Text = Master.eLang.GetString(109, "Trailers")
- Me.GroupBox5.Text = Master.eLang.GetString(110, "Youtube/TMDB Trailer:")
- Me.chkTrailerTMDBXBMC.Text = Master.eLang.GetString(111, "XBMC Format")
- Me.Label2.Text = Master.eLang.GetString(112, "Preferred language")
- Me.grpSaveFanart.Text = Master.eLang.GetString(113, "Save Fanart In:")
+ Me.Label1.Text = String.Format(Master.eLang.GetString(103, "These settings are specific to this module.{0}Please refer to the global settings for more options."), vbCrLf)
+ Me.GroupBox3.Text = Master.eLang.GetString(497, "Images", True)
+ Me.GroupBox4.Text = Master.eLang.GetString(108, "TMDB Extrathumbs Size:")
+ Me.GroupBox1.Text = Master.eLang.GetString(109, "Trailers")
+ Me.GroupBox5.Text = Master.eLang.GetString(110, "Youtube/TMDB Trailer:")
+ Me.chkTrailerTMDBXBMC.Text = Master.eLang.GetString(111, "XBMC Format")
+ Me.Label2.Text = Master.eLang.GetString(112, "Preferred language")
+ Me.grpSaveFanart.Text = Master.eLang.GetString(113, "Save Fanart In:")
End Sub
Private Sub txtTimeout_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTimeout.TextChanged
@@ -159,6 +159,10 @@ Public Class frmMediaSettingsHolder
RaiseEvent ModuleSettingsChanged()
End Sub
+ Private Sub cbActorThumbsSize_SelectedIndexChanged(ByVal sender As System.Object, e As System.EventArgs) Handles cbActorThumbsSize.SelectedIndexChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
Private Sub cbTrailerTMDBPref_SelectedIndexChanged(ByVal sender As System.Object, e As System.EventArgs) Handles cbTrailerTMDBPref.SelectedIndexChanged
RaiseEvent ModuleSettingsChanged()
End Sub
diff --git a/Addons/scraper.EmberCore/scraper.EmberCore.vbproj b/Addons/scraper.EmberCore/scraper.EmberCore.vbproj
index 675af3e..58452a4 100644
--- a/Addons/scraper.EmberCore/scraper.EmberCore.vbproj
+++ b/Addons/scraper.EmberCore/scraper.EmberCore.vbproj
@@ -298,15 +298,27 @@
+
+ PreserveNewest
+
PreserveNewest
PreserveNewest
-
-
-
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
Always
diff --git a/Addons/scraper.EmberCore/scraperMovieNativeModule.vb b/Addons/scraper.EmberCore/scraperMovieNativeModule.vb
index 8385e57..358521f 100644
--- a/Addons/scraper.EmberCore/scraperMovieNativeModule.vb
+++ b/Addons/scraper.EmberCore/scraperMovieNativeModule.vb
@@ -61,7 +61,9 @@ Public Class EmberNativeScraperModule
Public Event SetupPostScraperChanged(ByVal name As String, ByVal State As Boolean, ByVal difforder As Integer) Implements Interfaces.EmberMovieScraperModule.PostScraperSetupChanged
- Public Event SetupScraperChanged(ByVal name As String, ByVal State As Boolean, ByVal difforder As Integer) Implements Interfaces.EmberMovieScraperModule.ScraperSetupChanged
+ Public Event SetupScraperChanged(ByVal name As String, ByVal State As Boolean, ByVal difforder As Integer) Implements Interfaces.EmberMovieScraperModule.ScraperSetupChanged
+
+ Public Event SetupNeedsRestart() Implements Interfaces.EmberMovieScraperModule.SetupNeedsRestart
#End Region 'Events
@@ -181,6 +183,7 @@ Public Class EmberNativeScraperModule
_setupPost.chkUseIMPA.Checked = MySettings.UseIMPA
_setupPost.chkUseMPDB.Checked = MySettings.UseMPDB
_setupPost.cbManualETSize.Text = MySettings.ManualETSize
+ _setupPost.cbActorThumbsSize.Text = MySettings.ActorThumbsSize
_setupPost.txtTimeout.Text = MySettings.TrailerTimeout.ToString
_setupPost.chkDownloadTrailer.Checked = MySettings.DownloadTrailers
_setupPost.CheckTrailer()
@@ -292,6 +295,7 @@ Public Class EmberNativeScraperModule
MySettings.UseTMDBTrailer = AdvancedSettings.GetBooleanSetting("UseTMDBTrailer", True)
MySettings.UseTMDBTrailerXBMC = AdvancedSettings.GetBooleanSetting("UseTMDBTrailerXBMC", False)
MySettings.ManualETSize = Convert.ToString(AdvancedSettings.GetSetting("ManualETSize", "thumb"))
+ MySettings.ActorThumbsSize = Convert.ToString(AdvancedSettings.GetSetting("ActorThumbsSize", "SY275_SX400"))
MySettings.UseTMDBTrailerPref = Convert.ToString(AdvancedSettings.GetSetting("UseTMDBTrailerPref", "en"))
ConfigScrapeModifier.DoSearch = True
@@ -410,11 +414,13 @@ Public Class EmberNativeScraperModule
End Try
End If
End If
- If Master.GlobalScrapeMod.Actors AndAlso AdvancedSettings.GetBooleanSetting("ScrapeActorsThumbs", False) Then
+ If Master.GlobalScrapeMod.Actors AndAlso Master.eSettings.ScraperActorThumbs Then
For Each act As MediaContainers.Person In DBMovie.Movie.Actors
Dim img As New Images
img.FromWeb(act.Thumb)
- img.SaveAsActorThumb(act, Directory.GetParent(DBMovie.Filename).FullName)
+ If Not IsNothing(img.Image) Then
+ img.SaveAsActorThumb(act, Directory.GetParent(DBMovie.Filename).FullName, DBMovie)
+ End If
Next
End If
Master.GlobalScrapeMod = saveModifier
@@ -465,6 +471,7 @@ Public Class EmberNativeScraperModule
AdvancedSettings.SetBooleanSetting("UseTMDBTrailerXBMC", MySettings.UseTMDBTrailerXBMC)
AdvancedSettings.SetSetting("ManualETSize", MySettings.ManualETSize.ToString)
+ AdvancedSettings.SetSetting("ActorThumbsSize", MySettings.ActorThumbsSize.ToString)
AdvancedSettings.SetSetting("UseTMDBTrailerPref", MySettings.UseTMDBTrailerPref.ToString)
AdvancedSettings.SetBooleanSetting("DoPoster", ConfigScrapeModifier.Poster)
@@ -482,6 +489,7 @@ Public Class EmberNativeScraperModule
MySettings.UseIMPA = _setupPost.chkUseIMPA.Checked
MySettings.UseMPDB = _setupPost.chkUseMPDB.Checked
MySettings.ManualETSize = _setupPost.cbManualETSize.Text
+ MySettings.ActorThumbsSize = _setupPost.cbActorThumbsSize.Text
MySettings.UseTMDBTrailerPref = _setupPost.cbTrailerTMDBPref.Text
ConfigScrapeModifier.Poster = _setupPost.chkScrapePoster.Checked
ConfigScrapeModifier.Fanart = _setupPost.chkScrapeFanart.Checked
@@ -587,7 +595,7 @@ Public Class EmberNativeScraperModule
End If
End If
Dim filterOptions As Structures.ScrapeOptions = Functions.ScrapeOptionsAndAlso(Options, ConfigOptions)
- If dSearch.ShowDialog(tmpTitle, filterOptions) = Windows.Forms.DialogResult.OK Then
+ If dSearch.ShowDialog(tmpTitle, filterOptions, DBMovie.Filename) = Windows.Forms.DialogResult.OK Then
If Not String.IsNullOrEmpty(Master.tmpMovie.IMDBID) Then
DBMovie.Movie.IMDBID = Master.tmpMovie.IMDBID
End If
@@ -683,6 +691,7 @@ Public Class EmberNativeScraperModule
Dim UseIMDBTrailer As Boolean
Dim UseTMDBTrailerXBMC As Boolean
Dim ManualETSize As String
+ Dim ActorThumbsSize As String
Dim UseTMDBTrailerPref As String
#End Region 'Fields
diff --git a/Addons/scraper.EmberCore/scraperTVNativeModule.vb b/Addons/scraper.EmberCore/scraperTVNativeModule.vb
index 028ed1d..450e6d6 100644
--- a/Addons/scraper.EmberCore/scraperTVNativeModule.vb
+++ b/Addons/scraper.EmberCore/scraperTVNativeModule.vb
@@ -124,10 +124,10 @@ Public Class EmberNativeTVScraperModule
Return New Interfaces.ModuleResult With {.breakChain = False}
End Function
- Public Function GetSingleImage(ByVal Title As String, ByVal ShowID As Integer, ByVal TVDBID As String, ByVal Type As Enums.TVImageType, ByVal Season As Integer, ByVal Episode As Integer, ByVal Lang As String, ByVal Ordering As Enums.Ordering, ByVal CurrentImage As Image, ByRef Image As Image) As Interfaces.ModuleResult Implements Interfaces.EmberTVScraperModule.GetSingleImage
- Image = TVScraper.GetSingleImage(Title, ShowID, TVDBID, Type, Season, Episode, Lang, Ordering, CurrentImage)
- Return New Interfaces.ModuleResult With {.breakChain = True}
- End Function
+ Public Function GetSingleImage(ByVal Title As String, ByVal ShowID As Integer, ByVal TVDBID As String, ByVal Type As Enums.TVImageType, ByVal Season As Integer, ByVal Episode As Integer, ByVal Lang As String, ByVal Ordering As Enums.Ordering, ByVal CurrentImage As Images, ByRef Image As Images) As Interfaces.ModuleResult Implements Interfaces.EmberTVScraperModule.GetSingleImage
+ Image = TVScraper.GetSingleImage(Title, ShowID, TVDBID, Type, Season, Episode, Lang, Ordering, CurrentImage)
+ Return New Interfaces.ModuleResult With {.breakChain = True}
+ End Function
Public Sub Handler_ScraperEvent(ByVal eType As Enums.TVScraperEventType, ByVal iProgress As Integer, ByVal Parameter As Object)
RaiseEvent TVScraperEvent(eType, iProgress, Parameter)
diff --git a/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.Debug_(db_DB).xml b/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.Debug_(db_DB).xml
new file mode 100644
index 0000000..cb66cd5
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.Debug_(db_DB).xml
@@ -0,0 +1,902 @@
+
+ tmdb1
+ tmdb2
+ tmdb3
+ tmdb4
+ tmdb5
+ tmdb6
+ tmdb7
+ tmdb8
+ tmdb9
+ tmdb10
+ tmdb11
+ tmdb12
+ tmdb13
+ tmdb14
+ tmdb15
+ tmdb16
+ tmdb17
+ tmdb18
+ tmdb19
+ tmdb20
+ tmdb21
+ tmdb22
+ tmdb23
+ tmdb24
+ tmdb25
+ tmdb26
+ tmdb27
+ tmdb28
+ tmdb29
+ tmdb30
+ tmdb31
+ tmdb32
+ tmdb33
+ tmdb34
+ tmdb35
+ tmdb36
+ tmdb37
+ tmdb38
+ tmdb39
+ tmdb40
+ tmdb41
+ tmdb42
+ tmdb43
+ tmdb44
+ tmdb45
+ tmdb46
+ tmdb47
+ tmdb48
+ tmdb49
+ tmdb50
+ tmdb51
+ tmdb52
+ tmdb53
+ tmdb54
+ tmdb55
+ tmdb56
+ tmdb57
+ tmdb58
+ tmdb59
+ tmdb60
+ tmdb61
+ tmdb62
+ tmdb63
+ tmdb64
+ tmdb65
+ tmdb66
+ tmdb67
+ tmdb68
+ tmdb69
+ tmdb70
+ tmdb71
+ tmdb72
+ tmdb73
+ tmdb74
+ tmdb75
+ tmdb76
+ tmdb77
+ tmdb78
+ tmdb79
+ tmdb80
+ tmdb81
+ tmdb82
+ tmdb83
+ tmdb84
+ tmdb85
+ tmdb86
+ tmdb87
+ tmdb88
+ tmdb89
+ tmdb90
+ tmdb91
+ tmdb92
+ tmdb93
+ tmdb94
+ tmdb95
+ tmdb96
+ tmdb97
+ tmdb98
+ tmdb99
+ tmdb100
+ tmdb101
+ tmdb102
+ tmdb103
+ tmdb104
+ tmdb105
+ tmdb106
+ tmdb107
+ tmdb108
+ tmdb109
+ tmdb110
+ tmdb111
+ tmdb112
+ tmdb113
+ tmdb114
+ tmdb115
+ tmdb116
+ tmdb117
+ tmdb118
+ tmdb119
+ tmdb120
+ tmdb121
+ tmdb122
+ tmdb123
+ tmdb124
+ tmdb125
+ tmdb126
+ tmdb127
+ tmdb128
+ tmdb129
+ tmdb130
+ tmdb131
+ tmdb132
+ tmdb133
+ tmdb134
+ tmdb135
+ tmdb136
+ tmdb137
+ tmdb138
+ tmdb139
+ tmdb140
+ tmdb141
+ tmdb142
+ tmdb143
+ tmdb144
+ tmdb145
+ tmdb146
+ tmdb147
+ tmdb148
+ tmdb149
+ tmdb150
+ tmdb151
+ tmdb152
+ tmdb153
+ tmdb154
+ tmdb155
+ tmdb156
+ tmdb157
+ tmdb158
+ tmdb159
+ tmdb160
+ tmdb161
+ tmdb162
+ tmdb163
+ tmdb164
+ tmdb165
+ tmdb166
+ tmdb167
+ tmdb168
+ tmdb169
+ tmdb170
+ tmdb171
+ tmdb172
+ tmdb173
+ tmdb174
+ tmdb175
+ tmdb176
+ tmdb177
+ tmdb178
+ tmdb179
+ tmdb180
+ tmdb181
+ tmdb182
+ tmdb183
+ tmdb184
+ tmdb185
+ tmdb186
+ tmdb187
+ tmdb188
+ tmdb189
+ tmdb190
+ tmdb191
+ tmdb192
+ tmdb193
+ tmdb194
+ tmdb195
+ tmdb196
+ tmdb197
+ tmdb198
+ tmdb199
+ tmdb200
+ tmdb201
+ tmdb202
+ tmdb203
+ tmdb204
+ tmdb205
+ tmdb206
+ tmdb207
+ tmdb208
+ tmdb209
+ tmdb210
+ tmdb211
+ tmdb212
+ tmdb213
+ tmdb214
+ tmdb215
+ tmdb216
+ tmdb217
+ tmdb218
+ tmdb219
+ tmdb220
+ tmdb221
+ tmdb222
+ tmdb223
+ tmdb224
+ tmdb225
+ tmdb226
+ tmdb227
+ tmdb228
+ tmdb229
+ tmdb230
+ tmdb231
+ tmdb232
+ tmdb233
+ tmdb234
+ tmdb235
+ tmdb236
+ tmdb237
+ tmdb238
+ tmdb239
+ tmdb240
+ tmdb241
+ tmdb242
+ tmdb243
+ tmdb244
+ tmdb245
+ tmdb246
+ tmdb247
+ tmdb248
+ tmdb249
+ tmdb250
+ tmdb251
+ tmdb252
+ tmdb253
+ tmdb254
+ tmdb255
+ tmdb256
+ tmdb257
+ tmdb258
+ tmdb259
+ tmdb260
+ tmdb261
+ tmdb262
+ tmdb263
+ tmdb264
+ tmdb265
+ tmdb266
+ tmdb267
+ tmdb268
+ tmdb269
+ tmdb270
+ tmdb271
+ tmdb272
+ tmdb273
+ tmdb274
+ tmdb275
+ tmdb276
+ tmdb277
+ tmdb278
+ tmdb279
+ tmdb280
+ tmdb281
+ tmdb282
+ tmdb283
+ tmdb284
+ tmdb285
+ tmdb286
+ tmdb287
+ tmdb288
+ tmdb289
+ tmdb290
+ tmdb291
+ tmdb292
+ tmdb293
+ tmdb294
+ tmdb295
+ tmdb296
+ tmdb297
+ tmdb298
+ tmdb299
+ tmdb300
+ tmdb301
+ tmdb302
+ tmdb303
+ tmdb304
+ tmdb305
+ tmdb306
+ tmdb307
+ tmdb308
+ tmdb309
+ tmdb310
+ tmdb311
+ tmdb312
+ tmdb313
+ tmdb314
+ tmdb315
+ tmdb316
+ tmdb317
+ tmdb318
+ tmdb319
+ tmdb320
+ tmdb321
+ tmdb322
+ tmdb323
+ tmdb324
+ tmdb325
+ tmdb326
+ tmdb327
+ tmdb328
+ tmdb329
+ tmdb330
+ tmdb331
+ tmdb332
+ tmdb333
+ tmdb334
+ tmdb335
+ tmdb336
+ tmdb337
+ tmdb338
+ tmdb339
+ tmdb340
+ tmdb341
+ tmdb342
+ tmdb343
+ tmdb344
+ tmdb345
+ tmdb346
+ tmdb347
+ tmdb348
+ tmdb349
+ tmdb350
+ tmdb351
+ tmdb352
+ tmdb353
+ tmdb354
+ tmdb355
+ tmdb356
+ tmdb357
+ tmdb358
+ tmdb359
+ tmdb360
+ tmdb361
+ tmdb362
+ tmdb363
+ tmdb364
+ tmdb365
+ tmdb366
+ tmdb367
+ tmdb368
+ tmdb369
+ tmdb370
+ tmdb371
+ tmdb372
+ tmdb373
+ tmdb374
+ tmdb375
+ tmdb376
+ tmdb377
+ tmdb378
+ tmdb379
+ tmdb380
+ tmdb381
+ tmdb382
+ tmdb383
+ tmdb384
+ tmdb385
+ tmdb386
+ tmdb387
+ tmdb388
+ tmdb389
+ tmdb390
+ tmdb391
+ tmdb392
+ tmdb393
+ tmdb394
+ tmdb395
+ tmdb396
+ tmdb397
+ tmdb398
+ tmdb399
+ tmdb400
+ tmdb401
+ tmdb402
+ tmdb403
+ tmdb404
+ tmdb405
+ tmdb406
+ tmdb407
+ tmdb408
+ tmdb409
+ tmdb410
+ tmdb411
+ tmdb412
+ tmdb413
+ tmdb414
+ tmdb415
+ tmdb416
+ tmdb417
+ tmdb418
+ tmdb419
+ tmdb420
+ tmdb421
+ tmdb422
+ tmdb423
+ tmdb424
+ tmdb425
+ tmdb426
+ tmdb427
+ tmdb428
+ tmdb429
+ tmdb430
+ tmdb431
+ tmdb432
+ tmdb433
+ tmdb434
+ tmdb435
+ tmdb436
+ tmdb437
+ tmdb438
+ tmdb439
+ tmdb440
+ tmdb441
+ tmdb442
+ tmdb443
+ tmdb444
+ tmdb445
+ tmdb446
+ tmdb447
+ tmdb448
+ tmdb449
+ tmdb450
+ tmdb451
+ tmdb452
+ tmdb453
+ tmdb454
+ tmdb455
+ tmdb456
+ tmdb457
+ tmdb458
+ tmdb459
+ tmdb460
+ tmdb461
+ tmdb462
+ tmdb463
+ tmdb464
+ tmdb465
+ tmdb466
+ tmdb467
+ tmdb468
+ tmdb469
+ tmdb470
+ tmdb471
+ tmdb472
+ tmdb473
+ tmdb474
+ tmdb475
+ tmdb476
+ tmdb477
+ tmdb478
+ tmdb479
+ tmdb480
+ tmdb481
+ tmdb482
+ tmdb483
+ tmdb484
+ tmdb485
+ tmdb486
+ tmdb487
+ tmdb488
+ tmdb489
+ tmdb490
+ tmdb491
+ tmdb492
+ tmdb493
+ tmdb494
+ tmdb495
+ tmdb496
+ tmdb497
+ tmdb498
+ tmdb499
+ tmdb500
+ tmdb501
+ tmdb502
+ tmdb503
+ tmdb504
+ tmdb505
+ tmdb506
+ tmdb507
+ tmdb508
+ tmdb509
+ tmdb510
+ tmdb511
+ tmdb512
+ tmdb513
+ tmdb514
+ tmdb515
+ tmdb516
+ tmdb517
+ tmdb518
+ tmdb519
+ tmdb520
+ tmdb521
+ tmdb522
+ tmdb523
+ tmdb524
+ tmdb525
+ tmdb526
+ tmdb527
+ tmdb528
+ tmdb529
+ tmdb530
+ tmdb531
+ tmdb532
+ tmdb533
+ tmdb534
+ tmdb535
+ tmdb536
+ tmdb537
+ tmdb538
+ tmdb539
+ tmdb540
+ tmdb541
+ tmdb542
+ tmdb543
+ tmdb544
+ tmdb545
+ tmdb546
+ tmdb547
+ tmdb548
+ tmdb549
+ tmdb550
+ tmdb551
+ tmdb552
+ tmdb553
+ tmdb554
+ tmdb555
+ tmdb556
+ tmdb557
+ tmdb558
+ tmdb559
+ tmdb560
+ tmdb561
+ tmdb562
+ tmdb563
+ tmdb564
+ tmdb565
+ tmdb566
+ tmdb567
+ tmdb568
+ tmdb569
+ tmdb570
+ tmdb571
+ tmdb572
+ tmdb573
+ tmdb574
+ tmdb575
+ tmdb576
+ tmdb577
+ tmdb578
+ tmdb579
+ tmdb580
+ tmdb581
+ tmdb582
+ tmdb583
+ tmdb584
+ tmdb585
+ tmdb586
+ tmdb587
+ tmdb588
+ tmdb589
+ tmdb590
+ tmdb591
+ tmdb592
+ tmdb593
+ tmdb594
+ tmdb595
+ tmdb596
+ tmdb597
+ tmdb598
+ tmdb599
+ tmdb600
+ tmdb601
+ tmdb602
+ tmdb603
+ tmdb604
+ tmdb605
+ tmdb606
+ tmdb607
+ tmdb608
+ tmdb609
+ tmdb610
+ tmdb611
+ tmdb612
+ tmdb613
+ tmdb614
+ tmdb615
+ tmdb616
+ tmdb617
+ tmdb618
+ tmdb619
+ tmdb620
+ tmdb621
+ tmdb622
+ tmdb623
+ tmdb624
+ tmdb625
+ tmdb626
+ tmdb627
+ tmdb628
+ tmdb629
+ tmdb630
+ tmdb631
+ tmdb632
+ tmdb633
+ tmdb634
+ tmdb635
+ tmdb636
+ tmdb637
+ tmdb638
+ tmdb639
+ tmdb640
+ tmdb641
+ tmdb642
+ tmdb643
+ tmdb644
+ tmdb645
+ tmdb646
+ tmdb647
+ tmdb648
+ tmdb649
+ tmdb650
+ tmdb651
+ tmdb652
+ tmdb653
+ tmdb654
+ tmdb655
+ tmdb656
+ tmdb657
+ tmdb658
+ tmdb659
+ tmdb660
+ tmdb661
+ tmdb662
+ tmdb663
+ tmdb664
+ tmdb665
+ tmdb666
+ tmdb667
+ tmdb668
+ tmdb669
+ tmdb670
+ tmdb671
+ tmdb672
+ tmdb673
+ tmdb674
+ tmdb675
+ tmdb676
+ tmdb677
+ tmdb678
+ tmdb679
+ tmdb680
+ tmdb681
+ tmdb682
+ tmdb683
+ tmdb684
+ tmdb685
+ tmdb686
+ tmdb687
+ tmdb688
+ tmdb689
+ tmdb690
+ tmdb691
+ tmdb692
+ tmdb693
+ tmdb694
+ tmdb695
+ tmdb696
+ tmdb697
+ tmdb698
+ tmdb699
+ tmdb700
+ tmdb701
+ tmdb702
+ tmdb703
+ tmdb704
+ tmdb705
+ tmdb706
+ tmdb707
+ tmdb708
+ tmdb709
+ tmdb710
+ tmdb711
+ tmdb712
+ tmdb713
+ tmdb714
+ tmdb715
+ tmdb716
+ tmdb717
+ tmdb718
+ tmdb719
+ tmdb720
+ tmdb721
+ tmdb722
+ tmdb723
+ tmdb724
+ tmdb725
+ tmdb726
+ tmdb727
+ tmdb728
+ tmdb729
+ tmdb730
+ tmdb731
+ tmdb732
+ tmdb733
+ tmdb734
+ tmdb735
+ tmdb736
+ tmdb737
+ tmdb738
+ tmdb739
+ tmdb740
+ tmdb741
+ tmdb742
+ tmdb743
+ tmdb744
+ tmdb745
+ tmdb746
+ tmdb747
+ tmdb748
+ tmdb749
+ tmdb750
+ tmdb751
+ tmdb752
+ tmdb753
+ tmdb754
+ tmdb755
+ tmdb756
+ tmdb757
+ tmdb758
+ tmdb759
+ tmdb760
+ tmdb761
+ tmdb762
+ tmdb763
+ tmdb764
+ tmdb765
+ tmdb766
+ tmdb767
+ tmdb768
+ tmdb769
+ tmdb770
+ tmdb771
+ tmdb772
+ tmdb773
+ tmdb774
+ tmdb775
+ tmdb776
+ tmdb777
+ tmdb778
+ tmdb779
+ tmdb780
+ tmdb781
+ tmdb782
+ tmdb783
+ tmdb784
+ tmdb785
+ tmdb786
+ tmdb787
+ tmdb788
+ tmdb789
+ tmdb790
+ tmdb791
+ tmdb792
+ tmdb793
+ tmdb794
+ tmdb795
+ tmdb796
+ tmdb797
+ tmdb798
+ tmdb799
+ tmdb800
+ tmdb801
+ tmdb802
+ tmdb803
+ tmdb804
+ tmdb805
+ tmdb806
+ tmdb807
+ tmdb808
+ tmdb809
+ tmdb810
+ tmdb811
+ tmdb812
+ tmdb813
+ tmdb814
+ tmdb815
+ tmdb816
+ tmdb817
+ tmdb818
+ tmdb819
+ tmdb820
+ tmdb821
+ tmdb822
+ tmdb823
+ tmdb824
+ tmdb825
+ tmdb826
+ tmdb827
+ tmdb828
+ tmdb829
+ tmdb830
+ tmdb831
+ tmdb832
+ tmdb833
+ tmdb834
+ tmdb835
+ tmdb836
+ tmdb837
+ tmdb838
+ tmdb839
+ tmdb840
+ tmdb841
+ tmdb842
+ tmdb843
+ tmdb844
+ tmdb845
+ tmdb846
+ tmdb847
+ tmdb848
+ tmdb849
+ tmdb850
+ tmdb851
+ tmdb852
+ tmdb853
+ tmdb854
+ tmdb855
+ tmdb856
+ tmdb857
+ tmdb858
+ tmdb859
+ tmdb860
+ tmdb861
+ tmdb862
+ tmdb863
+ tmdb864
+ tmdb865
+ tmdb866
+ tmdb867
+ tmdb868
+ tmdb869
+ tmdb870
+ tmdb871
+ tmdb872
+ tmdb873
+ tmdb874
+ tmdb875
+ tmdb876
+ tmdb877
+ tmdb878
+ tmdb879
+ tmdb880
+ tmdb881
+ tmdb882
+ tmdb883
+ tmdb884
+ tmdb885
+ tmdb886
+ tmdb887
+ tmdb888
+ tmdb889
+ tmdb890
+ tmdb891
+ tmdb892
+ tmdb893
+ tmdb894
+ tmdb895
+ tmdb896
+ tmdb897
+ tmdb898
+ tmdb899
+ tmdb900
+
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.English_(en_US)-Help.xml b/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.English_(en_US)-Help.xml
new file mode 100644
index 0000000..5e87256
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.English_(en_US)-Help.xml
@@ -0,0 +1,31 @@
+
+ Enable or disable this module.
+ Move this scraper module up in order. (Scraper modules will be processed in order from top to bottom)
+ Move this scraper module down in order. (Scraper modules will be processed in order from top to bottom)
+ API Key from the TMDB site. Sharing the API key is forbidden.
+ Enable scraping movie certification.
+ Selected language for TMDB searches
+ If no record is available for selected language try English
+ Enable scraping movie other crew. (Scrape Full Crew must be enabled)
+ Enable scraping movie studio.
+ Enable scraping movie runtime.
+ Enable scraping movie plot.
+ Enable scraping movie outline.
+ Enable scraping movie genre.
+ Enable scraping movie tagline.
+ Enable scraping movie cast.
+ Enable scraping movie votes.
+ Enable scraping movie rating.
+ Enable scraping movie release date.
+ Enable scraping movie MPAA.
+ Enable scraping movie year.
+ Enable scraping movie title.
+ Move this scraper module up in order. (Scraper modules will be processed in order from top to bottom)
+ Enable or disable this module.
+ Move this scraper module down in order. (Scraper modules will be processed in order from top to bottom)
+ Enable scraping posters from this module. (Refer to global poster settings for more options)
+ Enable scraping fanart from this module. (Refer to global fanart settings for more options)
+ Enable trailer downloading from this module. (Refer to global trailer settings for more options)
+ Enter the time (in seconds) you wish to use as a time out for the trailer sites. (If there is no response in the given time frame, the trailer site will be temporarily skipped.)
+ Select the sites from which you would like to retrieve trailer URLs and/or files.
+
diff --git a/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.English_(en_US).xml b/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.English_(en_US).xml
new file mode 100644
index 0000000..cf68bc8
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.English_(en_US).xml
@@ -0,0 +1,126 @@
+
+ Ember Native TV Scrapers
+ Use OFDB Genre
+ Use OFDB Plot
+ Use OFDB Outline
+ Use OFDB Title
+ TMDB Mirror:
+ Scraper Fields - Scraper specific
+ Timeout:
+ Supported Sites:
+ Get Images From:
+ Search Results
+ Searching TMDB...
+ The ID you entered is not a valid IMDB ID.
+ You have manually entered an IMDB ID but have not verified it is correct.
+ Continue without verification?
+ Unable to retrieve movie details for the entered IMDB ID. Please check your entry and try again.
+ Verification Failed
+
+
+
+ No Matches Found
+ View details of each result to find the proper movie.
+ Movie Search Results
+ Manual IMDB Entry:
+ Verify
+ Searching TMDB...
+ Downloading details...
+ Downloading {0}
+ No Fanart found for this movie.
+ No Fanart Found
+ No Posters found for this movie.
+ No Posters Found
+ Retrieving data from TheMovieDB.com...
+ TheMovieDB.com is not enabled
+ Retrieving data from IMPAwards.com...
+ IMPAwards.com is not enabled
+ Retrieving data from MoviePosterDB.com...
+ MoviePostersDB.com is not enabled
+ Preparing images...
+ Select Poster
+ Select Fanart
+ Check All Thumb
+ Check All Mid
+ Check All Original
+ Selected item will be set as fanart. All checked items will be saved to \extrathumbs.
+ Performing Preliminary Tasks...
+ Downloading Selected Image...
+ Original
+ Cover
+ Medium
+ Small
+ Original ({0}x{1})
+ Cover ({0}x{1})
+ Small ({0}x{1})
+ Medium ({0}x{1})
+ Multiple
+ Downloading selected trailer...
+ Copying specified file to trailer...
+ The trailer could not be played. This could be due to an invalid URL or you do not have the proper player to play the trailer type.
+ Error Playing Trailer
+ Move
+ Copy
+ Moving specified file to trailer...
+ Set To Nfo
+ Select Trailer
+ Select Trailer to Download
+ Manual Trailer Entry
+ Direct Link or YouTube URL:
+ Compiling trailer list...
+ Preview Trailer
+ Local Trailer:
+ The video format links could not be retrieved.
+ Error Retrieving Video Format Links
+ Select Format
+ Getting available formats...
+ Available Formats
+ A poster of your preferred size could not be found. Please choose another.
+ No Preferred Size
+ Fanart of your preferred size could not be found. Please choose another.
+ There are no known episodes for this show. Scrape the show, season, or episode and try again.
+ No Known Episodes
+ There is no poster available for this episode.
+ Guest Star
+ The ID you entered is not a valid TVDB ID.
+ Downloading show info...
+ TV Search Results
+ View details of each result to find the proper TV show.
+ Downloading Fullsize Fanart Image...
+ Loading Current Images...
+ (Down)Loading New Images...
+ Setting Defaults...
+ Show Poster
+ Episode Fanart
+ Show Fanart
+ All Seasons Poster
+ Season Posters
+ Season Fanart
+ Season {0} Posters
+ Season {0} Fanart
+ TV Image Selection
+ Current Image:
+ Get Posters
+ Get Fanart
+ These settings are specific to this module.{0}Please refer to the global settings for more options.
+ Ember TMDB Movie Scrapers
+
+ IMDB
+ OFDB (German)
+ TMDB Extrathumbs Size:
+ Trailers
+ Youtube/TMDB Trailer:
+ XBMC Format
+ Preferred language
+ Save Fanart In:
+ Fall back on english
+ Preferred Language:
+ TMDBid:
+ Retrieving data from IMDB.com...
+ IMDB.com is not enabled
+ TheMovieDB API is missing or not valid
+ Retrieving data from Fanart.tv...
+ Fanart.tv is not enabled
+ Get your API Key from www.themoviedb.org
+ Get your API Key from fanart.tv
+
diff --git a/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.German_(de_DE)-Help.xml b/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.German_(de_DE)-Help.xml
new file mode 100644
index 0000000..d2a3801
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.German_(de_DE)-Help.xml
@@ -0,0 +1,31 @@
+
+ Aktiviert oder deaktiviert dieses Modul.
+ Verschiebt diesen Scraper in der Reihenfolge einen nach oben. (Scraper Module werden von oben nach unten abgearbeitet)
+ Verschiebt diesen Scraper in der Reihenfolge einen nach unten. (Scraper Module werden von oben nach unten abgearbeitet)
+ API-Key von der TMDB-Website. Gemeinsame Nutzung des API-Schlüssels ist verboten.
+ Das Scrapen von Altersbeschränkungen einschalten.
+ Wähle die Sprache in der auf TMDB gesucht werden soll
+ Wenn kein Datensatz für die gewählte Sprache verfügbar ist versuche englischen zu nehmen.
+ Das Scrapen von der restlichen Crew einschalten. ("Gesamte Crew Scrapen" muss eingeschaltet sein)
+ Das Scrapen von Studios einschalten.
+ Das Scrapen von Spielzeiten einschalten.
+ Das Scrapen von Inhaltsangaben einschalten.
+ Das Scrapen von Kurzbeschreibungen einschalten.
+ Das Scrapen von Genres einschalten.
+ Das Scrapen von Taglines einschalten.
+ Das Scrapen von Schauspielern einschalten.
+ Das Scrapen von Anzahl Bewertungen einschalten.
+ Das Scrapen von Bewertungen einschalten.
+ Das Scrapen von Premiere-Daten einschalten.
+ Das Scrapen von MPAA-Informationen einschalten.
+ Das Scrapen von Filmjahren einschalten.
+ Das Scrapen von Filmtiteln einschalten.
+ Verschiebt diesen Scraper in der Reihenfolge einen nach oben. (Scraper Module werden von oben nach unten abgearbeitet)
+ Aktiviert oder deaktiviert dieses Modul.
+ Verschiebt diesen Scraper in der Reihenfolge einen nach unten. (Scraper Module werden von oben nach unten abgearbeitet)
+ Aktiviert das Laden von Postern mit diesem Modul. (Schau auch in die Globale Konfiguration)
+ Aktiviert das Laden von Fanarts mit diesem Modul. (Schau auch in die Globale Konfiguration)
+ Aktiviert das Laden von Trailern mit diesem Modul. (Schau auch in die Globale Konfiguration)
+ Wähle die Zeit (in Sekunden) die auf Trailerseiten gewartet werden soll. (Wenn die Seite in dieser Zeit nicht geantwortet hat wird sie übersprungen)
+ Wähle die Seite von der Trailer URLs/Dateien geladen werden sollen.
+
diff --git a/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.German_(de_DE).xml b/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.German_(de_DE).xml
new file mode 100644
index 0000000..9b8e52e
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.German_(de_DE).xml
@@ -0,0 +1,126 @@
+
+ Ember Nativer TV Scraper
+ OFDB Genre benutzen
+ OFDB Handlung benutzen
+ OFDB Kurzbeschr. benutzen
+ OFDB Titel benutzen
+ TMDB Mirror:
+ Scraper Felder - Scraper spezifisch
+ Timeout:
+ Unterstützte Seiten:
+ Bilder holen von:
+ Suchergebnis
+ Suche in der TMDB...
+ Die eingegebene ID ist keine gültige IMDB ID.
+ Die IMDB ID ist noch nicht geprüft.
+ Ohne Prüfung fortfahren?
+ Zu der eingegebene IMDB ID konnten keine Informationen geholt werden. Bitte prüfe deine Eingaben.
+ Prüfung fehlgeschlagen
+
+
+
+ Keine Treffer
+ Schaue dir die Details an um den richtigen Film zu finden.
+ Film Suchergebnis
+ Man. IMDB ID:
+ Prüfen
+ Suche in der TMDB...
+ Lade Details...
+ Lade {0} herunter
+ Kein Fanart für diesen Film gefunden.
+ Kein Fanart gefunden
+ Kein Poster für diesen Film gefunden.
+ Kein Poster gefunden
+ Lade Daten von TheMovieDB.com...
+ TheMovieDB.com ist nicht aktiviert
+ Lade Daten von IMPAwards.com...
+ IMPAwards.com ist nicht aktiviert
+ Lade Daten von MoviePosterDB.com...
+ MoviePostersDB.com ist nicht aktiviert
+ Bereite Bilder vor...
+ Wähle Poster
+ Wähle Fanart
+ Wähle alle Thumb
+ Wähle alle Mittl.
+ Wähle alle Original
+ Markiertes Bild wird Fanart. Alle aktivierten werden Extrathumbs.
+ Vorarbeit läuft...
+ Lade gewähltes Bild...
+ Original
+ Cover
+ Medium
+ Klein
+ Original ({0}x{1})
+ Cover ({0}x{1})
+ Klein ({0}x{1})
+ Mittel ({0}x{1})
+ Mehrfach
+ Lade gewählten Trailer...
+ Kopiere gewählten Trailer...
+ Der Trailer konnte nicht abgespielt werden. Dies könnte an einer Fehlerhaften URL liegen oder es ist kein Player für diesen Dateityp vorhanden.
+ Fehler beim Abspielen des Trailers
+ Verschieben
+ Kopieren
+ Verschiebe gewählten Treiler...
+ In NFO speichern
+ Trailer wählen
+ Trailer zum laden wählen
+ Manueller Trailer
+ Direkter Link oder YouTube URL:
+ Stelle Trailerliste zusammen...
+ Trailer Vorschau
+ Loakler trailer:
+ Fehler beim generieren der Videoformat Linkliste.
+ Fehler beim Generieren der Videoformat Links.
+ Wähle Format
+ Hole verfügbare Formate...
+ Verfügbare Formate
+ Es konnte kein Poster in der bevorzugten Größe gefunden werden. Wähle ein anderes.
+ Keine bevorzugte Größe
+ Es konnte kein Fanart in der gewünschten Größe gefunden werden. Wähle ein anderes.
+ Keine Episoden für diese TV-Serie verfügbar. Scrape diese Serie, Staffel oder Episode und versuche es erneut.
+ Keine Episoden verfügbar
+ Kein Poster für diese Episode vorhanden.
+ Gaststar
+ Die eingegebene ID ist keine gültige TMDB ID.
+ Lade Serien Informationen...
+ Serien Suchergebnis
+ Betrachte die Details um die richtige TV-Serie zu erkennen.
+ Lade Fanart in Originalgröße...
+ Lade aktuelle Bilder...
+ Lade neue Bilder...
+ Setze Standardwerte...
+ Serien Poster
+ Episoden Fanart
+ Serien Fanart
+ Alle-Staffeln Poster
+ Staffel Poster
+ Staffel Fanart
+ Staffel {0} Poster
+ Staffel {0} Fanart
+ Bilderwahl TV-Serien
+ Aktuelles Bild:
+ Poster laden
+ Fanart laden
+ Diese Einstellungen sind Modul-spezifisch. {0} Bitte werfen sie einen Blick in die Globalen Einstellungen für noch mehr Optionen.
+ Ember TMDB Movie Scrapers
+
+ IMDB
+ OFDB (German)
+ TMDB Extrathumbs Grösse:
+ Trailer
+ Youtube/TMDB Trailer:
+ XBMC Format
+ Bevorzugte Sprache
+ Speichere Fanart in:
+ Verwende Englisch wenn nichts verfügbar
+ Bevorzugte Sprache:
+ TMDBid:
+ Lade Daten von IMDB.com...
+ IMDB.com ist nicht aktiviert.
+ Die TheMovieDB API ist nicht vorhanden oder ungültig
+ Lade Daten von Fanart.tv...
+ Fanart.tv ist nicht aktiviert
+ Get your API Key from www.themoviedb.org
+ Get your API Key from fanart.tv
+
diff --git a/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.Norwegian_(no_NO)-Help.xml b/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.Norwegian_(no_NO)-Help.xml
new file mode 100644
index 0000000..54809c6
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.Norwegian_(no_NO)-Help.xml
@@ -0,0 +1,31 @@
+
+ Slå denne modulen på eller av.
+ Flytt denne detaljhentermodulen opp i rekkefølgen. (Detaljhentermoduler vil bli bruk fra toppen ned.)
+ Flytt denne detaljhentermodulen ned i rekkefølgen. (Detaljhentermoduler vil bli bruk fra toppen ned.)
+ API-nøkkel fra TMDB-siden. Deling av denne nøkkelen er forbudt.
+ Slå på detaljhenting av filmsertifisering.
+ Valgt språk for TMDB-søk.
+ Hvis valgt språk ikke blir funnet, prøv engelsk.
+ Slå på detaljhenting av andre crew. (Detaljhenting av fullt crew må være påslått)
+ Slå på detaljhenting av filmstudio.
+ Slå på detaljhenting av filmlengde.
+ Slå på detaljhenting av filmens historie.
+ Slå på detaljhenting av filmens beskrivelse.
+ Slå på detaljhenting av filmens sjanger.
+ Slå på detaljhetning av filmens undertittel.
+ Slå på detaljhetning av filmens skuespillerbeholdning.
+ Slå på detaljhetning av filmens poeng.
+ Slå på detaljhetning av filmens aldersgrense.
+ Slå på detaljhetning av filmens premieredato.
+ Slå på detaljhetning av filmens MPAA-markering.
+ Slå på detaljhetning av filmens år.
+ Slå på detaljhetning av filmens tittel.
+ Flytt denne detaljhentermodulen opp i rekkefølgen. (Detaljhentermoduler vil bli bruk fra toppen ned.)
+ Slå denne modulen på eller av.
+ Flytt denne detaljhentermodulen ned i rekkefølgen. (Detaljhentermoduler vil bli bruk fra toppen ned.)
+ Slå på detaljhetning av plakater i denne modulen. (Se globale plakatinnstillinger for flere valg)
+ Slå på detaljhetning av fankunst i denne modulen. (Se globale fankunstinnstillinger for flere valg)
+ Slå på automatisk henting av trailer fra denne modulen. (Se globale trailerinnstillinger for flere valg)
+ Før inn tiden (i sekunder) du vil bruke for timeout for trailersider. (Hvis siden ikke svarer innen timeoutfristen, så vil den bli hoppet over)
+ Velg sidene du vil bruke til trailer URL og/eller filer.
+
diff --git a/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.Norwegian_(no_NO).xml b/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.Norwegian_(no_NO).xml
new file mode 100644
index 0000000..3ee8a25
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Langs/scraper.EmberCore.TMDB.Norwegian_(no_NO).xml
@@ -0,0 +1,126 @@
+
+ EMM TV-detaljhentere
+ Bruk OFDB-sjangere
+ Bruk OFDB-filmhistorie
+ Bruk OFDB-beskrivelse
+ Bruk OFDB-tittel
+ TMDB-speilserver:
+ Detaljhenterområder - Detaljhenterspesifikk
+ Tidsavbrudd:
+ Støttede sider:
+ Hent bilder fra:
+ Søkeresultater
+ Søker TMDB...
+ IDen du førte inn er ikke en riktig IMDB-ID.
+ Du har ført inn en IMDB-ID, men har ikke verifisert om den er riktig.
+ Fortsette uten verifisering?
+ Kunne ikke hente filmdetaljer for den innførte IDen. Vennligst sjekk IDen og prøv igjen.
+ Verifisering feilet
+
+
+
+ Ingen funnet
+ Se detaljer fra hvert treff for å finne riktig film.
+ Filmsøkresultater
+ Manuell IMDB innføring:
+ Verifiser
+ Søker TMDB...
+ Laster ned detaljer...
+ Laster ned {0}
+ Ingen fankunst funnet for denne filmen.
+ Ingen fankunst funnet
+ Ingen plakater funnet for denne filmen.
+ Ingen plakater funnet
+ Henter data fra TheMovieDB.com...
+ TheMovieDB.com er ikke påslått
+ Henter data fra IMPAwards.com...
+ IMPAwards.com er ikke påslått
+ Henter data fra MoviePosterDB.com...
+ MoviePostersDB.com er ikke påslått
+ Forbereder bilder...
+ Velg plakat
+ Velg fankunst
+ Huk av alle tommelbilder
+ Huk av alle Mid
+ Huk av alle originale
+ Valgte objekt vil bli satt som fankunst. Alle hukede objekter vil bli lagret i \extrathumbs.
+ Utfører forberedende oppgaver...
+ Laster ned valgte bilde...
+ Original
+ Cover
+ Medium
+ Liten
+ Original ({0}x{1})
+ Cover ({0}x{1})
+ Liten ({0}x{1})
+ Medium ({0}x{1})
+ Flere
+ Laster ned valgt trailer...
+ Kopierer valgt fil til trailer...
+ Traileren kunne ikke spilles av. Det kan være at URL ikke er gyldig, eller at du ikke har riktig avspiller for denne filtypen.
+ Kan ikke spille av trailer
+ Flytt
+ Kopiér
+ Flytter valgt fil til trailer...
+ Sett i nfo
+ Velg trailer
+ Velg trailer til å laste ned
+ Manuell trailerinnføring
+ Direkte link eller YouTube URL:
+ Kompilerer trailerliste...
+ Sniktitt på trailer
+ Lokal trailer:
+ Videoformatlenkene kunne ikke hentes
+ Kunne ikke hente videoformatlenker
+ Velg format
+ Henter tilgjengelige formater...
+ Tilgjengelige formater
+ En plakat i din valgte størrelse kunne ikke hentes. Vennligst velg en annen.
+ Ingen foretrukket størrelse
+ Fankunst i din foretrukkede størrelse kunne ikke bli funnet. Vennligst velg en annen.
+ Det er ingen kjente episoder for denne serien. Detaljhent serien, sesongen eller episoden og prøv på nytt.
+ Ingen kjente episoder
+ Det er ingen plakater for denne episoden.
+ Gjesteskuespiller
+ IDen du innførte er ikke en gyldig TVDB ID.
+ Laster ned serieinfo...
+ TVsøk-resultater
+ Se detaljer fra hvert resultat for å finne riktig serie.
+ Laster ned fankunst i full størrelse...
+ Laster inn nåværende bilder...
+ Laster (ned) nye bilder...
+ Setter standarder...
+ Serieplakat
+ Episode-fankunst
+ Seriefankunst
+ Alle sesonger-plakat
+ Sesongplakat
+ Sesongfankunst
+ Sesong {0}-plakater
+ Sesong {0}-fankunst
+ TV-bilde valg
+ Nåværende bilde:
+ Hent plakater
+ Hent fankunst
+ Disse innstillingene er spesifikk til denne modulen.{0}Vennligst se globale innstillinger for flere valg.
+ EMM TMDB film-detaljhentere
+
+ IMDB
+ OFDB (Tysk)
+ TMDB Ekstrakunst-størrelse:
+ Trailere
+ Youtube/TMDB Trailer:
+ XBMC-format
+ Foretrukket språk
+ Lagre fankunst i:
+ Fall tilbake til engelsk
+ Foretrukket språk:
+ TIMDB-ID:
+ Henter data fra IMDB.com...
+ IMDB.com er ikke påslått
+ TheMovieDB API mangler eller er ikke gyldig
+ Henter data fra Fanart.tv...
+ Fanart.tv er ikke påslått
+ Hent din API-nøkkel fra www.themoviedb.org
+ Hent din API-nøkkel fra fanart.tv
+
diff --git a/Addons/scraper.FanartTV.Poster/My Project/Application.Designer.vb b/Addons/scraper.FanartTV.Poster/My Project/Application.Designer.vb
new file mode 100644
index 0000000..66fb81a
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/My Project/Application.Designer.vb
@@ -0,0 +1,13 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.239
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
diff --git a/Addons/scraper.FanartTV.Poster/My Project/Application.myapp b/Addons/scraper.FanartTV.Poster/My Project/Application.myapp
new file mode 100644
index 0000000..758895d
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/My Project/Application.myapp
@@ -0,0 +1,10 @@
+
+
+ false
+ false
+ 0
+ true
+ 0
+ 1
+ true
+
diff --git a/Addons/scraper.FanartTV.Poster/My Project/AssemblyInfo.vb b/Addons/scraper.FanartTV.Poster/My Project/AssemblyInfo.vb
new file mode 100644
index 0000000..714e53f
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/My Project/AssemblyInfo.vb
@@ -0,0 +1,35 @@
+Imports System
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' General Information about an assembly is controlled through the following
+' set of attributes. Change these attribute values to modify the information
+' associated with an assembly.
+
+' Review the values of the assembly attributes
+
+
+
+
+
+
+
+
+
+
+'The following GUID is for the ID of the typelib if this project is exposed to COM
+
+
+' Version information for an assembly consists of the following four values:
+'
+' Major Version
+' Minor Version
+' Build Number
+' Revision
+'
+' You can specify all the values or you can default the Build and Revision Numbers
+' by using the '*' as shown below:
+'
+
+
+
diff --git a/Addons/scraper.FanartTV.Poster/My Project/Resources.Designer.vb b/Addons/scraper.FanartTV.Poster/My Project/Resources.Designer.vb
new file mode 100644
index 0000000..bb85827
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/My Project/Resources.Designer.vb
@@ -0,0 +1,63 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.239
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+Imports System
+
+Namespace My.Resources
+
+ 'This class was auto-generated by the StronglyTypedResourceBuilder
+ 'class via a tool like ResGen or Visual Studio.
+ 'To add or remove a member, edit your .ResX file then rerun ResGen
+ 'with the /str option, or rebuild your VS project.
+ '''
+ ''' A strongly-typed resource class, for looking up localized strings, etc.
+ '''
+ _
+ Friend Module Resources
+
+ Private resourceMan As Global.System.Resources.ResourceManager
+
+ Private resourceCulture As Global.System.Globalization.CultureInfo
+
+ '''
+ ''' Returns the cached ResourceManager instance used by this class.
+ '''
+ _
+ Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
+ Get
+ If Object.ReferenceEquals(resourceMan, Nothing) Then
+ Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("EmberScraperModule.Resources", GetType(Resources).Assembly)
+ resourceMan = temp
+ End If
+ Return resourceMan
+ End Get
+ End Property
+
+ '''
+ ''' Overrides the current thread's CurrentUICulture property for all
+ ''' resource lookups using this strongly typed resource class.
+ '''
+ _
+ Friend Property Culture() As Global.System.Globalization.CultureInfo
+ Get
+ Return resourceCulture
+ End Get
+ Set
+ resourceCulture = value
+ End Set
+ End Property
+ End Module
+End Namespace
diff --git a/Addons/scraper.FanartTV.Poster/My Project/Resources.resx b/Addons/scraper.FanartTV.Poster/My Project/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/My Project/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/My Project/Settings.Designer.vb b/Addons/scraper.FanartTV.Poster/My Project/Settings.Designer.vb
new file mode 100644
index 0000000..f020222
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/My Project/Settings.Designer.vb
@@ -0,0 +1,73 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.239
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ _
+ Partial Friend NotInheritable Class MySettings
+ Inherits Global.System.Configuration.ApplicationSettingsBase
+
+ Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
+
+#Region "My.Settings Auto-Save Functionality"
+#If _MyType = "WindowsForms" Then
+ Private Shared addedHandler As Boolean
+
+ Private Shared addedHandlerLockObject As New Object
+
+ _
+ Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
+ If My.Application.SaveMySettingsOnExit Then
+ My.Settings.Save()
+ End If
+ End Sub
+#End If
+#End Region
+
+ Public Shared ReadOnly Property [Default]() As MySettings
+ Get
+
+#If _MyType = "WindowsForms" Then
+ If Not addedHandler Then
+ SyncLock addedHandlerLockObject
+ If Not addedHandler Then
+ AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
+ addedHandler = True
+ End If
+ End SyncLock
+ End If
+#End If
+ Return defaultInstance
+ End Get
+ End Property
+ End Class
+End Namespace
+
+Namespace My
+
+ _
+ Friend Module MySettingsProperty
+
+ _
+ Friend ReadOnly Property Settings() As Global.EmberScraperModule.My.MySettings
+ Get
+ Return Global.EmberScraperModule.My.MySettings.Default
+ End Get
+ End Property
+ End Module
+End Namespace
diff --git a/Addons/scraper.FanartTV.Poster/My Project/Settings.settings b/Addons/scraper.FanartTV.Poster/My Project/Settings.settings
new file mode 100644
index 0000000..85b890b
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/My Project/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/Addons/scraper.FanartTV.Poster/Resources/Logo.png b/Addons/scraper.FanartTV.Poster/Resources/Logo.png
new file mode 100644
index 0000000..a89dae1
Binary files /dev/null and b/Addons/scraper.FanartTV.Poster/Resources/Logo.png differ
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeFANARTTV.vb b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeFANARTTV.vb
new file mode 100644
index 0000000..13c1748
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeFANARTTV.vb
@@ -0,0 +1,173 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+' # HD Movie Logos -> logo.png (choose this first)
+' # ClearLOGOs -> logo.png (use this as a backup if no HD Logo in the lanaguage specified)
+' # ClearART -> clearart.png (use this as a backup if no HD ClearArt, in the language specified)
+' # HDClearART -> clearart.png (choose this first)
+' # cdART -> disc.png
+' # Movie Backgrounds -> Fanart (this is the only fanart.tv artwork that might overlap with 'typical' artwork scraping from IMDB/TMDB)
+' # Movie Banner -> Banner (not poster - Frodo supports both now, -poster.jpg/png and -banner.jpg/png or poster.jpg/png and banner.jpg/png)
+' # Movie Thumbs -> landscape.png
+' # Special note - the Logos and ClearArts are language-specific and should be tagged with the appropriate language. Will want to have a setting allowing users to specify a language so as not to get a bunch of foreign-language artwork.
+' # 1) Logo.png - to be added at a later stage, today is not possible to save
+' # 2) Clearart.png - to be added at a later stage, today is not possible to save
+' # 3) Disc.png - to be added at a later stage, today is not possible to save
+' # 4) Landscape.png - to be added at a later stage, today is not possible to save
+' # language is in image properties
+
+Imports System.IO
+Imports System.IO.Compression
+Imports System.Text
+Imports System.Text.RegularExpressions
+Imports EmberAPI
+Imports FanartTVAPI
+
+Namespace FANARTTVs
+
+ Public Class Scraper
+
+#Region "Fields"
+
+ Private _MySettings As EmberTMDBScraperModule.sMySettings
+ Private _FanartTV As FanartTV.V1.FanartTV
+ Friend WithEvents bwFANARTTV As New System.ComponentModel.BackgroundWorker
+ Private _APIInvalid As Boolean = False
+#End Region 'Fields
+
+#Region "Events"
+
+ Public Event PostersDownloaded(ByVal Posters As List(Of MediaContainers.Image))
+
+ Public Event ProgressUpdated(ByVal iPercent As Integer)
+
+#End Region 'Events
+
+#Region "Methods"
+
+ Public Sub New(ByRef tMySettings As EmberTMDBScraperModule.sMySettings)
+ _MySettings = tMySettings
+ _FanartTV = New FanartTV.V1.FanartTV(_MySettings.FANARTTVApiKey)
+ Dim Result As FanartTV.V1.FanartTVMovie = _FanartTV.GetMovieInfo(New FanartTV.V1.FanartTVRequest("1", "JSON", "all", 1, 1))
+ If IsNothing(Result) Then
+ If Not IsNothing(_FanartTV.Error) Then
+ Master.eLog.WriteToErrorLog(_FanartTV.Error, "", "Error")
+ _APIInvalid = True
+ End If
+ End If
+ End Sub
+
+ Public Sub Cancel()
+ If Me.bwFANARTTV.IsBusy Then Me.bwFANARTTV.CancelAsync()
+
+ While Me.bwFANARTTV.IsBusy
+ Application.DoEvents()
+ Threading.Thread.Sleep(50)
+ End While
+ End Sub
+
+ Public Sub GetImagesAsync(ByVal sURL As String)
+ Try
+ If Not bwFANARTTV.IsBusy Then
+ bwFANARTTV.WorkerSupportsCancellation = True
+ bwFANARTTV.WorkerReportsProgress = True
+ bwFANARTTV.RunWorkerAsync(New Arguments With {.Parameter = sURL})
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Public Function GetFANARTTVImages(ByVal imdbID As String) As List(Of MediaContainers.Image)
+ Dim alPoster As New List(Of MediaContainers.Image)
+
+ If _APIInvalid Then
+ Return Nothing
+ End If
+ Try
+ Dim Result As FanartTV.V1.FanartTVMovie = _FanartTV.GetMovieInfo(New FanartTV.V1.FanartTVRequest(imdbID, "JSON", "all", 1, 2))
+ If bwFANARTTV.CancellationPending Then Return Nothing
+ If IsNothing(Result) Then Return alPoster
+ If IsNothing(Result.movieinfo.moviebackground) Then Return alPoster
+ For Each image In Result.movieinfo.moviebackground
+ alPoster.Add(New MediaContainers.Image With {.Description = "original", .URL = image.url})
+ alPoster.Add(New MediaContainers.Image With {.Description = "thumb", .URL = image.url & "/preview"})
+ Next
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ Return alPoster
+ End Function
+
+ Private Sub bwFANARTTVA_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwFANARTTV.DoWork
+ Dim Args As Arguments = DirectCast(e.Argument, Arguments)
+ Try
+ e.Result = GetFANARTTVImages(Args.Parameter)
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ e.Result = Nothing
+ End Try
+ End Sub
+
+ Private Sub bwFANARTTV_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bwFANARTTV.ProgressChanged
+ If Not bwFANARTTV.CancellationPending Then
+ RaiseEvent ProgressUpdated(e.ProgressPercentage)
+ End If
+ End Sub
+
+ Private Sub bwFANARTTV_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwFANARTTV.RunWorkerCompleted
+ If Not IsNothing(e.Result) Then
+ RaiseEvent PostersDownloaded(DirectCast(e.Result, List(Of MediaContainers.Image)))
+ End If
+ End Sub
+
+
+#End Region 'Methods
+
+#Region "Nested Types"
+
+ Private Structure Arguments
+
+#Region "Fields"
+
+ Dim Parameter As String
+ Dim sType As String
+
+#End Region 'Fields
+
+ End Structure
+
+ Private Structure Results
+
+#Region "Fields"
+
+ Dim Result As Object
+ Dim ResultList As List(Of MediaContainers.Image)
+
+#End Region 'Fields
+
+ End Structure
+
+#End Region 'Nested Types
+
+ End Class
+
+End Namespace
+
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeIMDB.vb b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeIMDB.vb
new file mode 100644
index 0000000..ec6d1be
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeIMDB.vb
@@ -0,0 +1,174 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports System.IO
+Imports System.Diagnostics
+Imports System.IO.Compression
+Imports System.Text
+Imports System.Text.RegularExpressions
+Imports EmberAPI
+
+Namespace IMDBimg
+
+ Public Class Scraper
+
+#Region "Fields"
+
+
+
+ Friend WithEvents bwIMDBimg As New System.ComponentModel.BackgroundWorker
+
+#End Region 'Fields
+
+#Region "Events"
+
+ Public Event PostersDownloaded(ByVal Posters As List(Of MediaContainers.Image))
+
+ Public Event ProgressUpdated(ByVal iPercent As Integer)
+
+#End Region 'Events
+
+#Region "Methods"
+
+ Public Sub Cancel()
+ If Me.bwIMDBimg.IsBusy Then Me.bwIMDBimg.CancelAsync()
+
+ While Me.bwIMDBimg.IsBusy
+ Application.DoEvents()
+ Threading.Thread.Sleep(50)
+ End While
+ End Sub
+
+ Public Sub GetImagesAsync(ByVal sURL As String)
+ Try
+ If Not bwIMDBimg.IsBusy Then
+ bwIMDBimg.WorkerSupportsCancellation = True
+ bwIMDBimg.WorkerReportsProgress = True
+ bwIMDBimg.RunWorkerAsync(New Arguments With {.Parameter = sURL})
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Public Function GetIMDBPosters(ByVal imdbID As String) As List(Of MediaContainers.Image)
+ Dim alPoster As New List(Of MediaContainers.Image)
+
+ Try
+ If bwIMDBimg.CancellationPending Then Return Nothing
+ Dim sHTTP As New HTTP
+ Dim HTML As String = sHTTP.DownloadData(String.Concat("http://www.imdb.com/title/tt", imdbID, ""))
+ sHTTP = Nothing
+
+ If bwIMDBimg.WorkerReportsProgress Then
+ bwIMDBimg.ReportProgress(1)
+ End If
+
+
+ ' check existence of a line like this
+ '
0 Then
+ debug.print("GetIMDBPoster 1 - {0}", mcIMDB(0).Value)
+ 'Dim sUrl1 As String = sHTTP.DownloadData(mcIMDB(0).Value)
+ mcIMDB = Regex.Matches(HTML, "http://ia.media-imdb.com/images/.{3,80}?.jpg")
+ If mcIMDB.Count > 0 Then
+ 'just use the first one if more are found
+ Debug.Print("GetIMDBPoster 2 - {0}", mcIMDB(0).Value)
+ alPoster.Add(New MediaContainers.Image With {.Description = "cover", .URL = mcIMDB(0).Value})
+ End If
+
+ If bwIMDBimg.WorkerReportsProgress Then
+ bwIMDBimg.ReportProgress(2)
+ End If
+
+ Dim aSP As String() = Regex.Split(mcIMDB(0).Value, "._V\d+?_SY\d+?_CR\d+?,\d+?,\d+?,\d+?_")
+ Dim sUrl1 = aSP(0) + aSP(1)
+ Debug.Print("GetIMDBPoster 3 - {0}", sUrl1)
+ alPoster.Add(New MediaContainers.Image With {.Description = "poster", .URL = sUrl1})
+ End If
+
+ If bwIMDBimg.WorkerReportsProgress Then
+ bwIMDBimg.ReportProgress(3)
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ Return alPoster
+ End Function
+
+ Private Sub bwIMDBimg_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwIMDBimg.DoWork
+ Dim Args As Arguments = DirectCast(e.Argument, Arguments)
+ Try
+ e.Result = GetIMDBPosters(Args.Parameter)
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ e.Result = Nothing
+ End Try
+ End Sub
+
+ Private Sub bwIMDBimg_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bwIMDBimg.ProgressChanged
+ If Not bwIMDBimg.CancellationPending Then
+ RaiseEvent ProgressUpdated(e.ProgressPercentage)
+ End If
+ End Sub
+
+ Private Sub bwIMDBimg_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwIMDBimg.RunWorkerCompleted
+ If Not IsNothing(e.Result) Then
+ RaiseEvent PostersDownloaded(DirectCast(e.Result, List(Of MediaContainers.Image)))
+ End If
+ End Sub
+
+
+#End Region 'Methods
+
+#Region "Nested Types"
+
+ Private Structure Arguments
+
+#Region "Fields"
+
+ Dim Parameter As String
+ Dim sType As String
+
+#End Region 'Fields
+
+ End Structure
+
+ Private Structure Results
+
+#Region "Fields"
+
+ Dim Result As Object
+ Dim ResultList As List(Of MediaContainers.Image)
+
+#End Region 'Fields
+
+ End Structure
+
+#End Region 'Nested Types
+
+ End Class
+
+End Namespace
+
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeIMPA.vb b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeIMPA.vb
new file mode 100644
index 0000000..cfe43a1
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeIMPA.vb
@@ -0,0 +1,189 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports System.IO
+Imports System.IO.Compression
+Imports System.Text
+Imports System.Text.RegularExpressions
+Imports EmberAPI
+
+Namespace IMPA
+
+ Public Class Scraper
+
+ #Region "Fields"
+
+
+
+ Friend WithEvents bwIMPA As New System.ComponentModel.BackgroundWorker
+
+ #End Region 'Fields
+
+ #Region "Events"
+
+ Public Event PostersDownloaded(ByVal Posters As List(Of MediaContainers.Image))
+
+ Public Event ProgressUpdated(ByVal iPercent As Integer)
+
+ #End Region 'Events
+
+ #Region "Methods"
+
+ Public Sub Cancel()
+ If Me.bwIMPA.IsBusy Then Me.bwIMPA.CancelAsync()
+
+ While Me.bwIMPA.IsBusy
+ Application.DoEvents()
+ Threading.Thread.Sleep(50)
+ End While
+ End Sub
+
+ Public Sub GetImagesAsync(ByVal sURL As String)
+ Try
+ If Not bwIMPA.IsBusy Then
+ bwIMPA.WorkerSupportsCancellation = True
+ bwIMPA.WorkerReportsProgress = True
+ bwIMPA.RunWorkerAsync(New Arguments With {.Parameter = sURL})
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Public Function GetIMPAPosters(ByVal imdbID As String) As List(Of MediaContainers.Image)
+ Dim alPoster As New List(Of MediaContainers.Image)
+
+ Try
+ If bwIMPA.CancellationPending Then Return Nothing
+ Dim sURL As String = GetLink(imdbID)
+ If bwIMPA.WorkerReportsProgress Then
+ bwIMPA.ReportProgress(1)
+ End If
+
+ If Not String.IsNullOrEmpty(sURL) Then
+
+ Dim sHTTP As New HTTP
+ Dim HTML As String = sHTTP.DownloadData(sURL)
+ sHTTP = Nothing
+
+ If bwIMPA.CancellationPending Then Return Nothing
+
+ If bwIMPA.WorkerReportsProgress Then
+ bwIMPA.ReportProgress(2)
+ End If
+
+ Dim mcPoster As MatchCollection = Regex.Matches(HTML, "(thumbs/imp_([^>]*ver[^>]*.jpg))|(thumbs/imp_([^>]*.jpg))")
+
+ Dim PosterURL As String
+
+ For Each mPoster As Match In mcPoster
+ If bwIMPA.CancellationPending Then Return Nothing
+ PosterURL = Strings.Replace(String.Format("{0}/{1}", sURL.Substring(0, sURL.LastIndexOf("/")), mPoster.Value.ToString()).Replace("thumbs", "posters"), "imp_", String.Empty)
+
+ alPoster.Add(New MediaContainers.Image With {.Description = "poster", .URL = PosterURL})
+
+ PosterURL = PosterURL.Insert(PosterURL.LastIndexOf("."), "_xlg")
+ alPoster.Add(New MediaContainers.Image With {.Description = "original", .URL = PosterURL})
+ Next
+ End If
+ If bwIMPA.WorkerReportsProgress Then
+ bwIMPA.ReportProgress(3)
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ Return alPoster
+ End Function
+
+ Private Sub bwIMPA_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwIMPA.DoWork
+ Dim Args As Arguments = DirectCast(e.Argument, Arguments)
+ Try
+ e.Result = GetIMPAPosters(Args.Parameter)
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ e.Result = Nothing
+ End Try
+ End Sub
+
+ Private Sub bwIMPA_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bwIMPA.ProgressChanged
+ If Not bwIMPA.CancellationPending Then
+ RaiseEvent ProgressUpdated(e.ProgressPercentage)
+ End If
+ End Sub
+
+ Private Sub bwIMPA_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwIMPA.RunWorkerCompleted
+ If Not IsNothing(e.Result) Then
+ RaiseEvent PostersDownloaded(DirectCast(e.Result, List(Of MediaContainers.Image)))
+ End If
+ End Sub
+
+ Private Function GetLink(ByVal IMDBID As String) As String
+ Try
+
+ Dim sHTTP As New HTTP
+ Dim HTML As String = sHTTP.DownloadData(String.Concat("http://www.imdb.com/title/tt", IMDBID, "/posters"))
+ sHTTP = Nothing
+
+ Dim mcIMPA As MatchCollection = Regex.Matches(HTML, "http://([^""]*)impawards.com/([^""]*)")
+ If mcIMPA.Count > 0 Then
+ 'just use the first one if more are found
+ Return mcIMPA(0).Value.ToString
+ Else
+ Return String.Empty
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ Return String.Empty
+ End Try
+ End Function
+
+ #End Region 'Methods
+
+ #Region "Nested Types"
+
+ Private Structure Arguments
+
+ #Region "Fields"
+
+ Dim Parameter As String
+ Dim sType As String
+
+ #End Region 'Fields
+
+ End Structure
+
+ Private Structure Results
+
+ #Region "Fields"
+
+ Dim Result As Object
+ Dim ResultList As List(Of MediaContainers.Image)
+
+ #End Region 'Fields
+
+ End Structure
+
+ #End Region 'Nested Types
+
+ End Class
+
+End Namespace
+
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeImages.vb b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeImages.vb
new file mode 100644
index 0000000..d335b62
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeImages.vb
@@ -0,0 +1,1209 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports System.Drawing.Imaging
+Imports System.IO
+Imports System.Text.RegularExpressions
+Imports EmberAPI
+Imports RestSharp
+Imports WatTmdb
+
+
+Public Class ScrapeImages
+
+#Region "Fields"
+
+ Private _MySettings As EmberTMDBScraperModule.sMySettings
+ Private _TMDBConf As V3.TmdbConfiguration
+ Private _TMDBConfE As V3.TmdbConfiguration
+ Private _TMDBApi As V3.Tmdb
+ Private _TMDBApiE As V3.Tmdb
+ Private TMDB As TMDB.Scraper
+ Private IMPA As New IMPA.Scraper
+ Private MPDB As New MPDB.Scraper
+ Private IMDB As New IMDBimg.Scraper
+ Private FANARTTVs As FANARTTVs.Scraper
+
+#End Region 'Fields
+
+#Region "Methods"
+
+ Public Sub New(ByRef tTMDBConf As V3.TmdbConfiguration, ByRef tTMDBConfE As V3.TmdbConfiguration, ByRef tTMDBApi As V3.Tmdb, ByRef tTMDBApiE As V3.Tmdb, ByRef tMySettings As EmberTMDBScraperModule.sMySettings)
+
+ ' Add any initialization after the InitializeComponent() call.
+ _MySettings = tMySettings
+ _TMDBApi = tTMDBApi
+ _TMDBConf = tTMDBConf
+ _TMDBApiE = tTMDBApiE
+ _TMDBConfE = tTMDBConfE
+ TMDB = New TMDB.Scraper(_TMDBConf, _TMDBConfE, _TMDBApi, _TMDBApiE, _MySettings)
+ FANARTTVs = New FANARTTVs.Scraper(_MySettings)
+ End Sub
+
+ Public Function GetPreferredImage(ByRef Image As Images, ByVal IMDBID As String, ByVal TMDBID As String, ByVal iType As Enums.ImageType, ByRef imgResult As Containers.ImgResult, ByVal sPath As String, ByVal doETs As Boolean, Optional ByVal doAsk As Boolean = False) As Boolean
+ '//
+ ' Try to get the best match between what the user selected in settings and the actual posters downloaded
+ '\\
+
+ Dim hasImages As Boolean = False
+ Dim tmpListTMDB As New List(Of MediaContainers.Image)
+ Dim tmpListIMPA As New List(Of MediaContainers.Image)
+ Dim tmpListIMDB As New List(Of MediaContainers.Image)
+ Dim tmpListMPDB As New List(Of MediaContainers.Image)
+ Dim tmpIMDBX As Images = Nothing
+ Dim tmpIMDBL As Images = Nothing
+ Dim tmpIMDBM As Images = Nothing
+ Dim tmpIMDBS As Images = Nothing
+ Dim tmpIMDBW As Images = Nothing
+ Dim tmpTMDBX As Images = Nothing
+ Dim tmpTMDBL As Images = Nothing
+ Dim tmpTMDBM As Images = Nothing
+ Dim tmpTMDBS As Images = Nothing
+ Dim tmpTMDBW As Images = Nothing
+ Dim tmpIMPAX As Images = Nothing
+ Dim tmpIMPAL As Images = Nothing
+ Dim tmpIMPAM As Images = Nothing
+ Dim tmpIMPAS As Images = Nothing
+ Dim tmpIMPAW As Images = Nothing
+ Dim tmpMPDBX As Images = Nothing
+ Dim tmpMPDBL As Images = Nothing
+ Dim tmpMPDBM As Images = Nothing
+ Dim tmpMPDBS As Images = Nothing
+ Dim tmpMPDBW As Images = Nothing
+
+ Dim CachePath As String = String.Concat(Master.TempPath, Path.DirectorySeparatorChar, IMDBID, Path.DirectorySeparatorChar, If(iType = Enums.ImageType.Posters, "posters", "fanart"))
+
+ Try
+
+ If iType = Enums.ImageType.Posters Then 'posters
+
+ If Master.eSettings.UseImgCacheUpdaters Then
+ Dim lFi As New List(Of FileInfo)
+
+ If Not Directory.Exists(CachePath) Then
+ Directory.CreateDirectory(CachePath)
+ Else
+ Dim di As New DirectoryInfo(CachePath)
+
+ Try
+ lFi.AddRange(di.GetFiles("*.jpg"))
+ Catch
+ End Try
+ End If
+
+ If lFi.Count > 0 Then
+ Dim tImage As MediaContainers.Image
+ For Each sFile As FileInfo In lFi
+ tImage = New MediaContainers.Image
+ tImage.WebImage.FromFile(sFile.FullName)
+ Select Case True
+ Case sFile.Name.Contains("(original)")
+ tImage.Description = "original"
+ Case sFile.Name.Contains("(mid)")
+ tImage.Description = "mid"
+ Case sFile.Name.Contains("(cover)")
+ tImage.Description = "cover"
+ Case sFile.Name.Contains("(thumb)")
+ tImage.Description = "thumb"
+ Case sFile.Name.Contains("(poster)")
+ tImage.Description = "poster"
+ End Select
+ tImage.URL = Regex.Match(sFile.Name, "\(url=(.*?)\)").Groups(1).ToString
+ If Not Master.eSettings.NoSaveImagesToNfo Then imgResult.Posters.Add(tImage.URL)
+ tmpListTMDB.Add(tImage)
+ Image.Clear()
+ Next
+ Else
+ tmpListTMDB.AddRange(TMDB.GetTMDBImages(TMDBID, "poster"))
+
+ If _MySettings.UseIMPA Then
+ tmpListTMDB.AddRange(IMPA.GetIMPAPosters(IMDBID))
+ End If
+
+ If _MySettings.UseMPDB Then
+ tmpListMPDB.AddRange(MPDB.GetMPDBPosters(IMDBID))
+ End If
+
+ If _MySettings.UseIMDB Then
+ tmpListTMDB.AddRange(IMDB.GetIMDBPosters(IMDBID))
+ End If
+
+ For Each tmdbThumb As MediaContainers.Image In tmpListTMDB
+ tmdbThumb.WebImage.FromWeb(tmdbThumb.URL)
+ If Not IsNothing(tmdbThumb.WebImage.Image) Then
+ If Not Master.eSettings.NoSaveImagesToNfo Then imgResult.Posters.Add(tmdbThumb.URL)
+ Image = tmdbThumb.WebImage
+ Image.Save(Path.Combine(CachePath, String.Concat("poster_(", tmdbThumb.Description, ")_(url=", StringUtils.CleanURL(tmdbThumb.URL), ").jpg")), , , False)
+ End If
+ Image.Clear()
+ Next
+ End If
+
+ If tmpListTMDB.Count > 0 Then
+ hasImages = True
+
+ 'remove all entries without images
+ For i As Integer = tmpListTMDB.Count - 1 To 0 Step -1
+ If IsNothing(tmpListTMDB(i).WebImage.Image) Then
+ tmpListTMDB.RemoveAt(i)
+ End If
+ Next
+
+ For Each iMovie As MediaContainers.Image In tmpListTMDB
+ If Images.GetPosterDims(iMovie.WebImage.Image) = Master.eSettings.PreferredPosterSize Then
+ Image = iMovie.WebImage
+ GoTo foundit
+ End If
+ Next
+
+ If Not doAsk Then
+ Image = tmpListTMDB.OrderBy(Function(i) i.WebImage.Image.Height + i.WebImage.Image.Height).FirstOrDefault.WebImage
+ End If
+ End If
+ Else
+ 'download all TMBD images
+ tmpListTMDB = TMDB.GetTMDBImages(TMDBID, "poster")
+
+ 'check each one for it's size to see if it matched the preferred size
+ If tmpListTMDB.Count > 0 Then
+ hasImages = True
+
+ If Not Master.eSettings.NoSaveImagesToNfo Then
+ For Each tmdbThumb As MediaContainers.Image In tmpListTMDB
+ imgResult.Posters.Add(tmdbThumb.URL)
+ Next
+ End If
+
+ For Each iMovie As MediaContainers.Image In tmpListTMDB
+ Select Case Master.eSettings.PreferredPosterSize
+ Case Enums.PosterSize.Xlrg
+ If iMovie.Description.ToLower = "original" Then
+ Image.FromWeb(iMovie.URL)
+ If Not IsNothing(Image.Image) Then GoTo foundIT
+ End If
+ Case Enums.PosterSize.Lrg
+ If iMovie.Description.ToLower = "mid" Then
+ Image.FromWeb(iMovie.URL)
+ If Not IsNothing(Image.Image) Then GoTo foundIT
+ End If
+ Case Enums.PosterSize.Mid
+ If iMovie.Description.ToLower = "cover" Then
+ Image.FromWeb(iMovie.URL)
+ If Not IsNothing(Image.Image) Then GoTo foundIT
+ End If
+ Case Enums.PosterSize.Small
+ If iMovie.Description.ToLower = "thumb" Then
+ Image.FromWeb(iMovie.URL)
+ If Not IsNothing(Image.Image) Then GoTo foundIT
+ End If
+ 'no "wide" for TMDB
+ End Select
+ Image.Clear()
+ Next
+ End If
+
+ If _MySettings.UseIMDB Then
+ If IsNothing(Image.Image) Then
+ 'no poster of the proper size from TMDB found... try IMPA
+
+ tmpListIMDB = IMDB.GetIMDBPosters(IMDBID)
+
+ If tmpListIMDB.Count > 0 Then
+ hasImages = True
+ For Each iImage As MediaContainers.Image In tmpListIMDB
+ Image.FromWeb(iImage.URL)
+ If Not IsNothing(Image.Image) Then
+ If Not Master.eSettings.NoSaveImagesToNfo Then imgResult.Posters.Add(iImage.URL)
+ Dim tmpSize As Enums.PosterSize = Images.GetPosterDims(Image.Image)
+ If Not tmpSize = Master.eSettings.PreferredPosterSize Then
+ 'cache the first result from each type in case the preferred size is not available
+ Select Case tmpSize
+ Case Enums.PosterSize.Xlrg
+ If IsNothing(tmpIMDBX) Then
+ tmpIMDBX = Image
+ End If
+ Case Enums.PosterSize.Lrg
+ If IsNothing(tmpIMDBL) Then
+ tmpIMDBL = Image
+ End If
+ Case Enums.PosterSize.Mid
+ If IsNothing(tmpIMDBM) Then
+ tmpIMDBM = Image
+ End If
+ Case Enums.PosterSize.Small
+ If IsNothing(tmpIMDBS) Then
+ tmpIMDBS = Image
+ End If
+ Case Enums.PosterSize.Wide
+ If IsNothing(tmpIMDBW) Then
+ tmpIMDBW = Image
+ End If
+ End Select
+ Else
+ 'image found
+ GoTo foundIT
+ End If
+ End If
+ Image.Clear()
+ Next
+ End If
+ End If
+ End If
+
+ If _MySettings.UseIMPA Then
+ If IsNothing(Image.Image) Then
+ 'no poster of the proper size from IMDB found... try IMPA
+
+ tmpListIMPA = IMPA.GetIMPAPosters(IMDBID)
+
+ If tmpListIMPA.Count > 0 Then
+ hasImages = True
+ For Each iImage As MediaContainers.Image In tmpListIMPA
+ Image.FromWeb(iImage.URL)
+ If Not IsNothing(Image.Image) Then
+ If Not Master.eSettings.NoSaveImagesToNfo Then imgResult.Posters.Add(iImage.URL)
+ Dim tmpSize As Enums.PosterSize = Images.GetPosterDims(Image.Image)
+ If Not tmpSize = Master.eSettings.PreferredPosterSize Then
+ 'cache the first result from each type in case the preferred size is not available
+ Select Case tmpSize
+ Case Enums.PosterSize.Xlrg
+ If IsNothing(tmpIMPAX) Then
+ tmpIMPAX = Image
+ End If
+ Case Enums.PosterSize.Lrg
+ If IsNothing(tmpIMPAL) Then
+ tmpIMPAL = Image
+ End If
+ Case Enums.PosterSize.Mid
+ If IsNothing(tmpIMPAM) Then
+ tmpIMPAM = Image
+ End If
+ Case Enums.PosterSize.Small
+ If IsNothing(tmpIMPAS) Then
+ tmpIMPAS = Image
+ End If
+ Case Enums.PosterSize.Wide
+ If IsNothing(tmpIMPAW) Then
+ tmpIMPAW = Image
+ End If
+ End Select
+ Else
+ 'image found
+ GoTo foundIT
+ End If
+ End If
+ Image.Clear()
+ Next
+ End If
+ End If
+ End If
+
+ If _MySettings.UseMPDB Then
+ If IsNothing(Image.Image) Then
+ 'no poster of the proper size from TMDB or IMPA found... try MPDB
+
+ tmpListMPDB = MPDB.GetMPDBPosters(IMDBID)
+
+ If tmpListMPDB.Count > 0 Then
+ hasImages = True
+ For Each iImage As MediaContainers.Image In tmpListMPDB
+ Image.FromWeb(iImage.URL)
+ If Not IsNothing(Image.Image) Then
+ If Not Master.eSettings.NoSaveImagesToNfo Then imgResult.Posters.Add(iImage.URL)
+ Dim tmpSize As Enums.PosterSize = Images.GetPosterDims(Image.Image)
+ If Not tmpSize = Master.eSettings.PreferredPosterSize Then
+ 'cache the first result from each type in case the preferred size is not available
+ Select Case tmpSize
+ Case Enums.PosterSize.Xlrg
+ If IsNothing(tmpMPDBX) Then
+ tmpMPDBX = Image
+ End If
+ Case Enums.PosterSize.Lrg
+ If IsNothing(tmpMPDBL) Then
+ tmpMPDBL = Image
+ End If
+ Case Enums.PosterSize.Mid
+ If IsNothing(tmpMPDBM) Then
+ tmpMPDBM = Image
+ End If
+ Case Enums.PosterSize.Small
+ If IsNothing(tmpMPDBS) Then
+ tmpMPDBS = Image
+ End If
+ Case Enums.PosterSize.Wide
+ If IsNothing(tmpMPDBW) Then
+ tmpMPDBW = Image
+ End If
+ End Select
+ Else
+ 'image found
+ GoTo foundIT
+ End If
+ End If
+ Image.Clear()
+ Next
+ End If
+ End If
+ End If
+
+ If IsNothing(Image.Image) AndAlso Not doAsk Then
+ 'STILL no image found, just get the first available image, starting with the largest
+ 'check TMDB first
+ If tmpListTMDB.Count > 0 Then
+ Dim x = From MI As MediaContainers.Image In tmpListTMDB Where MI.Description = "original"
+ If x.Count > 0 Then
+ Image.FromWeb(x(0).URL)
+ If Not IsNothing(Image.Image) Then GoTo foundIT
+ End If
+
+ Dim l = From MI As MediaContainers.Image In tmpListTMDB Where MI.Description = "mid"
+ If l.Count > 0 Then
+ Image.FromWeb(l(0).URL)
+ If Not IsNothing(Image.Image) Then GoTo foundIT
+ End If
+
+ Dim m = From MI As MediaContainers.Image In tmpListTMDB Where MI.Description = "cover"
+ If m.Count > 0 Then
+ Image.FromWeb(m(0).URL)
+ If Not IsNothing(Image.Image) Then GoTo foundIT
+ End If
+
+ Dim s = From MI As MediaContainers.Image In tmpListTMDB Where MI.Description = "thumb"
+ If s.Count > 0 Then
+ Image.FromWeb(s(0).URL)
+ If Not IsNothing(Image.Image) Then GoTo foundIT
+ End If
+
+ End If
+
+ Image.Clear()
+
+ If _MySettings.UseIMDB Then
+ If tmpListIMDB.Count > 0 Then
+ If Not IsNothing(tmpIMDBX) Then
+ Image = tmpIMDBX
+ GoTo foundIT
+ End If
+ If Not IsNothing(tmpIMDBL) Then
+ Image = tmpIMDBL
+ GoTo foundIT
+ End If
+ If Not IsNothing(tmpIMDBM) Then
+ Image = tmpIMDBM
+ GoTo foundIT
+ End If
+ If Not IsNothing(tmpIMDBS) Then
+ Image = tmpIMDBS
+ GoTo foundIT
+ End If
+ If Not IsNothing(tmpIMDBW) Then
+ Image = tmpIMDBW
+ GoTo foundIT
+ End If
+ End If
+ End If
+
+ If _MySettings.UseIMPA Then
+ If tmpListIMPA.Count > 0 Then
+ If Not IsNothing(tmpIMPAX) Then
+ Image = tmpIMPAX
+ GoTo foundIT
+ End If
+ If Not IsNothing(tmpIMPAL) Then
+ Image = tmpIMPAL
+ GoTo foundIT
+ End If
+ If Not IsNothing(tmpIMPAM) Then
+ Image = tmpIMPAM
+ GoTo foundIT
+ End If
+ If Not IsNothing(tmpIMPAS) Then
+ Image = tmpIMPAS
+ GoTo foundIT
+ End If
+ If Not IsNothing(tmpIMPAW) Then
+ Image = tmpIMPAW
+ GoTo foundIT
+ End If
+ End If
+ End If
+
+ Image.Clear()
+
+ If _MySettings.UseMPDB Then
+ If tmpListMPDB.Count > 0 Then
+ If Not IsNothing(tmpMPDBX) Then
+ Image = tmpMPDBX
+ GoTo foundIT
+ End If
+ If Not IsNothing(tmpMPDBL) Then
+ Image = tmpMPDBL
+ GoTo foundIT
+ End If
+ If Not IsNothing(tmpMPDBM) Then
+ Image = tmpMPDBM
+ GoTo foundIT
+ End If
+ If Not IsNothing(tmpMPDBS) Then
+ Image = tmpMPDBS
+ GoTo foundIT
+ End If
+ If Not IsNothing(tmpMPDBW) Then
+ Image = tmpMPDBW
+ GoTo foundIT
+ End If
+ End If
+ End If
+
+ Image.Clear()
+
+ End If
+
+ End If
+
+ Else 'fanart
+
+ Dim ETHashes As New List(Of String)
+ If Master.eSettings.AutoET AndAlso doETs Then
+ ETHashes = HashFile.CurrentETHashes(sPath)
+ End If
+
+ If Master.eSettings.UseImgCacheUpdaters Then
+ Dim lFi As New List(Of FileInfo)
+
+ If Not Directory.Exists(CachePath) Then
+ Directory.CreateDirectory(CachePath)
+ Else
+ Dim di As New DirectoryInfo(CachePath)
+
+ Try
+ lFi.AddRange(di.GetFiles("*.jpg"))
+ Catch
+ End Try
+ End If
+
+ If lFi.Count > 0 Then
+ Dim tImage As MediaContainers.Image
+ For Each sFile As FileInfo In lFi
+ tImage = New MediaContainers.Image
+ tImage.WebImage.FromFile(sFile.FullName)
+ Select Case True
+ Case sFile.Name.Contains("(original)")
+ tImage.Description = "original"
+ If Master.eSettings.AutoET AndAlso doETs AndAlso Master.eSettings.AutoETSize = Enums.FanartSize.Lrg Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(sFile.FullName)) Then
+ Image.SaveFAasET(sFile.FullName, sPath)
+ End If
+ End If
+ Case sFile.Name.Contains("(mid)")
+ tImage.Description = "mid"
+ If Master.eSettings.AutoET AndAlso doETs AndAlso Master.eSettings.AutoETSize = Enums.FanartSize.Mid Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(sFile.FullName)) Then
+ Image.SaveFAasET(sFile.FullName, sPath)
+ End If
+ End If
+ Case sFile.Name.Contains("(thumb)")
+ tImage.Description = "thumb"
+ If Master.eSettings.AutoET AndAlso doETs AndAlso Master.eSettings.AutoETSize = Enums.FanartSize.Small Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(sFile.FullName)) Then
+ Image.SaveFAasET(sFile.FullName, sPath)
+ End If
+ End If
+ End Select
+ tImage.URL = Regex.Match(sFile.Name, "\(url=(.*?)\)").Groups(1).ToString
+ tmpListTMDB.Add(tImage)
+ Image.Clear()
+ Next
+ Else
+ 'download all the fanart from TMDB
+ tmpListTMDB = TMDB.GetTMDBImages(TMDBID, "backdrop")
+
+ If tmpListTMDB.Count > 0 Then
+
+ 'setup fanart for nfo
+ Dim thumbLink As String = String.Empty
+ imgResult.Fanart.URL = "http://images.themoviedb.org"
+ For Each miFanart As MediaContainers.Image In tmpListTMDB
+ miFanart.WebImage.FromWeb(miFanart.URL)
+ If Not IsNothing(miFanart.WebImage.Image) Then
+ Image = miFanart.WebImage
+ Dim savePath As String = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
+ Image.Save(savePath, , , False)
+ If Master.eSettings.AutoET AndAlso doETs Then
+ Select Case miFanart.Description.ToLower
+ Case "original"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Lrg Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ Image.SaveFAasET(savePath, sPath)
+ End If
+ End If
+ Case "mid"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Mid Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ Image.SaveFAasET(savePath, sPath)
+ End If
+ End If
+ Case "thumb"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Small Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ Image.SaveFAasET(savePath, sPath)
+ End If
+ End If
+ End Select
+ End If
+ If Not Master.eSettings.NoSaveImagesToNfo Then
+ If Not miFanart.URL.Contains("_thumb.") Then
+ thumbLink = miFanart.URL.Replace("http://images.themoviedb.org", String.Empty)
+ If thumbLink.Contains("_poster.") Then
+ thumbLink = thumbLink.Replace("_poster.", "_thumb.")
+ Else
+ thumbLink = thumbLink.Insert(thumbLink.LastIndexOf("."), "_thumb")
+ End If
+ imgResult.Fanart.Thumb.Add(New MediaContainers.Thumb With {.Preview = thumbLink, .Text = miFanart.URL.Replace("http://images.themoviedb.org", String.Empty)})
+ End If
+ End If
+ End If
+ Image.Clear()
+ Next
+ Else
+ If _MySettings.UseFANARTTV Then
+ tmpListTMDB = FANARTTVs.GetFANARTTVImages(IMDBID)
+
+ If tmpListTMDB.Count > 0 Then
+
+ 'setup fanart for nfo
+ Dim thumbLink As String = String.Empty
+ imgResult.Fanart.URL = "http://fanart.tv"
+ For Each miFanart As MediaContainers.Image In tmpListTMDB
+ miFanart.WebImage.FromWeb(miFanart.URL)
+ If Not IsNothing(miFanart.WebImage.Image) Then
+ Image = miFanart.WebImage
+ Dim savePath As String = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
+ Image.Save(savePath, , , False)
+ If Master.eSettings.AutoET AndAlso doETs Then
+ Select Case miFanart.Description.ToLower
+ Case "original"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Lrg Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ Image.SaveFAasET(savePath, sPath)
+ End If
+ End If
+ Case "mid"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Mid Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ Image.SaveFAasET(savePath, sPath)
+ End If
+ End If
+ Case "thumb"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Small Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ Image.SaveFAasET(savePath, sPath)
+ End If
+ End If
+ End Select
+ End If
+ If Not Master.eSettings.NoSaveImagesToNfo Then
+ If Not miFanart.URL.Contains("_thumb.") Then
+ thumbLink = miFanart.URL.Replace("http://fanart.tv", String.Empty)
+ If thumbLink.Contains("_poster.") Then
+ thumbLink = thumbLink.Replace("_poster.", "_thumb.")
+ Else
+ thumbLink = thumbLink.Insert(thumbLink.LastIndexOf("."), "_thumb")
+ End If
+ imgResult.Fanart.Thumb.Add(New MediaContainers.Thumb With {.Preview = thumbLink, .Text = miFanart.URL.Replace("http://images.themoviedb.org", String.Empty)})
+ End If
+ End If
+ End If
+ Image.Clear()
+ Next
+ End If
+ End If
+
+ If tmpListTMDB.Count > 0 Then
+ hasImages = True
+ 'remove all entries without images
+ For i As Integer = tmpListTMDB.Count - 1 To 0 Step -1
+ If IsNothing(tmpListTMDB(i).WebImage.Image) Then
+ tmpListTMDB.RemoveAt(i)
+ End If
+ Next
+
+ For Each iMovie As MediaContainers.Image In tmpListTMDB
+ If Images.GetFanartDims(iMovie.WebImage.Image) = Master.eSettings.PreferredFanartSize Then
+ Image = iMovie.WebImage
+ GoTo foundit
+ End If
+ Next
+
+ Image.Clear()
+
+ If Not doAsk Then
+ Image = tmpListTMDB.OrderBy(Function(i) i.WebImage.Image.Height + i.WebImage.Image.Height).FirstOrDefault.WebImage
+ End If
+
+ End If
+ End If
+ End If
+
+ Else
+ 'download all the fanart from TMDB
+ tmpListTMDB = TMDB.GetTMDBImages(TMDBID, "backdrop")
+
+ If tmpListTMDB.Count > 0 Then
+ hasImages = True
+
+ 'setup fanart for nfo
+ Dim thumbLink As String = String.Empty
+ If Not Master.eSettings.NoSaveImagesToNfo Then
+ imgResult.Fanart.URL = "http://images.themoviedb.org"
+ For Each miFanart As MediaContainers.Image In tmpListTMDB
+ If Not miFanart.URL.Contains("_thumb.") Then
+ thumbLink = miFanart.URL.Replace("http://images.themoviedb.org", String.Empty)
+ If thumbLink.Contains("_poster.") Then
+ thumbLink = thumbLink.Replace("_poster.", "_thumb.")
+ Else
+ thumbLink = thumbLink.Insert(thumbLink.LastIndexOf("."), "_thumb")
+ End If
+ imgResult.Fanart.Thumb.Add(New MediaContainers.Thumb With {.Preview = thumbLink, .Text = miFanart.URL.Replace("http://images.themoviedb.org", String.Empty)})
+ End If
+ Next
+ End If
+
+ If Master.eSettings.AutoET AndAlso doETs Then
+
+ If Not Directory.Exists(CachePath) Then
+ Directory.CreateDirectory(CachePath)
+ End If
+
+ Dim savePath As String = String.Empty
+ For Each miFanart As MediaContainers.Image In tmpListTMDB
+ Select Case miFanart.Description.ToLower
+ Case "original"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Lrg Then
+ miFanart.WebImage.FromWeb(miFanart.URL)
+ If Not IsNothing(miFanart.WebImage.Image) Then
+ Image = miFanart.WebImage
+ savePath = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
+ Image.Save(savePath, , , False)
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ Image.SaveFAasET(savePath, sPath)
+ End If
+ End If
+ End If
+ Case "mid"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Mid Then
+ miFanart.WebImage.FromWeb(miFanart.URL)
+ If Not IsNothing(miFanart.WebImage.Image) Then
+ Image = miFanart.WebImage
+ savePath = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
+ Image.Save(savePath, , , False)
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ Image.SaveFAasET(savePath, sPath)
+ End If
+ End If
+ End If
+ Case "thumb"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Small Then
+ miFanart.WebImage.FromWeb(miFanart.URL)
+ If Not IsNothing(miFanart.WebImage.Image) Then
+ Image = miFanart.WebImage
+ savePath = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
+ Image.Save(savePath, , , False)
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ Image.SaveFAasET(savePath, sPath)
+ End If
+ End If
+ End If
+ End Select
+ Next
+
+ Image.Clear()
+ FileUtils.Delete.DeleteDirectory(CachePath)
+ End If
+
+ For Each iMovie As MediaContainers.Image In tmpListTMDB
+ Select Case Master.eSettings.PreferredFanartSize
+ Case Enums.FanartSize.Lrg
+ If iMovie.Description.ToLower = "original" Then
+ If Not IsNothing(iMovie.WebImage.Image) Then
+ Image = iMovie.WebImage
+ Else
+ Image.FromWeb(iMovie.URL)
+ End If
+ GoTo foundIT
+ End If
+ Case Enums.FanartSize.Mid
+ If iMovie.Description.ToLower = "mid" Then
+ If Not IsNothing(iMovie.WebImage.Image) Then
+ Image = iMovie.WebImage
+ Else
+ Image.FromWeb(iMovie.URL)
+ End If
+ GoTo foundIT
+ End If
+ Case Enums.FanartSize.Small
+ If iMovie.Description.ToLower = "thumb" Then
+ If Not IsNothing(iMovie.WebImage.Image) Then
+ Image = iMovie.WebImage
+ Else
+ Image.FromWeb(iMovie.URL)
+ End If
+ GoTo foundIT
+ End If
+ End Select
+ Next
+
+ Image.Clear()
+
+ If IsNothing(Image.Image) AndAlso Not doAsk Then
+
+ 'STILL no image found, just get the first available image, starting with the largest
+
+ Dim l = From MI As MediaContainers.Image In tmpListTMDB Where MI.Description = "original"
+ If l.Count > 0 Then
+ Image.FromWeb(l(0).URL)
+ GoTo foundIT
+ End If
+
+ Dim m = From MI As MediaContainers.Image In tmpListTMDB Where MI.Description = "mid"
+ If m.Count > 0 Then
+ Image.FromWeb(m(0).URL)
+ GoTo foundIT
+ End If
+
+ Dim s = From MI As MediaContainers.Image In tmpListTMDB Where MI.Description = "thumb"
+ If s.Count > 0 Then
+ Image.FromWeb(s(0).URL)
+ GoTo foundIT
+ End If
+
+ End If
+
+ Image.Clear()
+ Else
+ If _MySettings.UseFANARTTV Then
+ tmpListTMDB = FANARTTVs.GetFANARTTVImages(IMDBID)
+ If tmpListTMDB.Count > 0 Then
+ hasImages = True
+
+ 'setup fanart for nfo
+ Dim thumbLink As String = String.Empty
+ If Not Master.eSettings.NoSaveImagesToNfo Then
+ imgResult.Fanart.URL = "http://fanart.tv"
+ For Each miFanart As MediaContainers.Image In tmpListTMDB
+ If Not miFanart.URL.Contains("_thumb.") Then
+ thumbLink = miFanart.URL.Replace("http://fanart.tv", String.Empty)
+ If thumbLink.Contains("_poster.") Then
+ thumbLink = thumbLink.Replace("_poster.", "_thumb.")
+ Else
+ thumbLink = thumbLink.Insert(thumbLink.LastIndexOf("."), "_thumb")
+ End If
+ imgResult.Fanart.Thumb.Add(New MediaContainers.Thumb With {.Preview = thumbLink, .Text = miFanart.URL.Replace("http://images.themoviedb.org", String.Empty)})
+ End If
+ Next
+ End If
+
+ If Master.eSettings.AutoET AndAlso doETs Then
+
+ If Not Directory.Exists(CachePath) Then
+ Directory.CreateDirectory(CachePath)
+ End If
+
+ Dim savePath As String = String.Empty
+ For Each miFanart As MediaContainers.Image In tmpListTMDB
+ Select Case miFanart.Description.ToLower
+ Case "original"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Lrg Then
+ miFanart.WebImage.FromWeb(miFanart.URL)
+ If Not IsNothing(miFanart.WebImage.Image) Then
+ Image = miFanart.WebImage
+ savePath = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
+ Image.Save(savePath, , , False)
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ Image.SaveFAasET(savePath, sPath)
+ End If
+ End If
+ End If
+ Case "mid"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Mid Then
+ miFanart.WebImage.FromWeb(miFanart.URL)
+ If Not IsNothing(miFanart.WebImage.Image) Then
+ Image = miFanart.WebImage
+ savePath = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
+ Image.Save(savePath, , , False)
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ Image.SaveFAasET(savePath, sPath)
+ End If
+ End If
+ End If
+ Case "thumb"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Small Then
+ miFanart.WebImage.FromWeb(miFanart.URL)
+ If Not IsNothing(miFanart.WebImage.Image) Then
+ Image = miFanart.WebImage
+ savePath = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
+ Image.Save(savePath, , , False)
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ Image.SaveFAasET(savePath, sPath)
+ End If
+ End If
+ End If
+ End Select
+ Next
+
+ Image.Clear()
+ FileUtils.Delete.DeleteDirectory(CachePath)
+ End If
+
+ For Each iMovie As MediaContainers.Image In tmpListTMDB
+ Select Case Master.eSettings.PreferredFanartSize
+ Case Enums.FanartSize.Lrg
+ If iMovie.Description.ToLower = "original" Then
+ If Not IsNothing(iMovie.WebImage.Image) Then
+ Image = iMovie.WebImage
+ Else
+ Image.FromWeb(iMovie.URL)
+ End If
+ GoTo foundIT
+ End If
+ Case Enums.FanartSize.Mid
+ If iMovie.Description.ToLower = "mid" Then
+ If Not IsNothing(iMovie.WebImage.Image) Then
+ Image = iMovie.WebImage
+ Else
+ Image.FromWeb(iMovie.URL)
+ End If
+ GoTo foundIT
+ End If
+ Case Enums.FanartSize.Small
+ If iMovie.Description.ToLower = "thumb" Then
+ If Not IsNothing(iMovie.WebImage.Image) Then
+ Image = iMovie.WebImage
+ Else
+ Image.FromWeb(iMovie.URL)
+ End If
+ GoTo foundIT
+ End If
+ End Select
+ Next
+
+ Image.Clear()
+
+ If IsNothing(Image.Image) AndAlso Not doAsk Then
+
+ 'STILL no image found, just get the first available image, starting with the largest
+
+ Dim l = From MI As MediaContainers.Image In tmpListTMDB Where MI.Description = "original"
+ If l.Count > 0 Then
+ Image.FromWeb(l(0).URL)
+ GoTo foundIT
+ End If
+
+ Dim m = From MI As MediaContainers.Image In tmpListTMDB Where MI.Description = "mid"
+ If m.Count > 0 Then
+ Image.FromWeb(m(0).URL)
+ GoTo foundIT
+ End If
+
+ Dim s = From MI As MediaContainers.Image In tmpListTMDB Where MI.Description = "thumb"
+ If s.Count > 0 Then
+ Image.FromWeb(s(0).URL)
+ GoTo foundIT
+ End If
+
+ End If
+
+ Image.Clear()
+ End If
+ End If
+ End If
+ End If
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+foundIT:
+ tmpListTMDB = Nothing
+ tmpListIMPA = Nothing
+ tmpListMPDB = Nothing
+ Return hasImages
+ End Function
+
+ Public Sub GetPreferredFAasET(ByVal IMDBID As String, ByVal sPath As String)
+ Dim _Image As Image
+
+ If AdvancedSettings.GetBooleanSetting("tUseTMDB", True) Then
+
+ Dim tmpListTMDB As New List(Of MediaContainers.Image)
+ Dim ETHashes As New List(Of String)
+
+ Dim CachePath As String = String.Concat(Master.TempPath, Path.DirectorySeparatorChar, IMDBID, Path.DirectorySeparatorChar, "fanart")
+
+ If Master.eSettings.AutoET Then
+ ETHashes = HashFile.CurrentETHashes(sPath)
+ End If
+
+ If Master.eSettings.UseImgCacheUpdaters Then
+ Dim lFi As New List(Of FileInfo)
+
+ If Not Directory.Exists(CachePath) Then
+ Directory.CreateDirectory(CachePath)
+ Else
+ Dim di As New DirectoryInfo(CachePath)
+
+ Try
+ lFi.AddRange(di.GetFiles("*.jpg"))
+ Catch
+ End Try
+ End If
+
+ If lFi.Count > 0 Then
+ For Each sFile As FileInfo In lFi
+ Select Case True
+ Case sFile.Name.Contains("(original)")
+ If Master.eSettings.AutoET AndAlso Master.eSettings.AutoETSize = Enums.FanartSize.Lrg Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(sFile.FullName)) Then
+ SaveFAasET(sFile.FullName, sPath)
+ End If
+ End If
+ Case sFile.Name.Contains("(mid)")
+ If Master.eSettings.AutoET AndAlso Master.eSettings.AutoETSize = Enums.FanartSize.Mid Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(sFile.FullName)) Then
+ SaveFAasET(sFile.FullName, sPath)
+ End If
+ End If
+ Case sFile.Name.Contains("(thumb)")
+ If Master.eSettings.AutoET AndAlso Master.eSettings.AutoETSize = Enums.FanartSize.Small Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(sFile.FullName)) Then
+ SaveFAasET(sFile.FullName, sPath)
+ End If
+ End If
+ End Select
+ Next
+ Else
+ 'download all the fanart from TMDB
+ tmpListTMDB = TMDB.GetTMDBImages(IMDBID, "backdrop")
+
+ If tmpListTMDB.Count > 0 Then
+
+ 'setup fanart for nfo
+ Dim thumbLink As String = String.Empty
+ For Each miFanart As MediaContainers.Image In tmpListTMDB
+ miFanart.WebImage.FromWeb(miFanart.URL)
+ If Not IsNothing(miFanart.WebImage.Image) Then
+ _Image = miFanart.WebImage.Image
+ Dim savePath As String = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
+ miFanart.WebImage.Save(savePath, , , False)
+ If Master.eSettings.AutoET Then
+ Select Case miFanart.Description.ToLower
+ Case "original"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Lrg Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ SaveFAasET(savePath, sPath)
+ End If
+ End If
+ Case "mid"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Mid Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ SaveFAasET(savePath, sPath)
+ End If
+ End If
+ Case "thumb"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Small Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ SaveFAasET(savePath, sPath)
+ End If
+ End If
+ End Select
+ End If
+ End If
+ Next
+ End If
+ End If
+ Else
+ 'download all the fanart from TMDB
+ tmpListTMDB = TMDB.GetTMDBImages(IMDBID, "backdrop")
+
+ If tmpListTMDB.Count > 0 Then
+
+ If Not Directory.Exists(CachePath) Then
+ Directory.CreateDirectory(CachePath)
+ End If
+
+ Dim savePath As String = String.Empty
+ For Each miFanart As MediaContainers.Image In tmpListTMDB
+ Select Case miFanart.Description.ToLower
+ Case "original"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Lrg Then
+ miFanart.WebImage.FromWeb(miFanart.URL)
+ If Not IsNothing(miFanart.WebImage.Image) Then
+ _Image = miFanart.WebImage.Image
+ savePath = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
+ miFanart.WebImage.Save(savePath, , , False)
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ SaveFAasET(savePath, sPath)
+ End If
+ End If
+ End If
+ Case "mid"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Mid Then
+ miFanart.WebImage.FromWeb(miFanart.URL)
+ If Not IsNothing(miFanart.WebImage.Image) Then
+ _Image = miFanart.WebImage.Image
+ savePath = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
+ miFanart.WebImage.Save(savePath, , , False)
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ SaveFAasET(savePath, sPath)
+ End If
+ End If
+ End If
+ Case "thumb"
+ If Master.eSettings.AutoETSize = Enums.FanartSize.Small Then
+ miFanart.WebImage.FromWeb(miFanart.URL)
+ If Not IsNothing(miFanart.WebImage.Image) Then
+ _Image = miFanart.WebImage.Image
+ savePath = Path.Combine(CachePath, String.Concat("fanart_(", miFanart.Description, ")_(url=", StringUtils.CleanURL(miFanart.URL), ").jpg"))
+ miFanart.WebImage.Save(savePath, , , False)
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ SaveFAasET(savePath, sPath)
+ End If
+ End If
+ End If
+ End Select
+ 'Me.Clear()
+ Next
+
+ _Image = Nothing
+ FileUtils.Delete.DeleteDirectory(CachePath)
+
+ End If
+ End If
+ End If
+ End Sub
+
+ Public Function IsAllowedToDownload(ByVal mMovie As Structures.DBMovie, ByVal fType As Enums.ImageType, Optional ByVal isChange As Boolean = False) As Boolean
+ Try
+ Select Case fType
+ Case Enums.ImageType.Fanart
+ If (isChange OrElse (String.IsNullOrEmpty(mMovie.FanartPath) OrElse Master.eSettings.OverwriteFanart)) AndAlso _
+ (Master.eSettings.MovieNameDotFanartJPG OrElse Master.eSettings.MovieNameFanartJPG OrElse Master.eSettings.FanartJPG) AndAlso _
+ AdvancedSettings.GetBooleanSetting("tUseTMDB", True) Then
+ Return True
+ Else
+ Return False
+ End If
+ Case Else
+ If (isChange OrElse (String.IsNullOrEmpty(mMovie.PosterPath) OrElse Master.eSettings.OverwritePoster)) AndAlso _
+ (Master.eSettings.MovieTBN OrElse Master.eSettings.MovieNameTBN OrElse Master.eSettings.MovieJPG OrElse _
+ Master.eSettings.MovieNameJPG OrElse Master.eSettings.PosterTBN OrElse Master.eSettings.PosterJPG OrElse Master.eSettings.FolderJPG) AndAlso _
+ (AdvancedSettings.GetBooleanSetting("tUseIMPA", False) OrElse AdvancedSettings.GetBooleanSetting("UseMPDB", False) OrElse AdvancedSettings.GetBooleanSetting("UseTMDB", True)) Then
+ Return True
+ Else
+ Return False
+ End If
+ End Select
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ Return False
+ End Try
+ End Function
+ Public Shared Sub SaveFAasET(ByVal faPath As String, ByVal inPath As String)
+ Dim iMod As Integer = 0
+ Dim iVal As Integer = 1
+ Dim extraPath As String = String.Empty
+
+ If Master.eSettings.VideoTSParent AndAlso FileUtils.Common.isVideoTS(inPath) Then
+ extraPath = Path.Combine(Directory.GetParent(Directory.GetParent(inPath).FullName).FullName, "extrathumbs")
+ ElseIf Master.eSettings.VideoTSParent AndAlso FileUtils.Common.isBDRip(inPath) Then
+ extraPath = Path.Combine(Directory.GetParent(Directory.GetParent(Directory.GetParent(inPath).FullName).FullName).FullName, "extrathumbs")
+ Else
+ extraPath = Path.Combine(Directory.GetParent(inPath).FullName, "extrathumbs")
+ End If
+
+ iMod = Functions.GetExtraModifier(extraPath)
+ iVal = iMod + 1
+
+ If Not Directory.Exists(extraPath) Then
+ Directory.CreateDirectory(extraPath)
+ End If
+
+ FileUtils.Common.MoveFileWithStream(faPath, Path.Combine(extraPath, String.Concat("thumb", iVal, ".jpg")))
+ End Sub
+
+
+ 'Public Shared Sub Save(ByVal _image As Image, ByVal sPath As String, Optional ByVal iQuality As Long = 0)
+ ' Try
+ ' If IsNothing(_image) Then Exit Sub
+
+ ' Dim doesExist As Boolean = File.Exists(sPath)
+ ' Dim fAtt As New FileAttributes
+ ' If Not String.IsNullOrEmpty(sPath) AndAlso (Not doesExist OrElse (Not CBool(File.GetAttributes(sPath) And FileAttributes.ReadOnly))) Then
+ ' If doesExist Then
+ ' 'get the current attributes to set them back after writing
+ ' fAtt = File.GetAttributes(sPath)
+ ' 'set attributes to none for writing
+ ' File.SetAttributes(sPath, FileAttributes.Normal)
+ ' End If
+
+ ' Using msSave As New MemoryStream
+ ' Dim retSave() As Byte
+ ' Dim ICI As ImageCodecInfo = GetEncoderInfo(ImageFormat.Jpeg)
+ ' Dim EncPars As EncoderParameters = New EncoderParameters(If(iQuality > 0, 2, 1))
+
+ ' EncPars.Param(0) = New EncoderParameter(Encoder.RenderMethod, EncoderValue.RenderNonProgressive)
+
+ ' If iQuality > 0 Then
+ ' EncPars.Param(1) = New EncoderParameter(Encoder.Quality, iQuality)
+ ' End If
+
+ ' _image.Save(msSave, ICI, EncPars)
+
+ ' retSave = msSave.ToArray
+
+ ' Using fs As New FileStream(sPath, FileMode.Create, FileAccess.Write)
+ ' fs.Write(retSave, 0, retSave.Length)
+ ' fs.Flush()
+ ' End Using
+ ' msSave.Flush()
+ ' End Using
+
+ ' If doesExist Then File.SetAttributes(sPath, fAtt)
+ ' End If
+ ' Catch ex As Exception
+ ' Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ ' End Try
+ 'End Sub
+ Private Shared Function GetEncoderInfo(ByVal Format As ImageFormat) As ImageCodecInfo
+ Dim Encoders() As ImageCodecInfo = ImageCodecInfo.GetImageEncoders()
+
+ For i As Integer = 0 To UBound(Encoders)
+ If Encoders(i).FormatID = Format.Guid Then
+ Return Encoders(i)
+ End If
+ Next
+
+ Return Nothing
+ End Function
+#End Region 'Methods
+
+
+
+End Class
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeMPDB.vb b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeMPDB.vb
new file mode 100644
index 0000000..cd949ec
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeMPDB.vb
@@ -0,0 +1,167 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports System.IO
+Imports System.Text
+Imports System.Text.RegularExpressions
+Imports System.Xml
+Imports EmberAPI
+
+Namespace MPDB
+
+ Public Class Scraper
+
+ #Region "Fields"
+
+ Public IMDBURL As String
+
+ Friend WithEvents bwMPDB As New System.ComponentModel.BackgroundWorker
+
+ #End Region 'Fields
+
+ #Region "Events"
+
+ Public Event PostersDownloaded(ByVal Posters As List(Of MediaContainers.Image))
+
+ Public Event ProgressUpdated(ByVal iPercent As Integer)
+
+ #End Region 'Events
+
+ #Region "Methods"
+
+ Public Sub Cancel()
+ If Me.bwMPDB.IsBusy Then Me.bwMPDB.CancelAsync()
+
+ While Me.bwMPDB.IsBusy
+ Application.DoEvents()
+ Threading.Thread.Sleep(50)
+ End While
+ End Sub
+
+ Public Sub GetImagesAsync(ByVal imdbID As String)
+ Try
+ If Not Me.bwMPDB.IsBusy Then
+ Me.bwMPDB.WorkerSupportsCancellation = True
+ Me.bwMPDB.WorkerReportsProgress = True
+ Me.bwMPDB.RunWorkerAsync(New Arguments With {.Parameter = imdbID})
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Public Function GetMPDBPosters(ByVal imdbID As String) As List(Of MediaContainers.Image)
+ Dim alPosters As New List(Of MediaContainers.Image)
+
+ If Me.bwMPDB.CancellationPending Then Return Nothing
+
+ Try
+ Dim sHTTP As New HTTP
+ Dim HTML As String = sHTTP.DownloadData(String.Concat("http://www.movieposterdb.com/movie/", imdbID))
+ sHTTP = Nothing
+
+ If Me.bwMPDB.CancellationPending Then Return Nothing
+
+ If bwMPDB.WorkerReportsProgress Then
+ bwMPDB.ReportProgress(1)
+ End If
+
+ If Regex.IsMatch(HTML, String.Concat("http://www.imdb.com/title/tt", imdbID), RegexOptions.Singleline Or RegexOptions.IgnoreCase Or RegexOptions.Multiline) Then
+ Dim mcPoster As MatchCollection = Regex.Matches(HTML, "http://www.movieposterdb.com/posters/[0-9_](.*?)/[0-9](.*?)/[0-9](.*?)/[a-z0-9_](.*?).jpg")
+
+ Dim PosterURL As String = String.Empty
+
+ If bwMPDB.WorkerReportsProgress Then
+ bwMPDB.ReportProgress(2)
+ End If
+
+ For Each mPoster As Match In mcPoster
+ If Me.bwMPDB.CancellationPending Then Return Nothing
+ PosterURL = mPoster.Value.Remove(mPoster.Value.LastIndexOf("/") + 1, 1)
+ PosterURL = PosterURL.Insert(mPoster.Value.LastIndexOf("/") + 1, "l")
+ alPosters.Add(New MediaContainers.Image With {.Description = "poster", .URL = PosterURL})
+ PosterURL = mPoster.Value.Remove(mPoster.Value.LastIndexOf("/") + 1, 1)
+ PosterURL = PosterURL.Insert(mPoster.Value.LastIndexOf("/") + 1, "t")
+ alPosters.Add(New MediaContainers.Image With {.Description = "thumb", .URL = PosterURL})
+ Next
+ End If
+ If bwMPDB.WorkerReportsProgress Then
+ bwMPDB.ReportProgress(3)
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ Return alPosters
+ End Function
+
+ Private Sub bwMPDB_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwMPDB.DoWork
+ Dim Args As Arguments = DirectCast(e.Argument, Arguments)
+ Try
+ e.Result = GetMPDBPosters(Args.Parameter)
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ e.Result = Nothing
+ End Try
+ End Sub
+
+ Private Sub bwMPDB_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bwMPDB.ProgressChanged
+ If Not bwMPDB.CancellationPending Then
+ RaiseEvent ProgressUpdated(e.ProgressPercentage)
+ End If
+ End Sub
+
+ Private Sub bwMPDB_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwMPDB.RunWorkerCompleted
+ If Not IsNothing(e.Result) Then
+ RaiseEvent PostersDownloaded(DirectCast(e.Result, List(Of MediaContainers.Image)))
+ End If
+ End Sub
+
+ #End Region 'Methods
+
+ #Region "Nested Types"
+
+ Private Structure Arguments
+
+ #Region "Fields"
+
+ Dim Parameter As String
+
+ #End Region 'Fields
+
+ End Structure
+
+ Private Structure Results
+
+ #Region "Fields"
+
+ Dim Result As Object
+ Dim ResultList As List(Of MediaContainers.Image)
+
+ #End Region 'Fields
+
+ End Structure
+
+ #End Region 'Nested Types
+
+ End Class
+
+End Namespace
+
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeOFDB.vb b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeOFDB.vb
new file mode 100644
index 0000000..2e94cca
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeOFDB.vb
@@ -0,0 +1,242 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports System.IO
+Imports System.IO.Compression
+Imports System.Text.RegularExpressions
+Imports EmberAPI
+
+Public Class OFDB
+
+ #Region "Fields"
+
+ Private imdbID As String
+ Private OFDBMovie As MediaContainers.Movie
+ Private _genre As String
+ Private _outline As String
+ Private _plot As String
+ Private _title As String
+
+ #End Region 'Fields
+
+ #Region "Constructors"
+
+ Public Sub New(ByVal sID As String, ByRef mMovie As MediaContainers.Movie)
+ Clear()
+ imdbID = sID
+ OFDBMovie = mMovie
+
+ GetOFDBDetails()
+ End Sub
+
+ #End Region 'Constructors
+
+ #Region "Properties"
+
+ Public Property Genre() As String
+ Get
+ Return _genre
+ End Get
+ Set(ByVal value As String)
+ _genre = value
+ End Set
+ End Property
+
+ Public Property Outline() As String
+ Get
+ Return _outline
+ End Get
+ Set(ByVal value As String)
+ _outline = value
+ End Set
+ End Property
+
+ Public Property Plot() As String
+ Get
+ Return _plot
+ End Get
+ Set(ByVal value As String)
+ _plot = value
+ End Set
+ End Property
+
+ Public Property Title() As String
+ Get
+ Return _title
+ End Get
+ Set(ByVal value As String)
+ _title = value
+ End Set
+ End Property
+
+ #End Region 'Properties
+
+ #Region "Methods"
+
+ Private Function CleanTitle(ByVal sString As String) As String
+ Dim CleanString As String = sString
+
+ Try
+ If sString.StartsWith("""") Then CleanString = sString.Remove(0, 1)
+
+ If sString.EndsWith("""") Then CleanString = CleanString.Remove(CleanString.Length - 1, 1)
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ Return CleanString
+ End Function
+
+ Private Sub Clear()
+ _title = String.Empty
+ _outline = String.Empty
+ _plot = String.Empty
+ _genre = String.Empty
+ End Sub
+
+ Private Function GetFullPlot(ByVal sURL As String) As String
+ Dim FullPlot As String = String.Empty
+
+ Try
+ If Not String.IsNullOrEmpty(sURL) Then
+ Dim sHTTP As New HTTP
+ Dim HTML As String = sHTTP.DownloadData(sURL)
+ sHTTP = Nothing
+
+ Dim D, W, B As Integer
+ Dim tmpHTML As String
+
+ D = Html.IndexOf("Eine Inhaltsangabe von")
+ If D > 0 Then
+ Dim L As Integer = Html.Length
+ tmpHTML = Html.Substring(D + 22, L - (D + 22)).Trim
+ W = tmpHTML.IndexOf("
")
+ If W > 0 Then
+ B = tmpHTML.IndexOf("", W + 16)
+ FullPlot = Web.HttpUtility.HtmlDecode(tmpHTML.Substring(W + 16, B - (W + 16)).Replace("
", String.Empty).Replace(vbCrLf, " ").Trim)
+ End If
+ End If
+ End If
+
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ Return FullPlot
+ End Function
+
+ Private Sub GetOFDBDetails()
+ Dim sURL As String = GetOFDBUrlFromIMDBID()
+
+ Try
+ If Not String.IsNullOrEmpty(sURL) Then
+ Dim sHTTP As New HTTP
+ Dim HTML As String = sHTTP.DownloadData(sURL)
+ sHTTP = Nothing
+
+ If Not String.IsNullOrEmpty(Html) Then
+ 'title
+ If String.IsNullOrEmpty(OFDBMovie.Title) OrElse Not Master.eSettings.LockTitle Then
+ Dim OFDBTitle As String = CleanTitle(Web.HttpUtility.HtmlDecode(Regex.Match(Html, "([^<]+) | ").Groups(1).Value.ToString))
+ _title = OFDBTitle
+ End If
+
+ Dim D, W, B As Integer
+ Dim tmpHTML As String
+
+ 'outline
+ If String.IsNullOrEmpty(OFDBMovie.Outline) OrElse Not Master.eSettings.LockOutline Then
+ D = Html.IndexOf("
Inhalt:")
+
+ If D > 0 Then
+ W = Html.IndexOf("
", String.Empty).Replace(vbCrLf, " ").Trim)
+ End If
+ End If
+
+ 'full plot
+ D = 0 : W = 0
+ If String.IsNullOrEmpty(OFDBMovie.Plot) OrElse Not Master.eSettings.LockPlot Then
+ D = Html.IndexOf("
Inhalt:")
+ If D > 0 Then
+ Dim L As Integer = Html.Length
+ tmpHTML = Html.Substring(D + 14, L - (D + 14)).Trim
+ W = tmpHTML.IndexOf("
0 Then
+ B = tmpHTML.IndexOf(""">[mehr]", W + 9)
+ If B > 0 Then
+ Dim FullPlot = GetFullPlot(String.Concat("http://www.ofdb.de/", tmpHTML.Substring(W + 9, B - (W + 9))))
+ If Not String.IsNullOrEmpty(FullPlot) Then
+ _plot = FullPlot
+ End If
+ End If
+ End If
+ End If
+ End If
+
+ 'genre
+ D = 0 : W = 0
+ If String.IsNullOrEmpty(OFDBMovie.Genre) OrElse Not Master.eSettings.LockGenre Then
+ D = HTML.IndexOf("class=""Normal"">Genre(s):")
+ If D > 0 Then
+ W = HTML.IndexOf("", D)
+ If W > 0 Then
+ Dim rGenres As MatchCollection = Regex.Matches(HTML.Substring(D, W - D), ".*?)[""'].*?>(?.*?)")
+ Dim Gen = From M In rGenres _
+ Select N = Web.HttpUtility.HtmlDecode(DirectCast(M, Match).Groups("name").ToString)
+ If Gen.Count > 0 Then
+ Dim tGenre As String = Strings.Join(Gen.ToArray, "/").Trim
+ _genre = Strings.Join(tGenre.Split(Convert.ToChar("/")), " / ").Trim
+ End If
+ End If
+ End If
+ End If
+
+ End If
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Function GetOFDBUrlFromIMDBID() As String
+ Dim ofdbURL As String = String.Empty
+ Try
+
+ Dim sHTTP As New HTTP
+ Dim HTML As String = sHTTP.DownloadData(String.Concat("http://www.ofdb.de/view.php?SText=", imdbID, "&Kat=IMDb&page=suchergebnis&sourceid=mozilla-search"))
+ sHTTP = Nothing
+
+ If Not String.IsNullOrEmpty(HTML) Then
+ Dim mcOFDBURL As MatchCollection = Regex.Matches(HTML, " 0 Then
+ 'just use the first one if more are found
+ ofdbURL = String.Concat("http://www.ofdb.de/", Regex.Match(mcOFDBURL(0).Value.ToString, """(film/([^<]+))""").Groups(1).Value.ToString)
+ End If
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ Return ofdbURL
+ End Function
+
+ #End Region 'Methods
+
+End Class
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeTMDB.vb b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeTMDB.vb
new file mode 100644
index 0000000..9db6818
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeTMDB.vb
@@ -0,0 +1,282 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports EmberAPI
+Imports RestSharp
+Imports WatTmdb
+
+
+Namespace TMDB
+
+ Public Class Scraper
+
+#Region "Fields"
+
+ Private _TMDBConf As V3.TmdbConfiguration
+ Private _TMDBConfE As V3.TmdbConfiguration
+ Private _TMDBApi As V3.Tmdb
+ Private _TMDBApiE As V3.Tmdb
+ Private _MySettings As EmberTMDBScraperModule.sMySettings
+
+ Private backdrop_names(3) As v3Size
+ Private poster_names(5) As v3Size
+
+
+ Friend WithEvents bwTMDB As New System.ComponentModel.BackgroundWorker
+
+#End Region 'Fields
+
+#Region "Events"
+
+ Public Event PostersDownloaded(ByVal Posters As List(Of MediaContainers.Image))
+
+ Public Event ProgressUpdated(ByVal iPercent As Integer)
+
+#End Region 'Events
+
+#Region "Methods"
+
+ Public Sub New(ByRef tTMDBConf As V3.TmdbConfiguration, ByRef tTMDBConfE As V3.TmdbConfiguration, ByRef tTMDBApi As V3.Tmdb, ByRef tTMDBApiE As V3.Tmdb, ByRef tMySettings As EmberTMDBScraperModule.sMySettings)
+ _TMDBConf = tTMDBConf
+ _TMDBConfE = tTMDBConfE
+ _TMDBApi = tTMDBApi
+ _TMDBApiE = tTMDBApiE
+ _MySettings = tMySettings
+ ' v3 does not have description anymore
+ poster_names(0).description = "thumb"
+ poster_names(0).size = "w92"
+ poster_names(0).width = 92
+ poster_names(1).description = "w154"
+ poster_names(1).size = "w154"
+ poster_names(1).width = 154
+ poster_names(2).description = "cover"
+ poster_names(2).size = "w185"
+ poster_names(2).width = 185
+ poster_names(3).description = "w342"
+ poster_names(3).size = "w342"
+ poster_names(3).width = 342
+ poster_names(4).description = "mid"
+ poster_names(4).size = "w500"
+ poster_names(4).width = 500
+ poster_names(5).description = "original"
+ poster_names(5).size = "original"
+ poster_names(5).width = 0
+ backdrop_names(0).description = "thumb"
+ backdrop_names(0).size = "w300"
+ backdrop_names(0).width = 300
+ backdrop_names(1).description = "poster"
+ backdrop_names(1).size = "w780"
+ backdrop_names(1).width = 780
+ backdrop_names(2).description = "w1280"
+ backdrop_names(2).size = "w1280"
+ backdrop_names(2).width = 1280
+ backdrop_names(3).description = "original"
+ backdrop_names(3).size = "original"
+ backdrop_names(3).width = 0
+ End Sub
+
+ Public Sub Cancel()
+ If bwTMDB.IsBusy Then bwTMDB.CancelAsync()
+
+ While bwTMDB.IsBusy
+ Application.DoEvents()
+ Threading.Thread.Sleep(50)
+ End While
+ End Sub
+
+ Public Sub GetImagesAsync(ByVal imdbID As String, ByVal sType As String)
+ Try
+ If Not bwTMDB.IsBusy Then
+ bwTMDB.WorkerSupportsCancellation = True
+ bwTMDB.WorkerReportsProgress = True
+ bwTMDB.RunWorkerAsync(New Arguments With {.Parameter = imdbID, .sType = sType})
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Public Function GetTMDBImages(ByVal imdbID As String, ByVal sType As String) As List(Of MediaContainers.Image)
+ Dim alPosters As New List(Of MediaContainers.Image)
+ Dim images As V3.TmdbMovieImages
+ Dim aW, aH As Integer
+
+ If bwTMDB.CancellationPending Then Return Nothing
+ Try
+ images = _TMDBApi.GetMovieImages(CInt(imdbID), _MySettings.TMDBLanguage)
+ If sType = "poster" Then
+ If IsNothing(images.posters) OrElse images.posters.Count = 0 Then
+ images = _TMDBApiE.GetMovieImages(CInt(imdbID))
+ If IsNothing(images.posters) OrElse images.posters.Count = 0 Then
+ Return alPosters
+ End If
+ End If
+ Else
+ If IsNothing(images.backdrops) OrElse images.backdrops.Count = 0 Then
+ images = _TMDBApiE.GetMovieImages(CInt(imdbID))
+ If IsNothing(images.backdrops) OrElse images.backdrops.Count = 0 Then
+ Return alPosters
+ End If
+ End If
+ End If
+ If bwTMDB.WorkerReportsProgress Then
+ bwTMDB.ReportProgress(1)
+ End If
+
+ If bwTMDB.CancellationPending Then Return Nothing
+
+ If sType = "poster" Then
+ For Each tmdbI As V3.Poster In images.posters
+ If bwTMDB.CancellationPending Then Return Nothing
+ For Each aSize In poster_names
+ Select Case aSize.size
+ Case "original"
+ aW = tmdbI.width
+ aH = tmdbI.width
+ Case Else
+ aW = aSize.width
+ aH = CInt(aW / tmdbI.aspect_ratio)
+ End Select
+ Dim tmpPoster As New MediaContainers.Image With {.URL = _TMDBConf.images.base_url & aSize.size & tmdbI.file_path, .Description = aSize.description, .Width = CStr(aW), .Height = CStr(aH), .ParentID = tmdbI.file_path}
+ alPosters.Add(tmpPoster)
+ Next
+ Next
+ ElseIf sType = "backdrop" Then
+ For Each tmdbI As V3.Backdrop In images.backdrops
+ If bwTMDB.CancellationPending Then Return Nothing
+ For Each aSize In backdrop_names
+ Select Case aSize.size
+ Case "original"
+ aW = tmdbI.width
+ aH = tmdbI.width
+ Case Else
+ aW = aSize.width
+ aH = CInt(aW / tmdbI.aspect_ratio)
+ End Select
+ Dim tmpPoster As New MediaContainers.Image With {.URL = _TMDBConf.images.base_url & aSize.size & tmdbI.file_path, .Description = aSize.description, .Width = CStr(aW), .Height = CStr(aH), .ParentID = tmdbI.file_path}
+ alPosters.Add(tmpPoster)
+ Next
+ Next
+ End If
+
+ If bwTMDB.WorkerReportsProgress Then
+ bwTMDB.ReportProgress(3)
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ Return alPosters
+ End Function
+
+ Public Function GetTrailers(ByVal imdbID As String) As List(Of String)
+ Dim trailers As V3.TmdbMovieTrailers
+ Dim YT As New List(Of String)
+
+ Try
+ If bwTMDB.CancellationPending Then Return Nothing
+ trailers = _TMDBApi.GetMovieTrailers(CInt(imdbID), _MySettings.TMDBLanguage)
+ If IsNothing(trailers.youtube) OrElse trailers.youtube.Count = 0 Then
+ trailers = _TMDBApiE.GetMovieTrailers(CInt(imdbID))
+ If IsNothing(trailers.youtube) OrElse trailers.youtube.Count = 0 Then
+ Return Nothing
+ End If
+ End If
+
+ If bwTMDB.WorkerReportsProgress Then
+ bwTMDB.ReportProgress(1)
+ End If
+ If bwTMDB.CancellationPending Then Return Nothing
+
+ 'If bwTMDB.WorkerReportsProgress Then
+ ' bwTMDB.ReportProgress(2)
+ 'End If
+
+ If trailers.youtube.Count > 0 Then
+ For Each trailer In trailers.youtube
+ YT.Add(String.Format("http://www.youtube.com/watch?v={0}{1})", trailer.source, CStr(IIf(trailer.size = "HD", "&hd=1", ""))))
+ Next
+ End If
+
+ If bwTMDB.WorkerReportsProgress Then
+ bwTMDB.ReportProgress(3)
+ End If
+
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ Return YT
+ End Function
+
+ Private Sub bwTMDB_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwTMDB.DoWork
+ Dim Args As Arguments = DirectCast(e.Argument, Arguments)
+ Try
+ e.Result = GetTMDBImages(Args.Parameter, Args.sType)
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ e.Result = Nothing
+ End Try
+ End Sub
+
+ Private Sub bwTMDB_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bwTMDB.ProgressChanged
+ If Not bwTMDB.CancellationPending Then
+ RaiseEvent ProgressUpdated(e.ProgressPercentage)
+ End If
+ End Sub
+
+ Private Sub bwTMDB_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwTMDB.RunWorkerCompleted
+ If Not IsNothing(e.Result) Then
+ RaiseEvent PostersDownloaded(DirectCast(e.Result, List(Of MediaContainers.Image)))
+ End If
+ End Sub
+
+#End Region 'Methods
+
+#Region "Nested Types"
+
+ Private Structure Arguments
+
+#Region "Fields"
+
+ Dim Parameter As String
+ Dim sType As String
+
+#End Region 'Fields
+
+ End Structure
+
+ Private Structure v3Size
+
+#Region "Fields"
+
+ Dim size As String
+ Dim description As String
+ Dim width As Integer
+
+#End Region 'Fields
+
+ End Structure
+
+#End Region 'Nested Types
+
+ End Class
+
+End Namespace
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeTMDB_old.vb b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeTMDB_old.vb
new file mode 100644
index 0000000..c5bca0a
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeTMDB_old.vb
@@ -0,0 +1,244 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports EmberAPI
+
+Namespace TMDB_old
+
+
+ Public Class Scraper
+
+#Region "Fields"
+
+ Public IMDBURL As String
+
+ Friend WithEvents bwTMDB As New System.ComponentModel.BackgroundWorker
+
+ Private Const APIKey As String = "b1ecff8c76278262b27de1569f57f6bd"
+
+#End Region 'Fields
+
+#Region "Events"
+
+ Public Event PostersDownloaded(ByVal Posters As List(Of MediaContainers.Image))
+
+ Public Event ProgressUpdated(ByVal iPercent As Integer)
+
+#End Region 'Events
+
+#Region "Methods"
+
+ Public Sub Cancel()
+ If bwTMDB.IsBusy Then bwTMDB.CancelAsync()
+
+ While bwTMDB.IsBusy
+ Application.DoEvents()
+ Threading.Thread.Sleep(50)
+ End While
+ End Sub
+
+ Public Sub GetImagesAsync(ByVal imdbID As String, ByVal sType As String)
+ Try
+ If Not bwTMDB.IsBusy Then
+ bwTMDB.WorkerSupportsCancellation = True
+ bwTMDB.WorkerReportsProgress = True
+ bwTMDB.RunWorkerAsync(New Arguments With {.Parameter = imdbID, .sType = sType})
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Public Function GetTMDBImages(ByVal imdbID As String, ByVal sType As String) As List(Of MediaContainers.Image)
+ Dim alPosters As New List(Of MediaContainers.Image)
+ Dim xmlTMDB As XDocument
+ Dim sHTTP As New HTTP
+
+ If bwTMDB.CancellationPending Then Return Nothing
+ Try
+ Dim ApiXML As String = sHTTP.DownloadData(String.Format("http://api.themoviedb.org/2.1/Movie.getImages/en/xml/{0}/tt{1}", APIKey, imdbID))
+
+ If Not String.IsNullOrEmpty(ApiXML) Then
+ Try
+ xmlTMDB = XDocument.Parse(ApiXML)
+ Catch
+ Return alPosters
+ End Try
+
+ If bwTMDB.WorkerReportsProgress Then
+ bwTMDB.ReportProgress(1)
+ End If
+
+ If bwTMDB.CancellationPending Then Return Nothing
+
+ If Not xmlTMDB.......Value = "Nothing found." Then
+ If sType = "poster" Then
+ Dim tmdbImages = From iNode In xmlTMDB................Elements Select iNode
+ If tmdbImages.Count > 0 Then
+ For Each tmdbI As XElement In tmdbImages
+ Dim parentID As String = tmdbI.Parent.Attribute("id").Value
+ If bwTMDB.CancellationPending Then Return Nothing
+ Dim tmpPoster As New MediaContainers.Image With {.URL = tmdbI.@url, .Description = tmdbI.@size, .Width = tmdbI.@width, .Height = tmdbI.@height, .ParentID = parentID}
+ alPosters.Add(tmpPoster)
+ Next
+ End If
+ ElseIf sType = "backdrop" Then
+ Dim tmdbImages = From iNode In xmlTMDB................Elements Select iNode
+ If tmdbImages.Count > 0 Then
+ For Each tmdbI As XElement In tmdbImages
+ Dim parentID As String = tmdbI.Parent.Attribute("id").Value
+ If bwTMDB.CancellationPending Then Return Nothing
+ Dim tmpPoster As New MediaContainers.Image With {.URL = tmdbI.@url, .Description = tmdbI.@size, .Width = tmdbI.@width, .Height = tmdbI.@height, .ParentID = parentID}
+ alPosters.Add(tmpPoster)
+ Next
+ End If
+ End If
+ End If
+ End If
+
+ If bwTMDB.WorkerReportsProgress Then
+ bwTMDB.ReportProgress(2)
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ sHTTP = Nothing
+
+ Return alPosters
+ End Function
+
+ Public Function GetTrailers(ByVal imdbID As String) As String
+ Dim xmlTMDB As XDocument
+ Dim sHTTP As New HTTP
+ Dim tLang As String
+
+ tLang = AdvancedSettings.GetSetting("UseTMDBTrailerPref", "en")
+
+ If bwTMDB.CancellationPending Then Return Nothing
+ Try
+ Dim ApiXML As String = sHTTP.DownloadData(String.Format("http://api.themoviedb.org/2.1/Movie.imdbLookup/en/xml/{0}/tt{1}", APIKey, imdbID))
+ sHTTP = Nothing
+
+ If Not String.IsNullOrEmpty(ApiXML) Then
+ Try
+ xmlTMDB = XDocument.Parse(ApiXML)
+ Catch
+ Return String.Empty
+ End Try
+
+ If bwTMDB.WorkerReportsProgress Then
+ bwTMDB.ReportProgress(1)
+ End If
+ If bwTMDB.CancellationPending Then Return Nothing
+
+ Dim tmdbNode = From xNode In xmlTMDB.Elements
+
+ If tmdbNode.Count > 0 Then
+ If Not tmdbNode(0).Value = "Your query didn't return any results." Then
+ Dim movieID As String = xmlTMDB.............Value
+ Dim i As Integer
+
+
+ For i = 0 To 1 Step 1
+ sHTTP = New HTTP
+ ApiXML = sHTTP.DownloadData(String.Format("http://api.themoviedb.org/2.1/Movie.getInfo/{0}/xml/{1}/{2}", tLang, APIKey, movieID))
+ sHTTP = Nothing
+
+ If Not String.IsNullOrEmpty(ApiXML) Then
+
+ Try
+ xmlTMDB = XDocument.Parse(ApiXML)
+ Catch
+ Return String.Empty
+ End Try
+
+ If bwTMDB.WorkerReportsProgress Then
+ bwTMDB.ReportProgress(2)
+ End If
+
+ If bwTMDB.CancellationPending Then Return Nothing
+
+ Dim Trailers = From tNode In xmlTMDB......... Select tNode.
+ If Trailers.Count > 0 AndAlso Not String.IsNullOrEmpty(Trailers(0).Value) Then
+ If Trailers(0).Value.ToLower.IndexOf("youtube.com") > 0 Then
+ Return Trailers(0).Value
+ i += 1
+ End If
+ Else
+ tLang = "en"
+ End If
+ End If
+ Next
+ End If
+ End If
+ End If
+ If bwTMDB.WorkerReportsProgress Then
+ bwTMDB.ReportProgress(3)
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ Return String.Empty
+ End Function
+
+ Private Sub bwTMDB_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwTMDB.DoWork
+ Dim Args As Arguments = DirectCast(e.Argument, Arguments)
+ Try
+ e.Result = GetTMDBImages(Args.Parameter, Args.sType)
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ e.Result = Nothing
+ End Try
+ End Sub
+
+ Private Sub bwTMDB_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bwTMDB.ProgressChanged
+ If Not bwTMDB.CancellationPending Then
+ RaiseEvent ProgressUpdated(e.ProgressPercentage)
+ End If
+ End Sub
+
+ Private Sub bwTMDB_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwTMDB.RunWorkerCompleted
+ If Not IsNothing(e.Result) Then
+ RaiseEvent PostersDownloaded(DirectCast(e.Result, List(Of MediaContainers.Image)))
+ End If
+ End Sub
+
+#End Region 'Methods
+
+#Region "Nested Types"
+
+ Private Structure Arguments
+
+#Region "Fields"
+
+ Dim Parameter As String
+ Dim sType As String
+
+#End Region 'Fields
+
+ End Structure
+
+#End Region 'Nested Types
+
+ End Class
+
+End Namespace
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeTMDBg.vb b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeTMDBg.vb
new file mode 100644
index 0000000..86f6083
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeTMDBg.vb
@@ -0,0 +1,723 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports System.Globalization
+Imports System.IO
+Imports System.IO.Compression
+Imports System.Text
+Imports System.Text.RegularExpressions
+Imports EmberAPI
+Imports RestSharp
+Imports WatTmdb
+
+
+Namespace TMDBg
+
+ Public Class MovieSearchResults
+
+#Region "Fields"
+
+ Private _Matches As New List(Of MediaContainers.Movie)
+
+#End Region 'Fields
+
+#Region "Properties"
+
+ Public Property Matches() As List(Of MediaContainers.Movie)
+ Get
+ Return _Matches
+ End Get
+ Set(ByVal value As List(Of MediaContainers.Movie))
+ _Matches = value
+ End Set
+ End Property
+
+#End Region 'Properties
+
+ End Class
+
+ Public Class Scraper
+
+#Region "Fields"
+
+ 'Public IMDBURL As String
+ 'Private _TMDBId As String
+ Private _TMDBConf As V3.TmdbConfiguration
+ Private _TMDBConfE As V3.TmdbConfiguration
+ Private _TMDBApi As V3.Tmdb
+ Private _TMDBApiE As V3.Tmdb
+ Private _MySettings As EmberTMDBScraperModule.sMySettings
+
+ Friend WithEvents bwTMDBg As New System.ComponentModel.BackgroundWorker
+
+ Private _sPoster As String
+
+#End Region 'Fields
+
+#Region "Properties"
+ Public ReadOnly Property TMDBConf() As V3.TmdbConfiguration
+ Get
+ Return _TMDBConf
+ End Get
+ End Property
+#End Region
+
+#Region "Enumerations"
+
+ Private Enum SearchType
+ Movies = 0
+ Details = 1
+ SearchDetails = 2
+ End Enum
+
+#End Region 'Enumerations
+
+#Region "Events"
+
+ Public Event Exception(ByVal ex As Exception)
+
+ Public Event SearchMovieInfoDownloaded(ByVal sPoster As String, ByVal bSuccess As Boolean)
+
+ Public Event SearchResultsDownloaded(ByVal mResults As TMDBg.MovieSearchResults)
+
+#End Region 'Events
+
+#Region "Methods"
+
+ Public Sub New(ByRef tTMDBConf As V3.TmdbConfiguration, ByRef tTMDBConfE As V3.TmdbConfiguration, ByRef tTMDBApi As V3.Tmdb, ByRef tTMDBApiE As V3.Tmdb, ByRef tMySettings As EmberTMDBScraperModule.sMySettings)
+ _MySettings = tMySettings
+ _TMDBApi = tTMDBApi
+ _TMDBConf = tTMDBConf
+ _TMDBApiE = tTMDBApiE
+ _TMDBConfE = tTMDBConfE
+ End Sub
+
+ Public Sub CancelAsync()
+ If bwTMDBg.IsBusy Then bwTMDBg.CancelAsync()
+
+ While bwTMDBg.IsBusy
+ Application.DoEvents()
+ Threading.Thread.Sleep(50)
+ End While
+ End Sub
+
+ Public Sub GetMovieID(ByRef DBMovie As Structures.DBMovie)
+ Try
+ Dim Movie As WatTmdb.V3.TmdbMovie
+ Dim MovieE As WatTmdb.V3.TmdbMovie
+
+ If bwTMDBg.CancellationPending Then Return
+
+ Movie = _TMDBApi.GetMovieByIMDB(DBMovie.Movie.ID, _MySettings.TMDBLanguage)
+ MovieE = _TMDBApiE.GetMovieByIMDB(DBMovie.Movie.ID)
+ If IsNothing(Movie) AndAlso Not _MySettings.FallBackEng Then
+ Return
+ End If
+
+ DBMovie.Movie.TMDBID = CStr(IIf(String.IsNullOrEmpty(Movie.id.ToString) AndAlso _MySettings.FallBackEng, MovieE.id.ToString, Movie.id.ToString))
+
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ End Sub
+
+ Public Function GetMovieInfo(ByVal strID As String, ByRef IMDBMovie As MediaContainers.Movie, ByVal FullCrew As Boolean, ByVal FullCast As Boolean, ByVal GetPoster As Boolean, ByVal Options As Structures.ScrapeOptions, ByVal IsSearch As Boolean) As Boolean
+ Try
+ Dim Movie As WatTmdb.V3.TmdbMovie
+ Dim MovieE As WatTmdb.V3.TmdbMovie
+ Dim tStr As String
+
+ If bwTMDBg.CancellationPending Then Return Nothing
+
+ If Strings.Left(strID.ToLower(), 2) = "tt" Then
+ Movie = _TMDBApi.GetMovieByIMDB(strID, _MySettings.TMDBLanguage)
+ MovieE = _TMDBApiE.GetMovieByIMDB(strID)
+ Else
+ Movie = _TMDBApi.GetMovieInfo(CInt(strID), _MySettings.TMDBLanguage)
+ MovieE = _TMDBApiE.GetMovieInfo(CInt(strID))
+ End If
+ If IsNothing(Movie) AndAlso Not _MySettings.FallBackEng Then
+ Return False
+ End If
+
+ IMDBMovie.ID = CStr(IIf(String.IsNullOrEmpty(Movie.imdb_id) AndAlso _MySettings.FallBackEng, MovieE.imdb_id, Movie.imdb_id))
+ IMDBMovie.TMDBID = CStr(IIf(String.IsNullOrEmpty(Movie.id.ToString) AndAlso _MySettings.FallBackEng, MovieE.id.ToString, Movie.id.ToString))
+
+ If bwTMDBg.CancellationPending Or IsNothing(Movie) Then Return Nothing
+
+ Dim Keywords As WatTmdb.V3.TmdbMovieKeywords
+ Keywords = _TMDBApi.GetMovieKeywords(Movie.id)
+ If Not IsNothing(Keywords) AndAlso Not IsNothing(Keywords.keywords) Then
+ If Keywords.keywords.Count <> 0 AndAlso _MySettings.FallBackEng Then
+ Keywords = _TMDBApiE.GetMovieKeywords(Movie.id)
+ End If
+ Else
+ If _MySettings.FallBackEng Then
+ Keywords = _TMDBApiE.GetMovieKeywords(Movie.id)
+ End If
+ End If
+
+ ' to be added the tags structure
+ ''
+ '' ...
+ '' Name of the tag
+ '' ...
+ ''
+ If Options.bTitle Then
+ IMDBMovie.OriginalTitle = CStr(IIf(String.IsNullOrEmpty(Movie.original_title) AndAlso _MySettings.FallBackEng, MovieE.original_title, Movie.original_title))
+ If String.IsNullOrEmpty(IMDBMovie.Title) OrElse Not Master.eSettings.LockTitle Then
+ IMDBMovie.Title = CStr(IIf(String.IsNullOrEmpty(Movie.title) AndAlso _MySettings.FallBackEng, MovieE.title, Movie.title))
+ End If
+ End If
+
+ If bwTMDBg.CancellationPending Then Return Nothing
+
+ If GetPoster Then
+ ' I will add original always. to be updated if size, TMDBConf.images.poster_sizes(0) &
+ Dim Images As WatTmdb.V3.TmdbMovieImages
+ Images = _TMDBApi.GetMovieImages(Movie.id, _MySettings.TMDBLanguage)
+ If Not IsNothing(Images) AndAlso Not IsNothing(Images.posters) Then
+ If (Images.posters.Count = 0) AndAlso _MySettings.FallBackEng Then
+ Images = _TMDBApiE.GetMovieImages(Movie.id)
+ End If
+ Else
+ If _MySettings.FallBackEng Then
+ Images = _TMDBApiE.GetMovieImages(Movie.id)
+ End If
+ End If
+ If Not IsNothing(Images) AndAlso Not IsNothing(Images.posters) Then
+ If Images.posters.Count > 0 Then
+ _sPoster = _TMDBConf.images.base_url & "w92" & Images.posters(0).file_path
+ Else
+ _sPoster = ""
+ End If
+ End If
+ End If
+
+ If bwTMDBg.CancellationPending Then Return Nothing
+
+ If Options.bYear Then IMDBMovie.Year = Left(CStr(IIf(String.IsNullOrEmpty(Movie.release_date) AndAlso _MySettings.FallBackEng, MovieE.release_date, Movie.release_date)), 4)
+
+ Dim Releases As WatTmdb.V3.TmdbMovieReleases = Nothing
+ If Options.bMPAA Then
+ IMDBMovie.MPAA = ""
+ Releases = _TMDBApi.GetMovieReleases(Movie.id)
+ If Not IsNothing(Releases) AndAlso Not IsNothing(Releases.countries) Then
+ If (Releases.countries.Count = 0) AndAlso _MySettings.FallBackEng Then
+ Releases = _TMDBApiE.GetMovieReleases(Movie.id)
+ End If
+ Else
+ If _MySettings.FallBackEng Then
+ Releases = _TMDBApiE.GetMovieReleases(Movie.id)
+ End If
+ End If
+
+ If Not IsNothing(Releases) AndAlso Not IsNothing(Releases.countries) Then
+ For Each Country In Releases.countries
+ If Country.iso_3166_1.ToUpper = CStr(IIf(Master.eSettings.CertificationLang = "", "US", Master.eSettings.CertificationLang)) Then
+ IMDBMovie.MPAA = Country.certification
+ Exit For
+ End If
+ Next
+ End If
+ IMDBMovie.Certification = IMDBMovie.MPAA
+ End If
+
+ If bwTMDBg.CancellationPending Then Return Nothing
+
+ If Options.bRelease Then
+ IMDBMovie.ReleaseDate = CStr(IIf(String.IsNullOrEmpty(Movie.release_date) AndAlso _MySettings.FallBackEng, MovieE.release_date, Movie.release_date))
+ End If
+
+ If Options.bRating AndAlso (String.IsNullOrEmpty(IMDBMovie.Rating) OrElse Not Master.eSettings.LockRating) Then
+ IMDBMovie.Rating = CStr(IIf(IsNothing(Movie.vote_average) AndAlso Movie.vote_average = 0 AndAlso _MySettings.FallBackEng, MovieE.vote_average, Movie.vote_average))
+ End If
+
+ If bwTMDBg.CancellationPending Then Return Nothing
+
+ 'trailer
+ If Options.bTrailer AndAlso (String.IsNullOrEmpty(IMDBMovie.Trailer) OrElse Not Master.eSettings.LockTrailer) Then
+ Dim Trailers As WatTmdb.V3.TmdbMovieTrailers
+ Trailers = _TMDBApi.GetMovieTrailers(Movie.id)
+ If Not IsNothing(Trailers) AndAlso Not IsNothing(Trailers.youtube) Then
+ If (Trailers.youtube.Count = 0) AndAlso _MySettings.FallBackEng Then
+ Trailers = _TMDBApiE.GetMovieTrailers(Movie.id)
+ End If
+ Else
+ If _MySettings.FallBackEng Then
+ Trailers = _TMDBApiE.GetMovieTrailers(Movie.id)
+ End If
+ End If
+
+ IMDBMovie.Trailer = ""
+ If Not IsNothing(Trailers) AndAlso Not IsNothing(Trailers.youtube) Then
+ If Trailers.youtube.Count > 0 Then
+ IMDBMovie.Trailer = "http://www.youtube.com/watch?hd=1&v=" & Trailers.youtube(0).source
+ End If
+ End If
+
+ End If
+
+ If bwTMDBg.CancellationPending Then Return Nothing
+
+ If Options.bVotes Then
+ IMDBMovie.Votes = CStr(IIf(IsNothing(Movie.vote_count) AndAlso Movie.vote_count = 0 AndAlso _MySettings.FallBackEng, MovieE.vote_count.ToString(), Movie.vote_count.ToString()))
+ End If
+
+ If bwTMDBg.CancellationPending Then Return Nothing
+
+ Dim aCast As WatTmdb.V3.TmdbMovieCast = Nothing
+ If Options.bCast Then
+ aCast = _TMDBApi.GetMovieCast(Movie.id)
+ If Not IsNothing(aCast) AndAlso Not IsNothing(aCast.cast) Then
+ If (aCast.cast.Count = 0) AndAlso _MySettings.FallBackEng Then
+ aCast = _TMDBApiE.GetMovieCast(Movie.id)
+ End If
+ Else
+ If _MySettings.FallBackEng Then
+ aCast = _TMDBApiE.GetMovieCast(Movie.id)
+ End If
+ End If
+
+ Dim Cast As New List(Of MediaContainers.Person)
+ If Not IsNothing(aCast) AndAlso Not IsNothing(aCast.cast) Then
+ For Each aAc As WatTmdb.V3.Cast In aCast.cast
+ Dim aPer As New MediaContainers.Person
+ aPer.Name = aAc.name
+ aPer.Role = aAc.character
+ ' to be added / dialog to choose the size of the images
+ aPer.Thumb = _TMDBConf.images.base_url & "original" & aAc.profile_path
+ Cast.Add(aPer)
+ Next
+ End If
+ IMDBMovie.Actors = Cast
+ End If
+
+ If Options.bTagline AndAlso (String.IsNullOrEmpty(IMDBMovie.Tagline) OrElse Not Master.eSettings.LockTagline) Then
+ IMDBMovie.Tagline = CStr(IIf(String.IsNullOrEmpty(IMDBMovie.Tagline) AndAlso _MySettings.FallBackEng, MovieE.tagline, Movie.tagline))
+ End If
+
+ If bwTMDBg.CancellationPending Then Return Nothing
+
+ 'Get countries of the movie
+ If Options.bCountry Then
+ If IsNothing(Releases) Then
+ Releases = _TMDBApi.GetMovieReleases(Movie.id)
+ If Not IsNothing(Releases) AndAlso Not IsNothing(Releases.countries) Then
+ If (Releases.countries.Count = 0) AndAlso _MySettings.FallBackEng Then
+ Releases = _TMDBApiE.GetMovieReleases(Movie.id)
+ End If
+ Else
+ If _MySettings.FallBackEng Then
+ Releases = _TMDBApiE.GetMovieReleases(Movie.id)
+ End If
+ End If
+ End If
+ IMDBMovie.Countries.Clear()
+ If Not IsNothing(Releases) AndAlso Not IsNothing(Releases.countries) Then
+ For Each aCo As WatTmdb.V3.ReleaseCountry In Releases.countries
+ IMDBMovie.Countries.Add(aCo.iso_3166_1)
+ Next
+ End If
+ End If
+
+ If bwTMDBg.CancellationPending Then Return Nothing
+
+ 'Get genres of the movie
+ If Options.bGenre AndAlso (String.IsNullOrEmpty(IMDBMovie.Genre) OrElse Not Master.eSettings.LockGenre) Then
+ IMDBMovie.Genres.Clear()
+ Dim tGen As System.Collections.Generic.List(Of WatTmdb.V3.MovieGenre)
+ If Not IsNothing(Movie) AndAlso Not IsNothing(Movie.genres) Then
+ tGen = CType(IIf(Movie.genres.Count = 0 AndAlso _MySettings.FallBackEng, MovieE.genres, Movie.genres), Global.System.Collections.Generic.List(Of Global.WatTmdb.V3.MovieGenre))
+ Else
+ tGen = CType(IIf(_MySettings.FallBackEng, MovieE.genres, Nothing), Global.System.Collections.Generic.List(Of Global.WatTmdb.V3.MovieGenre))
+ End If
+
+
+ If Not IsNothing(tGen) Then
+ For Each aGen As WatTmdb.V3.MovieGenre In tGen
+ IMDBMovie.Genres.Add(aGen.name)
+ Next
+ End If
+ End If
+
+ If bwTMDBg.CancellationPending Then Return Nothing
+
+ If Options.bOutline AndAlso (String.IsNullOrEmpty(IMDBMovie.Outline) OrElse Not Master.eSettings.LockOutline) Then
+ IMDBMovie.Outline = CStr(IIf(String.IsNullOrEmpty(Movie.overview) AndAlso _MySettings.FallBackEng, MovieE.overview, Movie.overview))
+ End If
+
+ If bwTMDBg.CancellationPending Then Return Nothing
+
+ If Options.bPlot AndAlso (String.IsNullOrEmpty(IMDBMovie.Plot) OrElse Not Master.eSettings.LockPlot) Then
+ If Master.eSettings.OutlineForPlot AndAlso String.IsNullOrEmpty(IMDBMovie.Plot) AndAlso Not String.IsNullOrEmpty(IMDBMovie.Outline) Then
+ IMDBMovie.Plot = IMDBMovie.Outline
+ Else
+ IMDBMovie.Plot = ""
+ End If
+ End If
+
+ If bwTMDBg.CancellationPending Then Return Nothing
+
+ 'Get the movie duration
+ If Options.bRuntime Then
+ IMDBMovie.Runtime = CStr(IIf(IsNothing(Movie.runtime) AndAlso Movie.runtime = 0 AndAlso _MySettings.FallBackEng, MovieE.runtime.ToString(), Movie.runtime.ToString()))
+ End If
+
+ 'Get Production Studio
+ If Options.bStudio AndAlso (String.IsNullOrEmpty(IMDBMovie.Studio) OrElse Not Master.eSettings.LockStudio) Then
+ tStr = ""
+ Dim tPC As System.Collections.Generic.List(Of WatTmdb.V3.ProductionCompany)
+ If Not IsNothing(Movie) AndAlso Not IsNothing(Movie.genres) Then
+ tPC = CType(IIf(Movie.production_companies.Count = 0 AndAlso _MySettings.FallBackEng, MovieE.production_companies, Movie.production_companies), Global.System.Collections.Generic.List(Of WatTmdb.V3.ProductionCompany))
+ Else
+ tPC = CType(IIf(_MySettings.FallBackEng, MovieE.production_companies, Nothing), Global.System.Collections.Generic.List(Of WatTmdb.V3.ProductionCompany))
+ End If
+
+ If Not IsNothing(tPC) Then
+ For Each aPro As WatTmdb.V3.ProductionCompany In tPC
+ tStr = tStr & " / " & aPro.name
+ Next
+ End If
+ If Len(tStr) > 3 Then
+ tStr = Trim(Right(tStr, Len(tStr) - 3))
+ End If
+ IMDBMovie.Studio = tStr
+ End If
+
+ If bwTMDBg.CancellationPending Then Return Nothing
+
+ 'Get All Other Info
+ If FullCrew Or Options.bWriters Or Options.bDirector Then
+ If IsNothing(aCast) Then
+ aCast = _TMDBApi.GetMovieCast(Movie.id)
+ If Not IsNothing(aCast) AndAlso Not IsNothing(aCast.cast) Then
+ If (aCast.crew.Count = 0) AndAlso _MySettings.FallBackEng Then
+ aCast = _TMDBApiE.GetMovieCast(Movie.id)
+ End If
+ Else
+ If _MySettings.FallBackEng Then
+ aCast = _TMDBApiE.GetMovieCast(Movie.id)
+ End If
+ End If
+ End If
+ IMDBMovie.Credits.Clear()
+ IMDBMovie.Directors.Clear()
+ If Not IsNothing(aCast.crew) Then
+ For Each aAc As WatTmdb.V3.Crew In aCast.crew
+ If FullCrew Then
+ IMDBMovie.Credits.Add(aAc.name)
+ ElseIf Options.bWriters Then
+ If aAc.department = "Writing" AndAlso aAc.job = "Writer" Then
+ IMDBMovie.Credits.Add(aAc.name)
+ End If
+ End If
+ If Options.bDirector Then
+ If aAc.job = "Director" Then
+ IMDBMovie.Directors.Add(aAc.name)
+ End If
+ End If
+ Next
+ End If
+ End If
+
+ If bwTMDBg.CancellationPending Then Return Nothing
+
+ Return True
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ Return False
+ End Try
+ End Function
+
+ Public Function GetMovieStudios(ByVal strID As String) As List(Of String)
+ Dim alStudio As New List(Of String)
+ Dim Movie As WatTmdb.V3.TmdbMovie
+ Movie = _TMDBApi.GetMovieByIMDB(strID, _MySettings.TMDBLanguage)
+ If Movie.production_companies.Count = 0 And _MySettings.FallBackEng Then
+ Movie = _TMDBApi.GetMovieByIMDB(strID, "en")
+ End If
+ For Each aComp In Movie.production_companies
+ alStudio.Add(aComp.name)
+ Next
+
+ Return alStudio
+
+ End Function
+
+ Public Function GetSearchMovieInfo(ByVal sMovieName As String, ByRef dbMovie As Structures.DBMovie, ByVal iType As Enums.ScrapeType, ByVal Options As Structures.ScrapeOptions) As MediaContainers.Movie
+ Dim r As MovieSearchResults = SearchMovie(sMovieName)
+ Dim b As Boolean = False
+ Dim imdbMovie As MediaContainers.Movie = dbMovie.Movie
+
+ Try
+ Select Case iType
+ Case Enums.ScrapeType.FullAsk, Enums.ScrapeType.UpdateAsk, Enums.ScrapeType.NewAsk, Enums.ScrapeType.MarkAsk, Enums.ScrapeType.FilterAsk
+
+ If r.Matches.Count = 1 Then 'redirected to imdb info page
+ b = GetMovieInfo(r.Matches.Item(0).ID, imdbMovie, Master.eSettings.FullCrew, Master.eSettings.FullCast, False, Options, True)
+ Else
+ Master.tmpMovie.Clear()
+ Using dIMDB As New dlgTMDBSearchResults(_MySettings, Me)
+
+ If dIMDB.ShowDialog(r, sMovieName) = Windows.Forms.DialogResult.OK Then
+ If String.IsNullOrEmpty(Master.tmpMovie.IMDBID) Then
+ b = False
+ Else
+ b = GetMovieInfo(Master.tmpMovie.ID, imdbMovie, Master.eSettings.FullCrew, Master.eSettings.FullCast, False, Options, True)
+ End If
+ Else
+ b = False
+ End If
+ End Using
+ End If
+ Case Enums.ScrapeType.FullAuto, Enums.ScrapeType.UpdateAuto, Enums.ScrapeType.NewAuto, Enums.ScrapeType.MarkAuto, Enums.ScrapeType.SingleScrape, Enums.ScrapeType.FilterAuto
+ Dim exactHaveYear As Integer = FindYear(dbMovie.Filename, r.Matches)
+ If r.Matches.Count = 1 Then 'redirected to imdb info page
+ b = GetMovieInfo(r.Matches.Item(0).ID, imdbMovie, Master.eSettings.FullCrew, Master.eSettings.FullCast, False, Options, True)
+ Else
+ b = GetMovieInfo(r.Matches.Item(If(exactHaveYear >= 0, exactHaveYear, 0)).ID, imdbMovie, Master.eSettings.FullCrew, Master.eSettings.FullCast, False, Options, True)
+ End If
+ End Select
+
+ If b Then
+ Return imdbMovie
+ Else
+ Return New MediaContainers.Movie
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ Return New MediaContainers.Movie
+ End Try
+ End Function
+
+ Private Function FindYear(ByVal tmpname As String, ByVal lst As List(Of MediaContainers.Movie)) As Integer
+ Dim tmpyear As String = ""
+ Dim i As Integer
+ Dim ret As Integer = -1
+ tmpname = Path.GetFileNameWithoutExtension(tmpname)
+ tmpname = tmpname.Replace(".", " ").Trim.Replace("(", " ").Replace(")", "").Trim
+ i = tmpname.LastIndexOf(" ")
+ If i >= 0 Then
+ tmpyear = tmpname.Substring(i + 1, tmpname.Length - i - 1)
+ If IsNumeric(tmpyear) AndAlso Convert.ToInt32(tmpyear) > 1950 Then 'let's assume there are no movies older then 1950
+ For c = 0 To lst.Count - 1
+ If lst(c).Year = tmpyear Then
+ ret = c
+ Exit For
+ End If
+ Next
+ End If
+ End If
+ Return ret
+ End Function
+
+ Public Sub GetSearchMovieInfoAsync(ByVal imdbID As String, ByVal IMDBMovie As MediaContainers.Movie, ByVal Options As Structures.ScrapeOptions)
+ '' The rule is that if there is a tt is an IMDB otherwise is a TMDB
+ Try
+ If Not bwTMDBg.IsBusy Then
+ bwTMDBg.WorkerReportsProgress = False
+ bwTMDBg.WorkerSupportsCancellation = True
+ bwTMDBg.RunWorkerAsync(New Arguments With {.Search = SearchType.SearchDetails, _
+ .Parameter = imdbID, .IMDBMovie = IMDBMovie, .Options = Options})
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+
+ Public Sub SearchMovieAsync(ByVal sMovie As String, ByVal filterOptions As Structures.ScrapeOptions)
+ '' The rule is that if there is a tt is an IMDB otherwise is a TMDB
+ Try
+ If Not bwTMDBg.IsBusy Then
+ bwTMDBg.WorkerReportsProgress = False
+ bwTMDBg.WorkerSupportsCancellation = True
+ bwTMDBg.RunWorkerAsync(New Arguments With {.Search = SearchType.Movies, _
+ .Parameter = sMovie, .Options = filterOptions})
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub bwTMDBg_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwTMDBg.DoWork
+ Dim Args As Arguments = DirectCast(e.Argument, Arguments)
+ '' The rule is that if there is a tt is an IMDB otherwise is a TMDB
+ Try
+ Select Case Args.Search
+ Case SearchType.Movies
+ Dim r As MovieSearchResults = SearchMovie(Args.Parameter)
+ e.Result = New Results With {.ResultType = SearchType.Movies, .Result = r}
+ Case SearchType.SearchDetails
+ Dim s As Boolean = GetMovieInfo(Args.Parameter, Args.IMDBMovie, False, False, True, Args.Options, True)
+ e.Result = New Results With {.ResultType = SearchType.SearchDetails, .Success = s}
+ End Select
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub BW_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwTMDBg.RunWorkerCompleted
+ Dim Res As Results = DirectCast(e.Result, Results)
+
+ Try
+ Select Case Res.ResultType
+ Case SearchType.Movies
+ RaiseEvent SearchResultsDownloaded(DirectCast(Res.Result, MovieSearchResults))
+ Case SearchType.SearchDetails
+ Dim movieInfo As MovieSearchResults = DirectCast(Res.Result, MovieSearchResults)
+ RaiseEvent SearchMovieInfoDownloaded(_sPoster, Res.Success)
+ End Select
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Function CleanTitle(ByVal sString As String) As String
+ Dim CleanString As String = sString
+
+ Try
+ If sString.StartsWith("""") Then CleanString = sString.Remove(0, 1)
+
+ If sString.EndsWith("""") Then CleanString = CleanString.Remove(CleanString.Length - 1, 1)
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ Return CleanString
+ End Function
+
+ 'Private Function GetForcedTitle(ByVal strID As String, ByVal oTitle As String) As String
+ ' Dim fTitle As String = oTitle
+ ' Dim Movie As WatTmdb.V3.TmdbMovie
+
+ ' Try
+ ' '' The rule is that if there is a tt is an IMDB otherwise is a TMDB
+ ' If Left(strID.ToLower(), 4) = "tt" Then
+ ' Movie = _TMDBApi.GetMovieInfo(CInt(Right(strID, Len(strID) - 4)), _MySettings.TMDBLanguage)
+ ' If IsNothing(Movie) And _MySettings.FallBackEng Then
+ ' Movie = _TMDBApi.GetMovieInfo(CInt(Right(strID, Len(strID) - 4)), "en")
+ ' End If
+ ' Else
+ ' Movie = _TMDBApi.GetMovieByIMDB(strID)
+ ' End If
+
+ ' fTitle = Movie.title
+
+ ' Return fTitle
+ ' Catch ex As Exception
+ ' Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ ' Return fTitle
+ ' End Try
+ 'End Function
+
+ Private Function SearchMovie(ByVal sMovie As String) As MovieSearchResults
+ Try
+ Dim R As New MovieSearchResults
+ Dim Page As Integer = 1
+ Dim Movies As WatTmdb.V3.TmdbMovieSearch
+ Dim TotP As Integer
+ Dim aE As Boolean
+ Movies = _TMDBApi.SearchMovie(sMovie, Page, _MySettings.TMDBLanguage)
+ If Movies.total_results = 0 And _MySettings.FallBackEng Then
+ Movies = _TMDBApiE.SearchMovie(sMovie, Page)
+ aE = True
+ End If
+ If Movies.total_results > 0 Then
+ Dim t1 As String
+ Dim t2 As String
+ Dim t3 As String
+ TotP = Movies.total_pages
+ While Page <= TotP And Page <= 3
+ For Each aMovie In Movies.results
+ Dim aMI As WatTmdb.V3.TmdbMovie
+ aMI = _TMDBApi.GetMovieInfo(aMovie.id)
+ If IsNothing(aMI) Then
+ aMI = _TMDBApiE.GetMovieInfo(aMovie.id)
+ End If
+ If IsNothing(aMI.imdb_id) Then
+ t1 = ""
+ Else
+ t1 = aMI.imdb_id.ToString
+ End If
+ t2 = CStr(IIf(String.IsNullOrEmpty(aMovie.title), "", aMovie.title))
+ t3 = Left(CStr(IIf(String.IsNullOrEmpty(aMovie.release_date), "", aMovie.release_date)), 4)
+ Dim lNewMovie As MediaContainers.Movie = New MediaContainers.Movie(t1, t2, t3, 0)
+ lNewMovie.TMDBID = aMI.id.ToString
+ R.Matches.Add(lNewMovie)
+ Next
+ Page = Page + 1
+ If aE Then
+ Movies = _TMDBApiE.SearchMovie(sMovie, Page)
+ Else
+ Movies = _TMDBApi.SearchMovie(sMovie, Page, _MySettings.TMDBLanguage)
+ End If
+
+ End While
+ End If
+
+ Return R
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ Return Nothing
+ End Try
+ End Function
+
+#End Region 'Methods
+
+#Region "Nested Types"
+
+ Private Structure Arguments
+
+#Region "Fields"
+
+ Dim FullCast As Boolean
+ Dim FullCrew As Boolean
+ Dim IMDBMovie As MediaContainers.Movie
+ Dim Options As Structures.ScrapeOptions
+ Dim Parameter As String
+ Dim Search As SearchType
+ 'Dim TMDBConf As V3.TmdbConfiguration
+ 'Dim TMDBApi As V3.Tmdb
+ 'Dim FallBackEng As Boolean
+ 'Dim TMDBLang As String
+#End Region 'Fields
+
+ End Structure
+
+ Private Structure Results
+
+#Region "Fields"
+
+ Dim Result As Object
+ Dim ResultType As SearchType
+ Dim Success As Boolean
+
+#End Region 'Fields
+
+ End Structure
+
+#End Region 'Nested Types
+
+ End Class
+
+End Namespace
+
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeTrailers.vb b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeTrailers.vb
new file mode 100644
index 0000000..72ce5f8
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeTrailers.vb
@@ -0,0 +1,265 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports System
+Imports System.IO
+Imports System.Net
+Imports System.Text
+Imports System.Text.RegularExpressions
+Imports System.Xml
+Imports EmberAPI
+Imports WatTmdb
+
+Public Class Trailers
+
+#Region "Fields"
+
+ Private WebPage As New HTTP
+ Private _ImdbID As String = String.Empty
+ Private _ImdbTrailerPage As String = String.Empty
+ Private _TrailerList As New List(Of String)
+ Private _TMDBConf As V3.TmdbConfiguration
+ Private _TMDBConfE As V3.TmdbConfiguration
+ Private _TMDBApi As V3.Tmdb
+ Private _TMDBApiE As V3.Tmdb
+ Private _MySettings As EmberTMDBScraperModule.sMySettings
+
+#End Region 'Fields
+
+#Region "Constructors"
+
+ Public Sub New(ByRef tTMDBConf As V3.TmdbConfiguration, ByRef tTMDBConfE As V3.TmdbConfiguration, ByRef tTMDBApi As V3.Tmdb, ByRef tTMDBApiE As V3.Tmdb, ByRef tMySettings As EmberTMDBScraperModule.sMySettings)
+ Me.Clear()
+ _TMDBConf = tTMDBConf
+ _TMDBConfE = tTMDBConfE
+ _TMDBApi = tTMDBApi
+ _TMDBApiE = tTMDBApiE
+ _MySettings = tMySettings
+ AddHandler WebPage.ProgressUpdated, AddressOf DownloadProgressUpdated
+ End Sub
+
+#End Region 'Constructors
+
+#Region "Events"
+
+ Public Event ProgressUpdated(ByVal iPercent As Integer)
+
+#End Region 'Events
+
+#Region "Methods"
+
+ Public Sub Cancel()
+ Me.WebPage.Cancel()
+ End Sub
+
+ Public Sub Clear()
+ Me._TrailerList.Clear()
+ Me._ImdbID = String.Empty
+ Me._ImdbTrailerPage = String.Empty
+ End Sub
+
+ Public Sub DeleteTrailers(ByVal sPath As String, ByVal NewTrailer As String)
+ Dim parPath As String = Directory.GetParent(sPath).FullName
+ Dim tmpName As String = Path.Combine(parPath, StringUtils.CleanStackingMarkers(Path.GetFileNameWithoutExtension(sPath)))
+ Dim tmpNameNoStack As String = Path.Combine(parPath, Path.GetFileNameWithoutExtension(sPath))
+ For Each t As String In Master.eSettings.ValidExts
+ If File.Exists(String.Concat(tmpName, "-trailer", t)) AndAlso Not String.Concat(tmpName, "-trailer", t).ToLower = NewTrailer.ToLower Then
+ File.Delete(String.Concat(tmpName, "-trailer", t))
+ ElseIf File.Exists(String.Concat(tmpName, "[trailer]", t)) AndAlso Not String.Concat(tmpName, "[trailer]", t).ToLower = NewTrailer.ToLower Then
+ File.Delete(String.Concat(tmpName, "[trailer]", t))
+ ElseIf File.Exists(String.Concat(tmpNameNoStack, "-trailer", t)) AndAlso Not String.Concat(tmpNameNoStack, "-trailer", t).ToLower = NewTrailer.ToLower Then
+ File.Delete(String.Concat(tmpNameNoStack, "-trailer", t))
+ ElseIf File.Exists(String.Concat(tmpNameNoStack, "[trailer]", t)) AndAlso Not String.Concat(tmpNameNoStack, "[trailer]", t).ToLower = NewTrailer.ToLower Then
+ File.Delete(String.Concat(tmpNameNoStack, "[trailer]", t))
+ ElseIf Master.eSettings.VideoTSParentXBMC AndAlso FileUtils.Common.isBDRip(sPath) AndAlso File.Exists(String.Concat(Directory.GetParent(Directory.GetParent(sPath).FullName).FullName, "\", "index-trailer", t)) AndAlso Not String.Concat(Directory.GetParent(Directory.GetParent(sPath).FullName).FullName, "\", "index-trailer", t).ToLower = NewTrailer.ToLower Then
+ File.Delete(String.Concat(Directory.GetParent(Directory.GetParent(sPath).FullName).FullName, "\", "index-trailer", t))
+ End If
+ Next
+ End Sub
+
+ Public Sub DownloadProgressUpdated(ByVal iPercent As Integer)
+ RaiseEvent ProgressUpdated(iPercent)
+ End Sub
+
+ Public Function DownloadSingleTrailer(ByVal sPath As String, ByVal ImdbID As String, ByVal isSingle As Boolean, ByVal currNfoTrailer As String) As String
+ Dim tURL As String = String.Empty
+ Try
+ Me._TrailerList.Clear()
+
+ If Not Master.eSettings.UpdaterTrailersNoDownload AndAlso IsAllowedToDownload(sPath, isSingle, currNfoTrailer, True) Then
+ Me.GetTrailers(ImdbID, True)
+
+ If Me._TrailerList.Count > 0 Then
+
+ Dim tLink As String = String.Empty
+ If Regex.IsMatch(Me._TrailerList.Item(0).ToString, "http:\/\/.*youtube.*\/watch\?v=(.{11})&?.*") Then
+ Dim YT As New YouTube.Scraper
+ YT.GetVideoLinks(Me._TrailerList.Item(0).ToString)
+ If YT.VideoLinks.ContainsKey(Master.eSettings.PreferredTrailerQuality) Then
+ tLink = YT.VideoLinks(Master.eSettings.PreferredTrailerQuality).URL
+ Else
+ Select Case Master.eSettings.PreferredTrailerQuality
+ Case Enums.TrailerQuality.HD1080p
+ If YT.VideoLinks.ContainsKey(Enums.TrailerQuality.HD720p) Then
+ tLink = YT.VideoLinks(Enums.TrailerQuality.HD720p).URL
+ ElseIf YT.VideoLinks.ContainsKey(Enums.TrailerQuality.HQFLV) Then
+ tLink = YT.VideoLinks(Enums.TrailerQuality.HQFLV).URL
+ ElseIf YT.VideoLinks.ContainsKey(Enums.TrailerQuality.SQMP4) Then
+ tLink = YT.VideoLinks(Enums.TrailerQuality.SQMP4).URL
+ ElseIf YT.VideoLinks.ContainsKey(Enums.TrailerQuality.SQFLV) Then
+ tLink = YT.VideoLinks(Enums.TrailerQuality.SQFLV).URL
+ End If
+ Case Enums.TrailerQuality.HD1080pVP8
+ If YT.VideoLinks.ContainsKey(Enums.TrailerQuality.HD720pVP8) Then
+ tLink = YT.VideoLinks(Enums.TrailerQuality.HD720pVP8).URL
+ ElseIf YT.VideoLinks.ContainsKey(Enums.TrailerQuality.HQVP8) Then
+ tLink = YT.VideoLinks(Enums.TrailerQuality.HQVP8).URL
+ ElseIf YT.VideoLinks.ContainsKey(Enums.TrailerQuality.SQVP8) Then
+ tLink = YT.VideoLinks(Enums.TrailerQuality.SQVP8).URL
+ End If
+ Case Enums.TrailerQuality.HD720p
+ If YT.VideoLinks.ContainsKey(Enums.TrailerQuality.HQFLV) Then
+ tLink = YT.VideoLinks(Enums.TrailerQuality.HQFLV).URL
+ ElseIf YT.VideoLinks.ContainsKey(Enums.TrailerQuality.SQMP4) Then
+ tLink = YT.VideoLinks(Enums.TrailerQuality.SQMP4).URL
+ ElseIf YT.VideoLinks.ContainsKey(Enums.TrailerQuality.SQFLV) Then
+ tLink = YT.VideoLinks(Enums.TrailerQuality.SQFLV).URL
+ End If
+ Case Enums.TrailerQuality.HD720pVP8
+ If YT.VideoLinks.ContainsKey(Enums.TrailerQuality.HQVP8) Then
+ tLink = YT.VideoLinks(Enums.TrailerQuality.HQVP8).URL
+ ElseIf YT.VideoLinks.ContainsKey(Enums.TrailerQuality.SQVP8) Then
+ tLink = YT.VideoLinks(Enums.TrailerQuality.SQVP8).URL
+ End If
+ Case Enums.TrailerQuality.HQFLV
+ If YT.VideoLinks.ContainsKey(Enums.TrailerQuality.SQMP4) Then
+ tLink = YT.VideoLinks(Enums.TrailerQuality.SQMP4).URL
+ ElseIf YT.VideoLinks.ContainsKey(Enums.TrailerQuality.SQFLV) Then
+ tLink = YT.VideoLinks(Enums.TrailerQuality.SQFLV).URL
+ End If
+ Case Enums.TrailerQuality.HQVP8
+ If YT.VideoLinks.ContainsKey(Enums.TrailerQuality.SQVP8) Then
+ tLink = YT.VideoLinks(Enums.TrailerQuality.SQVP8).URL
+ End If
+ Case Enums.TrailerQuality.SQMP4
+ If YT.VideoLinks.ContainsKey(Enums.TrailerQuality.SQFLV) Then
+ tLink = YT.VideoLinks(Enums.TrailerQuality.SQFLV).URL
+ End If
+ Case Enums.TrailerQuality.SQFLV
+ tLink = String.Empty
+ Case Enums.TrailerQuality.SQVP8
+ tLink = String.Empty
+ End Select
+ End If
+ Else
+ tLink = Me._TrailerList.Item(0).ToString
+ End If
+
+ If Not String.IsNullOrEmpty(tLink) Then
+ tURL = WebPage.DownloadFile(tLink, sPath, False, "trailer")
+ If Not String.IsNullOrEmpty(tURL) Then
+ 'delete any other trailer if enabled in settings and download successful
+ If Master.eSettings.DeleteAllTrailers Then
+ Me.DeleteTrailers(sPath, tURL)
+ End If
+ End If
+ End If
+ End If
+ ElseIf Master.eSettings.UpdaterTrailersNoDownload AndAlso IsAllowedToDownload(sPath, isSingle, currNfoTrailer, False) Then
+ Me.GetTrailers(ImdbID, True)
+
+ If Me._TrailerList.Count > 0 Then
+ tURL = Me._TrailerList.Item(0).ToString
+ End If
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ Return tURL
+ End Function
+
+ Public Function DownloadTrailer(ByVal sPath As String, ByVal sURL As String) As String
+ Dim tURL As String = String.Empty
+ If Not String.IsNullOrEmpty(sURL) Then
+ tURL = WebPage.DownloadFile(sURL, sPath, True, "trailer")
+
+ If Not String.IsNullOrEmpty(tURL) Then
+ 'delete any other trailer if enabled in settings and download successful
+ If Master.eSettings.DeleteAllTrailers Then
+ Me.DeleteTrailers(sPath, tURL)
+ End If
+ End If
+ End If
+ Return tURL
+ End Function
+
+ Public Function GetTrailers(ByVal ImdbID As String, Optional ByVal BreakAfterFound As Boolean = True) As List(Of String)
+ Me._ImdbID = ImdbID
+ If AdvancedSettings.GetBooleanSetting("UseTMDBTrailer", False) Then
+ Me.GetTMDBTrailer()
+ End If
+
+ Return Me._TrailerList
+ End Function
+
+ Public Function IsAllowedToDownload(ByVal sPath As String, ByVal isDL As Boolean, ByVal currNfoTrailer As String, Optional ByVal isSS As Boolean = False) As Boolean
+ Dim fScanner As New Scanner
+
+ If isDL Then
+ If String.IsNullOrEmpty(fScanner.GetTrailerPath(sPath)) OrElse Master.eSettings.OverwriteTrailer Then
+ Return True
+ Else
+ If isSS AndAlso String.IsNullOrEmpty(fScanner.GetTrailerPath(sPath)) Then
+ If String.IsNullOrEmpty(currNfoTrailer) OrElse Not Master.eSettings.LockTrailer Then
+ Return True
+ Else
+ Return False
+ End If
+ Else
+ Return False
+ End If
+ End If
+ Else
+ If String.IsNullOrEmpty(currNfoTrailer) OrElse Not Master.eSettings.LockTrailer Then
+ Return True
+ Else
+ Return False
+ End If
+ End If
+ End Function
+
+ Private Sub GetTMDBTrailer()
+ Dim TMDB As New TMDB.Scraper(_TMDBConf, _TMDBConfE, _TMDBApi, _TMDBApiE, _MySettings)
+ Dim YT As List(Of String)
+
+ YT = TMDB.GetTrailers(_ImdbID)
+
+ If Not YT.Count = 0 Then
+ For Each ast In YT
+ Me._TrailerList.Add(ast)
+ Next
+ End If
+
+ TMDB = Nothing
+ End Sub
+
+#End Region 'Methods
+
+End Class
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeYouTube.vb b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeYouTube.vb
new file mode 100644
index 0000000..51ed7c4
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/clsScrapeYouTube.vb
@@ -0,0 +1,336 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports System.Text.RegularExpressions
+Imports EmberAPI
+
+Namespace YouTube
+
+ Public Class Scraper
+
+#Region "Fields"
+
+ Friend WithEvents bwYT As New System.ComponentModel.BackgroundWorker
+
+ Private _VideoLinks As VideoLinkItemCollection
+
+#End Region 'Fields
+
+#Region "Events"
+
+ Public Event Exception(ByVal ex As Exception)
+
+ Public Event VideoLinksRetrieved(ByVal bSuccess As Boolean)
+
+#End Region 'Events
+
+#Region "Properties"
+
+ Public ReadOnly Property VideoLinks() As VideoLinkItemCollection
+ Get
+ If _VideoLinks Is Nothing Then
+ _VideoLinks = New VideoLinkItemCollection
+ End If
+ Return _VideoLinks
+ End Get
+ End Property
+
+#End Region 'Properties
+
+#Region "Methods"
+
+ Public Sub CancelAsync()
+ If bwYT.IsBusy Then bwYT.CancelAsync()
+
+ While bwYT.IsBusy
+ Application.DoEvents()
+ Threading.Thread.Sleep(50)
+ End While
+ End Sub
+
+ Public Sub GetVideoLinks(ByVal url As String)
+ Try
+ _VideoLinks = ParseYTFormats(url, False)
+
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Public Sub GetVideoLinksAsync(ByVal url As String)
+ Try
+ If Not bwYT.IsBusy Then
+ _VideoLinks = Nothing
+ bwYT.WorkerSupportsCancellation = True
+ bwYT.RunWorkerAsync(url)
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub bwYT_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwYT.DoWork
+ Dim Url As String = DirectCast(e.Argument, String)
+
+ Try
+ e.Result = ParseYTFormats(Url, True)
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub bwYT_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwYT.RunWorkerCompleted
+ Try
+ If e.Cancelled Then
+ 'user cancelled
+ RaiseEvent VideoLinksRetrieved(False)
+ ElseIf e.Error IsNot Nothing Then
+ 'exception occurred
+ RaiseEvent Exception(e.Error)
+ Else
+ 'all good
+ If e.Result IsNot Nothing Then
+ _VideoLinks = DirectCast(e.Result, VideoLinkItemCollection)
+ RaiseEvent VideoLinksRetrieved(True)
+ Else
+ RaiseEvent VideoLinksRetrieved(False)
+ End If
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Function GetVideoTitle(ByVal HTML As String) As String
+ Dim result As String = ""
+ 'Dim KeyPattern As String = "'VIDEO_TITLE':\s*'([^']*?)'"
+ Dim KeyPattern As String = "meta name=\""title\"" content=\s*\""([^']*?)\"""
+ 'meta name="title" content=
+ If Regex.IsMatch(HTML, KeyPattern) Then
+ result = Regex.Match(HTML, KeyPattern).Groups(1).Value
+ End If
+
+ Return result
+ End Function
+
+ Private Function ParseYTFormats(ByVal url As String, ByVal doProgress As Boolean) As VideoLinkItemCollection
+ Dim DownloadLinks As New VideoLinkItemCollection
+ Dim sHTTP As New HTTP
+
+ Try
+ If bwYT.CancellationPending Then Return DownloadLinks
+
+ Dim Html As String = sHTTP.DownloadData(url)
+ If Html.ToLower.Contains("page not found") Then
+ Html = String.Empty
+ End If
+
+ If String.IsNullOrEmpty(Html.Trim) Then Return DownloadLinks
+ If bwYT.CancellationPending Then Return DownloadLinks
+
+ Dim VideoTitle As String = GetVideoTitle(Html)
+ VideoTitle = Regex.Replace(VideoTitle, "['?\\:*<>]*", "")
+
+ Dim fmtMatch As Match = Regex.Match(Html, "url_encoded_fmt_stream_map\"": \""(.*?)\"", \""", RegexOptions.IgnoreCase)
+ If fmtMatch.Success Then
+ Dim FormatMap As String = fmtMatch.Groups(1).Value
+ Dim decoded As String = Web.HttpUtility.UrlDecode(FormatMap)
+ Dim FormatArray() As String = Split(decoded.Replace(", ", ";"), ",")
+
+ Dim rurl As New Regex("url=([^\\]+)", RegexOptions.IgnoreCase)
+ Dim rsig As New Regex("sig=([^\\]+)", RegexOptions.IgnoreCase)
+ Dim ritag As New Regex("itag=(\d+)", RegexOptions.IgnoreCase)
+
+ For i As Integer = 0 To FormatArray.Length - 1
+ Dim yturl As String = rurl.Match(FormatArray(i)).Groups(1).Value
+ Dim ytitag As String = ritag.Match(FormatArray(i)).Groups(1).Value
+ Dim ytsig As String = rsig.Match(FormatArray(i)).Groups(1).Value
+
+ 'Console.WriteLine("Trailer Itag: {0}", ytitag)
+ 'Console.WriteLine("Trailer Url: {0}", yturl)
+ 'Console.WriteLine("Trailer Sig: {0}", ytsig)
+
+ Dim Link As New VideoLinkItem
+ Select Case ytitag
+ ' **********************************************************************
+ ' see all itags http://en.wikipedia.org/wiki/YouTube#Quality_and_codecs
+ ' **********************************************************************
+ Case "5"
+ Link.Description = "240p (FLV, H.263)"
+ Link.FormatQuality = Enums.TrailerQuality.OTHERS
+ Case "6"
+ Link.Description = "270p (FLV, H.263)"
+ Link.FormatQuality = Enums.TrailerQuality.OTHERS
+ Case "13"
+ Link.Description = "144p (3GP, MPEG-4)"
+ Link.FormatQuality = Enums.TrailerQuality.OTHERS
+ Case "17"
+ Link.Description = "144p (3GP, MPEG-4)"
+ Link.FormatQuality = Enums.TrailerQuality.OTHERS
+ Case "18"
+ Link.Description = "360p (MP4, H.264)"
+ Link.FormatQuality = Enums.TrailerQuality.SQMP4
+ Case "22"
+ Link.Description = "720p (MP4, H.264)"
+ Link.FormatQuality = Enums.TrailerQuality.HD720p
+ Case "34"
+ Link.Description = "360p (FLV, H.264)"
+ Link.FormatQuality = Enums.TrailerQuality.SQFLV
+ Case "35"
+ Link.Description = "480p (FLV, H.264)"
+ Link.FormatQuality = Enums.TrailerQuality.HQFLV
+ Case "36"
+ Link.Description = "240p (3GP, MPEG-4)"
+ Link.FormatQuality = Enums.TrailerQuality.OTHERS
+ Case "37"
+ Link.Description = "1080p (MP4, H.264)"
+ Link.FormatQuality = Enums.TrailerQuality.HD1080p
+ Case "38"
+ Link.Description = "1536p (MP4, H.264)"
+ Link.FormatQuality = Enums.TrailerQuality.OTHERS
+ Case "43"
+ Link.Description = "360p (WebM, VP8)"
+ Link.FormatQuality = Enums.TrailerQuality.SQVP8
+ Case "44"
+ Link.Description = "480p (WebM, VP8)"
+ Link.FormatQuality = Enums.TrailerQuality.HQVP8
+ Case "45"
+ Link.Description = "720p (WebM, VP8)"
+ Link.FormatQuality = Enums.TrailerQuality.HD720pVP8
+ Case "46"
+ Link.Description = "1080p (WebM, VP8)"
+ Link.FormatQuality = Enums.TrailerQuality.HD1080pVP8
+ Case "82"
+ Link.Description = "3D 360p (MP4, H.264)"
+ Link.FormatQuality = Enums.TrailerQuality.OTHERS
+ Case "83"
+ Link.Description = "3D 480p (MP4, H.264)"
+ Link.FormatQuality = Enums.TrailerQuality.OTHERS
+ Case "84"
+ Link.Description = "3D 720p (MP4, H.264)"
+ Link.FormatQuality = Enums.TrailerQuality.OTHERS
+ Case "85"
+ Link.Description = "3D 520p (MP4, H.264)"
+ Link.FormatQuality = Enums.TrailerQuality.OTHERS
+ Case "100"
+ Link.Description = "3D 360p (WebM, VP8)"
+ Link.FormatQuality = Enums.TrailerQuality.OTHERS
+ Case "101"
+ Link.Description = "3D 480p (WebM, VP8)"
+ Link.FormatQuality = Enums.TrailerQuality.OTHERS
+ Case "102"
+ Link.Description = "3D 720p (WebM, VP8)"
+ Link.FormatQuality = Enums.TrailerQuality.OTHERS
+ Case "120"
+ Link.Description = "720p LiveStream (FLV, AVC)"
+ Link.FormatQuality = Enums.TrailerQuality.OTHERS
+ Case Else
+ Link.Description = "Other"
+ Link.FormatQuality = Enums.TrailerQuality.OTHERS
+ 'Continue For
+ End Select
+
+ Link.URL = Web.HttpUtility.UrlDecode(Web.HttpUtility.UrlDecode(yturl)) & "&signature=" & ytsig & "&title=" & Web.HttpUtility.UrlEncode(VideoTitle)
+ Link.URL = Link.URL.Replace("sig=", "signature=") ' sig= returns HTTP 403 //oldstyle, keep it
+ 'Console.WriteLine("Trailer Url decoded: {0}", Link.URL)
+
+ If bwYT.CancellationPending Then Return DownloadLinks
+
+ If Not String.IsNullOrEmpty(Link.URL) AndAlso sHTTP.IsValidURL(Link.URL) Then
+ DownloadLinks.Add(Link)
+ End If
+
+ If bwYT.CancellationPending Then Return DownloadLinks
+
+ Next
+
+ End If
+ Return DownloadLinks
+
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ Return New VideoLinkItemCollection
+ Finally
+ sHTTP = Nothing
+ End Try
+ End Function
+
+#End Region 'Methods
+
+ End Class
+
+ Public Class VideoLinkItem
+
+#Region "Fields"
+
+ Private _Description As String
+ Private _FormatQuality As Enums.TrailerQuality
+ Private _URL As String
+
+#End Region 'Fields
+
+#Region "Properties"
+
+ Public Property Description() As String
+ Get
+ Return _Description
+ End Get
+ Set(ByVal value As String)
+ _Description = value
+ End Set
+ End Property
+
+ Public Property URL() As String
+ Get
+ Return _URL
+ End Get
+ Set(ByVal value As String)
+ _URL = value
+ End Set
+ End Property
+
+ Friend Property FormatQuality() As Enums.TrailerQuality
+ Get
+ Return _FormatQuality
+ End Get
+ Set(ByVal value As Enums.TrailerQuality)
+ _FormatQuality = value
+ End Set
+ End Property
+
+#End Region 'Properties
+
+ End Class
+
+ Public Class VideoLinkItemCollection
+ Inherits Generic.SortedList(Of Enums.TrailerQuality, VideoLinkItem)
+
+#Region "Methods"
+
+ Public Shadows Sub Add(ByVal Link As VideoLinkItem)
+ If Not MyBase.ContainsKey(Link.FormatQuality) Then MyBase.Add(Link.FormatQuality, Link)
+ End Sub
+
+#End Region 'Methods
+
+ End Class
+
+End Namespace
+
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/dlgImgSelect.Designer.vb b/Addons/scraper.FanartTV.Poster/Scraper/dlgImgSelect.Designer.vb
new file mode 100644
index 0000000..3c9254c
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/dlgImgSelect.Designer.vb
@@ -0,0 +1,569 @@
+ _
+Partial Class dlgImgSelect
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(dlgImgSelect))
+ Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
+ Me.OK_Button = New System.Windows.Forms.Button()
+ Me.Cancel_Button = New System.Windows.Forms.Button()
+ Me.pnlBG = New System.Windows.Forms.Panel()
+ Me.pnlBottomMain = New System.Windows.Forms.Panel()
+ Me.pnlSize = New System.Windows.Forms.Panel()
+ Me.btnPreview = New System.Windows.Forms.Button()
+ Me.rbSmall = New System.Windows.Forms.RadioButton()
+ Me.rbMedium = New System.Windows.Forms.RadioButton()
+ Me.rbLarge = New System.Windows.Forms.RadioButton()
+ Me.rbXLarge = New System.Windows.Forms.RadioButton()
+ Me.pnlFanart = New System.Windows.Forms.Panel()
+ Me.chkThumb = New System.Windows.Forms.CheckBox()
+ Me.chkMid = New System.Windows.Forms.CheckBox()
+ Me.chkOriginal = New System.Windows.Forms.CheckBox()
+ Me.lblInfo = New System.Windows.Forms.Label()
+ Me.pnlDLStatus = New System.Windows.Forms.Panel()
+ Me.pnlIMDB = New System.Windows.Forms.Panel()
+ Me.lblDL6Status = New System.Windows.Forms.Label()
+ Me.lblDL6 = New System.Windows.Forms.Label()
+ Me.pbDL6 = New System.Windows.Forms.ProgressBar()
+ Me.pnlSinglePic = New System.Windows.Forms.Panel()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
+ Me.pnlFANARTTV = New System.Windows.Forms.Panel()
+ Me.lblDL3Status = New System.Windows.Forms.Label()
+ Me.lblDL3 = New System.Windows.Forms.Label()
+ Me.pbDL3 = New System.Windows.Forms.ProgressBar()
+ Me.pnlMDB = New System.Windows.Forms.Panel()
+ Me.lblDL5Status = New System.Windows.Forms.Label()
+ Me.lblDL5 = New System.Windows.Forms.Label()
+ Me.pbDL5 = New System.Windows.Forms.ProgressBar()
+ Me.pnlIMPA = New System.Windows.Forms.Panel()
+ Me.lblDL4Status = New System.Windows.Forms.Label()
+ Me.lblDL4 = New System.Windows.Forms.Label()
+ Me.pbDL4 = New System.Windows.Forms.ProgressBar()
+ Me.pnlTMDB = New System.Windows.Forms.Panel()
+ Me.lblDL2Status = New System.Windows.Forms.Label()
+ Me.lblDL2 = New System.Windows.Forms.Label()
+ Me.pbDL2 = New System.Windows.Forms.ProgressBar()
+ Me.TableLayoutPanel1.SuspendLayout()
+ Me.pnlBottomMain.SuspendLayout()
+ Me.pnlSize.SuspendLayout()
+ Me.pnlFanart.SuspendLayout()
+ Me.pnlDLStatus.SuspendLayout()
+ Me.pnlIMDB.SuspendLayout()
+ Me.pnlSinglePic.SuspendLayout()
+ Me.pnlFANARTTV.SuspendLayout()
+ Me.pnlMDB.SuspendLayout()
+ Me.pnlIMPA.SuspendLayout()
+ Me.pnlTMDB.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'TableLayoutPanel1
+ '
+ Me.TableLayoutPanel1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.TableLayoutPanel1.ColumnCount = 2
+ Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
+ Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
+ Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0)
+ Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0)
+ Me.TableLayoutPanel1.Location = New System.Drawing.Point(687, 11)
+ Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
+ Me.TableLayoutPanel1.RowCount = 1
+ Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
+ Me.TableLayoutPanel1.Size = New System.Drawing.Size(146, 29)
+ Me.TableLayoutPanel1.TabIndex = 0
+ '
+ 'OK_Button
+ '
+ Me.OK_Button.Anchor = System.Windows.Forms.AnchorStyles.None
+ Me.OK_Button.Enabled = False
+ Me.OK_Button.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.OK_Button.Location = New System.Drawing.Point(3, 3)
+ Me.OK_Button.Name = "OK_Button"
+ Me.OK_Button.Size = New System.Drawing.Size(67, 23)
+ Me.OK_Button.TabIndex = 0
+ Me.OK_Button.Text = "OK"
+ '
+ 'Cancel_Button
+ '
+ Me.Cancel_Button.Anchor = System.Windows.Forms.AnchorStyles.None
+ Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.Cancel_Button.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.Cancel_Button.Location = New System.Drawing.Point(76, 3)
+ Me.Cancel_Button.Name = "Cancel_Button"
+ Me.Cancel_Button.Size = New System.Drawing.Size(67, 23)
+ Me.Cancel_Button.TabIndex = 1
+ Me.Cancel_Button.Text = "Cancel"
+ '
+ 'pnlBG
+ '
+ Me.pnlBG.AutoScroll = True
+ Me.pnlBG.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.pnlBG.Location = New System.Drawing.Point(0, 0)
+ Me.pnlBG.Name = "pnlBG"
+ Me.pnlBG.Size = New System.Drawing.Size(836, 495)
+ Me.pnlBG.TabIndex = 1
+ Me.pnlBG.Visible = False
+ '
+ 'pnlBottomMain
+ '
+ Me.pnlBottomMain.Controls.Add(Me.pnlSize)
+ Me.pnlBottomMain.Controls.Add(Me.pnlFanart)
+ Me.pnlBottomMain.Controls.Add(Me.lblInfo)
+ Me.pnlBottomMain.Controls.Add(Me.TableLayoutPanel1)
+ Me.pnlBottomMain.Dock = System.Windows.Forms.DockStyle.Bottom
+ Me.pnlBottomMain.Location = New System.Drawing.Point(0, 495)
+ Me.pnlBottomMain.Name = "pnlBottomMain"
+ Me.pnlBottomMain.Size = New System.Drawing.Size(836, 50)
+ Me.pnlBottomMain.TabIndex = 0
+ '
+ 'pnlSize
+ '
+ Me.pnlSize.BackColor = System.Drawing.Color.White
+ Me.pnlSize.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+ Me.pnlSize.Controls.Add(Me.btnPreview)
+ Me.pnlSize.Controls.Add(Me.rbSmall)
+ Me.pnlSize.Controls.Add(Me.rbMedium)
+ Me.pnlSize.Controls.Add(Me.rbLarge)
+ Me.pnlSize.Controls.Add(Me.rbXLarge)
+ Me.pnlSize.Location = New System.Drawing.Point(8, 8)
+ Me.pnlSize.Name = "pnlSize"
+ Me.pnlSize.Size = New System.Drawing.Size(673, 34)
+ Me.pnlSize.TabIndex = 4
+ Me.pnlSize.Visible = False
+ '
+ 'btnPreview
+ '
+ Me.btnPreview.Enabled = False
+ Me.btnPreview.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.btnPreview.Image = CType(resources.GetObject("btnPreview.Image"), System.Drawing.Image)
+ Me.btnPreview.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
+ Me.btnPreview.Location = New System.Drawing.Point(593, 5)
+ Me.btnPreview.Name = "btnPreview"
+ Me.btnPreview.Size = New System.Drawing.Size(75, 23)
+ Me.btnPreview.TabIndex = 6
+ Me.btnPreview.Text = "Preview"
+ Me.btnPreview.TextAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.btnPreview.UseVisualStyleBackColor = True
+ '
+ 'rbSmall
+ '
+ Me.rbSmall.AutoSize = True
+ Me.rbSmall.Enabled = False
+ Me.rbSmall.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.rbSmall.Location = New System.Drawing.Point(475, 8)
+ Me.rbSmall.Name = "rbSmall"
+ Me.rbSmall.Size = New System.Drawing.Size(53, 17)
+ Me.rbSmall.TabIndex = 5
+ Me.rbSmall.TabStop = True
+ Me.rbSmall.Text = "Small"
+ Me.rbSmall.UseVisualStyleBackColor = True
+ '
+ 'rbMedium
+ '
+ Me.rbMedium.AutoSize = True
+ Me.rbMedium.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.rbMedium.Location = New System.Drawing.Point(201, 8)
+ Me.rbMedium.Name = "rbMedium"
+ Me.rbMedium.Size = New System.Drawing.Size(69, 17)
+ Me.rbMedium.TabIndex = 4
+ Me.rbMedium.TabStop = True
+ Me.rbMedium.Text = "Medium"
+ Me.rbMedium.UseVisualStyleBackColor = True
+ '
+ 'rbLarge
+ '
+ Me.rbLarge.AutoSize = True
+ Me.rbLarge.Enabled = False
+ Me.rbLarge.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.rbLarge.Location = New System.Drawing.Point(343, 8)
+ Me.rbLarge.Name = "rbLarge"
+ Me.rbLarge.Size = New System.Drawing.Size(55, 17)
+ Me.rbLarge.TabIndex = 3
+ Me.rbLarge.TabStop = True
+ Me.rbLarge.Text = "Cover"
+ Me.rbLarge.UseVisualStyleBackColor = True
+ '
+ 'rbXLarge
+ '
+ Me.rbXLarge.AutoSize = True
+ Me.rbXLarge.Enabled = False
+ Me.rbXLarge.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.rbXLarge.Location = New System.Drawing.Point(26, 8)
+ Me.rbXLarge.Name = "rbXLarge"
+ Me.rbXLarge.Size = New System.Drawing.Size(66, 17)
+ Me.rbXLarge.TabIndex = 2
+ Me.rbXLarge.TabStop = True
+ Me.rbXLarge.Text = "Original"
+ Me.rbXLarge.UseVisualStyleBackColor = True
+ '
+ 'pnlFanart
+ '
+ Me.pnlFanart.BackColor = System.Drawing.Color.White
+ Me.pnlFanart.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlFanart.Controls.Add(Me.chkThumb)
+ Me.pnlFanart.Controls.Add(Me.chkMid)
+ Me.pnlFanart.Controls.Add(Me.chkOriginal)
+ Me.pnlFanart.Location = New System.Drawing.Point(8, 8)
+ Me.pnlFanart.Name = "pnlFanart"
+ Me.pnlFanart.Size = New System.Drawing.Size(339, 34)
+ Me.pnlFanart.TabIndex = 5
+ Me.pnlFanart.Visible = False
+ '
+ 'chkThumb
+ '
+ Me.chkThumb.AutoSize = True
+ Me.chkThumb.Location = New System.Drawing.Point(231, 8)
+ Me.chkThumb.Name = "chkThumb"
+ Me.chkThumb.Size = New System.Drawing.Size(111, 17)
+ Me.chkThumb.TabIndex = 9
+ Me.chkThumb.Text = "Check All Thumb"
+ Me.chkThumb.UseVisualStyleBackColor = True
+ '
+ 'chkMid
+ '
+ Me.chkMid.AutoSize = True
+ Me.chkMid.Location = New System.Drawing.Point(131, 8)
+ Me.chkMid.Name = "chkMid"
+ Me.chkMid.Size = New System.Drawing.Size(96, 17)
+ Me.chkMid.TabIndex = 7
+ Me.chkMid.Text = "Check All Mid"
+ Me.chkMid.UseVisualStyleBackColor = True
+ '
+ 'chkOriginal
+ '
+ Me.chkOriginal.AutoSize = True
+ Me.chkOriginal.Location = New System.Drawing.Point(7, 8)
+ Me.chkOriginal.Name = "chkOriginal"
+ Me.chkOriginal.Size = New System.Drawing.Size(118, 17)
+ Me.chkOriginal.TabIndex = 8
+ Me.chkOriginal.Text = "Check All Original"
+ Me.chkOriginal.UseVisualStyleBackColor = True
+ '
+ 'lblInfo
+ '
+ Me.lblInfo.Location = New System.Drawing.Point(402, 10)
+ Me.lblInfo.Name = "lblInfo"
+ Me.lblInfo.Size = New System.Drawing.Size(240, 31)
+ Me.lblInfo.TabIndex = 3
+ Me.lblInfo.Text = "Selected item will be set as fanart. All checked items will be saved to \extrathu" & _
+ "mbs."
+ Me.lblInfo.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
+ Me.lblInfo.Visible = False
+ '
+ 'pnlDLStatus
+ '
+ Me.pnlDLStatus.BackColor = System.Drawing.Color.White
+ Me.pnlDLStatus.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlDLStatus.Controls.Add(Me.pnlIMDB)
+ Me.pnlDLStatus.Controls.Add(Me.pnlSinglePic)
+ Me.pnlDLStatus.Controls.Add(Me.pnlFANARTTV)
+ Me.pnlDLStatus.Controls.Add(Me.pnlMDB)
+ Me.pnlDLStatus.Controls.Add(Me.pnlIMPA)
+ Me.pnlDLStatus.Controls.Add(Me.pnlTMDB)
+ Me.pnlDLStatus.Location = New System.Drawing.Point(253, 98)
+ Me.pnlDLStatus.Name = "pnlDLStatus"
+ Me.pnlDLStatus.Size = New System.Drawing.Size(331, 330)
+ Me.pnlDLStatus.TabIndex = 0
+ Me.pnlDLStatus.Visible = False
+ '
+ 'pnlIMDB
+ '
+ Me.pnlIMDB.Controls.Add(Me.lblDL6Status)
+ Me.pnlIMDB.Controls.Add(Me.lblDL6)
+ Me.pnlIMDB.Controls.Add(Me.pbDL6)
+ Me.pnlIMDB.Location = New System.Drawing.Point(3, 84)
+ Me.pnlIMDB.Name = "pnlIMDB"
+ Me.pnlIMDB.Size = New System.Drawing.Size(321, 75)
+ Me.pnlIMDB.TabIndex = 9
+ '
+ 'lblDL6Status
+ '
+ Me.lblDL6Status.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblDL6Status.Location = New System.Drawing.Point(5, 34)
+ Me.lblDL6Status.Name = "lblDL6Status"
+ Me.lblDL6Status.Size = New System.Drawing.Size(310, 13)
+ Me.lblDL6Status.TabIndex = 8
+ '
+ 'lblDL6
+ '
+ Me.lblDL6.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblDL6.Location = New System.Drawing.Point(5, 10)
+ Me.lblDL6.Name = "lblDL6"
+ Me.lblDL6.Size = New System.Drawing.Size(310, 13)
+ Me.lblDL6.TabIndex = 7
+ Me.lblDL6.Text = "Performing Preliminary Tasks..."
+ '
+ 'pbDL6
+ '
+ Me.pbDL6.Location = New System.Drawing.Point(6, 52)
+ Me.pbDL6.Name = "pbDL6"
+ Me.pbDL6.Size = New System.Drawing.Size(309, 19)
+ Me.pbDL6.Style = System.Windows.Forms.ProgressBarStyle.Continuous
+ Me.pbDL6.TabIndex = 6
+ '
+ 'pnlSinglePic
+ '
+ Me.pnlSinglePic.BackColor = System.Drawing.Color.White
+ Me.pnlSinglePic.Controls.Add(Me.Label2)
+ Me.pnlSinglePic.Controls.Add(Me.ProgressBar1)
+ Me.pnlSinglePic.Location = New System.Drawing.Point(3, 3)
+ Me.pnlSinglePic.Name = "pnlSinglePic"
+ Me.pnlSinglePic.Size = New System.Drawing.Size(321, 75)
+ Me.pnlSinglePic.TabIndex = 9
+ Me.pnlSinglePic.Visible = False
+ '
+ 'Label2
+ '
+ Me.Label2.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.Label2.Location = New System.Drawing.Point(5, 10)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(310, 13)
+ Me.Label2.TabIndex = 7
+ Me.Label2.Text = "Downloading Selected Image..."
+ '
+ 'ProgressBar1
+ '
+ Me.ProgressBar1.Location = New System.Drawing.Point(6, 53)
+ Me.ProgressBar1.MarqueeAnimationSpeed = 25
+ Me.ProgressBar1.Name = "ProgressBar1"
+ Me.ProgressBar1.Size = New System.Drawing.Size(309, 19)
+ Me.ProgressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee
+ Me.ProgressBar1.TabIndex = 6
+ '
+ 'pnlFANARTTV
+ '
+ Me.pnlFANARTTV.Controls.Add(Me.lblDL3Status)
+ Me.pnlFANARTTV.Controls.Add(Me.lblDL3)
+ Me.pnlFANARTTV.Controls.Add(Me.pbDL3)
+ Me.pnlFANARTTV.Location = New System.Drawing.Point(3, 84)
+ Me.pnlFANARTTV.Name = "pnlFANARTTV"
+ Me.pnlFANARTTV.Size = New System.Drawing.Size(321, 75)
+ Me.pnlFANARTTV.TabIndex = 11
+ '
+ 'lblDL3Status
+ '
+ Me.lblDL3Status.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblDL3Status.Location = New System.Drawing.Point(5, 34)
+ Me.lblDL3Status.Name = "lblDL3Status"
+ Me.lblDL3Status.Size = New System.Drawing.Size(310, 13)
+ Me.lblDL3Status.TabIndex = 8
+ '
+ 'lblDL3
+ '
+ Me.lblDL3.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblDL3.Location = New System.Drawing.Point(5, 10)
+ Me.lblDL3.Name = "lblDL3"
+ Me.lblDL3.Size = New System.Drawing.Size(310, 13)
+ Me.lblDL3.TabIndex = 7
+ Me.lblDL3.Text = "Performing Preliminary Tasks..."
+ '
+ 'pbDL3
+ '
+ Me.pbDL3.Location = New System.Drawing.Point(6, 53)
+ Me.pbDL3.Name = "pbDL3"
+ Me.pbDL3.Size = New System.Drawing.Size(309, 19)
+ Me.pbDL3.Style = System.Windows.Forms.ProgressBarStyle.Continuous
+ Me.pbDL3.TabIndex = 6
+ '
+ 'pnlMDB
+ '
+ Me.pnlMDB.Controls.Add(Me.lblDL5Status)
+ Me.pnlMDB.Controls.Add(Me.lblDL5)
+ Me.pnlMDB.Controls.Add(Me.pbDL5)
+ Me.pnlMDB.Location = New System.Drawing.Point(3, 246)
+ Me.pnlMDB.Name = "pnlMDB"
+ Me.pnlMDB.Size = New System.Drawing.Size(321, 75)
+ Me.pnlMDB.TabIndex = 9
+ '
+ 'lblDL5Status
+ '
+ Me.lblDL5Status.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblDL5Status.Location = New System.Drawing.Point(5, 34)
+ Me.lblDL5Status.Name = "lblDL5Status"
+ Me.lblDL5Status.Size = New System.Drawing.Size(310, 13)
+ Me.lblDL5Status.TabIndex = 8
+ '
+ 'lblDL5
+ '
+ Me.lblDL5.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblDL5.Location = New System.Drawing.Point(5, 10)
+ Me.lblDL5.Name = "lblDL5"
+ Me.lblDL5.Size = New System.Drawing.Size(310, 13)
+ Me.lblDL5.TabIndex = 7
+ Me.lblDL5.Text = "Performing Preliminary Tasks..."
+ '
+ 'pbDL5
+ '
+ Me.pbDL5.Location = New System.Drawing.Point(6, 53)
+ Me.pbDL5.Name = "pbDL5"
+ Me.pbDL5.Size = New System.Drawing.Size(309, 19)
+ Me.pbDL5.Style = System.Windows.Forms.ProgressBarStyle.Continuous
+ Me.pbDL5.TabIndex = 6
+ '
+ 'pnlIMPA
+ '
+ Me.pnlIMPA.Controls.Add(Me.lblDL4Status)
+ Me.pnlIMPA.Controls.Add(Me.lblDL4)
+ Me.pnlIMPA.Controls.Add(Me.pbDL4)
+ Me.pnlIMPA.Location = New System.Drawing.Point(3, 165)
+ Me.pnlIMPA.Name = "pnlIMPA"
+ Me.pnlIMPA.Size = New System.Drawing.Size(321, 75)
+ Me.pnlIMPA.TabIndex = 6
+ '
+ 'lblDL4Status
+ '
+ Me.lblDL4Status.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblDL4Status.Location = New System.Drawing.Point(5, 34)
+ Me.lblDL4Status.Name = "lblDL4Status"
+ Me.lblDL4Status.Size = New System.Drawing.Size(310, 13)
+ Me.lblDL4Status.TabIndex = 8
+ '
+ 'lblDL4
+ '
+ Me.lblDL4.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblDL4.Location = New System.Drawing.Point(5, 10)
+ Me.lblDL4.Name = "lblDL4"
+ Me.lblDL4.Size = New System.Drawing.Size(310, 13)
+ Me.lblDL4.TabIndex = 7
+ Me.lblDL4.Text = "Performing Preliminary Tasks..."
+ '
+ 'pbDL4
+ '
+ Me.pbDL4.Location = New System.Drawing.Point(6, 52)
+ Me.pbDL4.Name = "pbDL4"
+ Me.pbDL4.Size = New System.Drawing.Size(309, 19)
+ Me.pbDL4.Style = System.Windows.Forms.ProgressBarStyle.Continuous
+ Me.pbDL4.TabIndex = 6
+ '
+ 'pnlTMDB
+ '
+ Me.pnlTMDB.Controls.Add(Me.lblDL2Status)
+ Me.pnlTMDB.Controls.Add(Me.lblDL2)
+ Me.pnlTMDB.Controls.Add(Me.pbDL2)
+ Me.pnlTMDB.Location = New System.Drawing.Point(3, 3)
+ Me.pnlTMDB.Name = "pnlTMDB"
+ Me.pnlTMDB.Size = New System.Drawing.Size(321, 75)
+ Me.pnlTMDB.TabIndex = 10
+ '
+ 'lblDL2Status
+ '
+ Me.lblDL2Status.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblDL2Status.Location = New System.Drawing.Point(5, 34)
+ Me.lblDL2Status.Name = "lblDL2Status"
+ Me.lblDL2Status.Size = New System.Drawing.Size(310, 13)
+ Me.lblDL2Status.TabIndex = 8
+ '
+ 'lblDL2
+ '
+ Me.lblDL2.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblDL2.Location = New System.Drawing.Point(5, 10)
+ Me.lblDL2.Name = "lblDL2"
+ Me.lblDL2.Size = New System.Drawing.Size(310, 13)
+ Me.lblDL2.TabIndex = 7
+ Me.lblDL2.Text = "Performing Preliminary Tasks..."
+ '
+ 'pbDL2
+ '
+ Me.pbDL2.Location = New System.Drawing.Point(6, 52)
+ Me.pbDL2.Name = "pbDL2"
+ Me.pbDL2.Size = New System.Drawing.Size(309, 19)
+ Me.pbDL2.Style = System.Windows.Forms.ProgressBarStyle.Continuous
+ Me.pbDL2.TabIndex = 6
+ '
+ 'dlgImgSelect
+ '
+ Me.AcceptButton = Me.OK_Button
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
+ Me.AutoScroll = True
+ Me.CancelButton = Me.Cancel_Button
+ Me.ClientSize = New System.Drawing.Size(836, 545)
+ Me.ControlBox = False
+ Me.Controls.Add(Me.pnlDLStatus)
+ Me.Controls.Add(Me.pnlBG)
+ Me.Controls.Add(Me.pnlBottomMain)
+ Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "dlgImgSelect"
+ Me.ShowIcon = False
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "Select Poster"
+ Me.TableLayoutPanel1.ResumeLayout(False)
+ Me.pnlBottomMain.ResumeLayout(False)
+ Me.pnlSize.ResumeLayout(False)
+ Me.pnlSize.PerformLayout()
+ Me.pnlFanart.ResumeLayout(False)
+ Me.pnlFanart.PerformLayout()
+ Me.pnlDLStatus.ResumeLayout(False)
+ Me.pnlIMDB.ResumeLayout(False)
+ Me.pnlSinglePic.ResumeLayout(False)
+ Me.pnlFANARTTV.ResumeLayout(False)
+ Me.pnlMDB.ResumeLayout(False)
+ Me.pnlIMPA.ResumeLayout(False)
+ Me.pnlTMDB.ResumeLayout(False)
+ Me.ResumeLayout(False)
+
+ End Sub
+ Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
+ Friend WithEvents OK_Button As System.Windows.Forms.Button
+ Friend WithEvents Cancel_Button As System.Windows.Forms.Button
+ Friend WithEvents pnlBG As System.Windows.Forms.Panel
+ Friend WithEvents pnlBottomMain As System.Windows.Forms.Panel
+ Friend WithEvents pnlDLStatus As System.Windows.Forms.Panel
+ Friend WithEvents pnlIMPA As System.Windows.Forms.Panel
+ Friend WithEvents lblDL4Status As System.Windows.Forms.Label
+ Friend WithEvents lblDL4 As System.Windows.Forms.Label
+ Friend WithEvents pbDL4 As System.Windows.Forms.ProgressBar
+ Friend WithEvents lblInfo As System.Windows.Forms.Label
+ Friend WithEvents pnlSize As System.Windows.Forms.Panel
+ Friend WithEvents rbSmall As System.Windows.Forms.RadioButton
+ Friend WithEvents rbMedium As System.Windows.Forms.RadioButton
+ Friend WithEvents rbLarge As System.Windows.Forms.RadioButton
+ Friend WithEvents rbXLarge As System.Windows.Forms.RadioButton
+ Friend WithEvents pnlSinglePic As System.Windows.Forms.Panel
+ Friend WithEvents Label2 As System.Windows.Forms.Label
+ Friend WithEvents ProgressBar1 As System.Windows.Forms.ProgressBar
+ Friend WithEvents pnlMDB As System.Windows.Forms.Panel
+ Friend WithEvents lblDL5Status As System.Windows.Forms.Label
+ Friend WithEvents lblDL5 As System.Windows.Forms.Label
+ Friend WithEvents pbDL5 As System.Windows.Forms.ProgressBar
+ Friend WithEvents pnlFanart As System.Windows.Forms.Panel
+ Friend WithEvents chkThumb As System.Windows.Forms.CheckBox
+ Friend WithEvents chkMid As System.Windows.Forms.CheckBox
+ Friend WithEvents chkOriginal As System.Windows.Forms.CheckBox
+ Friend WithEvents btnPreview As System.Windows.Forms.Button
+ Friend WithEvents pnlFANARTTV As System.Windows.Forms.Panel
+ Friend WithEvents lblDL3Status As System.Windows.Forms.Label
+ Friend WithEvents lblDL3 As System.Windows.Forms.Label
+ Friend WithEvents pbDL3 As System.Windows.Forms.ProgressBar
+ Friend WithEvents pnlTMDB As System.Windows.Forms.Panel
+ Friend WithEvents lblDL2Status As System.Windows.Forms.Label
+ Friend WithEvents lblDL2 As System.Windows.Forms.Label
+ Friend WithEvents pbDL2 As System.Windows.Forms.ProgressBar
+ Friend WithEvents pnlIMDB As System.Windows.Forms.Panel
+ Friend WithEvents lblDL6Status As System.Windows.Forms.Label
+ Friend WithEvents lblDL6 As System.Windows.Forms.Label
+ Friend WithEvents pbDL6 As System.Windows.Forms.ProgressBar
+
+End Class
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/dlgImgSelect.resx b/Addons/scraper.FanartTV.Poster/Scraper/dlgImgSelect.resx
new file mode 100644
index 0000000..3491405
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/dlgImgSelect.resx
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK/wAA
+ Cv8BNGKaggAAAuRJREFUOE+lkltsS3Ecx3+ILAsPFrfEyxJPXkh0bokg4UG78TQNI5FImPBAJKiNhBAy
+ MTwRMRJ1ibsZ29jc2t00Vrq1p3q6tqft6Tk9t87YeLCHff3/3Sp4dZJPvv/f5fs7///5HwJA/8Nv88jw
+ 8ApD1y+blnnNtKwGjmXl/qCQMxt+fB9xjI2NEYdGR0dp9OfP6Yph+gOKjpBmMcy8CoxwPi5gok81kDGt
+ BPOUci+xt1LO0Gy+ZAZuUcbtCe4NpHEtLKNBkHGfrQt5dySNrpSKIcvcbJkmka5pNKhrtrfxFE71RlD3
+ UcT5gIjt7THMvhLHTEZlSwz1n0ScZTXe8yKextec6TRNY3zAF0O3tUYl7Ovqh+t9EHs8IRSdC4FO9+WZ
+ VBfEjlchHPEF8z2PRQnDg9b4AE3L0hA7wqNwDFWvP2Cn1w9Hox90zAc6McFRH9Y97MWuDn++56YwgJEc
+ G2CwAdmsSkPsCLf6I1jb3IUNL3sY3Zhxxgs67AG5PCg+4YW9uRsbWY33XAp8xrBlOHVdI1IVhb5oWdv1
+ QBjLn3qwtqUDq5s6MOd0O2jfizwlx9uwqtGLdazGey76Q/hm6k4tmyXKyDLlVMV29aOApU0erHnWgWmH
+ noF2NYL2Ph2nuhFF+5uw8okXy1hP/YcghjTVqSgZoqQkkZZK2m58ErDouRfzLjSDKt2grbf+ZpMbJSeb
+ sPA520FvCINqxinLaaKoKHJsETGK1rCIh+8F3HnTh7vvgrjHbqMAjx/0CGiNDCAqJZGUEk45zQYk4nG+
+ i7LPgoBkNIpsOglTzcDSFOQ0FTmdwdRiyvNqKolELAZZlre0t7URLSkro21VVSVdnZ1pSZKQSqXAPizY
+ /wHDMMCuKg+Ps6oKJZNBsL//6+7q6gWTaPzhWjx31qzF5Xb7Acf69S6mNRV2e22Fw1G7gcGVUcPyro3l
+ 5Qfnl5auYZ4Zk7l3ClsxuBQGTszNx/9SqHHDVG76BaMnpgu1OH2ZAAAAAElFTkSuQmCC
+
+
+
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/dlgImgSelect.vb b/Addons/scraper.FanartTV.Poster/Scraper/dlgImgSelect.vb
new file mode 100644
index 0000000..b2e44a9
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/dlgImgSelect.vb
@@ -0,0 +1,1582 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports System.IO
+Imports System.IO.Compression
+Imports System.Text
+Imports System.Text.RegularExpressions
+Imports EmberAPI
+Imports EmberScraperModule.EmberTMDBScraperModule
+Imports RestSharp
+Imports WatTmdb
+
+Public Class dlgImgSelect
+
+#Region "Fields"
+
+ Friend WithEvents bwIMPADownload As New System.ComponentModel.BackgroundWorker
+ Friend WithEvents bwMPDBDownload As New System.ComponentModel.BackgroundWorker
+ Friend WithEvents bwTMDBDownload As New System.ComponentModel.BackgroundWorker
+ Friend WithEvents bwIMDBDownload As New System.ComponentModel.BackgroundWorker
+ Friend WithEvents bwFANARTTVDownload As New System.ComponentModel.BackgroundWorker
+
+ Private _MySettings As New sMySettings
+ Private _TMDBConf As V3.TmdbConfiguration
+ Private _TMDBConfE As V3.TmdbConfiguration
+ Private _TMDBApi As V3.Tmdb
+ Private _TMDBApiE As V3.Tmdb
+
+ Private TMDB As TMDB.Scraper
+ Private TMDBPosters As New List(Of MediaContainers.Image)
+
+ Private MPDB As New MPDB.Scraper
+ Private MPDBPosters As New List(Of MediaContainers.Image)
+
+ Private IMPA As New IMPA.Scraper
+ Private IMPAPosters As New List(Of MediaContainers.Image)
+
+ Private IMDB As New IMDBimg.Scraper
+ Private IMDBPosters As New List(Of MediaContainers.Image)
+
+ Private FANARTTVs As FANARTTVs.Scraper
+ Private FANARTTVPosters As New List(Of MediaContainers.Image)
+
+ Private CachePath As String = String.Empty
+ Private chkImage() As CheckBox
+ Private DLType As Enums.ImageType
+ Private ETHashes As New List(Of String)
+ Private iCounter As Integer = 0
+ Private iLeft As Integer = 5
+
+ Private isEdit As Boolean = False
+ Private isShown As Boolean = False
+ Private iTop As Integer = 5
+ Private lblImage() As Label
+
+ Private noImages As Boolean = False
+ Private pbImage() As PictureBox
+ Private pnlImage() As Panel
+ Private PreDL As Boolean = False
+ Private Results As New Containers.ImgResult
+ Private selIndex As Integer = -1
+
+ Private tMovie As New Structures.DBMovie
+ Private tmpImage As New MediaContainers.Image
+ Private _impaDone As Boolean = True
+ Private _imdbDone As Boolean = True
+ Private _fanarttvDone As Boolean = True
+ Private _mpdbDone As Boolean = True
+ Private _tmdbDone As Boolean = True
+
+#End Region 'Fields
+
+#Region "Events"
+
+ Private Event IMPADone()
+
+ Private Event MPDBDone()
+
+ Private Event TMDBDone()
+
+ Private Event IMDBDone()
+
+ Private Event FANARTTVDone()
+#End Region 'Events
+
+#Region "Methods"
+
+ Public Sub New(ByRef tTMDBConf As V3.TmdbConfiguration, ByRef tTMDBConfE As V3.TmdbConfiguration, ByRef tTMDBApi As V3.Tmdb, ByRef tTMDBApiE As V3.Tmdb, ByRef tMySettings As EmberTMDBScraperModule.sMySettings)
+ ' This call is required by the designer.
+ InitializeComponent()
+
+ ' Add any initialization after the InitializeComponent() call.
+ _MySettings = tMySettings
+ _TMDBApi = tTMDBApi
+ _TMDBConf = tTMDBConf
+ _TMDBApiE = tTMDBApiE
+ _TMDBConfE = tTMDBConfE
+ TMDB = New TMDB.Scraper(_TMDBConf, _TMDBConfE, _TMDBApi, _TMDBApiE, _MySettings)
+ FANARTTVs = New FANARTTVs.Scraper(_MySettings)
+ End Sub
+
+ Public Sub PreLoad(ByVal mMovie As Structures.DBMovie, ByVal _DLType As Enums.ImageType, Optional ByVal _isEdit As Boolean = False)
+ Me.tMovie = mMovie
+ Me.DLType = _DLType
+ Me.isEdit = _isEdit
+ Me.PreDL = True
+ Me.SetUp()
+ Me.StartDownload()
+ End Sub
+
+ Public Overloads Function ShowDialog(ByVal mMovie As Structures.DBMovie, ByVal _DLType As Enums.ImageType, Optional ByVal _isEdit As Boolean = False) As Containers.ImgResult
+ '//
+ ' Overload to pass data
+ '\\
+
+ Me.tMovie = mMovie
+ Me.DLType = _DLType
+ Me.isEdit = _isEdit
+ Me.isShown = True
+
+ MyBase.ShowDialog()
+ Return Results
+ End Function
+
+ Public Overloads Function ShowDialog() As Containers.ImgResult
+ Me.isShown = True
+ MyBase.ShowDialog()
+
+ Return Results
+ End Function
+
+ 'Rewrite to simplify
+ Private Sub AddImage(ByVal sDescription As String, ByVal iIndex As Integer, ByVal isChecked As Boolean, poster As MediaContainers.Image)
+ Try
+ ReDim Preserve Me.pnlImage(iIndex)
+ ReDim Preserve Me.pbImage(iIndex)
+ Me.pnlImage(iIndex) = New Panel()
+ Me.pbImage(iIndex) = New PictureBox()
+ Me.pbImage(iIndex).Name = iIndex.ToString
+ Me.pnlImage(iIndex).Name = iIndex.ToString
+ Me.pnlImage(iIndex).Size = New Size(256, 286)
+ Me.pbImage(iIndex).Size = New Size(250, 250)
+ Me.pnlImage(iIndex).BackColor = Color.White
+ Me.pnlImage(iIndex).BorderStyle = BorderStyle.FixedSingle
+ Me.pbImage(iIndex).SizeMode = PictureBoxSizeMode.Zoom
+ Me.pnlImage(iIndex).Tag = poster
+ Me.pbImage(iIndex).Tag = poster
+ Me.pbImage(iIndex).Image = poster.WebImage.Image
+ Me.pnlImage(iIndex).Left = iLeft
+ Me.pbImage(iIndex).Left = 3
+ Me.pnlImage(iIndex).Top = iTop
+ Me.pbImage(iIndex).Top = 3
+ Me.pnlBG.Controls.Add(Me.pnlImage(iIndex))
+ Me.pnlImage(iIndex).Controls.Add(Me.pbImage(iIndex))
+ Me.pnlImage(iIndex).BringToFront()
+ AddHandler pbImage(iIndex).Click, AddressOf pbImage_Click
+ AddHandler pbImage(iIndex).DoubleClick, AddressOf pbImage_DoubleClick
+ AddHandler pnlImage(iIndex).Click, AddressOf pnlImage_Click
+
+ AddHandler pbImage(iIndex).MouseWheel, AddressOf MouseWheelEvent
+ AddHandler pnlImage(iIndex).MouseWheel, AddressOf MouseWheelEvent
+
+ If Me.DLType = Enums.ImageType.Fanart Then
+ ReDim Preserve Me.chkImage(iIndex)
+ Me.chkImage(iIndex) = New CheckBox()
+ Me.chkImage(iIndex).Name = iIndex.ToString
+ Me.chkImage(iIndex).Size = New Size(250, 30)
+ Me.chkImage(iIndex).AutoSize = False
+ Me.chkImage(iIndex).BackColor = Color.White
+ Me.chkImage(iIndex).TextAlign = System.Drawing.ContentAlignment.MiddleCenter
+ Me.chkImage(iIndex).Text = Master.eLang.GetString(55, "Multiple")
+ 'Me.chkImage(iIndex).Text = String.Format("{0}x{1} ({2})", Me.pbImage(iIndex).Image.Width.ToString, Me.pbImage(iIndex).Image.Height.ToString, sDescription)
+ Me.chkImage(iIndex).Left = 0
+ Me.chkImage(iIndex).Top = 250
+ Me.chkImage(iIndex).Checked = isChecked
+ Me.pnlImage(iIndex).Controls.Add(Me.chkImage(iIndex))
+ AddHandler pnlImage(iIndex).MouseWheel, AddressOf MouseWheelEvent
+ Else
+ ReDim Preserve Me.lblImage(iIndex)
+ Me.lblImage(iIndex) = New Label()
+ Me.lblImage(iIndex).Name = iIndex.ToString
+ Me.lblImage(iIndex).Size = New Size(250, 30)
+ Me.lblImage(iIndex).AutoSize = False
+ Me.lblImage(iIndex).BackColor = Color.White
+ Me.lblImage(iIndex).TextAlign = System.Drawing.ContentAlignment.MiddleCenter
+ If IsTMDBURL(poster.URL) Then
+ Me.lblImage(iIndex).Text = Master.eLang.GetString(55, "Multiple")
+ Else
+ Me.lblImage(iIndex).Text = String.Format("{0}x{1} ({2})", Me.pbImage(iIndex).Image.Width.ToString, Me.pbImage(iIndex).Image.Height.ToString, sDescription)
+ End If
+ Me.lblImage(iIndex).Tag = poster
+ Me.lblImage(iIndex).Left = 0
+ Me.lblImage(iIndex).Top = 250
+ Me.pnlImage(iIndex).Controls.Add(Me.lblImage(iIndex))
+ AddHandler lblImage(iIndex).Click, AddressOf lblImage_Click
+ AddHandler lblImage(iIndex).MouseWheel, AddressOf MouseWheelEvent
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ Me.iCounter += 1
+
+ If Me.iCounter = 3 Then
+ Me.iCounter = 0
+ Me.iLeft = 5
+ Me.iTop += 301
+ Else
+ Me.iLeft += 271
+ End If
+ End Sub
+
+ Private Sub AllDoneDownloading()
+ If Me._impaDone AndAlso Me._tmdbDone AndAlso Me._mpdbDone AndAlso Me._imdbDone AndAlso Me._fanarttvDone Then
+ Me.pnlDLStatus.Visible = False
+ Me.TMDBPosters.AddRange(Me.IMPAPosters)
+ Me.TMDBPosters.AddRange(Me.MPDBPosters)
+ Me.TMDBPosters.AddRange(Me.IMDBPosters)
+ Me.TMDBPosters.AddRange(Me.FANARTTVPosters)
+ Me.ProcessPics(Me.TMDBPosters)
+ Me.pnlBG.Visible = True
+ End If
+ End Sub
+
+ Private Sub btnPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPreview.Click
+ PreviewImage()
+ End Sub
+
+ Private Sub PreviewImage()
+ Try
+ Dim tImage As New Images
+ Me.pnlTMDB.Visible = False
+ Me.pnlIMDB.Visible = False
+ Me.pnlFANARTTV.Visible = False
+ Me.pnlIMPA.Visible = False
+ Me.pnlMDB.Visible = False
+ Me.pnlSinglePic.Visible = True
+ Me.pnlDLStatus.Height = 85
+ Me.pnlDLStatus.Top = 185
+
+ Application.DoEvents()
+
+ Select Case True
+ Case rbXLarge.Checked
+ If Master.eSettings.UseImgCache Then
+ tImage.FromFile(Path.Combine(CachePath, String.Concat("poster_(original)_(url=", Me.rbXLarge.Tag, ").jpg")))
+ Else
+ tImage.FromWeb(Me.rbXLarge.Tag.ToString)
+ End If
+ Case rbLarge.Checked
+ If Master.eSettings.UseImgCache Then
+ tImage.FromFile(Path.Combine(CachePath, String.Concat("poster_(mid)_(url=", Me.rbLarge.Tag, ").jpg")))
+ Else
+ tImage.FromWeb(Me.rbLarge.Tag.ToString)
+ End If
+ Case rbMedium.Checked
+ If Master.eSettings.UseImgCache Then
+ tImage.FromFile(Path.Combine(CachePath, String.Concat("poster_(cover)_(url=", Me.rbMedium.Tag, ").jpg")))
+ Else
+ tImage.FromWeb(Me.rbMedium.Tag.ToString)
+ End If
+ Case rbSmall.Checked
+ If Master.eSettings.UseImgCache Then
+ tImage.FromFile(Path.Combine(CachePath, String.Concat("poster_(thumb)_(url=", Me.rbSmall.Tag, ").jpg")))
+ Else
+ tImage.FromWeb(Me.rbSmall.Tag.ToString)
+ End If
+ End Select
+
+ Me.pnlSinglePic.Visible = False
+
+ If Not IsNothing(tImage.Image) Then
+
+ ModulesManager.Instance.RuntimeObjects.InvokeOpenImageViewer(tImage.Image)
+
+ End If
+
+ tImage.Dispose()
+ tImage = Nothing
+
+ Catch ex As Exception
+ Me.pnlSinglePic.Visible = False
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub bwIMDBDownload_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwIMDBDownload.DoWork
+ '//
+ ' Thread to download mpdb posters from the internet (multi-threaded because sometimes
+ ' the web server is slow to respond or not reachable, hanging the GUI)
+ '\\
+ For i As Integer = 0 To Me.IMDBPosters.Count - 1
+ Try
+ If Me.bwIMDBDownload.CancellationPending Then
+ e.Cancel = True
+ Return
+ End If
+ Me.bwIMDBDownload.ReportProgress(i + 1, Me.IMDBPosters.Item(i).URL)
+ Try
+ Me.IMDBPosters.Item(i).WebImage.FromWeb(Me.IMDBPosters.Item(i).URL)
+ If Not Master.eSettings.NoSaveImagesToNfo Then Me.Results.Posters.Add(Me.IMDBPosters.Item(i).URL)
+ If Master.eSettings.UseImgCache Then
+ Try
+ Me.IMDBPosters.Item(i).URL = StringUtils.CleanURL(Me.IMDBPosters.Item(i).URL)
+ Me.IMDBPosters.Item(i).WebImage.Save(Path.Combine(CachePath, String.Concat("poster_(", Me.IMDBPosters.Item(i).Description, ")_(url=", Me.IMDBPosters.Item(i).URL, ").jpg")), , , False)
+ Catch
+ End Try
+ End If
+ Catch
+ End Try
+ Catch
+ End Try
+ Next
+ End Sub
+
+ Private Sub bwIMDBDownload_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bwIMDBDownload.ProgressChanged
+ '//
+ ' Update the status bar with the name of the current media name and increase progress bar
+ '\\
+ Try
+ Dim sStatus As String = e.UserState.ToString
+ Me.lblDL6Status.Text = String.Format(Master.eLang.GetString(27, "Downloading {0}"), If(sStatus.Length > 40, StringUtils.TruncateURL(sStatus, 40), sStatus))
+ Me.pbDL6.Value = e.ProgressPercentage
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub bwIMDBDownload_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwIMDBDownload.RunWorkerCompleted
+ '//
+ ' Thread finished: process the pics
+ '\\
+
+ If Not e.Cancelled Then
+ Me._imdbDone = True
+ RaiseEvent IMDBDone()
+ End If
+ End Sub
+
+ Private Sub bwFANARTTVDownload_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwFANARTTVDownload.DoWork
+ '//
+ ' Thread to download FanartTV images from the internet (multi-threaded because sometimes
+ ' the web server is slow to respond or not reachable, hanging the GUI)
+ '\\
+ For i As Integer = 0 To Me.FANARTTVPosters.Count - 1
+ Try
+ If Me.bwFANARTTVDownload.CancellationPending Then
+ e.Cancel = True
+ Return
+ End If
+ Me.bwFANARTTVDownload.ReportProgress(i + 1, Me.FANARTTVPosters.Item(i).URL)
+ Try
+ Me.FANARTTVPosters.Item(i).WebImage.FromWeb(Me.FANARTTVPosters.Item(i).URL)
+ If Not Master.eSettings.NoSaveImagesToNfo Then Me.Results.Posters.Add(Me.FANARTTVPosters.Item(i).URL)
+ If Master.eSettings.UseImgCache Then
+ Try
+ Me.FANARTTVPosters.Item(i).URL = StringUtils.CleanURL(Me.FANARTTVPosters.Item(i).URL)
+ Me.FANARTTVPosters.Item(i).WebImage.Save(Path.Combine(CachePath, String.Concat("poster_(", Me.FANARTTVPosters.Item(i).Description, ")_(url=", Me.FANARTTVPosters.Item(i).URL, ").jpg")), , , False)
+ Catch
+ End Try
+ End If
+ Catch
+ End Try
+ Catch
+ End Try
+ Next
+ End Sub
+
+ Private Sub bwFANARTTVDownload_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bwFANARTTVDownload.ProgressChanged
+ '//
+ ' Update the status bar with the name of the current media name and increase progress bar
+ '\\
+ Try
+ Dim sStatus As String = e.UserState.ToString
+ Me.lblDL3Status.Text = String.Format(Master.eLang.GetString(27, "Downloading {0}"), If(sStatus.Length > 40, StringUtils.TruncateURL(sStatus, 40), sStatus))
+ Me.pbDL3.Value = e.ProgressPercentage
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub bwFANARTTVDownload_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwFANARTTVDownload.RunWorkerCompleted
+ '//
+ ' Thread finished: process the pics
+ '\\
+
+ If Not e.Cancelled Then
+ Me._fanarttvDone = True
+ RaiseEvent FANARTTVDone()
+ End If
+ End Sub
+
+ Private Sub bwIMPADownload_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwIMPADownload.DoWork
+ '//
+ ' Thread to download impa posters from the internet (multi-threaded because sometimes
+ ' the web server is slow to respond or not reachable, hanging the GUI)
+ '\\
+
+ For i As Integer = 0 To Me.IMPAPosters.Count - 1
+ If bwIMPADownload.CancellationPending Then
+ e.Cancel = True
+ Return
+ End If
+ Me.bwIMPADownload.ReportProgress(i + 1, Me.IMPAPosters.Item(i).URL)
+ Try
+ Me.IMPAPosters.Item(i).WebImage.FromWeb(Me.IMPAPosters.Item(i).URL)
+ If Not Master.eSettings.NoSaveImagesToNfo Then Me.Results.Posters.Add(Me.IMPAPosters.Item(i).URL)
+ If Master.eSettings.UseImgCache Then
+ Try
+ Me.IMPAPosters.Item(i).URL = StringUtils.CleanURL(Me.IMPAPosters.Item(i).URL)
+ Me.IMPAPosters.Item(i).WebImage.Save(Path.Combine(CachePath, String.Concat("poster_(", Me.IMPAPosters.Item(i).Description, ")_(url=", Me.IMPAPosters.Item(i).URL, ").jpg")), , , False)
+ Catch
+ End Try
+ End If
+ Catch
+ End Try
+ Next
+ End Sub
+
+ Private Sub bwIMPADownload_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bwIMPADownload.ProgressChanged
+ '//
+ ' Update the status bar with the name of the current media name and increase progress bar
+ '\\
+ Try
+ Dim sStatus As String = e.UserState.ToString
+ Me.lblDL4Status.Text = String.Format(Master.eLang.GetString(27, "Downloading {0}"), If(sStatus.Length > 40, StringUtils.TruncateURL(sStatus, 40), sStatus))
+ Me.pbDL4.Value = e.ProgressPercentage
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub bwIMPABownload_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwIMPADownload.RunWorkerCompleted
+ '//
+ ' Thread finished: process the pics
+ '\\
+
+ If Not e.Cancelled Then
+ Me._impaDone = True
+ RaiseEvent IMPADone()
+ End If
+ End Sub
+
+ Private Sub bwMPDBDownload_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwMPDBDownload.DoWork
+ '//
+ ' Thread to download mpdb posters from the internet (multi-threaded because sometimes
+ ' the web server is slow to respond or not reachable, hanging the GUI)
+ '\\
+ For i As Integer = 0 To Me.MPDBPosters.Count - 1
+ Try
+ If Me.bwMPDBDownload.CancellationPending Then
+ e.Cancel = True
+ Return
+ End If
+ Me.bwMPDBDownload.ReportProgress(i + 1, Me.MPDBPosters.Item(i).URL)
+ Try
+ Me.MPDBPosters.Item(i).WebImage.FromWeb(Me.MPDBPosters.Item(i).URL)
+ If Not Master.eSettings.NoSaveImagesToNfo Then Me.Results.Posters.Add(Me.MPDBPosters.Item(i).URL)
+ If Master.eSettings.UseImgCache Then
+ Try
+ Me.MPDBPosters.Item(i).URL = StringUtils.CleanURL(Me.MPDBPosters.Item(i).URL)
+ Me.MPDBPosters.Item(i).WebImage.Save(Path.Combine(CachePath, String.Concat("poster_(", Me.MPDBPosters.Item(i).Description, ")_(url=", Me.MPDBPosters.Item(i).URL, ").jpg")), , , False)
+ Catch
+ End Try
+ End If
+ Catch
+ End Try
+ Catch
+ End Try
+ Next
+ End Sub
+
+ Private Sub bwMPDBDownload_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bwMPDBDownload.ProgressChanged
+ '//
+ ' Update the status bar with the name of the current media name and increase progress bar
+ '\\
+ Try
+ Dim sStatus As String = e.UserState.ToString
+ Me.lblDL5Status.Text = String.Format(Master.eLang.GetString(27, "Downloading {0}"), If(sStatus.Length > 40, StringUtils.TruncateURL(sStatus, 40), sStatus))
+ Me.pbDL5.Value = e.ProgressPercentage
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub bwMPDBDownload_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwMPDBDownload.RunWorkerCompleted
+ '//
+ ' Thread finished: process the pics
+ '\\
+
+ If Not e.Cancelled Then
+ Me._mpdbDone = True
+ RaiseEvent MPDBDone()
+ End If
+ End Sub
+
+ Private Sub bwTMDBDownload_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwTMDBDownload.DoWork
+ '//
+ ' Thread to download tmdb posters from the internet (multi-threaded because sometimes
+ ' the web server is slow to respond or not reachable, hanging the GUI)
+ '\\
+ Dim thumbLink As String = String.Empty
+ Dim savePath As String = String.Empty
+ Dim extrathumbSize As String = String.Empty
+
+ extrathumbSize = _MySettings.ManualETSize
+
+ 'Only download the posters themselves that match the cover criteria for display purposes, no need to download them all.
+ Dim posters As MediaContainers.Image()
+ If Me.DLType = Enums.ImageType.Fanart Then
+ posters = TMDBPosters.Where(Function(s) s.Description = extrathumbSize).ToArray()
+ Else
+ posters = TMDBPosters.Where(Function(s) s.Description = "cover").ToArray()
+ End If
+
+ For i As Integer = 0 To posters.Count - 1
+ Try
+ If Me.DLType = Enums.ImageType.Fanart OrElse (Master.eSettings.UseImgCache OrElse (posters(i).Description = "cover" OrElse Master.eSettings.PosterPrefSizeOnly)) Then
+ If Me.bwTMDBDownload.CancellationPending Then
+ e.Cancel = True
+ Return
+ End If
+ Me.bwTMDBDownload.ReportProgress((i + 1), posters(i).URL)
+ Try
+ posters(i).WebImage.FromWeb(posters(i).URL)
+ If Not Master.eSettings.NoSaveImagesToNfo Then
+ If Me.DLType = Enums.ImageType.Fanart Then
+
+
+ If Not posters(i).URL.Contains("-thumb.") Then
+ Me.Results.Fanart.URL = GetServerURL(posters(i).URL) ' "http://images.themoviedb.org"
+ thumbLink = RemoveServerURL(posters(i).URL)
+ 'If thumbLink.Contains("_poster.") Then
+ thumbLink = thumbLink.Replace("-poster.", "-thumb.")
+ thumbLink = thumbLink.Replace("-original.", "-thumb.")
+ ''Else
+ 'thumbLink = thumbLink.Insert(thumbLink.LastIndexOf("."), "-thumb")
+ 'End If
+ Me.Results.Fanart.Thumb.Add(New MediaContainers.Thumb With {.Preview = thumbLink, .Text = posters(i).URL.Replace("http://images.themoviedb.org", String.Empty)})
+ End If
+ Else
+ Me.Results.Posters.Add(posters(i).URL)
+ End If
+ End If
+ If Master.eSettings.UseImgCache OrElse Master.eSettings.AutoET Then
+ Try
+ posters(i).URL = Me.CleanTMDBURL(posters(i).URL)
+
+ savePath = Path.Combine(CachePath, String.Concat(If(Me.DLType = Enums.ImageType.Fanart, "fanart_(", "poster_("), posters(i).Description, ")_(url=", posters(i).URL, ").jpg"))
+ posters(i).WebImage.Save(savePath, , , False)
+
+ If Master.eSettings.AutoET Then
+ Dim tSize As New Enums.FanartSize
+ Select Case posters(i).Description.ToLower
+ Case "original"
+ tSize = Enums.FanartSize.Lrg
+ Case "mid"
+ tSize = Enums.FanartSize.Mid
+ Case "thumb"
+ tSize = Enums.FanartSize.Small
+ End Select
+ If Master.eSettings.AutoETSize = tSize Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(savePath)) Then
+ posters(i).isChecked = True
+ End If
+ End If
+ End If
+
+ Catch
+ End Try
+ End If
+ Catch
+ End Try
+ End If
+ Catch
+ End Try
+ Next
+ End Sub
+
+ Private Sub bwTMDBDownload_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bwTMDBDownload.ProgressChanged
+ '//
+ ' Update the status bar with the name of the current media name and increase progress bar
+ '\\
+ Try
+ Dim sStatus As String = e.UserState.ToString
+ Me.lblDL2Status.Text = String.Format(Master.eLang.GetString(27, "Downloading {0}"), If(sStatus.Length > 40, StringUtils.TruncateURL(sStatus, 40), sStatus))
+ Me.pbDL2.Value = e.ProgressPercentage
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub bwTMDBDownload_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwTMDBDownload.RunWorkerCompleted
+ '//
+ ' Thread finished: process the pics
+ '\\
+
+ If Not e.Cancelled Then
+ Me._tmdbDone = True
+ RaiseEvent TMDBDone()
+ End If
+ End Sub
+
+ Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
+ IMPA.Cancel()
+ MPDB.Cancel()
+ TMDB.Cancel()
+ IMDB.Cancel()
+ FANARTTVs.Cancel()
+
+ If bwIMPADownload.IsBusy Then bwIMPADownload.CancelAsync()
+ If bwMPDBDownload.IsBusy Then bwMPDBDownload.CancelAsync()
+ If bwTMDBDownload.IsBusy Then bwTMDBDownload.CancelAsync()
+ If bwIMDBDownload.IsBusy Then bwIMDBDownload.CancelAsync()
+ If bwFANARTTVDownload.IsBusy Then bwFANARTTVDownload.CancelAsync()
+
+ While bwIMPADownload.IsBusy OrElse bwMPDBDownload.IsBusy OrElse bwTMDBDownload.IsBusy
+ Application.DoEvents()
+ Threading.Thread.Sleep(50)
+ End While
+
+ Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.Close()
+ End Sub
+
+ Private Sub CheckAll(ByVal sType As String, ByVal Checked As Boolean)
+ For i As Integer = 0 To UBound(Me.chkImage)
+ If Me.chkImage(i).Text.ToLower.Contains(sType) Then
+ Me.chkImage(i).Checked = Checked
+ End If
+ Next
+ End Sub
+
+ Private Sub chkMid_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkMid.CheckedChanged
+ Me.CheckAll("(poster)", chkMid.Checked)
+ End Sub
+
+ Private Sub chkOriginal_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkOriginal.CheckedChanged
+ Me.CheckAll("(original)", chkOriginal.Checked)
+ End Sub
+
+ Private Sub chkThumb_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkThumb.CheckedChanged
+ Me.CheckAll("(thumb)", chkThumb.Checked)
+ End Sub
+
+ Private Sub dlgImgSelect_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed
+ 'Me.tmpImage.Dispose()
+
+ IMPA = Nothing
+ MPDB = Nothing
+ TMDB = Nothing
+ IMDB = Nothing
+ FANARTTVs = Nothing
+
+ IMPAPosters = Nothing
+ MPDBPosters = Nothing
+ TMDBPosters = Nothing
+ IMDBPosters = Nothing
+ FANARTTVPosters = Nothing
+
+ End Sub
+
+ Private Sub dlgImgSelect_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
+ If Master.eSettings.AutoET AndAlso Not Master.eSettings.UseImgCache Then FileUtils.Delete.DeleteDirectory(Me.CachePath)
+ End Sub
+
+ Private Sub dlgImgSelect_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
+ If Not PreDL Then SetUp()
+ End Sub
+
+ Private Sub dlgImgSelect_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
+ Try
+ Application.DoEvents()
+ If Not PreDL Then
+ StartDownload()
+ ElseIf noImages Then
+ If Me.DLType = Enums.ImageType.Fanart Then
+ MsgBox(Master.eLang.GetString(28, "No Fanart found for this movie."), MsgBoxStyle.Information, Master.eLang.GetString(29, "No Fanart Found"))
+ Else
+ MsgBox(Master.eLang.GetString(30, "No Posters found for this movie."), MsgBoxStyle.Information, Master.eLang.GetString(31, "No Posters Found"))
+ End If
+ Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.Close()
+ End If
+
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub DoSelect(ByVal iIndex As Integer, poster As MediaContainers.Image)
+ Try
+ 'set all pnl colors to white first
+ 'remove all the current genres
+ For i As Integer = 0 To UBound(Me.pnlImage)
+ Me.pnlImage(i).BackColor = Color.White
+
+ If DLType = Enums.ImageType.Fanart Then
+ Me.chkImage(i).BackColor = Color.White
+ Me.chkImage(i).ForeColor = Color.Black
+ Else
+ Me.lblImage(i).BackColor = Color.White
+ Me.lblImage(i).ForeColor = Color.Black
+ End If
+ Next
+
+ 'set selected pnl color to blue
+ Me.pnlImage(iIndex).BackColor = Color.Blue
+
+ If DLType = Enums.ImageType.Fanart Then
+ Me.chkImage(iIndex).BackColor = Color.Blue
+ Me.chkImage(iIndex).ForeColor = Color.White
+ Else
+ Me.lblImage(iIndex).BackColor = Color.Blue
+ Me.lblImage(iIndex).ForeColor = Color.White
+ End If
+
+ Me.selIndex = iIndex
+
+ Me.pnlSize.Visible = False
+
+ If IsTMDBURL(poster.URL) Then
+ Me.SetupSizes(poster.ParentID)
+ If Not rbLarge.Checked AndAlso Not rbMedium.Checked AndAlso Not rbSmall.Checked AndAlso Not rbXLarge.Checked Then
+ Me.OK_Button.Enabled = False
+ Else
+ Me.OK_Button.Focus()
+ End If
+ Me.tmpImage.Clear()
+ Else
+ Me.rbXLarge.Checked = False
+ Me.rbLarge.Checked = False
+ Me.rbMedium.Checked = False
+ Me.rbSmall.Checked = False
+ Me.OK_Button.Enabled = True
+ Me.OK_Button.Focus()
+ Me.tmpImage = CType(Me.pbImage(iIndex).Tag, MediaContainers.Image)
+ End If
+
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Function IsTMDBURL(ByVal sURL As String) As Boolean
+ If sURL.ToLower.Contains(_TMDBConf.images.base_url.ToLower) Then
+ Return True
+ Else
+ Return False
+ End If
+ End Function
+
+ Private Function CleanTMDBURL(ByVal sURL As String) As String
+ If IsTMDBURL(sURL) Then
+ Dim _sURL As New Uri(sURL)
+ sURL = String.Concat("$$[themoviedb.org]", _sURL.GetComponents(UriComponents.Path, UriFormat.UriEscaped))
+ Else
+ sURL = StringUtils.TruncateURL(sURL, 40, True)
+ End If
+ Return sURL.Replace(":", "$c$").Replace("/", "$s$")
+ End Function
+
+
+ Private Sub GetFanart()
+ Try
+ Dim NoneFound As Boolean = True
+
+ If Master.eSettings.UseImgCache Then
+ Dim di As New DirectoryInfo(CachePath)
+ Dim lFi As New List(Of FileInfo)
+
+ If Not Directory.Exists(CachePath) Then
+ Directory.CreateDirectory(CachePath)
+ Else
+ Try
+ lFi.AddRange(di.GetFiles("*.jpg"))
+ Catch
+ End Try
+ End If
+
+ If lFi.Count > 0 Then
+ Me.pnlDLStatus.Visible = True
+ Application.DoEvents()
+ NoneFound = False
+ Dim tImage As MediaContainers.Image
+ For Each sFile As FileInfo In lFi
+ tImage = New MediaContainers.Image
+ tImage.WebImage.FromFile(sFile.FullName)
+ If Not IsNothing(tImage.WebImage.Image) Then
+ Select Case True
+ Case sFile.Name.Contains("(original)")
+ tImage.Description = "original"
+ If Master.eSettings.AutoET AndAlso Master.eSettings.AutoETSize = Enums.FanartSize.Lrg Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(sFile.FullName)) Then
+ tImage.isChecked = True
+ End If
+ End If
+ 'Case sFile.Name.Contains("(mid)")
+ ' tImage.Description = "mid"
+ Case sFile.Name.Contains("(poster)")
+ tImage.Description = "poster"
+
+ If Master.eSettings.AutoET AndAlso Master.eSettings.AutoETSize = Enums.FanartSize.Mid Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(sFile.FullName)) Then
+ tImage.isChecked = True
+ End If
+ End If
+ Case sFile.Name.Contains("(thumb)")
+ tImage.Description = "thumb"
+ If Master.eSettings.AutoET AndAlso Master.eSettings.AutoETSize = Enums.FanartSize.Small Then
+ If Not ETHashes.Contains(HashFile.HashCalcFile(sFile.FullName)) Then
+ tImage.isChecked = True
+ End If
+ End If
+ End Select
+ tImage.URL = Regex.Match(sFile.Name, "\(url=(.*?)\)").Groups(1).ToString
+ Me.TMDBPosters.Add(tImage)
+ End If
+ Next
+ Me.ProcessPics(TMDBPosters)
+ Me.pnlDLStatus.Visible = False
+ Me.pnlBG.Visible = True
+ 'Me.pnlFanart.Visible = True
+ 'Me.lblInfo.Visible = True
+ End If
+
+ lFi = Nothing
+ di = Nothing
+ End If
+
+ If Master.eSettings.AutoET AndAlso Not Directory.Exists(CachePath) Then
+ Directory.CreateDirectory(CachePath)
+ End If
+
+ Me.lblDL2.Text = Master.eLang.GetString(32, "Retrieving data from TheMovieDB.com...")
+ Me.lblDL2Status.Text = String.Empty
+ Me.pbDL2.Maximum = 3
+ Me.pnlDLStatus.Visible = True
+ Me.Refresh()
+
+ Me._tmdbDone = False
+
+ Me.TMDB.GetImagesAsync(tMovie.Movie.TMDBID, "backdrop")
+
+ If _MySettings.UseFANARTTV Then
+ Me.lblDL3.Text = Master.eLang.GetString(120, "Retrieving data from Fanart.tv...")
+ Me.lblDL3Status.Text = String.Empty
+ Me.pbDL3.Maximum = 3
+ Me.pnlDLStatus.Visible = True
+ Me.Refresh()
+
+ Me._fanarttvDone = False
+
+ Me.FANARTTVs.GetImagesAsync(tMovie.Movie.ID)
+ Else
+ Me.lblDL3.Text = Master.eLang.GetString(121, "Fanart.tv is not enabled")
+ End If
+
+
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub GetPosters()
+ Try
+ Dim NoneFound As Boolean = True
+
+ If Master.eSettings.UseImgCache Then
+ Dim lFi As New List(Of FileInfo)
+ Dim di As New DirectoryInfo(CachePath)
+
+ If Not Directory.Exists(CachePath) Then
+ Directory.CreateDirectory(CachePath)
+ Else
+ Try
+ lFi.AddRange(di.GetFiles("*.jpg"))
+ Catch
+ End Try
+ End If
+
+ If lFi.Count > 0 Then
+ Me.pnlDLStatus.Height = 165
+ Me.pnlDLStatus.Top = 207
+ Me.pnlDLStatus.Visible = True
+ Application.DoEvents()
+ NoneFound = False
+ Dim tImage As MediaContainers.Image
+ For Each sFile As FileInfo In lFi
+ tImage = New MediaContainers.Image
+ tImage.WebImage.FromFile(sFile.FullName)
+ Select Case True
+ Case sFile.Name.Contains("(original)")
+ tImage.Description = "original"
+ Case sFile.Name.Contains("(mid)")
+ tImage.Description = "mid"
+ Case sFile.Name.Contains("(cover)")
+ tImage.Description = "cover"
+ Case sFile.Name.Contains("(thumb)")
+ tImage.Description = "thumb"
+ Case sFile.Name.Contains("(poster)")
+ tImage.Description = "poster"
+ End Select
+ tImage.URL = Regex.Match(sFile.Name, "\(url=(.*?)\)").Groups(1).ToString
+ Me.TMDBPosters.Add(tImage)
+ Next
+ Me.ProcessPics(TMDBPosters)
+ Me.pnlDLStatus.Visible = False
+ Me.pnlBG.Visible = True
+ End If
+
+ lFi = Nothing
+ di = Nothing
+ End If
+
+ If NoneFound Then
+ Me.lblDL2.Text = Master.eLang.GetString(32, "Retrieving data from TheMovieDB.com...")
+ Me.lblDL2Status.Text = String.Empty
+ Me.pbDL2.Maximum = 3
+ Me.pnlDLStatus.Visible = True
+ Me.Refresh()
+
+ Me._tmdbDone = False
+
+ Me.TMDB.GetImagesAsync(tMovie.Movie.TMDBID, "poster")
+
+ If _MySettings.UseIMDB Then
+ Me.lblDL6.Text = Master.eLang.GetString(117, "Retrieving data from IMDB.com...")
+ Me.lblDL6Status.Text = String.Empty
+ Me.pbDL6.Maximum = 3
+ Me.pnlDLStatus.Visible = True
+ Me.Refresh()
+
+ Me._imdbDone = False
+
+ Me.IMDB.GetImagesAsync(tMovie.Movie.IMDBID)
+ Else
+ Me.lblDL6.Text = Master.eLang.GetString(118, "IMDB.com is not enabled")
+ End If
+
+ If _MySettings.UseIMPA Then
+ Me.lblDL4.Text = Master.eLang.GetString(34, "Retrieving data from IMPAwards.com...")
+ Me.lblDL4Status.Text = String.Empty
+ Me.pbDL4.Maximum = 3
+ Me.pnlDLStatus.Visible = True
+ Me.Refresh()
+
+ Me._impaDone = False
+
+ Me.IMPA.GetImagesAsync(tMovie.Movie.IMDBID)
+ Else
+ Me.lblDL4.Text = Master.eLang.GetString(35, "IMPAwards.com is not enabled")
+ End If
+
+ If _MySettings.UseMPDB Then
+ Me.lblDL5.Text = Master.eLang.GetString(36, "Retrieving data from MoviePosterDB.com...")
+ Me.lblDL5Status.Text = String.Empty
+ Me.pbDL5.Maximum = 3
+ Me.pnlDLStatus.Visible = True
+ Me.Refresh()
+
+ Me._mpdbDone = False
+
+ Me.MPDB.GetImagesAsync(tMovie.Movie.IMDBID)
+ Else
+ Me.lblDL5.Text = Master.eLang.GetString(37, "MoviePostersDB.com is not enabled")
+ End If
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub FANARTTVDoneDownloading()
+ Try
+ Me._fanarttvDone = True
+ Me.lblDL3.Text = Master.eLang.GetString(38, "Preparing images...")
+ Application.DoEvents()
+
+ Me.AllDoneDownloading()
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub FANARTTVPostersDownloaded(ByVal Posters As List(Of MediaContainers.Image))
+ Try
+ Me.pbDL3.Value = 0
+
+ 'Me.lblDL3.Text = Master.eLang.GetString(38, "Preparing images...")
+ Me.lblDL3Status.Text = String.Empty
+ Me.pbDL3.Maximum = Posters.Count
+
+ Me.FANARTTVPosters = Posters
+
+ Me.bwFANARTTVDownload.WorkerSupportsCancellation = True
+ Me.bwFANARTTVDownload.WorkerReportsProgress = True
+ Me.bwFANARTTVDownload.RunWorkerAsync()
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub FANARTTVProgressUpdated(ByVal iPercent As Integer)
+ Me.pbDL3.Value = iPercent
+ End Sub
+
+ Private Sub IMDBDoneDownloading()
+ Try
+ Me._imdbDone = True
+ Me.lblDL6.Text = Master.eLang.GetString(38, "Preparing images...")
+ Application.DoEvents()
+
+ Me.AllDoneDownloading()
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub IMDBPostersDownloaded(ByVal Posters As List(Of MediaContainers.Image))
+ Try
+ Me.pbDL6.Value = 0
+
+ 'Me.lblDL6.Text = Master.eLang.GetString(38, "Preparing images...")
+ Me.lblDL6Status.Text = String.Empty
+ Me.pbDL6.Maximum = Posters.Count
+
+ Me.IMDBPosters = Posters
+
+ Me.bwIMDBDownload.WorkerSupportsCancellation = True
+ Me.bwIMDBDownload.WorkerReportsProgress = True
+ Me.bwIMDBDownload.RunWorkerAsync()
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub IMDBProgressUpdated(ByVal iPercent As Integer)
+ Me.pbDL6.Value = iPercent
+ End Sub
+
+ Private Sub IMPADoneDownloading()
+ Try
+ Me._impaDone = True
+ Me.lblDL4.Text = Master.eLang.GetString(38, "Preparing images...")
+ Application.DoEvents()
+
+ Me.AllDoneDownloading()
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub IMPAPostersDownloaded(ByVal Posters As List(Of MediaContainers.Image))
+ Try
+ Me.pbDL4.Value = 0
+
+ 'Me.lblDL4.Text = Master.eLang.GetString(38, "Preparing images...")
+ Me.lblDL4Status.Text = String.Empty
+ Me.pbDL4.Maximum = Posters.Count
+
+ Me.IMPAPosters = Posters
+
+ Me.bwIMPADownload.WorkerSupportsCancellation = True
+ Me.bwIMPADownload.WorkerReportsProgress = True
+ Me.bwIMPADownload.RunWorkerAsync()
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub IMPAProgressUpdated(ByVal iPercent As Integer)
+ Me.pbDL4.Value = iPercent
+ End Sub
+
+
+ Private Sub lblImage_Click(ByVal sender As Object, ByVal e As System.EventArgs)
+ Me.DoSelect(Convert.ToInt32(DirectCast(sender, Label).Name), DirectCast(DirectCast(sender, Label).Tag, MediaContainers.Image))
+ End Sub
+
+ Private Sub MouseWheelEvent(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
+ If e.Delta < 0 Then
+ If (pnlBG.VerticalScroll.Value + 50) <= pnlBG.VerticalScroll.Maximum Then
+ pnlBG.VerticalScroll.Value += 50
+ Else
+ pnlBG.VerticalScroll.Value = pnlBG.VerticalScroll.Maximum
+ End If
+ Else
+ If (pnlBG.VerticalScroll.Value - 50) >= pnlBG.VerticalScroll.Minimum Then
+ pnlBG.VerticalScroll.Value -= 50
+ Else
+ pnlBG.VerticalScroll.Value = pnlBG.VerticalScroll.Minimum
+ End If
+ End If
+ End Sub
+
+ Private Sub MPDBDoneDownloading()
+ Try
+ Me._mpdbDone = True
+ Me.lblDL5.Text = Master.eLang.GetString(38, "Preparing images...")
+ Application.DoEvents()
+
+ Me.AllDoneDownloading()
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub MPDBPostersDownloaded(ByVal Posters As List(Of MediaContainers.Image))
+ Try
+ Me.pbDL5.Value = 0
+
+ 'Me.lblDL5.Text = Master.eLang.GetString(38, "Preparing images...")
+ Me.lblDL5Status.Text = String.Empty
+ Me.pbDL5.Maximum = Posters.Count
+
+ Me.MPDBPosters = Posters
+
+ Me.bwMPDBDownload.WorkerSupportsCancellation = True
+ Me.bwMPDBDownload.WorkerReportsProgress = True
+ Me.bwMPDBDownload.RunWorkerAsync()
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub MPDBProgressUpdated(ByVal iPercent As Integer)
+ Me.pbDL5.Value = iPercent
+ End Sub
+
+ Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
+ Try
+ Dim tmpPathPlus As String = String.Empty
+ Dim extrathumbSize As String
+
+ extrathumbSize = AdvancedSettings.GetSetting("ManualETSize", "thumb")
+
+ If DLType = Enums.ImageType.Fanart Then
+ tmpPathPlus = Path.Combine(Master.TempPath, "fanart.jpg")
+ Else
+ tmpPathPlus = Path.Combine(Master.TempPath, "poster.jpg")
+ End If
+
+ If Not IsNothing(Me.tmpImage.WebImage.Image) Then
+ If isEdit Then
+ Me.tmpImage.WebImage.Save(tmpPathPlus, , , False)
+ Results.ImagePath = tmpPathPlus
+ Else
+ If Me.DLType = Enums.ImageType.Fanart Then
+ Results.ImagePath = Me.tmpImage.WebImage.SaveAsFanart(tMovie)
+ Else
+ Results.ImagePath = Me.tmpImage.WebImage.SaveAsPoster(tMovie)
+ End If
+ End If
+ Else
+ Me.pnlBG.Visible = False
+ Me.pnlSinglePic.Visible = True
+ Me.Refresh()
+ Application.DoEvents()
+ Select Case True
+ Case Me.rbXLarge.Checked
+ If Master.eSettings.UseImgCache Then
+ tmpImage.WebImage.FromFile(Path.Combine(CachePath, String.Concat("poster_(original)_(url=", Me.rbXLarge.Tag, ").jpg")))
+ Else
+ If extrathumbSize = "original" And DLType = Enums.ImageType.Fanart Then
+ Me.tmpImage.WebImage = CType(Me.pbImage(selIndex).Tag, MediaContainers.Image).WebImage
+ Else
+ Me.tmpImage.WebImage.FromWeb(Me.rbXLarge.Tag.ToString)
+ End If
+ End If
+ Case Me.rbLarge.Checked
+ If Master.eSettings.UseImgCache Then
+ Me.tmpImage.WebImage.FromFile(Path.Combine(CachePath, String.Concat("poster_(mid)_(url=", Me.rbLarge.Tag, ").jpg")))
+ Else
+ If extrathumbSize = "w1280" And DLType = Enums.ImageType.Fanart Or Not DLType = Enums.ImageType.Fanart Then
+ Me.tmpImage.WebImage = CType(Me.pbImage(selIndex).Tag, MediaContainers.Image).WebImage
+ Else
+ Me.tmpImage.WebImage.FromWeb(Me.rbLarge.Tag.ToString)
+ End If
+ End If
+ Case Me.rbMedium.Checked
+ If extrathumbSize = "poster" And DLType = Enums.ImageType.Fanart Then
+ Me.tmpImage.WebImage = CType(Me.pbImage(selIndex).Tag, MediaContainers.Image).WebImage
+ Else
+ Me.tmpImage.WebImage.FromWeb(Me.rbMedium.Tag.ToString)
+ End If
+ Case Me.rbSmall.Checked
+ If Master.eSettings.UseImgCache Then
+ Me.tmpImage.WebImage.FromFile(Path.Combine(CachePath, String.Concat("poster_(thumb)_(url=", Me.rbSmall.Tag, ").jpg")))
+ Else
+ If extrathumbSize = "thumb" And DLType = Enums.ImageType.Fanart Then
+ Me.tmpImage.WebImage = CType(Me.pbImage(selIndex).Tag, MediaContainers.Image).WebImage
+ Else
+ Me.tmpImage.WebImage.FromWeb(Me.rbSmall.Tag.ToString)
+ End If
+ End If
+ End Select
+
+ If Not IsNothing(Me.tmpImage.WebImage.Image) Then
+ If isEdit Then
+ Me.tmpImage.WebImage.Save(tmpPathPlus, , , False)
+ Results.ImagePath = tmpPathPlus
+ Else
+ If Me.DLType = Enums.ImageType.Fanart Then
+ Results.ImagePath = Me.tmpImage.WebImage.SaveAsFanart(Me.tMovie)
+ Else
+ Results.ImagePath = Me.tmpImage.WebImage.SaveAsPoster(Me.tMovie)
+ End If
+ End If
+ End If
+ Me.pnlSinglePic.Visible = False
+ End If
+
+ If Me.DLType = Enums.ImageType.Fanart Then
+ Dim iMod As Integer = 0
+ Dim iVal As Integer = 1
+ Dim extraPath As String = String.Empty
+ Dim isChecked As Boolean = False
+
+ For i As Integer = 0 To UBound(Me.chkImage)
+ If Me.chkImage(i).Checked Then
+ isChecked = True
+ Exit For
+ End If
+ Next
+
+ If isChecked Then
+ Dim extrathumbsFolderName As String = AdvancedSettings.GetSetting("ExtraThumbsFolderName", "extrathumbs")
+ If isEdit Then
+ extraPath = Path.Combine(Master.TempPath, extrathumbsFolderName)
+ Else
+ If Master.eSettings.VideoTSParent AndAlso FileUtils.Common.isVideoTS(Me.tMovie.Filename) Then
+ extraPath = Path.Combine(Directory.GetParent(Directory.GetParent(Me.tMovie.Filename).FullName).FullName, extrathumbsFolderName)
+ ElseIf Master.eSettings.VideoTSParent AndAlso FileUtils.Common.isBDRip(Me.tMovie.Filename) Then
+ extraPath = Path.Combine(Directory.GetParent(Directory.GetParent(Directory.GetParent(Me.tMovie.Filename).FullName).FullName).FullName, extrathumbsFolderName)
+ Else
+ extraPath = Path.Combine(Directory.GetParent(Me.tMovie.Filename).FullName, extrathumbsFolderName)
+ End If
+ iMod = Functions.GetExtraModifier(extraPath)
+ iVal = iMod + 1
+ End If
+
+ If Not Directory.Exists(extraPath) Then
+ Directory.CreateDirectory(extraPath)
+ End If
+
+ Dim fsET As FileStream
+ For i As Integer = 0 To UBound(Me.chkImage)
+ If Me.chkImage(i).Checked Then
+ fsET = New FileStream(Path.Combine(extraPath, String.Concat("thumb", iVal, ".jpg")), FileMode.Create, FileAccess.ReadWrite)
+ Me.pbImage(i).Image.Save(fsET, System.Drawing.Imaging.ImageFormat.Jpeg)
+ fsET.Close()
+ iVal += 1
+ End If
+ Next
+ fsET = Nothing
+ End If
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ Me.DialogResult = System.Windows.Forms.DialogResult.OK
+ Me.Close()
+ End Sub
+
+ Private Sub pbImage_Click(ByVal sender As Object, ByVal e As System.EventArgs)
+ Me.DoSelect(Convert.ToInt32(DirectCast(sender, PictureBox).Name), DirectCast(DirectCast(sender, PictureBox).Tag, MediaContainers.Image))
+ End Sub
+
+ Private Sub pbImage_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs)
+ Try
+ 'If Me.DLType = Enums.ImageType.Fanart OrElse Not IsTMDBURL(DirectCast(sender, PictureBox).Tag.ToString) Then
+ 'ModulesManager.Instance.RuntimeObjects.InvokeOpenImageViewer(DirectCast(sender, PictureBox).Image)
+ 'Else
+ PreviewImage()
+ 'End If
+ Catch
+ End Try
+ End Sub
+
+ Private Sub pnlImage_Click(ByVal sender As Object, ByVal e As System.EventArgs)
+ Me.DoSelect(Convert.ToInt32(DirectCast(sender, Panel).Name), DirectCast(DirectCast(sender, Panel).Tag, MediaContainers.Image))
+ End Sub
+
+ Private Sub ProcessPics(ByVal posters As List(Of MediaContainers.Image))
+ Try
+ Dim iIndex As Integer = 0
+
+ 'remove all entries with invalid images
+ If Master.eSettings.UseImgCache Then
+ For i As Integer = posters.Count - 1 To 0 Step -1
+ If IsNothing(posters.Item(i).WebImage.Image) Then
+ posters.RemoveAt(i)
+ End If
+ Next
+ End If
+
+ If posters.Count > 0 Then
+ For Each xPoster As MediaContainers.Image In posters.OrderBy(Function(p) RemoveServerURL(p.URL))
+ If Not IsNothing(xPoster.WebImage.Image) AndAlso (Me.DLType = Enums.ImageType.Fanart OrElse Not (IsTMDBURL(xPoster.URL) AndAlso Not xPoster.Description = "cover")) Then
+ Me.AddImage(xPoster.Description, iIndex, xPoster.isChecked, xPoster)
+ iIndex += 1
+ End If
+ Next
+ Else
+ If Not Me.PreDL OrElse isShown Then
+ If Me.DLType = Enums.ImageType.Fanart Then
+ MsgBox(Master.eLang.GetString(28, "No Fanart found for this movie."), MsgBoxStyle.Information, Master.eLang.GetString(29, "No Fanart Found"))
+ Else
+ MsgBox(Master.eLang.GetString(30, "No Posters found for this movie."), MsgBoxStyle.Information, Master.eLang.GetString(31, "No Posters Found"))
+ End If
+ Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.Close()
+ Else
+ noImages = True
+ End If
+ End If
+
+ Me.Activate()
+
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub rbLarge_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbLarge.CheckedChanged
+ Me.OK_Button.Enabled = True
+ Me.btnPreview.Enabled = True
+ End Sub
+
+ Private Sub rbMedium_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbMedium.CheckedChanged
+ Me.OK_Button.Enabled = True
+ Me.btnPreview.Enabled = True
+ End Sub
+
+ Private Sub rbSmall_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbSmall.CheckedChanged
+ Me.OK_Button.Enabled = True
+ Me.btnPreview.Enabled = True
+ End Sub
+
+ Private Sub rbXLarge_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbXLarge.CheckedChanged
+ Me.OK_Button.Enabled = True
+ Me.btnPreview.Enabled = True
+ End Sub
+
+ Private Sub SetUp()
+ Try
+ AddHandler TMDB.PostersDownloaded, AddressOf TMDBPostersDownloaded
+ AddHandler TMDB.ProgressUpdated, AddressOf TMDBProgressUpdated
+ AddHandler IMPA.PostersDownloaded, AddressOf IMPAPostersDownloaded
+ AddHandler IMPA.ProgressUpdated, AddressOf IMPAProgressUpdated
+ AddHandler MPDB.PostersDownloaded, AddressOf MPDBPostersDownloaded
+ AddHandler MPDB.ProgressUpdated, AddressOf MPDBProgressUpdated
+ AddHandler IMDB.PostersDownloaded, AddressOf IMDBPostersDownloaded
+ AddHandler IMDB.ProgressUpdated, AddressOf IMDBProgressUpdated
+ AddHandler FANARTTVs.PostersDownloaded, AddressOf FANARTTVPostersDownloaded
+ AddHandler FANARTTVs.ProgressUpdated, AddressOf FANARTTVProgressUpdated
+ AddHandler IMPADone, AddressOf IMPADoneDownloading
+ AddHandler TMDBDone, AddressOf TMDBDoneDownloading
+ AddHandler MPDBDone, AddressOf MPDBDoneDownloading
+ AddHandler IMDBDone, AddressOf IMDBDoneDownloading
+ AddHandler FANARTTVDone, AddressOf FANARTTVDoneDownloading
+
+ AddHandler MyBase.MouseWheel, AddressOf MouseWheelEvent
+ AddHandler pnlBG.MouseWheel, AddressOf MouseWheelEvent
+
+ Functions.PNLDoubleBuffer(Me.pnlBG)
+
+ If Me.DLType = Enums.ImageType.Posters Then
+ Me.Text = String.Concat(Master.eLang.GetString(39, "Select Poster"), " - ", If(Not String.IsNullOrEmpty(Me.tMovie.Movie.Title), Me.tMovie.Movie.Title, Me.tMovie.ListTitle))
+ Me.pnlTMDB.Visible = True
+ Me.pnlIMDB.Visible = True
+ Me.pnlFANARTTV.Visible = False
+ Me.pnlIMPA.Visible = True
+ Me.pnlMDB.Visible = True
+ Me.pnlSinglePic.Visible = False
+ Me.pnlDLStatus.Height = 328
+ Me.pnlDLStatus.Top = 82
+ Else
+ Me.Text = String.Concat(Master.eLang.GetString(40, "Select Fanart"), " - ", If(Not String.IsNullOrEmpty(Me.tMovie.Movie.Title), Me.tMovie.Movie.Title, Me.tMovie.ListTitle))
+ Me.pnlTMDB.Visible = True
+ Me.pnlIMDB.Visible = False
+ Me.pnlFANARTTV.Visible = True
+ Me.pnlIMPA.Visible = False
+ Me.pnlMDB.Visible = False
+ Me.pnlSinglePic.Visible = False
+ Me.pnlDLStatus.Height = 165
+ Me.pnlDLStatus.Top = 129
+
+ If Master.eSettings.AutoET Then
+ ETHashes = HashFile.CurrentETHashes(tMovie.Filename)
+ End If
+ End If
+
+ CachePath = String.Concat(Master.TempPath, Path.DirectorySeparatorChar, tMovie.Movie.IMDBID, Path.DirectorySeparatorChar, If(Me.DLType = Enums.ImageType.Posters, "posters", "fanart"))
+
+ Me.OK_Button.Text = Master.eLang.GetString(179, "OK", True)
+ Me.Cancel_Button.Text = Master.eLang.GetString(167, "Cancel", True)
+ Me.btnPreview.Text = Master.eLang.GetString(180, "Preview", True)
+ Me.chkThumb.Text = Master.eLang.GetString(41, "Check All Thumb")
+ Me.chkMid.Text = Master.eLang.GetString(42, "Check All Mid")
+ Me.chkOriginal.Text = Master.eLang.GetString(43, "Check All Original")
+ Me.lblInfo.Text = Master.eLang.GetString(44, "Selected item will be set as fanart. All checked items will be saved to \extrathumbs.")
+ Me.lblDL5.Text = Master.eLang.GetString(45, "Performing Preliminary Tasks...")
+ Me.lblDL4.Text = Me.lblDL5.Text
+ Me.lblDL3.Text = Me.lblDL5.Text
+ Me.lblDL2.Text = Me.lblDL5.Text
+ Me.Label2.Text = Master.eLang.GetString(46, "Downloading Selected Image...")
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Function GetServerURL(ByVal sURL As String) As String
+ If sURL.StartsWith("http://") Then
+ Dim s As Integer = sURL.IndexOf("/", 7)
+ If s >= 0 Then Return sURL.Substring(0, sURL.IndexOf("/", 7))
+ End If
+ Return sURL
+ End Function
+
+ Private Function RemoveServerURL(ByVal sURL As String) As String
+ If sURL.StartsWith("http://") Then
+ Dim s As Integer = sURL.IndexOf("/", 7)
+ If s >= 0 Then Return sURL.Substring(sURL.IndexOf("/", 7))
+ End If
+ Return sURL
+ End Function
+
+ Private Sub SetupSizes(ByVal ParentID As String)
+ Try
+ rbXLarge.Checked = False
+ rbXLarge.Enabled = False
+ rbXLarge.Text = Master.eLang.GetString(47, "Original")
+ rbLarge.Checked = False
+ rbLarge.Enabled = False
+ rbMedium.Checked = False
+ rbSmall.Checked = False
+ rbSmall.Enabled = False
+ If Me.DLType = Enums.ImageType.Fanart Then
+ rbLarge.Text = "w1280"
+ rbMedium.Text = "poster"
+ rbSmall.Text = "thumb"
+ Else
+ rbLarge.Text = Master.eLang.GetString(48, "Cover")
+ rbMedium.Text = Master.eLang.GetString(49, "Medium")
+ rbSmall.Text = Master.eLang.GetString(50, "Small")
+ End If
+
+ For Each TMDBPoster As MediaContainers.Image In TMDBPosters.Where(Function(f) f.ParentID = ParentID)
+ Select Case TMDBPoster.Description
+ Case "original"
+ ' xlarge
+ If Not Master.eSettings.UseImgCache OrElse Not IsNothing(TMDBPoster.WebImage.Image) Then
+ rbXLarge.Enabled = True
+ rbXLarge.Tag = TMDBPoster.URL
+ 'If Master.eSettings.UseImgCache Then Me.rbXLarge.Text = String.Format(Master.eLang.GetString(51, "Original ({0}x{1})"), Me.TMDBPosters.Item(i).WebImage.Image.Width, Me.TMDBPosters.Item(i).WebImage.Image.Height)
+ rbXLarge.Text = String.Format(Master.eLang.GetString(51, "Original ({0}x{1})"), TMDBPoster.Width, TMDBPoster.Height)
+ End If
+ Case "cover"
+ ' large
+ If Not Master.eSettings.UseImgCache OrElse Not IsNothing(TMDBPoster.WebImage.Image) Then
+ rbLarge.Enabled = True
+ rbLarge.Tag = TMDBPoster.URL
+ 'If Master.eSettings.UseImgCache Then Me.rbLarge.Text = String.Format(Master.eLang.GetString(52, "Cover ({0}x{1})"), Me.TMDBPosters.Item(i).WebImage.Image.Width, Me.TMDBPosters.Item(i).WebImage.Image.Height)
+ rbLarge.Text = String.Format(Master.eLang.GetString(52, "Cover ({0}x{1})"), TMDBPoster.Width, TMDBPoster.Height)
+ End If
+ Case "w1280"
+ ' large
+ If Not Master.eSettings.UseImgCache OrElse Not IsNothing(TMDBPoster.WebImage.Image) Then
+ rbLarge.Enabled = True
+ rbLarge.Tag = TMDBPoster.URL
+ 'If Master.eSettings.UseImgCache Then Me.rbLarge.Text = String.Format(Master.eLang.GetString(52, "Cover ({0}x{1})"), Me.TMDBPosters.Item(i).WebImage.Image.Width, Me.TMDBPosters.Item(i).WebImage.Image.Height)
+ rbLarge.Text = String.Format("w1280 ({0}x{1})", TMDBPoster.Width, TMDBPoster.Height)
+ End If
+ Case "thumb"
+ ' small
+ If Not Master.eSettings.UseImgCache OrElse Not IsNothing(TMDBPoster.WebImage.Image) Then
+ rbSmall.Enabled = True
+ rbSmall.Tag = TMDBPoster.URL
+ 'If Master.eSettings.UseImgCache Then Me.rbSmall.Text = String.Format(Master.eLang.GetString(53, "Small ({0}x{1})"), Me.TMDBPosters.Item(i).WebImage.Image.Width, Me.TMDBPosters.Item(i).WebImage.Image.Height)
+ rbSmall.Text = String.Format(Master.eLang.GetString(53, "Small ({0}x{1})"), TMDBPoster.Width, TMDBPoster.Height)
+ End If
+ Case "mid"
+ 'If Master.eSettings.UseImgCache Then Me.rbMedium.Text = String.Format(Master.eLang.GetString(54, "Medium ({0}x{1})"), Me.TMDBPosters.Item(i).WebImage.Image.Width, Me.TMDBPosters.Item(i).WebImage.Image.Height)
+ rbMedium.Text = String.Format(Master.eLang.GetString(54, "Medium ({0}x{1})"), TMDBPoster.Width, TMDBPoster.Height)
+ rbMedium.Tag = TMDBPoster.URL
+ Case "poster"
+ 'If Master.eSettings.UseImgCache Then Me.rbMedium.Text = String.Format(Master.eLang.GetString(54, "Medium ({0}x{1})"), Me.TMDBPosters.Item(i).WebImage.Image.Width, Me.TMDBPosters.Item(i).WebImage.Image.Height)
+ rbMedium.Text = String.Format("Poster ({0}x{1})", TMDBPoster.Width, TMDBPoster.Height)
+ rbMedium.Tag = TMDBPoster.URL
+ End Select
+ Next
+
+ Select Case Master.eSettings.PreferredPosterSize
+ Case Enums.PosterSize.Small
+ rbSmall.Checked = rbSmall.Enabled
+ Case Enums.PosterSize.Mid
+ rbMedium.Checked = rbMedium.Enabled
+ Case Enums.PosterSize.Lrg
+ rbLarge.Checked = rbLarge.Enabled
+ Case Enums.PosterSize.Xlrg
+ rbXLarge.Checked = rbXLarge.Enabled
+ End Select
+
+ pnlSize.Visible = True
+
+ Invalidate()
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub StartDownload()
+ Try
+ Select Case Me.DLType
+ Case Enums.ImageType.Posters
+ Me.GetPosters()
+ Case Enums.ImageType.Fanart
+ Me.GetFanart()
+ End Select
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub TMDBDoneDownloading()
+ Try
+ Me._tmdbDone = True
+ Me.lblDL2.Text = Master.eLang.GetString(38, "Preparing images...")
+ Application.DoEvents()
+
+ Me.AllDoneDownloading()
+
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub TMDBPostersDownloaded(ByVal Posters As List(Of MediaContainers.Image))
+ Try
+ Me.pbDL2.Value = 0
+
+ 'Me.lblDL2.Text = Master.eLang.GetString(38, "Preparing images...")
+ Me.lblDL2Status.Text = String.Empty
+ Me.pbDL2.Maximum = Posters.Count
+
+ Me.TMDBPosters = Posters
+
+ Me.bwTMDBDownload.WorkerSupportsCancellation = True
+ Me.bwTMDBDownload.WorkerReportsProgress = True
+ Me.bwTMDBDownload.RunWorkerAsync()
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub TMDBProgressUpdated(ByVal iPercent As Integer)
+ Me.pbDL2.Value = iPercent
+ End Sub
+
+#End Region 'Methods
+
+End Class
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/dlgTMDBSearchResults.Designer.vb b/Addons/scraper.FanartTV.Poster/Scraper/dlgTMDBSearchResults.Designer.vb
new file mode 100644
index 0000000..edf9f3b
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/dlgTMDBSearchResults.Designer.vb
@@ -0,0 +1,460 @@
+ _
+Partial Class dlgTMDBSearchResults
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(dlgTMDBSearchResults))
+ Me.OK_Button = New System.Windows.Forms.Button()
+ Me.Cancel_Button = New System.Windows.Forms.Button()
+ Me.tvResults = New System.Windows.Forms.TreeView()
+ Me.pbPoster = New System.Windows.Forms.PictureBox()
+ Me.lblTitle = New System.Windows.Forms.Label()
+ Me.lblTagline = New System.Windows.Forms.Label()
+ Me.txtOutline = New System.Windows.Forms.TextBox()
+ Me.lblYear = New System.Windows.Forms.Label()
+ Me.lblDirector = New System.Windows.Forms.Label()
+ Me.lblGenre = New System.Windows.Forms.Label()
+ Me.txtTMDBID = New System.Windows.Forms.TextBox()
+ Me.pnlTop = New System.Windows.Forms.Panel()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.PictureBox1 = New System.Windows.Forms.PictureBox()
+ Me.chkManual = New System.Windows.Forms.CheckBox()
+ Me.btnVerify = New System.Windows.Forms.Button()
+ Me.lblIMDB = New System.Windows.Forms.Label()
+ Me.lblYearHeader = New System.Windows.Forms.Label()
+ Me.lblDirectorHeader = New System.Windows.Forms.Label()
+ Me.lblGenreHeader = New System.Windows.Forms.Label()
+ Me.lblIMDBHeader = New System.Windows.Forms.Label()
+ Me.lblPlotHeader = New System.Windows.Forms.Label()
+ Me.btnSearch = New System.Windows.Forms.Button()
+ Me.txtSearch = New System.Windows.Forms.TextBox()
+ Me.pnlLoading = New System.Windows.Forms.Panel()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
+ Me.pnlPicStatus = New System.Windows.Forms.Panel()
+ Me.Label4 = New System.Windows.Forms.Label()
+ CType(Me.pbPoster, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.pnlTop.SuspendLayout()
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.pnlLoading.SuspendLayout()
+ Me.pnlPicStatus.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'OK_Button
+ '
+ Me.OK_Button.Enabled = False
+ Me.OK_Button.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.OK_Button.Location = New System.Drawing.Point(497, 401)
+ Me.OK_Button.Name = "OK_Button"
+ Me.OK_Button.Size = New System.Drawing.Size(67, 22)
+ Me.OK_Button.TabIndex = 0
+ Me.OK_Button.Text = "OK"
+ '
+ 'Cancel_Button
+ '
+ Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.Cancel_Button.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Cancel_Button.Location = New System.Drawing.Point(570, 401)
+ Me.Cancel_Button.Name = "Cancel_Button"
+ Me.Cancel_Button.Size = New System.Drawing.Size(67, 22)
+ Me.Cancel_Button.TabIndex = 1
+ Me.Cancel_Button.Text = "Cancel"
+ '
+ 'tvResults
+ '
+ Me.tvResults.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.tvResults.HideSelection = False
+ Me.tvResults.Location = New System.Drawing.Point(4, 96)
+ Me.tvResults.Name = "tvResults"
+ Me.tvResults.ShowLines = False
+ Me.tvResults.ShowPlusMinus = False
+ Me.tvResults.ShowRootLines = False
+ Me.tvResults.Size = New System.Drawing.Size(281, 299)
+ Me.tvResults.TabIndex = 4
+ '
+ 'pbPoster
+ '
+ Me.pbPoster.Location = New System.Drawing.Point(294, 130)
+ Me.pbPoster.Name = "pbPoster"
+ Me.pbPoster.Size = New System.Drawing.Size(110, 130)
+ Me.pbPoster.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
+ Me.pbPoster.TabIndex = 2
+ Me.pbPoster.TabStop = False
+ Me.pbPoster.Visible = False
+ '
+ 'lblTitle
+ '
+ Me.lblTitle.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblTitle.Location = New System.Drawing.Point(291, 70)
+ Me.lblTitle.Name = "lblTitle"
+ Me.lblTitle.Size = New System.Drawing.Size(346, 19)
+ Me.lblTitle.TabIndex = 9
+ Me.lblTitle.Text = "Title"
+ Me.lblTitle.Visible = False
+ '
+ 'lblTagline
+ '
+ Me.lblTagline.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblTagline.Location = New System.Drawing.Point(291, 89)
+ Me.lblTagline.Name = "lblTagline"
+ Me.lblTagline.Size = New System.Drawing.Size(346, 16)
+ Me.lblTagline.TabIndex = 10
+ Me.lblTagline.Text = "Tagline"
+ Me.lblTagline.Visible = False
+ '
+ 'txtOutline
+ '
+ Me.txtOutline.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txtOutline.Location = New System.Drawing.Point(294, 295)
+ Me.txtOutline.Multiline = True
+ Me.txtOutline.Name = "txtOutline"
+ Me.txtOutline.Size = New System.Drawing.Size(343, 100)
+ Me.txtOutline.TabIndex = 22
+ Me.txtOutline.TabStop = False
+ Me.txtOutline.Visible = False
+ '
+ 'lblYear
+ '
+ Me.lblYear.AutoSize = True
+ Me.lblYear.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblYear.Location = New System.Drawing.Point(472, 130)
+ Me.lblYear.Name = "lblYear"
+ Me.lblYear.Size = New System.Drawing.Size(31, 13)
+ Me.lblYear.TabIndex = 13
+ Me.lblYear.Text = "0000"
+ Me.lblYear.Visible = False
+ '
+ 'lblDirector
+ '
+ Me.lblDirector.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblDirector.Location = New System.Drawing.Point(472, 156)
+ Me.lblDirector.Name = "lblDirector"
+ Me.lblDirector.Size = New System.Drawing.Size(165, 16)
+ Me.lblDirector.TabIndex = 15
+ Me.lblDirector.Text = "Director"
+ Me.lblDirector.Visible = False
+ '
+ 'lblGenre
+ '
+ Me.lblGenre.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblGenre.Location = New System.Drawing.Point(472, 183)
+ Me.lblGenre.Name = "lblGenre"
+ Me.lblGenre.Size = New System.Drawing.Size(165, 52)
+ Me.lblGenre.TabIndex = 17
+ Me.lblGenre.Text = "Genre"
+ Me.lblGenre.Visible = False
+ '
+ 'txtTMDBID
+ '
+ Me.txtTMDBID.Enabled = False
+ Me.txtTMDBID.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txtTMDBID.Location = New System.Drawing.Point(139, 399)
+ Me.txtTMDBID.Name = "txtTMDBID"
+ Me.txtTMDBID.Size = New System.Drawing.Size(100, 22)
+ Me.txtTMDBID.TabIndex = 6
+ '
+ 'pnlTop
+ '
+ Me.pnlTop.BackColor = System.Drawing.Color.LightSteelBlue
+ Me.pnlTop.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlTop.Controls.Add(Me.Label2)
+ Me.pnlTop.Controls.Add(Me.Label1)
+ Me.pnlTop.Controls.Add(Me.PictureBox1)
+ Me.pnlTop.Dock = System.Windows.Forms.DockStyle.Top
+ Me.pnlTop.Location = New System.Drawing.Point(0, 0)
+ Me.pnlTop.Name = "pnlTop"
+ Me.pnlTop.Size = New System.Drawing.Size(643, 64)
+ Me.pnlTop.TabIndex = 8
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.BackColor = System.Drawing.Color.Transparent
+ Me.Label2.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.Label2.ForeColor = System.Drawing.Color.White
+ Me.Label2.Location = New System.Drawing.Point(61, 38)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(276, 13)
+ Me.Label2.TabIndex = 1
+ Me.Label2.Text = "View details of each result to find the proper movie."
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.BackColor = System.Drawing.Color.Transparent
+ Me.Label1.Font = New System.Drawing.Font("Segoe UI", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.Label1.ForeColor = System.Drawing.Color.White
+ Me.Label1.Location = New System.Drawing.Point(58, 3)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(257, 32)
+ Me.Label1.TabIndex = 0
+ Me.Label1.Text = "Movie Search Results"
+ '
+ 'PictureBox1
+ '
+ Me.PictureBox1.BackColor = System.Drawing.Color.Transparent
+ Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)
+ Me.PictureBox1.Location = New System.Drawing.Point(7, 8)
+ Me.PictureBox1.Name = "PictureBox1"
+ Me.PictureBox1.Size = New System.Drawing.Size(48, 48)
+ Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize
+ Me.PictureBox1.TabIndex = 0
+ Me.PictureBox1.TabStop = False
+ '
+ 'chkManual
+ '
+ Me.chkManual.AutoSize = True
+ Me.chkManual.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkManual.Location = New System.Drawing.Point(4, 403)
+ Me.chkManual.Name = "chkManual"
+ Me.chkManual.Size = New System.Drawing.Size(130, 17)
+ Me.chkManual.TabIndex = 5
+ Me.chkManual.Text = "Manual TMDB Entry:"
+ Me.chkManual.UseVisualStyleBackColor = True
+ '
+ 'btnVerify
+ '
+ Me.btnVerify.Enabled = False
+ Me.btnVerify.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.btnVerify.Location = New System.Drawing.Point(245, 399)
+ Me.btnVerify.Name = "btnVerify"
+ Me.btnVerify.Size = New System.Drawing.Size(75, 22)
+ Me.btnVerify.TabIndex = 7
+ Me.btnVerify.Text = "Verify"
+ Me.btnVerify.UseVisualStyleBackColor = True
+ '
+ 'lblIMDB
+ '
+ Me.lblIMDB.AutoSize = True
+ Me.lblIMDB.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblIMDB.Location = New System.Drawing.Point(472, 247)
+ Me.lblIMDB.Name = "lblIMDB"
+ Me.lblIMDB.Size = New System.Drawing.Size(37, 13)
+ Me.lblIMDB.TabIndex = 20
+ Me.lblIMDB.Text = "TMDB"
+ Me.lblIMDB.Visible = False
+ '
+ 'lblYearHeader
+ '
+ Me.lblYearHeader.AutoSize = True
+ Me.lblYearHeader.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblYearHeader.Location = New System.Drawing.Point(410, 130)
+ Me.lblYearHeader.Name = "lblYearHeader"
+ Me.lblYearHeader.Size = New System.Drawing.Size(33, 13)
+ Me.lblYearHeader.TabIndex = 12
+ Me.lblYearHeader.Text = "Year:"
+ Me.lblYearHeader.Visible = False
+ '
+ 'lblDirectorHeader
+ '
+ Me.lblDirectorHeader.AutoSize = True
+ Me.lblDirectorHeader.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblDirectorHeader.Location = New System.Drawing.Point(410, 156)
+ Me.lblDirectorHeader.Name = "lblDirectorHeader"
+ Me.lblDirectorHeader.Size = New System.Drawing.Size(51, 13)
+ Me.lblDirectorHeader.TabIndex = 14
+ Me.lblDirectorHeader.Text = "Director:"
+ Me.lblDirectorHeader.Visible = False
+ '
+ 'lblGenreHeader
+ '
+ Me.lblGenreHeader.AutoSize = True
+ Me.lblGenreHeader.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblGenreHeader.Location = New System.Drawing.Point(410, 183)
+ Me.lblGenreHeader.Name = "lblGenreHeader"
+ Me.lblGenreHeader.Size = New System.Drawing.Size(54, 13)
+ Me.lblGenreHeader.TabIndex = 16
+ Me.lblGenreHeader.Text = "Genre(s):"
+ Me.lblGenreHeader.Visible = False
+ '
+ 'lblIMDBHeader
+ '
+ Me.lblIMDBHeader.AutoSize = True
+ Me.lblIMDBHeader.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblIMDBHeader.Location = New System.Drawing.Point(410, 247)
+ Me.lblIMDBHeader.Name = "lblIMDBHeader"
+ Me.lblIMDBHeader.Size = New System.Drawing.Size(56, 13)
+ Me.lblIMDBHeader.TabIndex = 19
+ Me.lblIMDBHeader.Text = "TMDB ID:"
+ Me.lblIMDBHeader.Visible = False
+ '
+ 'lblPlotHeader
+ '
+ Me.lblPlotHeader.AutoSize = True
+ Me.lblPlotHeader.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblPlotHeader.Location = New System.Drawing.Point(291, 279)
+ Me.lblPlotHeader.Name = "lblPlotHeader"
+ Me.lblPlotHeader.Size = New System.Drawing.Size(83, 13)
+ Me.lblPlotHeader.TabIndex = 21
+ Me.lblPlotHeader.Text = "Plot Summary:"
+ Me.lblPlotHeader.Visible = False
+ '
+ 'btnSearch
+ '
+ Me.btnSearch.Image = CType(resources.GetObject("btnSearch.Image"), System.Drawing.Image)
+ Me.btnSearch.Location = New System.Drawing.Point(262, 70)
+ Me.btnSearch.Name = "btnSearch"
+ Me.btnSearch.Size = New System.Drawing.Size(23, 23)
+ Me.btnSearch.TabIndex = 3
+ Me.btnSearch.UseVisualStyleBackColor = True
+ '
+ 'txtSearch
+ '
+ Me.txtSearch.Location = New System.Drawing.Point(4, 71)
+ Me.txtSearch.Name = "txtSearch"
+ Me.txtSearch.Size = New System.Drawing.Size(252, 22)
+ Me.txtSearch.TabIndex = 2
+ '
+ 'pnlLoading
+ '
+ Me.pnlLoading.BackColor = System.Drawing.Color.White
+ Me.pnlLoading.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlLoading.Controls.Add(Me.Label3)
+ Me.pnlLoading.Controls.Add(Me.ProgressBar1)
+ Me.pnlLoading.Location = New System.Drawing.Point(364, 183)
+ Me.pnlLoading.Name = "pnlLoading"
+ Me.pnlLoading.Size = New System.Drawing.Size(200, 54)
+ Me.pnlLoading.TabIndex = 18
+ '
+ 'Label3
+ '
+ Me.Label3.AutoSize = True
+ Me.Label3.Location = New System.Drawing.Point(3, 10)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(100, 13)
+ Me.Label3.TabIndex = 0
+ Me.Label3.Text = "Searching TMDB..."
+ Me.Label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'ProgressBar1
+ '
+ Me.ProgressBar1.Location = New System.Drawing.Point(3, 32)
+ Me.ProgressBar1.MarqueeAnimationSpeed = 25
+ Me.ProgressBar1.Name = "ProgressBar1"
+ Me.ProgressBar1.Size = New System.Drawing.Size(192, 17)
+ Me.ProgressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee
+ Me.ProgressBar1.TabIndex = 1
+ '
+ 'pnlPicStatus
+ '
+ Me.pnlPicStatus.BackColor = System.Drawing.Color.LightSteelBlue
+ Me.pnlPicStatus.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlPicStatus.Controls.Add(Me.Label4)
+ Me.pnlPicStatus.Location = New System.Drawing.Point(308, 155)
+ Me.pnlPicStatus.Name = "pnlPicStatus"
+ Me.pnlPicStatus.Size = New System.Drawing.Size(81, 45)
+ Me.pnlPicStatus.TabIndex = 11
+ '
+ 'Label4
+ '
+ Me.Label4.Location = New System.Drawing.Point(5, 5)
+ Me.Label4.Name = "Label4"
+ Me.Label4.Size = New System.Drawing.Size(70, 33)
+ Me.Label4.TabIndex = 0
+ Me.Label4.Text = "Fetching Poster..."
+ Me.Label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
+ '
+ 'dlgTMDBSearchResults
+ '
+ Me.AcceptButton = Me.OK_Button
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
+ Me.CancelButton = Me.Cancel_Button
+ Me.ClientSize = New System.Drawing.Size(643, 454)
+ Me.ControlBox = False
+ Me.Controls.Add(Me.pnlLoading)
+ Me.Controls.Add(Me.pnlPicStatus)
+ Me.Controls.Add(Me.Cancel_Button)
+ Me.Controls.Add(Me.OK_Button)
+ Me.Controls.Add(Me.btnSearch)
+ Me.Controls.Add(Me.txtSearch)
+ Me.Controls.Add(Me.lblPlotHeader)
+ Me.Controls.Add(Me.lblIMDBHeader)
+ Me.Controls.Add(Me.lblGenreHeader)
+ Me.Controls.Add(Me.lblDirectorHeader)
+ Me.Controls.Add(Me.lblYearHeader)
+ Me.Controls.Add(Me.lblIMDB)
+ Me.Controls.Add(Me.btnVerify)
+ Me.Controls.Add(Me.chkManual)
+ Me.Controls.Add(Me.pnlTop)
+ Me.Controls.Add(Me.txtTMDBID)
+ Me.Controls.Add(Me.lblGenre)
+ Me.Controls.Add(Me.lblDirector)
+ Me.Controls.Add(Me.lblYear)
+ Me.Controls.Add(Me.txtOutline)
+ Me.Controls.Add(Me.lblTagline)
+ Me.Controls.Add(Me.lblTitle)
+ Me.Controls.Add(Me.pbPoster)
+ Me.Controls.Add(Me.tvResults)
+ Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.MinimumSize = New System.Drawing.Size(649, 460)
+ Me.Name = "dlgTMDBSearchResults"
+ Me.ShowIcon = False
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "Search Results"
+ CType(Me.pbPoster, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.pnlTop.ResumeLayout(False)
+ Me.pnlTop.PerformLayout()
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.pnlLoading.ResumeLayout(False)
+ Me.pnlLoading.PerformLayout()
+ Me.pnlPicStatus.ResumeLayout(False)
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents OK_Button As System.Windows.Forms.Button
+ Friend WithEvents Cancel_Button As System.Windows.Forms.Button
+ Friend WithEvents tvResults As System.Windows.Forms.TreeView
+ Friend WithEvents pbPoster As System.Windows.Forms.PictureBox
+ Friend WithEvents lblTitle As System.Windows.Forms.Label
+ Friend WithEvents lblTagline As System.Windows.Forms.Label
+ Friend WithEvents txtOutline As System.Windows.Forms.TextBox
+ Friend WithEvents lblYear As System.Windows.Forms.Label
+ Friend WithEvents lblDirector As System.Windows.Forms.Label
+ Friend WithEvents lblGenre As System.Windows.Forms.Label
+ Friend WithEvents txtTMDBID As System.Windows.Forms.TextBox
+ Friend WithEvents pnlTop As System.Windows.Forms.Panel
+ Friend WithEvents Label2 As System.Windows.Forms.Label
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
+ Friend WithEvents chkManual As System.Windows.Forms.CheckBox
+ Friend WithEvents btnVerify As System.Windows.Forms.Button
+ Friend WithEvents lblIMDB As System.Windows.Forms.Label
+ Friend WithEvents lblYearHeader As System.Windows.Forms.Label
+ Friend WithEvents lblDirectorHeader As System.Windows.Forms.Label
+ Friend WithEvents lblGenreHeader As System.Windows.Forms.Label
+ Friend WithEvents lblIMDBHeader As System.Windows.Forms.Label
+ Friend WithEvents lblPlotHeader As System.Windows.Forms.Label
+ Friend WithEvents btnSearch As System.Windows.Forms.Button
+ Friend WithEvents txtSearch As System.Windows.Forms.TextBox
+ Friend WithEvents pnlLoading As System.Windows.Forms.Panel
+ Friend WithEvents Label3 As System.Windows.Forms.Label
+ Friend WithEvents ProgressBar1 As System.Windows.Forms.ProgressBar
+ Friend WithEvents pnlPicStatus As System.Windows.Forms.Panel
+ Friend WithEvents Label4 As System.Windows.Forms.Label
+
+End Class
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/dlgTMDBSearchResults.resx b/Addons/scraper.FanartTV.Poster/Scraper/dlgTMDBSearchResults.resx
new file mode 100644
index 0000000..017a5ad
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/dlgTMDBSearchResults.resx
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ 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
+ gg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK6QAA
+ CukB/XXO0wAAAepJREFUOE+lkktIG1EUhkeFaLQ+UGulgthNEUHRCrqyIHZTdSd0Iyq46cL3Sly50ppV
+ uywYi2uDiyKK1ioFk0lm7mSmSgymJuIqSkwwCTVpGs3fM0Pa+poWceBj4N5zvnvOuZcDwN2HeyWrB98Q
+ LFosuRJjz51O6cXmxsaj/1V3RSAx8fVXRQnIsgwVRZHjJHr7L8kfAROFPoWS3G43gicnCIVC8O7vQ11z
+ StKsnkQTrK6sGCSJBXddLpyfJ5FKpTTUz+f1gvbA22w1t0k0AW3WCYIAv9+PZPIn4vGYRiLxA+HwKRhj
+ EByOIV2BdWur3mG34/j4iJISiEYjRBSx2BkikQiYKOJQ4ft1BZ/X13NIEHalW1CrUEVACj6fF4yqe2W2
+ TegK0m0MiBSoziEQCNAQg/B4PPi2I8Fk+QJucBnZI0vvrkuuXCPP8+PU63dC7RnbTvHi/cKnA2O3GYbu
+ OeT0ziOv58Na8djHgt+iGw+JHk+pzWrtpMF27cn2Ko7jMnLbTebCl1MoaH+D/I4ZFHbM7FZ0ThtvfYl6
+ 913WMjFc2jyGkqZRlNC/om2yXBNk0RFEEfGEqCZqiXriGdGYpoHCHhdXtg6W1fQKD592mQwZ3N8KKCiL
+ yCaMRB7xgMi/zuXqMinnTi3otfYLj6yxrhdJtZ8AAAAASUVORK5CYII=
+
+
+
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/dlgTMDBSearchResults.vb b/Addons/scraper.FanartTV.Poster/Scraper/dlgTMDBSearchResults.vb
new file mode 100644
index 0000000..d05fd0b
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/dlgTMDBSearchResults.vb
@@ -0,0 +1,462 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports System.Text.RegularExpressions
+Imports EmberAPI
+Imports WatTmdb
+
+Public Class dlgTMDBSearchResults
+
+#Region "Fields"
+
+ Friend WithEvents bwDownloadPic As New System.ComponentModel.BackgroundWorker
+ Friend WithEvents tmrLoad As New System.Windows.Forms.Timer
+ Friend WithEvents tmrWait As New System.Windows.Forms.Timer
+
+ Private TMDBg As TMDBg.Scraper
+ Private sHTTP As New HTTP
+ Private _currnode As Integer = -1
+ Private _prevnode As Integer = -2
+ Private MySettings As EmberTMDBScraperModule.sMySettings
+ 'Private TMDBConf As V3.TmdbConfiguration
+ 'Private TMDBApi As V3.Tmdb
+
+ Private _InfoCache As New Dictionary(Of String, MediaContainers.Movie)
+ Private _PosterCache As New Dictionary(Of String, System.Drawing.Image)
+ Private _filterOptions As Structures.ScrapeOptions
+
+#End Region 'Fields
+
+#Region "Methods"
+
+ Public Sub New(_MySettings As EmberTMDBScraperModule.sMySettings, _TMDBg As TMDBg.Scraper)
+
+ ' This call is required by the designer.
+ InitializeComponent()
+ 'TMDBApi = New WatTmdb.V3.Tmdb(_MySettings.TMDBAPIKey, _MySettings.TMDBLanguage)
+ 'TMDBConf = TMDBApi.GetConfiguration()
+ MySettings = _MySettings
+ TMDBg = _TMDBg
+ End Sub
+
+
+ Public Overloads Function ShowDialog(ByVal sMovieTitle As String, ByVal filterOptions As Structures.ScrapeOptions) As Windows.Forms.DialogResult
+ Me.tmrWait.Enabled = False
+ Me.tmrWait.Interval = 250
+ Me.tmrLoad.Enabled = False
+ Me.tmrLoad.Interval = 100
+
+ _filterOptions = filterOptions
+
+ Me.Text = String.Concat(Master.eLang.GetString(10, "Search Results"), " - ", sMovieTitle)
+ Me.txtSearch.Text = sMovieTitle
+ chkManual.Enabled = False
+ 'TMDBg.IMDBURL = TMDBId
+ TMDBg.SearchMovieAsync(sMovieTitle, _filterOptions)
+
+ Return MyBase.ShowDialog()
+ End Function
+
+ Public Overloads Function ShowDialog(ByVal Res As TMDBg.MovieSearchResults, ByVal sMovieTitle As String) As Windows.Forms.DialogResult
+ Me.tmrWait.Enabled = False
+ Me.tmrWait.Interval = 250
+ Me.tmrLoad.Enabled = False
+ Me.tmrLoad.Interval = 100
+
+ Me.Text = String.Concat(Master.eLang.GetString(10, "Search Results"), " - ", sMovieTitle)
+ Me.txtSearch.Text = sMovieTitle
+ SearchResultsDownloaded(Res)
+
+ Return MyBase.ShowDialog()
+ End Function
+
+ Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click
+ If Not String.IsNullOrEmpty(Me.txtSearch.Text) Then
+ Me.OK_Button.Enabled = False
+ pnlPicStatus.Visible = False
+ _InfoCache.Clear()
+ _PosterCache.Clear()
+ Me.ClearInfo()
+ Me.Label3.Text = Master.eLang.GetString(11, "Searching TMDB...")
+ Me.pnlLoading.Visible = True
+ chkManual.Enabled = False
+ TMDBg.CancelAsync()
+ 'IMDB.IMDBURL = IMDBURL
+ TMDBg.SearchMovieAsync(Me.txtSearch.Text, _filterOptions)
+ End If
+ End Sub
+
+ Private Sub btnVerify_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerify.Click
+ '' The rule is that if there is a tt is an IMDB otherwise is a TMDB
+ TMDBg.GetSearchMovieInfoAsync(Me.txtTMDBID.Text, Master.tmpMovie, Master.DefaultOptions)
+
+ End Sub
+
+ Private Sub bwDownloadPic_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwDownloadPic.DoWork
+ Dim Args As Arguments = DirectCast(e.Argument, Arguments)
+
+ sHTTP.StartDownloadImage(Args.pURL)
+
+ While sHTTP.IsDownloading
+ Application.DoEvents()
+ Threading.Thread.Sleep(50)
+ End While
+
+ e.Result = New Results With {.Result = sHTTP.Image, .IMDBId = Args.IMDBId}
+ End Sub
+
+ Private Sub bwDownloadPic_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwDownloadPic.RunWorkerCompleted
+ '//
+ ' Thread finished: display pic if it was able to get one
+ '\\
+
+ Dim Res As Results = DirectCast(e.Result, Results)
+
+ Try
+ Me.pbPoster.Image = Res.Result
+ If Not _PosterCache.ContainsKey(Res.IMDBId) Then
+ _PosterCache.Add(Res.IMDBId, Res.Result)
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ Finally
+ pnlPicStatus.Visible = False
+ End Try
+ End Sub
+
+ Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
+ Master.tmpMovie.Clear()
+
+ Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.Close()
+ End Sub
+
+ Private Sub chkManual_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkManual.CheckedChanged
+ Me.ClearInfo()
+ Me.OK_Button.Enabled = False
+ Me.txtTMDBID.Enabled = Me.chkManual.Checked
+ Me.btnVerify.Enabled = Me.chkManual.Checked
+ Me.tvResults.Enabled = Not Me.chkManual.Checked
+
+ If Not Me.chkManual.Checked Then
+ txtTMDBID.Text = String.Empty
+ End If
+ End Sub
+
+ Private Sub ClearInfo()
+ Me.ControlsVisible(False)
+ Me.lblTitle.Text = String.Empty
+ Me.lblTagline.Text = String.Empty
+ Me.lblYear.Text = String.Empty
+ Me.lblDirector.Text = String.Empty
+ Me.lblGenre.Text = String.Empty
+ Me.txtOutline.Text = String.Empty
+ Me.lblIMDB.Text = String.Empty
+ Me.pbPoster.Image = Nothing
+
+ Master.tmpMovie.Clear()
+
+ TMDBg.CancelAsync()
+ End Sub
+
+ Private Sub ControlsVisible(ByVal areVisible As Boolean)
+ Me.lblYearHeader.Visible = areVisible
+ Me.lblDirectorHeader.Visible = areVisible
+ Me.lblGenreHeader.Visible = areVisible
+ Me.lblPlotHeader.Visible = areVisible
+ Me.lblIMDBHeader.Visible = areVisible
+ Me.txtOutline.Visible = areVisible
+ Me.lblYear.Visible = areVisible
+ Me.lblTagline.Visible = areVisible
+ Me.lblTitle.Visible = areVisible
+ Me.lblDirector.Visible = areVisible
+ Me.lblGenre.Visible = areVisible
+ Me.lblIMDB.Visible = areVisible
+ Me.pbPoster.Visible = areVisible
+ End Sub
+
+ Private Sub dlgIMDBSearchResults_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.GotFocus
+ Me.AcceptButton = Me.OK_Button
+ End Sub
+
+ Private Sub dlgIMDBSearchResults_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
+ Me.SetUp()
+ pnlPicStatus.Visible = False
+ 'TMDBg.IMDBURL = IMDBURL
+ AddHandler TMDBg.SearchMovieInfoDownloaded, AddressOf SearchMovieInfoDownloaded
+ AddHandler TMDBg.SearchResultsDownloaded, AddressOf SearchResultsDownloaded
+
+ Try
+ Dim iBackground As New Bitmap(Me.pnlTop.Width, Me.pnlTop.Height)
+ Using g As Graphics = Graphics.FromImage(iBackground)
+ g.FillRectangle(New Drawing2D.LinearGradientBrush(Me.pnlTop.ClientRectangle, Color.SteelBlue, Color.LightSteelBlue, Drawing2D.LinearGradientMode.Horizontal), pnlTop.ClientRectangle)
+ Me.pnlTop.BackgroundImage = iBackground
+ End Using
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub dlgIMDBSearchResults_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
+ Me.Activate()
+ Me.tvResults.Focus()
+ End Sub
+
+ Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
+ Try
+ If Me.chkManual.Checked AndAlso Me.btnVerify.Enabled Then
+ '' The rule is that if there is a tt is an IMDB otherwise is a TMDB
+ Master.tmpMovie.IMDBID = Me.txtTMDBID.Text
+ End If
+ Me.DialogResult = System.Windows.Forms.DialogResult.OK
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ Me.Close()
+ End Sub
+
+ Private Sub SearchMovieInfoDownloaded(ByVal sPoster As String, ByVal bSuccess As Boolean)
+ '//
+ ' Info downloaded... fill form with data
+ '\\
+
+ Me.pnlLoading.Visible = False
+ Me.OK_Button.Enabled = True
+
+ Try
+ If bSuccess Then
+ Me.ControlsVisible(True)
+ Me.lblTitle.Text = Master.tmpMovie.Title
+ Me.lblTagline.Text = Master.tmpMovie.Tagline
+ Me.lblYear.Text = Master.tmpMovie.Year
+ Me.lblDirector.Text = Master.tmpMovie.Director
+ Me.lblGenre.Text = Master.tmpMovie.Genre
+ Me.txtOutline.Text = Master.tmpMovie.Outline
+ Me.lblIMDB.Text = Master.tmpMovie.IMDBID
+
+ If _PosterCache.ContainsKey(Master.tmpMovie.TMDBID) Then
+ 'just set it
+ Me.pbPoster.Image = _PosterCache(Master.tmpMovie.TMDBID)
+ Else
+ 'go download it, if available
+ If Not String.IsNullOrEmpty(sPoster) Then
+ If Me.bwDownloadPic.IsBusy Then
+ Me.bwDownloadPic.CancelAsync()
+ End If
+ pnlPicStatus.Visible = True
+ Me.bwDownloadPic = New System.ComponentModel.BackgroundWorker
+ Me.bwDownloadPic.WorkerSupportsCancellation = True
+ Me.bwDownloadPic.RunWorkerAsync(New Arguments With {.pURL = sPoster, .IMDBId = Master.tmpMovie.TMDBID})
+ End If
+
+ End If
+
+ 'store clone of tmpmovie
+ If Not _InfoCache.ContainsKey(Master.tmpMovie.TMDBID) Then
+ _InfoCache.Add(Master.tmpMovie.TMDBID, GetMovieClone(Master.tmpMovie))
+ End If
+
+
+ Me.btnVerify.Enabled = False
+ Else
+ If Me.chkManual.Checked Then
+ MsgBox(Master.eLang.GetString(15, "Unable to retrieve movie details for the entered IMDB ID. Please check your entry and try again."), MsgBoxStyle.Exclamation, Master.eLang.GetString(16, "Verification Failed"))
+ Me.btnVerify.Enabled = True
+ End If
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub SearchResultsDownloaded(ByVal M As TMDBg.MovieSearchResults)
+ '//
+ ' Process the results that IMDB gave us
+ '\\
+ 'Dim TnP As New TreeNode
+ 'Dim selNode As New TreeNode
+
+ Try
+ Me.tvResults.Nodes.Clear()
+ Me.ClearInfo()
+ If Not IsNothing(M) AndAlso M.Matches.Count > 0 Then
+
+ 'M.Matches.Sort()
+ For Each Movie As MediaContainers.Movie In M.Matches
+ 'TnP.Nodes.Add(New TreeNode() With {.Text = String.Concat(Movie.Title, If(Not String.IsNullOrEmpty(Movie.Year), String.Format(" ({0})", Movie.Year), String.Empty)), .Tag = Movie.IMDBID})
+ Me.tvResults.Nodes.Add(New TreeNode() With {.Text = String.Concat(Movie.Title, If(Not String.IsNullOrEmpty(Movie.Year), String.Format(" ({0})", Movie.Year), String.Empty)), .Tag = Movie.TMDBID})
+ Next
+ 'TnP.Expand()
+ 'Me.tvResults.Nodes.Add(TnP)
+ 'selNode = Me.tvResults.Nodes(0)
+ 'selNode = TnP.FirstNode
+ 'selNode = Me.tvResults.Nodes(0)
+ Me.tvResults.SelectedNode = Me.tvResults.Nodes(0)
+
+ Me._prevnode = -2
+
+ Me.tvResults.Focus()
+ Else
+ Me.tvResults.Nodes.Add(New TreeNode With {.Text = Master.eLang.GetString(20, "No Matches Found")})
+ End If
+ Me.pnlLoading.Visible = False
+ chkManual.Enabled = True
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub SetUp()
+ Me.OK_Button.Text = Master.eLang.GetString(179, "OK", True)
+ Me.Cancel_Button.Text = Master.eLang.GetString(167, "Cancel", True)
+ Me.Label2.Text = Master.eLang.GetString(21, "View details of each result to find the proper movie.")
+ Me.Label1.Text = Master.eLang.GetString(22, "Movie Search Results")
+ Me.chkManual.Text = Master.eLang.GetString(23, "Manual TMDB Entry:")
+ Me.btnVerify.Text = Master.eLang.GetString(24, "Verify")
+ Me.lblYearHeader.Text = Master.eLang.GetString(49, "Year:", True)
+ Me.lblDirectorHeader.Text = Master.eLang.GetString(239, "Director:", True)
+ Me.lblGenreHeader.Text = Master.eLang.GetString(51, "Genre(s):", True)
+ Me.lblIMDBHeader.Text = Master.eLang.GetString(116, "TMDB ID:")
+ Me.lblPlotHeader.Text = Master.eLang.GetString(242, "Plot Outline:", True)
+ Me.Label3.Text = Master.eLang.GetString(25, "Searching TMDB...")
+ End Sub
+
+ Private Sub tmrLoad_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrLoad.Tick
+ Me.tmrWait.Stop()
+ Me.tmrLoad.Stop()
+ Me.pnlLoading.Visible = True
+ Me.Label3.Text = Master.eLang.GetString(26, "Downloading details...")
+
+ 'IMDB.IMDBURL = IMDBURL
+ TMDBg.GetSearchMovieInfoAsync(Me.tvResults.SelectedNode.Tag.ToString, Master.tmpMovie, Master.DefaultOptions)
+ End Sub
+
+ Private Sub tmrWait_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrWait.Tick
+ If Not Me._prevnode = Me._currnode Then
+ Me._prevnode = Me._currnode
+ Me.tmrWait.Stop()
+ Me.tmrLoad.Start()
+ Else
+ Me.tmrLoad.Stop()
+ Me.tmrWait.Stop()
+ End If
+ End Sub
+
+ Private Sub tvResults_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles tvResults.AfterSelect
+ Try
+ Me.tmrWait.Stop()
+ Me.tmrLoad.Stop()
+
+ Me.ClearInfo()
+ Me.OK_Button.Enabled = False
+
+ If Not IsNothing(Me.tvResults.SelectedNode.Tag) AndAlso Not String.IsNullOrEmpty(Me.tvResults.SelectedNode.Tag.ToString) Then
+ Me._currnode = Me.tvResults.SelectedNode.Index
+
+ 'check if this movie is in the cache already
+ If _InfoCache.ContainsKey(Me.tvResults.SelectedNode.Tag.ToString) Then
+ Master.tmpMovie = GetMovieClone(_InfoCache(Me.tvResults.SelectedNode.Tag.ToString))
+ SearchMovieInfoDownloaded(String.Empty, True)
+ Return
+ End If
+
+ Me.pnlLoading.Visible = True
+ Me.tmrWait.Start()
+ Else
+ Me.pnlLoading.Visible = False
+ End If
+
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub tvResults_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles tvResults.GotFocus
+ Me.AcceptButton = Me.OK_Button
+ End Sub
+
+ Private Sub txtIMDBID_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtTMDBID.GotFocus
+ Me.AcceptButton = Me.btnVerify
+ End Sub
+
+ Private Sub txtIMDBID_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTMDBID.TextChanged
+ If Me.chkManual.Checked Then
+ Me.btnVerify.Enabled = True
+ Me.OK_Button.Enabled = False
+ End If
+ End Sub
+
+ Private Sub txtSearch_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtSearch.GotFocus
+ Me.AcceptButton = Me.btnSearch
+ End Sub
+
+ Private Function GetMovieClone(ByVal original As MediaContainers.Movie) As MediaContainers.Movie
+ 'have to do this the old-fashioned way because it is not serializable
+ Dim result As New MediaContainers.Movie
+ With result
+ .IMDBID = original.IMDBID
+ .Genre = original.Genre
+ .Title = original.Title
+ .Tagline = original.Tagline
+ .Year = original.Year
+ .Director = original.Director
+ .Genre = original.Genre
+ .Outline = original.Outline
+ End With
+ Return result
+ 'Using mem As New IO.MemoryStream()
+ ' Dim bin As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(Nothing, New System.Runtime.Serialization.StreamingContext(Runtime.Serialization.StreamingContextStates.Clone))
+ ' bin.Serialize(mem, original)
+ ' mem.Seek(0, IO.SeekOrigin.Begin)
+ ' Return DirectCast(bin.Deserialize(mem), MediaContainers.Movie)
+ 'End Using
+ End Function
+
+
+#End Region 'Methods
+
+#Region "Nested Types"
+
+ Private Structure Arguments
+
+#Region "Fields"
+
+ Dim pURL As String
+ Dim IMDBId As String
+
+#End Region 'Fields
+
+ End Structure
+
+ Private Structure Results
+
+#Region "Fields"
+
+ Dim Result As Image
+ Dim IMDBId As String
+
+#End Region 'Fields
+
+ End Structure
+
+#End Region 'Nested Types
+
+End Class
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailer.Designer.vb b/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailer.Designer.vb
new file mode 100644
index 0000000..1865dbc
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailer.Designer.vb
@@ -0,0 +1,279 @@
+ _
+Partial Class dlgTrailer
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(dlgTrailer))
+ Me.OK_Button = New System.Windows.Forms.Button()
+ Me.Cancel_Button = New System.Windows.Forms.Button()
+ Me.lbTrailers = New System.Windows.Forms.ListBox()
+ Me.GroupBox1 = New System.Windows.Forms.GroupBox()
+ Me.pnlStatus = New System.Windows.Forms.Panel()
+ Me.lblStatus = New System.Windows.Forms.Label()
+ Me.pbStatus = New System.Windows.Forms.ProgressBar()
+ Me.btnGetTrailers = New System.Windows.Forms.Button()
+ Me.GroupBox2 = New System.Windows.Forms.GroupBox()
+ Me.btnBrowse = New System.Windows.Forms.Button()
+ Me.txtManual = New System.Windows.Forms.TextBox()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.txtYouTube = New System.Windows.Forms.TextBox()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.btnPlayTrailer = New System.Windows.Forms.Button()
+ Me.btnSetNfo = New System.Windows.Forms.Button()
+ Me.ofdTrailer = New System.Windows.Forms.OpenFileDialog()
+ Me.Panel1 = New System.Windows.Forms.Panel()
+ Me.GroupBox1.SuspendLayout()
+ Me.pnlStatus.SuspendLayout()
+ Me.GroupBox2.SuspendLayout()
+ Me.Panel1.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'OK_Button
+ '
+ Me.OK_Button.Enabled = False
+ Me.OK_Button.Location = New System.Drawing.Point(290, 339)
+ Me.OK_Button.Name = "OK_Button"
+ Me.OK_Button.Size = New System.Drawing.Size(74, 23)
+ Me.OK_Button.TabIndex = 0
+ Me.OK_Button.Text = "Download"
+ '
+ 'Cancel_Button
+ '
+ Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.Cancel_Button.Location = New System.Drawing.Point(369, 339)
+ Me.Cancel_Button.Name = "Cancel_Button"
+ Me.Cancel_Button.Size = New System.Drawing.Size(67, 23)
+ Me.Cancel_Button.TabIndex = 1
+ Me.Cancel_Button.Text = "Cancel"
+ '
+ 'lbTrailers
+ '
+ Me.lbTrailers.Enabled = False
+ Me.lbTrailers.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lbTrailers.FormattingEnabled = True
+ Me.lbTrailers.HorizontalScrollbar = True
+ Me.lbTrailers.Location = New System.Drawing.Point(6, 19)
+ Me.lbTrailers.Name = "lbTrailers"
+ Me.lbTrailers.Size = New System.Drawing.Size(411, 173)
+ Me.lbTrailers.TabIndex = 0
+ '
+ 'GroupBox1
+ '
+ Me.GroupBox1.Controls.Add(Me.pnlStatus)
+ Me.GroupBox1.Controls.Add(Me.btnGetTrailers)
+ Me.GroupBox1.Controls.Add(Me.GroupBox2)
+ Me.GroupBox1.Controls.Add(Me.lbTrailers)
+ Me.GroupBox1.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.GroupBox1.Location = New System.Drawing.Point(9, 9)
+ Me.GroupBox1.Name = "GroupBox1"
+ Me.GroupBox1.Size = New System.Drawing.Size(424, 319)
+ Me.GroupBox1.TabIndex = 0
+ Me.GroupBox1.TabStop = False
+ Me.GroupBox1.Text = "Select Trailer to Scrape"
+ '
+ 'pnlStatus
+ '
+ Me.pnlStatus.BackColor = System.Drawing.Color.White
+ Me.pnlStatus.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlStatus.Controls.Add(Me.lblStatus)
+ Me.pnlStatus.Controls.Add(Me.pbStatus)
+ Me.pnlStatus.Location = New System.Drawing.Point(112, 82)
+ Me.pnlStatus.Name = "pnlStatus"
+ Me.pnlStatus.Size = New System.Drawing.Size(200, 54)
+ Me.pnlStatus.TabIndex = 1
+ Me.pnlStatus.Visible = False
+ '
+ 'lblStatus
+ '
+ Me.lblStatus.AutoSize = True
+ Me.lblStatus.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblStatus.Location = New System.Drawing.Point(3, 10)
+ Me.lblStatus.Name = "lblStatus"
+ Me.lblStatus.Size = New System.Drawing.Size(121, 13)
+ Me.lblStatus.TabIndex = 0
+ Me.lblStatus.Text = "Compiling trailer list..."
+ Me.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'pbStatus
+ '
+ Me.pbStatus.Location = New System.Drawing.Point(3, 32)
+ Me.pbStatus.MarqueeAnimationSpeed = 25
+ Me.pbStatus.Name = "pbStatus"
+ Me.pbStatus.Size = New System.Drawing.Size(192, 17)
+ Me.pbStatus.Style = System.Windows.Forms.ProgressBarStyle.Marquee
+ Me.pbStatus.TabIndex = 1
+ '
+ 'btnGetTrailers
+ '
+ Me.btnGetTrailers.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.btnGetTrailers.Image = CType(resources.GetObject("btnGetTrailers.Image"), System.Drawing.Image)
+ Me.btnGetTrailers.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
+ Me.btnGetTrailers.Location = New System.Drawing.Point(120, 82)
+ Me.btnGetTrailers.Name = "btnGetTrailers"
+ Me.btnGetTrailers.Size = New System.Drawing.Size(184, 23)
+ Me.btnGetTrailers.TabIndex = 2
+ Me.btnGetTrailers.Text = "Download Trailer List"
+ Me.btnGetTrailers.TextAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.btnGetTrailers.UseVisualStyleBackColor = True
+ '
+ 'GroupBox2
+ '
+ Me.GroupBox2.Controls.Add(Me.btnBrowse)
+ Me.GroupBox2.Controls.Add(Me.txtManual)
+ Me.GroupBox2.Controls.Add(Me.Label2)
+ Me.GroupBox2.Controls.Add(Me.txtYouTube)
+ Me.GroupBox2.Controls.Add(Me.Label1)
+ Me.GroupBox2.Location = New System.Drawing.Point(6, 201)
+ Me.GroupBox2.Name = "GroupBox2"
+ Me.GroupBox2.Size = New System.Drawing.Size(411, 111)
+ Me.GroupBox2.TabIndex = 3
+ Me.GroupBox2.TabStop = False
+ Me.GroupBox2.Text = "Manual Trailer Entry"
+ '
+ 'btnBrowse
+ '
+ Me.btnBrowse.Location = New System.Drawing.Point(376, 82)
+ Me.btnBrowse.Name = "btnBrowse"
+ Me.btnBrowse.Size = New System.Drawing.Size(25, 23)
+ Me.btnBrowse.TabIndex = 4
+ Me.btnBrowse.Text = "..."
+ Me.btnBrowse.UseVisualStyleBackColor = True
+ '
+ 'txtManual
+ '
+ Me.txtManual.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.txtManual.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txtManual.Location = New System.Drawing.Point(9, 82)
+ Me.txtManual.Name = "txtManual"
+ Me.txtManual.Size = New System.Drawing.Size(365, 22)
+ Me.txtManual.TabIndex = 3
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label2.Location = New System.Drawing.Point(6, 68)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(72, 13)
+ Me.Label2.TabIndex = 2
+ Me.Label2.Text = "Local Trailer:"
+ '
+ 'txtYouTube
+ '
+ Me.txtYouTube.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.txtYouTube.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txtYouTube.Location = New System.Drawing.Point(9, 28)
+ Me.txtYouTube.Name = "txtYouTube"
+ Me.txtYouTube.Size = New System.Drawing.Size(392, 22)
+ Me.txtYouTube.TabIndex = 1
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label1.Location = New System.Drawing.Point(6, 14)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(153, 13)
+ Me.Label1.TabIndex = 0
+ Me.Label1.Text = "Direct Link or YouTube URL:"
+ '
+ 'btnPlayTrailer
+ '
+ Me.btnPlayTrailer.Enabled = False
+ Me.btnPlayTrailer.Image = CType(resources.GetObject("btnPlayTrailer.Image"), System.Drawing.Image)
+ Me.btnPlayTrailer.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
+ Me.btnPlayTrailer.Location = New System.Drawing.Point(12, 339)
+ Me.btnPlayTrailer.Name = "btnPlayTrailer"
+ Me.btnPlayTrailer.Size = New System.Drawing.Size(106, 23)
+ Me.btnPlayTrailer.TabIndex = 3
+ Me.btnPlayTrailer.Text = "Preview Trailer"
+ Me.btnPlayTrailer.TextAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.btnPlayTrailer.UseVisualStyleBackColor = True
+ '
+ 'btnSetNfo
+ '
+ Me.btnSetNfo.Enabled = False
+ Me.btnSetNfo.Location = New System.Drawing.Point(207, 339)
+ Me.btnSetNfo.Name = "btnSetNfo"
+ Me.btnSetNfo.Size = New System.Drawing.Size(77, 23)
+ Me.btnSetNfo.TabIndex = 4
+ Me.btnSetNfo.Text = "Set To Nfo"
+ '
+ 'Panel1
+ '
+ Me.Panel1.BackColor = System.Drawing.Color.White
+ Me.Panel1.Controls.Add(Me.GroupBox1)
+ Me.Panel1.Location = New System.Drawing.Point(3, 3)
+ Me.Panel1.Name = "Panel1"
+ Me.Panel1.Size = New System.Drawing.Size(444, 331)
+ Me.Panel1.TabIndex = 2
+ '
+ 'dlgTrailer
+ '
+ Me.AcceptButton = Me.OK_Button
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
+ Me.CancelButton = Me.Cancel_Button
+ Me.ClientSize = New System.Drawing.Size(450, 366)
+ Me.ControlBox = False
+ Me.Controls.Add(Me.Panel1)
+ Me.Controls.Add(Me.btnSetNfo)
+ Me.Controls.Add(Me.Cancel_Button)
+ Me.Controls.Add(Me.OK_Button)
+ Me.Controls.Add(Me.btnPlayTrailer)
+ Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "dlgTrailer"
+ Me.ShowIcon = False
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "Select Trailer"
+ Me.GroupBox1.ResumeLayout(False)
+ Me.pnlStatus.ResumeLayout(False)
+ Me.pnlStatus.PerformLayout()
+ Me.GroupBox2.ResumeLayout(False)
+ Me.GroupBox2.PerformLayout()
+ Me.Panel1.ResumeLayout(False)
+ Me.ResumeLayout(False)
+
+ End Sub
+ Friend WithEvents OK_Button As System.Windows.Forms.Button
+ Friend WithEvents Cancel_Button As System.Windows.Forms.Button
+ Friend WithEvents lbTrailers As System.Windows.Forms.ListBox
+ Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
+ Friend WithEvents pnlStatus As System.Windows.Forms.Panel
+ Friend WithEvents lblStatus As System.Windows.Forms.Label
+ Friend WithEvents pbStatus As System.Windows.Forms.ProgressBar
+ Friend WithEvents btnPlayTrailer As System.Windows.Forms.Button
+ Friend WithEvents btnSetNfo As System.Windows.Forms.Button
+ Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents txtYouTube As System.Windows.Forms.TextBox
+ Friend WithEvents btnBrowse As System.Windows.Forms.Button
+ Friend WithEvents txtManual As System.Windows.Forms.TextBox
+ Friend WithEvents Label2 As System.Windows.Forms.Label
+ Friend WithEvents ofdTrailer As System.Windows.Forms.OpenFileDialog
+ Friend WithEvents btnGetTrailers As System.Windows.Forms.Button
+ Friend WithEvents Panel1 As System.Windows.Forms.Panel
+
+End Class
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailer.resx b/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailer.resx
new file mode 100644
index 0000000..2be3cac
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailer.resx
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7O
+ HOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAArpAAAK6QH9dc7TAAAAGHRFWHRTb2Z0d2FyZQBBZG9i
+ ZSBGaXJld29ya3NPsx9OAAAB80lEQVQ4T6XTTWsTQRgH8EGr9GDFm19AseDBgzc9eba0FJqvIOTiRase
+ RAIKtRo9LbbxpYmtggXR2KRFqGLfDio9tDGbdUMrbvc1+57sioiVv7NDLE3MXnTgz8DsPr95dpglAMj/
+ pKVY17QuyzLP2raVoBlybHvIc92EUKmcidukBTBrtasUAC0GLWYJggaWl5dw9056uBPSAtDi8aiYAY4N
+ 13HwLQyxuLiAW6OjyIyPXW5H2gFuZ/cm4HseNFVFsTCD2WIRHz+8P7cb6Qjs7iDqIkLCMEC97kedZWMB
+ egasA8s24TsBQm8bob8N3w3YZzUzFgsYus6ZZo0WhPisvMackGQR5Dm2xnDLjAdUVeF0XUPD/Yl31eu4
+ sURY3orXaDe/EOGGoccDsrzFKYoMz/yON0IaqYVDLPPCTdTtH6D3BKqixANfNjc5SZJga3XMlm5jeP4w
+ S6E0AsdoQJFlbElSPMCXy/ekDQUTK1eQzB/B+cJxlmT+KB6sXID61UBVFDOxh7i+tjbCf+KxXl7FpZeD
+ SOR6WS6+6EepsgpREFHh+XRHYC8hB/r7+k7kshOZ/PSrZ7mn2cnTqd7qqdSxjUdPHk7NPC9OT00+vj84
+ MHByDyEH/yA7F4kC+wgh3dGDaDTnHkK6etrWuum7+/8C/vWX/g1N2vpUAmZdeAAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAACwwAAAsMAT9AIsgAAAAGYktHRAD/AP8A/6C9p5MAAAAHdElNRQfZBBoSIQHX+6QX
+ AAACOElEQVQ4T7WSTWvaQRCHozlYNQSiVXwBNSSKKAhqKogo2hx8OeUQpPVY9OBFId+g0IufoQnegslF
+ EEG8qAgeiij4hohoDjkphJAIGg/udGepfyLV3rowLDu788zs/GZv73+st7e35NPT069KpfJaLpdnj4+P
+ nel0+p3mOvhnvoeHh0+j0WieTCbB6XSSYDAIoVAIXC4Xicfj0Ov1IJ/Pf9kKweBisQharZbY7XbweDxg
+ sVjg7OwM8Ix2enpK7u/v4e7u7ttfEJp5QZ3k8PAQ1Go1hMNhyGazIJFIQKVSMd/R0RHgm2azCQqFQsNB
+ FovFFZZLHZz5fD7AlU6nmY/H43F3NpsNWq3WLQeYz+d1JL8H4BfW6+bmZgOO77rd7isHqNfrM3Ty+XzY
+ 399n5vV6WfxqtWL79fX1RiWlUgnPHxlkDRAKhSASiUAsFoPf72eBhBAGeXl5AZlMBgKBgIGoxLirGOD5
+ +blL/0iwSVKpFORyOVxcXHAV0HtUhzUUm4yATqezpPsHBphMJj8uLy9BqVSCRqOB4+NjiEQiDICZUU6d
+ TseUQLjb7YZqtVp6L+UBlREBxGg0soBoNArL5RJQDavVCmazGecAKyTtdhtOTk68G7OQy+W+1mo1MJlM
+ hE4hA2BV5+fnLKPD4QC9Xk8KhQKkUqmfW6cxk8nE6ERCIpFgkxgIBFgzERCLxWAwGOwOXhPpPzWNRuN2
+ PB7P+v0+oA2HwyWVrWIwGD5vzbzDyaN++R+phLsCfwMUR2eb8uMbUAAAAABJRU5ErkJggg==
+
+
+
+ 17, 17
+
+
+ 40
+
+
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailer.vb b/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailer.vb
new file mode 100644
index 0000000..d63ea34
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailer.vb
@@ -0,0 +1,465 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports System.IO
+Imports System.Text.RegularExpressions
+Imports EmberAPI
+Imports WatTmdb
+Imports EmberScraperModule.EmberTMDBScraperModule
+
+Public Class dlgTrailer
+
+#Region "Fields"
+
+ Private _MySettings As New sMySettings
+ Private _TMDBConf As V3.TmdbConfiguration
+ Private _TMDBConfE As V3.TmdbConfiguration
+ Private _TMDBApi As V3.Tmdb
+ Private _TMDBApiE As V3.Tmdb
+
+ Friend WithEvents bwCompileList As New System.ComponentModel.BackgroundWorker
+ Friend WithEvents bwDownloadTrailer As New System.ComponentModel.BackgroundWorker
+
+ Private cTrailer As Trailers
+ Private imdbID As String = String.Empty
+ Private prePath As String = String.Empty
+ Private sPath As String = String.Empty
+ Private tArray As New List(Of String)
+ Private tURL As String = String.Empty
+
+#End Region 'Fields
+
+#Region "Methods"
+
+ Public Sub New(ByRef tTMDBConf As V3.TmdbConfiguration, ByRef tTMDBConfE As V3.TmdbConfiguration, ByRef tTMDBApi As V3.Tmdb, ByRef tTMDBApiE As V3.Tmdb, ByRef tMySettings As EmberTMDBScraperModule.sMySettings)
+
+ ' This call is required by the designer.
+ InitializeComponent()
+
+ ' Add any initialization after the InitializeComponent() call.
+ _MySettings = TMySettings
+ _TMDBApi = tTMDBApi
+ _TMDBConf = tTMDBConf
+ _TMDBApiE = tTMDBApiE
+ _TMDBConfE = tTMDBConfE
+ cTrailer = New Trailers(_TMDBConf, _TMDBConfE, _TMDBApi, _TMDBApiE, _MySettings)
+ End Sub
+
+ Public Overloads Function ShowDialog(ByVal _imdbID As String, ByVal _sPath As String) As String
+ Me.imdbID = _imdbID
+ Me.sPath = _sPath
+
+ If MyBase.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
+ If AdvancedSettings.GetBooleanSetting("UseTMDBTrailerXBMC", False) Then
+ Return Replace(Me.tURL, "http://www.youtube.com/watch?v=", "plugin://plugin.video.youtube/?action=play_video&videoid=")
+ Else
+ Return Me.tURL
+ End If
+ Else
+ Return String.Empty
+ End If
+ End Function
+
+ Protected Overrides Sub Finalize()
+ cTrailer = Nothing
+ MyBase.Finalize()
+ End Sub
+
+ Private Sub BeginDownload(ByVal CloseDialog As Boolean)
+ Dim didCancel As Boolean = False
+
+ Me.OK_Button.Enabled = False
+ Me.btnSetNfo.Enabled = False
+ Me.btnPlayTrailer.Enabled = False
+ Me.lbTrailers.Enabled = False
+ Me.txtYouTube.Enabled = False
+ Me.txtManual.Enabled = False
+ Me.btnBrowse.Enabled = False
+ Me.lblStatus.Text = Master.eLang.GetString(56, "Downloading selected trailer...")
+ Me.pbStatus.Style = ProgressBarStyle.Continuous
+ Me.pbStatus.Value = 0
+ Me.pnlStatus.Visible = True
+ Application.DoEvents()
+
+ If Not String.IsNullOrEmpty(Me.prePath) AndAlso File.Exists(Me.prePath) Then
+ If CloseDialog Then
+ Me.tURL = Path.Combine(Directory.GetParent(Me.sPath).FullName, Path.GetFileName(Me.prePath))
+ FileUtils.Common.MoveFileWithStream(Me.prePath, Me.tURL)
+
+ File.Delete(Me.prePath)
+
+ Me.DialogResult = System.Windows.Forms.DialogResult.OK
+ Me.Close()
+ Else
+ System.Diagnostics.Process.Start(String.Concat("""", Me.prePath, """"))
+ didCancel = True
+ End If
+ ElseIf Me.txtManual.Text.Length > 0 Then
+ Me.lblStatus.Text = Master.eLang.GetString(57, "Copying specified file to trailer...")
+ If Master.eSettings.ValidExts.Contains(Path.GetExtension(Me.txtManual.Text)) AndAlso File.Exists(Me.txtManual.Text) Then
+ If CloseDialog Then
+ If Master.eSettings.VideoTSParentXBMC AndAlso FileUtils.Common.isBDRip(Me.sPath) Then
+ Me.tURL = String.Concat(Directory.GetParent(Directory.GetParent(Me.sPath).FullName).FullName, "\", "index", If(Master.eSettings.DashTrailer, "-trailer", "[trailer]"), Path.GetExtension(Me.txtManual.Text))
+ ElseIf Master.eSettings.MovieNameNFOStack Then
+ Dim sPathStack As String = StringUtils.CleanStackingMarkers(Path.GetFileNameWithoutExtension(Me.sPath))
+ Me.tURL = Path.Combine(Directory.GetParent(Me.sPath).FullName, String.Concat(Path.GetFileNameWithoutExtension(sPathStack), If(Master.eSettings.DashTrailer, "-trailer", "[trailer]"), Path.GetExtension(Me.txtManual.Text)))
+ Else
+ Me.tURL = Path.Combine(Directory.GetParent(Me.sPath).FullName, String.Concat(Path.GetFileNameWithoutExtension(Me.sPath), If(Master.eSettings.DashTrailer, "-trailer", "[trailer]"), Path.GetExtension(Me.txtManual.Text)))
+ End If
+
+ FileUtils.Common.MoveFileWithStream(Me.txtManual.Text, Me.tURL)
+
+ Me.DialogResult = System.Windows.Forms.DialogResult.OK
+ Me.Close()
+ Else
+ System.Diagnostics.Process.Start(String.Concat("""", Me.txtManual.Text, """"))
+ didCancel = True
+ End If
+ Else
+ MsgBox(Master.eLang.GetString(192, "File is not valid.", True), MsgBoxStyle.Exclamation Or MsgBoxStyle.OkOnly, Master.eLang.GetString(194, "Not Valid", True))
+ didCancel = True
+ End If
+ ElseIf Regex.IsMatch(Me.txtYouTube.Text, "http:\/\/.*youtube.*\/watch\?v=(.{11})&?.*") Then
+ Using dFormats As New dlgTrailerFormat
+ Dim sFormat As String = dFormats.ShowDialog(Me.txtYouTube.Text)
+
+ If Not String.IsNullOrEmpty(sFormat) Then
+ Me.bwDownloadTrailer = New System.ComponentModel.BackgroundWorker
+ Me.bwDownloadTrailer.WorkerReportsProgress = True
+ Me.bwDownloadTrailer.WorkerSupportsCancellation = True
+ Me.bwDownloadTrailer.RunWorkerAsync(New Arguments With {.Parameter = sFormat, .bType = CloseDialog})
+ Else
+ didCancel = True
+ End If
+ End Using
+ ElseIf StringUtils.isValidURL(Me.txtYouTube.Text) Then
+ Me.bwDownloadTrailer = New System.ComponentModel.BackgroundWorker
+ Me.bwDownloadTrailer.WorkerReportsProgress = True
+ Me.bwDownloadTrailer.WorkerSupportsCancellation = True
+ Me.bwDownloadTrailer.RunWorkerAsync(New Arguments With {.parameter = Me.txtYouTube.Text, .bType = CloseDialog})
+ Else
+ If Regex.IsMatch(Me.lbTrailers.SelectedItem.ToString, "http:\/\/.*youtube.*\/watch\?v=(.{11})&?.*") Then
+ Using dFormats As New dlgTrailerFormat
+ Dim sFormat As String = dFormats.ShowDialog(Me.lbTrailers.SelectedItem.ToString)
+
+ If Not String.IsNullOrEmpty(sFormat) Then
+ Me.bwDownloadTrailer = New System.ComponentModel.BackgroundWorker
+ Me.bwDownloadTrailer.WorkerReportsProgress = True
+ Me.bwDownloadTrailer.WorkerSupportsCancellation = True
+ Me.bwDownloadTrailer.RunWorkerAsync(New Arguments With {.Parameter = sFormat, .bType = CloseDialog})
+ Else
+ didCancel = True
+ End If
+ End Using
+ Else
+ Me.bwDownloadTrailer = New System.ComponentModel.BackgroundWorker
+ Me.bwDownloadTrailer.WorkerReportsProgress = True
+ Me.bwDownloadTrailer.WorkerSupportsCancellation = True
+ Me.bwDownloadTrailer.RunWorkerAsync(New Arguments With {.parameter = lbTrailers.SelectedItem.ToString, .bType = CloseDialog})
+ End If
+ End If
+
+ If didCancel Then
+ Me.pnlStatus.Visible = False
+ Me.lbTrailers.Enabled = True
+ Me.txtYouTube.Enabled = True
+ Me.txtManual.Enabled = True
+ Me.btnBrowse.Enabled = True
+ Me.SetEnabled(False)
+ End If
+ End Sub
+
+ Private Sub btnBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBrowse.Click
+ Try
+ With ofdTrailer
+ .InitialDirectory = Directory.GetParent(Master.currMovie.Filename).FullName
+ .Filter = String.Concat("Supported Trailer Formats|*", Functions.ListToStringWithSeparator(Master.eSettings.ValidExts.ToArray(), ";*"))
+ .FilterIndex = 0
+ End With
+
+ If ofdTrailer.ShowDialog() = DialogResult.OK Then
+ txtManual.Text = ofdTrailer.FileName
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+ End Sub
+
+ Private Sub btnGetTrailers_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetTrailers.Click
+ Me.OK_Button.Enabled = False
+ Me.btnSetNfo.Enabled = False
+ Me.btnPlayTrailer.Enabled = False
+ Me.lbTrailers.Enabled = False
+ Me.txtYouTube.Enabled = False
+ Me.txtManual.Enabled = False
+ Me.btnBrowse.Enabled = False
+ Me.pnlStatus.Visible = True
+
+ Me.bwCompileList = New System.ComponentModel.BackgroundWorker
+ Me.bwCompileList.WorkerSupportsCancellation = True
+ Me.bwCompileList.RunWorkerAsync()
+ End Sub
+
+ Private Sub btnPlayTrailer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlayTrailer.Click
+ Try
+ Me.BeginDownload(False)
+ Catch
+ MsgBox(Master.eLang.GetString(58, "The trailer could not be played. This could be due to an invalid URI or you do not have the proper player to play the trailer type."), MsgBoxStyle.Critical, Master.eLang.GetString(59, "Error Playing Trailer"))
+ Me.pnlStatus.Visible = False
+ Me.lbTrailers.Enabled = True
+ Me.txtYouTube.Enabled = True
+ Me.txtManual.Enabled = True
+ Me.btnBrowse.Enabled = True
+ Me.SetEnabled(False)
+ End Try
+ End Sub
+
+ Private Sub btnSetNfo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSetNfo.Click
+
+ If Me.btnSetNfo.Text = Master.eLang.GetString(60, "Move") Then
+ If Master.eSettings.ValidExts.Contains(Path.GetExtension(Me.txtManual.Text)) AndAlso File.Exists(Me.txtManual.Text) Then
+ Me.OK_Button.Enabled = False
+ Me.btnSetNfo.Enabled = False
+ Me.btnPlayTrailer.Enabled = False
+ Me.lbTrailers.Enabled = False
+ Me.txtYouTube.Enabled = False
+ Me.txtManual.Enabled = False
+ Me.btnBrowse.Enabled = False
+ Me.lblStatus.Text = Master.eLang.GetString(62, "Moving specified file to trailer...")
+ Me.pbStatus.Style = ProgressBarStyle.Continuous
+ Me.pbStatus.Value = 0
+ Me.pnlStatus.Visible = True
+ Application.DoEvents()
+
+ If Master.eSettings.VideoTSParentXBMC AndAlso FileUtils.Common.isBDRip(Me.sPath) Then
+ Me.tURL = String.Concat(Directory.GetParent(Directory.GetParent(Me.sPath).FullName).FullName, "\", "index", If(Master.eSettings.DashTrailer, "-trailer", "[trailer]"), Path.GetExtension(Me.txtManual.Text))
+ ElseIf Master.eSettings.MovieNameNFOStack Then
+ Dim sPathStack As String = StringUtils.CleanStackingMarkers(Path.GetFileNameWithoutExtension(Me.sPath))
+ Me.tURL = Path.Combine(Directory.GetParent(Me.sPath).FullName, String.Concat(Path.GetFileNameWithoutExtension(sPathStack), If(Master.eSettings.DashTrailer, "-trailer", "[trailer]"), Path.GetExtension(Me.txtManual.Text)))
+ Else
+ Me.tURL = Path.Combine(Directory.GetParent(Me.sPath).FullName, String.Concat(Path.GetFileNameWithoutExtension(Me.sPath), If(Master.eSettings.DashTrailer, "-trailer", "[trailer]"), Path.GetExtension(Me.txtManual.Text)))
+ End If
+ File.Move(Me.txtManual.Text, Me.tURL)
+
+ Me.DialogResult = System.Windows.Forms.DialogResult.OK
+ Me.Close()
+ Else
+ MsgBox(Master.eLang.GetString(192, "File is not valid.", True), MsgBoxStyle.Exclamation Or MsgBoxStyle.OkOnly, Master.eLang.GetString(194, "Not Valid", True))
+ Me.pnlStatus.Visible = False
+ Me.lbTrailers.Enabled = True
+ Me.txtYouTube.Enabled = True
+ Me.txtManual.Enabled = True
+ Me.btnBrowse.Enabled = True
+ Me.SetEnabled(False)
+ End If
+ Else
+ Dim didCancel As Boolean = False
+
+ If StringUtils.isValidURL(Me.txtYouTube.Text) Then
+ tURL = Me.txtYouTube.Text
+ ElseIf Me.lbTrailers.SelectedItems.Count > 0 Then
+ tURL = lbTrailers.SelectedItem.ToString
+ Else
+ didCancel = True
+ End If
+
+ If Not didCancel Then
+ Me.DialogResult = System.Windows.Forms.DialogResult.OK
+ Me.Close()
+ End If
+ End If
+
+ End Sub
+
+ Private Sub bwCompileList_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwCompileList.DoWork
+ Try
+ tArray = cTrailer.GetTrailers(Me.imdbID, False)
+
+ If Me.bwCompileList.CancellationPending Then
+ e.Cancel = True
+ End If
+ Catch
+ End Try
+ End Sub
+
+ Private Sub bwCompileList_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwCompileList.RunWorkerCompleted
+ If Not e.Cancelled Then
+ If Me.tArray.Count > 0 Then
+ For Each tTrail As String In Me.tArray
+ Me.lbTrailers.Items.Add(tTrail)
+ Next
+
+ Me.btnGetTrailers.Visible = False
+ Else
+ Me.btnGetTrailers.Enabled = False
+ End If
+
+ End If
+
+ Me.pnlStatus.Visible = False
+ Me.lbTrailers.Enabled = True
+ Me.txtYouTube.Enabled = True
+ Me.txtManual.Enabled = True
+ Me.btnBrowse.Enabled = True
+ Me.SetEnabled(False)
+ End Sub
+
+ Private Sub bwDownloadTrailer_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bwDownloadTrailer.DoWork
+ Dim Args As Arguments = DirectCast(e.Argument, Arguments)
+ Try
+
+ If Args.bType Then
+ Me.tURL = cTrailer.DownloadTrailer(Me.sPath, Args.Parameter)
+ Else
+ Me.prePath = cTrailer.DownloadTrailer(Path.Combine(Master.TempPath, Path.GetFileName(Me.sPath)), Args.Parameter)
+ End If
+
+ Catch
+ End Try
+
+ e.Result = Args.bType
+
+ If Me.bwDownloadTrailer.CancellationPending Then
+ e.Cancel = True
+ End If
+ End Sub
+
+ Private Sub bwDownloadTrailer_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bwDownloadTrailer.ProgressChanged
+ pbStatus.Value = e.ProgressPercentage
+ End Sub
+
+ Private Sub bwDownloadTrailer_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bwDownloadTrailer.RunWorkerCompleted
+ If Not e.Cancelled Then
+ If Convert.ToBoolean(e.Result) Then
+ Me.DialogResult = System.Windows.Forms.DialogResult.OK
+ Me.Close()
+ Else
+ Me.pnlStatus.Visible = False
+ Me.lbTrailers.Enabled = True
+ Me.txtYouTube.Enabled = True
+ Me.txtManual.Enabled = True
+ Me.btnBrowse.Enabled = True
+ Me.SetEnabled(False)
+ If Not String.IsNullOrEmpty(Me.prePath) Then System.Diagnostics.Process.Start(String.Concat("""", prePath, """"))
+ End If
+ End If
+ End Sub
+
+ Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
+ Me.cTrailer.Cancel()
+
+ If Me.bwCompileList.IsBusy Then Me.bwCompileList.CancelAsync()
+ If Me.bwDownloadTrailer.IsBusy Then Me.bwDownloadTrailer.CancelAsync()
+
+ While Me.bwCompileList.IsBusy OrElse Me.bwDownloadTrailer.IsBusy
+ Application.DoEvents()
+ Threading.Thread.Sleep(50)
+ End While
+
+ Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.Close()
+ End Sub
+
+ Private Sub dlgTrailer_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
+ Me.SetUp()
+ AddHandler cTrailer.ProgressUpdated, AddressOf DownloadProgressUpdated
+ End Sub
+
+ Private Sub dlgTrailer_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
+ Me.Activate()
+ End Sub
+
+ Private Sub DownloadProgressUpdated(ByVal iProgress As Integer)
+ bwDownloadTrailer.ReportProgress(iProgress)
+ End Sub
+
+ Private Sub lbTrailers_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbTrailers.SelectedIndexChanged
+ Me.SetEnabled(True)
+ End Sub
+
+ Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
+ Me.BeginDownload(True)
+ End Sub
+
+ Private Sub SetEnabled(ByVal DeletePre As Boolean)
+ If DeletePre AndAlso Not String.IsNullOrEmpty(Me.prePath) AndAlso File.Exists(Me.prePath) Then
+ File.Delete(Me.prePath)
+ Me.prePath = String.Empty
+ End If
+
+ If StringUtils.isValidURL(Me.txtYouTube.Text) OrElse Me.lbTrailers.SelectedItems.Count > 0 OrElse Me.txtManual.Text.Length > 0 Then
+ Me.OK_Button.Enabled = True
+ Me.btnSetNfo.Enabled = True
+ Me.btnPlayTrailer.Enabled = True
+ If Me.txtManual.Text.Length > 0 Then
+ Me.OK_Button.Text = Master.eLang.GetString(61, "Copy")
+ Me.btnSetNfo.Text = Master.eLang.GetString(60, "Move")
+ Else
+ Me.OK_Button.Text = Master.eLang.GetString(373, "Download", True)
+ Me.btnSetNfo.Text = Master.eLang.GetString(63, "Set To Nfo")
+ End If
+ Else
+ Me.OK_Button.Enabled = False
+ Me.OK_Button.Text = Master.eLang.GetString(373, "Download", True)
+ Me.btnPlayTrailer.Enabled = False
+ Me.btnSetNfo.Enabled = False
+ Me.btnSetNfo.Text = Master.eLang.GetString(63, "Set To Nfo")
+ End If
+ End Sub
+
+ Private Sub SetUp()
+ Me.Text = Master.eLang.GetString(64, "Select Trailer")
+ Me.OK_Button.Text = Master.eLang.GetString(373, "Download", True)
+ Me.Cancel_Button.Text = Master.eLang.GetString(167, "Cancel", True)
+ Me.GroupBox1.Text = Master.eLang.GetString(65, "Select Trailer to Download")
+ Me.GroupBox2.Text = Master.eLang.GetString(66, "Manual Trailer Entry")
+ Me.Label1.Text = Master.eLang.GetString(67, "Direct Link or YouTube URL:")
+ Me.lblStatus.Text = Master.eLang.GetString(68, "Compiling trailer list...")
+ Me.btnPlayTrailer.Text = Master.eLang.GetString(69, "Preview Trailer")
+ Me.btnSetNfo.Text = Master.eLang.GetString(63, "Set To Nfo")
+ Me.Label2.Text = Master.eLang.GetString(70, "Local Trailer:")
+ End Sub
+
+ Private Sub txtManual_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtManual.TextChanged
+ Me.SetEnabled(True)
+ End Sub
+
+ Private Sub txtYouTube_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtYouTube.TextChanged
+ Me.SetEnabled(True)
+ End Sub
+
+#End Region 'Methods
+
+#Region "Nested Types"
+
+ Private Structure Arguments
+
+#Region "Fields"
+
+ Dim bType As Boolean
+ Dim Parameter As String
+
+#End Region 'Fields
+
+ End Structure
+
+#End Region 'Nested Types
+
+End Class
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailerFormat.Designer.vb b/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailerFormat.Designer.vb
new file mode 100644
index 0000000..22f1374
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailerFormat.Designer.vb
@@ -0,0 +1,155 @@
+ _
+Partial Class dlgTrailerFormat
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Me.OK_Button = New System.Windows.Forms.Button()
+ Me.Cancel_Button = New System.Windows.Forms.Button()
+ Me.lstFormats = New System.Windows.Forms.ListBox()
+ Me.GroupBox1 = New System.Windows.Forms.GroupBox()
+ Me.pnlStatus = New System.Windows.Forms.Panel()
+ Me.lblStatus = New System.Windows.Forms.Label()
+ Me.pbStatus = New System.Windows.Forms.ProgressBar()
+ Me.Panel1 = New System.Windows.Forms.Panel()
+ Me.GroupBox1.SuspendLayout()
+ Me.pnlStatus.SuspendLayout()
+ Me.Panel1.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'OK_Button
+ '
+ Me.OK_Button.Enabled = False
+ Me.OK_Button.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.OK_Button.Location = New System.Drawing.Point(84, 117)
+ Me.OK_Button.Name = "OK_Button"
+ Me.OK_Button.Size = New System.Drawing.Size(67, 23)
+ Me.OK_Button.TabIndex = 0
+ Me.OK_Button.Text = "OK"
+ '
+ 'Cancel_Button
+ '
+ Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.Cancel_Button.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.Cancel_Button.Location = New System.Drawing.Point(154, 117)
+ Me.Cancel_Button.Name = "Cancel_Button"
+ Me.Cancel_Button.Size = New System.Drawing.Size(67, 23)
+ Me.Cancel_Button.TabIndex = 1
+ Me.Cancel_Button.Text = "Cancel"
+ '
+ 'lstFormats
+ '
+ Me.lstFormats.Enabled = False
+ Me.lstFormats.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lstFormats.FormattingEnabled = True
+ Me.lstFormats.Location = New System.Drawing.Point(17, 19)
+ Me.lstFormats.Name = "lstFormats"
+ Me.lstFormats.Size = New System.Drawing.Size(78, 69)
+ Me.lstFormats.TabIndex = 0
+ '
+ 'GroupBox1
+ '
+ Me.GroupBox1.Controls.Add(Me.lstFormats)
+ Me.GroupBox1.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.GroupBox1.Location = New System.Drawing.Point(53, 2)
+ Me.GroupBox1.Name = "GroupBox1"
+ Me.GroupBox1.Size = New System.Drawing.Size(114, 100)
+ Me.GroupBox1.TabIndex = 0
+ Me.GroupBox1.TabStop = False
+ Me.GroupBox1.Text = "Available Formats"
+ '
+ 'pnlStatus
+ '
+ Me.pnlStatus.BackColor = System.Drawing.Color.White
+ Me.pnlStatus.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlStatus.Controls.Add(Me.lblStatus)
+ Me.pnlStatus.Controls.Add(Me.pbStatus)
+ Me.pnlStatus.Location = New System.Drawing.Point(10, 29)
+ Me.pnlStatus.Name = "pnlStatus"
+ Me.pnlStatus.Size = New System.Drawing.Size(200, 54)
+ Me.pnlStatus.TabIndex = 1
+ '
+ 'lblStatus
+ '
+ Me.lblStatus.AutoSize = True
+ Me.lblStatus.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.lblStatus.Location = New System.Drawing.Point(3, 10)
+ Me.lblStatus.Name = "lblStatus"
+ Me.lblStatus.Size = New System.Drawing.Size(147, 13)
+ Me.lblStatus.TabIndex = 0
+ Me.lblStatus.Text = "Getting available formats..."
+ Me.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'pbStatus
+ '
+ Me.pbStatus.Location = New System.Drawing.Point(3, 29)
+ Me.pbStatus.MarqueeAnimationSpeed = 25
+ Me.pbStatus.Name = "pbStatus"
+ Me.pbStatus.Size = New System.Drawing.Size(192, 17)
+ Me.pbStatus.Style = System.Windows.Forms.ProgressBarStyle.Marquee
+ Me.pbStatus.TabIndex = 1
+ '
+ 'Panel1
+ '
+ Me.Panel1.BackColor = System.Drawing.Color.White
+ Me.Panel1.Controls.Add(Me.pnlStatus)
+ Me.Panel1.Controls.Add(Me.GroupBox1)
+ Me.Panel1.Location = New System.Drawing.Point(2, 4)
+ Me.Panel1.Name = "Panel1"
+ Me.Panel1.Size = New System.Drawing.Size(220, 111)
+ Me.Panel1.TabIndex = 2
+ '
+ 'dlgTrailerFormat
+ '
+ Me.AcceptButton = Me.OK_Button
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
+ Me.CancelButton = Me.Cancel_Button
+ Me.ClientSize = New System.Drawing.Size(224, 143)
+ Me.Controls.Add(Me.Panel1)
+ Me.Controls.Add(Me.Cancel_Button)
+ Me.Controls.Add(Me.OK_Button)
+ Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "dlgTrailerFormat"
+ Me.ShowIcon = False
+ Me.ShowInTaskbar = False
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "Select Format"
+ Me.GroupBox1.ResumeLayout(False)
+ Me.pnlStatus.ResumeLayout(False)
+ Me.pnlStatus.PerformLayout()
+ Me.Panel1.ResumeLayout(False)
+ Me.ResumeLayout(False)
+
+ End Sub
+ Friend WithEvents OK_Button As System.Windows.Forms.Button
+ Friend WithEvents Cancel_Button As System.Windows.Forms.Button
+ Friend WithEvents lstFormats As System.Windows.Forms.ListBox
+ Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
+ Friend WithEvents pnlStatus As System.Windows.Forms.Panel
+ Friend WithEvents lblStatus As System.Windows.Forms.Label
+ Friend WithEvents pbStatus As System.Windows.Forms.ProgressBar
+ Friend WithEvents Panel1 As System.Windows.Forms.Panel
+
+End Class
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailerFormat.resx b/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailerFormat.resx
new file mode 100644
index 0000000..19dc0dd
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailerFormat.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailerFormat.vb b/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailerFormat.vb
new file mode 100644
index 0000000..8f0ad6e
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/Scraper/dlgTrailerFormat.vb
@@ -0,0 +1,114 @@
+Imports EmberAPI
+
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Public Class dlgTrailerFormat
+
+#Region "Fields"
+
+ Private WithEvents YouTube As YouTube.Scraper
+ Private _selectedformaturl As String
+ Private _yturl As String
+
+#End Region 'Fields
+
+#Region "Methods"
+
+ Public Overloads Function ShowDialog(ByVal YTURL As String) As String
+ Me._yturl = YTURL
+
+ If MyBase.ShowDialog() = Windows.Forms.DialogResult.OK Then
+ Return _selectedformaturl
+ Else
+ Return String.Empty
+ End If
+ End Function
+
+ Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
+ Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.Close()
+ End Sub
+
+ Private Sub dlgTrailerFormat_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
+ Try
+ Me.SetUp()
+
+ lstFormats.DataSource = Nothing
+
+ YouTube = New YouTube.Scraper
+ YouTube.GetVideoLinksAsync(Me._yturl)
+
+ Catch ex As Exception
+ MsgBox(Master.eLang.GetString(71, "The video format links could not be retrieved."), MsgBoxStyle.Critical, Master.eLang.GetString(72, "Error Retrieving Video Format Links"))
+ End Try
+ End Sub
+
+ Private Sub lstFormats_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstFormats.SelectedIndexChanged
+ Try
+ Me._selectedformaturl = DirectCast(lstFormats.SelectedItem, YouTube.VideoLinkItem).URL
+
+ If Me.lstFormats.SelectedItems.Count > 0 Then
+ Me.OK_Button.Enabled = True
+ Else
+ Me.OK_Button.Enabled = False
+ End If
+ Catch
+ End Try
+ End Sub
+
+ Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
+ Me.DialogResult = System.Windows.Forms.DialogResult.OK
+ Me.Close()
+ End Sub
+
+ Private Sub SetUp()
+ Me.Text = Master.eLang.GetString(73, "Select Format")
+ Me.lblStatus.Text = Master.eLang.GetString(74, "Getting available formats...")
+ Me.GroupBox1.Text = Master.eLang.GetString(75, "Available Formats")
+ Me.OK_Button.Text = Master.eLang.GetString(179, "OK", True)
+ Me.Cancel_Button.Text = Master.eLang.GetString(167, "Cancel", True)
+ End Sub
+
+ Private Sub YouTube_VideoLinksRetrieved(ByVal bSuccess As Boolean) Handles YouTube.VideoLinksRetrieved
+ Try
+
+ If bSuccess Then
+ lstFormats.DataSource = YouTube.VideoLinks.Values.ToList
+ lstFormats.DisplayMember = "Description"
+ lstFormats.ValueMember = "URL"
+
+ If YouTube.VideoLinks.ContainsKey(Master.eSettings.PreferredTrailerQuality) Then
+ Me.lstFormats.SelectedIndex = YouTube.VideoLinks.IndexOfKey(Master.eSettings.PreferredTrailerQuality)
+ ElseIf Me.lstFormats.Items.Count = 1 Then
+ Me.lstFormats.SelectedIndex = 0
+ End If
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ Finally
+ Me.pnlStatus.Visible = False
+ Me.lstFormats.Enabled = True
+ End Try
+ End Sub
+
+#End Region 'Methods
+
+End Class
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/frmTMDBInfoSettingsHolder.Designer.vb b/Addons/scraper.FanartTV.Poster/frmTMDBInfoSettingsHolder.Designer.vb
new file mode 100644
index 0000000..f610c2c
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/frmTMDBInfoSettingsHolder.Designer.vb
@@ -0,0 +1,545 @@
+ _
+Partial Class frmTMDBInfoSettingsHolder
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmTMDBInfoSettingsHolder))
+ Me.lblVersion = New System.Windows.Forms.Label()
+ Me.GroupBox30 = New System.Windows.Forms.GroupBox()
+ Me.chkFallBackEng = New System.Windows.Forms.CheckBox()
+ Me.cbTMDBPrefLanguage = New System.Windows.Forms.ComboBox()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.Label18 = New System.Windows.Forms.Label()
+ Me.txtTMDBApiKey = New System.Windows.Forms.TextBox()
+ Me.cbEnabled = New System.Windows.Forms.CheckBox()
+ Me.Panel1 = New System.Windows.Forms.Panel()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.btnDown = New System.Windows.Forms.Button()
+ Me.btnUp = New System.Windows.Forms.Button()
+ Me.pnlSettings = New System.Windows.Forms.Panel()
+ Me.GroupBox1 = New System.Windows.Forms.GroupBox()
+ Me.Label5 = New System.Windows.Forms.Label()
+ Me.txtFANARTTVApiKey = New System.Windows.Forms.TextBox()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.PictureBox1 = New System.Windows.Forms.PictureBox()
+ Me.gbOptions = New System.Windows.Forms.GroupBox()
+ Me.chkCrew = New System.Windows.Forms.CheckBox()
+ Me.chkCountry = New System.Windows.Forms.CheckBox()
+ Me.chkStudio = New System.Windows.Forms.CheckBox()
+ Me.chkRuntime = New System.Windows.Forms.CheckBox()
+ Me.chkOutline = New System.Windows.Forms.CheckBox()
+ Me.chkGenre = New System.Windows.Forms.CheckBox()
+ Me.chkTagline = New System.Windows.Forms.CheckBox()
+ Me.chkCast = New System.Windows.Forms.CheckBox()
+ Me.chkVotes = New System.Windows.Forms.CheckBox()
+ Me.chkTrailer = New System.Windows.Forms.CheckBox()
+ Me.chkRating = New System.Windows.Forms.CheckBox()
+ Me.chkRelease = New System.Windows.Forms.CheckBox()
+ Me.chkMPAA = New System.Windows.Forms.CheckBox()
+ Me.chkYear = New System.Windows.Forms.CheckBox()
+ Me.chkTitle = New System.Windows.Forms.CheckBox()
+ Me.pbTMDB = New System.Windows.Forms.PictureBox()
+ Me.pbFANARTTV = New System.Windows.Forms.PictureBox()
+ Me.GroupBox30.SuspendLayout()
+ Me.Panel1.SuspendLayout()
+ Me.pnlSettings.SuspendLayout()
+ Me.GroupBox1.SuspendLayout()
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.gbOptions.SuspendLayout()
+ CType(Me.pbTMDB, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.pbFANARTTV, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'lblVersion
+ '
+ Me.lblVersion.Location = New System.Drawing.Point(286, 393)
+ Me.lblVersion.Name = "lblVersion"
+ Me.lblVersion.Size = New System.Drawing.Size(90, 16)
+ Me.lblVersion.TabIndex = 74
+ Me.lblVersion.Text = "Version:"
+ '
+ 'GroupBox30
+ '
+ Me.GroupBox30.Controls.Add(Me.pbTMDB)
+ Me.GroupBox30.Controls.Add(Me.chkFallBackEng)
+ Me.GroupBox30.Controls.Add(Me.cbTMDBPrefLanguage)
+ Me.GroupBox30.Controls.Add(Me.Label3)
+ Me.GroupBox30.Controls.Add(Me.Label18)
+ Me.GroupBox30.Controls.Add(Me.txtTMDBApiKey)
+ Me.GroupBox30.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.GroupBox30.Location = New System.Drawing.Point(8, 40)
+ Me.GroupBox30.Name = "GroupBox30"
+ Me.GroupBox30.Size = New System.Drawing.Size(309, 123)
+ Me.GroupBox30.TabIndex = 1
+ Me.GroupBox30.TabStop = False
+ Me.GroupBox30.Text = "TMDB"
+ '
+ 'chkFallBackEng
+ '
+ Me.chkFallBackEng.AutoSize = True
+ Me.chkFallBackEng.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkFallBackEng.Location = New System.Drawing.Point(8, 100)
+ Me.chkFallBackEng.Name = "chkFallBackEng"
+ Me.chkFallBackEng.Size = New System.Drawing.Size(129, 17)
+ Me.chkFallBackEng.TabIndex = 4
+ Me.chkFallBackEng.Text = "Fall back on english"
+ Me.chkFallBackEng.UseVisualStyleBackColor = True
+ '
+ 'cbTMDBPrefLanguage
+ '
+ Me.cbTMDBPrefLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+ Me.cbTMDBPrefLanguage.Font = New System.Drawing.Font("Segoe UI", 8.25!)
+ Me.cbTMDBPrefLanguage.FormattingEnabled = True
+ Me.cbTMDBPrefLanguage.Items.AddRange(New Object() {"bg", "cs", "da", "de", "el", "en", "es", "fi", "fr", "he", "hu", "it", "nb", "nl", "no", "pl", "pt", "ru", "sk", "sv", "ta", "tr", "uk", "vi", "xx", "zh"})
+ Me.cbTMDBPrefLanguage.Location = New System.Drawing.Point(123, 65)
+ Me.cbTMDBPrefLanguage.Name = "cbTMDBPrefLanguage"
+ Me.cbTMDBPrefLanguage.Size = New System.Drawing.Size(45, 21)
+ Me.cbTMDBPrefLanguage.TabIndex = 3
+ '
+ 'Label3
+ '
+ Me.Label3.AutoSize = True
+ Me.Label3.Font = New System.Drawing.Font("Segoe UI", 8.25!)
+ Me.Label3.Location = New System.Drawing.Point(6, 68)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(111, 13)
+ Me.Label3.TabIndex = 2
+ Me.Label3.Text = "Preferred Language:"
+ '
+ 'Label18
+ '
+ Me.Label18.AutoSize = True
+ Me.Label18.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label18.Location = New System.Drawing.Point(6, 18)
+ Me.Label18.Name = "Label18"
+ Me.Label18.Size = New System.Drawing.Size(79, 13)
+ Me.Label18.TabIndex = 0
+ Me.Label18.Text = "TMDB API Key:"
+ '
+ 'txtTMDBApiKey
+ '
+ Me.txtTMDBApiKey.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txtTMDBApiKey.Location = New System.Drawing.Point(8, 32)
+ Me.txtTMDBApiKey.Name = "txtTMDBApiKey"
+ Me.txtTMDBApiKey.Size = New System.Drawing.Size(273, 22)
+ Me.txtTMDBApiKey.TabIndex = 1
+ '
+ 'cbEnabled
+ '
+ Me.cbEnabled.AutoSize = True
+ Me.cbEnabled.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.cbEnabled.Location = New System.Drawing.Point(10, 5)
+ Me.cbEnabled.Name = "cbEnabled"
+ Me.cbEnabled.Size = New System.Drawing.Size(68, 17)
+ Me.cbEnabled.TabIndex = 0
+ Me.cbEnabled.Text = "Enabled"
+ Me.cbEnabled.UseVisualStyleBackColor = True
+ '
+ 'Panel1
+ '
+ Me.Panel1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Panel1.BackColor = System.Drawing.Color.WhiteSmoke
+ Me.Panel1.Controls.Add(Me.Label2)
+ Me.Panel1.Controls.Add(Me.btnDown)
+ Me.Panel1.Controls.Add(Me.cbEnabled)
+ Me.Panel1.Controls.Add(Me.btnUp)
+ Me.Panel1.Location = New System.Drawing.Point(0, 0)
+ Me.Panel1.Name = "Panel1"
+ Me.Panel1.Size = New System.Drawing.Size(1125, 25)
+ Me.Panel1.TabIndex = 0
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Font = New System.Drawing.Font("Segoe UI", 6.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label2.Location = New System.Drawing.Point(500, 7)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(58, 12)
+ Me.Label2.TabIndex = 1
+ Me.Label2.Text = "Scraper order"
+ '
+ 'btnDown
+ '
+ Me.btnDown.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.btnDown.Image = CType(resources.GetObject("btnDown.Image"), System.Drawing.Image)
+ Me.btnDown.Location = New System.Drawing.Point(591, 1)
+ Me.btnDown.Name = "btnDown"
+ Me.btnDown.Size = New System.Drawing.Size(23, 23)
+ Me.btnDown.TabIndex = 3
+ Me.btnDown.UseVisualStyleBackColor = True
+ '
+ 'btnUp
+ '
+ Me.btnUp.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.btnUp.Image = CType(resources.GetObject("btnUp.Image"), System.Drawing.Image)
+ Me.btnUp.Location = New System.Drawing.Point(566, 1)
+ Me.btnUp.Name = "btnUp"
+ Me.btnUp.Size = New System.Drawing.Size(23, 23)
+ Me.btnUp.TabIndex = 2
+ Me.btnUp.UseVisualStyleBackColor = True
+ '
+ 'pnlSettings
+ '
+ Me.pnlSettings.Controls.Add(Me.GroupBox1)
+ Me.pnlSettings.Controls.Add(Me.Label1)
+ Me.pnlSettings.Controls.Add(Me.PictureBox1)
+ Me.pnlSettings.Controls.Add(Me.Panel1)
+ Me.pnlSettings.Controls.Add(Me.GroupBox30)
+ Me.pnlSettings.Controls.Add(Me.gbOptions)
+ Me.pnlSettings.Location = New System.Drawing.Point(12, 1)
+ Me.pnlSettings.Name = "pnlSettings"
+ Me.pnlSettings.Size = New System.Drawing.Size(617, 369)
+ Me.pnlSettings.TabIndex = 0
+ '
+ 'GroupBox1
+ '
+ Me.GroupBox1.Controls.Add(Me.pbFANARTTV)
+ Me.GroupBox1.Controls.Add(Me.Label5)
+ Me.GroupBox1.Controls.Add(Me.txtFANARTTVApiKey)
+ Me.GroupBox1.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.GroupBox1.Location = New System.Drawing.Point(8, 169)
+ Me.GroupBox1.Name = "GroupBox1"
+ Me.GroupBox1.Size = New System.Drawing.Size(309, 71)
+ Me.GroupBox1.TabIndex = 75
+ Me.GroupBox1.TabStop = False
+ Me.GroupBox1.Text = "Fanart.tv"
+ '
+ 'Label5
+ '
+ Me.Label5.AutoSize = True
+ Me.Label5.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label5.Location = New System.Drawing.Point(6, 18)
+ Me.Label5.Name = "Label5"
+ Me.Label5.Size = New System.Drawing.Size(94, 13)
+ Me.Label5.TabIndex = 0
+ Me.Label5.Text = "Fanart.tv API Key:"
+ '
+ 'txtFANARTTVApiKey
+ '
+ Me.txtFANARTTVApiKey.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txtFANARTTVApiKey.Location = New System.Drawing.Point(8, 32)
+ Me.txtFANARTTVApiKey.Name = "txtFANARTTVApiKey"
+ Me.txtFANARTTVApiKey.Size = New System.Drawing.Size(273, 22)
+ Me.txtFANARTTVApiKey.TabIndex = 1
+ '
+ 'Label1
+ '
+ Me.Label1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.Label1.Font = New System.Drawing.Font("Segoe UI", 6.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.Label1.ForeColor = System.Drawing.Color.Blue
+ Me.Label1.Location = New System.Drawing.Point(37, 337)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(225, 31)
+ Me.Label1.TabIndex = 4
+ Me.Label1.Text = "These settings are specific to this module." & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Please refer to the global settings " & _
+ "for more options."
+ Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'PictureBox1
+ '
+ Me.PictureBox1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)
+ Me.PictureBox1.Location = New System.Drawing.Point(3, 335)
+ Me.PictureBox1.Name = "PictureBox1"
+ Me.PictureBox1.Size = New System.Drawing.Size(30, 31)
+ Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
+ Me.PictureBox1.TabIndex = 96
+ Me.PictureBox1.TabStop = False
+ '
+ 'gbOptions
+ '
+ Me.gbOptions.Controls.Add(Me.chkCrew)
+ Me.gbOptions.Controls.Add(Me.chkCountry)
+ Me.gbOptions.Controls.Add(Me.chkStudio)
+ Me.gbOptions.Controls.Add(Me.chkRuntime)
+ Me.gbOptions.Controls.Add(Me.chkOutline)
+ Me.gbOptions.Controls.Add(Me.chkGenre)
+ Me.gbOptions.Controls.Add(Me.chkTagline)
+ Me.gbOptions.Controls.Add(Me.chkCast)
+ Me.gbOptions.Controls.Add(Me.chkVotes)
+ Me.gbOptions.Controls.Add(Me.chkTrailer)
+ Me.gbOptions.Controls.Add(Me.chkRating)
+ Me.gbOptions.Controls.Add(Me.chkRelease)
+ Me.gbOptions.Controls.Add(Me.chkMPAA)
+ Me.gbOptions.Controls.Add(Me.chkYear)
+ Me.gbOptions.Controls.Add(Me.chkTitle)
+ Me.gbOptions.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.gbOptions.Location = New System.Drawing.Point(323, 40)
+ Me.gbOptions.Name = "gbOptions"
+ Me.gbOptions.Size = New System.Drawing.Size(283, 150)
+ Me.gbOptions.TabIndex = 3
+ Me.gbOptions.TabStop = False
+ Me.gbOptions.Text = "Scraper Fields"
+ '
+ 'chkCrew
+ '
+ Me.chkCrew.AutoSize = True
+ Me.chkCrew.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkCrew.Location = New System.Drawing.Point(225, 17)
+ Me.chkCrew.Name = "chkCrew"
+ Me.chkCrew.Size = New System.Drawing.Size(52, 17)
+ Me.chkCrew.TabIndex = 19
+ Me.chkCrew.Text = "Crew"
+ Me.chkCrew.UseVisualStyleBackColor = True
+ '
+ 'chkCountry
+ '
+ Me.chkCountry.AutoSize = True
+ Me.chkCountry.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkCountry.Location = New System.Drawing.Point(131, 123)
+ Me.chkCountry.Name = "chkCountry"
+ Me.chkCountry.Size = New System.Drawing.Size(67, 17)
+ Me.chkCountry.TabIndex = 18
+ Me.chkCountry.Text = "Country"
+ Me.chkCountry.UseVisualStyleBackColor = True
+ '
+ 'chkStudio
+ '
+ Me.chkStudio.AutoSize = True
+ Me.chkStudio.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkStudio.Location = New System.Drawing.Point(131, 19)
+ Me.chkStudio.Name = "chkStudio"
+ Me.chkStudio.Size = New System.Drawing.Size(60, 17)
+ Me.chkStudio.TabIndex = 8
+ Me.chkStudio.Text = "Studio"
+ Me.chkStudio.UseVisualStyleBackColor = True
+ '
+ 'chkRuntime
+ '
+ Me.chkRuntime.AutoSize = True
+ Me.chkRuntime.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkRuntime.Location = New System.Drawing.Point(6, 89)
+ Me.chkRuntime.Name = "chkRuntime"
+ Me.chkRuntime.Size = New System.Drawing.Size(69, 17)
+ Me.chkRuntime.TabIndex = 5
+ Me.chkRuntime.Text = "Runtime"
+ Me.chkRuntime.UseVisualStyleBackColor = True
+ '
+ 'chkOutline
+ '
+ Me.chkOutline.AutoSize = True
+ Me.chkOutline.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkOutline.Location = New System.Drawing.Point(131, 53)
+ Me.chkOutline.Name = "chkOutline"
+ Me.chkOutline.Size = New System.Drawing.Size(65, 17)
+ Me.chkOutline.TabIndex = 10
+ Me.chkOutline.Text = "Outline"
+ Me.chkOutline.UseVisualStyleBackColor = True
+ '
+ 'chkGenre
+ '
+ Me.chkGenre.AutoSize = True
+ Me.chkGenre.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkGenre.Location = New System.Drawing.Point(131, 72)
+ Me.chkGenre.Name = "chkGenre"
+ Me.chkGenre.Size = New System.Drawing.Size(57, 17)
+ Me.chkGenre.TabIndex = 15
+ Me.chkGenre.Text = "Genre"
+ Me.chkGenre.UseVisualStyleBackColor = True
+ '
+ 'chkTagline
+ '
+ Me.chkTagline.AutoSize = True
+ Me.chkTagline.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkTagline.Location = New System.Drawing.Point(131, 36)
+ Me.chkTagline.Name = "chkTagline"
+ Me.chkTagline.Size = New System.Drawing.Size(63, 17)
+ Me.chkTagline.TabIndex = 9
+ Me.chkTagline.Text = "Tagline"
+ Me.chkTagline.UseVisualStyleBackColor = True
+ '
+ 'chkCast
+ '
+ Me.chkCast.AutoSize = True
+ Me.chkCast.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkCast.Location = New System.Drawing.Point(131, 89)
+ Me.chkCast.Name = "chkCast"
+ Me.chkCast.Size = New System.Drawing.Size(48, 17)
+ Me.chkCast.TabIndex = 12
+ Me.chkCast.Text = "Cast"
+ Me.chkCast.UseVisualStyleBackColor = True
+ '
+ 'chkVotes
+ '
+ Me.chkVotes.AutoSize = True
+ Me.chkVotes.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkVotes.Location = New System.Drawing.Point(6, 123)
+ Me.chkVotes.Name = "chkVotes"
+ Me.chkVotes.Size = New System.Drawing.Size(55, 17)
+ Me.chkVotes.TabIndex = 7
+ Me.chkVotes.Text = "Votes"
+ Me.chkVotes.UseVisualStyleBackColor = True
+ '
+ 'chkTrailer
+ '
+ Me.chkTrailer.AutoSize = True
+ Me.chkTrailer.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkTrailer.Location = New System.Drawing.Point(131, 106)
+ Me.chkTrailer.Name = "chkTrailer"
+ Me.chkTrailer.Size = New System.Drawing.Size(57, 17)
+ Me.chkTrailer.TabIndex = 17
+ Me.chkTrailer.Text = "Trailer"
+ Me.chkTrailer.UseVisualStyleBackColor = True
+ '
+ 'chkRating
+ '
+ Me.chkRating.AutoSize = True
+ Me.chkRating.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkRating.Location = New System.Drawing.Point(6, 106)
+ Me.chkRating.Name = "chkRating"
+ Me.chkRating.Size = New System.Drawing.Size(60, 17)
+ Me.chkRating.TabIndex = 6
+ Me.chkRating.Text = "Rating"
+ Me.chkRating.UseVisualStyleBackColor = True
+ '
+ 'chkRelease
+ '
+ Me.chkRelease.AutoSize = True
+ Me.chkRelease.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkRelease.Location = New System.Drawing.Point(6, 72)
+ Me.chkRelease.Name = "chkRelease"
+ Me.chkRelease.Size = New System.Drawing.Size(92, 17)
+ Me.chkRelease.TabIndex = 4
+ Me.chkRelease.Text = "Release Date"
+ Me.chkRelease.UseVisualStyleBackColor = True
+ '
+ 'chkMPAA
+ '
+ Me.chkMPAA.AutoSize = True
+ Me.chkMPAA.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkMPAA.Location = New System.Drawing.Point(6, 53)
+ Me.chkMPAA.Name = "chkMPAA"
+ Me.chkMPAA.Size = New System.Drawing.Size(56, 17)
+ Me.chkMPAA.TabIndex = 2
+ Me.chkMPAA.Text = "MPAA"
+ Me.chkMPAA.UseVisualStyleBackColor = True
+ '
+ 'chkYear
+ '
+ Me.chkYear.AutoSize = True
+ Me.chkYear.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkYear.Location = New System.Drawing.Point(6, 36)
+ Me.chkYear.Name = "chkYear"
+ Me.chkYear.Size = New System.Drawing.Size(47, 17)
+ Me.chkYear.TabIndex = 1
+ Me.chkYear.Text = "Year"
+ Me.chkYear.UseVisualStyleBackColor = True
+ '
+ 'chkTitle
+ '
+ Me.chkTitle.AutoSize = True
+ Me.chkTitle.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkTitle.Location = New System.Drawing.Point(6, 19)
+ Me.chkTitle.Name = "chkTitle"
+ Me.chkTitle.Size = New System.Drawing.Size(47, 17)
+ Me.chkTitle.TabIndex = 0
+ Me.chkTitle.Text = "Title"
+ Me.chkTitle.UseVisualStyleBackColor = True
+ '
+ 'pbTMDB
+ '
+ Me.pbTMDB.Image = CType(resources.GetObject("pbTMDB.Image"), System.Drawing.Image)
+ Me.pbTMDB.Location = New System.Drawing.Point(287, 34)
+ Me.pbTMDB.Name = "pbTMDB"
+ Me.pbTMDB.Size = New System.Drawing.Size(16, 16)
+ Me.pbTMDB.TabIndex = 5
+ Me.pbTMDB.TabStop = False
+ '
+ 'pbFANARTTV
+ '
+ Me.pbFANARTTV.Image = CType(resources.GetObject("pbFANARTTV.Image"), System.Drawing.Image)
+ Me.pbFANARTTV.Location = New System.Drawing.Point(287, 34)
+ Me.pbFANARTTV.Name = "pbFANARTTV"
+ Me.pbFANARTTV.Size = New System.Drawing.Size(16, 16)
+ Me.pbFANARTTV.TabIndex = 6
+ Me.pbFANARTTV.TabStop = False
+ '
+ 'frmTMDBInfoSettingsHolder
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
+ Me.BackColor = System.Drawing.Color.White
+ Me.ClientSize = New System.Drawing.Size(652, 388)
+ Me.Controls.Add(Me.pnlSettings)
+ Me.Controls.Add(Me.lblVersion)
+ Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "frmTMDBInfoSettingsHolder"
+ Me.ShowInTaskbar = False
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "Scraper Setup"
+ Me.GroupBox30.ResumeLayout(False)
+ Me.GroupBox30.PerformLayout()
+ Me.Panel1.ResumeLayout(False)
+ Me.Panel1.PerformLayout()
+ Me.pnlSettings.ResumeLayout(False)
+ Me.GroupBox1.ResumeLayout(False)
+ Me.GroupBox1.PerformLayout()
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.gbOptions.ResumeLayout(False)
+ Me.gbOptions.PerformLayout()
+ CType(Me.pbTMDB, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.pbFANARTTV, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+
+ End Sub
+ Friend WithEvents lblVersion As System.Windows.Forms.Label
+ Friend WithEvents GroupBox30 As System.Windows.Forms.GroupBox
+ Friend WithEvents Label18 As System.Windows.Forms.Label
+ Friend WithEvents txtTMDBApiKey As System.Windows.Forms.TextBox
+ Friend WithEvents cbEnabled As System.Windows.Forms.CheckBox
+ Friend WithEvents Panel1 As System.Windows.Forms.Panel
+ Friend WithEvents pnlSettings As System.Windows.Forms.Panel
+ Friend WithEvents btnDown As System.Windows.Forms.Button
+ Friend WithEvents btnUp As System.Windows.Forms.Button
+ Friend WithEvents Label2 As System.Windows.Forms.Label
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
+ Friend WithEvents gbOptions As System.Windows.Forms.GroupBox
+ Friend WithEvents chkCountry As System.Windows.Forms.CheckBox
+ Friend WithEvents chkStudio As System.Windows.Forms.CheckBox
+ Friend WithEvents chkRuntime As System.Windows.Forms.CheckBox
+ Friend WithEvents chkOutline As System.Windows.Forms.CheckBox
+ Friend WithEvents chkGenre As System.Windows.Forms.CheckBox
+ Friend WithEvents chkTagline As System.Windows.Forms.CheckBox
+ Friend WithEvents chkCast As System.Windows.Forms.CheckBox
+ Friend WithEvents chkVotes As System.Windows.Forms.CheckBox
+ Friend WithEvents chkTrailer As System.Windows.Forms.CheckBox
+ Friend WithEvents chkRating As System.Windows.Forms.CheckBox
+ Friend WithEvents chkRelease As System.Windows.Forms.CheckBox
+ Friend WithEvents chkMPAA As System.Windows.Forms.CheckBox
+ Friend WithEvents chkYear As System.Windows.Forms.CheckBox
+ Friend WithEvents chkTitle As System.Windows.Forms.CheckBox
+ Friend WithEvents chkFallBackEng As System.Windows.Forms.CheckBox
+ Friend WithEvents cbTMDBPrefLanguage As System.Windows.Forms.ComboBox
+ Friend WithEvents Label3 As System.Windows.Forms.Label
+ Friend WithEvents chkCrew As System.Windows.Forms.CheckBox
+ Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
+ Friend WithEvents Label5 As System.Windows.Forms.Label
+ Friend WithEvents txtFANARTTVApiKey As System.Windows.Forms.TextBox
+ Friend WithEvents pbTMDB As System.Windows.Forms.PictureBox
+ Friend WithEvents pbFANARTTV As System.Windows.Forms.PictureBox
+
+End Class
diff --git a/Addons/scraper.FanartTV.Poster/frmTMDBInfoSettingsHolder.resx b/Addons/scraper.FanartTV.Poster/frmTMDBInfoSettingsHolder.resx
new file mode 100644
index 0000000..b1bac92
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/frmTMDBInfoSettingsHolder.resx
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ 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
+ ayv4Ba5+NdG8cgGAAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
+ JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAArpAAAK6QH9dc7TAAABnElE
+ QVQ4T2P4//8/AyUYp2bhrrN6gl1nkgS7z6QLdZ21xWUJhgHS0++x8rWfXsXRfOI/S8Ox/yz1R/+zNx3/
+ z9N++qxI13kpdIMwDOBpPDKHpfrgf4ayvf8ZK/bdZKzYf4ihfO9/psoD/7kajhxJPIPqZRQDhKp2C7AX
+ b//PnLf5P2v+lq0w21gLtvYy5235z1a07T9fxS4UV6AYIFi4mYctfdUztrSV/znTVujADGBPWzkLKP4f
+ KP6PK3utMLI3MLzAFTNXhCthoSZMEUfsvFaOuAX/OeLm/+eMmz+ZYBggK+AKnTKZK2zaf+7QKf+5wqYu
+ xxYTOKORz7dbm9e35z+vb/d/Xr/u2URHI0whn3NDIL9Lw38QlrQoYCfZAEHnej4hu8q1gnaVFfhSKk4v
+ iOpnyIoaZu0SMchaLmKQyUOyC0T1M4tE9dL+i+ql/xc3zHEkygBmBgZhIFZmYmBQ5RLR9RLWjL0hrBF1
+ ko1bwhQorgHEKkAsBsRwl6N4ASjBDsR8QCwEVMMLxBxAzA7EAiAxIOYHYg6cBpCTrQErRGvnAPNv7gAA
+ AABJRU5ErkJggg==
+
+
+
+
+ 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
+ RK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
+ JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAArpAAAK6QH9dc7TAAABnElE
+ QVQ4T2P4//8/AyUYp2bhrrN6gl1nkgS7z6QLdZ21xWUJhgHS0++x8rWfXsXRfOI/S8Ox/yz1R/+zNx3/
+ z9N++qxI13kpdIMwDOBpPDKHpfrgf4ayvf8ZK/bdZKzYf4ihfO9/psoD/7kajhxJPIPqZRQDhKp2C7AX
+ b//PnLf5P2v+lq0w21gLtvYy5235z1a07T9fxS4UV6AYIFi4mYctfdUztrSV/znTVujADGBPWzkLKP4f
+ KP6PK3utMLI3MLzAFTNXhCthoSZMEUfsvFaOuAX/OeLm/+eMmz+ZYBggK+AKnTKZK2zaf+7QKf+5wqYu
+ xxYTOKORz7dbm9e35z+vb/d/Xr/u2URHI0whn3NDIL9Lw38QlrQoYCfZAEHnej4hu8q1gnaVFfhSKk4v
+ iOpnyIoaZu0SMchaLmKQyUOyC0T1M4tE9dL+i+ql/xc3zHEkygBmBgZhIFZmYmBQ5RLR9RLWjL0hrBF1
+ ko1bwhQorgHEKkAsBsRwl6N4ASjBDsR8QCwEVMMLxBxAzA7EAiAxIOYHYg6cBpCTrQErRGvnAPNv7gAA
+ AABJRU5ErkJggg==
+
+
+
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/frmTMDBInfoSettingsHolder.vb b/Addons/scraper.FanartTV.Poster/frmTMDBInfoSettingsHolder.vb
new file mode 100644
index 0000000..d17768a
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/frmTMDBInfoSettingsHolder.vb
@@ -0,0 +1,218 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports System.IO
+Imports EmberAPI
+Imports System.Diagnostics
+
+Public Class frmTMDBInfoSettingsHolder
+
+#Region "Events"
+
+ Public Event ModuleSettingsChanged()
+
+ Public Event SetupScraperChanged(ByVal state As Boolean, ByVal difforder As Integer)
+ Public Event SetupNeedsRestart()
+
+#End Region 'Events
+
+#Region "Fields"
+
+ Private Api1 As String
+
+#End Region 'Events
+
+#Region "Methods"
+
+ Private Sub btnDown_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDown.Click
+ Dim order As Integer = ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberTMDBScraperModule._AssemblyName).ScraperOrder
+ If order < ModulesManager.Instance.externalScrapersModules.Where(Function(y) y.ProcessorModule.IsScraper).Count - 1 Then
+ ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.ScraperOrder = order + 1).ScraperOrder = order
+ ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberTMDBScraperModule._AssemblyName).ScraperOrder = order + 1
+ RaiseEvent SetupScraperChanged(cbEnabled.Checked, 1)
+ orderChanged()
+ End If
+ End Sub
+
+ Private Sub btnUp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUp.Click
+ Dim order As Integer = ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberTMDBScraperModule._AssemblyName).ScraperOrder
+ If order > 0 Then
+ ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.ScraperOrder = order - 1).ScraperOrder = order
+ ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberTMDBScraperModule._AssemblyName).ScraperOrder = order - 1
+ RaiseEvent SetupScraperChanged(cbEnabled.Checked, -1)
+ orderChanged()
+ End If
+ End Sub
+
+ Private Sub cbEnabled_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbEnabled.CheckedChanged
+ RaiseEvent SetupScraperChanged(cbEnabled.Checked, 0)
+ End Sub
+
+ Private Sub chkCrew_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles chkCrew.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkCast_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkCast.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkGenre_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkGenre.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkMPAA_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkMPAA.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkOutline_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkOutline.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkRating_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkRating.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkRelease_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkRelease.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkRuntime_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkRuntime.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkStudio_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkStudio.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkTagline_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkTagline.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkTitle_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkTitle.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkCountry_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkCountry.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkTrailer_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkTrailer.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkVotes_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkVotes.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkYear_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkYear.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkFallBackEng_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles chkFallBackEng.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub cbTMDBPrefLanguage_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cbTMDBPrefLanguage.SelectedIndexChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub txtFANARTTVApiKey_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtFANARTTVApiKey.TextChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub txtTMDBApiKey_TextEnter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTMDBApiKey.Enter
+ Api1 = txtTMDBApiKey.Text
+ End Sub
+
+ Private Sub txtTMDBApiKey_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTMDBApiKey.TextChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub txtTMDBApiKey_TextValidated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTMDBApiKey.Validated
+ If Not (Api1 = txtTMDBApiKey.Text) Then
+ RaiseEvent SetupNeedsRestart()
+ End If
+ End Sub
+
+ Public Sub New()
+ InitializeComponent()
+ Me.SetUp()
+ End Sub
+
+ Sub orderChanged()
+ Dim order As Integer = ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberTMDBScraperModule._AssemblyName).ScraperOrder
+ btnDown.Enabled = (order < ModulesManager.Instance.externalScrapersModules.Where(Function(y) y.ProcessorModule.IsScraper).Count - 1)
+ btnUp.Enabled = (order > 1)
+ End Sub
+
+ Private Sub SetUp()
+ Me.Label18.Text = Master.eLang.GetString(854, "TMDB API Key:")
+ Me.gbOptions.Text = Master.eLang.GetString(6, "Scraper Fields - Scraper specific")
+ Me.chkStudio.Text = Master.eLang.GetString(395, "Studio", True)
+ Me.chkRuntime.Text = Master.eLang.GetString(396, "Runtime", True)
+ Me.chkOutline.Text = Master.eLang.GetString(64, "Plot Outline", True)
+ Me.chkGenre.Text = Master.eLang.GetString(20, "Genres", True)
+ Me.chkTagline.Text = Master.eLang.GetString(397, "Tagline", True)
+ Me.chkCast.Text = Master.eLang.GetString(856, "Cast and Crew", True)
+ Me.chkVotes.Text = Master.eLang.GetString(399, "Votes", True)
+ Me.chkTrailer.Text = Master.eLang.GetString(151, "Trailer", True)
+ Me.chkRating.Text = Master.eLang.GetString(400, "Rating", True)
+ Me.chkRelease.Text = Master.eLang.GetString(57, "Release Date", True)
+ Me.chkMPAA.Text = Master.eLang.GetString(859, "MPAA & Certification", True)
+ Me.chkYear.Text = Master.eLang.GetString(278, "Year", True)
+ Me.chkTitle.Text = Master.eLang.GetString(21, "Title", True)
+ 'Me.chkCertification.Text = Master.eLang.GetString(722, "Certification", True)
+ Me.Label2.Text = Master.eLang.GetString(168, "Scrape Order", True)
+ Me.cbEnabled.Text = Master.eLang.GetString(774, "Enabled", True)
+ Me.chkFallBackEng.Text = Master.eLang.GetString(114, "Fall back on english")
+ Me.Label3.Text = Master.eLang.GetString(115, "Preferred Language:")
+
+ Me.Label1.Text = String.Format(Master.eLang.GetString(103, "These settings are specific to this module.{0}Please refer to the global settings for more options."), vbCrLf)
+ End Sub
+
+
+#End Region 'Methods
+
+ Private Sub PictureBox2_Click(sender As System.Object, e As System.EventArgs) Handles pbTMDB.Click
+ If Master.isWindows Then
+ Process.Start("http://docs.themoviedb.apiary.io/")
+ Else
+ Using Explorer As New Process
+ Explorer.StartInfo.FileName = "xdg-open"
+ Explorer.StartInfo.Arguments = "http://docs.themoviedb.apiary.io/"
+ Explorer.Start()
+ End Using
+ End If
+
+ End Sub
+
+ Private Sub pbFANARTTV_Click(sender As System.Object, e As System.EventArgs) Handles pbFANARTTV.Click
+ If Master.isWindows Then
+ Process.Start("http://fanart.tv/get-an-api-key/")
+ Else
+ Using Explorer As New Process
+ Explorer.StartInfo.FileName = "xdg-open"
+ Explorer.StartInfo.Arguments = "http://fanart.tv/get-an-api-key/"
+ Explorer.Start()
+ End Using
+ End If
+
+ End Sub
+End Class
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/frmTMDBMediaSettingsHolder.Designer.vb b/Addons/scraper.FanartTV.Poster/frmTMDBMediaSettingsHolder.Designer.vb
new file mode 100644
index 0000000..68e3c03
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/frmTMDBMediaSettingsHolder.Designer.vb
@@ -0,0 +1,525 @@
+ _
+Partial Class frmTMDBMediaSettingsHolder
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmTMDBMediaSettingsHolder))
+ Me.pnlSettings = New System.Windows.Forms.Panel()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.PictureBox1 = New System.Windows.Forms.PictureBox()
+ Me.GroupBox3 = New System.Windows.Forms.GroupBox()
+ Me.GroupBox6 = New System.Windows.Forms.GroupBox()
+ Me.chkUseFANARTTV = New System.Windows.Forms.CheckBox()
+ Me.GroupBox9 = New System.Windows.Forms.GroupBox()
+ Me.chkUseMPDB = New System.Windows.Forms.CheckBox()
+ Me.chkUseIMDBp = New System.Windows.Forms.CheckBox()
+ Me.chkUseIMPA = New System.Windows.Forms.CheckBox()
+ Me.GroupBox4 = New System.Windows.Forms.GroupBox()
+ Me.cbManualETSize = New System.Windows.Forms.ComboBox()
+ Me.grpSaveFanart = New System.Windows.Forms.GroupBox()
+ Me.optFanartFolderExtraFanart = New System.Windows.Forms.RadioButton()
+ Me.optFanartFolderExtraThumbs = New System.Windows.Forms.RadioButton()
+ Me.chkScrapePoster = New System.Windows.Forms.CheckBox()
+ Me.chkScrapeFanart = New System.Windows.Forms.CheckBox()
+ Me.GroupBox1 = New System.Windows.Forms.GroupBox()
+ Me.chkDownloadTrailer = New System.Windows.Forms.CheckBox()
+ Me.Label23 = New System.Windows.Forms.Label()
+ Me.txtTimeout = New System.Windows.Forms.TextBox()
+ Me.GroupBox2 = New System.Windows.Forms.GroupBox()
+ Me.chkTrailerIMDB = New System.Windows.Forms.CheckBox()
+ Me.GroupBox5 = New System.Windows.Forms.GroupBox()
+ Me.cbTrailerTMDBPref = New System.Windows.Forms.ComboBox()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.chkTrailerTMDBXBMC = New System.Windows.Forms.CheckBox()
+ Me.chkTrailerTMDB = New System.Windows.Forms.CheckBox()
+ Me.Panel2 = New System.Windows.Forms.Panel()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.btnDown = New System.Windows.Forms.Button()
+ Me.btnUp = New System.Windows.Forms.Button()
+ Me.cbEnabled = New System.Windows.Forms.CheckBox()
+ Me.pnlSettings.SuspendLayout()
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.GroupBox3.SuspendLayout()
+ Me.GroupBox6.SuspendLayout()
+ Me.GroupBox9.SuspendLayout()
+ Me.GroupBox4.SuspendLayout()
+ Me.grpSaveFanart.SuspendLayout()
+ Me.GroupBox1.SuspendLayout()
+ Me.GroupBox2.SuspendLayout()
+ Me.GroupBox5.SuspendLayout()
+ Me.Panel2.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'pnlSettings
+ '
+ Me.pnlSettings.Controls.Add(Me.Label1)
+ Me.pnlSettings.Controls.Add(Me.PictureBox1)
+ Me.pnlSettings.Controls.Add(Me.GroupBox3)
+ Me.pnlSettings.Controls.Add(Me.GroupBox1)
+ Me.pnlSettings.Controls.Add(Me.Panel2)
+ Me.pnlSettings.Location = New System.Drawing.Point(12, 4)
+ Me.pnlSettings.Name = "pnlSettings"
+ Me.pnlSettings.Size = New System.Drawing.Size(617, 369)
+ Me.pnlSettings.TabIndex = 0
+ '
+ 'Label1
+ '
+ Me.Label1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.Label1.Font = New System.Drawing.Font("Segoe UI", 6.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
+ Me.Label1.ForeColor = System.Drawing.Color.Blue
+ Me.Label1.Location = New System.Drawing.Point(37, 337)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(225, 31)
+ Me.Label1.TabIndex = 3
+ Me.Label1.Text = "These settings are specific to this module." & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Please refer to the global settings " & _
+ "for more options."
+ Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'PictureBox1
+ '
+ Me.PictureBox1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)
+ Me.PictureBox1.Location = New System.Drawing.Point(3, 335)
+ Me.PictureBox1.Name = "PictureBox1"
+ Me.PictureBox1.Size = New System.Drawing.Size(30, 31)
+ Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
+ Me.PictureBox1.TabIndex = 94
+ Me.PictureBox1.TabStop = False
+ '
+ 'GroupBox3
+ '
+ Me.GroupBox3.Controls.Add(Me.GroupBox6)
+ Me.GroupBox3.Controls.Add(Me.GroupBox9)
+ Me.GroupBox3.Controls.Add(Me.GroupBox4)
+ Me.GroupBox3.Controls.Add(Me.grpSaveFanart)
+ Me.GroupBox3.Controls.Add(Me.chkScrapePoster)
+ Me.GroupBox3.Controls.Add(Me.chkScrapeFanart)
+ Me.GroupBox3.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.GroupBox3.Location = New System.Drawing.Point(15, 31)
+ Me.GroupBox3.Name = "GroupBox3"
+ Me.GroupBox3.Size = New System.Drawing.Size(505, 154)
+ Me.GroupBox3.TabIndex = 1
+ Me.GroupBox3.TabStop = False
+ Me.GroupBox3.Text = "Images"
+ '
+ 'GroupBox6
+ '
+ Me.GroupBox6.Controls.Add(Me.chkUseFANARTTV)
+ Me.GroupBox6.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.GroupBox6.Location = New System.Drawing.Point(331, 21)
+ Me.GroupBox6.Name = "GroupBox6"
+ Me.GroupBox6.Size = New System.Drawing.Size(160, 55)
+ Me.GroupBox6.TabIndex = 96
+ Me.GroupBox6.TabStop = False
+ Me.GroupBox6.Text = "Get Fanart From:"
+ '
+ 'chkUseFANARTTV
+ '
+ Me.chkUseFANARTTV.CheckAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkUseFANARTTV.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkUseFANARTTV.Location = New System.Drawing.Point(6, 21)
+ Me.chkUseFANARTTV.Name = "chkUseFANARTTV"
+ Me.chkUseFANARTTV.Size = New System.Drawing.Size(150, 22)
+ Me.chkUseFANARTTV.TabIndex = 2
+ Me.chkUseFANARTTV.Text = "fanart.tv"
+ Me.chkUseFANARTTV.TextAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkUseFANARTTV.UseVisualStyleBackColor = True
+ '
+ 'GroupBox9
+ '
+ Me.GroupBox9.Controls.Add(Me.chkUseMPDB)
+ Me.GroupBox9.Controls.Add(Me.chkUseIMDBp)
+ Me.GroupBox9.Controls.Add(Me.chkUseIMPA)
+ Me.GroupBox9.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.GroupBox9.Location = New System.Drawing.Point(165, 19)
+ Me.GroupBox9.Name = "GroupBox9"
+ Me.GroupBox9.Size = New System.Drawing.Size(160, 78)
+ Me.GroupBox9.TabIndex = 5
+ Me.GroupBox9.TabStop = False
+ Me.GroupBox9.Text = "Get Poster From:"
+ '
+ 'chkUseMPDB
+ '
+ Me.chkUseMPDB.CheckAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkUseMPDB.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkUseMPDB.Location = New System.Drawing.Point(6, 56)
+ Me.chkUseMPDB.Name = "chkUseMPDB"
+ Me.chkUseMPDB.Size = New System.Drawing.Size(150, 22)
+ Me.chkUseMPDB.TabIndex = 2
+ Me.chkUseMPDB.Text = "MoviePosterDB.com"
+ Me.chkUseMPDB.TextAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkUseMPDB.UseVisualStyleBackColor = True
+ '
+ 'chkUseIMDBp
+ '
+ Me.chkUseIMDBp.CheckAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkUseIMDBp.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkUseIMDBp.Location = New System.Drawing.Point(6, 18)
+ Me.chkUseIMDBp.Name = "chkUseIMDBp"
+ Me.chkUseIMDBp.Size = New System.Drawing.Size(149, 19)
+ Me.chkUseIMDBp.TabIndex = 0
+ Me.chkUseIMDBp.Text = "IMDB.com"
+ Me.chkUseIMDBp.TextAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkUseIMDBp.UseVisualStyleBackColor = True
+ '
+ 'chkUseIMPA
+ '
+ Me.chkUseIMPA.CheckAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkUseIMPA.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkUseIMPA.Location = New System.Drawing.Point(6, 37)
+ Me.chkUseIMPA.Name = "chkUseIMPA"
+ Me.chkUseIMPA.Size = New System.Drawing.Size(149, 20)
+ Me.chkUseIMPA.TabIndex = 1
+ Me.chkUseIMPA.Text = "IMPAwards.com"
+ Me.chkUseIMPA.TextAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkUseIMPA.UseVisualStyleBackColor = True
+ '
+ 'GroupBox4
+ '
+ Me.GroupBox4.Controls.Add(Me.cbManualETSize)
+ Me.GroupBox4.Location = New System.Drawing.Point(331, 94)
+ Me.GroupBox4.Name = "GroupBox4"
+ Me.GroupBox4.Size = New System.Drawing.Size(160, 55)
+ Me.GroupBox4.TabIndex = 4
+ Me.GroupBox4.TabStop = False
+ Me.GroupBox4.Text = "TMDB Extrathumbs Size:"
+ '
+ 'cbManualETSize
+ '
+ Me.cbManualETSize.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+ Me.cbManualETSize.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.cbManualETSize.FormattingEnabled = True
+ Me.cbManualETSize.Items.AddRange(New Object() {"original", "w1280", "poster", "thumb"})
+ Me.cbManualETSize.Location = New System.Drawing.Point(12, 21)
+ Me.cbManualETSize.Name = "cbManualETSize"
+ Me.cbManualETSize.Size = New System.Drawing.Size(131, 21)
+ Me.cbManualETSize.TabIndex = 0
+ '
+ 'grpSaveFanart
+ '
+ Me.grpSaveFanart.Controls.Add(Me.optFanartFolderExtraFanart)
+ Me.grpSaveFanart.Controls.Add(Me.optFanartFolderExtraThumbs)
+ Me.grpSaveFanart.Enabled = False
+ Me.grpSaveFanart.Location = New System.Drawing.Point(24, 54)
+ Me.grpSaveFanart.Name = "grpSaveFanart"
+ Me.grpSaveFanart.Size = New System.Drawing.Size(123, 66)
+ Me.grpSaveFanart.TabIndex = 2
+ Me.grpSaveFanart.TabStop = False
+ Me.grpSaveFanart.Text = "Save Fanart In:"
+ '
+ 'optFanartFolderExtraFanart
+ '
+ Me.optFanartFolderExtraFanart.AutoSize = True
+ Me.optFanartFolderExtraFanart.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.optFanartFolderExtraFanart.Location = New System.Drawing.Point(22, 38)
+ Me.optFanartFolderExtraFanart.Name = "optFanartFolderExtraFanart"
+ Me.optFanartFolderExtraFanart.Size = New System.Drawing.Size(85, 17)
+ Me.optFanartFolderExtraFanart.TabIndex = 1
+ Me.optFanartFolderExtraFanart.TabStop = True
+ Me.optFanartFolderExtraFanart.Text = "\extrafanart"
+ Me.optFanartFolderExtraFanart.UseVisualStyleBackColor = True
+ '
+ 'optFanartFolderExtraThumbs
+ '
+ Me.optFanartFolderExtraThumbs.AutoSize = True
+ Me.optFanartFolderExtraThumbs.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.optFanartFolderExtraThumbs.Location = New System.Drawing.Point(22, 19)
+ Me.optFanartFolderExtraThumbs.Name = "optFanartFolderExtraThumbs"
+ Me.optFanartFolderExtraThumbs.Size = New System.Drawing.Size(93, 17)
+ Me.optFanartFolderExtraThumbs.TabIndex = 0
+ Me.optFanartFolderExtraThumbs.TabStop = True
+ Me.optFanartFolderExtraThumbs.Text = "\extrathumbs"
+ Me.optFanartFolderExtraThumbs.UseVisualStyleBackColor = True
+ '
+ 'chkScrapePoster
+ '
+ Me.chkScrapePoster.CheckAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkScrapePoster.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkScrapePoster.Location = New System.Drawing.Point(6, 19)
+ Me.chkScrapePoster.Name = "chkScrapePoster"
+ Me.chkScrapePoster.Size = New System.Drawing.Size(114, 15)
+ Me.chkScrapePoster.TabIndex = 0
+ Me.chkScrapePoster.Text = "Get Posters"
+ Me.chkScrapePoster.TextAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkScrapePoster.UseVisualStyleBackColor = True
+ '
+ 'chkScrapeFanart
+ '
+ Me.chkScrapeFanart.CheckAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkScrapeFanart.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkScrapeFanart.Location = New System.Drawing.Point(6, 37)
+ Me.chkScrapeFanart.Name = "chkScrapeFanart"
+ Me.chkScrapeFanart.Size = New System.Drawing.Size(84, 16)
+ Me.chkScrapeFanart.TabIndex = 1
+ Me.chkScrapeFanart.Text = "Get Fanart"
+ Me.chkScrapeFanart.TextAlign = System.Drawing.ContentAlignment.TopLeft
+ Me.chkScrapeFanart.UseVisualStyleBackColor = True
+ '
+ 'GroupBox1
+ '
+ Me.GroupBox1.Controls.Add(Me.chkDownloadTrailer)
+ Me.GroupBox1.Controls.Add(Me.Label23)
+ Me.GroupBox1.Controls.Add(Me.txtTimeout)
+ Me.GroupBox1.Controls.Add(Me.GroupBox2)
+ Me.GroupBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.GroupBox1.Location = New System.Drawing.Point(15, 203)
+ Me.GroupBox1.Name = "GroupBox1"
+ Me.GroupBox1.Size = New System.Drawing.Size(464, 126)
+ Me.GroupBox1.TabIndex = 2
+ Me.GroupBox1.TabStop = False
+ Me.GroupBox1.Text = "Trailers"
+ Me.GroupBox1.UseCompatibleTextRendering = True
+ '
+ 'chkDownloadTrailer
+ '
+ Me.chkDownloadTrailer.AutoSize = True
+ Me.chkDownloadTrailer.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkDownloadTrailer.Location = New System.Drawing.Point(6, 19)
+ Me.chkDownloadTrailer.Name = "chkDownloadTrailer"
+ Me.chkDownloadTrailer.Size = New System.Drawing.Size(140, 17)
+ Me.chkDownloadTrailer.TabIndex = 0
+ Me.chkDownloadTrailer.Text = "Enable Trailer Support"
+ Me.chkDownloadTrailer.UseVisualStyleBackColor = True
+ '
+ 'Label23
+ '
+ Me.Label23.AutoSize = True
+ Me.Label23.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label23.Location = New System.Drawing.Point(21, 43)
+ Me.Label23.Name = "Label23"
+ Me.Label23.Size = New System.Drawing.Size(51, 13)
+ Me.Label23.TabIndex = 1
+ Me.Label23.Text = "Timeout:"
+ '
+ 'txtTimeout
+ '
+ Me.txtTimeout.Enabled = False
+ Me.txtTimeout.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txtTimeout.Location = New System.Drawing.Point(82, 39)
+ Me.txtTimeout.Name = "txtTimeout"
+ Me.txtTimeout.Size = New System.Drawing.Size(50, 22)
+ Me.txtTimeout.TabIndex = 2
+ '
+ 'GroupBox2
+ '
+ Me.GroupBox2.Controls.Add(Me.chkTrailerIMDB)
+ Me.GroupBox2.Controls.Add(Me.GroupBox5)
+ Me.GroupBox2.Controls.Add(Me.chkTrailerTMDBXBMC)
+ Me.GroupBox2.Controls.Add(Me.chkTrailerTMDB)
+ Me.GroupBox2.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.GroupBox2.Location = New System.Drawing.Point(165, 12)
+ Me.GroupBox2.Name = "GroupBox2"
+ Me.GroupBox2.Size = New System.Drawing.Size(291, 104)
+ Me.GroupBox2.TabIndex = 3
+ Me.GroupBox2.TabStop = False
+ Me.GroupBox2.Text = "Supported Sites:"
+ '
+ 'chkTrailerIMDB
+ '
+ Me.chkTrailerIMDB.AutoSize = True
+ Me.chkTrailerIMDB.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkTrailerIMDB.Location = New System.Drawing.Point(6, 67)
+ Me.chkTrailerIMDB.Name = "chkTrailerIMDB"
+ Me.chkTrailerIMDB.Size = New System.Drawing.Size(54, 17)
+ Me.chkTrailerIMDB.TabIndex = 5
+ Me.chkTrailerIMDB.Text = "IMDB"
+ Me.chkTrailerIMDB.UseVisualStyleBackColor = True
+ '
+ 'GroupBox5
+ '
+ Me.GroupBox5.Controls.Add(Me.cbTrailerTMDBPref)
+ Me.GroupBox5.Controls.Add(Me.Label2)
+ Me.GroupBox5.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold)
+ Me.GroupBox5.Location = New System.Drawing.Point(123, 12)
+ Me.GroupBox5.Name = "GroupBox5"
+ Me.GroupBox5.Size = New System.Drawing.Size(161, 83)
+ Me.GroupBox5.TabIndex = 4
+ Me.GroupBox5.TabStop = False
+ Me.GroupBox5.Text = "Youtube/TMDB Trailer:"
+ '
+ 'cbTrailerTMDBPref
+ '
+ Me.cbTrailerTMDBPref.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+ Me.cbTrailerTMDBPref.Enabled = False
+ Me.cbTrailerTMDBPref.Font = New System.Drawing.Font("Segoe UI", 8.25!)
+ Me.cbTrailerTMDBPref.FormattingEnabled = True
+ Me.cbTrailerTMDBPref.Items.AddRange(New Object() {"bg", "cs", "da", "de", "el", "en", "es", "fi", "fr", "he", "hu", "it", "nb", "nl", "no", "pl", "pt", "ru", "sk", "sv", "ta", "tr", "uk", "vi", "xx", "zh"})
+ Me.cbTrailerTMDBPref.Location = New System.Drawing.Point(21, 51)
+ Me.cbTrailerTMDBPref.Name = "cbTrailerTMDBPref"
+ Me.cbTrailerTMDBPref.Size = New System.Drawing.Size(121, 21)
+ Me.cbTrailerTMDBPref.TabIndex = 1
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Font = New System.Drawing.Font("Segoe UI", 8.25!)
+ Me.Label2.Location = New System.Drawing.Point(26, 26)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(111, 13)
+ Me.Label2.TabIndex = 0
+ Me.Label2.Text = "Preferred Language:"
+ '
+ 'chkTrailerTMDBXBMC
+ '
+ Me.chkTrailerTMDBXBMC.AutoSize = True
+ Me.chkTrailerTMDBXBMC.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkTrailerTMDBXBMC.Location = New System.Drawing.Point(26, 44)
+ Me.chkTrailerTMDBXBMC.Name = "chkTrailerTMDBXBMC"
+ Me.chkTrailerTMDBXBMC.Size = New System.Drawing.Size(95, 17)
+ Me.chkTrailerTMDBXBMC.TabIndex = 1
+ Me.chkTrailerTMDBXBMC.Text = "XBMC Format"
+ Me.chkTrailerTMDBXBMC.UseVisualStyleBackColor = True
+ '
+ 'chkTrailerTMDB
+ '
+ Me.chkTrailerTMDB.AutoSize = True
+ Me.chkTrailerTMDB.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.chkTrailerTMDB.Location = New System.Drawing.Point(6, 21)
+ Me.chkTrailerTMDB.Name = "chkTrailerTMDB"
+ Me.chkTrailerTMDB.Size = New System.Drawing.Size(103, 17)
+ Me.chkTrailerTMDB.TabIndex = 0
+ Me.chkTrailerTMDB.Text = "Youtube/TMDB"
+ Me.chkTrailerTMDB.UseVisualStyleBackColor = True
+ '
+ 'Panel2
+ '
+ Me.Panel2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Panel2.BackColor = System.Drawing.Color.WhiteSmoke
+ Me.Panel2.Controls.Add(Me.Label3)
+ Me.Panel2.Controls.Add(Me.btnDown)
+ Me.Panel2.Controls.Add(Me.btnUp)
+ Me.Panel2.Controls.Add(Me.cbEnabled)
+ Me.Panel2.Location = New System.Drawing.Point(0, 0)
+ Me.Panel2.Name = "Panel2"
+ Me.Panel2.Size = New System.Drawing.Size(1125, 25)
+ Me.Panel2.TabIndex = 0
+ '
+ 'Label3
+ '
+ Me.Label3.AutoSize = True
+ Me.Label3.Font = New System.Drawing.Font("Segoe UI", 6.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label3.Location = New System.Drawing.Point(500, 7)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(58, 12)
+ Me.Label3.TabIndex = 1
+ Me.Label3.Text = "Scraper order"
+ '
+ 'btnDown
+ '
+ Me.btnDown.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.btnDown.Image = CType(resources.GetObject("btnDown.Image"), System.Drawing.Image)
+ Me.btnDown.Location = New System.Drawing.Point(591, 1)
+ Me.btnDown.Name = "btnDown"
+ Me.btnDown.Size = New System.Drawing.Size(23, 23)
+ Me.btnDown.TabIndex = 3
+ Me.btnDown.UseVisualStyleBackColor = True
+ '
+ 'btnUp
+ '
+ Me.btnUp.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.btnUp.Image = CType(resources.GetObject("btnUp.Image"), System.Drawing.Image)
+ Me.btnUp.Location = New System.Drawing.Point(566, 1)
+ Me.btnUp.Name = "btnUp"
+ Me.btnUp.Size = New System.Drawing.Size(23, 23)
+ Me.btnUp.TabIndex = 2
+ Me.btnUp.UseVisualStyleBackColor = True
+ '
+ 'cbEnabled
+ '
+ Me.cbEnabled.AutoSize = True
+ Me.cbEnabled.Location = New System.Drawing.Point(10, 5)
+ Me.cbEnabled.Name = "cbEnabled"
+ Me.cbEnabled.Size = New System.Drawing.Size(68, 17)
+ Me.cbEnabled.TabIndex = 0
+ Me.cbEnabled.Text = "Enabled"
+ Me.cbEnabled.UseVisualStyleBackColor = True
+ '
+ 'frmTMDBMediaSettingsHolder
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
+ Me.BackColor = System.Drawing.Color.White
+ Me.ClientSize = New System.Drawing.Size(652, 388)
+ Me.Controls.Add(Me.pnlSettings)
+ Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "frmTMDBMediaSettingsHolder"
+ Me.ShowInTaskbar = False
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "Scraper Setup"
+ Me.pnlSettings.ResumeLayout(False)
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.GroupBox3.ResumeLayout(False)
+ Me.GroupBox6.ResumeLayout(False)
+ Me.GroupBox9.ResumeLayout(False)
+ Me.GroupBox4.ResumeLayout(False)
+ Me.grpSaveFanart.ResumeLayout(False)
+ Me.grpSaveFanart.PerformLayout()
+ Me.GroupBox1.ResumeLayout(False)
+ Me.GroupBox1.PerformLayout()
+ Me.GroupBox2.ResumeLayout(False)
+ Me.GroupBox2.PerformLayout()
+ Me.GroupBox5.ResumeLayout(False)
+ Me.GroupBox5.PerformLayout()
+ Me.Panel2.ResumeLayout(False)
+ Me.Panel2.PerformLayout()
+ Me.ResumeLayout(False)
+
+ End Sub
+ Friend WithEvents pnlSettings As System.Windows.Forms.Panel
+ Friend WithEvents chkScrapeFanart As System.Windows.Forms.CheckBox
+ Friend WithEvents chkScrapePoster As System.Windows.Forms.CheckBox
+ Friend WithEvents chkDownloadTrailer As System.Windows.Forms.CheckBox
+ Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
+ Friend WithEvents Panel2 As System.Windows.Forms.Panel
+ Friend WithEvents cbEnabled As System.Windows.Forms.CheckBox
+ Friend WithEvents Label23 As System.Windows.Forms.Label
+ Friend WithEvents txtTimeout As System.Windows.Forms.TextBox
+ Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox
+ Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
+ Friend WithEvents Label3 As System.Windows.Forms.Label
+ Friend WithEvents btnDown As System.Windows.Forms.Button
+ Friend WithEvents btnUp As System.Windows.Forms.Button
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
+ Friend WithEvents grpSaveFanart As System.Windows.Forms.GroupBox
+ Friend WithEvents optFanartFolderExtraFanart As System.Windows.Forms.RadioButton
+ Friend WithEvents optFanartFolderExtraThumbs As System.Windows.Forms.RadioButton
+ Friend WithEvents chkTrailerTMDB As System.Windows.Forms.CheckBox
+ Friend WithEvents chkTrailerTMDBXBMC As System.Windows.Forms.CheckBox
+ Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox
+ Friend WithEvents cbManualETSize As System.Windows.Forms.ComboBox
+ Friend WithEvents GroupBox5 As System.Windows.Forms.GroupBox
+ Friend WithEvents cbTrailerTMDBPref As System.Windows.Forms.ComboBox
+ Friend WithEvents Label2 As System.Windows.Forms.Label
+ Friend WithEvents GroupBox9 As System.Windows.Forms.GroupBox
+ Friend WithEvents chkUseMPDB As System.Windows.Forms.CheckBox
+ Friend WithEvents chkUseIMDBp As System.Windows.Forms.CheckBox
+ Friend WithEvents chkUseIMPA As System.Windows.Forms.CheckBox
+ Friend WithEvents chkTrailerIMDB As System.Windows.Forms.CheckBox
+ Friend WithEvents GroupBox6 As System.Windows.Forms.GroupBox
+ Friend WithEvents chkUseFANARTTV As System.Windows.Forms.CheckBox
+
+End Class
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/frmTMDBMediaSettingsHolder.resx b/Addons/scraper.FanartTV.Poster/frmTMDBMediaSettingsHolder.resx
new file mode 100644
index 0000000..3c46229
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/frmTMDBMediaSettingsHolder.resx
@@ -0,0 +1,238 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ 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
+ ayv4Ba5+NdG8cgGAAAAAAElFTkSuQmCC
+
+
+
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/frmTMDBMediaSettingsHolder.vb b/Addons/scraper.FanartTV.Poster/frmTMDBMediaSettingsHolder.vb
new file mode 100644
index 0000000..6ccca98
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/frmTMDBMediaSettingsHolder.vb
@@ -0,0 +1,165 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports System.IO
+Imports EmberAPI
+
+Public Class frmTMDBMediaSettingsHolder
+
+#Region "Events"
+
+ Public Event ModuleSettingsChanged()
+
+ Public Event SetupPostScraperChanged(ByVal state As Boolean, ByVal difforder As Integer)
+
+#End Region 'Events
+
+#Region "Methods"
+
+ Public Sub New()
+ InitializeComponent()
+ Me.SetUp()
+ End Sub
+
+ Private Sub btnDown_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDown.Click
+ Dim order As Integer = ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberTMDBScraperModule._AssemblyName).PostScraperOrder
+ If order < ModulesManager.Instance.externalScrapersModules.Where(Function(y) y.ProcessorModule.IsPostScraper).Count - 1 Then
+ ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.PostScraperOrder = order + 1).PostScraperOrder = order
+ ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberTMDBScraperModule._AssemblyName).PostScraperOrder = order + 1
+ RaiseEvent SetupPostScraperChanged(cbEnabled.Checked, 1)
+ orderChanged()
+ End If
+ End Sub
+
+ Private Sub btnUp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUp.Click
+ Dim order As Integer = ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberTMDBScraperModule._AssemblyName).PostScraperOrder
+ If order > 0 Then
+ ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.PostScraperOrder = order - 1).PostScraperOrder = order
+ ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberTMDBScraperModule._AssemblyName).PostScraperOrder = order - 1
+ RaiseEvent SetupPostScraperChanged(cbEnabled.Checked, -1)
+ orderChanged()
+ End If
+ End Sub
+
+ Private Sub cbEnabled_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbEnabled.CheckedChanged
+ RaiseEvent SetupPostScraperChanged(cbEnabled.Checked, 0)
+ End Sub
+
+ Sub CheckTrailer()
+ Me.txtTimeout.Enabled = Me.chkDownloadTrailer.Checked
+ Me.chkTrailerTMDB.Enabled = Me.chkDownloadTrailer.Checked
+ Me.chkTrailerTMDBXBMC.Enabled = Me.chkDownloadTrailer.Checked
+ If Not Me.chkDownloadTrailer.Checked Then
+ Me.txtTimeout.Text = "2"
+ Me.chkTrailerTMDB.Checked = False
+ Me.chkTrailerTMDBXBMC.Checked = False
+ End If
+ End Sub
+
+ Private Sub chkDownloadTrailer_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkDownloadTrailer.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ CheckTrailer()
+ End Sub
+
+ Private Sub chkTrailerTMDB_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkTrailerTMDB.CheckedChanged
+ chkTrailerTMDBXBMC.Enabled = chkTrailerTMDB.Checked
+ cbTrailerTMDBPref.Enabled = chkTrailerTMDB.Checked
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkTrailerIMDB_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkTrailerTMDBXBMC_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkTrailerTMDBXBMC.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkScrapeFanart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkScrapeFanart.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ grpSaveFanart.Enabled = chkScrapeFanart.Checked
+ End Sub
+
+ Private Sub chkScrapePoster_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkScrapePoster.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkUseFANARTTV_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles chkUseFANARTTV.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkUseIMDBp_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles chkUseIMDBp.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkUseIMDBf_CheckedChanged(sender As System.Object, e As System.EventArgs)
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkUseIMPA_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkUseIMPA.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub chkUseMPDB_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkUseMPDB.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Sub orderChanged()
+ Dim order As Integer = ModulesManager.Instance.externalScrapersModules.FirstOrDefault(Function(p) p.AssemblyName = EmberTMDBScraperModule._AssemblyName).PostScraperOrder
+ btnDown.Enabled = (order < ModulesManager.Instance.externalScrapersModules.Where(Function(y) y.ProcessorModule.IsPostScraper).Count - 1)
+ btnUp.Enabled = (order > 1)
+ End Sub
+
+ Sub SetUp()
+ Me.txtTimeout.Text = Master.eSettings.TrailerTimeout.ToString
+ Me.Label23.Text = Master.eLang.GetString(7, "Timeout:")
+ Me.GroupBox2.Text = Master.eLang.GetString(8, "Supported Sites:")
+ Me.grpSaveFanart.Text = Master.eLang.GetString(8001, "Save Fanart In:")
+ Me.chkDownloadTrailer.Text = Master.eLang.GetString(529, "Enable Trailer Support", True)
+ Me.Label3.Text = Master.eLang.GetString(168, "Scrape Order", True)
+ Me.cbEnabled.Text = Master.eLang.GetString(774, "Enabled", True)
+ Me.chkScrapePoster.Text = Master.eLang.GetString(101, "Get Posters")
+ Me.chkScrapeFanart.Text = Master.eLang.GetString(102, "Get Fanart")
+ Me.Label1.Text = String.Format(Master.eLang.GetString(103, "These settings are specific to this module.{0}Please refer to the global settings for more options."), vbCrLf)
+ End Sub
+
+ Private Sub txtTimeout_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTimeout.TextChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub optFanartFolderExtraFanart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optFanartFolderExtraFanart.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub optFanartFolderExtraThumbs_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles optFanartFolderExtraThumbs.CheckedChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub cbManualETSize_SelectedIndexChanged(ByVal sender As System.Object, e As System.EventArgs) Handles cbManualETSize.SelectedIndexChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub cbTrailerTMDBPref_SelectedIndexChanged(ByVal sender As System.Object, e As System.EventArgs) Handles cbTrailerTMDBPref.SelectedIndexChanged
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+#End Region 'Methods
+
+End Class
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/packages.config b/Addons/scraper.FanartTV.Poster/packages.config
new file mode 100644
index 0000000..9d72b1b
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/packages.config
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/scraper.FanartTV.Poster.vbproj b/Addons/scraper.FanartTV.Poster/scraper.FanartTV.Poster.vbproj
new file mode 100644
index 0000000..1af3fa1
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/scraper.FanartTV.Poster.vbproj
@@ -0,0 +1,287 @@
+
+
+
+ Debug
+ AnyCPU
+ 9.0.30729
+ 2.0
+ {A5277330-A443-46AB-A058-016A3B6AF8AC}
+ Library
+ EmberScraperModule
+ scraper.FanartTV.Poster
+ 512
+ Windows
+ v3.5
+ On
+ Binary
+ On
+ On
+
+
+ 3.5
+
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ false
+ true
+ ..\..\
+ true
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+ true
+ ..\..\EmberMM-Dev\Modules\
+ 42353,42354,42355
+ full
+ x86
+ 41998,41999,42004,42016,42017,42018,42019,42020,42021,42022,42024,42025,42026,42029,42030,42031,42032,42036,42099,42104,42105,42106,42107,42108,42109
+ ..\..\EmberMM\Modules\scraper.EmberCore.dll.CodeAnalysisLog.xml
+ true
+ GlobalSuppressions.vb
+ AllRules.ruleset
+ ;D:\Applications\Development\Microsoft Visual Studio 2010\Team Tools\Static Analysis Tools\\Rule Sets
+ ;D:\Applications\Development\Microsoft Visual Studio 2010\Team Tools\Static Analysis Tools\FxCop\\Rules
+
+
+ true
+ ..\..\EmberMM-Deploy\Modules\
+ true
+ 42353,42354,42355
+ pdbonly
+ x86
+ 41998,41999,42004,42016,42017,42018,42019,42020,42021,42022,42024,42025,42026,42029,42030,42031,42032,42036,42099,42104,42105,42106,42107,42108,42109
+ ..\..\EmberMM\Modules\scraper.EmberCore.dll.CodeAnalysisLog.xml
+ true
+ GlobalSuppressions.vb
+ AllRules.ruleset
+ ;D:\Applications\Development\Microsoft Visual Studio 2010\Team Tools\Static Analysis Tools\\Rule Sets
+ ;D:\Applications\Development\Microsoft Visual Studio 2010\Team Tools\Static Analysis Tools\FxCop\\Rules
+
+
+
+ ..\..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll
+
+
+ ..\..\packages\RestSharp.104.1\lib\net35\RestSharp.dll
+
+
+
+
+
+
+
+ 3.5
+
+
+ 3.5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dlgTMDBSearchResults.vb
+
+
+ Form
+
+
+ dlgImgSelect.vb
+
+
+ Form
+
+
+ dlgTrailer.vb
+
+
+ Form
+
+
+ dlgTrailerFormat.vb
+
+
+ Form
+
+
+ frmTMDBMediaSettingsHolder.vb
+
+
+ Form
+
+
+
+ True
+ Application.myapp
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+ frmTMDBInfoSettingsHolder.vb
+
+
+ Form
+
+
+
+
+
+ dlgTMDBSearchResults.vb
+ Designer
+
+
+ dlgImgSelect.vb
+ Designer
+
+
+ dlgTrailer.vb
+ Designer
+
+
+ dlgTrailerFormat.vb
+ Designer
+
+
+ frmTMDBMediaSettingsHolder.vb
+ Designer
+
+
+ frmTMDBInfoSettingsHolder.vb
+ Designer
+
+
+ VbMyResourcesResXFileCodeGenerator
+ Resources.Designer.vb
+ My.Resources
+ Designer
+
+
+
+
+ MyApplicationCodeGenerator
+ Application.Designer.vb
+
+
+ SettingsSingleFileGenerator
+ My
+ Settings.Designer.vb
+
+
+
+
+
+ False
+ .NET Framework 3.5 SP1 Client Profile
+ false
+
+
+ False
+ .NET Framework 3.5 SP1
+ true
+
+
+ False
+ Windows Installer 3.1
+ true
+
+
+
+
+ {208AA35E-C6AE-4D2D-A9DD-B6EFD19A4279}
+ EmberAPI
+ False
+
+
+ {70F651C6-6BB4-4E4D-AD6C-25C36CA1E9E6}
+ FanartTVAPI
+
+
+ {EFC11645-FAB4-4C30-A498-29F5ECDF77E8}
+ WatTmdb
+
+
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Addons/scraper.FanartTV.Poster/scraperMovieTMDBModule.vb b/Addons/scraper.FanartTV.Poster/scraperMovieTMDBModule.vb
new file mode 100644
index 0000000..7ac1344
--- /dev/null
+++ b/Addons/scraper.FanartTV.Poster/scraperMovieTMDBModule.vb
@@ -0,0 +1,761 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports System.IO
+Imports EmberAPI
+Imports RestSharp
+Imports WatTmdb
+Imports EmberScraperModule.TMDBg
+
+'''
+''' Native Scraper
+'''
+'''
+Public Class EmberTMDBScraperModule
+ Implements Interfaces.EmberMovieScraperModule
+
+
+#Region "Fields"
+
+ Public Shared ConfigOptions As New Structures.ScrapeOptions
+ Public Shared ConfigScrapeModifier As New Structures.ScrapeModifier
+ Public Shared _AssemblyName As String
+
+ Private dFImgSelect As dlgImgSelect = Nothing
+
+ Private TMDBId As String
+ 'Private IMDBid As String
+
+ '''
+ ''' Scraping Here
+ '''
+ '''
+ Private _MySettings As New sMySettings
+ Private _TMDBg As TMDBg.Scraper
+ Private _Name As String = "Ember TMDB Movie Scrapers"
+ Private _PostScraperEnabled As Boolean = False
+ Private _ScraperEnabled As Boolean = False
+ Private _setup As frmTMDBInfoSettingsHolder
+ Private _setupPost As frmTMDBMediaSettingsHolder
+ Private _TMDBConf As V3.TmdbConfiguration
+ Private _TMDBConfE As V3.TmdbConfiguration
+ Private _TMDBApi As V3.Tmdb
+ Private _TMDBApiE As V3.Tmdb
+
+#End Region 'Fields
+
+#Region "Events"
+
+ Public Event ModuleSettingsChanged() Implements Interfaces.EmberMovieScraperModule.ModuleSettingsChanged
+
+ 'Public Event ScraperUpdateMediaList(ByVal col As Integer, ByVal v As Boolean) Implements Interfaces.EmberMovieScraperModule.MovieScraperEvent
+ Public Event MovieScraperEvent(ByVal eType As Enums.MovieScraperEventType, ByVal Parameter As Object) Implements Interfaces.EmberMovieScraperModule.MovieScraperEvent
+
+ Public Event SetupPostScraperChanged(ByVal name As String, ByVal State As Boolean, ByVal difforder As Integer) Implements Interfaces.EmberMovieScraperModule.PostScraperSetupChanged
+
+ Public Event SetupScraperChanged(ByVal name As String, ByVal State As Boolean, ByVal difforder As Integer) Implements Interfaces.EmberMovieScraperModule.ScraperSetupChanged
+
+ Public Event SetupNeedsRestart() Implements Interfaces.EmberMovieScraperModule.SetupNeedsRestart
+
+#End Region 'Events
+
+#Region "Properties"
+
+ ReadOnly Property IsPostScraper() As Boolean Implements Interfaces.EmberMovieScraperModule.IsPostScraper
+ Get
+ Return True
+ End Get
+ End Property
+
+ ReadOnly Property IsScraper() As Boolean Implements Interfaces.EmberMovieScraperModule.IsScraper
+ Get
+ Return True
+ End Get
+ End Property
+
+ ReadOnly Property ModuleName() As String Implements Interfaces.EmberMovieScraperModule.ModuleName
+ Get
+ Return _Name
+ End Get
+ End Property
+
+ ReadOnly Property ModuleVersion() As String Implements Interfaces.EmberMovieScraperModule.ModuleVersion
+ Get
+ Return System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly.Location).FileVersion.ToString
+ End Get
+ End Property
+
+ Property PostScraperEnabled() As Boolean Implements Interfaces.EmberMovieScraperModule.PostScraperEnabled
+ Get
+ Return _PostScraperEnabled
+ End Get
+ Set(ByVal value As Boolean)
+ _PostScraperEnabled = value
+ End Set
+ End Property
+
+ Property ScraperEnabled() As Boolean Implements Interfaces.EmberMovieScraperModule.ScraperEnabled
+ Get
+ Return _ScraperEnabled
+ End Get
+ Set(ByVal value As Boolean)
+ _ScraperEnabled = value
+ End Set
+ End Property
+
+#End Region 'Properties
+
+#Region "Methods"
+ Function QueryPostScraperCapabilities(ByVal cap As Enums.PostScraperCapabilities) As Boolean Implements Interfaces.EmberMovieScraperModule.QueryPostScraperCapabilities
+ Select Case cap
+ Case Enums.PostScraperCapabilities.Fanart
+ Return True
+ Case Enums.PostScraperCapabilities.Poster
+ Return True
+ Case Enums.PostScraperCapabilities.Trailer
+ If _MySettings.DownloadTrailers Then Return True
+ End Select
+ Return False
+ End Function
+
+ Function DownloadTrailer(ByRef DBMovie As Structures.DBMovie, ByRef sURL As String) As Interfaces.ModuleResult Implements Interfaces.EmberMovieScraperModule.DownloadTrailer
+ Using dTrailer As New dlgTrailer(_TMDBConf, _TMDBConfE, _TMDBApi, _TMDBApiE, _MySettings)
+
+ sURL = dTrailer.ShowDialog(DBMovie.Movie.TMDBID, DBMovie.Filename)
+ End Using
+ Return New Interfaces.ModuleResult With {.breakChain = False}
+ End Function
+
+ Function GetMovieStudio(ByRef DBMovie As Structures.DBMovie, ByRef studio As List(Of String)) As Interfaces.ModuleResult Implements Interfaces.EmberMovieScraperModule.GetMovieStudio
+ '' perche' lo crea?
+
+ ''Dim TMDBg As New TMDBg.Scraper
+ ''TMDBg.IMDBURL = MySettings.IMDBURL
+ studio = _TMDBg.GetMovieStudios(DBMovie.Movie.ID)
+ Return New Interfaces.ModuleResult With {.breakChain = False}
+ End Function
+
+ Private Sub Handle_ModuleSettingsChanged()
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub Handle_PostModuleSettingsChanged()
+ RaiseEvent ModuleSettingsChanged()
+ End Sub
+
+ Private Sub Handle_SetupNeedsRestart()
+ RaiseEvent SetupNeedsRestart()
+ End Sub
+
+
+ Private Sub Handle_SetupPostScraperChanged(ByVal state As Boolean, ByVal difforder As Integer)
+ PostScraperEnabled = state
+ RaiseEvent SetupPostScraperChanged(String.Concat(Me._Name, "PostScraper"), state, difforder)
+ End Sub
+
+ Private Sub Handle_SetupScraperChanged(ByVal state As Boolean, ByVal difforder As Integer)
+ ScraperEnabled = state
+ RaiseEvent SetupScraperChanged(String.Concat(Me._Name, "Scraper"), state, difforder)
+ End Sub
+
+ Sub Init(ByVal sAssemblyName As String) Implements Interfaces.EmberMovieScraperModule.Init
+ _AssemblyName = sAssemblyName
+ LoadSettings()
+ 'Must be after Load settings to retrieve the correct API key
+ _TMDBApi = New WatTmdb.V3.Tmdb(_MySettings.TMDBAPIKey, _MySettings.TMDBLanguage)
+ If IsNothing(_TMDBApi) Then
+ Master.eLog.WriteToErrorLog(Master.eLang.GetString(119, "TheMovieDB API is missing or not valid"), _TMDBApi.Error.status_message, "Info")
+ Else
+ If Not IsNothing(_TMDBApi.Error) AndAlso _TMDBApi.Error.status_message.Length > 0 Then
+ Master.eLog.WriteToErrorLog(_TMDBApi.Error.status_message, _TMDBApi.Error.status_code.ToString(), "Error")
+ End If
+ End If
+ _TMDBConf = _TMDBApi.GetConfiguration()
+ _TMDBApiE = New WatTmdb.V3.Tmdb(_MySettings.TMDBAPIKey)
+ _TMDBConfE = _TMDBApiE.GetConfiguration()
+ _TMDBg = New TMDBg.Scraper(_TMDBConf, _TMDBConfE, _TMDBApi, _TMDBApiE, _MySettings)
+
+ End Sub
+
+ Function InjectSetupPostScraper() As Containers.SettingsPanel Implements Interfaces.EmberMovieScraperModule.InjectSetupPostScraper
+ Dim Spanel As New Containers.SettingsPanel
+ _setupPost = New frmTMDBMediaSettingsHolder
+ LoadSettings()
+ _setupPost.cbEnabled.Checked = _PostScraperEnabled
+ _setupPost.chkTrailerIMDB.Checked = _MySettings.UseIMDBTrailer
+ _setupPost.chkTrailerTMDB.Checked = _MySettings.UseTMDBTrailer
+ _setupPost.cbTrailerTMDBPref.Text = _MySettings.UseTMDBTrailerPref
+ _setupPost.chkTrailerTMDBXBMC.Checked = _MySettings.UseTMDBTrailerXBMC
+ _setupPost.chkScrapePoster.Checked = ConfigScrapeModifier.Poster
+ _setupPost.chkScrapeFanart.Checked = ConfigScrapeModifier.Fanart
+ _setupPost.chkUseIMDBp.Checked = _MySettings.UseIMDB
+ _setupPost.chkUseIMPA.Checked = _MySettings.UseIMPA
+ _setupPost.chkUseMPDB.Checked = _MySettings.UseMPDB
+ _setupPost.chkUseFANARTTV.Checked = _MySettings.UseFANARTTV
+
+ ' ad size from TMDB
+ '_setupPost.cbManualETSize.Items.Clear()
+ 'If Not IsNothing(_TMDBg.TMDBConf.images) Then
+ ' For Each aSi In _TMDBg.TMDBConf.images.poster_sizes
+ ' _setupPost.cbManualETSize.Items.Add(aSi)
+ ' Next
+ '
+ 'End If
+ _setupPost.cbManualETSize.Text = _MySettings.ManualETSize
+
+ _setupPost.txtTimeout.Text = _MySettings.TrailerTimeout.ToString
+ _setupPost.chkDownloadTrailer.Checked = _MySettings.DownloadTrailers
+ _setupPost.CheckTrailer()
+ _setupPost.orderChanged()
+ Spanel.Name = String.Concat(Me._Name, "PostScraper")
+ Spanel.Text = Master.eLang.GetString(104, "Ember TMDB Movie Scrapers")
+ Spanel.Prefix = "TMDBMovieMedia_"
+ Spanel.Order = 110
+ Spanel.Parent = "pnlMovieMedia"
+ Spanel.Type = Master.eLang.GetString(36, "Movies", True)
+ Spanel.ImageIndex = If(Me._PostScraperEnabled, 9, 10)
+ Spanel.Panel = Me._setupPost.pnlSettings
+
+ AddHandler _setupPost.SetupPostScraperChanged, AddressOf Handle_SetupPostScraperChanged
+ AddHandler _setupPost.ModuleSettingsChanged, AddressOf Handle_PostModuleSettingsChanged
+ AddHandler _setup.SetupNeedsRestart, AddressOf Handle_SetupNeedsRestart
+ Return Spanel
+ End Function
+
+ Function InjectSetupScraper() As Containers.SettingsPanel Implements Interfaces.EmberMovieScraperModule.InjectSetupScraper
+ Dim SPanel As New Containers.SettingsPanel
+ _setup = New frmTMDBInfoSettingsHolder
+ LoadSettings()
+ _setup.cbEnabled.Checked = _ScraperEnabled
+ _setup.chkTitle.Checked = ConfigOptions.bTitle
+ _setup.chkYear.Checked = ConfigOptions.bYear
+ _setup.chkMPAA.Checked = ConfigOptions.bMPAA
+ _setup.chkRelease.Checked = ConfigOptions.bRelease
+ _setup.chkRuntime.Checked = ConfigOptions.bRuntime
+ _setup.chkRating.Checked = ConfigOptions.bRating
+ _setup.chkVotes.Checked = ConfigOptions.bVotes
+ _setup.chkStudio.Checked = ConfigOptions.bStudio
+ _setup.chkTagline.Checked = ConfigOptions.bTagline
+ _setup.chkOutline.Checked = ConfigOptions.bOutline
+ _setup.chkCast.Checked = ConfigOptions.bFullCast
+ _setup.chkGenre.Checked = ConfigOptions.bGenre
+ _setup.chkTrailer.Checked = ConfigOptions.bTrailer
+ _setup.chkCountry.Checked = ConfigOptions.bCountry
+ _setup.chkCrew.Checked = ConfigOptions.bFullCrew
+ _setup.chkFallBackEng.Checked = _MySettings.FallBackEng
+ _setup.cbTMDBPrefLanguage.Text = _MySettings.TMDBLanguage
+
+ '_setup.chkCertification.Checked = ConfigOptions.bCert
+
+ If String.IsNullOrEmpty(_MySettings.TMDBAPIKey) Then
+ _MySettings.TMDBAPIKey = Master.eLang.GetString(122, "Get your API Key from www.themoviedb.org")
+ End If
+ _setup.txtTMDBApiKey.Text = _MySettings.TMDBAPIKey
+ _setup.cbTMDBPrefLanguage.Text = _MySettings.TMDBLanguage
+ _setup.chkFallBackEng.Checked = _MySettings.FallBackEng
+ _setup.orderChanged()
+ If String.IsNullOrEmpty(_MySettings.FANARTTVApiKey) Then
+ _MySettings.FANARTTVApiKey = Master.eLang.GetString(123, "Get your API Key from fanart.tv")
+ End If
+ _setup.txtFANARTTVApiKey.Text = _MySettings.FANARTTVApiKey
+
+ SPanel.Name = String.Concat(Me._Name, "Scraper")
+ SPanel.Text = Master.eLang.GetString(104, "Ember TMDB Movie Scrapers")
+ SPanel.Prefix = "TMDBMovieInfo_"
+ SPanel.Order = 110
+ SPanel.Parent = "pnlMovieData"
+ SPanel.Type = Master.eLang.GetString(36, "Movies", True)
+ SPanel.ImageIndex = If(_ScraperEnabled, 9, 10)
+ SPanel.Panel = _setup.pnlSettings
+ AddHandler _setup.SetupScraperChanged, AddressOf Handle_SetupScraperChanged
+ AddHandler _setup.ModuleSettingsChanged, AddressOf Handle_ModuleSettingsChanged
+ AddHandler _setup.SetupNeedsRestart, AddressOf Handle_SetupNeedsRestart
+ Return SPanel
+ End Function
+
+ Sub LoadSettings()
+ ConfigOptions.bTitle = AdvancedSettings.GetBooleanSetting("DoTitle", True)
+ ConfigOptions.bYear = AdvancedSettings.GetBooleanSetting("DoYear", True)
+ ConfigOptions.bMPAA = AdvancedSettings.GetBooleanSetting("DoMPAA", True)
+ ConfigOptions.bRelease = AdvancedSettings.GetBooleanSetting("DoRelease", True)
+ ConfigOptions.bRuntime = AdvancedSettings.GetBooleanSetting("DoRuntime", True)
+ ConfigOptions.bRating = AdvancedSettings.GetBooleanSetting("DoRating", True)
+ ConfigOptions.bVotes = AdvancedSettings.GetBooleanSetting("DoVotes", True)
+ ConfigOptions.bStudio = AdvancedSettings.GetBooleanSetting("DoStudio", True)
+ ConfigOptions.bTagline = AdvancedSettings.GetBooleanSetting("DoTagline", True)
+ ConfigOptions.bOutline = AdvancedSettings.GetBooleanSetting("DoOutline", True)
+ ConfigOptions.bPlot = AdvancedSettings.GetBooleanSetting("DoPlot", True)
+ ConfigOptions.bCast = AdvancedSettings.GetBooleanSetting("DoCast", True)
+ ConfigOptions.bDirector = AdvancedSettings.GetBooleanSetting("DoDirector", True)
+ ConfigOptions.bWriters = AdvancedSettings.GetBooleanSetting("DoWriters", True)
+ ConfigOptions.bProducers = AdvancedSettings.GetBooleanSetting("DoProducers", True)
+ ConfigOptions.bGenre = AdvancedSettings.GetBooleanSetting("DoGenres", True)
+ ConfigOptions.bTrailer = AdvancedSettings.GetBooleanSetting("DoTrailer", True)
+ ConfigOptions.bMusicBy = AdvancedSettings.GetBooleanSetting("DoMusic", True)
+ ConfigOptions.bOtherCrew = AdvancedSettings.GetBooleanSetting("DoOtherCrews", True)
+ ConfigOptions.bFullCast = AdvancedSettings.GetBooleanSetting("DoFullCast", True)
+ ConfigOptions.bFullCrew = AdvancedSettings.GetBooleanSetting("DoFullCrews", True)
+ ConfigOptions.bTop250 = AdvancedSettings.GetBooleanSetting("DoTop250", True)
+ ConfigOptions.bCountry = AdvancedSettings.GetBooleanSetting("DoCountry", True)
+ ConfigOptions.bCert = AdvancedSettings.GetBooleanSetting("DoCert", True)
+ ConfigOptions.bFullCast = AdvancedSettings.GetBooleanSetting("FullCast", True)
+ ConfigOptions.bFullCrew = AdvancedSettings.GetBooleanSetting("FullCrew", True)
+
+ _MySettings.TMDBAPIKey = AdvancedSettings.GetSetting("TMDBAPIKey", "Get your API Key from http://www.themoviedb.org")
+ _MySettings.FANARTTVApiKey = AdvancedSettings.GetSetting("FANARTTVApiKey", "Get your API Key from http://fanart.tv")
+ _MySettings.FallBackEng = AdvancedSettings.GetBooleanSetting("FallBackEn", False)
+ _MySettings.TMDBLanguage = AdvancedSettings.GetSetting("TMDBLanguage", "en")
+ _MySettings.DownloadTrailers = AdvancedSettings.GetBooleanSetting("DownloadTraliers", False)
+
+ _MySettings.TrailerTimeout = Convert.ToInt32(AdvancedSettings.GetSetting("TrailerTimeout", "10"))
+ _MySettings.UseTMDBTrailer = AdvancedSettings.GetBooleanSetting("UseTMDBTrailer", True)
+ _MySettings.UseTMDBTrailerXBMC = AdvancedSettings.GetBooleanSetting("UseTMDBTrailerXBMC", False)
+ _MySettings.UseIMPA = AdvancedSettings.GetBooleanSetting("UseIMPA", False)
+ _MySettings.UseMPDB = AdvancedSettings.GetBooleanSetting("UseMPDB", False)
+ _MySettings.UseIMDB = AdvancedSettings.GetBooleanSetting("UseIMDB", False)
+ _MySettings.UseFANARTTV = AdvancedSettings.GetBooleanSetting("UseFANARTTV", False)
+ _MySettings.UseIMDBTrailer = AdvancedSettings.GetBooleanSetting("UseIMDBTrailer", True)
+ _MySettings.ManualETSize = Convert.ToString(AdvancedSettings.GetSetting("ManualETSize", "thumb"))
+ _MySettings.UseTMDBTrailerPref = Convert.ToString(AdvancedSettings.GetSetting("UseTMDBTrailerPref", "en"))
+
+ ConfigScrapeModifier.DoSearch = True
+ ConfigScrapeModifier.Meta = True
+ ConfigScrapeModifier.NFO = True
+ ConfigScrapeModifier.Extra = True
+ ConfigScrapeModifier.Actors = True
+
+ ConfigScrapeModifier.Poster = AdvancedSettings.GetBooleanSetting("DoPoster", True)
+ ConfigScrapeModifier.Fanart = AdvancedSettings.GetBooleanSetting("DoFanart", True)
+ ConfigScrapeModifier.Trailer = AdvancedSettings.GetBooleanSetting("DoTrailer", True)
+ End Sub
+
+ Function PostScraper(ByRef DBMovie As Structures.DBMovie, ByVal ScrapeType As Enums.ScrapeType) As Interfaces.ModuleResult Implements Interfaces.EmberMovieScraperModule.PostScraper
+ 'LoadSettings()
+ Dim Poster As New Images
+ Dim Fanart As New Images
+ Dim pResults As Containers.ImgResult
+ Dim fResults As Containers.ImgResult
+ Dim tURL As String = String.Empty
+ Dim Trailer As Trailers
+ Dim aScrapeImages As ScrapeImages
+
+ LoadSettings()
+ If String.IsNullOrEmpty(DBMovie.Movie.TMDBID) Then
+ _TMDBg.GetMovieID(DBMovie)
+ End If
+ Trailer = New Trailers(_TMDBConf, _TMDBConfE, _TMDBApi, _TMDBApiE, _MySettings)
+ Dim saveModifier As Structures.ScrapeModifier = Master.GlobalScrapeMod
+ Master.GlobalScrapeMod = Functions.ScrapeModifierAndAlso(Master.GlobalScrapeMod, ConfigScrapeModifier)
+
+ Dim doSave As Boolean = False
+
+ aScrapeImages = New ScrapeImages(_TMDBConf, _TMDBConfE, _TMDBApi, _TMDBApiE, _MySettings)
+ If Master.GlobalScrapeMod.Poster Then
+ Poster.Clear()
+ If Poster.IsAllowedToDownload(DBMovie, Enums.ImageType.Posters) Then
+ pResults = New Containers.ImgResult
+ If aScrapeImages.GetPreferredImage(Poster, DBMovie.Movie.ID, DBMovie.Movie.TMDBID, Enums.ImageType.Posters, pResults, DBMovie.Filename, False, If(ScrapeType = Enums.ScrapeType.FullAsk OrElse ScrapeType = Enums.ScrapeType.NewAsk OrElse ScrapeType = Enums.ScrapeType.MarkAsk OrElse ScrapeType = Enums.ScrapeType.UpdateAsk, True, False)) Then
+ If Not IsNothing(Poster.Image) Then
+ pResults.ImagePath = Poster.SaveAsPoster(DBMovie)
+ If Not String.IsNullOrEmpty(pResults.ImagePath) Then
+ DBMovie.PosterPath = pResults.ImagePath
+ RaiseEvent MovieScraperEvent(Enums.MovieScraperEventType.PosterItem, True) '4, True)
+ If Master.GlobalScrapeMod.NFO AndAlso Not Master.eSettings.NoSaveImagesToNfo Then
+ DBMovie.Movie.Thumb = pResults.Posters
+ End If
+ End If
+ ElseIf ScrapeType = Enums.ScrapeType.FullAsk OrElse ScrapeType = Enums.ScrapeType.NewAsk OrElse ScrapeType = Enums.ScrapeType.MarkAsk OrElse ScrapeType = Enums.ScrapeType.UpdateAsk Then
+ MsgBox(Master.eLang.GetString(76, "A poster of your preferred size could not be found. Please choose another."), MsgBoxStyle.Information, Master.eLang.GetString(77, "No Preferred Size"))
+ Using dImgSelect As New dlgImgSelect(_TMDBConf, _TMDBConfE, _TMDBApi, _TMDBApi, _MySettings)
+ pResults = dImgSelect.ShowDialog(DBMovie, Enums.ImageType.Posters)
+ If Not String.IsNullOrEmpty(pResults.ImagePath) Then
+ DBMovie.PosterPath = pResults.ImagePath
+ RaiseEvent MovieScraperEvent(Enums.MovieScraperEventType.PosterItem, True) '4, True)
+ If Master.GlobalScrapeMod.NFO AndAlso Not Master.eSettings.NoSaveImagesToNfo Then
+ DBMovie.Movie.Thumb = pResults.Posters
+ End If
+ End If
+ End Using
+ End If
+ End If
+ End If
+ End If
+ Dim didEts As Boolean
+ If Master.GlobalScrapeMod.Fanart Then
+ Fanart.Clear()
+ If Fanart.IsAllowedToDownload(DBMovie, Enums.ImageType.Fanart) Then
+ fResults = New Containers.ImgResult
+ didEts = True
+ If aScrapeImages.GetPreferredImage(Fanart, DBMovie.Movie.IMDBID, DBMovie.Movie.TMDBID, Enums.ImageType.Fanart, fResults, DBMovie.Filename, Master.GlobalScrapeMod.Extra, If(ScrapeType = Enums.ScrapeType.FullAsk OrElse ScrapeType = Enums.ScrapeType.NewAsk OrElse ScrapeType = Enums.ScrapeType.MarkAsk OrElse ScrapeType = Enums.ScrapeType.UpdateAsk, True, False)) Then
+ If Not IsNothing(Fanart.Image) Then
+ fResults.ImagePath = Fanart.SaveAsFanart(DBMovie)
+ If Not String.IsNullOrEmpty(fResults.ImagePath) Then
+ DBMovie.FanartPath = fResults.ImagePath
+ RaiseEvent MovieScraperEvent(Enums.MovieScraperEventType.FanartItem, True) '
+ If Master.GlobalScrapeMod.NFO AndAlso Not Master.eSettings.NoSaveImagesToNfo Then
+ DBMovie.Movie.Fanart = fResults.Fanart
+ End If
+ End If
+ ElseIf ScrapeType = Enums.ScrapeType.FullAsk OrElse ScrapeType = Enums.ScrapeType.NewAsk OrElse ScrapeType = Enums.ScrapeType.MarkAsk OrElse ScrapeType = Enums.ScrapeType.UpdateAsk Then
+ MsgBox(Master.eLang.GetString(78, "Fanart of your preferred size could not be found. Please choose another."), MsgBoxStyle.Information, Master.eLang.GetString(77, "No Preferred Size:"))
+
+ Using dImgSelect As New dlgImgSelect(_TMDBConf, _TMDBConfE, _TMDBApi, _TMDBApi, _MySettings)
+ fResults = dImgSelect.ShowDialog(DBMovie, Enums.ImageType.Fanart)
+ If Not String.IsNullOrEmpty(fResults.ImagePath) Then
+ DBMovie.FanartPath = fResults.ImagePath
+ RaiseEvent MovieScraperEvent(Enums.MovieScraperEventType.FanartItem, True)
+ If Master.GlobalScrapeMod.NFO AndAlso Not Master.eSettings.NoSaveImagesToNfo Then
+ DBMovie.Movie.Fanart = fResults.Fanart
+ End If
+ End If
+ End Using
+ End If
+ End If
+ End If
+ End If
+ If Master.GlobalScrapeMod.Trailer AndAlso _MySettings.DownloadTrailers Then
+ tURL = Trailer.DownloadSingleTrailer(DBMovie.Filename, DBMovie.Movie.TMDBID, DBMovie.isSingle, DBMovie.Movie.Trailer)
+ If Not String.IsNullOrEmpty(tURL) Then
+ If tURL.Substring(0, 22) = "http://www.youtube.com" Then
+ If AdvancedSettings.GetBooleanSetting("UseTMDBTrailerXBMC", False) Then
+ DBMovie.Movie.Trailer = Replace(tURL, "http://www.youtube.com/watch?v=", "plugin://plugin.video.youtube/?action=play_video&videoid=")
+ Else
+ DBMovie.Movie.Trailer = tURL
+ End If
+ ElseIf tURL.Substring(0, 7) = "http://" Then
+ DBMovie.Movie.Trailer = tURL
+ Else
+ DBMovie.TrailerPath = tURL
+ RaiseEvent MovieScraperEvent(Enums.MovieScraperEventType.TrailerItem, True)
+ End If
+ End If
+ End If
+ If Master.GlobalScrapeMod.Extra Then
+ If Master.eSettings.AutoET AndAlso DBMovie.isSingle Then
+ Try
+ aScrapeImages.GetPreferredFAasET(DBMovie.Movie.TMDBID, DBMovie.Filename)
+ RaiseEvent MovieScraperEvent(Enums.MovieScraperEventType.ThumbsItem, True)
+ Catch ex As Exception
+ End Try
+ End If
+ End If
+ If Master.GlobalScrapeMod.Actors AndAlso Master.eSettings.ScraperActorThumbs Then
+ For Each act As MediaContainers.Person In DBMovie.Movie.Actors
+ Dim img As New Images
+ img.FromWeb(act.Thumb)
+ If Not IsNothing(img.Image) Then
+ img.SaveAsActorThumb(act, Directory.GetParent(DBMovie.Filename).FullName, DBMovie)
+ End If
+ Next
+ End If
+ Master.GlobalScrapeMod = saveModifier
+ Return New Interfaces.ModuleResult With {.breakChain = False, .BoolProperty = didEts}
+ End Function
+
+ Sub SaveSettings()
+ AdvancedSettings.SetBooleanSetting("DoFullCast", ConfigOptions.bFullCast)
+ AdvancedSettings.SetBooleanSetting("DoFullCrews", ConfigOptions.bFullCrew)
+ AdvancedSettings.SetBooleanSetting("DoTitle", ConfigOptions.bTitle)
+ AdvancedSettings.SetBooleanSetting("DoYear", ConfigOptions.bYear)
+ AdvancedSettings.SetBooleanSetting("DoMPAA", ConfigOptions.bMPAA)
+ AdvancedSettings.SetBooleanSetting("DoRelease", ConfigOptions.bRelease)
+ AdvancedSettings.SetBooleanSetting("DoRuntime", ConfigOptions.bRuntime)
+ AdvancedSettings.SetBooleanSetting("DoRating", ConfigOptions.bRating)
+ AdvancedSettings.SetBooleanSetting("DoVotes", ConfigOptions.bVotes)
+ AdvancedSettings.SetBooleanSetting("DoStudio", ConfigOptions.bStudio)
+ AdvancedSettings.SetBooleanSetting("DoTagline", ConfigOptions.bTagline)
+ AdvancedSettings.SetBooleanSetting("DoOutline", ConfigOptions.bOutline)
+ AdvancedSettings.SetBooleanSetting("DoPlot", ConfigOptions.bPlot)
+ AdvancedSettings.SetBooleanSetting("DoCast", ConfigOptions.bCast)
+ AdvancedSettings.SetBooleanSetting("DoDirector", ConfigOptions.bDirector)
+ AdvancedSettings.SetBooleanSetting("DoWriters", ConfigOptions.bWriters)
+ AdvancedSettings.SetBooleanSetting("DoProducers", ConfigOptions.bProducers)
+ AdvancedSettings.SetBooleanSetting("DoGenres", ConfigOptions.bGenre)
+ AdvancedSettings.SetBooleanSetting("DoTrailer", ConfigOptions.bTrailer)
+ AdvancedSettings.SetBooleanSetting("DoMusic", ConfigOptions.bMusicBy)
+ AdvancedSettings.SetBooleanSetting("DoOtherCrews", ConfigOptions.bOtherCrew)
+ AdvancedSettings.SetBooleanSetting("DoCountry", ConfigOptions.bCountry)
+ AdvancedSettings.SetBooleanSetting("DoTop250", ConfigOptions.bTop250)
+ AdvancedSettings.SetBooleanSetting("DoCert", ConfigOptions.bCert)
+
+ AdvancedSettings.SetBooleanSetting("FullCast", ConfigOptions.bFullCast)
+ AdvancedSettings.SetBooleanSetting("FullCrew", ConfigOptions.bFullCrew)
+ AdvancedSettings.SetBooleanSetting("DownloadTraliers", _MySettings.DownloadTrailers)
+
+ AdvancedSettings.SetSetting("TrailerTimeout", _MySettings.TrailerTimeout.ToString)
+ AdvancedSettings.SetBooleanSetting("UseTMDBTrailer", _MySettings.UseTMDBTrailer)
+ AdvancedSettings.SetBooleanSetting("UseTMDBTrailerXBMC", _MySettings.UseTMDBTrailerXBMC)
+ AdvancedSettings.SetBooleanSetting("UseIMDBTrailer", _MySettings.UseIMDBTrailer)
+
+ AdvancedSettings.SetSetting("ManualETSize", _MySettings.ManualETSize.ToString)
+ AdvancedSettings.SetSetting("UseTMDBTrailerPref", _MySettings.UseTMDBTrailerPref.ToString)
+
+ AdvancedSettings.SetBooleanSetting("DoPoster", ConfigScrapeModifier.Poster)
+ AdvancedSettings.SetBooleanSetting("DoFanart", ConfigScrapeModifier.Fanart)
+ AdvancedSettings.SetBooleanSetting("DoTrailer", ConfigScrapeModifier.Trailer)
+
+ AdvancedSettings.SetSetting("TMDBAPIKey", _MySettings.TMDBAPIKey)
+ AdvancedSettings.SetSetting("FANARTTVApiKey", _MySettings.FANARTTVApiKey)
+ AdvancedSettings.SetBooleanSetting("FallBackEn", _MySettings.FallBackEng)
+ AdvancedSettings.SetSetting("TMDBLanguage", _MySettings.TMDBLanguage)
+ AdvancedSettings.SetBooleanSetting("UseIMPA", _MySettings.UseIMPA)
+ AdvancedSettings.SetBooleanSetting("UseMPDB", _MySettings.UseMPDB)
+ AdvancedSettings.SetBooleanSetting("UseIMDB", _MySettings.UseIMDB)
+ AdvancedSettings.SetBooleanSetting("UseFANARTTV", _MySettings.UseFANARTTV)
+ End Sub
+
+ Sub SaveSetupPostScraper(ByVal DoDispose As Boolean) Implements Interfaces.EmberMovieScraperModule.SaveSetupPostScraper
+ _MySettings.DownloadTrailers = _setupPost.chkDownloadTrailer.Checked
+ _MySettings.UseIMDBTrailer = _setupPost.chkTrailerIMDB.Checked
+ _MySettings.UseTMDBTrailer = _setupPost.chkTrailerTMDB.Checked
+ _MySettings.UseTMDBTrailerXBMC = _setupPost.chkTrailerTMDBXBMC.Checked
+ _MySettings.TrailerTimeout = Convert.ToInt32(_setupPost.txtTimeout.Text)
+ _MySettings.ManualETSize = _setupPost.cbManualETSize.Text
+ _MySettings.UseTMDBTrailerPref = _setupPost.cbTrailerTMDBPref.Text
+ _MySettings.UseIMDB = _setupPost.chkUseIMDBp.Checked
+ _MySettings.UseIMPA = _setupPost.chkUseIMPA.Checked
+ _MySettings.UseMPDB = _setupPost.chkUseMPDB.Checked
+ _MySettings.UseFANARTTV = _setupPost.chkUseFANARTTV.Checked
+ ConfigScrapeModifier.Poster = _setupPost.chkScrapePoster.Checked
+ ConfigScrapeModifier.Fanart = _setupPost.chkScrapeFanart.Checked
+ SaveSettings()
+ 'ModulesManager.Instance.SaveSettings()
+ If DoDispose Then
+ RemoveHandler _setupPost.SetupPostScraperChanged, AddressOf Handle_SetupPostScraperChanged
+ RemoveHandler _setupPost.ModuleSettingsChanged, AddressOf Handle_PostModuleSettingsChanged
+ _setupPost.Dispose()
+ End If
+ End Sub
+
+ Sub SaveSetupScraper(ByVal DoDispose As Boolean) Implements Interfaces.EmberMovieScraperModule.SaveSetupScraper
+ If Not String.IsNullOrEmpty(_setup.txtTMDBApiKey.Text) Then
+ _MySettings.TMDBAPIKey = _setup.txtTMDBApiKey.Text
+ Else
+ _MySettings.TMDBAPIKey = Master.eLang.GetString(122, "Get your API Key from www.themoviedb.org")
+ End If
+ If Not String.IsNullOrEmpty(_setup.txtFANARTTVApiKey.Text) Then
+ _MySettings.FANARTTVApiKey = _setup.txtFANARTTVApiKey.Text
+ Else
+ _MySettings.FANARTTVApiKey = Master.eLang.GetString(123, "Get your API Key from fanart.tv")
+ End If
+ _MySettings.TMDBLanguage = _setup.cbTMDBPrefLanguage.Text
+ _MySettings.FallBackEng = _setup.chkFallBackEng.Checked
+ ConfigOptions.bTitle = _setup.chkTitle.Checked
+ ConfigOptions.bYear = _setup.chkYear.Checked
+ ConfigOptions.bMPAA = _setup.chkMPAA.Checked
+ ConfigOptions.bRelease = _setup.chkRelease.Checked
+ ConfigOptions.bRuntime = _setup.chkRuntime.Checked
+ ConfigOptions.bRating = _setup.chkRating.Checked
+ ConfigOptions.bVotes = _setup.chkVotes.Checked
+ ConfigOptions.bStudio = _setup.chkStudio.Checked
+ ConfigOptions.bTagline = _setup.chkTagline.Checked
+ ConfigOptions.bOutline = _setup.chkOutline.Checked
+ ConfigOptions.bPlot = False
+ ConfigOptions.bCast = _setup.chkCast.Checked
+ ConfigOptions.bDirector = _setup.chkCrew.Checked
+ ConfigOptions.bWriters = _setup.chkCrew.Checked
+ ConfigOptions.bProducers = _setup.chkCrew.Checked
+ ConfigOptions.bGenre = _setup.chkGenre.Checked
+ ConfigOptions.bTrailer = _setup.chkTrailer.Checked
+ ConfigOptions.bMusicBy = _setup.chkCrew.Checked
+ ConfigOptions.bOtherCrew = _setup.chkCrew.Checked
+ ConfigOptions.bCountry = _setup.chkCountry.Checked
+ ConfigOptions.bTop250 = False
+ ConfigOptions.bFullCrew = _setup.chkCrew.Checked
+ ConfigOptions.bFullCast = _setup.chkCast.Checked
+ ConfigOptions.bCert = ConfigOptions.bMPAA
+ _MySettings.FallBackEng = _setup.chkFallBackEng.Checked
+ _MySettings.TMDBLanguage = _setup.cbTMDBPrefLanguage.Text
+ SaveSettings()
+ 'ModulesManager.Instance.SaveSettings()
+ If DoDispose Then
+ RemoveHandler _setup.SetupScraperChanged, AddressOf Handle_SetupScraperChanged
+ RemoveHandler _setup.ModuleSettingsChanged, AddressOf Handle_ModuleSettingsChanged
+ _setup.Dispose()
+ End If
+ End Sub
+
+ Function Scraper(ByRef DBMovie As Structures.DBMovie, ByRef ScrapeType As Enums.ScrapeType, ByRef Options As Structures.ScrapeOptions) As Interfaces.ModuleResult Implements Interfaces.EmberMovieScraperModule.Scraper
+ 'LoadSettings()
+ ''TMDBg.IMDBURL = MySettings.IMDBURL
+ ''TMDBg.UseOFDBTitle = MySettings.UseOFDBTitle
+ ''TMDBg.UseOFDBOutline = MySettings.UseOFDBOutline
+ ''TMDBg.UseOFDBPlot = MySettings.UseOFDBPlot
+ ''TMDBg.UseOFDBGenre = MySettings.UseOFDBGenre
+ Dim tTitle As String = String.Empty
+ Dim OldTitle As String = DBMovie.Movie.Title
+
+ If IsNothing(_TMDBApi) Then
+ Master.eLog.WriteToErrorLog(Master.eLang.GetString(119, "TheMovieDB API is missing or not valid"), _TMDBApi.Error.status_message, "Error")
+ Return New Interfaces.ModuleResult With {.breakChain = False, .Cancelled = True}
+ Else
+ If Not IsNothing(_TMDBApi.Error) AndAlso _TMDBApi.Error.status_message.Length > 0 Then
+ Master.eLog.WriteToErrorLog(_TMDBApi.Error.status_message, _TMDBApi.Error.status_code.ToString(), "Error")
+ Return New Interfaces.ModuleResult With {.breakChain = False, .Cancelled = True}
+ End If
+ End If
+
+
+ If Master.GlobalScrapeMod.NFO AndAlso Not Master.GlobalScrapeMod.DoSearch Then
+ If Not String.IsNullOrEmpty(DBMovie.Movie.IMDBID) Then
+ _TMDBg.GetMovieInfo(DBMovie.Movie.ID, DBMovie.Movie, Options.bFullCrew, Options.bFullCast, False, Options, False)
+ ElseIf Not ScrapeType = Enums.ScrapeType.SingleScrape Then
+ DBMovie.Movie = _TMDBg.GetSearchMovieInfo(DBMovie.Movie.Title, DBMovie, ScrapeType, Options)
+ If String.IsNullOrEmpty(DBMovie.Movie.IMDBID) Then Return New Interfaces.ModuleResult With {.breakChain = False, .Cancelled = True}
+ End If
+ End If
+
+ If ScrapeType = Enums.ScrapeType.SingleScrape AndAlso Master.GlobalScrapeMod.DoSearch _
+ AndAlso ModulesManager.Instance.externalScrapersModules.OrderBy(Function(y) y.ScraperOrder).FirstOrDefault(Function(e) e.ProcessorModule.IsScraper AndAlso e.ProcessorModule.ScraperEnabled).AssemblyName = _AssemblyName Then
+ DBMovie.Movie.IMDBID = String.Empty
+ DBMovie.ClearExtras = True
+ DBMovie.PosterPath = String.Empty
+ DBMovie.FanartPath = String.Empty
+ DBMovie.TrailerPath = String.Empty
+ DBMovie.ExtraPath = String.Empty
+ DBMovie.SubPath = String.Empty
+ DBMovie.NfoPath = String.Empty
+ DBMovie.Movie.Clear()
+ End If
+ If String.IsNullOrEmpty(DBMovie.Movie.IMDBID) Then
+ Select Case ScrapeType
+ Case Enums.ScrapeType.FilterAuto, Enums.ScrapeType.FullAuto, Enums.ScrapeType.MarkAuto, Enums.ScrapeType.NewAuto, Enums.ScrapeType.UpdateAuto
+ Return New Interfaces.ModuleResult With {.breakChain = False}
+ End Select
+ If ScrapeType = Enums.ScrapeType.SingleScrape Then
+ Using dSearch As New dlgTMDBSearchResults(_MySettings, Me._TMDBg)
+ '' dSearch.IMDBURL = MySettings.IMDBURL
+ Dim tmpTitle As String = DBMovie.Movie.Title
+ If String.IsNullOrEmpty(tmpTitle) Then
+ If FileUtils.Common.isVideoTS(DBMovie.Filename) Then
+ tmpTitle = StringUtils.FilterName(Directory.GetParent(Directory.GetParent(DBMovie.Filename).FullName).Name, False)
+ ElseIf FileUtils.Common.isBDRip(DBMovie.Filename) Then
+ tmpTitle = StringUtils.FilterName(Directory.GetParent(Directory.GetParent(Directory.GetParent(DBMovie.Filename).FullName).FullName).Name, False)
+ Else
+ tmpTitle = StringUtils.FilterName(If(DBMovie.isSingle, Directory.GetParent(DBMovie.Filename).Name, Path.GetFileNameWithoutExtension(DBMovie.Filename)))
+ End If
+ End If
+ Dim filterOptions As Structures.ScrapeOptions = Functions.ScrapeOptionsAndAlso(Options, ConfigOptions)
+ If dSearch.ShowDialog(tmpTitle, filterOptions) = Windows.Forms.DialogResult.OK Then
+ If Not String.IsNullOrEmpty(Master.tmpMovie.IMDBID) Then
+ DBMovie.Movie.IMDBID = Master.tmpMovie.IMDBID
+ End If
+ If Not String.IsNullOrEmpty(DBMovie.Movie.IMDBID) Then
+
+ Master.currMovie.ClearExtras = True
+ Master.currMovie.PosterPath = String.Empty
+ Master.currMovie.FanartPath = String.Empty
+ Master.currMovie.TrailerPath = String.Empty
+ Master.currMovie.ExtraPath = String.Empty
+ Master.currMovie.SubPath = String.Empty
+ Master.currMovie.NfoPath = String.Empty
+
+
+ _TMDBg.GetMovieInfo(DBMovie.Movie.ID, DBMovie.Movie, filterOptions.bFullCrew, filterOptions.bFullCast, False, filterOptions, False)
+ End If
+ Else
+ Return New Interfaces.ModuleResult With {.breakChain = False, .Cancelled = True}
+ End If
+ End Using
+ End If
+ End If
+
+ If Not String.IsNullOrEmpty(DBMovie.Movie.Title) Then
+ tTitle = StringUtils.FilterTokens(DBMovie.Movie.Title)
+ If Not OldTitle = DBMovie.Movie.Title OrElse String.IsNullOrEmpty(DBMovie.Movie.SortTitle) Then DBMovie.Movie.SortTitle = tTitle
+ If Master.eSettings.DisplayYear AndAlso Not String.IsNullOrEmpty(DBMovie.Movie.Year) Then
+ DBMovie.ListTitle = String.Format("{0} ({1})", tTitle, DBMovie.Movie.Year)
+ Else
+ DBMovie.ListTitle = tTitle
+ End If
+ Else
+ If FileUtils.Common.isVideoTS(DBMovie.Filename) Then
+ DBMovie.ListTitle = StringUtils.FilterName(Directory.GetParent(Directory.GetParent(DBMovie.Filename).FullName).Name)
+ ElseIf FileUtils.Common.isBDRip(DBMovie.Filename) Then
+ DBMovie.ListTitle = StringUtils.FilterName(Directory.GetParent(Directory.GetParent(Directory.GetParent(DBMovie.Filename).FullName).FullName).Name)
+ Else
+ If DBMovie.UseFolder AndAlso DBMovie.isSingle Then
+ DBMovie.ListTitle = StringUtils.FilterName(Directory.GetParent(DBMovie.Filename).Name)
+ Else
+ DBMovie.ListTitle = StringUtils.FilterName(Path.GetFileNameWithoutExtension(DBMovie.Filename))
+ End If
+ End If
+ If Not OldTitle = DBMovie.Movie.Title OrElse String.IsNullOrEmpty(DBMovie.Movie.SortTitle) Then DBMovie.Movie.SortTitle = DBMovie.ListTitle
+ End If
+
+ Return New Interfaces.ModuleResult With {.breakChain = False}
+ End Function
+
+ Function SelectImageOfType(ByRef mMovie As Structures.DBMovie, ByVal _DLType As Enums.ImageType, ByRef pResults As Containers.ImgResult, Optional ByVal _isEdit As Boolean = False, Optional ByVal preload As Boolean = False) As Interfaces.ModuleResult Implements Interfaces.EmberMovieScraperModule.SelectImageOfType
+ If String.IsNullOrEmpty(mMovie.Movie.TMDBID) Then
+ _TMDBg.GetMovieID(mMovie)
+ End If
+ If preload AndAlso _DLType = Enums.ImageType.Fanart AndAlso Not IsNothing(dFImgSelect) Then
+ pResults = dFImgSelect.ShowDialog()
+ dFImgSelect = Nothing
+ Else
+ Using dImgSelect As New dlgImgSelect(_TMDBConf, _TMDBConfE, _TMDBApi, _TMDBApiE, _MySettings)
+ If preload Then
+ dFImgSelect = New dlgImgSelect(_TMDBConf, _TMDBConfE, _TMDBApi, _TMDBApiE, _MySettings)
+ dFImgSelect.PreLoad(mMovie, Enums.ImageType.Fanart, _isEdit)
+ End If
+ '' dImgSelect.IMDBURL = MySettings.IMDBURL
+ pResults = dImgSelect.ShowDialog(mMovie, _DLType, _isEdit)
+ End Using
+ End If
+ Return New Interfaces.ModuleResult With {.breakChain = False}
+ End Function
+ Public Sub PostScraperOrderChanged() Implements EmberAPI.Interfaces.EmberMovieScraperModule.PostScraperOrderChanged
+ _setup.orderChanged()
+ End Sub
+
+ Public Sub ScraperOrderChanged() Implements EmberAPI.Interfaces.EmberMovieScraperModule.ScraperOrderChanged
+ _setupPost.orderChanged()
+ End Sub
+
+#End Region 'Methods
+
+#Region "Nested Types"
+
+ Structure sMySettings
+
+#Region "Fields"
+ Dim DownloadTrailers As Boolean
+ Dim TrailerTimeout As Integer
+ Dim UseTMDBTrailer As Boolean
+ Dim UseTMDBTrailerXBMC As Boolean
+ Dim ManualETSize As String
+ Dim UseTMDBTrailerPref As String
+ Dim TMDBAPIKey As String
+ Dim FANARTTVApiKey As String
+ Dim TMDBLanguage As String
+ Dim FallBackEng As Boolean
+ Dim UseIMDB As Boolean
+ Dim UseIMPA As Boolean
+ Dim UseMPDB As Boolean
+ Dim UseFANARTTV As Boolean
+ Dim UseIMDBTrailer As Boolean
+#End Region 'Fields
+
+ End Structure
+
+#End Region 'Nested Types
+
+End Class
\ No newline at end of file
diff --git a/Addons/scraper.IMDB.Data/AssemblyInfo.vb b/Addons/scraper.IMDB.Data/AssemblyInfo.vb
new file mode 100644
index 0000000..1b59a44
--- /dev/null
+++ b/Addons/scraper.IMDB.Data/AssemblyInfo.vb
@@ -0,0 +1,35 @@
+Imports System
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' General Information about an assembly is controlled through the following
+' set of attributes. Change these attribute values to modify the information
+' associated with an assembly.
+
+' Review the values of the assembly attributes
+
+
+
+
+
+
+
+
+
+
+'The following GUID is for the ID of the typelib if this project is exposed to COM
+
+
+' Version information for an assembly consists of the following four values:
+'
+' Major Version
+' Minor Version
+' Build Number
+' Revision
+'
+' You can specify all the values or you can default the Build and Revision Numbers
+' by using the '*' as shown below:
+'
+
+
+
diff --git a/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.Debug_(db_DB).xml b/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.Debug_(db_DB).xml
new file mode 100644
index 0000000..0fba5b0
--- /dev/null
+++ b/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.Debug_(db_DB).xml
@@ -0,0 +1,902 @@
+
+ native1
+ native2
+ native3
+ native4
+ native5
+ native6
+ native7
+ native8
+ native9
+ native10
+ native11
+ native12
+ native13
+ native14
+ native15
+ native16
+ native17
+ native18
+ native19
+ native20
+ native21
+ native22
+ native23
+ native24
+ native25
+ native26
+ native27
+ native28
+ native29
+ native30
+ native31
+ native32
+ native33
+ native34
+ native35
+ native36
+ native37
+ native38
+ native39
+ native40
+ native41
+ native42
+ native43
+ native44
+ native45
+ native46
+ native47
+ native48
+ native49
+ native50
+ native51
+ native52
+ native53
+ native54
+ native55
+ native56
+ native57
+ native58
+ native59
+ native60
+ native61
+ native62
+ native63
+ native64
+ native65
+ native66
+ native67
+ native68
+ native69
+ native70
+ native71
+ native72
+ native73
+ native74
+ native75
+ native76
+ native77
+ native78
+ native79
+ native80
+ native81
+ native82
+ native83
+ native84
+ native85
+ native86
+ native87
+ native88
+ native89
+ native90
+ native91
+ native92
+ native93
+ native94
+ native95
+ native96
+ native97
+ native98
+ native99
+ native100
+ native101
+ native102
+ native103
+ native104
+ native105
+ native106
+ native107
+ native108
+ native109
+ native110
+ native111
+ native112
+ native113
+ native114
+ native115
+ native116
+ native117
+ native118
+ native119
+ native120
+ native121
+ native122
+ native123
+ native124
+ native125
+ native126
+ native127
+ native128
+ native129
+ native130
+ native131
+ native132
+ native133
+ native134
+ native135
+ native136
+ native137
+ native138
+ native139
+ native140
+ native141
+ native142
+ native143
+ native144
+ native145
+ native146
+ native147
+ native148
+ native149
+ native150
+ native151
+ native152
+ native153
+ native154
+ native155
+ native156
+ native157
+ native158
+ native159
+ native160
+ native161
+ native162
+ native163
+ native164
+ native165
+ native166
+ native167
+ native168
+ native169
+ native170
+ native171
+ native172
+ native173
+ native174
+ native175
+ native176
+ native177
+ native178
+ native179
+ native180
+ native181
+ native182
+ native183
+ native184
+ native185
+ native186
+ native187
+ native188
+ native189
+ native190
+ native191
+ native192
+ native193
+ native194
+ native195
+ native196
+ native197
+ native198
+ native199
+ native200
+ native201
+ native202
+ native203
+ native204
+ native205
+ native206
+ native207
+ native208
+ native209
+ native210
+ native211
+ native212
+ native213
+ native214
+ native215
+ native216
+ native217
+ native218
+ native219
+ native220
+ native221
+ native222
+ native223
+ native224
+ native225
+ native226
+ native227
+ native228
+ native229
+ native230
+ native231
+ native232
+ native233
+ native234
+ native235
+ native236
+ native237
+ native238
+ native239
+ native240
+ native241
+ native242
+ native243
+ native244
+ native245
+ native246
+ native247
+ native248
+ native249
+ native250
+ native251
+ native252
+ native253
+ native254
+ native255
+ native256
+ native257
+ native258
+ native259
+ native260
+ native261
+ native262
+ native263
+ native264
+ native265
+ native266
+ native267
+ native268
+ native269
+ native270
+ native271
+ native272
+ native273
+ native274
+ native275
+ native276
+ native277
+ native278
+ native279
+ native280
+ native281
+ native282
+ native283
+ native284
+ native285
+ native286
+ native287
+ native288
+ native289
+ native290
+ native291
+ native292
+ native293
+ native294
+ native295
+ native296
+ native297
+ native298
+ native299
+ native300
+ native301
+ native302
+ native303
+ native304
+ native305
+ native306
+ native307
+ native308
+ native309
+ native310
+ native311
+ native312
+ native313
+ native314
+ native315
+ native316
+ native317
+ native318
+ native319
+ native320
+ native321
+ native322
+ native323
+ native324
+ native325
+ native326
+ native327
+ native328
+ native329
+ native330
+ native331
+ native332
+ native333
+ native334
+ native335
+ native336
+ native337
+ native338
+ native339
+ native340
+ native341
+ native342
+ native343
+ native344
+ native345
+ native346
+ native347
+ native348
+ native349
+ native350
+ native351
+ native352
+ native353
+ native354
+ native355
+ native356
+ native357
+ native358
+ native359
+ native360
+ native361
+ native362
+ native363
+ native364
+ native365
+ native366
+ native367
+ native368
+ native369
+ native370
+ native371
+ native372
+ native373
+ native374
+ native375
+ native376
+ native377
+ native378
+ native379
+ native380
+ native381
+ native382
+ native383
+ native384
+ native385
+ native386
+ native387
+ native388
+ native389
+ native390
+ native391
+ native392
+ native393
+ native394
+ native395
+ native396
+ native397
+ native398
+ native399
+ native400
+ native401
+ native402
+ native403
+ native404
+ native405
+ native406
+ native407
+ native408
+ native409
+ native410
+ native411
+ native412
+ native413
+ native414
+ native415
+ native416
+ native417
+ native418
+ native419
+ native420
+ native421
+ native422
+ native423
+ native424
+ native425
+ native426
+ native427
+ native428
+ native429
+ native430
+ native431
+ native432
+ native433
+ native434
+ native435
+ native436
+ native437
+ native438
+ native439
+ native440
+ native441
+ native442
+ native443
+ native444
+ native445
+ native446
+ native447
+ native448
+ native449
+ native450
+ native451
+ native452
+ native453
+ native454
+ native455
+ native456
+ native457
+ native458
+ native459
+ native460
+ native461
+ native462
+ native463
+ native464
+ native465
+ native466
+ native467
+ native468
+ native469
+ native470
+ native471
+ native472
+ native473
+ native474
+ native475
+ native476
+ native477
+ native478
+ native479
+ native480
+ native481
+ native482
+ native483
+ native484
+ native485
+ native486
+ native487
+ native488
+ native489
+ native490
+ native491
+ native492
+ native493
+ native494
+ native495
+ native496
+ native497
+ native498
+ native499
+ native500
+ native501
+ native502
+ native503
+ native504
+ native505
+ native506
+ native507
+ native508
+ native509
+ native510
+ native511
+ native512
+ native513
+ native514
+ native515
+ native516
+ native517
+ native518
+ native519
+ native520
+ native521
+ native522
+ native523
+ native524
+ native525
+ native526
+ native527
+ native528
+ native529
+ native530
+ native531
+ native532
+ native533
+ native534
+ native535
+ native536
+ native537
+ native538
+ native539
+ native540
+ native541
+ native542
+ native543
+ native544
+ native545
+ native546
+ native547
+ native548
+ native549
+ native550
+ native551
+ native552
+ native553
+ native554
+ native555
+ native556
+ native557
+ native558
+ native559
+ native560
+ native561
+ native562
+ native563
+ native564
+ native565
+ native566
+ native567
+ native568
+ native569
+ native570
+ native571
+ native572
+ native573
+ native574
+ native575
+ native576
+ native577
+ native578
+ native579
+ native580
+ native581
+ native582
+ native583
+ native584
+ native585
+ native586
+ native587
+ native588
+ native589
+ native590
+ native591
+ native592
+ native593
+ native594
+ native595
+ native596
+ native597
+ native598
+ native599
+ native600
+ native601
+ native602
+ native603
+ native604
+ native605
+ native606
+ native607
+ native608
+ native609
+ native610
+ native611
+ native612
+ native613
+ native614
+ native615
+ native616
+ native617
+ native618
+ native619
+ native620
+ native621
+ native622
+ native623
+ native624
+ native625
+ native626
+ native627
+ native628
+ native629
+ native630
+ native631
+ native632
+ native633
+ native634
+ native635
+ native636
+ native637
+ native638
+ native639
+ native640
+ native641
+ native642
+ native643
+ native644
+ native645
+ native646
+ native647
+ native648
+ native649
+ native650
+ native651
+ native652
+ native653
+ native654
+ native655
+ native656
+ native657
+ native658
+ native659
+ native660
+ native661
+ native662
+ native663
+ native664
+ native665
+ native666
+ native667
+ native668
+ native669
+ native670
+ native671
+ native672
+ native673
+ native674
+ native675
+ native676
+ native677
+ native678
+ native679
+ native680
+ native681
+ native682
+ native683
+ native684
+ native685
+ native686
+ native687
+ native688
+ native689
+ native690
+ native691
+ native692
+ native693
+ native694
+ native695
+ native696
+ native697
+ native698
+ native699
+ native700
+ native701
+ native702
+ native703
+ native704
+ native705
+ native706
+ native707
+ native708
+ native709
+ native710
+ native711
+ native712
+ native713
+ native714
+ native715
+ native716
+ native717
+ native718
+ native719
+ native720
+ native721
+ native722
+ native723
+ native724
+ native725
+ native726
+ native727
+ native728
+ native729
+ native730
+ native731
+ native732
+ native733
+ native734
+ native735
+ native736
+ native737
+ native738
+ native739
+ native740
+ native741
+ native742
+ native743
+ native744
+ native745
+ native746
+ native747
+ native748
+ native749
+ native750
+ native751
+ native752
+ native753
+ native754
+ native755
+ native756
+ native757
+ native758
+ native759
+ native760
+ native761
+ native762
+ native763
+ native764
+ native765
+ native766
+ native767
+ native768
+ native769
+ native770
+ native771
+ native772
+ native773
+ native774
+ native775
+ native776
+ native777
+ native778
+ native779
+ native780
+ native781
+ native782
+ native783
+ native784
+ native785
+ native786
+ native787
+ native788
+ native789
+ native790
+ native791
+ native792
+ native793
+ native794
+ native795
+ native796
+ native797
+ native798
+ native799
+ native800
+ native801
+ native802
+ native803
+ native804
+ native805
+ native806
+ native807
+ native808
+ native809
+ native810
+ native811
+ native812
+ native813
+ native814
+ native815
+ native816
+ native817
+ native818
+ native819
+ native820
+ native821
+ native822
+ native823
+ native824
+ native825
+ native826
+ native827
+ native828
+ native829
+ native830
+ native831
+ native832
+ native833
+ native834
+ native835
+ native836
+ native837
+ native838
+ native839
+ native840
+ native841
+ native842
+ native843
+ native844
+ native845
+ native846
+ native847
+ native848
+ native849
+ native850
+ native851
+ native852
+ native853
+ native854
+ native855
+ native856
+ native857
+ native858
+ native859
+ native860
+ native861
+ native862
+ native863
+ native864
+ native865
+ native866
+ native867
+ native868
+ native869
+ native870
+ native871
+ native872
+ native873
+ native874
+ native875
+ native876
+ native877
+ native878
+ native879
+ native880
+ native881
+ native882
+ native883
+ native884
+ native885
+ native886
+ native887
+ native888
+ native889
+ native890
+ native891
+ native892
+ native893
+ native894
+ native895
+ native896
+ native897
+ native898
+ native899
+ native900
+
\ No newline at end of file
diff --git a/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.English_(en_US)-Help.xml b/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.English_(en_US)-Help.xml
new file mode 100644
index 0000000..1705beb
--- /dev/null
+++ b/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.English_(en_US)-Help.xml
@@ -0,0 +1,45 @@
+
+ Enable or disable this module.
+ Move this scraper module up in order. (Scraper modules will be processed in order from top to bottom)
+ Move this scraper module down in order. (Scraper modules will be processed in order from top to bottom)
+ Enter the mirror to use when retrieving information from IMDB.
+ If enabled, Ember will attempt to retreive the movie title from OFDB (a German language site) when scraping.
+ If enabled, Ember will attempt to retreive the movie outline from OFDB (a German language site) when scraping.
+ If enabled, Ember will attempt to retreive the movie plot from OFDB (a German language site) when scraping.
+ If enabled, Ember will attempt to retreive the movie genre from OFDB (a German language site) when scraping.
+ Enable scraping movie certification.
+ Enable scraping movie Top 250 ranking.
+ Limit the number of scraped genres to the entered value.
+ Limit the number of scraped actors to the entered value.
+ Enable scraping movie other crew. (Scrape Full Crew must be enabled)
+ Enable scraping movie musicians. (Scrape Full Crew must be enabled)
+ Enable scraping movie producers. (Scrape Full Crew must be enabled)
+ Enable scraping movie writers.
+ Enable scraping movie studio.
+ Enable scraping movie runtime.
+ Enable scraping movie plot.
+ Enable scraping movie outline.
+ Enable scraping movie genre.
+ Enable scraping movie director.
+ Enable scraping movie tagline.
+ Enable scraping movie cast.
+ Enable scraping movie votes.
+ Enable scraping movie trailer url.
+ Enable scraping movie rating.
+ Enable scraping movie release date.
+ Enable scraping movie MPAA.
+ Enable scraping movie year.
+ Enable scraping movie title.
+ Enable or disable this module.
+ Move this scraper module up in order. (Scraper modules will be processed in order from top to bottom)
+ Move this scraper module down in order. (Scraper modules will be processed in order from top to bottom)
+ Enable scraping posters from this module. (Refer to global poster settings for more options)
+ Enable scraping fanart from this module. (Refer to global fanart settings for more options)
+ Enable retrieving images from theMovieDB.org.
+ Enable retrieving images from
+ Enable retrieving images from MoviePosterDB.com.
+ Enable automatic extraction of extrathumbs from this module. (Refer to global extrathumb settings for more options)
+ Enable trailer downloading from this module. (Refer to global trailer settings for more options)
+ Enter the time (in seconds) you wish to use as a time out for the trailer sites. (If there is no response in the given time frame, the trailer site will be temporarily skipped.)
+ Select the sites from which you would like to retrieve trailer URLs and/or files.
+
diff --git a/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.English_(en_US).xml b/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.English_(en_US).xml
new file mode 100644
index 0000000..87a19b5
--- /dev/null
+++ b/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.English_(en_US).xml
@@ -0,0 +1,117 @@
+
+ Ember Native TV Scrapers
+ Use OFDB Genre
+ Use OFDB Plot
+ Use OFDB Outline
+ Use OFDB Title
+ IMDB Mirror:
+ Scraper Fields - Scraper specific
+ Timeout:
+ Supported Sites:
+ Get Images From:
+ Search Results
+ Searching IMDB...
+ The ID you entered is not a valid IMDB ID.
+ You have manually entered an IMDB ID but have not verified it is correct.
+ Continue without verification?
+ Unable to retrieve movie details for the entered IMDB ID. Please check your entry and try again.
+ Verification Failed
+ Partial Matches ({0})
+ Exact Matches ({0})
+ Popular Titles ({0})
+ No Matches Found
+ View details of each result to find the proper movie.
+ Movie Search Results
+ Manual IMDB Entry:
+ Verify
+ Searching IMDB...
+ Downloading details...
+ Downloading {0}
+ No Fanart found for this movie.
+ No Fanart Found
+ No Posters found for this movie.
+ No Posters Found
+ Retrieving data from TheMovieDB.com...
+ TheMovieDB.com is not enabled
+ Retrieving data from IMPAwards.com...
+ IMPAwards.com is not enabled
+ Retrieving data from MoviePosterDB.com...
+ MoviePostersDB.com is not enabled
+ Preparing images...
+ Select Poster
+ Select Fanart
+ Check All Thumb
+ Check All Mid
+ Check All Original
+ Selected item will be set as fanart. All checked items will be saved to \extrathumbs.
+ Performing Preliminary Tasks...
+ Downloading Selected Image...
+ Original
+ Cover
+ Medium
+ Small
+ Original ({0}x{1})
+ Cover ({0}x{1})
+ Small ({0}x{1})
+ Medium ({0}x{1})
+ Multiple
+ Downloading selected trailer...
+ Copying specified file to trailer...
+ The trailer could not be played. This could be due to an invalid URL or you do not have the proper player to play the trailer type.
+ Error Playing Trailer
+ Move
+ Copy
+ Moving specified file to trailer...
+ Set To Nfo
+ Select Trailer
+ Select Trailer to Download
+ Manual Trailer Entry
+ Direct Link or YouTube URL:
+ Compiling trailer list...
+ Preview Trailer
+ Local Trailer:
+ The video format links could not be retrieved.
+ Error Retrieving Video Format Links
+ Select Format
+ Getting available formats...
+ Available Formats
+ A poster of your preferred size could not be found. Please choose another.
+ No Preferred Size
+ Fanart of your preferred size could not be found. Please choose another.
+ There are no known episodes for this show. Scrape the show, season, or episode and try again.
+ No Known Episodes
+ There is no poster available for this episode.
+ Guest Star
+ The ID you entered is not a valid TVDB ID.
+ Downloading show info...
+ TV Search Results
+ View details of each result to find the proper TV show.
+ Downloading Fullsize Fanart Image...
+ Loading Current Images...
+ (Down)Loading New Images...
+ Setting Defaults...
+ Show Poster
+ Episode Fanart
+ Show Fanart
+ All Seasons Poster
+ Season Posters
+ Season Fanart
+ Season {0} Posters
+ Season {0} Fanart
+ TV Image Selection
+ Current Image:
+ Get Posters
+ Get Fanart
+ These settings are specific to this module.{0}Please refer to the global settings for more options.
+ Ember Native Movie Scrapers
+
+ IMDB
+ OFDB (German)
+ TMDB Extrathumbs Size:
+ Trailers
+ Youtube/TMDB Trailer:
+ XBMC Format
+ Preferred language
+ Save Fanart In:
+ Open In Browser
+
diff --git a/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.German_(de_DE)-Help.xml b/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.German_(de_DE)-Help.xml
new file mode 100644
index 0000000..f4c930d
--- /dev/null
+++ b/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.German_(de_DE)-Help.xml
@@ -0,0 +1,45 @@
+
+ Aktiviert dieses Modul.
+ Verschiebt diesen Scraper in der Reihenfolge einen nach oben (Scrape Module werden von oben nach unten abgearbeitet.)
+ Verschiebt diesen Scraper in der Reihenfolge einen nach unten (Scrape Module werden von oben nach unten abgearbeitet.)
+ Gib den Mirror ein über den Ember mit der IMDB kommunizieren soll.
+ Wenn aktiviert versucht Ember den Titel von der deutschen Seite OFDB.DE zu scrapen.
+ Wenn aktiviert versucht Ember die Kurzebschreibung von der deutschen Seite OFDB.DE zu scrapen.
+ Wenn aktiviert versucht Ember die Inhaltsangabe von der deutschen Seite OFDB.DE zu scrapen.
+ Wenn aktiviert versucht Ember die Genres von der deutschen Seite OFDB.DE zu scrapen.
+ Aktiviert das Scrapen der Altersbeschränkung mit diesem Modul.
+ Aktiviert das Scrapen der IMDB Top250 mit diesem Modul.
+ Die Anzahl der gescrapten Genres limitieren.
+ Die Anzahl der gescrapten Schauspieler limitieren.
+ Aktiviert das Scrapen der Sonstigen Crew mit diesem Modul. (Die Gesamte Crew scrapen muss aktiviert sein!)
+ Aktiviert das Scrapen der Musiker mit diesem Modul. (Die Gesamte Crew scrapen muss aktiviert sein!)
+ Aktiviert das Scrapen der Produzenten mit diesem Modul. (Die Gesamte Crew scrapen muss aktiviert sein!)
+ Aktiviert das Scrapen der Autoren mit diesem Modul.
+ Aktiviert das Scrapen des Studios mit diesem Modul.
+ Aktiviert das Scrapen der Spielzeit mit diesem Modul.
+ Aktiviert das Scrapen des Inhalts mit diesem Modul.
+ Aktiviert das Scrapen der Kurzbeschreibung mit diesem Modul.
+ Aktiviert das Scrapen von Genre mit diesem Modul.
+ Aktiviert das Scrapen des Regisseurs mit diesem Modul.
+ Aktiviert das Scrapen der Tagline mit diesem Modul.
+ Aktiviert das Scrapen der Schauspieler mit diesem Modul.
+ Aktiviert das Scrapen der Anzahl Bewertungen mit diesem Modul.
+ Aktiviert das Scrapen von Trailern mit diesem Modul.
+ Aktiviert das Scrapen der Bewertung mit diesem Modul.
+ Aktiviert das Scrapen des Premiere Datums mit diesem Modul.
+ Aktiviert das Scrapen der MPAA Bewertung mit diesem Modul.
+ Aktiviert das Scrapen des Jahres mit diesem Modul.
+ Aktiviert das Scrapen des Titels mit diesem Modul.
+ Aktiviert dieses Modul.
+ Verschiebt diesen Scraper in der Reihenfolge einen nach oben (Scrape Module werden von oben nach unten abgearbeitet.)
+ Verschiebt diesen Scraper in der Reihenfolge einen nach unten (Scrape Module werden von oben nach unten abgearbeitet.)
+ Aktiviert das Laden von Postern mit diesem Modul. (Schau auch in die Globale Konfiguration!)
+ Aktiviert das Laden von Fanart mit diesem Modul. (Schau auch in die Globale Konfiguration!)
+ Aktiviert das Laden von Bildern von TheMovieDB.org.
+ Aktiviert das Laden von Bildern von IMPA
+ Aktiviert das Laden von Bildern von MoviePosterDB.com.
+ Automatische Frame extraktion mit diesem Modul aktivieren. (Schau auch in die Globale Konfiguration!)
+ Trailer laden mit diesem Modul aktivieren. (Schau auch in die Globale Konfiguration!)
+ Wähle die Zeit (in Sekunden) die auf Trailerseiten gewartet werden soll. (Wenn die Zeite in dieser Zeit nicht geantwortet hat wird sie übersprungen)
+ Wähle die Seite von der Trailer URLs/Dateien geladen werden sollen.
+
diff --git a/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.German_(de_DE).xml b/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.German_(de_DE).xml
new file mode 100644
index 0000000..0349557
--- /dev/null
+++ b/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.German_(de_DE).xml
@@ -0,0 +1,117 @@
+
+ Ember Nativer TV Scraper
+ OFDB Genre benutzen
+ OFDB Handlung benutzen
+ OFDB Kurzbeschr. benutzen
+ OFDB Titel benutzen
+ IMDB Mirror:
+ Scraper Felder - Scraper spezifisch
+ Timeout:
+ Unterstützte Seiten:
+ Bilder holen von:
+ Suchergebnis
+ Suche in der IMDB...
+ Die eingegebene ID ist keine gültige IMDB ID.
+ Die IMDB ID ist noch nicht geprüft.
+ Ohne Prüfung fortfahren?
+ Zu der eingegebene IMDB ID konnten keine Informationen geholt werden. Bitte prüfe deine Eingaben.
+ Prüfung fehlgeschlagen
+ Teil Treffer ({0})
+ Exakte Treffer({0})
+ Populäre Titel ({0})
+ Keine Treffer
+ Schaue dir die Details an um den richtigen Film zu finden.
+ Film Suchergebnis
+ Man. IMDB ID:
+ Prüfen
+ Suche in der IMDB...
+ Lade Details...
+ Lade {0} herunter
+ Kein Fanart für diesen Film gefunden
+ Kein Fanart gefunden
+ Kein Poster für diesen Film gefunden
+ Kein Poster gefunden
+ Lade Daten von TheMovieDB.com...
+ TheMovieDB.com ist nicht aktiviert.
+ Lade Daten von IMPAwards.com...
+ IMPAwards.com ist nicht aktiviert.
+ Lade Daten von MoviePosterDB.com...
+ MoviePostersDB.com ist nicht aktiviert.
+ Bereite Bilder vor...
+ Wähle Poster
+ Wähle Fanart
+ Alle Thumbs
+ Alle Mittl.
+ Alle Original
+ Markiertes Bild wird Fanart. Alle aktivierten werden Extrathumbs.
+ Vorarbeit läuft...
+ Lade gewähltes Bild...
+ Original
+ Cover
+ mittel
+ klein
+ Original ({0}x{1})
+ Cover ({0}x{1})
+ klein ({0}x{1})
+ mittel ({0}x{1})
+ Mehrfach
+ Lade gewählten Trailer...
+ Kopiere gewählten Trailer...
+ Der Trailer konnte nicht abgespielt werden. Dies könnte an einer Fehlerhaften URL liegen oder es ist kein Player für diesen Dateityp vorhanden.
+ Fehler beim Abspielen des Trailers
+ Verschieben
+ Kopieren
+ Verschiebe gewählten Trailer...
+ In NFO speichern
+ Trailer wählen
+ Trailer zum laden wählen
+ Man. Trailer
+ Direktlink oder YouTube URL:
+ Stelle Trailerliste zusammen...
+ Trailer Vorschau
+ Lokaler Trailer:
+ Die Videoformat Linkliste konnte nicht generiert werden.
+ Fehler beim generieren der Videoformat Linkliste
+ Format wählen
+ Hole verfügbare Formate...
+ Verfügbare Formate
+ Es konnte kein Poster in der gewünschten Größe gefunden werden. Wähle ein anderes.
+ Keine gewünschte Größe
+ Es konnte kein Fanart in der gewünschten Größe gefunden werden. Wähle ein anderes.
+ Keine Episoden für diese TV-Serie verfügbar. Scrape diese Serie, Staffel oder Episode und versuche es erneut.
+ Keine Episoden verfügbar
+ Kein Poster für diese Episode vorhanden.
+ Gast Star
+ Die eingegebene ID ist keine gültige TVDB ID.
+ Lade Serien Informationen...
+ Serien Suchergebnis
+ Betrachte die Details um die richtige TV-Serie zu erkennen.
+ Lade Fanart in Originalgröße...
+ Lade aktuelle Bilder...
+ Lade neue Bilder...
+ Setze Standardwerte...
+ Serien Poster
+ Episoden Fanart
+ Serien Fanart
+ Alle-Staffeln Poster
+ Staffel Posters
+ Staffel Fanart
+ Staffel {0} Poster
+ Staffel {0} Fanart
+ Bilderwahl TV-Serien
+ Aktuelles Bild:
+ Poster laden
+ Fanart laden
+ Diese Einstellungen sind Modul-spezifisch. {0} Bitte werfen sie einen blick in die Globalen Einstellungen für noch mehr Optionen.
+ Ember Nativer Film Scraper
+
+ IMDB
+ OFDB (German)
+ TMDB Extrathumbs Grösse:
+ Trailer
+ Youtube/TMDB Trailer:
+ XBMC Format
+ Bevorzugte Sprache
+ Speichere Fanart in:
+ Im Browser öffnen
+
diff --git a/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.Norwegian_(no_NO)-Help.xml b/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.Norwegian_(no_NO)-Help.xml
new file mode 100644
index 0000000..79a98bf
--- /dev/null
+++ b/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.Norwegian_(no_NO)-Help.xml
@@ -0,0 +1,45 @@
+
+ Slå modulen av eller på.
+ Flytt denne detaljhentermodulen opp i rekkefølgen. (Detaljhentermoduler vil bli bruk fra toppen ned.)
+ Flytt denne detaljhentermodulen ned i rekkefølgen. (Detaljhentermoduler vil bli bruk fra toppen ned.)
+ Før inn speilserver til IMDB.
+ Hvis påslått, EMM vil å prøve å finne filmtittel fra OFDB (en tyskspråklig side) under detaljhenting.
+ Hvis påslått, EMM vil prøve å finne beskrivelse av filmen på OFDB (en tyskspråklig side) under detaljhenting.
+ Hvis påslått, EMM vil hente filmhistorien fra OFDB (en tyskspråklig side) under detaljhenting.
+ Hvis påslått, EMM vil hente filmsjanger fra OFDB (en tyskspråklig side) under detaljhenting.
+ Slå på detaljhenting av filmsertifisering.
+ Slå på detaljhenting av IMDB Top 250-plassering.
+ Begrens antall detaljhentede sjangre.
+ Begrens antall skuespillere.
+ Slå på detaljhenting av andre crew. (Detaljhenting av fullt crew må være påslått)
+ Slå på detaljhenting av musikere. (Detaljhenting av fullt crew må være påslått)
+ Slå på detaljhenting av filmprodusenter. (Detaljhenting av full crew må være påslått)
+ Slå på detaljhenting av manusforfattere.
+ Slå på detaljhenting av studio.
+ Slå på detaljhenting av filmlengde.
+ Slå på detaljhenting av filmens historie.
+ Slå på detaljhenting av filmens beskrivelse.
+ Slå på detaljhenting av filmens sjanger.
+ Slå på detaljhetning av filmens regissør.
+ Slå på detaljhetning av filmens undertittel.
+ Slå på detaljhetning av filmens skuespillerbeholdning.
+ Slå på detaljhetning av filmens poeng.
+ Slå på detaljhetning av filmens trailer URL.
+ Slå på detaljhetning av filmens aldersgrense.
+ Slå på detaljhetning av filmens premieredato.
+ Slå på detaljhetning av filmens MPAA-markering.
+ Slå på detaljhetning av filmens år.
+ Slå på detaljhetning av filmens tittel.
+ Slå modulen av eller på.
+ Flytt denne detaljhentermodulen opp i rekkefølgen. (Detaljhentermoduler vil bli bruk fra toppen ned.)
+ Flytt denne detaljhentermodulen ned i rekkefølgen. (Detaljhentermoduler vil bli bruk fra toppen ned.)
+ Slå på detaljhetning av plakater i denne modulen. (Se globale plakatinnstillinger for flere valg)
+ Slå på detaljhetning av fankunst i denne modulen. (Se globale fankunstinnstillinger for flere valg)
+ Slå på bildehenting fra theMovieDB.org.
+ Slå på bildehenting fra
+ Slå på bildehenting fra MoviePosterDB.com
+ Slå på automatisk henting av ekstrakunst fra denne modulen. (Se globale ekstrakunstinnstillinger for flere valg)
+ Slå på automatisk henting av trailer fra denne modulen. (Se globale trailerinnstillinger for flere valg)
+ Før inn tiden (i sekunder) du vil bruke for timeout for trailersider. (Hvis siden ikke svarer innen timeoutfristen, så vil den bli hoppet over)
+ Velg sidene du vil bruke til trailer URL og/eller filer.
+
diff --git a/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.Norwegian_(no_NO).xml b/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.Norwegian_(no_NO).xml
new file mode 100644
index 0000000..52370c3
--- /dev/null
+++ b/Addons/scraper.IMDB.Data/Langs/scraper.EmberCore.Norwegian_(no_NO).xml
@@ -0,0 +1,117 @@
+
+ EMM TV-detaljhentere
+ Bruk OFDB-sjangere
+ Bruk OFDB-filmhistorie
+ Bruk OFDB-beskrivelse
+ Bruk OFDB-tittel
+ IMDB-speilserver:
+ Detaljhenterområder - Detaljhenterspesifikk
+ Tidsavbrudd:
+ Støttede sider:
+ Hent bilder fra:
+ Søkeresultater
+ Søker TMDB...
+ IDen du førte inn er ikke en riktig IMDB-ID.
+ Du har ført inn en IMDB-ID, men har ikke verifisert om den er riktig.
+ Fortsette uten verifisering?
+ Kunne ikke hente filmdetaljer for den innførte IDen. Vennligst sjekk IDen og prøv igjen.
+ Verifisering feilet
+ Delvise treff ({0})
+ Eksakte treff ({0})
+ Populære titler ({0})
+ Ingen funnet
+ Se detaljer fra hvert treff for å finne riktig film.
+ Filmsøkresultater
+ Manuell IMDB innføring:
+ Verifiser
+ Søker TMDB...
+ Laster ned detaljer...
+ Laster ned {0}
+ Ingen fankunst funnet for denne filmen.
+ Ingen fankunst funnet
+ Ingen plakater funnet for denne filmen.
+ Ingen plakater funnet
+ Henter data fra TheMovieDB.com...
+ TheMovieDB.com er ikke påslått
+ Henter data fra IMPAwards.com...
+ IMPAwards.com er ikke påslått
+ Henter data fra MoviePosterDB.com...
+ MoviePostersDB.com er ikke påslått
+ Forbereder bilder...
+ Velg plakat
+ Velg fankunst
+ Huk av alle tommelbilder
+ Huk av alle Mid
+ Huk av alle originale
+ Valgte objekt vil bli satt som fankunst. Alle hukede objekter vil bli lagret i \extrathumbs.
+ Utfører forberedende oppgaver...
+ Laster ned valgte bilde...
+ Original
+ Cover
+ Medium
+ Liten
+ Original ({0}x{1})
+ Cover {0}x{1}
+ Liten ({0}x{1})
+ Medium ({0}x{1})
+ Flere
+ Laster ned valgt trailer...
+ Kopierer valgt fil til trailer...
+ Traileren kunne ikke spilles av. Det kan være at URL ikke er gyldig, eller at du ikke har riktig avspiller for denne filtypen.
+ Kunne spille av trailer.
+ Flytt
+ Kopiér
+ Flytter valgt fil til trailer...
+ Sett i nfo
+ Velg trailer
+ Velg trailer til å laste ned
+ Manuell trailerinnføring
+ Direkte link eller YouTube URL:
+ Kompilerer trailerliste...
+ Sniktitt på trailer
+ Lokal trailer:
+ Videoformatlenkene kunne ikke hentes
+ Kunne ikke hente videoformatlenker
+ Velg format
+ Henter tilgjengelige formater...
+ Tilgjengelige formater
+ En plakat i din valgte størrelse kunne ikke hentes. Vennligst velg en annen.
+ Ingen foretrukket størrelse
+ Fankunst i din foretrukkede størrelse kunne ikke bli funnet. Vennligst velg en annen.
+ Det er ingen kjente episoder for denne serien. Detaljhent serien, sesongen eller episoden og prøv på nytt.
+ Ingen kjente episoder
+ Det er ingen plakater for denne episoden.
+ Gjesteskuespiller
+ IDen du innførte er ikke en gyldig TVDB ID.
+ Laster ned serieinfo...
+ TVsøk-resultater
+ Se detaljer fra hvert resultat for å finne riktig serie.
+ Laster ned fankunst i full størrelse...
+ Laster inn nåværende bilder...
+ Laster (ned) nye bilder...
+ Setter standarder...
+ Serieplakat
+ Episodefankunst
+ Vis fankunst
+ Alle sesonger-plakat
+ Sesongplakater
+ Sesongfankunst
+ Sesong {0}-plakater
+ Sesong {0}-fankunst
+ TV-bilde valg
+ Nåværende bilde:
+ Hent plakater
+ Hent fankunst
+ Disse innstillingene er spesifikk til denne modulen.{0}Vennligst se globale innstillinger for flere valg.
+ EMM film-detaljhentere
+
+ IMDB
+ OFDB (Tysk)
+ TMDB Ekstrakunst-størrelse:
+ Trailere
+ Youtube/TMDB Trailer:
+ XBMC-format
+ Foretrukket språk
+ Lagre fankunst i:
+ Åpne i nettleser
+
diff --git a/Addons/scraper.IMDB.Data/My Project/Application.Designer.vb b/Addons/scraper.IMDB.Data/My Project/Application.Designer.vb
new file mode 100644
index 0000000..66fb81a
--- /dev/null
+++ b/Addons/scraper.IMDB.Data/My Project/Application.Designer.vb
@@ -0,0 +1,13 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.239
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
diff --git a/Addons/scraper.IMDB.Data/My Project/Application.myapp b/Addons/scraper.IMDB.Data/My Project/Application.myapp
new file mode 100644
index 0000000..758895d
--- /dev/null
+++ b/Addons/scraper.IMDB.Data/My Project/Application.myapp
@@ -0,0 +1,10 @@
+
+
+ false
+ false
+ 0
+ true
+ 0
+ 1
+ true
+
diff --git a/Addons/scraper.IMDB.Data/My Project/AssemblyInfo.vb b/Addons/scraper.IMDB.Data/My Project/AssemblyInfo.vb
new file mode 100644
index 0000000..5d57487
--- /dev/null
+++ b/Addons/scraper.IMDB.Data/My Project/AssemblyInfo.vb
@@ -0,0 +1,35 @@
+Imports System
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' General Information about an assembly is controlled through the following
+' set of attributes. Change these attribute values to modify the information
+' associated with an assembly.
+
+' Review the values of the assembly attributes
+
+
+
+
+
+
+
+
+
+
+'The following GUID is for the ID of the typelib if this project is exposed to COM
+
+
+' Version information for an assembly consists of the following four values:
+'
+' Major Version
+' Minor Version
+' Build Number
+' Revision
+'
+' You can specify all the values or you can default the Build and Revision Numbers
+' by using the '*' as shown below:
+'
+
+
+
diff --git a/Addons/scraper.IMDB.Data/My Project/Resources.Designer.vb b/Addons/scraper.IMDB.Data/My Project/Resources.Designer.vb
new file mode 100644
index 0000000..bb85827
--- /dev/null
+++ b/Addons/scraper.IMDB.Data/My Project/Resources.Designer.vb
@@ -0,0 +1,63 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.239
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+Imports System
+
+Namespace My.Resources
+
+ 'This class was auto-generated by the StronglyTypedResourceBuilder
+ 'class via a tool like ResGen or Visual Studio.
+ 'To add or remove a member, edit your .ResX file then rerun ResGen
+ 'with the /str option, or rebuild your VS project.
+ '''
+ ''' A strongly-typed resource class, for looking up localized strings, etc.
+ '''
+ _
+ Friend Module Resources
+
+ Private resourceMan As Global.System.Resources.ResourceManager
+
+ Private resourceCulture As Global.System.Globalization.CultureInfo
+
+ '''
+ ''' Returns the cached ResourceManager instance used by this class.
+ '''
+ _
+ Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
+ Get
+ If Object.ReferenceEquals(resourceMan, Nothing) Then
+ Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("EmberScraperModule.Resources", GetType(Resources).Assembly)
+ resourceMan = temp
+ End If
+ Return resourceMan
+ End Get
+ End Property
+
+ '''
+ ''' Overrides the current thread's CurrentUICulture property for all
+ ''' resource lookups using this strongly typed resource class.
+ '''
+ _
+ Friend Property Culture() As Global.System.Globalization.CultureInfo
+ Get
+ Return resourceCulture
+ End Get
+ Set
+ resourceCulture = value
+ End Set
+ End Property
+ End Module
+End Namespace
diff --git a/Addons/scraper.IMDB.Data/My Project/Resources.resx b/Addons/scraper.IMDB.Data/My Project/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/Addons/scraper.IMDB.Data/My Project/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/Addons/scraper.IMDB.Data/My Project/Settings.Designer.vb b/Addons/scraper.IMDB.Data/My Project/Settings.Designer.vb
new file mode 100644
index 0000000..f020222
--- /dev/null
+++ b/Addons/scraper.IMDB.Data/My Project/Settings.Designer.vb
@@ -0,0 +1,73 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.239
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ _
+ Partial Friend NotInheritable Class MySettings
+ Inherits Global.System.Configuration.ApplicationSettingsBase
+
+ Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
+
+#Region "My.Settings Auto-Save Functionality"
+#If _MyType = "WindowsForms" Then
+ Private Shared addedHandler As Boolean
+
+ Private Shared addedHandlerLockObject As New Object
+
+ _
+ Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
+ If My.Application.SaveMySettingsOnExit Then
+ My.Settings.Save()
+ End If
+ End Sub
+#End If
+#End Region
+
+ Public Shared ReadOnly Property [Default]() As MySettings
+ Get
+
+#If _MyType = "WindowsForms" Then
+ If Not addedHandler Then
+ SyncLock addedHandlerLockObject
+ If Not addedHandler Then
+ AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
+ addedHandler = True
+ End If
+ End SyncLock
+ End If
+#End If
+ Return defaultInstance
+ End Get
+ End Property
+ End Class
+End Namespace
+
+Namespace My
+
+ _
+ Friend Module MySettingsProperty
+
+ _
+ Friend ReadOnly Property Settings() As Global.EmberScraperModule.My.MySettings
+ Get
+ Return Global.EmberScraperModule.My.MySettings.Default
+ End Get
+ End Property
+ End Module
+End Namespace
diff --git a/Addons/scraper.IMDB.Data/My Project/Settings.settings b/Addons/scraper.IMDB.Data/My Project/Settings.settings
new file mode 100644
index 0000000..85b890b
--- /dev/null
+++ b/Addons/scraper.IMDB.Data/My Project/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/Addons/scraper.IMDB.Data/Resources/Logo.png b/Addons/scraper.IMDB.Data/Resources/Logo.png
new file mode 100644
index 0000000..a89dae1
Binary files /dev/null and b/Addons/scraper.IMDB.Data/Resources/Logo.png differ
diff --git a/Addons/scraper.IMDB.Data/Scraper/clsScrapeIMDB.vb b/Addons/scraper.IMDB.Data/Scraper/clsScrapeIMDB.vb
new file mode 100644
index 0000000..06e23c6
--- /dev/null
+++ b/Addons/scraper.IMDB.Data/Scraper/clsScrapeIMDB.vb
@@ -0,0 +1,1126 @@
+' ################################################################################
+' # EMBER MEDIA MANAGER #
+' ################################################################################
+' ################################################################################
+' # This file is part of Ember Media Manager. #
+' # #
+' # Ember Media Manager is free software: you can redistribute it and/or modify #
+' # it under the terms of the GNU General Public License as published by #
+' # the Free Software Foundation, either version 3 of the License, or #
+' # (at your option) any later version. #
+' # #
+' # Ember Media Manager is distributed in the hope that it will be useful, #
+' # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+' # GNU General Public License for more details. #
+' # #
+' # You should have received a copy of the GNU General Public License #
+' # along with Ember Media Manager. If not, see . #
+' ################################################################################
+
+Imports System.Globalization
+Imports System.IO
+Imports System.IO.Compression
+Imports System.Text
+Imports System.Text.RegularExpressions
+Imports EmberAPI
+
+Namespace IMDB
+
+ Public Class MovieSearchResults
+
+#Region "Fields"
+
+ Private _ExactMatches As New List(Of MediaContainers.Movie)
+ Private _PartialMatches As New List(Of MediaContainers.Movie)
+ Private _PopularTitles As New List(Of MediaContainers.Movie)
+
+#End Region 'Fields
+
+#Region "Properties"
+
+ Public Property ExactMatches() As List(Of MediaContainers.Movie)
+ Get
+ Return _ExactMatches
+ End Get
+ Set(ByVal value As List(Of MediaContainers.Movie))
+ _ExactMatches = value
+ End Set
+ End Property
+
+ Public Property PartialMatches() As List(Of MediaContainers.Movie)
+ Get
+ Return _PartialMatches
+ End Get
+ Set(ByVal value As List(Of MediaContainers.Movie))
+ _PartialMatches = value
+ End Set
+ End Property
+
+ Public Property PopularTitles() As List(Of MediaContainers.Movie)
+ Get
+ Return _PopularTitles
+ End Get
+ Set(ByVal value As List(Of MediaContainers.Movie))
+ _PopularTitles = value
+ End Set
+ End Property
+
+#End Region 'Properties
+
+ End Class
+
+ Public Class Scraper
+
+#Region "Fields"
+
+ Public IMDBURL As String
+ Public UseOFDBGenre As Boolean
+ Public UseOFDBOutline As Boolean
+ Public UseOFDBPlot As Boolean
+ Public UseOFDBTitle As Boolean
+
+ Friend WithEvents bwIMDB As New System.ComponentModel.BackgroundWorker
+
+ Private Const LINK_PATTERN As String = "]*?href[\s]?=[\s\""\']*(?.*?)[\""\']*.*?>(?[^<]+|.*?)?<\/a>"
+
+ Private Const ACTORTABLE_PATTERN As String = ""
+ Private Const HREF_PATTERN As String = ".*?)[""'].*?>(?.*?)"
+ Private Const HREF_PATTERN_2 As String = ".*?)[""""'].*?>(?.*?)"
+ Private Const HREF_PATTERN_3 As String = "([^<]*):([^<]*)[^<]*(([^<]*))?"
+ Private Const HREF_PATTERN_4 As String = "(?.*?)"
+ Private Const IMDB_ID_REGEX As String = "tt\d\d\d\d\d\d\d"
+ Private Const IMG_PATTERN As String = "
.*?)"" width=""\d{1,3}"" height=""\d{1,3}"" border="".{1,3}"">"
+ Private Const MOVIE_TITLE_PATTERN As String = "(?<=<(title)>).*(?=<\/\1>)"
+ Private Const TABLE_PATTERN As String = "\n?(.*?)"
+ Private Const TD_PATTERN_1 As String = "(.*?) | "
+ Private Const TD_PATTERN_2 As String = "(?<=)(.*?)(?= | )(\s\(.*?\))?"
+ Private Const TD_PATTERN_3 As String = "(.*?) | "
+ Private Const TD_PATTERN_4 As String = "(?.*?) | "
+ Private Const TITLE_PATTERN As String = ".*?)[""""'].*?>(?.*?)((\s)+?(\((?\d{4})(\/.*?)?\)))?((\s)+?(\((?.*?)\)))?"
+ Private Const TR_PATTERN As String = "(.*?)
"
+
+ Private sPoster As String
+
+#End Region 'Fields
+
+#Region "Enumerations"
+
+ Private Enum SearchType
+ Movies = 0
+ Details = 1
+ SearchDetails = 2
+ End Enum
+
+#End Region 'Enumerations
+
+#Region "Events"
+
+ Public Event Exception(ByVal ex As Exception)
+
+ Public Event SearchMovieInfoDownloaded(ByVal sPoster As String, ByVal bSuccess As Boolean)
+
+ Public Event SearchResultsDownloaded(ByVal mResults As IMDB.MovieSearchResults)
+
+#End Region 'Events
+
+#Region "Methods"
+
+ Public Sub CancelAsync()
+ If bwIMDB.IsBusy Then bwIMDB.CancelAsync()
+
+ While bwIMDB.IsBusy
+ Application.DoEvents()
+ Threading.Thread.Sleep(50)
+ End While
+ End Sub
+
+ Public Function GetMovieInfo(ByVal strID As String, ByRef IMDBMovie As MediaContainers.Movie, ByVal FullCrew As Boolean, ByVal FullCast As Boolean, ByVal GetPoster As Boolean, ByVal Options As Structures.ScrapeOptions, ByVal IsSearch As Boolean) As Boolean
+ Try
+ Dim ofdbTitle As String = String.Empty
+ Dim ofdbOutline As String = String.Empty
+ Dim ofdbPlot As String = String.Empty
+ Dim ofdbGenre As String = String.Empty
+
+ If bwIMDB.CancellationPending Then Return Nothing
+
+ If (UseOFDBTitle AndAlso Options.bTitle) OrElse (UseOFDBOutline AndAlso Options.bOutline) OrElse _
+ (UseOFDBPlot AndAlso Options.bPlot) OrElse (UseOFDBGenre AndAlso Options.bGenre) Then
+ Dim OFDBScrape As New OFDB(strID, IMDBMovie)
+ If UseOFDBTitle AndAlso Options.bTitle Then ofdbTitle = OFDBScrape.Title
+ If UseOFDBOutline AndAlso Options.bOutline Then ofdbOutline = OFDBScrape.Outline
+ If UseOFDBPlot AndAlso Options.bPlot Then ofdbPlot = OFDBScrape.Plot
+ If UseOFDBGenre AndAlso Options.bGenre Then ofdbGenre = OFDBScrape.Genre
+ End If
+
+ If bwIMDB.CancellationPending Then Return Nothing
+
+ Dim sHTTP As New HTTP
+ Dim HTML As String = sHTTP.DownloadData(String.Concat("http://", IMDBURL, "/title/tt", strID, "/combined"))
+ sHTTP = Nothing
+
+ If bwIMDB.CancellationPending Then Return Nothing
+
+ Dim sPlot As New HTTP
+ Dim PlotHtml As String = sPlot.DownloadData(String.Concat("http://", IMDBURL, "/title/tt", strID, "/plotsummary"))
+ sPlot = Nothing
+
+ IMDBMovie.IMDBID = strID
+
+ If bwIMDB.CancellationPending Then Return Nothing
+
+ Dim OriginalTitle As String = Regex.Match(HTML, MOVIE_TITLE_PATTERN).ToString
+ If Options.bTitle Then
+ Dim oldOTitle As String = IMDBMovie.OriginalTitle
+ IMDBMovie.OriginalTitle = CleanTitle(Web.HttpUtility.HtmlDecode(Regex.Match(OriginalTitle, ".*(?=\s\(\d+.*?\))").ToString)).Trim
+ If String.IsNullOrEmpty(IMDBMovie.Title) OrElse Not Master.eSettings.LockTitle Then
+ If Not String.IsNullOrEmpty(ofdbTitle) Then
+ IMDBMovie.Title = ofdbTitle.Trim
+ Else
+ If Not String.IsNullOrEmpty(Master.eSettings.ForceTitle) Then
+ IMDBMovie.Title = GetForcedTitle(strID, IMDBMovie.OriginalTitle)
+ Else
+ IMDBMovie.Title = IMDBMovie.OriginalTitle.Trim
+ End If
+ End If
+ If String.IsNullOrEmpty(oldOTitle) OrElse Not oldOTitle = IMDBMovie.OriginalTitle Then
+ IMDBMovie.SortTitle = String.Empty
+ End If
+ End If
+ End If
+
+ If bwIMDB.CancellationPending Then Return Nothing
+
+ If GetPoster Then
+ sPoster = Regex.Match(Regex.Match(HTML, "(?<=\b(name=""poster"")).*\b[]\b").ToString, "(?<=\b(src=)).*\b(?=[])").ToString.Replace("""", String.Empty).Replace("/>", String.Empty)
+ End If
+
+ If bwIMDB.CancellationPending Then Return Nothing
+
+ If Options.bYear Then IMDBMovie.Year = Regex.Match(OriginalTitle, "(?<=\()\d+(?=.*\))", RegexOptions.RightToLeft).ToString
+
+ Dim D, W, tempD As Integer
+
+ If Options.bMPAA AndAlso (String.IsNullOrEmpty(IMDBMovie.MPAA) OrElse Not Master.eSettings.LockMPAA) Then
+ tempD = If(HTML.IndexOf("") > 0, HTML.IndexOf(""), 0)
+
+ D = If(tempD > 0, HTML.IndexOf("", tempD), 0)
+
+ W = If(D > 0, HTML.IndexOf("
0 AndAlso W > 0, Web.HttpUtility.HtmlDecode(HTML.Substring(D, W - D).Remove(0, 26)).Trim(), String.Empty)
+ End If
+
+ If bwIMDB.CancellationPending Then Return Nothing
+
+ If Options.bCert AndAlso (String.IsNullOrEmpty(IMDBMovie.Certification) OrElse Not Master.eSettings.LockMPAA) Then
+ 'get certifications
+ D = HTML.IndexOf("Certification:
")
+
+ If D > 0 Then
+ W = HTML.IndexOf(" ", D)
+ Dim rCert As MatchCollection = Regex.Matches(HTML.Substring(D, W - D), HREF_PATTERN_3)
+
+ If rCert.Count > 0 Then
+ Dim Cert = From M In rCert Select N = String.Format("{0}:{1}", DirectCast(M, Match).Groups(1).ToString.Trim, DirectCast(M, Match).Groups(2).ToString.Trim) Order By N Descending Where N.Contains(Master.eSettings.CertificationLang)
+
+ If Not String.IsNullOrEmpty(Master.eSettings.CertificationLang) Then
+ If Cert.Count > 0 Then
+ IMDBMovie.Certification = Cert(0).ToString.Replace("West", String.Empty).Trim
+ If Options.bMPAA AndAlso Master.eSettings.UseCertForMPAA AndAlso (Not Master.eSettings.CertificationLang = "USA" OrElse (Master.eSettings.CertificationLang = "USA" AndAlso String.IsNullOrEmpty(IMDBMovie.MPAA))) Then
+ IMDBMovie.MPAA = If(Master.eSettings.CertificationLang = "USA", StringUtils.USACertToMPAA(IMDBMovie.Certification), If(Master.eSettings.OnlyValueForCert, IMDBMovie.Certification.Split(Convert.ToChar(":"))(1), IMDBMovie.Certification))
+ End If
+
+
+ Else
+ 'No FSK Rating was found -> Alternative: Set USA Rating instead as fallback, MPAA will be converted to FSK, Certification from USA will be used, so people can see that US info was used!
+ If Master.eSettings.UseMPAAForFSK Then
+ Try
+ If Master.eSettings.CertificationLang = "Germany" AndAlso (IMDBMovie.MPAA.ToLower.Contains("usa") Or IMDBMovie.MPAA.ToLower.Contains("rated")) Then
+ Dim LANGRATING As String = "USA"
+ Dim Cert2 = From M In rCert Select N = String.Format("{0}:{1}", DirectCast(M, Match).Groups(1).ToString.Trim, DirectCast(M, Match).Groups(2).ToString.Trim) Order By N Descending Where N.Contains(LANGRATING)
+ If Cert2.Count > 0 Then
+ IMDBMovie.Certification = Cert2(0).ToString.Replace("West", String.Empty).Trim
+ If Options.bMPAA AndAlso Master.eSettings.UseCertForMPAA Then
+ If IMDBMovie.MPAA.ToLower.Contains("usa:g") Or IMDBMovie.MPAA.ToLower.Contains("rated g") Then
+ IMDBMovie.Certification = IMDBMovie.MPAA
+ If Master.eSettings.OnlyValueForCert = False Then
+ IMDBMovie.MPAA = "Germany:0"
+ Else
+ IMDBMovie.MPAA = "0"
+ End If
+
+ ElseIf IMDBMovie.MPAA.ToLower.Contains("usa:pg-13") Or IMDBMovie.MPAA.ToLower.Contains("rated pg-13") Then
+ IMDBMovie.Certification = IMDBMovie.MPAA
+ If Master.eSettings.OnlyValueForCert = False Then
+ IMDBMovie.MPAA = "Germany:16"
+ Else
+ IMDBMovie.MPAA = "16"
+ End If
+
+ ElseIf IMDBMovie.MPAA.ToLower.Contains("usa:pg") Or IMDBMovie.MPAA.ToLower.Contains("rated pg") Then
+ IMDBMovie.Certification = IMDBMovie.MPAA
+ If Master.eSettings.OnlyValueForCert = False Then
+ IMDBMovie.MPAA = "Germany:12"
+ Else
+ IMDBMovie.MPAA = "12"
+ End If
+
+ ElseIf IMDBMovie.Certification.ToLower.Contains("usa:r") Or IMDBMovie.Certification.ToLower.Contains("rated r") Then
+ IMDBMovie.Certification = IMDBMovie.MPAA
+ If Master.eSettings.OnlyValueForCert = False Then
+ IMDBMovie.MPAA = "Germany:18"
+ Else
+ IMDBMovie.MPAA = "18"
+ End If
+
+ ElseIf IMDBMovie.Certification.ToLower.Contains("usa:nc-17") Or IMDBMovie.Certification.ToLower.Contains("rated nc") Then
+ IMDBMovie.Certification = IMDBMovie.MPAA
+ If Master.eSettings.OnlyValueForCert = False Then
+ IMDBMovie.MPAA = "Germany:18"
+ Else
+ IMDBMovie.MPAA = "18"
+ End If
+
+ End If
+ End If
+ End If
+ End If
+ Catch ex As Exception
+ Master.eLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error")
+ End Try
+
+ End If
+ End If
+
+
+ Else
+
+ IMDBMovie.Certification = Strings.Join(Cert.ToArray, " / ").Trim
+
+
+ End If
+ End If
+ End If
+
+ If String.IsNullOrEmpty(IMDBMovie.Certification) AndAlso Not String.IsNullOrEmpty(IMDBMovie.MPAA) Then
+ IMDBMovie.Certification = IMDBMovie.MPAA
+ End If
+
+ End If
+
+ If bwIMDB.CancellationPending Then Return Nothing
+
+ If Options.bRelease Then
+ Dim RelDate As Date
+ Dim sRelDate As String = Regex.Match(HTML, "\d+\s\w+\s\d\d\d\d\s").ToString.Trim
+ If Not sRelDate = String.Empty Then
+ If Date.TryParse(sRelDate, RelDate) Then
+ IMDBMovie.ReleaseDate = Strings.FormatDateTime(RelDate, DateFormat.ShortDate).ToString
+ End If
+ Else
+ IMDBMovie.ReleaseDate = Nothing
+ End If
+ End If
+
+ If bwIMDB.CancellationPending Then Return Nothing
+
+ If Options.bRating AndAlso (String.IsNullOrEmpty(IMDBMovie.Rating) OrElse Not Master.eSettings.LockRating) Then
+ Dim RegexRating As String = Regex.Match(HTML, "\b\d\W\d/\d\d").ToString
+ If String.IsNullOrEmpty(RegexRating) Then
+ IMDBMovie.Rating = String.Empty
+ Else
+ IMDBMovie.Rating = RegexRating.Split(Convert.ToChar("/")).First.Trim
+ End If
+ End If
+
+ If bwIMDB.CancellationPending Then Return Nothing
+
+ 'trailer
+ If Options.bTrailer AndAlso (String.IsNullOrEmpty(IMDBMovie.Trailer) OrElse Not Master.eSettings.LockTrailer) Then
+ 'Get first IMDB trailer if possible
+ Dim trailers As List(Of String) = GetTrailers(IMDBMovie.IMDBID)
+ 'Dim TMDB As New TMDB.Scraper
+ 'Dim YT As String = TMDB.GetTrailers(IMDBMovie.IMDBID)
+
+ 'Dim sTrailerUrl As String = Regex.Match(HTML, "href=""(.*?/video/imdb/vi.*?)""").Groups(1).Value.Trim
+ 'If Not sTrailerUrl = String.Empty Then
+ 'Dim sTrailerURL2 As String = String.Empty
+ 'sTrailerUrl = String.Concat("http://", IMDBURL, sTrailerUrl, "player")
+ 'Dim HTTPTrailer As New HTTP
+ 'Dim HtmlTrailer As String = HTTPTrailer.DownloadData(sTrailerUrl)
+ 'HTTPTrailer = Nothing
+
+ 'sTrailerUrl = Regex.Match(HtmlTrailer, "so.addVariable\(""id"", ""(.*?)""\);").Groups(1).Value.Trim
+ 'If sTrailerUrl = String.Empty Then
+ 'sTrailerURL2 = Regex.Match(HtmlTrailer, "so.addVariable\(""file"", ""(.*?)""\);").Groups(1).Value.Trim
+ 'Else
+ 'sTrailerURL2 = String.Concat(Regex.Match(HtmlTrailer, "so.addVariable\(""file"", ""(.*?)""\);").Groups(1).Value.Trim, sTrailerUrl)
+ 'End If
+ 'IMDBMovie.Trailer = Web.HttpUtility.UrlDecode(sTrailerURL2)
+ 'End If
+ IMDBMovie.Trailer = trailers.FirstOrDefault()
+ End If
+
+ If bwIMDB.CancellationPending Then Return Nothing
+
+ If Options.bVotes Then IMDBMovie.Votes = Regex.Match(HTML, "class=""tn15more"">([0-9,]+) votes