bin/sekka-server in sekka-0.8.2 vs bin/sekka-server in sekka-0.8.3
- old
+ new
@@ -2,18 +2,21 @@
# -*- coding: utf-8 -*-
require 'digest/md5'
require 'fileutils'
require 'rack'
+require 'uri'
require File.expand_path(File.dirname(__FILE__) + "/../lib/sekkaconfig")
require File.expand_path(File.dirname(__FILE__) + "/../lib/sekka/sekkaversion")
DICTDIR = File.expand_path( "~/.sekka-server" )
DICTURL = "http://sumibi.org/sekka/dict/" + SekkaVersion.version
+PIDFILE = DICTDIR + "/pid"
+
TC_FILE = DICTDIR + "/SEKKA-JISYO.SMALL.tch"
SUMFILE = DICTDIR + "/SEKKA-JISYO.SMALL.md5"
TC_URL = DICTURL + "/SEKKA-JISYO.SMALL.tch"
SUMURL = DICTURL + "/SEKKA-JISYO.SMALL.md5"
@@ -28,10 +31,24 @@
if not File.directory?( DICTDIR )
Dir.mkdir( DICTDIR )
STDERR.printf( "Info: created directory [%s]\n", DICTDIR )
end
+ # sekka-server自身のpidを書きこむ(デーモン化したときの停止用)
+ open( PIDFILE, "w" ) {|f|
+ f.printf( "%d\n", Process.pid )
+ }
+
+ # 環境変数からHTTPプロキシサーバーの情報を取得する
+ proxyHost = nil
+ proxyPort = nil
+ if ENV.key?( 'http_proxy' )
+ uri = URI.parse ENV[ 'http_proxy' ]
+ proxyPort = uri.port
+ proxyHost = uri.host
+ end
+
if not File.exist?( TC_FILE )
STDERR.printf( "Info: Downloading SEKKA-JISYO\n" )
# 辞書をダウンロードする
cmd = sprintf( "curl -o %s %s", TC_FILE, TC_URL )
STDERR.printf( "Command : %s\n", cmd )
@@ -62,10 +79,10 @@
# 辞書ディレクトリに存在している辞書ファイルリストを作る
list = TC_FILE_LIST.select { |name| File.exist?( name ) }
# 設定項目をConfigオブジェクトに代入
- SekkaServer::Config.setup( list[0], MEMCACHED, 12929 )
+ SekkaServer::Config.setup( list[0], MEMCACHED, 12929, proxyHost, proxyPort )
# サーバースクリプトのrootディレクトリへ移動
FileUtils.cd(File.dirname(__FILE__) + "/../")
# サーバー起動