Author: iratqq
Date: Thu Feb 26 23:46:31 2009
New Revision: 5868

Modified:
   trunk/scm/social-ime.scm

Log:
* scm/social-ime.scm (social-ime-parse-csv):
  - New function.
  (social-ime-conversion, social-ime-predict-from-server):
  - Use (social-ime-parse-csv).


Modified: trunk/scm/social-ime.scm
==============================================================================
--- trunk/scm/social-ime.scm    (original)
+++ trunk/scm/social-ime.scm    Thu Feb 26 23:46:31 2009
@@ -58,6 +58,22 @@
(define-record 'social-ime-internal-context social-ime-internal-context-rec-spec) (define social-ime-internal-context-new-internal social-ime-internal-context-new)

+(define (social-ime-parse-csv str)
+  (and-let* ((ret1 (if (string? str)
+                       (string-split str "\n")
+                       '("")))
+             (col (if (equal? '("") (take-right ret1 1))
+                      (drop-right ret1 1)
+                      ret1))
+             (ret2 (map (lambda (s)
+                          (and-let* ((ret (string-split s "\t"))
+ (low (if (equal? '("") (take-right ret 1))
+                                              (drop-right ret 1)
+                                              ret)))
+                                    low))
+                        col)))
+            ret2))
+
 (define (social-ime-conversion str opts)
   (define (make-query user)
         (format "~a?string=~a&charset=EUC-JP&applicartion=uim~a~a"
@@ -65,21 +81,6 @@
                 (http:encode-uri-string str)
                 user
                 opts))
-  (define (parse str)
-    (and-let* ((ret1 (if (string? str)
-                         (string-split str "\n")
-                         '("")))
-               (col (if (equal? '("") (take-right ret1 1))
-                        (drop-right ret1 1)
-                        ret1))
-               (ret2 (map (lambda (s)
-                            (and-let* ((ret (string-split s "\t"))
- (low (if (equal? '("") (take-right ret 1))
-                                                (drop-right ret 1)
-                                              ret)))
-                                      low))
-                          col)))
-              ret2))
   (let* ((user (if (string=? social-ime-user "")
                    ""
(format "&user=~a" (http:encode-uri-string social-ime-user))))
@@ -87,7 +88,7 @@
(make-http-proxy http-proxy-hostname http-proxy-port)))
          (ret (http:get social-ime-server (make-query user) 80 proxy)))
     (if (string? ret)
-        (parse ret)
+        (social-ime-parse-csv ret)
         (list (list str)))))

 (define (social-ime-conversion-make-resize-query seg-cnts)
@@ -143,21 +144,6 @@
                 (http:encode-uri-string str)
                 user
                 opts))
-  (define (parse str)
-    (and-let* ((ret1 (if (string? str)
-                         (string-split str "\n")
-                         '("")))
-               (col (if (equal? '("") (take-right ret1 1))
-                        (drop-right ret1 1)
-                        ret1))
-               (ret2 (map (lambda (s)
-                            (and-let* ((ret (string-split s "\t"))
- (low (if (equal? '("") (take-right ret 1))
-                                                (drop-right ret 1)
-                                              ret)))
-                                      low))
-                          col)))
-              (car ret2)))
   (let* ((user (if (string=? social-ime-user "")
                    ""
(format "&user=~a" (http:encode-uri-string social-ime-user))))
@@ -165,7 +151,7 @@
(make-http-proxy http-proxy-hostname http-proxy-port)))
          (ret (http:get social-ime-server (make-query user) 80 proxy)))
     (if (string? ret)
-        (parse ret)
+        (car (social-ime-parse-csv ret))
         (list str))))

 (define (social-ime-lib-init)

Reply via email to