/// <exception cref="ArgumentNullException"> /// <paramref name="trainingProviderName"/> or /// <paramref name="mediaPath"/> or /// <paramref name="httpDownloadManager"/> or /// <paramref name="fileSystemProxy"/> /// is <see langword="null" />.</exception> internal TrainingCatalogMediaContentProcessor(int trainingProviderId, string trainingProviderName, IMediaPath mediaPath, IHttpDownloadManager httpDownloadManager, IFileSystemProxy fileSystemProxy) { if (trainingProviderName == null) { throw new ArgumentNullException("trainingProviderName"); } if (mediaPath == null) { throw new ArgumentNullException("mediaPath"); } if (mediaPath == null) { throw new ArgumentNullException("httpDownloadManager"); } if (mediaPath == null) { throw new ArgumentNullException("fileSystemProxy"); } _trainingProviderName = trainingProviderName; _trainingProviderId = trainingProviderId; _mediaPath = mediaPath; _httpDownloadManager = httpDownloadManager; _fileSystemProxy = fileSystemProxy; }
public PathValidation Validate(IMediaPath path) { if (path == null) throw new ArgumentNullException("path"); try { foreach (var invalidChar in Path.GetInvalidPathChars()) { if (path.AbsolutePath.Contains(invalidChar)) return new PathValidation(false, false); } } catch (Exception validationError) { return new PathValidation(false, false, validationError); } try { if (Directory.Exists(path.AbsolutePath)) return new PathValidation(true, true); else if (File.Exists(path.AbsolutePath)) return new PathValidation(true, true); else return new PathValidation(true, false); } catch (Exception existenceError) { return new PathValidation(true, false, existenceError); } }
public PathValidation Validate(IMediaPath path) { if (path == null) { throw new ArgumentNullException("path"); } Uri location; try { location = new Uri(path.AbsolutePath, UriKind.Absolute); } catch (Exception locationError) { return(new PathValidation(false, false, locationError)); } try { var request = HttpWebRequest.Create(location); var response = request.GetResponse(); return(new PathValidation(true, true)); } catch (Exception requestError) { return(new PathValidation(true, false, requestError)); } }
/// <exception cref="ArgumentNullException"> /// <paramref name="trainingProviderName"/> or /// <paramref name="host"/> or /// <paramref name="updatesUriOrPath"/> or /// <paramref name="mediaPath"/> is <see langword="null" />.</exception> /// <exception cref="TrainingCatalogInitializationException"></exception> /// <exception cref="DirectoryNotFoundException"><param name="archiveDirectory"></param> not found.</exception> public virtual void Initialize(string trainingProviderName, int trainingProviderId, string host, string updatesUriOrPath, LocationType catalogLocation, IMediaPath mediaPath, string archiveDirectory) { if (trainingProviderName == null) { throw new ArgumentNullException("trainingProviderName"); } if (host == null) { throw new ArgumentNullException("host"); } if (updatesUriOrPath == null) { throw new ArgumentNullException("updatesUriOrPath"); } if (mediaPath == null) { throw new ArgumentNullException("mediaPath"); } if (!FileSystemProxy.IsDirectoryExists(archiveDirectory)) { throw new DirectoryNotFoundException( string.Format(Resources.TrainingCatalogException_ArchiveDirectoryNotFound, archiveDirectory)); } TrainingProviderName = trainingProviderName; TrainingProviderId = trainingProviderId; Host = host; MediaPath = mediaPath; UpdateContentUriOrPath = updatesUriOrPath; UpdateContentLocation = catalogLocation; try { ArchiveFolderPath = Path.Combine(archiveDirectory, TrainingProviderName); var utcNow = DateTime.UtcNow; var currentSaveDirectory = Path.Combine(ArchiveFolderPath, utcNow.ToString("yyyy"), utcNow.ToString("yyyy.MM"), utcNow.ToString("yyyy.MM.dd")); ArchiveCurrentSaveDirectory = Path.Combine(ArchiveFolderPath, currentSaveDirectory); if (!FileSystemProxy.IsDirectoryExists(ArchiveCurrentSaveDirectory)) { FileSystemProxy.CreateDirectory(ArchiveCurrentSaveDirectory); } _mediaContentProcessor = new TrainingCatalogMediaContentProcessor(TrainingProviderId, TrainingProviderName, MediaPath, HttpDownloadManager, FileSystemProxy); IsInitialized = true; } catch (Exception ex) { throw new TrainingCatalogInitializationException(Resources.TrainingCatalogInitializationException_Message, ex); } }
public PathValidation Validate(IMediaPath path) { if (path == null) throw new ArgumentNullException("path"); Uri location; try { location = new Uri(path.AbsolutePath, UriKind.Absolute); } catch (Exception locationError) { return new PathValidation(false, false, locationError); } try { var request = HttpWebRequest.Create(location); var response = request.GetResponse(); return new PathValidation(true, true); } catch (Exception requestError) { return new PathValidation(true, false, requestError); } }
public PathValidation Validate(IMediaPath path) { if (path == null) throw new ArgumentNullException("path"); var validator = path.IsLocal ? new LocalPathValidator() as IPathValidator : new RemotePathValidator() as IPathValidator; return validator.Validate(path); }
public PathValidation Validate(IMediaPath path) { if (path == null) { throw new ArgumentNullException("path"); } var validator = path.IsLocal ? new LocalPathValidator() as IPathValidator : new RemotePathValidator() as IPathValidator; return(validator.Validate(path)); }
public PathValidation Validate(IMediaPath path) { if (path == null) { throw new ArgumentNullException("path"); } try { foreach (var invalidChar in Path.GetInvalidPathChars()) { if (path.AbsolutePath.Contains(invalidChar)) { return(new PathValidation(false, false)); } } } catch (Exception validationError) { return(new PathValidation(false, false, validationError)); } try { if (Directory.Exists(path.AbsolutePath)) { return(new PathValidation(true, true)); } else if (File.Exists(path.AbsolutePath)) { return(new PathValidation(true, true)); } else { return(new PathValidation(true, false)); } } catch (Exception existenceError) { return(new PathValidation(true, false, existenceError)); } }
/// <exception cref="ArgumentNullException"> /// <paramref name="trainingProviderName"/> or /// <paramref name="mediaPath"/> or /// <paramref name="httpDownloadManager"/> or /// <paramref name="fileSystemProxy"/> /// is <see langword="null" />.</exception> internal TrainingCatalogMediaContentProcessor(int trainingProviderId, string trainingProviderName, IMediaPath mediaPath, IHttpDownloadManager httpDownloadManager, IFileSystemProxy fileSystemProxy) { if (trainingProviderName == null) throw new ArgumentNullException("trainingProviderName"); if (mediaPath == null) throw new ArgumentNullException("mediaPath"); if (mediaPath == null) throw new ArgumentNullException("httpDownloadManager"); if (mediaPath == null) throw new ArgumentNullException("fileSystemProxy"); _trainingProviderName = trainingProviderName; _trainingProviderId = trainingProviderId; _mediaPath = mediaPath; _httpDownloadManager = httpDownloadManager; _fileSystemProxy = fileSystemProxy; }
/// <exception cref="ArgumentNullException"> /// <paramref name="trainingProviderName"/> or /// <paramref name="host"/> or /// <paramref name="updatesUriOrPath"/> or /// <paramref name="mediaPath"/> is <see langword="null" />.</exception> /// <exception cref="TrainingCatalogInitializationException"></exception> public override void Initialize(string trainingProviderName, int trainingProviderId, string host, string updatesUriOrPath, LocationType catalogLocation, IMediaPath mediaPath, string archiveDirectory) { base.Initialize(trainingProviderName, trainingProviderId, host, updatesUriOrPath, catalogLocation, mediaPath, archiveDirectory); if (_parser == null) { var nodeSelector = new PluralsightNodeSelector(); var nodeParser = new PluralsightNodeParser(Host, nodeSelector); _parser = new PluralsightCatalogParser(nodeSelector, nodeParser); } }
/// <exception cref="ArgumentNullException"> /// <paramref name="trainingProviderName"/> or /// <paramref name="mediaPath" /> or /// <paramref name="httpDownloadManager" /> /// is <see langword="null" />.</exception> public TrainingCatalogMediaContentProcessor(int trainingProviderId, string trainingProviderName, IMediaPath mediaPath, IHttpDownloadManager httpDownloadManager) : this(trainingProviderId, trainingProviderName, mediaPath, httpDownloadManager, FileSystemProxy.Instance) { }
private static PathValidation Validate(IMediaPath path) { var validator = new UniversalPathValidator(); return validator.Validate(path); }
private static PathValidation Validate(IMediaPath path) { var validator = new UniversalPathValidator(); return(validator.Validate(path)); }
/// <exception cref="ArgumentNullException"> /// <paramref name="trainingProviderName"/> or /// <paramref name="mediaPath" /> or /// <paramref name="httpDownloadManager" /> /// is <see langword="null" />.</exception> public TrainingCatalogMediaContentProcessor(int trainingProviderId,string trainingProviderName, IMediaPath mediaPath, IHttpDownloadManager httpDownloadManager) : this(trainingProviderId,trainingProviderName, mediaPath, httpDownloadManager, FileSystemProxy.Instance) { }