packages feed

mptcpanalyzer-0.0.2.0: src/MptcpAnalyzer/Commands/Export.hs

module MptcpAnalyzer.Commands.Export (
  piExportOpts
  , cmdExport
)
where

import MptcpAnalyzer.Cache
import MptcpAnalyzer.Commands.Definitions
import MptcpAnalyzer.Pcap
import MptcpAnalyzer.Types

import Control.Lens (view, (^.))
import Frames.CSV (writeCSV)
import Options.Applicative
import Polysemy (Embed, Members, Sem)
import Polysemy.State as P
import Prelude hiding (log)

piExportOpts ::  ParserInfo CommandArgs
piExportOpts = info (
   ArgsExport <$> parserList <**> helper)
  ( progDesc "Filename to export to"
  )
  where
    -- _exportFilename
    parserList = argument str (metavar "PCAP" <> completeWith ["toto", "tata"]
          <> help "Load a Csv file"
      )

{-| Export loaded file
-}
cmdExport :: Members '[P.State MyState, Cache, Embed IO] r
    => FilePath
    -> Sem r RetCode
cmdExport args = do
  -- state <- P.get
  return Continue
  -- let loadedPcap = view loadedFile state
  -- fmap writeToCSV loadedPcap >>= \case
  --   Just True -> return Continue
  --   _ -> return $ Error "test"
  -- where
  --   writeToCSV frame = writeCSV (_exportFilename args) frame >> return True