add standard group selector to repo edit form
This commit is contained in:
parent
bf72760af2
commit
39be7eea40
7 changed files with 33 additions and 10 deletions
37
Types/StandardGroups.hs
Normal file
37
Types/StandardGroups.hs
Normal file
|
@ -0,0 +1,37 @@
|
|||
{- git-annex standard repository groups
|
||||
-
|
||||
- Copyright 2012 Joey Hess <joey@kitenet.net>
|
||||
-
|
||||
- Licensed under the GNU GPL version 3 or higher.
|
||||
-}
|
||||
|
||||
module Types.StandardGroups where
|
||||
|
||||
data StandardGroup = ClientGroup | TransferGroup | ArchiveGroup | BackupGroup
|
||||
deriving (Eq, Ord, Enum, Bounded, Show)
|
||||
|
||||
fromStandardGroup :: StandardGroup -> String
|
||||
fromStandardGroup ClientGroup = "client"
|
||||
fromStandardGroup TransferGroup = "transfer"
|
||||
fromStandardGroup ArchiveGroup = "archive"
|
||||
fromStandardGroup BackupGroup = "backup"
|
||||
|
||||
toStandardGroup :: String -> Maybe StandardGroup
|
||||
toStandardGroup "client" = Just ClientGroup
|
||||
toStandardGroup "transfer" = Just TransferGroup
|
||||
toStandardGroup "archive" = Just ArchiveGroup
|
||||
toStandardGroup "backup" = Just BackupGroup
|
||||
toStandardGroup _ = Nothing
|
||||
|
||||
descStandardGroup :: StandardGroup -> String
|
||||
descStandardGroup ClientGroup = "client: a repository on your computer"
|
||||
descStandardGroup TransferGroup = "transfer: distributes data to clients"
|
||||
descStandardGroup ArchiveGroup = "archive: collect content that is not archived elsewhere"
|
||||
descStandardGroup BackupGroup = "backup: collects all content"
|
||||
|
||||
{- See doc/preferred_content.mdwn for explanations of these expressions. -}
|
||||
preferredContent :: StandardGroup -> String
|
||||
preferredContent ClientGroup = "exclude=*/archive/*"
|
||||
preferredContent TransferGroup = "not inallgroup=client and " ++ preferredContent ClientGroup
|
||||
preferredContent ArchiveGroup = "not copies=archive:1"
|
||||
preferredContent BackupGroup = "" -- all content is preferred
|
Loading…
Add table
Add a link
Reference in a new issue