[REFACTO] WIP
[gargantext.git] / bin / gargantext-import / Main.hs
index 1fb6f3c79995cb9abf968bb18e91ea377421b34f..66ecddff6160558a05ce0556544ef8905e7cece0 100644 (file)
@@ -19,21 +19,23 @@ Import a corpus binary.
 
 module Main where
 
+import Data.Either
 import Prelude (read)
 import Control.Exception (finally)
-import Servant (ServantErr)
 import Gargantext.Prelude
 import Gargantext.Database.Flow (FlowCmdM, flowCorpusFile)
-import Gargantext.Text.Corpus.Parsers (FileFormat(CsvHalFormat))
+import Gargantext.Text.Corpus.Parsers (FileFormat(..))
 import Gargantext.Database.Utils (Cmd, )
 import Gargantext.Database.Types.Node (CorpusId, toHyperdataDocument)
 import Gargantext.Database.Schema.User (insertUsersDemo)
 import Gargantext.Text.Terms (TermType(..))
 import Gargantext.Core (Lang(..))
+import Gargantext.API -- (GargError)
 import Gargantext.API.Node () -- instances
 import Gargantext.API.Settings (withDevEnv, runCmdDev, DevEnv)
 import System.Environment (getArgs)
 --import Gargantext.Text.Corpus.Parsers.GrandDebat (readFile, GrandDebatReference(..))
+import Data.Text (Text)
 import qualified Data.Text as Text
 import Control.Monad.IO.Class (liftIO)
 
@@ -42,16 +44,17 @@ main = do
   [userCreate, user, name, iniPath, limit, corpusPath] <- getArgs
 
   --{-
-  let createUsers :: Cmd ServantErr Int64
+  let createUsers :: Cmd GargError Int64
       createUsers = insertUsersDemo
   
   let
-    --tt = (Unsupervised EN 5 1 Nothing)
-    tt = (Mono EN)
-    cmd :: forall m. FlowCmdM DevEnv ServantErr m => m CorpusId
-    cmd = flowCorpusFile (cs user) (cs name) (read limit :: Int) tt  CsvHalFormat corpusPath
+    --tt = (Unsupervised EN 6 0 Nothing)
+    tt = (Multi EN)
+    format = CsvGargV3 -- CsvHalFormat --WOS
+    cmd :: forall m. FlowCmdM DevEnv GargError m => m CorpusId
+    cmd = flowCorpusFile (cs user) (Left (cs name :: Text)) (read limit :: Int) tt  format corpusPath
   {-
-  let debatCorpus :: forall m. FlowCmdM DevEnv ServantErr m => m CorpusId
+  let debatCorpus :: forall m. FlowCmdM DevEnv GargError m => m CorpusId
       debatCorpus = do
         docs <- liftIO ( splitEvery 500
                        <$> take (read limit :: Int)