public void Init(XElement xe, XmlConfig config) { //XElement xe; //if (!test) // _xeConfig = XmlConfig.CurrentConfig.GetElement("DownloadAutomateManager"); //else //{ // Trace.WriteLine("CreateDownloadAutomateManager init for test"); // _xeConfig = XmlConfig.CurrentConfig.GetElement("DownloadAutomateManager_Test"); //} //_test = test; _xeConfig = xe; _version = xe.zXPathValue("Version").zTryParseAs(_version); _useTestManager = xe.zXPathValue("UseTestManager").zTryParseAs(false); _traceLevel = xe.zXPathValue("TraceLevel").zTryParseAs<int?>(); //_dailyPrintManager = xe.zXPathValue("DailyPrintManager").zTryParseAs(false); //_gapDayBefore = xe.zXPathValue("GapDayBefore").zTryParseAs(0); //_gapDayAfter = xe.zXPathValue("GapDayAfter").zTryParseAs(0); //_config = XmlConfig.CurrentConfig; _config = config; _localConfig = _config.GetConfig("LocalConfig"); //_localConfig = _config.GetConfig("LocalConfig", optional: true); _printList1Config = _config.GetConfig("PrintList1Config"); _printList2Config = _config.GetConfig("PrintList2Config"); }
//public static PrintTitleManager Create(int version = 3, int gapDayBefore = 0, int gapDayAfter = 0) //{ // CreatePrintTitleManager create = new CreatePrintTitleManager(); // create._version = version; // create._gapDayBefore = gapDayBefore; // create._gapDayAfter = gapDayAfter; // return create._Create(); //} public void Init(XElement xe) { _xeConfig = xe; if (xe != null) { _version = xe.zXPathValue("Version").zTryParseAs(_version); _gapDayBefore = xe.zXPathValue("GapDayBefore").zTryParseAs(0); _gapDayAfter = xe.zXPathValue("GapDayAfter").zTryParseAs(0); } _printList1Config = XmlConfig.CurrentConfig.GetConfig("PrintList1Config"); }
public static void InitImage(XElement xe) { UrlCache urlCache = UrlCache.Create(xe); //if (xe.zXPathValue("UseUrlCache").zTryParseAs(false)) if (urlCache != null) { // xe.zXPathValue("CacheDirectory") __imageCacheManager = new WebImageMongoCacheManager(xe.zXPathValue("MongoServer"), xe.zXPathValue("MongoDatabase"), xe.zXPathValue("MongoCollection"), urlCache); } __imageFilterMinHeight = xe.zXPathValue("ImageFilterMinHeight").zParseAs<int>(); }
public static UrlCache Create(XElement xe) { if (xe != null && xe.zXPathValue("UseUrlCache").zTryParseAs(false)) { UrlCache urlCache = new UrlCache(xe.zXPathExplicitValue("CacheDirectory")); urlCache._urlFileNameType = zurl.GetUrlFileNameType(xe.zXPathValue("CacheUrlFileNameType", "Path")); urlCache._saveRequest = xe.zXPathValue("CacheSaveRequest").zTryParseAs(false); return urlCache; } else return null; }
private static void ClassInit(XElement xe) { bool useUrlCache = xe.zXPathValue("UseUrlCache").zTryParseAs(false); UrlCache urlCache = null; if (useUrlCache) { string cacheDirectory = xe.zXPathValue("CacheDirectory"); urlCache = new UrlCache(cacheDirectory); urlCache.UrlFileNameType = UrlFileNameType.Path | UrlFileNameType.Query; //urlCache.GetUrlSubDirectoryFunction = httpRequest => (Ebookdz_LoadPostDetailFromWebManager.GetPostDetailKey(httpRequest) / 1000 * 1000).ToString(); } __currentLoadForumFromWebManager = new Ebookdz_LoadForumFromWebManager(urlCache); }
public static void InitImage(XElement xe) { //if (xe.zXPathValueBool("UseUrlCache", false)) if (xe.zXPathValue("UseUrlCache").zTryParseAs(false)) __imageCacheManager = new WebImageMongoCacheManager_v1(xe.zXPathValue("MongoServer"), xe.zXPathValue("MongoDatabase"), xe.zXPathValue("MongoCollection"), xe.zXPathValue("CacheDirectory")); __imageFilterMinHeight = xe.zXPathValue("ImageFilterMinHeight").zParseAs<int>(); }
public static void ClassInit(XElement xe) { __useUrlCache = xe.zXPathValue("UseUrlCache").zTryParseAs(false); __cacheDirectory = xe.zXPathValue("CacheDirectory"); __useXml = xe.zXPathValue("UseXml").zTryParseAs(__useXml); __xmlNodeName = xe.zXPathValue("XmlNodeName"); __useMongo = xe.zXPathValue("UseMongo").zTryParseAs(__useMongo); __mongoServer = xe.zXPathValue("MongoServer", __mongoServer); __mongoDatabase = xe.zXPathValue("MongoDatabase"); __mongoCollectionName = xe.zXPathValue("MongoCollection"); __mongoDocumentItemName = xe.zXPathValue("MongoDocumentItemName"); IDocumentStore_v1<RapideDdl_PostDetail> documentStore = null; if (__useMongo) { documentStore = new MongoDocumentStore_v1<RapideDdl_PostDetail>(__mongoServer, __mongoDatabase, __mongoCollectionName, __mongoDocumentItemName); RapideDdl.InitMongoClassMap(); } _load = new pb.Web.v1.LoadWebData_v2<RapideDdl_PostDetail>(new pb.Web.v1.LoadDataFromWeb_v2<RapideDdl_PostDetail>(LoadPostDetailFromWeb, GetUrlCache()), documentStore); //_load.SetXmlParameters(__useXml, __xmlNodeName); }
public static MongoDataStore Create(XElement xe) { MongoDataStore mongoDataStore = new MongoDataStore(xe.zXPathExplicitValue("MongoServer"), xe.zXPathExplicitValue("MongoDatabase"), xe.zXPathExplicitValue("MongoCollection"), xe.zXPathValue("MongoDocumentItemName")); mongoDataStore.DefaultSort = xe.zXPathValue("MongoDefaultSort"); if (xe.zXPathValue("MongoGenerateId").zTryParseAs(false)) { string type = xe.zXPathValue("MongoGenerateId/@type").ToLowerInvariant(); if (type == "int") { mongoDataStore._idGenerator = new MongoIdGeneratorInt(mongoDataStore.GetCollection()); mongoDataStore._generateId = true; } else throw new PBException("unknow id type generator \"{0}\"", type); } return mongoDataStore; }
public string Format(XElement xe) { if (gFormatValues == null || xe == null) return null; string[] values = new string[gFormatValues.Count]; int i = 0; foreach (XValueFormat valueFormat in gFormatValues) { if (valueFormat.Values != null) { string s = ""; foreach (XElement xe2 in xe.zXPathElements(valueFormat.XPath)) { string[] values2 = new string[valueFormat.Values.Count]; int i2 = 0; foreach (XValueFormat valueFormat2 in valueFormat.Values) { values2[i2++] = xe2.zXPathValue(valueFormat2.XPath); } s += string.Format(valueFormat.Format, values2); } values[i++] = s; } else values[i++] = xe.zXPathValue(valueFormat.XPath); } return string.Format(gsStringFormat, values); }
//public static FindPrintManager Create(int version = 3, bool dailyPrintManager = false, int gapDayBefore = 0, int gapDayAfter = 0) //{ // CreateFindPrintManager create = new CreateFindPrintManager(); // create._version = version; // create._dailyPrintManager = dailyPrintManager; // create._gapDayBefore = gapDayBefore; // create._gapDayAfter = gapDayAfter; // return create._Create(); //} public void Init(XElement xe) { _xeConfig = xe; if (xe != null) { _version = xe.zXPathValue("Version").zTryParseAs(_version); _dailyPrintManager = xe.zXPathValue("DailyPrintManager").zTryParseAs(false); _gapDayBefore = xe.zXPathValue("GapDayBefore").zTryParseAs(0); _gapDayAfter = xe.zXPathValue("GapDayAfter").zTryParseAs(0); _trySplitTitle = xe.zXPathValue("TrySplitTitle").zTryParseAs(false); } }
private void init(XElement xelement) { _directory = xelement.zXPathValue("Directory"); Dictionary<string, RegexValuesModel> regexModels = new Dictionary<string, RegexValuesModel>(); // zElements("FilenamesModel/FilenameModel") foreach (XElement xe in xelement.zXPathElements("FilenamesModel/FilenameModel")) { RegexValuesModel rvm = new RegexValuesModel(xe); regexModels.Add(rvm.key, rvm); } _regexModels = new Dictionary<string, RegexValuesModel>(); // zElements("FilenameModels/FilenameModel") foreach (XElement xe in xelement.zXPathElements("FilenameModels/FilenameModel")) { RegexValuesModel rvm = new RegexValuesModel(xe); _regexModels.Add(rvm.key, rvm); } // zElements("FilenameDates/FilenameDate") _dateRegexList = new RegexValuesList(xelement.zXPathElements("FilenameDates/FilenameDate")); //if (_trace) // Trace.CurrentTrace.WriteLine("_dateRegexList {0}", _dateRegexList.Count); _printRegexList = new RegexValuesList(); _printRegexList2 = new RegexValuesList(); _prints = new Dictionary<string, Print1>(); // zElements("Prints/Print") foreach (XElement xe in xelement.zXPathElements("Prints/Print")) { Print1 print = null; switch (xe.zXPathValue("Class")) { case "LeMonde": print = new LeMonde(xe, _directory, _regexModels); break; case "LeParisien": print = new LeParisien(xe, _directory, _regexModels); break; case "LeVifExpress": print = new LeVifExpress(xe, _directory, _regexModels); break; default: print = new Print1(xe, _directory, _regexModels); break; } string name = print.Name; _prints.Add(name, print); int n = 1; // zElements("Filenames/Filename") foreach (XElement xe2 in xe.zXPathElements("Filenames/Filename")) { string key = name + n++.ToString(); //string name = xe2.zExplicitAttributeValue("name"); //string model = xe2.zExplicitAttributeValue("model"); string model = xe2.zAttribValue("model"); if (model != null) { if (!regexModels.ContainsKey(model)) throw new PBException("unknow filename model \"{0}\"", model); RegexValuesModel rvm = regexModels[model]; //Dictionary<string, string> attribs = (from xa in xe2.Attributes() where xa.Name.ToString().StartsWith("v_") select xa).zAttribs(); Dictionary<string, string> attribs = new Dictionary<string, string>(); attribs.zAdd(from xa in xe2.Attributes() where xa.Name.ToString().StartsWith("v_") select xa); string pattern = rvm.pattern.zSetTextVariables(attribs, true); //Trace.CurrentTrace.WriteLine("\"{0}\" - \"{1}\"", rvm.pattern, pattern); //string values = xe2.zAttribValue("values"); //if (values != null) //{ // if (rvm.values != null && rvm.values != "") // values = rvm.values + ", " + values; //} //else // values = rvm.values; string values = rvm.values; if (values != null) values = values.zSetTextVariables(attribs, true); _printRegexList.Add(key, new RegexValues(key, name, pattern, rvm.options, values)); } else { string regex = xe2.zExplicitAttribValue("regex"); string values = xe2.zExplicitAttribValue("values"); string options = xe2.zAttribValue("options"); _printRegexList.Add(key, new RegexValues(key, name, regex, options, values)); } } n = 1; // zElements("Filenames2/Filename") foreach (XElement xe2 in xe.zXPathElements("Filenames2/Filename")) { string key = name + n++.ToString(); string regex = xe2.zExplicitAttribValue("regex"); string values = xe2.zAttribValue("values"); string options = xe2.zAttribValue("options"); _printRegexList2.Add(key, new RegexValues(key, name, regex, options, values)); } } }
public Print1(XElement xe, string baseDirectory, Dictionary<string, RegexValuesModel> regexModels = null) { _name = xe.zXPathValue("Name"); _title = xe.zXPathValue("Title"); _frequency = GetFrequency(xe.zXPathValue("Frequency")); if (_frequency == PrintFrequency.Weekly || _frequency == PrintFrequency.EveryTwoWeek) _weekday = zdate.GetDayOfWeek(xe.zXPathValue("Weekday")); _directory = xe.zXPathValue("Directory").zRootPath(baseDirectory); //if (!Path.IsPathRooted(_directory)) // _directory = Path.Combine(baseDirectory, _directory); SetOption(xe.zXPathValue("Option")); if (!_noDateAndNumberCalculate) { string dateRef = xe.zXPathValue("DateReference"); string numberRef = xe.zXPathValue("NumberReference"); if (dateRef == null && numberRef != null) throw new PBException("error missing reference number \"{0}\"", _name); if (dateRef != null && numberRef == null) throw new PBException("error missing reference date \"{0}\"", _name); if (dateRef == null) _noDateAndNumberCalculate = true; else { _refPrintDate = Date.Parse(dateRef); _refPrintNumber = int.Parse(numberRef); GetNoPrintDays(xe.zXPathValues("NoPrintDays/NoPrintDay")); GetNoPrintMonths(xe.zXPathValues("NoPrintMonths/NoPrintMonth")); } } //if (regexModels != null) //{ // string model; // if (_frequency == PrintFrequency.Daily || _frequency == PrintFrequency.Weekly || _frequency == PrintFrequency.EveryTwoWeek) // { // if (!_noNumber) // model = "name_day_number"; // else // model = "name_day"; // } // else // model = "name_month_number"; // RegexValuesModel rvm = regexModels[model]; // Dictionary<string, string> textValues = new Dictionary<string, string>(); // textValues.Add("v_title", _title); // XElement xe2 = xe.zXPathElement("NormalizedFilename"); // if (xe2 != null) // (from xa in xe2.Attributes() where xa.Name.ToString().StartsWith("v_") select xa).zAttribs(textValues); // string pattern = rvm.pattern.zSetTextValues(textValues, true); // string values = rvm.values.zSetTextValues(textValues, true); // _normalizedFilename = new RegexValues(rvm.key, rvm.name, pattern, rvm.options, values); // if (_specialNoDate) // model = "special_name_number"; // else // model = "special_name_month_number"; // rvm = regexModels[model]; // textValues = new Dictionary<string, string>(); // textValues.Add("v_title", _title); // xe2 = xe.zXPathElement("NormalizedSpecialFilename"); // if (xe2 != null) // (from xa in xe2.Attributes() where xa.Name.ToString().StartsWith("v_") select xa).zAttribs(textValues); // pattern = rvm.pattern.zSetTextValues(textValues, true); // values = rvm.values.zSetTextValues(textValues, true); // _normalizedSpecialFilename = new RegexValues(rvm.key, rvm.name, pattern, rvm.options, values); //} }
private void init(XElement xelement) { _directory = xelement.zXPathValue("Directory"); _regexModels = new Dictionary<string, RegexValuesModel>(); // zElements("FilenameInfos/FilenameModel") foreach (XElement xe in xelement.zXPathElements("FilenameInfos/FilenameModel")) { RegexValuesModel rvm = new RegexValuesModel(xe); _regexModels.Add(rvm.key, rvm); } // zElements("FilenameInfos/FilenameDate") _dateRegexList = new RegexValuesList(xelement.zXPathElements("FilenameInfos/FilenameDate")); //XElement xe3 = xelement.zXPathElement("FilenameInfos/FilenameDay"); //if (xe3 != null) // _dayRegex = new RegexValues(xe3); // zElements("FilenameInfos/FilenameDay") _dayRegexList = new RegexValuesList(xelement.zXPathElements("FilenameInfos/FilenameDay")); // zElements("FilenameInfos/FilenameNumber") _numberRegexList = new RegexValuesList(xelement.zXPathElements("FilenameInfos/FilenameNumber")); //xe3 = xelement.zXPathElement("FilenameInfos/FilenameSpecial"); //if (xe3 != null) // _specialRegex = new RegexValues(xe3); // zElements("FilenameInfos/FilenameSpecial") _specialRegexList = new RegexValuesList(xelement.zXPathElements("FilenameInfos/FilenameSpecial")); _printRegexList = new RegexValuesList(); _prints = new Dictionary<string, Print>(); // zElements("Prints/Print") foreach (XElement xe in xelement.zXPathElements("Prints/Print")) { Print print = null; switch (xe.zXPathValue("Class")) { case "LeMonde": print = new PrintLeMonde(xe, _directory, _regexModels); break; case "LeParisien": print = new PrintLeParisien(xe, _directory, _regexModels); break; case "LExpress": print = new PrintLExpress(xe, _directory, _regexModels); break; case "LeVifExpress": print = new PrintLeVifExpress(xe, _directory, _regexModels); break; default: print = new Print(xe, _directory, _regexModels); break; } string name = print.Name; _prints.Add(name, print); int n = 1; // zElements("Filename") foreach (XElement xe2 in xe.zXPathElements("Filename")) { string key = name + n++.ToString(); string regex = xe2.zExplicitAttribValue("regex"); string values = xe2.zAttribValue("values"); string options = xe2.zAttribValue("options"); _printRegexList.Add(key, new RegexValues(key, name, regex, options, values)); } } }
private void InitBackup(XElement xe) { _backup = new Backup(); //_backupDirectory = xe.zXPathValue("BackupDirectory"); _backup.TempBackupDirectory = xe.zXPathValue("TempBackupDirectory"); _backup.BackupDirectory = xe.zXPathValue("BackupDirectory"); _backup.ZipFilename = xe.zXPathValue("ZipFilename", "BackupAutomate"); //_backup.Add(dir => MongoBackup.Backup(_mongoDownloadAutomateManager.GetCollection(), dir)); //_downloadManager.InitBackup(_backup); //foreach (ServerManager server in _servers.Values) //{ // _backup.Add(dir => server.Backup(dir)); //} }
public void Init(XElement xe) { //if (!test) // xe = XmlConfig.CurrentConfig.GetElement("DownloadAutomateManager"); //else //{ // Trace.WriteLine("DownloadAutomateManager (v2) init for test"); // xe = XmlConfig.CurrentConfig.GetElement("DownloadAutomateManager_Test"); //} _waitTimeBetweenOperation = xe.zXPathValue("WaitTimeBetweenOperation").zTryParseAs(TimeSpan.FromSeconds(5)); _mailWaitDownloadFinish = xe.zXPathValue("MailWaitDownloadFinish").zTryParseAs(TimeSpan.FromMinutes(10)); _postDownloadServerLimit = xe.zXPathValue("PostDownloadServerLimit").zTryParseAs(0); InitBackup(xe); }