manual and source repository groups
This commit is contained in:
parent
8a906b7056
commit
6a067e5c28
6 changed files with 58 additions and 6 deletions
|
@ -7,7 +7,14 @@
|
|||
|
||||
module Types.StandardGroups where
|
||||
|
||||
data StandardGroup = ClientGroup | TransferGroup | BackupGroup | SmallArchiveGroup | FullArchiveGroup
|
||||
data StandardGroup
|
||||
= ClientGroup
|
||||
| TransferGroup
|
||||
| BackupGroup
|
||||
| SmallArchiveGroup
|
||||
| FullArchiveGroup
|
||||
| SourceGroup
|
||||
| ManualGroup
|
||||
deriving (Eq, Ord, Enum, Bounded, Show)
|
||||
|
||||
fromStandardGroup :: StandardGroup -> String
|
||||
|
@ -16,6 +23,8 @@ fromStandardGroup TransferGroup = "transfer"
|
|||
fromStandardGroup BackupGroup = "backup"
|
||||
fromStandardGroup SmallArchiveGroup = "smallarchive"
|
||||
fromStandardGroup FullArchiveGroup = "archive"
|
||||
fromStandardGroup SourceGroup = "source"
|
||||
fromStandardGroup ManualGroup = "manual"
|
||||
|
||||
toStandardGroup :: String -> Maybe StandardGroup
|
||||
toStandardGroup "client" = Just ClientGroup
|
||||
|
@ -23,6 +32,8 @@ toStandardGroup "transfer" = Just TransferGroup
|
|||
toStandardGroup "backup" = Just BackupGroup
|
||||
toStandardGroup "smallarchive" = Just SmallArchiveGroup
|
||||
toStandardGroup "archive" = Just FullArchiveGroup
|
||||
toStandardGroup "source" = Just SourceGroup
|
||||
toStandardGroup "manual" = Just ManualGroup
|
||||
toStandardGroup _ = Nothing
|
||||
|
||||
descStandardGroup :: StandardGroup -> String
|
||||
|
@ -31,6 +42,8 @@ descStandardGroup TransferGroup = "transfer: distributes files to clients"
|
|||
descStandardGroup BackupGroup = "backup: backs up all files"
|
||||
descStandardGroup SmallArchiveGroup = "small archive: archives files located in \"archive\" directories"
|
||||
descStandardGroup FullArchiveGroup = "full archive: archives all files not archived elsewhere"
|
||||
descStandardGroup SourceGroup = "file source: moves files on to other repositories"
|
||||
descStandardGroup ManualGroup = "manual mode: only stores files you manually choose"
|
||||
|
||||
{- See doc/preferred_content.mdwn for explanations of these expressions. -}
|
||||
preferredContent :: StandardGroup -> String
|
||||
|
@ -39,3 +52,5 @@ preferredContent TransferGroup = "not (inallgroup=client and copies=client:2) an
|
|||
preferredContent BackupGroup = "include=*"
|
||||
preferredContent SmallArchiveGroup = "(include=*/archive/* or include=archive/*) and " ++ preferredContent FullArchiveGroup
|
||||
preferredContent FullArchiveGroup = "not (copies=archive:1 or copies=smallarchive:1)"
|
||||
preferredContent SourceGroup = "not (copies=1)"
|
||||
preferredContent ManualGroup = "present and exclude=archive/*"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue