pingus-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pingus-CVS] r2640 - branches/pingus_sdl


From: grumbel at BerliOS
Subject: [Pingus-CVS] r2640 - branches/pingus_sdl
Date: Sat, 13 Jan 2007 22:37:12 +0100

Author: grumbel
Date: 2007-01-13 22:37:11 +0100 (Sat, 13 Jan 2007)
New Revision: 2640

Added:
   branches/pingus_sdl/clanlib_2_sexpr.rb
Log:
- little helper tool to convert data files

Added: branches/pingus_sdl/clanlib_2_sexpr.rb
===================================================================
--- branches/pingus_sdl/clanlib_2_sexpr.rb      2007-01-13 21:09:08 UTC (rev 
2639)
+++ branches/pingus_sdl/clanlib_2_sexpr.rb      2007-01-13 21:37:11 UTC (rev 
2640)
@@ -0,0 +1,45 @@
+#!/usr/bin/ruby -w
+
+require "rexml/document"
+
+def parse_sprite(prefix, sprite)
+  puts "(sprite"
+  puts "  (name \"#{sprite.attribute("name")}\")"
+  sprite.elements.each("image") {|el|
+    puts "  (file \"#{el.attribute("file")}\"))"
+  }
+end
+
+def parse_section(prefix, section)
+  section.each{|el|
+    if el.is_a?(REXML::Text) then
+      # skip text nodes, just indention junk
+      # puts "'#{el}'" 
+    elsif el.is_a?(REXML::Element) then
+      case el.name
+      when "section"
+        parse_section("#{prefix}/#{el.attribute("name")}", el)
+      when "sprite"
+        parse_sprite(prefix, el)
+      when "surface"
+        puts "surface: #{prefix}/#{el.attribute("name")}"
+      else
+        puts "Unknown element: #{el.name}"
+      end
+    else
+      put "<unknown>"
+    end
+  }
+end
+
+ARGV.each{|arg|
+  i = 0
+  puts "### Parsing #{arg}"
+  dir = File.dirname(arg)
+  doc = REXML::Document.new(File.new(arg))
+  doc.elements.each("resources") { |el|
+    parse_section("", el)
+  }
+}
+
+# EOF #


Property changes on: branches/pingus_sdl/clanlib_2_sexpr.rb
___________________________________________________________________
Name: svn:executable
   + *





reply via email to

[Prev in Thread] Current Thread [Next in Thread]