Changeset 10964 for lang/python

Show
Ignore:
Timestamp:
05/03/08 00:20:49 (5 years ago)
Author:
ayu
Message:
  • added commandline interfac
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/python/yoyaku/yoyaku/engine/NormalJP.py

    r10831 r10964  
     1#!/usr/bin/python 
    12# coding: utf-8 
     3import sys 
    24import re, os, logging 
    35from itertools import groupby, imap, ifilter 
    46from operator import itemgetter 
    57from yoyaku.util import fmul 
    6 import yoyaku.FoolParser as FoolParser 
    78import math, copy 
    89import MeCab 
     
    329330        junban += 1 
    330331        totalSize += penalties[maxIndex][TOTAL_SIZE] 
    331         print totalSize 
     332        #print totalSize 
    332333        if totalSize >= sizeLimit: 
    333334            break 
     
    364365        tf[k] = alpha * tf[k] 
    365366    return tf 
     367 
     368if __name__ == "__main__": 
     369    import optparse 
     370     
     371    parser = optparse.OptionParser(u""" 
     372    標準入力から入力された日本語テキストを要約して標準出力に出力します。 
     373    """) 
     374    parser.add_option("-m", "--mecab-encoding", dest="mecabencoding", default="utf-8", help=u"mecab辞書の文字エンコーディング。") 
     375    parser.add_option("-i", "--input-encoding", dest="inputencoding", default="utf-8", help=u"入力の文字エンコーディング。") 
     376    parser.add_option("-o", "--output-encoding", dest="outputencoding", default="utf-8", help=u"出力の文字エンコーディング。") 
     377    parser.add_option("-l", "--length", dest="length", default=250, type="int", help=u"要約結果の長さ。") 
     378     
     379    (options, args) = parser.parse_args() 
     380    input = [unicode(x, options.inputencoding) for x in sys.stdin.readlines()] 
     381    for line in execYoyaku(input, options.length, encoding=options.mecabencoding): 
     382        print line[2].encode(options.outputencoding) 
     383 
     384 
     385