def check_A_data(a_text, q_text): """回答データのチェックをする""" nlc = NLCheck() #nlc.debug = True #print "Q=",q_text #print "A=",a_text out = io.BytesIO() # io.StringIO()だとTypeError: unicode argument expected, got 'str' #out = open("/tmp/nlcheck_log.txt","w") #-------------------------------------- sys.stdout = out # 標準出力を付け替える input_data = nlc.read_input_str(q_text) # 問題データ target_data = nlc.read_target_str(a_text) # 回答データ nlc.verbose = True judges = nlc.check(input_data, target_data) print "judges = ", judges #results = escape(out.getvalue()) # from xml.sax.saxutils import escape, unescape ここでは不要か?! msg = out.getvalue() out.close() sys.stdout = sys.__stdout__ # もとに戻す #-------------------------------------- return judges, msg
def main(): global ttf_font, font_size, unit import argparse parser = argparse.ArgumentParser(description='NumberLink check and drawing tool') parser.add_argument('-f', '--font', default=ttf_font, help='TrueType font file (default: %(default)s)') parser.add_argument('--font-size', metavar='N', type=int, default=font_size, help='font size (default: %(default)s)') parser.add_argument('--unit', metavar='N', type=int, default=unit, help='unit square size (default: %(default)s)') parser.add_argument('--test', action='store_true', help='test GIF output') parser.add_argument('qfile', metavar='Q-FILE', help='input file (Q-file)') parser.add_argument('afile', metavar='A-FILE', help='target file (A-file)') args = parser.parse_args() ttf_font = args.font font_size = args.font_size unit = args.unit setup_font(ttf_font) if args.test: test() qfile = args.qfile afile = args.afile print(qfile, afile) nlc = NLCheck() q = nlc.read_input_file(qfile) a = nlc.read_target_file(afile) #print("q=",q) #print("a=",a) #a = nlc.clean_a(q, a) # 回答をチェックする nlc.verbose = True judges = nlc.check( q, a ) print("judges = ", judges) # 描画する images = draw(q, a, nlc) bfile = os.path.basename(qfile) bfile = os.path.splitext(bfile)[0] # 拡張子をトル for num, img in enumerate(images): ifile = "%s.%d.gif" % (bfile, num+1) # 層の番号は1から始まる img.save(ifile, 'gif') print(ifile) if 1 < len(images): merge_images(images).save(bfile+'.gif', 'gif')
def check_A_data(a_str, q_uni): """回答データのチェックをする""" # 問題データ q_uni (unicode) # 回答データ a_str (str) nlc = NLCheck() #nlc.debug = True q_str = q_uni.encode('utf-8') # unicode -> str #print "Q=",q_str #print "A=",a_str #-------------------------------------- out = io.BytesIO( ) # io.StringIO()だとTypeError: unicode argument expected, got 'str' sys.stdout = out # 標準出力を付け替える input_data = nlc.read_input_str(q_str) target_data = nlc.read_target_str(a_str) nlc.verbose = True judges = nlc.check(input_data, target_data) print "judges = ", judges #results = escape(out.getvalue()) # from xml.sax.saxutils import escape, unescape ここでは不要か?! msg = out.getvalue() out.close() sys.stdout = sys.__stdout__ # もとに戻す #-------------------------------------- return judges, msg
def main(): qfile, afile = sys.argv[1:] afile = sys.argv[2] print qfile, afile nlc = NLCheck() q = nlc.read_input_file(qfile) a = nlc.read_target_file(afile) #print "q=",q #print "a=",a #a = nlc.clean_a(q, a) # 回答をチェックする nlc.verbose = True judges = nlc.check(q, a) print "judges = ", judges # 描画する images = draw(q, a, nlc) bfile = basename(qfile) bfile = re.sub("\.txt", "", bfile) num = 0 for img in images: ifile = "%s.%d.gif" % (bfile, num) img.writeGif(ifile) print ifile num += 1
def main(): qfile, afile = sys.argv[1:] afile = sys.argv[2] print qfile,afile nlc = NLCheck() q = nlc.read_input_file(qfile) a = nlc.read_target_file(afile) #print "q=",q #print "a=",a #a = nlc.clean_a(q, a) # 回答をチェックする nlc.verbose = True judges = nlc.check( q, a ) print "judges = ", judges # 描画する images = draw(q,a,nlc) bfile = basename(qfile) bfile = re.sub("\.txt", "", bfile) num = 0 for img in images: ifile = "%s.%d.gif" % (bfile, num) img.writeGif(ifile) print ifile num += 1