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)