module Network.CrawlChain.CrawlDirective where import Network.CrawlChain.CrawlAction import Network.CrawlChain.CrawlResult data CrawlDirective = SimpleDirective (String -> [CrawlAction]) -- | access content to find absolute follow-up urls | RelativeDirective (String -> [CrawlAction]) -- | as simple, but found relative urls are completed | FollowUpDirective (CrawlResult -> [CrawlAction]) -- | as simple, but with access to complete result | DelayDirective Int CrawlDirective -- | wait additional seconds before executing | RetryDirective Int CrawlDirective -- | if given directive yields no results use add. retries | AlternativeDirective CrawlDirective CrawlDirective -- | fallback to second argument if first yields no results | RestartChainDirective (CrawlAction, CrawlDirective)-- | the possibility to start a new chain (when using alternative) | DirectiveSequence [CrawlDirective] -- | chaining of directives