2012-01-26 08:56:05 +01:00
|
|
|
|
using System;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Linq;
|
2011-10-21 07:04:26 +02:00
|
|
|
|
using Ionic.Zip;
|
|
|
|
|
using NLog;
|
2012-01-26 08:56:05 +01:00
|
|
|
|
using Ninject;
|
|
|
|
|
using NzbDrone.Common;
|
2010-09-23 05:19:47 +02:00
|
|
|
|
|
2011-04-04 05:50:12 +02:00
|
|
|
|
namespace NzbDrone.Core.Providers.Core
|
2010-09-23 05:19:47 +02:00
|
|
|
|
{
|
2011-11-13 05:07:06 +01:00
|
|
|
|
public class ArchiveProvider
|
2010-09-23 05:19:47 +02:00
|
|
|
|
{
|
2011-11-13 05:07:06 +01:00
|
|
|
|
private static readonly Logger logger = LogManager.GetCurrentClassLogger();
|
2011-10-11 06:00:31 +02:00
|
|
|
|
|
2011-10-21 07:04:26 +02:00
|
|
|
|
public virtual void ExtractArchive(string compressedFile, string destination)
|
|
|
|
|
{
|
2011-11-13 05:07:06 +01:00
|
|
|
|
logger.Trace("Extracting archive [{0}] to [{1}]", compressedFile, destination);
|
2011-10-21 07:04:26 +02:00
|
|
|
|
|
|
|
|
|
using (ZipFile zipFile = ZipFile.Read(compressedFile))
|
|
|
|
|
{
|
|
|
|
|
zipFile.ExtractAll(destination);
|
|
|
|
|
}
|
|
|
|
|
|
2011-11-13 05:07:06 +01:00
|
|
|
|
logger.Trace("Extraction complete.");
|
2011-10-21 07:04:26 +02:00
|
|
|
|
}
|
2010-09-23 05:19:47 +02:00
|
|
|
|
}
|
|
|
|
|
}
|