HulkImport 0.1.0.1 → 0.1.0.2
raw patch · 2 files changed
+31/−2 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- HulkImport.cabal +1/−1
- app/Main.hs +30/−1
HulkImport.cabal view
@@ -1,5 +1,5 @@ name: HulkImport-version: 0.1.0.1+version: 0.1.0.2 synopsis: Easily bulk import CSV data to SQL Server description: Please see README.md homepage: http://github.com/tobs169/HulkImport#readme
app/Main.hs view
@@ -1,9 +1,38 @@ module Main where +import System.Environment+import System.Console.GetOpt+ import HulkImport +data Options = Options {+ optInput :: FilePath,+ optOutput :: FilePath+ }+ main :: IO ()-main = importFile testFile "./output"+main = do+ args <- getArgs+ let opt = buildOptions options args defaultOptions+ importFile (optInput opt) (optOutput opt) testFile :: FilePath testFile = "/Users/toby/Downloads/Countries_v1.csv"++defaultOptions :: Options+defaultOptions = Options "./input" "./output"+++buildOptions :: [OptDescr (Options -> Options)] -> [String] -> Options -> Options+buildOptions o =+ let f (x, _, _) = x in+ applyOptions . f . getOpt Permute o++applyOptions :: [Options -> Options] -> Options -> Options+applyOptions fs o = foldr id o fs++options :: [OptDescr (Options -> Options)]+options = [ Option ['i'] ["input"]+ (ReqArg (\f opt -> opt {optInput = f}) "FILE") "input file"+ , Option ['o'] ["output"]+ (ReqArg (\f opt -> opt {optOutput = f}) "FILE") "output file" ]