update. master
authoreto <eto>
Sat, 6 May 2006 05:46:08 +0000 (05:46 +0000)
committereto <eto>
Sat, 6 May 2006 05:46:08 +0000 (05:46 +0000)
ChangeLog [new file with mode: 0755]
chise/chisedb.rb
chise/config.rb
chise/ids.rb
chise/idsdb.rb
chise/path.rb
test/test-idsdb.rb
test/test-idstree.rb

diff --git a/ChangeLog b/ChangeLog
new file mode 100755 (executable)
index 0000000..a65c438
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,10 @@
+2006-05-06  Kouichirou Eto  <2006 eto.com>
+
+       * idsdb.rb: Adapt to libchise API.
+       * ids.rb: Ditto.
+       * config.rb: Ditto.
+       * chisedb.rb: Ditto.
+
+2006-05-06  Kouichirou Eto  <2006 eto.com>
+
+       * Add ChangeLog
index 2969383..4b930a1 100755 (executable)
@@ -22,7 +22,8 @@ module CHISE
       setup_ds
       @feature_db = {}
       @ccs_db = {}
-      @byids_db = {}
+      # @byids_db = {}
+      @ccsstr_db = {}
     end
     attr_reader :ds, :location
 
@@ -68,11 +69,17 @@ module CHISE
       ccsdb.decode(code_point)
     end
 
-    def get_by_ids_db(n)
+    def nuget_by_ids_db(n)
       @byids_db[n] = ByIDS_DB.new(self, n) if @byids_db[n].nil?
       @byids_db[n]
     end
 
+    def get_ccs_str(n)
+      @ccsstr_db[n] = CCS_STR.new(self, n) if @ccsstr_db[n].nil?
+#      @ccsstr_db[n] = CCS_STR_DB.new(self, n) if @ccsstr_db[n].nil?
+      @ccsstr_db[n]
+    end
+
     private
     include EachEntryModule
   end
@@ -166,7 +173,7 @@ module CHISE
     end
   end
 
-  class ByIDS_DB
+  class CCS_STR_DB
     include ParseValueModule
     include ChiseValue
     include TableAccessModule
@@ -182,16 +189,16 @@ module CHISE
       }
     end
 
-    def decode(ids)
+    def get_by_str(str)
       setup_db
       return nil if @db.nil?
-      parse_c_string(@db.get(ids))
+      parse_c_string(@db.get(str))
     end
 
-    def set_decoded_char(ids, cid)
+    def set_by_str(str, cid)
       setup_db(true)
       raise "@db is nil." if @db.nil?
-      @db.put(ids, format_char_id(cid))
+      @db.put(str, format_char_id(cid))
     end
 
     def each_char
@@ -202,4 +209,5 @@ module CHISE
       }
     end
   end
+
 end
index 1415367..c52395e 100755 (executable)
@@ -5,12 +5,12 @@ require "chise/version"
 
 module CHISE
   # on Winodws
-  #DB_DIR  = "c:/chise/chise-db" # /character/feature/=ucs
-  #IDS_DIR = "c:/chise/ids" # /IDS-JIS-X0208-1990.txt
+  DB_DIR  = "c:/chise/chise-db" # /character/feature/=ucs
+  IDS_DIR = "c:/chise/ids" # /IDS-JIS-X0208-1990.txt
 
   # on Unix
-  DB_DIR  = "/usr/local/lib/xemacs-21.4.14/i686-pc-linux/chise-db"
-  IDS_DIR = "/home/eto/work/chise/ids"
+  #DB_DIR  = "/usr/local/lib/xemacs-21.4.14/i686-pc-linux/chise-db"
+  #IDS_DIR = "/home/eto/work/chise/ids"
 
   def windows?()
     rp = RUBY_PLATFORM
index 7041073..0c7e33a 100755 (executable)
@@ -43,8 +43,10 @@ module CHISE
     def compose(dbname="ids")
       ids = self.aggregate
       cd = ChiseDB.instance
-      byidsdb = cd.get_by_ids_db(dbname)
-      cid = byidsdb.decode(ids)
+      #byids = cd.get_by_ids_db(dbname)
+      byids = cd.get_ccs(dbname)
+      #cid = byids.decode(ids)
+      cid = byids.get_by_str(ids)
       return "" if cid.nil? # TO CHECK: why "", not nil?
       composed = Character.get(cid).to_s
       return "" if composed.nil?
index 83a55c0..133b298 100755 (executable)
@@ -105,10 +105,10 @@ module CHISE
 
     def make_by_ids_db_org
       h = {}
-      byids = @cd.get_by_ids_db("ids-org")
+      byids = @cd.get_ccs_str("ids-org")
       @cd.get_feature("ids-org").each_char {|cid, ids|
        char = Character.get(cid)
-       byids.set_decoded_char(ids, cid)
+       byids.set_by_str(ids, cid)
        h[ids] = cid
       }
       qp h.length
@@ -174,10 +174,10 @@ module CHISE
     end
 
     def make_by_ids_db
-      byids = @cd.get_by_ids_db("ids")
+      byids = @cd.get_ccs("ids")
       @cd.get_feature("ids").each_char {|cid, ids|
        char = Character.get(cid)
-       byids.set_decoded_char(ids, cid)
+       byids.set_by_str(ids, cid)
       }
       byids.dump
     end
index 9e695f6..1d68d04 100755 (executable)
@@ -11,10 +11,10 @@ end
 
 class Pathname
   def escape
-    s = self.basename.to_s.gsub(/([\/%]+)/n){
+    s = self.to_s.gsub(/([\/%]+)/n){
       "%" + $1.unpack("H2" * $1.size).join("%").upcase
     }
-    Pathname.new(self.dirname+s)
+    Pathname.new(s)
   end
 
   def unescape # copied from cgi.rb
index e03acd0..fb93f93 100755 (executable)
@@ -39,7 +39,7 @@ class TestIDS_DB_Management < Test::Unit::TestCase
     #man.store_ids_as_text             #  172.024 : 177.618    86470
     #man.store_ids_de_er               #   47.99  :  38.926    81899
     #man.check_integrity_of_ids_tree   #   58.185 :  48.015    79417
-    #man.make_by_ids_db_org            #   29.572 :  24.511    75562
+    man.make_by_ids_db_org             #   29.572 :  24.511    75562
     #man.store_ids_aggregated          #   66.609 :  51.832    79417
     #man.store_ids_subparts            # 1638.966 : 959.413    79417
     #man.store_ids_contained           #  773.808 : 696.374
index 0c563a4..772f194 100755 (executable)
@@ -85,8 +85,8 @@ class TestIDSTree < Test::Unit::TestCase
 
   def test_ids_tree_by_character
     assert_equal(3, "⿳".char.idc_argument_number)
-    assert_equal("⿳士冖匕", "壱".ids)
-    assert_equal(3, "壱".ids.to_a[0].char.idc_argument_number)
+#    assert_equal("⿳士冖匕", "壱".ids)
+#    assert_equal(3, "壱".ids.to_a[0].char.idc_argument_number)
     assert_nil(CHISE::IDS_Tree.new("⿳士冖匕").check_integrity)
     assert_raise(RuntimeError, "unmatch leaves") { check_tree("⿳士冖") }
     assert_raise(RuntimeError, "extra nodes") { check_tree("⿳士冖匕匕") }