From ea551c2d041e7cb1756bfe441ad17a708e9b9af4 Mon Sep 17 00:00:00 2001 From: softworkz Date: Thu, 24 Nov 2016 02:53:41 +0100 Subject: [PATCH] Fixed MovieOrganizer --- MovieOrganizer/Html/StaticFileServer.cs | 69 +++++++++++++++++++ MovieOrganizer/Html/fileorganizer.js | 32 ++++----- .../Html/fileorganizer.template.html | 54 ++++++++------- MovieOrganizer/MovieOrganizer.csproj | 1 + MovieOrganizer/Plugin.cs | 8 ++- MovieOrganizer/Properties/AssemblyInfo.cs | 4 +- MovieOrganizer/ServerEntryPoint.cs | 51 +++----------- 7 files changed, 130 insertions(+), 89 deletions(-) create mode 100644 MovieOrganizer/Html/StaticFileServer.cs diff --git a/MovieOrganizer/Html/StaticFileServer.cs b/MovieOrganizer/Html/StaticFileServer.cs new file mode 100644 index 00000000..3916fc24 --- /dev/null +++ b/MovieOrganizer/Html/StaticFileServer.cs @@ -0,0 +1,69 @@ +using MediaBrowser.Controller.Net; +using MediaBrowser.Model.Logging; +using MediaBrowser.Model.Services; +using System.IO; +using System; +using System.Threading.Tasks; +using MediaBrowser.Model.Net; + +namespace MovieOrganizer.Html +{ + [Route("/web/components/fileorganizer/fileorganizer.js", "GET")] + [Route("/web/components/fileorganizer/fileorganizer.template.html", "GET")] + public class GetStaticResource + { + } + + public class StaticFileServer : IService, IRequiresRequest + { + private readonly ILogger _logger; + + /// + /// Gets or sets the HTTP result factory. + /// + /// The HTTP result factory. + private readonly IHttpResultFactory _resultFactory; + + /// + /// Gets or sets the request context. + /// + /// The request context. + public IRequest Request { get; set; } + + public StaticFileServer(ILogManager logManager, IHttpResultFactory resultFactory) + { + _logger = logManager.GetLogger(GetType().Name); + _resultFactory = resultFactory; + } + + /// + /// Gets the specified request. + /// + /// The request. + /// System.Object. + public async Task Get(GetStaticResource request) + { + var path = Request.PathInfo; + + var contentType = MimeTypes.GetMimeType(path); + + MemoryStream resultStream = null; + + if (path.Contains("/components/fileorganizer/fileorganizer.js")) + { + resultStream = HtmlHelper.OrganizerScript; + } + else if (path.Contains("/components/fileorganizer/fileorganizer.template.html")) + { + resultStream = HtmlHelper.OrganizerTemplate; + } + + if (resultStream != null) + { + resultStream = new MemoryStream(resultStream.GetBuffer()); + } + + return _resultFactory.GetResult(resultStream, contentType); + } + } +} \ No newline at end of file diff --git a/MovieOrganizer/Html/fileorganizer.js b/MovieOrganizer/Html/fileorganizer.js index 433d12b0..04d2886e 100644 --- a/MovieOrganizer/Html/fileorganizer.js +++ b/MovieOrganizer/Html/fileorganizer.js @@ -1,4 +1,4 @@ -define(['dialogHelper', 'require', 'emby-checkbox', 'emby-input', 'emby-button', 'emby-select', 'formDialogStyle'], function (dialogHelper, require) { +define(['dialogHelper', 'require', 'emby-checkbox', 'emby-input', 'emby-button', 'emby-select', 'paper-icon-button-light', 'formDialogStyle'], function (dialogHelper, require) { var extractedName; var extractedYear; @@ -137,10 +137,10 @@ var resultId = dlg.querySelector('#hfResultId').value; var seriesId = dlg.querySelector('#selectSeries').value; - var targetFolder; - var newProviderIds; - var newSeriesName; - var newSeriesYear; + var targetFolder = null; + var newProviderIds = null; + var newSeriesName = null; + var newSeriesYear = null; if (seriesId == "##NEW##" && currentNewItem != null) { seriesId = null; @@ -296,17 +296,15 @@ } } - function selectTab(dlg, tabIndex) { + function selectType(dlg) { - if (tabIndex == 0) { - dlg.querySelector('#episode').classList.add('ui-btn-active'); - dlg.querySelector('#movie').classList.remove('ui-btn-active'); + var type = dlg.querySelector('#selectContentType').value; + + if (type == 'episode') { dlg.querySelector('#organizeSeries').classList.remove('hide'); dlg.querySelector('#organizeMovies').classList.add('hide'); } else { - dlg.querySelector('#episode').classList.remove('ui-btn-active'); - dlg.querySelector('#movie').classList.add('ui-btn-active'); dlg.querySelector('#organizeSeries').classList.add('hide'); dlg.querySelector('#organizeMovies').classList.remove('hide'); } @@ -343,7 +341,6 @@ html += Globalize.translateDocument(template); dlg.innerHTML = html; - document.body.appendChild(dlg); dlg.querySelector('.formDialogHeaderTitle').innerHTML = Globalize.translate('FileOrganizeManually'); @@ -394,17 +391,12 @@ selectedSeriesChanged(dlg); }); - dlg.querySelector('#episode').addEventListener('click', function (e) { - - selectTab(dlg, 0); - }); - - dlg.querySelector('#movie').addEventListener('click', function (e) { + dlg.querySelector('#selectContentType').addEventListener('change', function (e) { - selectTab(dlg, 1); + selectType(dlg); }); - selectTab(dlg, 0); + dlg.querySelector('#selectContentType').value = 'episode'; initForms(dlg, item); }; diff --git a/MovieOrganizer/Html/fileorganizer.template.html b/MovieOrganizer/Html/fileorganizer.template.html index da6b1bab..851beaf4 100644 --- a/MovieOrganizer/Html/fileorganizer.template.html +++ b/MovieOrganizer/Html/fileorganizer.template.html @@ -1,30 +1,34 @@ 
- -
-
+ +

-
-
-
- +
+
+
+

+ +

-

Filename:

-

Extracted Series Name:

-

Extracted Year::

+

Filename:

+

Extracted Series Name:

+

Extracted Year:

-
+
- +
- +
@@ -52,19 +56,23 @@ ${OptionRememberOrganizeCorrection}
+
- + +
+ +
+
-

Filename:

-

Extracted Name:

-

Extracted Year::

+

Filename:

+

Extracted Series Name:

+

Extracted Year: