[chronojump] Reorg between GetData/GetLogs between util, utilAll for Chronojump, mini



commit 091e53014522348b37369da8e012c2937860734d
Author: Xavier de Blas <xaviblas gmail com>
Date:   Tue Jun 7 17:48:46 2022 +0200

    Reorg between GetData/GetLogs between util, utilAll for Chronojump, mini

 src/Mini/chronojump_mini.cs | 10 +++++--
 src/config.cs               | 12 ++++-----
 src/encoderCapture.cs       |  4 +--
 src/gui/app1/encoder.cs     |  2 +-
 src/gui/preferences.cs      |  2 +-
 src/gui/presentation.cs     |  3 ++-
 src/news.cs                 |  3 +--
 src/sqlite/main.cs          |  2 +-
 src/util.cs                 | 53 +++++++++++++++++++-----------------
 src/utilAll.cs              | 66 ++++++++++++++++++++++++---------------------
 src/utilEncoder.cs          |  3 +--
 11 files changed, 87 insertions(+), 73 deletions(-)
---
diff --git a/src/Mini/chronojump_mini.cs b/src/Mini/chronojump_mini.cs
index a04e387bc..0f4a94c93 100644
--- a/src/Mini/chronojump_mini.cs
+++ b/src/Mini/chronojump_mini.cs
@@ -294,8 +294,14 @@ class ChronoJumpMini {
                return fileName;
        }
 
-       static string getOutputDir() {
-               return UtilAll.GetApplicationDataDir();
+       static string getOutputDir()
+       {
+               // Chronojump (networks at admin) will be able to change the LocalDataDir, so do not use this
+               //return UtilAll.GetApplicationDataDir();
+               //use this, it is referred to the original unchanged dir (ok for Mini)
+               return Path.Combine (
+                               Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
+                               "Chronojump");
        }
 
        static string getFileName() {
diff --git a/src/config.cs b/src/config.cs
index 3811bfbe7..4982f5698 100644
--- a/src/config.cs
+++ b/src/config.cs
@@ -87,7 +87,7 @@ public class Config
 
        public void Read()
        {
-               string contents = Util.ReadFile(UtilAll.GetConfigFileName(), false);
+               string contents = Util.ReadFile(Util.GetConfigFileName(), false);
                if (contents != null && contents != "") 
                {
                        string line;
@@ -168,7 +168,7 @@ public class Config
        /*
        public void Read()
        {
-               string contents = Util.ReadFile(UtilAll.GetConfigFileName(), false);
+               string contents = Util.ReadFile(Util.GetConfigFileName(), false);
                if (contents != null && contents != "") 
                {
                        string line;
@@ -225,20 +225,20 @@ public class Config
 
                LogB.Information("UpdateField, field: " + field + ", text: " + text);
                
-               if(! File.Exists(UtilAll.GetConfigFileName())) {
+               if(! File.Exists(Util.GetConfigFileName())) {
                        try {
                                using (var writer = new StreamWriter(tempfile))
                                {
                                        writer.WriteLine(field + "=" + text);
                                }
-                               File.Copy(tempfile, UtilAll.GetConfigFileName(), true);
+                               File.Copy(tempfile, Util.GetConfigFileName(), true);
                        } catch {
                                LogB.Warning("Cannot write at Config.UpdateField");
                        }
                } else {
                        try {
                                using (var writer = new StreamWriter(tempfile))
-                                       using (var reader = new StreamReader(UtilAll.GetConfigFileName()))
+                                       using (var reader = new StreamReader(Util.GetConfigFileName()))
                                        {
                                                while (! reader.EndOfStream) {
                                                        string line = reader.ReadLine();
@@ -252,7 +252,7 @@ public class Config
                                                        writer.WriteLine(line);
                                                }
                                        }
-                               File.Copy(tempfile, UtilAll.GetConfigFileName(), true);
+                               File.Copy(tempfile, Util.GetConfigFileName(), true);
                        } catch {
                                LogB.Warning("Cannot write at Config.UpdateField");
                        }
diff --git a/src/encoderCapture.cs b/src/encoderCapture.cs
index dd8c3d14c..b1f73f240 100644
--- a/src/encoderCapture.cs
+++ b/src/encoderCapture.cs
@@ -643,10 +643,10 @@ public abstract class EncoderCapture
         * removed at 1.7.0
        private bool initSimulated()
        {
-               if(! File.Exists(UtilAll.GetECapSimSignalFileName()))
+               if(! File.Exists(Util.GetECapSimSignalFileName()))
                        return false;
 
-               string filename = Util.ReadFile(UtilAll.GetECapSimSignalFileName(), true);
+               string filename = Util.ReadFile(Util.GetECapSimSignalFileName(), true);
                simulatedInts = Util.ReadFileAsInts(filename);
                return true;
        }
diff --git a/src/gui/app1/encoder.cs b/src/gui/app1/encoder.cs
index 21c1194a6..b49eadb4c 100644
--- a/src/gui/app1/encoder.cs
+++ b/src/gui/app1/encoder.cs
@@ -679,7 +679,7 @@ public partial class ChronoJumpWindow
        /*
        private bool encoderCheckPort() 
        {
-               if(File.Exists(UtilAll.GetECapSimSignalFileName())) //simulatedEncoder
+               if(File.Exists(Util.GetECapSimSignalFileName())) //simulatedEncoder
                        return true;
 
                string port = chronopicWin.GetEncoderPort();
diff --git a/src/gui/preferences.cs b/src/gui/preferences.cs
index 13f05543f..35dec5c14 100644
--- a/src/gui/preferences.cs
+++ b/src/gui/preferences.cs
@@ -1681,7 +1681,7 @@ public class PreferencesWindow
                if (fc.Run() == (int)ResponseType.Accept) 
                {
                        try {
-                               File.Copy(fc.Filename, UtilAll.GetConfigFileName(), true);
+                               File.Copy(fc.Filename, Util.GetConfigFileName(), true);
                                LogB.Information("Imported configuration");
 
                                //will launch configInit() from gui/chronojump.cs
diff --git a/src/gui/presentation.cs b/src/gui/presentation.cs
index fd4401cd1..cc36eb9ef 100644
--- a/src/gui/presentation.cs
+++ b/src/gui/presentation.cs
@@ -118,7 +118,8 @@ public partial class ChronoJumpWindow
 
        void openPresentation() {
                //presentationOpenStatic("file:///home/...html#" + presentation_slide_current.ToString());
-               string file = Path.Combine(UtilAll.GetApplicationDataDir() +  Path.DirectorySeparatorChar + 
"Chronojump-Boscosystem.html");
+               string file = Path.Combine (Util.GetLocalDataDir (false) +
+                               Path.DirectorySeparatorChar + "Chronojump-Boscosystem.html");
                if(File.Exists(file))
                        presentationOpenStatic("file://" + file + "#" + 
presentation_slide_current.ToString());
        }
diff --git a/src/news.cs b/src/news.cs
index f0185a463..49dc7d7e2 100644
--- a/src/news.cs
+++ b/src/news.cs
@@ -140,8 +140,7 @@ public class News
        public static string GetNewsDir()
        {
                return Path.Combine(
-                               Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
-                               "Chronojump" + Path.DirectorySeparatorChar + "news");
+                               Util.GetLocalDataDir (false) + Path.DirectorySeparatorChar + "news");
        }
        public static void CreateNewsDirIfNeeded ()
        {
diff --git a/src/sqlite/main.cs b/src/sqlite/main.cs
index fa6450152..a04343ba0 100644
--- a/src/sqlite/main.cs
+++ b/src/sqlite/main.cs
@@ -362,7 +362,7 @@ class Sqlite
        {
                LogB.SQL(connectionString);
 
-               string applicationDataDir = UtilAll.GetApplicationDataDir();
+               string applicationDataDir = Util.GetLocalDataDir (false);
 
                if(!Directory.Exists(applicationDataDir)) {
                        LogB.SQL("creating dir 1...");
diff --git a/src/util.cs b/src/util.cs
index 4c0bc2708..7a393c0db 100644
--- a/src/util.cs
+++ b/src/util.cs
@@ -965,18 +965,24 @@ public class Util
        /********** start of LocalApplicationData path ************/
 
        //parent of database, multimedia and encoder
-       //if withFinalSeparator, then return a '\' or '/' at the end
-       public static string GetLocalDataDir (bool withFinalSeparator) {
-               string path = Path.Combine(
-                               Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
-                               "Chronojump");
-
-               if(withFinalSeparator)
-                       path += Path.DirectorySeparatorChar;
+       //Since 2.2.2 on Compujump admin LocaApplicationData can change
+       //this will check if any config path is present
+       public static string GetLocalDataDir (bool withFinalSeparator)
+       {
+               //if (defaultPath)
+                       return UtilAll.GetDefaultLocalDataDir (withFinalSeparator); //this can be checked by 
Mini
+               //else
+               //      return ""; //TODO
+       }
 
-               return path;
+       public static string GetConfigFileName() {
+               return Path.Combine (GetLocalDataDir (false) +  Path.DirectorySeparatorChar + 
Constants.FileNameConfig);
        }
-       
+       public static string GetECapSimSignalFileName() {
+               return Path.Combine (GetLocalDataDir (false) +  Path.DirectorySeparatorChar + 
"eCapSimSignal.txt");
+       }
+
+
        //url and videoURL stored path is relative to be able to move data between computers
        //then SELECT: makes it abolute (addURLpath)
        //INSERT and UPDATE: makes it relative (removeURLpath)
@@ -997,6 +1003,7 @@ public class Util
 
        /********** end of LocalApplicationData path ************/
        
+
        /********** start of database paths ************/
 
        public static string GetReallyOldDatabaseDir() {
@@ -1015,9 +1022,8 @@ public class Util
        public static string GetDatabaseDir() {
                //fixing:
                //http://lists.ximian.com/pipermail/mono-list/2008-November/040480.html
-               return Path.Combine(
-                               Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
-                               "Chronojump" + Path.DirectorySeparatorChar + "database");
+               return Path.Combine (
+                               GetLocalDataDir (false) + Path.DirectorySeparatorChar + "database");
        }
        
        //if database dir has illegal characters, use this temp dir and remember to copy db at end, or to 
restore if chrashed
@@ -1044,8 +1050,7 @@ public class Util
 
        public static string GetMultimediaDir() {
                return Path.Combine(
-                               Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
-                               "Chronojump" + Path.DirectorySeparatorChar + "multimedia");
+                               GetLocalDataDir (false) + Path.DirectorySeparatorChar + "multimedia");
        }
        
        public static string GetPhotosDir(bool small) {
@@ -1054,15 +1059,15 @@ public class Util
                        smallDir = Path.DirectorySeparatorChar + Constants.SmallPhotoDir; 
 
                return Path.Combine(
-                               Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
-                               "Chronojump" + Path.DirectorySeparatorChar + "multimedia" +
+                               GetLocalDataDir (false) +
+                               Path.DirectorySeparatorChar + "multimedia" +
                                Path.DirectorySeparatorChar + "photos") + smallDir;
        }
        
        public static string GetVideosDir() {
                return Path.Combine(
-                               Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
-                               "Chronojump" + Path.DirectorySeparatorChar + "multimedia" +
+                               GetLocalDataDir (false) +
+                               Path.DirectorySeparatorChar + "multimedia" +
                                Path.DirectorySeparatorChar + "videos");
        }
        
@@ -1086,8 +1091,8 @@ public class Util
        public static string GetForceSensorDir()
        {
                return Path.Combine(
-                               Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
-                               "Chronojump" + Path.DirectorySeparatorChar + "forceSensor");
+                               GetLocalDataDir (false) +
+                               Path.DirectorySeparatorChar + "forceSensor");
        }
        public static void CreateForceSensorDirIfNeeded ()
        {
@@ -1124,8 +1129,8 @@ public class Util
        public static string GetRunEncoderDir()
        {
                return Path.Combine(
-                               Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
-                               "Chronojump" + Path.DirectorySeparatorChar + "raceAnalyzer");
+                               GetLocalDataDir (false) +
+                               Path.DirectorySeparatorChar + "raceAnalyzer");
        }
        public static void CreateRunEncoderDirIfNeeded ()
        {
@@ -1836,7 +1841,7 @@ public class Util
        static int soundListPos;
 
        public static string getSoundsFileName() {
-               return Path.Combine(UtilAll.GetApplicationDataDir() +  Path.DirectorySeparatorChar + 
"sounds.txt");
+               return Path.Combine(Util.GetLocalDataDir (false) +  Path.DirectorySeparatorChar + 
"sounds.txt");
        }
 
        public static void CreateSoundList()
diff --git a/src/utilAll.cs b/src/utilAll.cs
index 4c72e5451..e27844cbf 100644
--- a/src/utilAll.cs
+++ b/src/utilAll.cs
@@ -100,20 +100,49 @@ public class UtilAll
                }
        }
        
-       
+
+       /*
        public static string GetApplicationDataDir() {
                return Path.Combine(
                                Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
                                "Chronojump");
        }
+       */
+       //if withFinalSeparator, then return a '\' or '/' at the end
+       public static string GetDefaultLocalDataDir (bool withFinalSeparator)
+       {
+               string path = Path.Combine(
+                               Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
+                               "Chronojump");
+
+               if(withFinalSeparator)
+                       path += Path.DirectorySeparatorChar;
+
+               return path;
+       }
+
+       // ----------- logs -----------------------
        
-       public static string GetConfigFileName() {
-               return Path.Combine(GetApplicationDataDir() +  Path.DirectorySeparatorChar + 
Constants.FileNameConfig);
+       public static string GetLogsDir() {
+               return Path.Combine(
+                               GetDefaultLocalDataDir (false) + Path.DirectorySeparatorChar + "logs");
        }
-       public static string GetECapSimSignalFileName() {
-               return Path.Combine(GetApplicationDataDir() +  Path.DirectorySeparatorChar + 
"eCapSimSignal.txt");
+       public static string GetLogFileCurrent() {
+               return Path.Combine(GetLogsDir() +  Path.DirectorySeparatorChar + Constants.FileNameLog);
+       }
+       public static string GetLogFileOld() {
+               return Path.Combine(GetLogsDir() +  Path.DirectorySeparatorChar + Constants.FileNameLogOld);
+       }
+
+       public static string GetLogsCrashedDir() {
+               return Path.Combine(
+                               GetDefaultLocalDataDir (false) + Path.DirectorySeparatorChar + "logs" +
+                               Path.DirectorySeparatorChar + "crashed");
+       }
+       public static string GetLogCrashedFileTimeStamp() {
+               return Path.Combine(GetLogsCrashedDir() +  Path.DirectorySeparatorChar +
+                               "crashed_log_" + UtilDate.ToFile(DateTime.Now) + ".txt");
        }
-       
        
        
        public static string DetectPortsLinux(bool formatting) {
@@ -156,31 +185,6 @@ public class UtilAll
                return str;
        }
 
-       // ----------- logs -----------------------
-       
-       public static string GetLogsDir() {
-               return Path.Combine(
-                               Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
-                               "Chronojump" + Path.DirectorySeparatorChar + "logs");
-       }
-       public static string GetLogFileCurrent() {
-               return Path.Combine(GetLogsDir() +  Path.DirectorySeparatorChar + Constants.FileNameLog);
-       }
-       public static string GetLogFileOld() {
-               return Path.Combine(GetLogsDir() +  Path.DirectorySeparatorChar + Constants.FileNameLogOld);
-       }
-
-       public static string GetLogsCrashedDir() {
-               return Path.Combine(
-                               Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
-                               "Chronojump" + Path.DirectorySeparatorChar + "logs" +
-                               Path.DirectorySeparatorChar + "crashed");
-       }
-       public static string GetLogCrashedFileTimeStamp() {
-               return Path.Combine(GetLogsCrashedDir() +  Path.DirectorySeparatorChar +
-                               "crashed_log_" + UtilDate.ToFile(DateTime.Now) + ".txt");
-       }
-
 
        public static string GetTempDir() {
                string path = Path.GetTempPath();
diff --git a/src/utilEncoder.cs b/src/utilEncoder.cs
index 9f7df92f9..85214deed 100644
--- a/src/utilEncoder.cs
+++ b/src/utilEncoder.cs
@@ -42,8 +42,7 @@ public class UtilEncoder
                
        public static string GetEncoderDir() {
                return Path.Combine(
-                               Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
-                               "Chronojump" + Path.DirectorySeparatorChar + "encoder");
+                               Util.GetLocalDataDir (false) + Path.DirectorySeparatorChar + "encoder");
        }
 
        //to store encoder data and graphs


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]