flickr-0.3.0: Flickr/MachineTags.hs
--------------------------------------------------------------------
-- |
-- Module : Flickr.MachineTags
-- Description : flickr.machinetags - fetch photos by triple (ns,pred,val) tags.
-- Copyright : (c) Sigbjorn Finne, 2008
-- License : BSD3
--
-- Maintainer: Sigbjorn Finne <sof@forkIO.com>
-- Stability : provisional
-- Portability: portable
--
-- The flickr.machinetags API, fetching photos by their machinetags.
--------------------------------------------------------------------
module Flickr.MachineTags where
import Flickr.Monad
import Flickr.Types
import Flickr.Types.Import
-- | Return a list of unique namespaces, optionally limited by a given predicate, in alphabetical order.
getNamespaces :: Maybe String -- ^ optional predicate
-> FM (NameContext, [Namespace])
getNamespaces mbPred =
flickTranslate toNamespaceList $
flickrCall "flickr.machinetags.getNamespaces"
(mbArg "predicate" mbPred [])
-- | Return a list of unique namespace and predicate pairs, optionally
-- limited by predicate or namespace, in alphabetical order.
getPairs :: Maybe String -- ^ namespace constraint
-> Maybe String -- ^ predicate constraint
-> FM (ResContext MachineTagPair, [MachineTagPair])
getPairs mbNS mbPred =
flickTranslate toPairList $
flickrCall "flickr.machinetags.getPairs"
(mbArg "predicate" mbPred $
mbArg "namespace" mbNS [])
-- | Return a list of unique predicates, optionally limited by a given namespace.
getPredicates :: Maybe String -> FM (ResContext MachineTagPred, [MachineTagPred])
getPredicates mbNS =
flickTranslate toPredList $
flickrCall "flickr.machinetags.getPredicates"
(mbArg "namespace" mbNS [])
-- | Return a list of unique values for a namespace and predicate.
getValues :: String -> String -> FM (ResContext MachineTag, [MachineTag])
getValues ns pre =
flickTranslate toMachineTagList $
flickrCall "flickr.machinetags.getValues"
[ ("namespace", ns)
, ("predicate", pre)
]