public Url(Uri u, int d, UrlStatus s) { uri = u; depth = d; status = s; link = uri.AbsoluteUri.ToLower(); }
public void Dictionary_Object_UrlStatus() { var urlStatus = new UrlStatus { Status = 301, Url = "http://www.ehow.com/how_5615409_create-pdfs-using-bean.html", }; var map = new Dictionary <string, object> { { "Status", "OK" }, { "Url", "http://www.ehow.com/m/how_5615409_create-pdfs-using-bean.html" }, { "Parent Url", "http://www.ehow.com/mobilearticle35.xml" }, { "Redirect Chai", urlStatus }, }; var json = JsonSerializer.SerializeToString(map); var fromJson = JsonSerializer.DeserializeFromString <Dictionary <string, object> >(json); Assert.That(fromJson["Status"], Is.EqualTo(map["Status"])); Assert.That(fromJson["Url"], Is.EqualTo(map["Url"])); Assert.That(fromJson["Parent Url"], Is.EqualTo(map["Parent Url"])); var actualStatus = (UrlStatus)fromJson["Redirect Chai"]; Assert.That(actualStatus.Status, Is.EqualTo(urlStatus.Status)); Assert.That(actualStatus.Url, Is.EqualTo(urlStatus.Url)); Console.WriteLine("JSON: " + json); }
public void Dictionary_Object_UrlStatus() { var urlStatus = new UrlStatus { Status = 301, Url = "http://www.ehow.com/how_5615409_create-pdfs-using-bean.html", }; var map = new Dictionary<string, object> { {"Status","OK"}, {"Url","http://www.ehow.com/m/how_5615409_create-pdfs-using-bean.html"}, {"Parent Url","http://www.ehow.com/mobilearticle35.xml"}, {"Redirect Chai", urlStatus}, }; var json = JsonSerializer.SerializeToString(map); var fromJson = JsonSerializer.DeserializeFromString<Dictionary<string, object>>(json); Assert.That(fromJson["Status"], Is.EqualTo(map["Status"])); Assert.That(fromJson["Url"], Is.EqualTo(map["Url"])); Assert.That(fromJson["Parent Url"], Is.EqualTo(map["Parent Url"])); var actualStatus = (UrlStatus)fromJson["Redirect Chai"]; Assert.That(actualStatus.Status, Is.EqualTo(urlStatus.Status)); Assert.That(actualStatus.Url, Is.EqualTo(urlStatus.Url)); Console.WriteLine("JSON: " + json); }
/// <summary> /// Updates the status of an Asset, moving it from one list to another. /// </summary> /// <param name="asset">Asset to be updated</param> /// <param name="new_status">New status to be assigned</param> /// <returns>False if the Asset already has the new status. True if new status assigned.</returns> public bool UpdateStatus(Asset asset, UrlStatus new_status) { Block(); StatusReport report; if (asset.final_url != null) { report = IntrCheckAsset(asset.final_url); if (report.url_status == UrlStatus.Free) { report = IntrCheckAsset(asset.org_url); } } else { report = IntrCheckAsset(asset.org_url); } if (report.url_status == new_status) { Release(); return(false); } switch (report.url_status) { case UrlStatus.Iprg: assets_iprg.RemoveAt(report.index); break; case UrlStatus.Saved: assets_saved.RemoveAt(report.index); break; case UrlStatus.Failed: assets_failed.RemoveAt(report.index); break; } switch (new_status) { case UrlStatus.Iprg: assets_iprg.Add(asset); break; case UrlStatus.Saved: assets_saved.Add(asset); break; case UrlStatus.Failed: assets_failed.Add(asset.org_url.str); break; } Release(); return(true); }
/// <summary> /// 改变状态 /// </summary> /// <param name="index">初始长度</param> /// <param name="length"></param> /// <param name="status"></param> private void _changedStatus(int index, int length, UrlStatus status) { lock (_object) { Application.Current.Dispatcher.Invoke(() => { for (var i = 0; i < length; i++) { UrlsList[index + i].Status = status; } }); } }
public UrlItem(string url, int depth, UrlStatus status) { Depth = depth; Url = url; _status = status; }
/// <summary> /// Updates the status of an Page, moving it from one list to another. /// </summary> /// <param name="page">Page to be updated</param> /// <param name="new_status">New status to be assigned</param> /// <returns>False if the Page already has the new status. True if new status assigned.</returns> public bool UpdateStatus(Page page, UrlStatus new_status) { StatusReport report; Block(); if (page.final_url != null) { report = IntrCheckLink(page.final_url); if (report.url_status == UrlStatus.Free) { report = IntrCheckLink(page.org_url); } } else { report = IntrCheckLink(page.org_url); } if (report.url_status == new_status) { Release(); return(false); } switch (report.url_status) { case UrlStatus.ToDo: links_todo.RemoveAt(report.index); break; case UrlStatus.Iprg: links_iprg.RemoveAt(report.index); break; case UrlStatus.Saved: links_saved.RemoveAt(report.index); break; case UrlStatus.Failed: links_failed.RemoveAt(report.index); break; } switch (new_status) { case UrlStatus.ToDo: links_todo.Add(page); NewWork.Invoke(page); break; case UrlStatus.Iprg: links_iprg.Add(page); break; case UrlStatus.Saved: links_saved.Add(page); break; case UrlStatus.Failed: links_failed.Add(page.org_url.str); break; } Release(); return(true); }