Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
haskell-gargantext
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
160
Issues
160
List
Board
Labels
Milestones
Merge Requests
14
Merge Requests
14
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gargantext
haskell-gargantext
Commits
7c1bc974
Commit
7c1bc974
authored
Jun 25, 2024
by
Alfredo Di Napoli
1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CLI: Replace DB obfuscation executable
parent
f789b2e4
Pipeline
#6268
failed with stages
Changes
4
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
37 additions
and
56 deletions
+37
-56
ObfuscateDB.hs
bin/gargantext-cli/CLI/ObfuscateDB.hs
+14
-27
Types.hs
bin/gargantext-cli/CLI/Types.hs
+11
-0
Main.hs
bin/gargantext-cli/Main.hs
+6
-2
gargantext.cabal
gargantext.cabal
+6
-27
No files found.
bin/gargantext-
db-obfuscation/Main
.hs
→
bin/gargantext-
cli/CLI/ObfuscateDB
.hs
View file @
7c1bc974
...
...
@@ -28,8 +28,10 @@ https://stackoverflow.com/questions/876522/creating-a-copy-of-a-database-in-post
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE Strict #-}
module
Main
where
module
CLI.ObfuscateDB
(
obfuscateDB
,
obfuscateDBCmd
)
where
import
Data.Text
qualified
as
T
import
Database.PostgreSQL.Simple
qualified
as
PSQL
...
...
@@ -37,23 +39,16 @@ import Database.PostgreSQL.Simple.SqlQQ (sql)
import
Gargantext.Core
(
toDBid
)
import
Gargantext.Database.Admin.Config
()
import
Gargantext.Database.Admin.Types.Node
(
NodeType
(
..
))
import
Gargantext.Prelude
hiding
(
option
)
import
Gargantext.Prelude
import
Gargantext.Prelude.Database
(
runPGSExecute
,
runPGSQuery
)
import
Options.Applicative.Simple
import
CLI.Types
import
Options.Applicative
data
Args
=
Args
{
dbHost
::
Text
,
dbPort
::
Int
,
dbName
::
Text
,
dbUser
::
Text
,
dbPassword
::
Text
}
deriving
(
Show
,
Eq
)
obfuscateDBCmd
::
HasCallStack
=>
Mod
CommandFields
CLI
obfuscateDBCmd
=
command
"obfuscate-db"
(
info
(
helper
<*>
fmap
CLISub
obfuscateDB_p
)
(
progDesc
"Obfuscate a cloned Gargantext DB."
))
args
::
Parser
Args
args
=
Args
obfuscateDB_p
::
Parser
CLICmd
obfuscateDB_p
=
fmap
CCMD_obfuscate_db
$
ObfuscateDBArgs
<$>
(
strOption
(
long
"db-host"
<>
metavar
"db-host"
<>
help
"Location of the DB server"
...
...
@@ -72,16 +67,8 @@ args = Args
<>
metavar
"db-password"
<>
value
""
))
main
::
IO
()
main
=
do
(
opts
,
()
)
<-
simpleOptions
"0.0.1"
"gargantext DB obfuscation"
"Obfuscates a cloned Gargantext DB"
args
empty
obfuscateDB
::
ObfuscateDBArgs
->
IO
()
obfuscateDB
opts
=
do
putText
$
show
opts
let
ci
=
PSQL
.
ConnectInfo
{
connectHost
=
T
.
unpack
$
dbHost
opts
...
...
bin/gargantext-cli/CLI/Types.hs
View file @
7c1bc974
...
...
@@ -3,6 +3,7 @@ module CLI.Types where
import
Prelude
import
Data.String
import
Data.Text
(
Text
)
newtype
CorpusFile
=
CorpusFile
{
_CorpusFile
::
FilePath
}
deriving
(
Show
,
Eq
,
IsString
)
...
...
@@ -13,9 +14,19 @@ newtype TermListFile = TermListFile { _TermsListFile :: FilePath }
newtype
OutputFile
=
OutputFile
{
_OutputFile
::
FilePath
}
deriving
(
Show
,
Eq
,
IsString
)
data
ObfuscateDBArgs
=
ObfuscateDBArgs
{
dbHost
::
!
Text
,
dbPort
::
!
Int
,
dbName
::
!
Text
,
dbUser
::
!
Text
,
dbPassword
::
!
Text
}
deriving
(
Show
,
Eq
)
data
CLICmd
=
CCMD_clean_csv_corpus
|
CCMD_filter_terms_and_cooc
!
CorpusFile
!
TermListFile
!
OutputFile
|
CCMD_obfuscate_db
!
ObfuscateDBArgs
deriving
(
Show
,
Eq
)
data
CLI
=
...
...
bin/gargantext-cli/Main.hs
View file @
7c1bc974
...
...
@@ -19,8 +19,9 @@ module Main where
import
Prelude
import
CLI.Types
import
CLI.FilterTermsAndCooc
import
CLI.ObfuscateDB
(
obfuscateDB
,
obfuscateDBCmd
)
import
CLI.Types
import
Options.Applicative
runCLI
::
CLI
->
IO
()
...
...
@@ -29,6 +30,8 @@ runCLI = \case
->
putStrLn
"TODO."
CLISub
(
CCMD_filter_terms_and_cooc
corpusFile
termListFile
outputFile
)
->
filterTermsAndCoocCLI
corpusFile
termListFile
outputFile
CLISub
(
CCMD_obfuscate_db
args
)
->
obfuscateDB
args
main
::
IO
()
main
=
runCLI
=<<
execParser
opts
...
...
@@ -40,5 +43,6 @@ main = runCLI =<< execParser opts
allOptions
::
Parser
CLI
allOptions
=
subparser
(
filterTermsAndCoocCmd
filterTermsAndCoocCmd
<>
obfuscateDBCmd
)
gargantext.cabal
View file @
7c1bc974
...
...
@@ -89,10 +89,6 @@ flag test-crypto
default: False
manual: True
flag disable-db-obfuscation-executable
default: False
manual: True
-- When enabled, it suppresses at compile time the
-- debug output for the phylo code, so that it doesn't
-- hinder its performance.
...
...
@@ -711,8 +707,9 @@ executable gargantext-cli
main-is: Main.hs
other-modules:
CLI.CleanCsvCorpus
CLI.Types
CLI.FilterTermsAndCooc
CLI.ObfuscateDB
CLI.Types
CLI.Utils
Paths_gargantext
hs-source-dirs:
...
...
@@ -723,39 +720,21 @@ executable gargantext-cli
, bytestring ^>= 0.10.12.0
, cassava ^>= 0.5.2.0
, containers ^>= 0.6.5.1
, extra
, extra ^>= 1.7.9
, full-text-search ^>= 0.2.1.4
, gargantext
, gargantext-prelude
, ini ^>= 0.4.1
, optparse-generic ^>= 1.4.7
, optparse-applicative
, optparse-generic ^>= 1.4.7
, postgresql-simple ^>= 0.6.4
, protolude ^>= 0.3.3
, split ^>= 0.2.3.4
, text ^>= 1.2.4.1
, unordered-containers ^>= 0.2.16.0
, vector ^>= 0.12.3.0
executable gargantext-db-obfuscation
import:
defaults
, optimized
main-is: Main.hs
other-modules:
Paths_gargantext
hs-source-dirs:
bin/gargantext-db-obfuscation
if flag(disable-db-obfuscation-executable)
buildable: False
else
build-depends:
extra
, gargantext
, gargantext-prelude
, optparse-simple
, postgresql-simple ^>= 0.6.4
, text
executable gargantext-import
import:
defaults
...
...
Przemyslaw Kaminski
@cgenie
mentioned in commit
5660aec0
·
Oct 08, 2024
mentioned in commit
5660aec0
mentioned in commit 5660aec07ec5a0a0a5468f440092c1a8f57a864e
Toggle commit list
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment