module CmdOptions
( options
) where
import Data.Version ( showVersion )
import Options ( Direction (..), Options (..) )
import Paths_hsftp ( version )
import System.Console.CmdArgs ( CmdArgs, Mode, args, cmdArgsMode,
enum, explicit, groupname, help, name,
program, summary, typ, (&=) )
options :: Mode (CmdArgs Options)
options :: Mode (CmdArgs Options)
options = Options -> Mode (CmdArgs Options)
forall a. Data a => a -> Mode (CmdArgs a)
cmdArgsMode (Options -> Mode (CmdArgs Options))
-> Options -> Mode (CmdArgs Options)
forall a b. (a -> b) -> a -> b
$ Options
{ conf :: FilePath
conf = FilePath
"" FilePath -> Ann -> FilePath
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
typ FilePath
"FILE" FilePath -> Ann -> FilePath
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
help FilePath
"Load conf from file"
, fromDate :: FilePath
fromDate = FilePath
"" FilePath -> Ann -> FilePath
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
typ FilePath
"DATE" FilePath -> Ann -> FilePath
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
help FilePath
"Filter files by date (YYYY-MM-DD HH:MM UTC|PST|...)" FilePath -> Ann -> FilePath
forall val. Data val => val -> Ann -> val
&= Ann
explicit FilePath -> Ann -> FilePath
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
name FilePath
"from-date"
, extensions :: [FilePath]
extensions = [] [FilePath] -> Ann -> [FilePath]
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
help FilePath
"Filter files by extensions"
, direction :: Direction
direction = [Direction] -> Direction
forall val. Data val => [val] -> val
enum [Direction
Up Direction -> Ann -> Direction
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
help FilePath
"upload", Direction
Down Direction -> Ann -> Direction
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
help FilePath
"download"]
, src :: FilePath
src = FilePath
"" FilePath -> Ann -> FilePath
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
typ FilePath
"DIR" FilePath -> Ann -> FilePath
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
help FilePath
"Folder to transfer from" FilePath -> Ann -> FilePath
forall val. Data val => val -> Ann -> val
&= Ann
explicit FilePath -> Ann -> FilePath
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
name FilePath
"transfer-from"
, dst :: FilePath
dst = FilePath
"" FilePath -> Ann -> FilePath
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
typ FilePath
"DIR" FilePath -> Ann -> FilePath
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
help FilePath
"Folder to transfer to" FilePath -> Ann -> FilePath
forall val. Data val => val -> Ann -> val
&= Ann
explicit FilePath -> Ann -> FilePath
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
name FilePath
"transfer-to"
, archive :: Maybe FilePath
archive = Maybe FilePath
forall a. Maybe a
Nothing Maybe FilePath -> Ann -> Maybe FilePath
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
typ FilePath
"DIR" Maybe FilePath -> Ann -> Maybe FilePath
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
help FilePath
"Folder to archive to after upload" Maybe FilePath -> Ann -> Maybe FilePath
forall val. Data val => val -> Ann -> val
&= Ann
explicit Maybe FilePath -> Ann -> Maybe FilePath
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
name FilePath
"archive-to"
, verbose :: Int
verbose = Int
0 Int -> Ann -> Int
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
groupname FilePath
"\nMiscellaneous" Int -> Ann -> Int
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
help FilePath
"Verbose level: 1, 2 or 3" Int -> Ann -> Int
forall val. Data val => val -> Ann -> val
&= Ann
explicit Int -> Ann -> Int
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
name FilePath
"verbose"
, dryRun :: Bool
dryRun = Bool
False Bool -> Ann -> Bool
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
help FilePath
"Do a dry-run (\"No-op\") transfer." Bool -> Ann -> Bool
forall val. Data val => val -> Ann -> val
&= Ann
explicit Bool -> Ann -> Bool
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
name FilePath
"dry-run" Bool -> Ann -> Bool
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
name FilePath
"n"
, others :: [FilePath]
others = [] [FilePath] -> Ann -> [FilePath]
forall val. Data val => val -> Ann -> val
&= Ann
args
} Options -> Ann -> Options
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
summary (FilePath
"Hsftp " FilePath -> FilePath -> FilePath
forall a. Semigroup a => a -> a -> a
<> Version -> FilePath
showVersion Version
version FilePath -> FilePath -> FilePath
forall a. Semigroup a => a -> a -> a
<> FilePath
". Usage: hsftp OPTION") Options -> Ann -> Options
forall val. Data val => val -> Ann -> val
&= FilePath -> Ann
program FilePath
"hsftp"