Add 'makepackage'.
authorviric@llimona
Wed, 25 Jul 2007 23:09:10 +0200
changeset 12 a2d174b4e758
parent 11 6a6a9c1b65cc
child 13 d3255b427c6b
Add 'makepackage'.
Makefile
dicts-src/install
dicts-src/makepackage
src/jdict/AskWord.java
src/jdict/BlockFile.java
--- a/Makefile	Wed Jul 25 21:21:15 2007 +0200
+++ b/Makefile	Wed Jul 25 23:09:10 2007 +0200
@@ -9,7 +9,7 @@
 CLASSPATH=${WTK2}/lib/midpapi10.jar:${WTK2}/lib/cldcapi10.jar:${PRJ}.jar:.
 #CLASSPATH=${WTK2}/lib/midpapi.zip:mojab.jar:./src/:.
 SRCDIRS=${PRJ}
-PKGADDONS=icones dicts
+PKGADDONS=dicts
 
 # TARJETS
 all:
--- a/dicts-src/install	Wed Jul 25 21:21:15 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-#!/bin/bash
-
-SIZE=50000
-
-for a in `ls *.index`; do
-    NAME=`basename $a .index`
-
-    split -b $SIZE -d $NAME.index x-$NAME.index
-    mv x-$NAME.index* ../src/dicts
-
-    split -b $SIZE -d $NAME.dict x-$NAME.dict
-    mv x-$NAME.dict* ../src/dicts
-
-done
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dicts-src/makepackage	Wed Jul 25 23:09:10 2007 +0200
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+BLOCKSIZE=50000
+VER=0.1
+
+function split_to_dir
+{
+    INDEX="$1"
+    OUT="$2"
+    DIR=`dirname "$1"`
+    NAME=`basename "$INDEX" .index`
+
+    split -a 3 -b $BLOCKSIZE -d "$DIR/$NAME".index x-$NAME.index
+    mv x-$NAME.index* "$OUT"
+
+    if [ -f "$DIR/$NAME".dict ]; then
+        split -a 3 -b $BLOCKSIZE -d "$DIR/$NAME".dict x-$NAME.dict
+    elif [ -f "$DIR/$NAME".dict.dz ]; then
+        gunzip -dc "$DIR/$NAME".dict.dz > Xtmp.dict
+        split -a 3 -b $BLOCKSIZE -d Xtmp.dict x-$NAME.dict
+        rm Xtmp.dict
+    fi
+
+    mv x-$NAME.dict* "$OUT"
+}
+
+if [ $# -ne 1 ]; then
+    echo "usage: $0 dictionary.index"
+    exit 1
+fi
+
+BASE=`basename $1 .index`
+
+mkdir -p "$BASE"
+mkdir -p "$BASE"/jdict
+cp ../src/output/jdict/*.class "$BASE"/jdict
+#mkdir -p "$BASE"/icones
+#cp ../src/icones/* "$BASE"/icones
+mkdir -p "$BASE"/dicts
+split_to_dir $1 "$BASE"/dicts
+echo $BLOCKSIZE > "$BASE"/dicts/BLOCKSIZE
+wc -c < "$1" > "$BASE"/dicts/TOPINDEX
+echo $BASE > "$BASE"/dicts/VORTARO
+mkdir -p "$BASE"/META-INF
+
+cat > "$BASE".MANIFEST.MF <<END
+MIDlet-1: jdict, , jdict.Main
+MIDlet-Name: $BASE
+MIDlet-Vendor: viric
+MIDlet-Version: $VER
+MicroEdition-Configuration: CLDC-1.0
+MicroEdition-Profile: MIDP-1.0
+END
+
+cd "$BASE"
+jar cmf ../"$BASE".MANIFEST.MF ../"$BASE".jar *
+cd ..
+rm "$BASE".MANIFEST.MF
--- a/src/jdict/AskWord.java	Wed Jul 25 21:21:15 2007 +0200
+++ b/src/jdict/AskWord.java	Wed Jul 25 23:09:10 2007 +0200
@@ -29,6 +29,11 @@
 	public void get_vortaro()
     {
         InputStream vfile = getClass().getResourceAsStream("/dicts/VORTARO");
+        if (vfile == null)
+        {
+            vortaro = "ERROR";
+            return;
+        }
         /* 50 bytes maximum for vortaro nomo */
         byte array[] = new byte[50];
         int total;
--- a/src/jdict/BlockFile.java	Wed Jul 25 21:21:15 2007 +0200
+++ b/src/jdict/BlockFile.java	Wed Jul 25 23:09:10 2007 +0200
@@ -12,7 +12,7 @@
 
     public void read_block_size()
     {
-        InputStream bfile = getClass().getResourceAsStream("/dicts/BLOCKS");
+        InputStream bfile = getClass().getResourceAsStream("/dicts/BLOCKSIZE");
         /* 10 bytes is enough for a simple int */
         byte array[] = new byte[10];
         int total;
@@ -38,10 +38,12 @@
         openIndex(0);
     }
 
-    public String int2twochar(int val)
+    public String int2char(int val)
     {
         String result;
         if (val <= 9)
+            result =  "00" + new Integer(val).toString();
+        else if (val <= 99)
             result =  "0" + new Integer(val).toString();
         else
             result = new Integer(val).toString();
@@ -96,7 +98,7 @@
         block_id = i;
 
         String name;
-        name = basename + int2twochar(block_id);
+        name = basename + int2char(block_id);
         System.out.println("Opening file: " + name);
 
         in = getClass().getResourceAsStream(name);