<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,11 +1,41 @@
-require 'open-uri'
+require 'fileutils'
+require 'planet/config'
+require 'planet/harvest'
+require 'planet/spider'
+require 'planet/splice'
 
-require 'planet/sift'
-require 'planet/transmogrify'
+# create a temporary working directory
+base = File.dirname(File.expand_path(__FILE__))
+work = File.join(base, 'test', 'work', 'reconstitute')
+FileUtils.mkdir_p work
 
-ARGV.each do |arg|
-  doc = Planet::Transmogrify.parse(open(arg))
-  doc.attributes['xml:base'] = arg
-  Planet.sift(doc)
-  puts doc
+# skeleton config
+config = Planet.config
+config['Planet']['cache_directory'] = File.join(work, 'cache')
+config['Planet']['template_files'] = 'themes/common/atom.xml.xslt'
+config['Planet']['output_dir'] = File.join(work, 'output')
+
+# add subscriptions
+ARGV.each {|sub| config[sub] = {'__name__' =&gt; sub}}
+
+# fetch
+Planet.spider
+
+# fill in the rest of the configuration
+Dir[File.join(work, 'cache', 'source', '*')].each do |source|
+  source = Planet.harvest(source)
+  config['Planet']['name'] = source.feed.title
+  config['Planet']['link'] = source.feed.link
+  config['Planet']['owner_name'] = source.feed.author_detail.name
+  config['Planet']['owner_email'] = source.feed.author_detail.email
 end
+
+# produce feed
+Planet.splice
+
+# output feed
+puts open(File.join(work, 'output', 'atom.xml')).read
+
+# cleanup
+FileUtils.rmtree work
+FileUtils.remove_dir File.dirname(work)</diff>
      <filename>reconstitute.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>96138d199a7bd727c7ea645e7345003c3a600cc3</id>
    </parent>
  </parents>
  <author>
    <name>Sam Ruby</name>
    <email>rubys@intertwingly.net</email>
  </author>
  <url>http://github.com/rubys/mars/commit/64972c60bcf3335d548d7d369777aa9620b7c048</url>
  <id>64972c60bcf3335d548d7d369777aa9620b7c048</id>
  <committed-date>2008-10-01T07:07:38-07:00</committed-date>
  <authored-date>2008-10-01T07:07:38-07:00</authored-date>
  <message>More reconstitute based on a full dry run</message>
  <tree>aff5ddc551c4041e8aebbea7b160a13a5cdc40b5</tree>
  <committer>
    <name>Sam Ruby</name>
    <email>rubys@intertwingly.net</email>
  </committer>
</commit>
