private List <PrepareStartUrls> GetPrepareStartUrls(List <JObject> jobjects) { if (jobjects == null || jobjects.Count == 0) { return(null); } var list = new List <PrepareStartUrls>(); foreach (var jobject in jobjects) { var type = jobject.SelectToken("$.Type")?.ToObject <PrepareStartUrls.Types>(); if (type == null) { throw new SpiderExceptoin("Missing PrepareStartUrls type: " + jobject); } switch (type) { case Configuration.PrepareStartUrls.Types.GeneralDb: { var generalDbPrepareStartUrls = new DbPrepareStartUrls(); SetDbPrepareStartUrls(generalDbPrepareStartUrls, jobject); list.Add(generalDbPrepareStartUrls); break; } case Configuration.PrepareStartUrls.Types.DbList: { var generalDbPrepareStartUrls = new DbListPrepareStartUrls(); SetDbPrepareStartUrls(generalDbPrepareStartUrls, jobject); list.Add(generalDbPrepareStartUrls); break; } case Configuration.PrepareStartUrls.Types.CommonDb: { var generalDbPrepareStartUrls = new DbCommonPrepareStartUrls(); SetDbPrepareStartUrls(generalDbPrepareStartUrls, jobject); list.Add(generalDbPrepareStartUrls); break; } case Configuration.PrepareStartUrls.Types.Cycle: { list.Add(jobject.ToObject <CyclePrepareStartUrls>()); break; } case Configuration.PrepareStartUrls.Types.LinkSpider: { list.Add(jobject.ToObject <LinkSpiderPrepareStartUrls>()); break; } } } return(list); }
private List <PrepareStartUrls> GetPrepareStartUrls(List <JObject> jobjects) { if (jobjects == null || jobjects.Count == 0) { return(null); } var list = new List <PrepareStartUrls>(); foreach (var jobject in jobjects) { var type = jobject.SelectToken("$.Type")?.ToObject <PrepareStartUrls.Types>(); if (type == null) { throw new SpiderExceptoin("Missing PrepareStartUrls type: " + jobject); } switch (type) { case Configuration.PrepareStartUrls.Types.ConfigDb: { var generalDbPrepareStartUrls = new ConfigurableDbPrepareStartUrls(); SetDbPrepareStartUrls(generalDbPrepareStartUrls, jobject); list.Add(generalDbPrepareStartUrls); break; } case Configuration.PrepareStartUrls.Types.DbList: { var generalDbPrepareStartUrls = new DbListPrepareStartUrls(); SetDbPrepareStartUrls(generalDbPrepareStartUrls, jobject); list.Add(generalDbPrepareStartUrls); break; } case Configuration.PrepareStartUrls.Types.CommonDb: { var generalDbPrepareStartUrls = new DbCommonPrepareStartUrls(); SetDbPrepareStartUrls(generalDbPrepareStartUrls, jobject); list.Add(generalDbPrepareStartUrls); break; } case Configuration.PrepareStartUrls.Types.Cycle: { list.Add(jobject.ToObject <CyclePrepareStartUrls>()); break; } case Configuration.PrepareStartUrls.Types.LinkSpider: { list.Add(jobject.ToObject <LinkSpiderPrepareStartUrls>()); break; } case Configuration.PrepareStartUrls.Types.Base: { var generalDbPrepareStartUrls = new BaseDbPrepareStartUrls(); foreach (var column in jobject.SelectTokens("$.Columns[*]")) { var c = new ConfigurableDbPrepareStartUrls.Column() { Name = column.SelectToken("$.Name").ToString() }; foreach (var format in column.SelectTokens("$.Formatters[*]")) { var name = format.SelectToken("$.Name").ToString(); var formatterType = FormatterFactory.GetFormatterType(name); c.Formatters.Add((Formatter)format.ToObject(formatterType)); } generalDbPrepareStartUrls.Columns.Add(c); } generalDbPrepareStartUrls.ConnectString = jobject.SelectToken("$.ConnectString").ToString(); generalDbPrepareStartUrls.FormateStrings = jobject.SelectToken("$.FormateStrings").ToObject <List <string> >(); generalDbPrepareStartUrls.Method = jobject.SelectToken("$.Method").ToString(); generalDbPrepareStartUrls.Origin = jobject.SelectToken("$.Origin").ToString(); generalDbPrepareStartUrls.PostBody = jobject.SelectToken("$.PostBody").ToString(); generalDbPrepareStartUrls.QueryString = jobject.SelectToken("$.QueryString").ToString(); generalDbPrepareStartUrls.Referer = jobject.SelectToken("$.Referer").ToString(); generalDbPrepareStartUrls.Source = jobject.SelectToken("$.Source").ToObject <DataSource>(); generalDbPrepareStartUrls.Extras = jobject.SelectToken("$.Extras").ToObject <Dictionary <string, object> >(); list.Add(generalDbPrepareStartUrls); break; } } } return(list); }
private List <PrepareStartUrls> GetPrepareStartUrls(List <JObject> jobjects) { if (jobjects == null || jobjects.Count == 0) { return(null); } var list = new List <PrepareStartUrls>(); foreach (var jobject in jobjects) { var type = jobject.SelectToken("$.Type")?.ToObject <PrepareStartUrls.Types>(); if (type == null) { throw new SpiderExceptoin("Missing PrepareStartUrls type: " + jobject); } switch (type) { case Configuration.PrepareStartUrls.Types.ConfigDb: { var generalDbPrepareStartUrls = new ConfigurableDbPrepareStartUrls(); SetDbPrepareStartUrls(generalDbPrepareStartUrls, jobject); list.Add(generalDbPrepareStartUrls); break; } case Configuration.PrepareStartUrls.Types.DbList: { var generalDbPrepareStartUrls = new DbListPrepareStartUrls(); SetDbPrepareStartUrls(generalDbPrepareStartUrls, jobject); list.Add(generalDbPrepareStartUrls); break; } case Configuration.PrepareStartUrls.Types.CommonDb: { var generalDbPrepareStartUrls = new DbCommonPrepareStartUrls(); SetDbPrepareStartUrls(generalDbPrepareStartUrls, jobject); list.Add(generalDbPrepareStartUrls); break; } case Configuration.PrepareStartUrls.Types.Cycle: { list.Add(jobject.ToObject <CyclePrepareStartUrls>()); break; } case Configuration.PrepareStartUrls.Types.LinkSpider: { list.Add(jobject.ToObject <LinkSpiderPrepareStartUrls>()); break; } case Configuration.PrepareStartUrls.Types.Base: { var generalDbPrepareStartUrls = new BaseDbPrepareStartUrls(); foreach (var column in jobject.SelectTokens("$.Columns[*]")) { var c = new ConfigurableDbPrepareStartUrls.Column() { Name = column.SelectToken("$.Name").ToString() }; foreach (var format in column.SelectTokens("$.Formatters[*]")) { var name = format.SelectToken("$.Name").ToString(); var formatterType = FormatterFactory.GetFormatterType(name); c.Formatters.Add((Formatter)format.ToObject(formatterType)); } generalDbPrepareStartUrls.Columns.Add(c); } list.Add(generalDbPrepareStartUrls); break; } } } return(list); }