Esempio n. 1
0
File: Run.cs Progetto: 24/source_04
 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}\"");
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
File: Run.cs Progetto: 24/source_04
        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;
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
        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);
                }
            }
        }
Esempio n. 6
0
File: Run.cs Progetto: 24/source_04
 public static void InitAlways()
 {
     XmlConfig.CurrentConfig = new XmlConfig(RunSourceCommand.GetFilePath("tv.config.xml"));
     XmlConfig config = XmlConfig.CurrentConfig;
 }
Esempio n. 7
0
        // 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);
            }
        }
Esempio n. 8
0
        //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();
            }
        }
Esempio n. 9
0
        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();
            }
        }