From d44fdc3fdd5934dd91aee9197b7c2f5075cbc5f7 Mon Sep 17 00:00:00 2001
From: Baptiste Bauvin <baptiste.bauvin@lis-lab.fr>
Date: Tue, 2 Apr 2019 08:31:10 -0400
Subject: [PATCH] Avoid multiple temp file to crush themselves with random

---
 .../MonoviewClassifiers/SCMPregen.py          | 11 +++++-----
 .../MonoviewClassifiers/SCMPregenTree.py      | 22 ++++++++++---------
 .../MonoviewClassifiers/SCMSparsity.py        | 11 +++++-----
 .../MonoviewClassifiers/SCMSparsityTree.py    | 22 ++++++++++---------
 4 files changed, 36 insertions(+), 30 deletions(-)

diff --git a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregen.py b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregen.py
index 6ee4f62c..b92cd044 100644
--- a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregen.py
+++ b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregen.py
@@ -34,13 +34,14 @@ class SCMPregen(scm, BaseMonoviewClassifier, PregenClassifier):
     def fit(self, X, y, tiebreaker=None, iteration_callback=None, **fit_params):
         pregen_X, _ = self.pregen_voters(X, y)
         list_files = os.listdir(".")
-        if "pregen_x.csv" in list_files:
-            i = 0
-            file_name = "pregen_x" + str(i) + ".csv"
+        a = int(np.random.randint(0, 10000))
+        if "pregen_x"+str(a)+".csv" in list_files:
+            a = int(np.random.randint(0, 10000))
+            file_name = "pregen_x" + str(a) + ".csv"
             while file_name in list_files:
-                i += 1
+                a = int(np.random.randint(0, 10000))
         else:
-            file_name="pregen_x.csv"
+            file_name = "pregen_x"+str(a)+".csv"
         np.savetxt(file_name, pregen_X, delimiter=',')
         place_holder = np.genfromtxt(file_name, delimiter=',')
         os.remove(file_name)
diff --git a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregenTree.py b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregenTree.py
index b2f59c39..9ce31788 100644
--- a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregenTree.py
+++ b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregenTree.py
@@ -36,13 +36,14 @@ class SCMPregenTree(scm, BaseMonoviewClassifier, PregenClassifier):
     def fit(self, X, y, tiebreaker=None, iteration_callback=None, **fit_params):
         pregen_X, _ = self.pregen_voters(X, y, generator="Trees")
         list_files = os.listdir(".")
-        if "pregen_x.csv" in list_files:
-            i = 0
-            file_name = "pregen_x" + str(i) + ".csv"
+        a = int(np.random.randint(0, 10000))
+        if "pregen_x"+str(a)+".csv" in list_files:
+            a = int(np.random.randint(0, 10000))
+            file_name = "pregen_x" + str(a) + ".csv"
             while file_name in list_files:
-                i += 1
+                a = int(np.random.randint(0, 10000))
         else:
-            file_name = "pregen_x.csv"
+            file_name = "pregen_x"+str(a)+".csv"
         np.savetxt(file_name, pregen_X, delimiter=',')
         place_holder = np.genfromtxt(file_name, delimiter=',')
         os.remove(file_name)
@@ -52,13 +53,14 @@ class SCMPregenTree(scm, BaseMonoviewClassifier, PregenClassifier):
     def predict(self, X):
         pregen_X, _ = self.pregen_voters(X, generator="Trees")
         list_files = os.listdir(".")
-        if "pregen_x.csv" in list_files:
-            i = 0
-            file_name = "pregen_x" + str(i) + ".csv"
+        a = int(np.random.randint(0, 10000))
+        if "pregen_x"+str(a)+".csv" in list_files:
+            a = int(np.random.randint(0, 10000))
+            file_name = "pregen_x" + str(a) + ".csv"
             while file_name in list_files:
-                i += 1
+                a = int(np.random.randint(0, 10000))
         else:
-            file_name="pregen_x.csv"
+            file_name = "pregen_x"+str(a)+".csv"
         np.savetxt(file_name, pregen_X, delimiter=',')
         place_holder = np.genfromtxt(file_name, delimiter=',')
         os.remove(file_name)
diff --git a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMSparsity.py b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMSparsity.py
index 05f7e257..62b8ee8e 100644
--- a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMSparsity.py
+++ b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMSparsity.py
@@ -43,13 +43,14 @@ class SCMSparsity(BaseMonoviewClassifier, PregenClassifier):
     def fit(self, X, y, tiebreaker=None, iteration_callback=None, **fit_params):
         pregen_X, _ = self.pregen_voters(X, y)
         list_files = os.listdir(".")
-        if "pregen_x.csv" in list_files:
-            i = 0
-            file_name = "pregen_x" + str(i) + ".csv"
+        a = int(np.random.randint(0, 10000))
+        if "pregen_x"+str(a)+".csv" in list_files:
+            a = int(np.random.randint(0, 10000))
+            file_name = "pregen_x" + str(a) + ".csv"
             while file_name in list_files:
-                i += 1
+                a = int(np.random.randint(0, 10000))
         else:
-            file_name = "pregen_x.csv"
+            file_name = "pregen_x"+str(a)+".csv"
         np.savetxt(file_name, pregen_X, delimiter=',')
         place_holder = np.genfromtxt(file_name, delimiter=',')
         os.remove(file_name)
diff --git a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMSparsityTree.py b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMSparsityTree.py
index e7cbad62..bd883c61 100644
--- a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMSparsityTree.py
+++ b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMSparsityTree.py
@@ -43,13 +43,14 @@ class SCMSparsityTree(BaseMonoviewClassifier, PregenClassifier):
     def fit(self, X, y, tiebreaker=None, iteration_callback=None, **fit_params):
         pregen_X, _ = self.pregen_voters(X, y, generator="Trees")
         list_files = os.listdir(".")
-        if "pregen_x.csv" in list_files:
-            i = 0
-            file_name = "pregen_x" + str(i) + ".csv"
+        a = int(np.random.randint(0, 10000))
+        if "pregen_x"+str(a)+".csv" in list_files:
+            a = int(np.random.randint(0, 10000))
+            file_name = "pregen_x" + str(a) + ".csv"
             while file_name in list_files:
-                i += 1
+                a = int(np.random.randint(0, 10000))
         else:
-            file_name = "pregen_x.csv"
+            file_name = "pregen_x"+str(a)+".csv"
         np.savetxt(file_name, pregen_X, delimiter=',')
         place_holder = np.genfromtxt(file_name, delimiter=',')
         os.remove(file_name)
@@ -64,13 +65,14 @@ class SCMSparsityTree(BaseMonoviewClassifier, PregenClassifier):
     def predict(self, X):
         pregen_X, _ = self.pregen_voters(X, generator="Trees")
         list_files = os.listdir(".")
-        if "pregen_x.csv" in list_files:
-            i=0
-            file_name="pregen_x"+str(i)+".csv"
+        a = int(np.random.randint(0, 10000))
+        if "pregen_x"+str(a)+".csv" in list_files:
+            a = int(np.random.randint(0, 10000))
+            file_name = "pregen_x" + str(a) + ".csv"
             while file_name in list_files:
-                i+=1
+                a = int(np.random.randint(0, 10000))
         else:
-            file_name="pregen_x.csv"
+            file_name = "pregen_x"+str(a)+".csv"
         np.savetxt(file_name, pregen_X, delimiter=',')
         place_holder = np.genfromtxt(file_name, delimiter=',')
         os.remove(file_name)
-- 
GitLab