public Page Download(Request request, ITask task) { // ReSharper disable once UnusedVariable string path = BasePath + "/" + task.Identify + "/"; Page page; try { FileInfo file = GetFile(path + Encrypt.Md5Encrypt(request.Url)); StreamReader bufferedReader = new StreamReader(file.OpenRead()); string line = bufferedReader.ReadLine(); if (("url:\t" + request.Url).Equals(line)) { string html = GetHtml(bufferedReader); page = new Page(request); page.SetUrl(PlainText.Create(request.Url)); page.SetHtml(Html.Create(html)); } } catch (IOException e) { if (e.GetType().IsInstanceOfType(typeof(FileNotFoundException))) { _logger.Info("File not exist for url " + request.Url); } else { _logger.Warn("File read error for url " + request.Url, e); } } page = DownloadWhenMiss(request, task); return(page); }
public static Button Create(string text, Uri url) { return(new Button { Text = PlainText.Create(text), Url = url }); }
public void testMultiModel_should_not_skip_when_match() { Page page = new Page(new Request("http://codecraft.us/foo", null)); page.SetRawText("<div foo='foo'></div>"); page.SetUrl(PlainText.Create("http://codecraft.us/foo")); ModelPageProcessor modelPageProcessor = ModelPageProcessor.Create(null, typeof(ModelFoo), typeof(ModelBar)); modelPageProcessor.Process(page); Assert.IsFalse(page.GetResultItems().IsSkip); }
private void ParseComponent(string tag, string attributes, string value) { value = this.FormatHTML(value); if (tag != null) { tag = tag.ToLower(); } Component element = null; switch (tag) { case "u": element = new Underline(); break; case "i": element = new Italic(); break; case "b": element = new Bold(); break; case "strike": element = new Strike(); break; case "h1": element = new Title(); break; case "url": element = new URL(); break; case "spoiler": element = new Spoiler(); break; case "noparse": element = new NoParse(); break; case "code": element = new Code(); break; case "quote": element = new Quote(); break; case "olist": element = new List(); break; case "list": element = new List(); break; case "img": element = new Image(); break; default: element = new PlainText(); break; } if (element != null) { element.Create(value, attributes); /*if (global.options.newLine) { * result = result.toString().replace(/\r ?\n / g, '<br />') * * }*/ this.components.Add(element); } }