public override string DownloadNzb(RemoteEpisode remoteEpisode) { var url = remoteEpisode.Release.DownloadUrl; var title = remoteEpisode.Release.Title; if (remoteEpisode.ParsedEpisodeInfo.FullSeason) { throw new NotImplementedException("Full season releases are not supported with Pneumatic."); } title = FileNameBuilder.CleanFilename(title); //Save to the Pneumatic directory (The user will need to ensure its accessible by XBMC) var filename = Path.Combine(Settings.Folder, title + ".nzb"); logger.Debug("Downloading NZB from: {0} to: {1}", url, filename); _httpProvider.DownloadFile(url, filename); logger.Debug("NZB Download succeeded, saved to: {0}", filename); var contents = String.Format("plugin://plugin.program.pneumatic/?mode=strm&type=add_file&nzb={0}&nzbname={1}", filename, title); _diskProvider.WriteAllText(Path.Combine(_configService.DownloadedEpisodesFolder, title + ".strm"), contents); return(null); }
public void DownloadNzb(RemoteEpisode remoteEpisode) { var url = remoteEpisode.Release.DownloadUrl; var title = remoteEpisode.Release.Title; title = FileNameBuilder.CleanFilename(title); var filename = Path.Combine(_configService.BlackholeFolder, title + ".nzb"); _logger.Trace("Downloading NZB from: {0} to: {1}", url, filename); _httpProvider.DownloadFile(url, filename); _logger.Trace("NZB Download succeeded, saved to: {0}", filename); }
public override string DownloadNzb(RemoteEpisode remoteEpisode) { var url = remoteEpisode.Release.DownloadUrl; var title = remoteEpisode.Release.Title; title = FileNameBuilder.CleanFilename(title); var filename = Path.Combine(Settings.Folder, title + ".nzb"); _logger.Debug("Downloading NZB from: {0} to: {1}", url, filename); _httpProvider.DownloadFile(url, filename); _logger.Debug("NZB Download succeeded, saved to: {0}", filename); return(null); }
public Series AddSeries(Series newSeries) { Ensure.That(() => newSeries).IsNotNull(); if (String.IsNullOrWhiteSpace(newSeries.Path)) { var folderName = FileNameBuilder.CleanFilename(newSeries.Title); newSeries.Path = Path.Combine(newSeries.RootFolderPath, folderName); } _logger.Info("Adding Series {0} Path: [{1}]", newSeries, newSeries.Path); newSeries.Monitored = true; newSeries.CleanTitle = Parser.Parser.CleanSeriesTitle(newSeries.Title); newSeries.SeasonFolder = _configService.UseSeasonFolder; _seriesRepository.Insert(newSeries); _eventAggregator.PublishEvent(new SeriesAddedEvent(newSeries)); return(newSeries); }
public void CleanFileName(string name, string expectedName) { FileNameBuilder.CleanFilename(name).Should().Be(expectedName); }