<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF xmlns="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Project><name>iw.recipe.fetcher</name>
<shortdesc>ZC buildout recipe to fetch urls</shortdesc>
<description>=========================
iw.recipe.fetcher package
=========================

.. contents::

What is iw.recipe.fetcher ?
===========================

Download an url to a local directory.

How to use iw.recipe.fetcher ?
==============================

The recipe download from an http server::

  &gt;&gt;&gt; server_data = tmpdir('server_data')
  &gt;&gt;&gt; write(server_data, 'file1.txt', 'test1')
  &gt;&gt;&gt; write(server_data, 'file2.txt', 'test1')
  &gt;&gt;&gt; write(server_data, 'file3.txt', 'test1')

  &gt;&gt;&gt; server_url = start_server(server_data)

We need some buildout vars::

  &gt;&gt;&gt; write('buildout.cfg', '''
  ... [buildout]
  ... parts=test1
  ...
  ... [test1]
  ... recipe=iw.recipe.fetcher
  ... urls=
  ...       %(server_url)s/file1.txt
  ... base_url=%(server_url)s
  ... files=
  ...       file2.txt
  ...       file3.txt
  ... ''' % dict(server_url=server_url))


Now we can fetch some urls::
  
  &gt;&gt;&gt; print system(buildout)
  Installing test1.
  &lt;BLANKLINE&gt;



It works::

  &gt;&gt;&gt; ls(sample_buildout, 'test1')
  - file1.txt
  - file2.txt
  - file3.txt


  &gt;&gt;&gt; write('buildout.cfg', '''
  ... [buildout]
  ... parts=test2
  ...
  ... [test2]
  ... recipe=iw.recipe.fetcher
  ... urls=
  ...   http://www.example.com/file1.txt
  ... find-links=%(server_url)s
  ... ''' % dict(server_url=server_url))


Now we can fetch some urls::
  
  &gt;&gt;&gt; print system(buildout)
  Uninstalling test1.
  Installing test2.
  &lt;BLANKLINE&gt;</description>
<maintainer><foaf:Person><foaf:name>Ingeniweb</foaf:name>
<foaf:mbox_sha1sum>ce647768fc2915c7851be5591bf96a90966761ef</foaf:mbox_sha1sum></foaf:Person></maintainer>
<release><Version><revision>0.2</revision></Version></release>
</Project></rdf:RDF>