public static void InitAlways() { XmlConfig.CurrentConfig = new XmlConfig(RunSourceCommand.GetFilePath("anki.config.xml")); //XmlConfig config = XmlConfig.CurrentConfig; //TraceManager.Current.SetWriter(WriteToFile.Create(@"log\log.txt", FileOption.None)); RunSourceCommand.TraceManager.SetWriter(WriteToFile.Create(RunSourceCommand.GetFilePath(@"log\log.txt"), FileOption.None)); Trace.WriteLine($"set log file to \"{RunSourceCommand.TraceManager.GetWriter().File}\""); }
public static void Test_BackupVSProject() { string project = RunSourceCommand.GetCurrentProject(); Trace.WriteLine($"current project \"{project}\""); string vsProject = GetVSProject(project); Trace.WriteLine($"visual studio project \"{vsProject}\""); if (!zFile.Exists(vsProject)) { Trace.WriteLine($"visual studio project not found \"{vsProject}\""); return; } // tv.project.xml tv.csproj RunSourceVSProjectManager.Test_BackupVSProject(vsProject); }
public static void InitAlways() { XmlConfig.CurrentConfig = new XmlConfig(RunSourceCommand.GetFilePath("hts.config.xml")); XmlConfig config = XmlConfig.CurrentConfig; string logFile = config.Get("Log").zRootPath(zapp.GetAppDirectory()); //Trace.WriteLine($"set log file \"{logFile}\""); //RunSourceCommand.SetWriter(logFile, config.Get("Log/@option").zTextDeserialize(FileOption.None)); //RunSourceCommand.TraceSetWriter(WriteToFile.Create(logFile, config.Get("Log/@option").zTextDeserialize(FileOption.None))); RunSourceCommand.TraceManager.SetWriter(WriteToFile.Create(logFile, config.Get("Log/@option").zTextDeserialize(FileOption.None))); AppData.DataDirectory = config.GetExplicit("DataDir"); //string httpExportDirectory = config.Get("HttpExportDirectory").zRootPath(zapp.GetEntryAssemblyDirectory()); //if (httpExportDirectory != null) //{ // //Trace.WriteLine($"http export directory \"{httpExportDirectory}\""); // HttpRun.HttpManager.UrlCache = new UrlCache(httpExportDirectory); // HttpRun.HttpManager.UrlCache.UrlFileNameType = UrlFileNameType.Host | UrlFileNameType.Path | UrlFileNameType.Ext | UrlFileNameType.Query; // HttpRun.HttpManager.UrlCache.IndexedFile = true; // HttpRun.HttpManager.UrlCache.SaveRequest = true; //} HttpRun.HttpManager.UrlCache = UrlCache.CreateIndexedCache(config.Get("HttpExportDirectory").zRootPath(zapp.GetEntryAssemblyDirectory())); MongoLog.CurrentMongoLog.SetLogFile(config.Get("MongoLog").zRootPath(zapp.GetEntryAssemblyDirectory()), config.Get("MongoLog/@option").zTextDeserialize(FileOption.None)); string mongoCache = config.Get("MongoCache").zRootPath(zapp.GetEntryAssemblyDirectory()); if (mongoCache != null) { MongoCursorCache.CacheFile = mongoCache; } //TraceMongoCommand.ResultToGrid = true; //DefaultMongoSerialization.SetDefaultMongoSerializationOptions(); //DefaultMongoSerialization.RegisterDefaultMongoSerializer(); //HtmlRun.SetResult = dt => RunSource.CurrentRunSource.SetResult(dt); //pb.Web.Html.HtmlToXmlManager.Current.ExportXml = true; }
private void _SearchPostToDownload(DateTime lastRunDateTime) { //Trace.WriteLine("{0:dd-MM-yyyy HH:mm:ss} - Search download from {1:dd-MM-yyyy HH:mm:ss}", DateTime.Now, lastRunDateTime); bool download = false; lastRunDateTime = lastRunDateTime.AddDays(-1); //foreach (ServerManager server in _servers.Values) foreach (IServerManager server in _servers.Values) { if (server.EnableSearchDocumentToDownload) { Trace.WriteLine("{0:dd-MM-yyyy HH:mm:ss} - Search download on {1} from {2:dd-MM-yyyy HH:mm:ss}", DateTime.Now, server.Name, lastRunDateTime); int nb = 0; foreach (IPostToDownload post in server.FindFromDateTime(lastRunDateTime)) { if (RunSourceCommand.IsExecutionAborted()) { break; } if (TryDownloadPost(post, server.DownloadDirectory)) { download = true; if (_postDownloadServerLimit != 0 && ++nb == _postDownloadServerLimit) { break; } } } } } if (!download) { Trace.WriteLine("{0:dd-MM-yyyy HH:mm:ss} - Nothing to download", DateTime.Now); } }
public static void InitAlways() { XmlConfig.CurrentConfig = new XmlConfig(RunSourceCommand.GetFilePath("download.config.xml")); XmlConfig config = XmlConfig.CurrentConfig; //RunSourceCommand.SetWriter(config.Get("Log").zRootPath(zapp.GetAppDirectory()), config.Get("Log/@option").zTextDeserialize(FileOption.None)); //RunSourceCommand.TraceSetWriter(WriteToFile.Create(config.Get("Log").zRootPath(zapp.GetAppDirectory()), config.Get("Log/@option").zTextDeserialize(FileOption.None))); RunSourceCommand.TraceManager.SetWriter(WriteToFile.Create(config.Get("Log").zRootPath(zapp.GetAppDirectory()), config.Get("Log/@option").zTextDeserialize(FileOption.None))); string dataDir = config.GetExplicit("DataDir"); AppData.DataDirectory = dataDir; //HttpManager.CurrentHttpManager.ExportDirectory = config.Get("HttpExportDirectory").zRootPath(zapp.GetEntryAssemblyDirectory()); HttpRun.HttpManager.UrlCache = UrlCache.CreateIndexedCache(config.Get("HttpExportDirectory").zRootPath(zapp.GetEntryAssemblyDirectory())); MongoLog.CurrentMongoLog.SetLogFile(config.Get("MongoLog").zRootPath(zapp.GetEntryAssemblyDirectory()), config.Get("MongoLog/@option").zTextDeserialize(FileOption.None)); string mongoCache = config.Get("MongoCache").zRootPath(zapp.GetEntryAssemblyDirectory()); if (mongoCache != null) { MongoCursorCache.CacheFile = mongoCache; } // export data of PrintTextValuesManager bool exportData = config.Get("TextInfos/ExportData").zParseAs <bool>(); if (exportData) { string exportDataFile = config.Get("TextInfos/ExportDataFile"); if (exportDataFile != null) { DownloadPrint.PrintTextValuesManager.SetExportDataFile(exportDataFile); } } }
public static void InitAlways() { XmlConfig.CurrentConfig = new XmlConfig(RunSourceCommand.GetFilePath("tv.config.xml")); XmlConfig config = XmlConfig.CurrentConfig; }
// bool loadNewPost = true, bool searchPostToDownload = true, bool uncompressFile = true, bool sendMail = false public void Run() { DateTime nextRunDateTime = _mongoDownloadAutomateManager.GetNextRunDateTime(); bool messageNextRun = true; while (true) { if (RunSourceCommand.IsExecutionAborted()) { break; } if ((_runNow || DateTime.Now >= nextRunDateTime) && (_loadNewPost || _searchPostToDownload)) { _runNow = false; if (_loadNewPost) { _LoadNewPost(); } if (_searchPostToDownload) { DateTime?lastRunDateTime = _mongoDownloadAutomateManager.GetLastRunDateTime(); if (lastRunDateTime == null) { lastRunDateTime = DateTime.Now.AddDays(-3); } _SearchPostToDownload((DateTime)lastRunDateTime); _mongoDownloadAutomateManager.SetLastRunDateTime(DateTime.Now); nextRunDateTime = _mongoDownloadAutomateManager.GetNextRunDateTime(); } else // calculate nextRunDateTime if !_searchPostToDownload { nextRunDateTime = DateTime.Now + _mongoDownloadAutomateManager.GetTimeBetweenRun(); } messageNextRun = true; } else { Try(() => _SendMail(_sendMail)); } if (!_stayRunning && !_searchPostToDownload && !ActiveDownload() && TaskManager.CurrentTaskManager.Count == 0) { break; } if (!ActiveDownload() && TaskManager.CurrentTaskManager.Count == 0 && messageNextRun) { if (_loadNewPost || _searchPostToDownload) { Trace.WriteLine("{0:dd-MM-yyyy HH:mm:ss} - next run {1:dd-MM-yyyy HH:mm:ss}", DateTime.Now, nextRunDateTime); } else { Trace.WriteLine("{0:dd-MM-yyyy HH:mm:ss} - nothing to run", DateTime.Now); } messageNextRun = false; } Thread.Sleep(_waitTimeBetweenOperation); } }
//public static void UpdateVSProject(string runsourceProject = null, string vsProject = null, VSProjectUpdateOptions options = VSProjectUpdateOptions.None) //public static void UpdateVSProject(string runsourceProject = null, VSProjectUpdateOptions options = VSProjectUpdateOptions.None) //{ // //if (runsourceProjects != null) // //{ // // //runsourceProject = RunSourceCommand.GetFilePath(RunSourceCommand.GetProjectVariableValue(runsourceProject)); // // List<string> projects = new List<string>(); // // foreach (string runsourceProject in runsourceProjects) // // projects.Add(RunSourceCommand.GetFilePath(RunSourceCommand.GetProjectVariableValue(runsourceProject))); // // runsourceProjects = projects; // //} // //else // // runsourceProjects = new string[] { RunSourceCommand.GetCurrentProject() }; // if (runsourceProject != null) // runsourceProject = RunSourceCommand.GetFilePath(RunSourceCommand.GetProjectVariableValue(runsourceProject)); // else // runsourceProject = RunSourceCommand.GetCurrentProject(); // //string vsProject = GetVSProject(runsourceProject); // //if (vsProject != null) // // vsProject = RunSourceCommand.GetFilePath(RunSourceCommand.GetProjectVariableValue(vsProject)); // //else // // vsProject = GetVSProject(runsourceProjects.First()); // options |= VSProjectUpdateOptions.BackupVSProject; // //RunSourceVSProjectManager.UpdateVSProject(vsProject, runsourceProjects, options); // //RunSourceVSProjectManager.UpdateVSProject(runsourceProject, options); // new RunSourceVSProjectManager().UpdateVSProject(runsourceProject, options); //} //public static void TraceRunSourceProject(string runsourceProject = null, bool traceProjectName = false) public static void TraceRunSourceProject(IEnumerable <string> runsourceProjects = null, bool traceProjectName = false) { if (runsourceProjects != null) { //runsourceProject = RunSourceCommand.GetFilePath(RunSourceCommand.GetProjectVariableValue(runsourceProject)); List <string> projects = new List <string>(); foreach (string runsourceProject in runsourceProjects) { projects.Add(RunSourceCommand.GetFilePath(RunSourceCommand.GetProjectVariableValue(runsourceProject))); } runsourceProjects = projects; } else { runsourceProjects = new string[] { RunSourceCommand.GetCurrentProject() } }; foreach (string runsourceProject in runsourceProjects) { if (!zFile.Exists(runsourceProject)) { Trace.WriteLine($"runsource project not found \"{runsourceProject}\""); return; } } try { //RunSourceCommand.TraceDisableViewer(); //RunSourceCommand.TraceSetWriter(WriteToFile.Create(zPath.Combine(zPath.GetDirectoryName(runsourceProject), zPath.GetFileNameWithoutExtension(runsourceProject) + ".trace.txt"), FileOption.RazFile), "trace"); RunSourceCommand.TraceManager.DisableViewer(); string project = runsourceProjects.First(); RunSourceCommand.TraceManager.SetWriter(WriteToFile.Create(zPath.Combine(zPath.GetDirectoryName(project), zPath.GetFileNameWithoutExtension(project) + ".trace.txt"), FileOption.RazFile), "trace"); //Trace.WriteLine($"runsource project \"{runsourceProject}\""); Trace.WriteLine($"runsource project {runsourceProjects.zToStringValues(runsourceProject => "\"" + zPath.GetFileName(runsourceProject) + "\"")}"); //CompilerProjectReader runsourceProjectReader = CompilerProjectReader.Create(new XmlConfig(runsourceProject).GetConfigElement("/AssemblyProject")); List <CompilerProjectReader> runsourceProjectsReaders = new List <CompilerProjectReader>(); foreach (string runsourceProject in runsourceProjects) { runsourceProjectsReaders.Add(CompilerProjectReader.Create(new XmlConfig(runsourceProject).GetConfigElement("/AssemblyProject"))); } Trace.WriteLine(" sources"); foreach (RunSourceSource source in RunSourceVSProjectManager.GetRunSourceSources(runsourceProjectsReaders).OrderBy(source => source.RelativePath)) { //Trace.WriteLine($" file \"{sourceLink.File}\" link \"{sourceLink.Link}\""); //Trace.WriteLine($" file \"{source.File}\" relative path \"{source.RelativePath}\" ({zPath.GetFileName(source.ProjectFile)})"); if (traceProjectName) { Trace.WriteLine($" {("\"" + source.RelativePath + "\""),-140} ({zPath.GetFileName(source.ProjectFile)})"); } else { Trace.WriteLine($" {("\"" + source.RelativePath + "\"")}"); } } Trace.WriteLine(" sources links"); foreach (RunSourceSource source in RunSourceVSProjectManager.GetRunSourceSourcesLinks(runsourceProjectsReaders).OrderBy(source => source.RelativePath)) { //Trace.WriteLine($" file \"{sourceLink.File}\" link \"{sourceLink.Link}\""); //Trace.WriteLine($" file \"{source.File}\" relative path \"{source.RelativePath}\" ({zPath.GetFileName(source.ProjectFile)})"); if (traceProjectName) { Trace.WriteLine($" {("\"" + source.RelativePath + "\""),-140} ({zPath.GetFileName(source.ProjectFile)})"); } else { Trace.WriteLine($" {("\"" + source.RelativePath + "\"")}"); } } Trace.WriteLine(" framework references"); foreach (RunSourceReference reference in RunSourceVSProjectManager.GetRunSourceAssemblies(runsourceProjectsReaders).Where(reference => reference.FrameworkAssembly).OrderBy(reference => reference.Name)) { //Trace.WriteLine($" file \"{assembly.File}\"{(assembly.FrameworkAssembly ? " (framework assembly)" : "")}{(assembly.RunSourceAssembly ? " (runsource assembly)" : "")} ({zPath.GetFileName(assembly.Project.ProjectFile)})"); //Trace.WriteLine($" {("\"" + assembly.Name + "\""),-70} {(assembly.RelativePath != null ? "\"" + assembly.RelativePath + "\"" : ""),-140} {(assembly.FrameworkAssembly ? " (framework assembly)" : "")}{(assembly.RunSourceAssembly ? " (runsource assembly)" : "")} ({zPath.GetFileName(assembly.ProjectFile)})"); if (traceProjectName) { Trace.WriteLine($" {("\"" + reference.Name + "\""),-70} ({zPath.GetFileName(reference.ProjectFile)})"); } else { Trace.WriteLine($" {("\"" + reference.Name + "\"")}"); } } Trace.WriteLine(" dll references"); foreach (RunSourceReference assembly in RunSourceVSProjectManager.GetRunSourceAssemblies(runsourceProjectsReaders).Where(reference => !reference.FrameworkAssembly && !reference.RunSourceAssembly).OrderBy(reference => reference.Name)) { if (traceProjectName) { Trace.WriteLine($" {("\"" + assembly.Name + "\""),-70} {("\"" + assembly.RelativePath + "\""),-140} ({zPath.GetFileName(assembly.ProjectFile)})"); } else { Trace.WriteLine($" {("\"" + assembly.Name + "\""),-70} {("\"" + assembly.RelativePath + "\"")}"); } } Trace.WriteLine(" runsource references"); foreach (RunSourceReference assembly in RunSourceVSProjectManager.GetRunSourceAssemblies(runsourceProjectsReaders).Where(reference => reference.RunSourceAssembly).OrderBy(reference => reference.Name)) { if (traceProjectName) { Trace.WriteLine($" {("\"" + assembly.Name + "\""),-70} {("\"" + assembly.RelativePath + "\""),-140} ({zPath.GetFileName(assembly.ProjectFile)})"); } else { Trace.WriteLine($" {("\"" + assembly.Name + "\""),-70} {("\"" + assembly.RelativePath + "\"")}"); } } } finally { //RunSourceCommand.TraceRemoveWriter("trace"); //RunSourceCommand.TraceEnableViewer(); RunSourceCommand.TraceManager.RemoveWriter("trace"); RunSourceCommand.TraceManager.EnableViewer(); } }
public static void TraceVSProject(string vsProject = null) { if (vsProject != null) { vsProject = RunSourceCommand.GetFilePath(RunSourceCommand.GetProjectVariableValue(vsProject)); } else { vsProject = GetVSProject(RunSourceCommand.GetCurrentProject()); } if (!zFile.Exists(vsProject)) { Trace.WriteLine($"visual studio project not found \"{vsProject}\""); return; } try { //RunSourceCommand.TraceDisableViewer(); ////RunSourceCommand.TraceSetWriter(WriteToFile.Create(zPath.Combine(zPath.GetDirectoryName(vsProject), zPath.GetFileName(vsProject) + ".trace.txt"), FileOption.RazFile), "trace"); //RunSourceCommand.TraceSetWriter(WriteToFile.Create(vsProject + ".trace.txt", FileOption.RazFile), "trace"); RunSourceCommand.TraceManager.DisableViewer(); RunSourceCommand.TraceManager.SetWriter(WriteToFile.Create(vsProject + ".trace.txt", FileOption.RazFile), "trace"); Trace.WriteLine($"visual studio project \"{vsProject}\""); VSProjectManager vsProjectManager = new VSProjectManager(vsProject); Trace.WriteLine(" sources"); foreach (VSSource source in vsProjectManager.GetSources().Where(source => source.Link == null).OrderBy(source => source.File)) { //Trace.WriteLine($" file \"{sourceLink.File}\" link \"{sourceLink.Link}\""); //if (source.Link == null) Trace.WriteLine($" \"{source.File}\""); } Trace.WriteLine(" sources links"); foreach (VSSource source in vsProjectManager.GetSources().Where(source => source.Link != null).OrderBy(source => source.File)) { //Trace.WriteLine($" file \"{sourceLink.File}\" link \"{sourceLink.Link}\""); //if (source.Link != null) Trace.WriteLine($" \"{source.File}\""); } Trace.WriteLine(" framework references"); foreach (VSReference reference in vsProjectManager.GetReferences().Where(reference => reference.File == null).OrderBy(reference => reference.Name)) { Trace.WriteLine($" \"{reference.Name}\""); } Trace.WriteLine(" dll references"); foreach (VSReference reference in vsProjectManager.GetReferences().Where(reference => reference.File != null && !reference.ProjectReference).OrderBy(reference => reference.Name)) { Trace.WriteLine($" {("\"" + reference.Name + "\""),-70} \"{reference.File}\""); //if (reference.File == null) // Trace.WriteLine($" \"{reference.Name}\""); //else if (reference.ProjectReference) // //Trace.WriteLine($" \"{reference.Name}\" \"{reference.File}\" project \"{reference.ProjectReference}\""); // Trace.WriteLine($" \"{reference.Name,-70}\" \"{reference.File}\""); //else // Trace.WriteLine($" \"{reference.Name,-70}\" \"{reference.File}\""); } Trace.WriteLine(" project references"); foreach (VSReference reference in vsProjectManager.GetReferences().Where(reference => reference.ProjectReference).OrderBy(reference => reference.Name)) { Trace.WriteLine($" {("\"" + reference.Name + "\""),-70} \"{reference.File}\""); } } finally { //RunSourceCommand.TraceRemoveWriter("trace"); //RunSourceCommand.TraceEnableViewer(); RunSourceCommand.TraceManager.RemoveWriter("trace"); RunSourceCommand.TraceManager.EnableViewer(); } }