module Database.TxtSushi.IOUtil (
bufferStdioToTempFile,
getContentsFromFileOrStdin,
printSingleFileUsage,
versionStr) where
import System.Directory
import System.Environment
import System.IO
versionStr :: String
versionStr = "0.6.0"
bufferStdioToTempFile :: IO FilePath
bufferStdioToTempFile = do
stdioText <- getContents
tempDir <- getTemporaryDirectory
(tempFilePath, tempFileHandle) <- openTempFile tempDir "stdiobuffer.txt"
hPutStr tempFileHandle stdioText
hClose tempFileHandle
return tempFilePath
getContentsFromFileOrStdin :: String -> IO String
getContentsFromFileOrStdin filePath =
if filePath == "-"
then getContents
else readFile filePath
printSingleFileUsage :: IO ()
printSingleFileUsage = do
progName <- getProgName
putStrLn $ progName ++ " (" ++ versionStr ++ ")"
putStrLn $ "Usage: " ++ progName ++ " file_name_or_dash"