1module TutorialD.Interpreter.Export.CSV where
2import ProjectM36.Relation.Show.CSV
3import TutorialD.Interpreter.Export.Base
4import TutorialD.Interpreter.RelationalExpr
5import TutorialD.Interpreter.Base
8import Text.Megaparsec.Text
9import qualified Data.ByteString.Lazy as BS
10import Control.Exception (try)
11import qualified Data.Text as T
13exportCSVP :: Parser RelVarDataExportOperator
16 exportExpr <- relExprP
18 return $ RelVarDataExportOperator exportExpr (T.unpack path) exportRelationCSV
20exportRelationCSV :: RelVarDataExportOperator -> Relation -> IO (Maybe RelationalError)
21exportRelationCSV (RelVarDataExportOperator _ pathOut _) rel = do
22 case relationAsCSV rel of
23 Left err -> return $ Just err
25 writeResult <- try (BS.writeFile pathOut csvData) :: IO (Either IOError ())
27 Left err -> return $ Just (ExportError $ T.pack (show err))
28 Right _ -> return Nothing
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list