add download field for svgs etc

This commit is contained in:
Rhiannon Morris 2020-07-22 01:48:29 +02:00
parent 6f3941e816
commit e09e56d5df
3 changed files with 18 additions and 12 deletions

View file

@ -48,10 +48,11 @@ data Artist =
data Image =
Image {
label :: !Text,
path :: !FilePath,
nsfw :: !Bool,
warning :: !(Maybe Text)
label :: !Text,
path :: !FilePath,
download :: !(Maybe FilePath),
nsfw :: !Bool,
warning :: !(Maybe Text)
}
deriving (Eq, Show)
@ -123,12 +124,14 @@ unlabelledImage :: YAML.Node YAML.Pos -> YAML.Parser Image
unlabelledImage y = asStr y <|> asObj y
where
asStr = YAML.withStr "path" \(Text.unpack -> path) ->
pure $ Image {label = "", path, nsfw = False, warning = Nothing}
pure $ Image {label = "", path, download = Nothing,
nsfw = False, warning = Nothing}
asObj = YAML.withMap "image info" \m -> do
path <- m .: "path"
nsfw <- m .:? "nsfw" .!= False
warning <- m .:? "warning"
pure $ Image {label = "", path, nsfw, warning}
path <- m .: "path"
download <- m .:? "download"
nsfw <- m .:? "nsfw" .!= False
warning <- m .:? "warning"
pure $ Image {label = "", path, download, nsfw, warning}
instance FromYAML Link where
parseYAML y = do