public async Task <AbstractDownloadState?> GetDownloaderState(dynamic archiveINI, bool quickMode) { var directURL = (Uri)DownloaderUtils.GetDirectURL(archiveINI); var state = UriToState(directURL) as State; if (state == null) { return(state); } var idx = 0; while (true) { var section = archiveINI[$"track/{idx}"]; if (section.name == null) { break; } var track = new State.Track(); track.Name = section.name; track.Start = TimeSpan.Parse(section.start); track.End = TimeSpan.Parse(section.end); track.Format = Enum.Parse <State.Track.FormatEnum>(section.format); state.Tracks.Add(track); idx += 1; } return(state); }
public async Task <AbstractDownloadState> GetDownloaderState(dynamic archiveINI) { Uri url = DownloaderUtils.GetDirectURL(archiveINI); var absolute = true; if (url == null || url.Host != SiteURL.Host) { return(null); } if (!url.PathAndQuery.StartsWith("/files/file/")) { if (string.IsNullOrWhiteSpace(url.Query)) { return(null); } if (!url.Query.Substring(1).StartsWith("/files/file/")) { return(null); } absolute = false; } var id = HttpUtility.ParseQueryString(url.Query)["r"]; var file = absolute ? url.AbsolutePath.Split('/').Last(s => s != "") : url.Query.Substring(1).Split('/').Last(s => s != ""); return(new TState { FileID = id, FileName = file }); }
public async Task <AbstractDownloadState?> GetDownloaderState(dynamic archiveINI, bool quickMode) { Uri url = DownloaderUtils.GetDirectURL(archiveINI); var absolute = true; if (url == null || url.Host != SiteURL.Host) { return(null); } if (url.PathAndQuery.StartsWith("/applications/core/interface/file/attachment")) { return(new TState { IsAttachment = true, FullURL = url.ToString() }); } if (url.PathAndQuery.StartsWith("/index.php?")) { var id2 = HttpUtility.ParseQueryString(url.Query)["r"]; var parsed = HttpUtility.ParseQueryString(url.Query); var name = parsed[null].Split("/", StringSplitOptions.RemoveEmptyEntries).Last(); return(new TState { FullURL = url.AbsolutePath, FileID = id2, FileName = name }); } if (!url.PathAndQuery.StartsWith("/files/file/")) { if (string.IsNullOrWhiteSpace(url.Query)) { return(null); } if (!url.Query.Substring(1).StartsWith("/files/file/")) { return(null); } absolute = false; } var id = HttpUtility.ParseQueryString(url.Query)["r"]; var file = absolute ? url.AbsolutePath.Split('/').Last(s => s != "") : url.Query.Substring(1).Split('/').Last(s => s != ""); return(new TState { FullURL = url.AbsolutePath, FileID = id, FileName = file }); }
public async Task <AbstractDownloadState?> GetDownloaderState(dynamic archiveINI, bool quickMode = false) { var uri = (Uri?)DownloaderUtils.GetDirectURL(archiveINI); if (uri == null) { return(null); } return(uri.Host == "yadi.sk" ? new State(uri) : null); }
public async Task <AbstractDownloadState?> GetDownloaderState(dynamic archiveINI, bool quickMode) { Uri url = DownloaderUtils.GetDirectURL(archiveINI); if (url == null || url.Host != "www.mediafire.com") { return(null); } return(new State(url.ToString())); }
public AbstractDownloadState GetDownloaderState(dynamic archive_ini) { Uri url = DownloaderUtils.GetDirectURL(archive_ini); if (url == null || url.Host != "www.mediafire.com") { return(null); } return(new State { Url = url.ToString() }); }
public async Task <AbstractDownloadState> GetDownloaderState(dynamic archive_ini) { Uri url = DownloaderUtils.GetDirectURL(archive_ini); if (url == null || url.Host != "www.loverslab.com" || !url.AbsolutePath.StartsWith("/files/file/")) { return(null); } var id = HttpUtility.ParseQueryString(url.Query)["r"]; var file = url.AbsolutePath.Split('/').Last(s => s != ""); return(new State { FileID = id, FileName = file }); }
public async Task <AbstractDownloadState?> GetDownloaderState(dynamic archiveINI, bool quickMode = false) { var url = (Uri)DownloaderUtils.GetDirectURL(archiveINI); return(url == null ? null : StateFromUrl(url)); }
public async Task <AbstractDownloadState?> GetDownloaderState(dynamic archiveINI, bool quickMode) { Uri url = DownloaderUtils.GetDirectURL(archiveINI); return(await GetDownloaderStateFromUrl(url, quickMode)); }
public async Task <AbstractDownloadState> GetDownloaderState(dynamic archiveINI) { var url = (Uri)DownloaderUtils.GetDirectURL(archiveINI); return(StateFromUrl(url)); }