OSDN Git Service

fix status.py error
authorgn64_jp <gn64_jp@4e526526-5e11-4fc0-8910-f8fd03428081>
Sun, 26 Jul 2009 14:09:45 +0000 (14:09 +0000)
committergn64_jp <gn64_jp@4e526526-5e11-4fc0-8910-f8fd03428081>
Sun, 26 Jul 2009 14:09:45 +0000 (14:09 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/rec10@81 4e526526-5e11-4fc0-8910-f8fd03428081

rec10/trunk/src/n_gram.py
rec10/trunk/src/status.py

index 75ef09c..e653d03 100644 (file)
@@ -6,6 +6,8 @@ import zenhan
 def bigram(str1,str2):
     str1=zenhan.toHankaku(str1)
     str2=zenhan.toHankaku(str2)
+    str1=str1.replace(" ","")
+    str2=str2.replace(" ","")
     """
     bigramによる単語の近さを計算します。
     """
index 81213b4..3fad143 100755 (executable)
@@ -10,80 +10,44 @@ def getEncoding():
     """
     エンコードしている数を帰すint型
     """
-    f = open(path+'status')
-    lines = f.readlines() # 1行毎にファイル終端まで全て読む(改行文字も含まれる)
-    f.close()
-    ts2avi=0
-    # lines2: リスト。要素は1行の文字列データ
-    for line in lines:
-        if re.search('ts2avi=',line):
-            line=line.replace("ts2avi=","")
-            line=line.replace(" ","")
-            ts2avi=int(line)
-            break
-    return ts2avi
+    return getStatusNum("ts2avi")
 def setEncoding(tasknum):
-    s=""
-    for line in getStatusDate():
-        if not re.search('ts2avi=',line):
-            s=s+line
-    if tasknum<0:
-        tasknum=0
-    s = s + "ts2avi="+str(tasknum)
-    f = open(path+'status', 'w') # 書き込みモードで開く
-    f.write(s) # 引数の文字列をファイルに書き込む
-    f.close() # ファイルを閉じる
+    setData('ts2avi',tasknum)
 def getTERecording():
+    return getStatusNum('terec')
+def getStatusDate():
     f = open(path+'status')
     lines = f.readlines() # 1行毎にファイル終端まで全て読む(改行文字も含まれる)
     f.close()
+    return lines
+def getStatusNum(datastr):
     t=0
-    # lines2: リスト。要素は1行の文字列データ
-    for line in lines:
-        if re.search('terec=',line):
-            line=line.replace("terec=","")
+    for line in getStatusDate():
+        if re.search(datastr+"=",line):
+            line=line.replace(datastr+"=","")
             line=line.replace(" ","")
             t=int(line)
             break
     return t
-def getStatusDate():
-    f = open(path+'status')
-    lines = f.readlines() # 1行毎にファイル終端まで全て読む(改行文字も含まれる)
-    f.close()
-    return lines
 def setTERecording(tasknum):
-    s=""
-    for line in getStatusDate():
-        if not re.search('terec=',line):
-            s=s+line
-    if tasknum<0:
-        tasknum=0
-    s = s + "terec="+str(tasknum)
-    f = open(path+'status', 'w') # 書き込みモードで開く
-    f.write(s) # 引数の文字列をファイルに書き込む
-    f.close() # ファイルを閉じる
+    setData('terec',tasknum)
 def getBSCSRecording():
-    f = open(path+'status')
-    lines = f.readlines() # 1行毎にファイル終端まで全て読む(改行文字も含まれる)
-    f.close()
-    bscsrec=0
-    # lines2: リスト。要素は1行の文字列データ
-    for line in lines:
-        if re.search('bscsrec=',line):
-            line=line.replace("bscsrec=","")
-            line=line.replace(" ","")
-            bscsrec=int(line)
-            break
-    return bscsrec
+    return getStatusNum("bscsrec")
 def setBSCSRecording(tasknum):
+    setData('bscsrec',tasknum)
+def setData(datastr,tasknum):
     s=""
-    for line in getStatusDate():
-        if not re.search('bscsrec=',line):
-            s=s+line
     if tasknum<0:
         tasknum=0
-    s = s + "bscsrec="+str(tasknum)
+    writeb=0
+    for line in getStatusDate():
+        if not re.search(datastr+'=',line):
+            s=s+line
+        else:
+            s = s + datastr+'='+str(tasknum)+"\n"
+            writeb=1
+    if writeb==0:
+        s = s + datastr+'='+str(tasknum)+"\n"
     f = open(path+'status', 'w') # 書き込みモードで開く
     f.write(s) # 引数の文字列をファイルに書き込む
     f.close() # ファイルを閉じる
-