Initial commit
authorEfthimios Toulas <etoulas@suse.de>
Thu, 24 Nov 2005 16:40:50 +0000 (16:40 +0000)
committerEfthimios Toulas <etoulas@suse.de>
Thu, 24 Nov 2005 16:40:50 +0000 (16:40 +0000)
devel/devel.etoulas/helix2yum.rb [new file with mode: 0755]
devel/devel.etoulas/test.xml [new file with mode: 0644]

diff --git a/devel/devel.etoulas/helix2yum.rb b/devel/devel.etoulas/helix2yum.rb
new file mode 100755 (executable)
index 0000000..0173263
--- /dev/null
@@ -0,0 +1,38 @@
+#!/usr/bin/ruby -w
+
+require 'rexml/document'
+include REXML
+
+FILENAME = 'test.xml'
+
+if !File.exists?( FILENAME )
+  puts 'File not found.'
+  exit 1
+elsif !File.readable?( FILENAME )
+  puts 'File not readable.'
+  exit 1
+end
+
+# puts "Opening file #{FILENAME} (#{FILENAME.size} bytes)"
+printf( "Opening file %s (%d bytes)\n", FILENAME, FILENAME.size )
+file = File.open( FILENAME )
+
+# use file to instanciate an XML-Object
+doc = Document.new file
+
+### Finds and returns the first node that matches the supplied xpath
+# puts XPath.first( doc, '//name' )
+
+### Iterates over nodes that match the given path, calling the supplied block with the match.
+a = XPath.each( doc, '//name' ) { |elem| puts elem.text }
+printf( "elements matching: %d\n", a.length )
+
+### Returns an array of nodes matching a given XPath
+#a = XPath.match( doc, '//name' )
+#printf( "%d elements matching.\n", a.length )
+#puts a   # <name>G</name> ...
+
+# get Attributes
+# doc.elements.each( 'channel/subchannel/package' ) { |element| puts element.attributes['name'] }
+
+file.close
diff --git a/devel/devel.etoulas/test.xml b/devel/devel.etoulas/test.xml
new file mode 100644 (file)
index 0000000..e4666d4
--- /dev/null
@@ -0,0 +1,152 @@
+<channel><subchannel>
+<package>
+  <name>G</name>
+  <summary>A fake package</summary>
+  <description>A fake package</description>
+  <section>misc</section>
+  <history>
+    <update>
+      <hid>12345</hid>
+      <epoch>0</epoch>
+      <version>1.0</version>
+      <release>1</release>
+      <filename>foo.bar</filename>
+      <filesize>123</filesize>
+      <installedsize>234</installedsize>
+      <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+      <importance>suggested</importance>
+      <description>Yggdrasil Linux</description>
+    </update>
+  </history>
+  <provides>
+    <dep name="x" op="(any)" version="1.0"/>
+  </provides>
+</package>
+<package>
+  <name>A</name>
+  <summary>A fake package</summary>
+  <description>A fake package</description>
+  <section>misc</section>
+  <history>
+    <update>
+      <hid>12345</hid>
+      <epoch>0</epoch>
+      <version>1.0</version>
+      <release>1</release>
+      <filename>foo.bar</filename>
+      <filesize>123</filesize>
+      <installedsize>234</installedsize>
+      <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+      <importance>suggested</importance>
+      <description>Yggdrasil Linux</description>
+    </update>
+  </history>
+  <requires>
+    <dep name="b" op="(any)" version="1.0"/>
+  </requires>
+  <provides>
+    <dep name="a" op="(any)" version="1.0"/>
+  </provides>
+</package>
+<package>
+  <name>B</name>
+  <summary>A fake package</summary>
+  <description>A fake package</description>
+  <section>misc</section>
+  <history>
+    <update>
+      <hid>12345</hid>
+      <epoch>0</epoch>
+      <version>1.0</version>
+      <release>1</release>
+      <filename>foo.bar</filename>
+      <filesize>123</filesize>
+      <installedsize>234</installedsize>
+      <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+      <importance>suggested</importance>
+      <description>Yggdrasil Linux</description>
+    </update>
+  </history>
+  <requires>
+    <dep name="c" op="(any)" version="1.0"/>
+  </requires>
+  <provides>
+    <dep name="b" op="(any)" version="1.0"/>
+  </provides>
+  <conflicts>
+    <dep name="e" op="(any)" version="1.0"/>
+  </conflicts>
+</package>
+<package>
+  <name>C</name>
+  <summary>A fake package</summary>
+  <description>A fake package</description>
+  <section>misc</section>
+  <history>
+    <update>
+      <hid>12345</hid>
+      <epoch>0</epoch>
+      <version>1.0</version>
+      <release>1</release>
+      <filename>foo.bar</filename>
+      <filesize>123</filesize>
+      <installedsize>234</installedsize>
+      <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+      <importance>suggested</importance>
+      <description>Yggdrasil Linux</description>
+    </update>
+  </history>
+  <provides>
+    <dep name="c" op="(any)" version="1.0"/>
+  </provides>
+</package>
+<package>
+  <name>D</name>
+  <summary>A fake package</summary>
+  <description>A fake package</description>
+  <section>misc</section>
+  <history>
+    <update>
+      <hid>12345</hid>
+      <epoch>0</epoch>
+      <version>1.0</version>
+      <release>1</release>
+      <filename>foo.bar</filename>
+      <filesize>123</filesize>
+      <installedsize>234</installedsize>
+      <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+      <importance>suggested</importance>
+      <description>Yggdrasil Linux</description>
+    </update>
+  </history>
+  <provides>
+    <dep name="d" op="(any)" version="1.0"/>
+    <dep name="c" op="(any)" version="1.0"/>
+  </provides>
+</package>
+<package>
+  <name>E</name>
+  <summary>A fake package</summary>
+  <description>A fake package</description>
+  <section>misc</section>
+  <history>
+    <update>
+      <hid>12345</hid>
+      <epoch>0</epoch>
+      <version>1.0</version>
+      <release>1</release>
+      <filename>foo.bar</filename>
+      <filesize>123</filesize>
+      <installedsize>234</installedsize>
+      <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+      <importance>suggested</importance>
+      <description>Yggdrasil Linux</description>
+    </update>
+  </history>
+  <provides>
+    <dep name="c" op="(any)" version="1.0"/>
+    <dep name="e" op="(any)" version="1.0"/>
+    <dep name="x" op="(any)" version="1.0"/>
+  </provides>
+</package>
+</subchannel></channel>