Commit d556ab83 authored by Alexandre Delanoë's avatar Alexandre Delanoë

[OPTIM] Flow reduced to master flow + insert users for empty database in gargantext-import.

parent 232db569
...@@ -26,7 +26,7 @@ import Gargantext.Database.Flow (FlowCmdM, flowCorpus'') ...@@ -26,7 +26,7 @@ import Gargantext.Database.Flow (FlowCmdM, flowCorpus'')
import Gargantext.Text.Parsers (FileFormat(CsvHalFormat)) import Gargantext.Text.Parsers (FileFormat(CsvHalFormat))
import Gargantext.Database.Utils (Cmd, ) import Gargantext.Database.Utils (Cmd, )
import Gargantext.Database.Types.Node (CorpusId) import Gargantext.Database.Types.Node (CorpusId)
--import Gargantext.Database.Schema.User (insertUsers, gargantuaUser, simpleUser) import Gargantext.Database.Schema.User (insertUsersDemo)
import Gargantext.Text.Terms (TermType(..)) import Gargantext.Text.Terms (TermType(..))
import Gargantext.Core (Lang(..)) import Gargantext.Core (Lang(..))
import Gargantext.API.Node () -- instances import Gargantext.API.Node () -- instances
...@@ -40,15 +40,16 @@ main :: IO () ...@@ -40,15 +40,16 @@ main :: IO ()
main = do main = do
[user, iniPath, name, corpusPath] <- getArgs [user, iniPath, name, corpusPath] <- getArgs
{-let createUsers :: Cmd ServantErr Int64 --{-
createUsers = insertUsers [gargantuaUser,simpleUser] let createUsers :: Cmd ServantErr Int64
createUsers = insertUsersDemo
{-
let cmdCorpus :: forall m. FlowCmdM DevEnv ServantErr m => m CorpusId let cmdCorpus :: forall m. FlowCmdM DevEnv ServantErr m => m CorpusId
cmdCorpus = flowCorpus (cs user) (cs name) (Mono EN) CsvHalFormat corpusPath cmdCorpus = flowCorpus (cs user) (cs name) (Mono EN) CsvHalFormat corpusPath
-} --}
let cmdCorpus :: forall m. FlowCmdM DevEnv ServantErr m => m [CorpusId] let cmdCorpus :: forall m. FlowCmdM DevEnv ServantErr m => m [CorpusId]
cmdCorpus = do cmdCorpus = do
docs <- liftIO (splitEvery 1000 <$> take 5000 <$> readFile corpusPath :: IO [[GrandDebatReference ]]) docs <- liftIO (splitEvery 3000 <$> readFile corpusPath :: IO [[GrandDebatReference ]])
ids <- flowCorpus'' (Text.pack user) (Text.pack name) (Mono FR) docs ids <- flowCorpus'' (Text.pack user) (Text.pack name) (Mono FR) docs
pure ids pure ids
...@@ -56,6 +57,7 @@ main = do ...@@ -56,6 +57,7 @@ main = do
env <- newDevEnvWith iniPath env <- newDevEnvWith iniPath
-- Better if we keep only one call to runCmdDev. -- Better if we keep only one call to runCmdDev.
_ <- runCmdDev env createUsers
_ <- runCmdDev env cmdCorpus _ <- runCmdDev env cmdCorpus
pure () pure ()
......
...@@ -58,7 +58,7 @@ import Gargantext.Database.Types.Node -- (HyperdataDocument(..), NodeType(..), N ...@@ -58,7 +58,7 @@ import Gargantext.Database.Types.Node -- (HyperdataDocument(..), NodeType(..), N
import Gargantext.Database.Utils (Cmd, CmdM) import Gargantext.Database.Utils (Cmd, CmdM)
import Gargantext.Ext.IMT (toSchoolName) import Gargantext.Ext.IMT (toSchoolName)
import Gargantext.Prelude import Gargantext.Prelude
import Gargantext.Text.List --import Gargantext.Text.List
import Gargantext.Text.Parsers (parseDocs, FileFormat) import Gargantext.Text.Parsers (parseDocs, FileFormat)
import Gargantext.Text.Terms (TermType(..)) import Gargantext.Text.Terms (TermType(..))
import Gargantext.Text.Terms (extractTerms) import Gargantext.Text.Terms (extractTerms)
...@@ -99,33 +99,29 @@ flowCorpusSearchInDatabase :: FlowCmdM env ServantErr m ...@@ -99,33 +99,29 @@ flowCorpusSearchInDatabase :: FlowCmdM env ServantErr m
flowCorpusSearchInDatabase u q = do flowCorpusSearchInDatabase u q = do
(_masterUserId, _masterRootId, cId) <- getOrMkRootWithCorpus userMaster "" (_masterUserId, _masterRootId, cId) <- getOrMkRootWithCorpus userMaster ""
ids <- map fst <$> searchInDatabase cId (stemIt q) ids <- map fst <$> searchInDatabase cId (stemIt q)
flowCorpusUser u q [ids] flowCorpusUser u q ids
flowCorpusMaster :: FlowCmdM env ServantErr m => TermType Lang -> [HyperdataDocument] -> m [[NodeId]] -- TODO uniformize language of corpus
flowCorpusMaster la hd = do flowCorpusMaster :: FlowCmdM env ServantErr m => TermType Lang -> [HyperdataDocument] -> m [NodeId]
-- Master Flow flowCorpusMaster la hd = (insertMasterDocs la) $ (map addUniqIdsDoc) hd
let docs = map addUniqIdsDoc hd
-- TODO uniformize language of corpus
ids <- mapM (insertMasterDocs la) $ splitEvery 10000 docs
pure ids
flowCorpusUser :: FlowCmdM env ServantErr m => Username -> CorpusName -> [[NodeId]] -> m CorpusId flowCorpusUser :: FlowCmdM env ServantErr m => Username -> CorpusName -> [NodeId] -> m CorpusId
flowCorpusUser userName corpusName ids = do flowCorpusUser userName corpusName ids = do
-- User Flow -- User Flow
(userId, _rootId, userCorpusId) <- getOrMkRootWithCorpus userName corpusName (_userId, _rootId, userCorpusId) <- getOrMkRootWithCorpus userName corpusName
-- TODO: check if present already, ignore -- TODO: check if present already, ignore
_ <- Doc.add userCorpusId $ concat ids _ <- Doc.add userCorpusId ids
-- User List Flow -- User List Flow
(_masterUserId, _masterRootId, masterCorpusId) <- getOrMkRootWithCorpus userMaster "" --(_masterUserId, _masterRootId, masterCorpusId) <- getOrMkRootWithCorpus userMaster ""
ngs <- buildNgramsLists userCorpusId masterCorpusId --ngs <- buildNgramsLists userCorpusId masterCorpusId
userListId <- flowList userId userCorpusId ngs --userListId <- flowList userId userCorpusId ngs
printDebug "userListId" userListId --printDebug "userListId" userListId
-- User Graph Flow -- User Graph Flow
_ <- mkGraph userCorpusId userId --_ <- mkGraph userCorpusId userId
-- User Dashboard Flow -- User Dashboard Flow
-- _ <- mkDashboard userCorpusId userId -- _ <- mkDashboard userCorpusId userId
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment