diff --git a/.gitignore b/.gitignore index 6e272c56c..48583b0bc 100644 --- a/.gitignore +++ b/.gitignore @@ -130,6 +130,7 @@ output/* #Packages Radarr_*/ Radarr_*.zip +Radarr_*.gz #OS X metadata files ._* diff --git a/7za.dll b/7za.dll new file mode 100644 index 000000000..f2657b610 Binary files /dev/null and b/7za.dll differ diff --git a/7za.exe b/7za.exe new file mode 100644 index 000000000..dd6cc759b Binary files /dev/null and b/7za.exe differ diff --git a/7zxa.dll b/7zxa.dll new file mode 100644 index 000000000..21ec79dc2 Binary files /dev/null and b/7zxa.dll differ diff --git a/Logo/Thumbs.db b/Logo/Thumbs.db new file mode 100644 index 000000000..f01582531 Binary files /dev/null and b/Logo/Thumbs.db differ diff --git a/package.sh b/package.sh index b754a796d..679786658 100644 --- a/package.sh +++ b/package.sh @@ -4,6 +4,18 @@ if [ $# -eq 0 ]; then fi fi +# Use mono or .net depending on OS +case "$(uname -s)" in + CYGWIN*|MINGW32*|MINGW64*|MSYS*) + # on windows, use dotnet + runtime="dotnet" + ;; + *) + # otherwise use mono + runtime="mono" + ;; +esac + if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then VERSION="`date +%H:%M:%S`" YEAR="`date +%Y`" @@ -26,10 +38,16 @@ cp -r $outputFolder/ Radarr_Windows_$VERSION cp -r $outputFolderMono/ Radarr_Mono_$VERSION cp -r $outputFolderOsxApp/ Radarr_OSX_$VERSION -zip -r Radarr_Windows_$VERSION.zip Radarr_Windows_$VERSION >& /dev/null -zip -r Radarr_Mono_$VERSION.zip Radarr_Mono_$VERSION >& /dev/null -zip -r Radarr_OSX_$VERSION.zip Radarr_OSX_$VERSION >& /dev/null - +if [ $runtime = "dotnet" ] ; then + ./7za.exe a Radarr_Windows_$VERSION.zip ./Radarr_Windows_$VERSION/* + ./7za.exe a -ttar -so Radarr_Mono_$VERSION.tar ./Radarr_Mono_$VERSION/* | ./7za.exe a -si Radarr_Mono_$VERSION.tar.gz + ./7za.exe a -ttar -so Radarr_OSX_$VERSION.tar ./_output_osx/* | ./7za.exe a -si Radarr_OSX_$VERSION.tar.gz + ./7za.exe a -ttar -so Radarr_OSX_App_$VERSION.tar ./_output_osx_app/* | ./7za.exe a -si Radarr_OSX_App_$VERSION.tar.gz +else +zip -r Radarr_Windows_$VERSION.zip Radarr_Windows_$VERSION/* >& /dev/null +zip -r Radarr_Mono_$VERSION.zip Radarr_Mono_$VERSION/* >& /dev/null #TODO update for tar.gz +zip -r Radarr_OSX_$VERSION_App.zip Radarr_OSX_$VERSION/* >& /dev/null +fi ftp -n ftp.leonardogalli.ch << END_SCRIPT passive quote USER $FTP_USER diff --git a/src/NzbDrone.Api.Test/Properties/AssemblyInfo.cs b/src/NzbDrone.Api.Test/Properties/AssemblyInfo.cs index c40806a4c..b45cbd098 100644 --- a/src/NzbDrone.Api.Test/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.Api.Test/Properties/AssemblyInfo.cs @@ -21,4 +21,3 @@ using System.Runtime.InteropServices; // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("260b2ff9-d3b7-4d8a-b720-a12c93d045e5")] -[assembly: AssemblyVersion("0.1.0.*")] diff --git a/src/NzbDrone.Api/Properties/AssemblyInfo.cs b/src/NzbDrone.Api/Properties/AssemblyInfo.cs index ea5188e36..300ee6fc1 100644 --- a/src/NzbDrone.Api/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.Api/Properties/AssemblyInfo.cs @@ -6,6 +6,5 @@ using System.Runtime.InteropServices; [assembly: Guid("4c0922d7-979e-4ff7-b44b-b8ac2100eeb5")] -[assembly: AssemblyVersion("0.1.0.*")] [assembly: InternalsVisibleTo("NzbDrone.Core")] diff --git a/src/NzbDrone.App.Test/Properties/AssemblyInfo.cs b/src/NzbDrone.App.Test/Properties/AssemblyInfo.cs index 1ff06bc9b..0d82bf1bf 100644 --- a/src/NzbDrone.App.Test/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.App.Test/Properties/AssemblyInfo.cs @@ -21,4 +21,3 @@ using System.Runtime.InteropServices; // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("b47d34ef-05e8-4826-8a57-9dd05106c964")] -[assembly: AssemblyVersion("0.1.0.*")] diff --git a/src/NzbDrone.Automation.Test/Properties/AssemblyInfo.cs b/src/NzbDrone.Automation.Test/Properties/AssemblyInfo.cs index 74a352b32..8cba7bd2e 100644 --- a/src/NzbDrone.Automation.Test/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.Automation.Test/Properties/AssemblyInfo.cs @@ -20,5 +20,3 @@ using System.Runtime.InteropServices; // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("6b8945f5-f5b5-4729-865d-f958fbd673d9")] - -[assembly: AssemblyVersion("0.1.0.*")] diff --git a/src/NzbDrone.Common/Extensions/PathExtensions.cs b/src/NzbDrone.Common/Extensions/PathExtensions.cs index 893706f3d..9358c72dd 100644 --- a/src/NzbDrone.Common/Extensions/PathExtensions.cs +++ b/src/NzbDrone.Common/Extensions/PathExtensions.cs @@ -17,7 +17,7 @@ namespace NzbDrone.Common.Extensions private const string BACKUP_FOLDER = "Backups"; private static readonly string UPDATE_SANDBOX_FOLDER_NAME = "nzbdrone_update" + Path.DirectorySeparatorChar; - private static readonly string UPDATE_PACKAGE_FOLDER_NAME = "NzbDrone" + Path.DirectorySeparatorChar; + private static readonly string UPDATE_PACKAGE_FOLDER_NAME = ""; private static readonly string UPDATE_BACKUP_FOLDER_NAME = "nzbdrone_backup" + Path.DirectorySeparatorChar; private static readonly string UPDATE_BACKUP_APPDATA_FOLDER_NAME = "nzbdrone_appdata_backup" + Path.DirectorySeparatorChar; private static readonly string UPDATE_CLIENT_FOLDER_NAME = "NzbDrone.Update" + Path.DirectorySeparatorChar; diff --git a/src/NzbDrone.Common/Properties/AssemblyInfo.cs b/src/NzbDrone.Common/Properties/AssemblyInfo.cs index 89cc0d8c9..7ab20e84b 100644 --- a/src/NzbDrone.Common/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.Common/Properties/AssemblyInfo.cs @@ -9,4 +9,3 @@ using System.Runtime.InteropServices; // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("b6eaa144-e13b-42e5-a738-c60d89c0f728")] -[assembly: AssemblyVersion("0.1.0.*")] diff --git a/src/NzbDrone.Common/Properties/SharedAssemblyInfo.cs b/src/NzbDrone.Common/Properties/SharedAssemblyInfo.cs index 9c8e66406..09379201a 100644 --- a/src/NzbDrone.Common/Properties/SharedAssemblyInfo.cs +++ b/src/NzbDrone.Common/Properties/SharedAssemblyInfo.cs @@ -2,8 +2,9 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("sonarr.tv")] +[assembly: AssemblyCompany("radarr.tv")] [assembly: AssemblyProduct("NzbDrone")] +[assembly: AssemblyVersion("0.1.0.*")] [assembly: AssemblyCopyright("GNU General Public v3")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/src/NzbDrone.Console/Properties/AssemblyInfo.cs b/src/NzbDrone.Console/Properties/AssemblyInfo.cs index 358a6bcb4..172df372a 100644 --- a/src/NzbDrone.Console/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.Console/Properties/AssemblyInfo.cs @@ -7,5 +7,3 @@ using System.Runtime.InteropServices; [assembly: AssemblyTitle("NzbDrone.Host")] [assembly: Guid("67AADCD9-89AA-4D95-8281-3193740E70E5")] - -[assembly: AssemblyVersion("0.1.0.*")] \ No newline at end of file diff --git a/src/NzbDrone.Core.Test/Properties/AssemblyInfo.cs b/src/NzbDrone.Core.Test/Properties/AssemblyInfo.cs index e2fe85370..867cfc620 100644 --- a/src/NzbDrone.Core.Test/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.Core.Test/Properties/AssemblyInfo.cs @@ -25,6 +25,4 @@ using System.Runtime.InteropServices; [assembly: Guid("699aed1b-015e-4f0d-9c81-d5557b05d260")] -[assembly: AssemblyVersion("0.1.0.*")] - [assembly: InternalsVisibleTo("NzbDrone.Core")] \ No newline at end of file diff --git a/src/NzbDrone.Core/Download/Clients/rTorrent/RTorrent.cs b/src/NzbDrone.Core/Download/Clients/rTorrent/RTorrent.cs index 041708a93..b456f828c 100644 --- a/src/NzbDrone.Core/Download/Clients/rTorrent/RTorrent.cs +++ b/src/NzbDrone.Core/Download/Clients/rTorrent/RTorrent.cs @@ -37,6 +37,37 @@ namespace NzbDrone.Core.Download.Clients.RTorrent _rTorrentDirectoryValidator = rTorrentDirectoryValidator; } + protected override string AddFromMagnetLink(RemoteMovie remoteMovie, string hash, string magnetLink) + { + _proxy.AddTorrentFromUrl(magnetLink, Settings); + + // Download the magnet to the appropriate directory. + _proxy.SetTorrentLabel(hash, Settings.TvCategory, Settings); + //SetPriority(remoteEpisode, hash); + SetDownloadDirectory(hash); + + // Once the magnet meta download finishes, rTorrent replaces it with the actual torrent download with default settings. + // Schedule an event to apply the appropriate settings when that happens. + // var priority = (RTorrentPriority)(remoteEpisode.IsRecentEpisode() ? Settings.RecentTvPriority : Settings.OlderTvPriority); + //_proxy.SetDeferredMagnetProperties(hash, Settings.TvCategory, Settings.TvDirectory, priority, Settings); + + _proxy.StartTorrent(hash, Settings); + + // Wait for the magnet to be resolved. + var tries = 10; + var retryDelay = 500; + if (WaitForTorrent(hash, tries, retryDelay)) + { + return hash; + } + else + { + _logger.Warn("rTorrent could not resolve magnet within {0} seconds, download may remain stuck: {1}.", tries * retryDelay / 1000, magnetLink); + + return hash; + } + } + protected override string AddFromMagnetLink(RemoteEpisode remoteEpisode, string hash, string magnetLink) { _proxy.AddTorrentFromUrl(magnetLink, Settings); @@ -68,6 +99,32 @@ namespace NzbDrone.Core.Download.Clients.RTorrent } } + protected override string AddFromTorrentFile(RemoteMovie remoteMovie, string hash, string filename, byte[] fileContent) + { + _proxy.AddTorrentFromFile(filename, fileContent, Settings); + + var tries = 2; + var retryDelay = 100; + if (WaitForTorrent(hash, tries, retryDelay)) + { + _proxy.SetTorrentLabel(hash, Settings.TvCategory, Settings); + + //SetPriority(remoteEpisode, hash); + SetDownloadDirectory(hash); + + _proxy.StartTorrent(hash, Settings); + + return hash; + } + else + { + _logger.Debug("rTorrent could not add file"); + + RemoveItem(hash, true); + throw new ReleaseDownloadException(remoteMovie.Release, "Downloading torrent failed"); + } + } + protected override string AddFromTorrentFile(RemoteEpisode remoteEpisode, string hash, string filename, byte[] fileContent) { _proxy.AddTorrentFromFile(filename, fileContent, Settings); @@ -96,7 +153,7 @@ namespace NzbDrone.Core.Download.Clients.RTorrent public override string Name => "rTorrent"; - public override ProviderMessage Message => new ProviderMessage("Sonarr is unable to remove torrents that have finished seeding when using rTorrent", ProviderMessageType.Warning); + public override ProviderMessage Message => new ProviderMessage("Radarr is unable to remove torrents that have finished seeding when using rTorrent", ProviderMessageType.Warning); public override IEnumerable GetItems() { diff --git a/src/NzbDrone.Core/Download/Clients/rTorrent/RTorrentSettings.cs b/src/NzbDrone.Core/Download/Clients/rTorrent/RTorrentSettings.cs index 81715246c..570392395 100644 --- a/src/NzbDrone.Core/Download/Clients/rTorrent/RTorrentSettings.cs +++ b/src/NzbDrone.Core/Download/Clients/rTorrent/RTorrentSettings.cs @@ -26,7 +26,7 @@ namespace NzbDrone.Core.Download.Clients.RTorrent Host = "localhost"; Port = 8080; UrlBase = "RPC2"; - TvCategory = "tv-sonarr"; + TvCategory = "movies-radarr"; OlderTvPriority = (int)RTorrentPriority.Normal; RecentTvPriority = (int)RTorrentPriority.Normal; } diff --git a/src/NzbDrone.Core/Properties/AssemblyInfo.cs b/src/NzbDrone.Core/Properties/AssemblyInfo.cs index 4290120a6..7ddb4d5ec 100644 --- a/src/NzbDrone.Core/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.Core/Properties/AssemblyInfo.cs @@ -11,6 +11,4 @@ using System.Runtime.InteropServices; // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("3C29FEF7-4B07-49ED-822E-1C29DC49BFAB")] -[assembly: AssemblyVersion("0.1.0.*")] - [assembly: InternalsVisibleTo("NzbDrone.Core.Test")] diff --git a/src/NzbDrone.Host/Properties/AssemblyInfo.cs b/src/NzbDrone.Host/Properties/AssemblyInfo.cs index 3291487d0..88458fff9 100644 --- a/src/NzbDrone.Host/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.Host/Properties/AssemblyInfo.cs @@ -8,4 +8,3 @@ using System.Runtime.InteropServices; [assembly: AssemblyTitle("Radarr.exe")] [assembly: Guid("C2172AF4-F9A6-4D91-BAEE-C2E4EE680613")] -[assembly: AssemblyVersion("0.1.0.*")] diff --git a/src/NzbDrone.Integration.Test/Properties/AssemblyInfo.cs b/src/NzbDrone.Integration.Test/Properties/AssemblyInfo.cs index 1e9f85860..fd12f9363 100644 --- a/src/NzbDrone.Integration.Test/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.Integration.Test/Properties/AssemblyInfo.cs @@ -20,5 +20,3 @@ using System.Runtime.InteropServices; // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("8a49cb1d-87ac-42f9-a582-607365a6bd79")] - -[assembly: AssemblyVersion("0.1.0.*")] diff --git a/src/NzbDrone.Libraries.Test/Properties/AssemblyInfo.cs b/src/NzbDrone.Libraries.Test/Properties/AssemblyInfo.cs index 3e164730a..883df114e 100644 --- a/src/NzbDrone.Libraries.Test/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.Libraries.Test/Properties/AssemblyInfo.cs @@ -21,4 +21,3 @@ using System.Runtime.InteropServices; // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("32ec29e2-40ba-4050-917d-e295d85d4969")] -[assembly: AssemblyVersion("0.1.0.*")] diff --git a/src/NzbDrone.Mono/Properties/AssemblyInfo.cs b/src/NzbDrone.Mono/Properties/AssemblyInfo.cs index dfcf8198e..e211b8ca2 100644 --- a/src/NzbDrone.Mono/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.Mono/Properties/AssemblyInfo.cs @@ -20,5 +20,3 @@ using System.Runtime.InteropServices; // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("01493ea5-494f-43bf-be18-8ae4d0708fc6")] - -[assembly: AssemblyVersion("0.1.0.*")] diff --git a/src/NzbDrone.SignalR/Properties/AssemblyInfo.cs b/src/NzbDrone.SignalR/Properties/AssemblyInfo.cs index b62df24ed..1f4a44bd9 100644 --- a/src/NzbDrone.SignalR/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.SignalR/Properties/AssemblyInfo.cs @@ -6,5 +6,3 @@ using System.Runtime.InteropServices; // associated with an assembly. [assembly: AssemblyTitle("NzbDrone.SignalR")] [assembly: Guid("98bd985a-4f23-4201-8ed3-f6f3d7f2a5fe")] - -[assembly: AssemblyVersion("0.1.0.*")] diff --git a/src/NzbDrone.Test.Common/Properties/AssemblyInfo.cs b/src/NzbDrone.Test.Common/Properties/AssemblyInfo.cs index 756e6ff8c..b1487e507 100644 --- a/src/NzbDrone.Test.Common/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.Test.Common/Properties/AssemblyInfo.cs @@ -21,4 +21,3 @@ using System.Runtime.InteropServices; // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("f3e91f6e-d01d-4f20-8255-147cc10f04e3")] -[assembly: AssemblyVersion("0.1.0.*")] diff --git a/src/NzbDrone.Test.Dummy/Properties/AssemblyInfo.cs b/src/NzbDrone.Test.Dummy/Properties/AssemblyInfo.cs index c5823c85b..a0ce8907e 100644 --- a/src/NzbDrone.Test.Dummy/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.Test.Dummy/Properties/AssemblyInfo.cs @@ -20,5 +20,3 @@ using System.Runtime.InteropServices; // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("7b773a86-574d-48c3-9e89-6f2e0dff714b")] - -[assembly: AssemblyVersion("0.1.0.*")] diff --git a/src/NzbDrone.Update.Test/Properties/AssemblyInfo.cs b/src/NzbDrone.Update.Test/Properties/AssemblyInfo.cs index d3ec2dcd8..a3c1d1ca6 100644 --- a/src/NzbDrone.Update.Test/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.Update.Test/Properties/AssemblyInfo.cs @@ -20,5 +20,3 @@ using System.Runtime.InteropServices; // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("b323e212-2d04-4c7f-9097-c356749ace4d")] - -[assembly: AssemblyVersion("0.1.0.*")] diff --git a/src/NzbDrone.Update/Properties/AssemblyInfo.cs b/src/NzbDrone.Update/Properties/AssemblyInfo.cs index 84f9d2957..b337f0025 100644 --- a/src/NzbDrone.Update/Properties/AssemblyInfo.cs +++ b/src/NzbDrone.Update/Properties/AssemblyInfo.cs @@ -8,5 +8,3 @@ using System.Runtime.InteropServices; // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("e4560a3d-8053-4d57-a260-bfe52f4cc357")] - -[assembly: AssemblyVersion("0.1.0.*")] diff --git a/src/NzbDrone/NzbDrone.csproj b/src/NzbDrone/NzbDrone.csproj index 0ae327fd2..3425b3049 100644 --- a/src/NzbDrone/NzbDrone.csproj +++ b/src/NzbDrone/NzbDrone.csproj @@ -54,7 +54,7 @@ 4 - Radarr.ico + Resources\Radarr.ico NzbDrone.WindowsApp @@ -158,6 +158,7 @@ + diff --git a/src/NzbDrone/Properties/AssemblyInfo.cs b/src/NzbDrone/Properties/AssemblyInfo.cs index 08e0a3d5c..1f92e8654 100644 --- a/src/NzbDrone/Properties/AssemblyInfo.cs +++ b/src/NzbDrone/Properties/AssemblyInfo.cs @@ -8,4 +8,3 @@ using System.Runtime.InteropServices; [assembly: AssemblyTitle("Radarr.exe")] [assembly: Guid("67AADCD9-89AA-4D95-8281-3193740E70E5")] -[assembly: AssemblyVersion("0.1.0.*")] diff --git a/src/NzbDrone/Properties/Resources.resx b/src/NzbDrone/Properties/Resources.resx index ca21e650d..5d89d1917 100644 --- a/src/NzbDrone/Properties/Resources.resx +++ b/src/NzbDrone/Properties/Resources.resx @@ -119,6 +119,6 @@ - ..\Radarr.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\Radarr.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/src/NzbDrone/Resources/Radarr.ico b/src/NzbDrone/Resources/Radarr.ico new file mode 100644 index 000000000..4903af4b1 Binary files /dev/null and b/src/NzbDrone/Resources/Radarr.ico differ diff --git a/src/NzbDrone/Resources/Thumbs.db b/src/NzbDrone/Resources/Thumbs.db new file mode 100644 index 000000000..32f10f9f8 Binary files /dev/null and b/src/NzbDrone/Resources/Thumbs.db differ diff --git a/src/Radarr.ico b/src/Radarr.ico index 6f0a8b50e..4903af4b1 100644 Binary files a/src/Radarr.ico and b/src/Radarr.ico differ diff --git a/src/ServiceHelpers/ServiceInstall/Properties/AssemblyInfo.cs b/src/ServiceHelpers/ServiceInstall/Properties/AssemblyInfo.cs index 43733ae42..cf198ba29 100644 --- a/src/ServiceHelpers/ServiceInstall/Properties/AssemblyInfo.cs +++ b/src/ServiceHelpers/ServiceInstall/Properties/AssemblyInfo.cs @@ -5,6 +5,4 @@ using System.Runtime.InteropServices; // The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("13976baa-e5ba-42b2-8ad7-8d568b68a53b")] - -[assembly: AssemblyVersion("0.1.0.*")] +[assembly: Guid("13976baa-e5ba-42b2-8ad7-8d568b68a53b")] \ No newline at end of file diff --git a/src/ServiceHelpers/ServiceUninstall/Properties/AssemblyInfo.cs b/src/ServiceHelpers/ServiceUninstall/Properties/AssemblyInfo.cs index 76b8d29ce..c4ed0f142 100644 --- a/src/ServiceHelpers/ServiceUninstall/Properties/AssemblyInfo.cs +++ b/src/ServiceHelpers/ServiceUninstall/Properties/AssemblyInfo.cs @@ -3,5 +3,3 @@ using System.Runtime.InteropServices; [assembly: AssemblyTitle("UninstallService")] [assembly: Guid("0a964b21-9de9-40b3-9378-0474fd5f21a8")] - -[assembly: AssemblyVersion("0.1.0.*")] diff --git a/src/Thumbs.db b/src/Thumbs.db new file mode 100644 index 000000000..f63c67336 Binary files /dev/null and b/src/Thumbs.db differ