pingus-cvs
[Top][All Lists]
Advanced

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

[Pingus-CVS] r3477 - trunk/sexpr


From: grumbel at BerliOS
Subject: [Pingus-CVS] r3477 - trunk/sexpr
Date: Sat, 3 Nov 2007 10:48:35 +0100

Author: grumbel
Date: 2007-11-03 10:48:35 +0100 (Sat, 03 Nov 2007)
New Revision: 3477

Modified:
   trunk/sexpr/reader.rb
   trunk/sexpr/reader_test.rb
Log:
- a few fixes

Modified: trunk/sexpr/reader.rb
===================================================================
--- trunk/sexpr/reader.rb       2007-11-03 09:21:45 UTC (rev 3476)
+++ trunk/sexpr/reader.rb       2007-11-03 09:48:35 UTC (rev 3477)
@@ -106,7 +106,9 @@
 
     def read_string(name)
       el = find(name)
-      if el.length() != 2 then
+      if not el then
+        return nil
+      elsif el.length() != 2 then
         raise "#{el.pos}: Error expected exactly one integer, got #{el.to_s}"
       elsif not el[1].is_a?(String) then
         raise "#{el.pos}: Error expected a String, got #{el.class}"
@@ -117,7 +119,9 @@
 
     def read_symbol(name)
       el = find(name)
-      if el.length() != 2 then
+      if not el then
+        return nil
+      elsif el.length() != 2 then
         raise "#{el.pos}: Error expected exactly one symbol, got #{el.to_s}"
       elsif not el[1].is_a?(String) then
         raise "#{el.pos}: Error expected a Symbol, got #{el.class}"
@@ -130,6 +134,8 @@
       el = find(name)
       if el then
         return Reader.new(el)
+      else
+        return nil
       end
     end
   end

Modified: trunk/sexpr/reader_test.rb
===================================================================
--- trunk/sexpr/reader_test.rb  2007-11-03 09:21:45 UTC (rev 3476)
+++ trunk/sexpr/reader_test.rb  2007-11-03 09:48:35 UTC (rev 3477)
@@ -10,7 +10,15 @@
 else
   ARGV.each{|filename|
     reader = SExpr::Reader.parse(File.new(filename).read())       
-    puts reader.name
+    # puts reader.name
+    print "Version: "
+    puts reader.read_integer(["version"])
+    print "Title: "
+    puts reader.read_string(["head", "levelname"]).inspect
+    print "Description: "
+    puts reader.read_string(["head", "description"]).inspect
+    
+    puts reader.find(["head", "actions"])
   }
 end
 





reply via email to

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