Example #1
0
def kfqgo():
    if request.method == 'GET':  # request 객체는 1번 모듈에서 땡겨야 사용할 수 있다.(get을 request 요청하는 조건문)
        # 기본으로 templates 폴더 밑에서 찾는다
        return render_template('index.html')
    else:
        # 여기는 post방식으로 데이터가 요청되었을 때 처리
        # 서비스     : 데이터를 획득 -> 백터화 -> 모델을 로드(서버가동시 1회만)
        #              -> 답안을 획득 -> 응답 구성
        # 데이터 획득 (모든 데이터는 요청객체를 받고 들어온다(request))
        #a = request.form['inputLang'] # 딕셔너리 구조임 # flask에서 post 방식

        check_text = request.form.get(
            'inputLang')  # 키가 틀려도 None으로 처리, 별개로 a번 죽이고 check_text번으로 사용한다
        nation, lang_ko = detect_lang(check_text)  #판정
        # 번역 요청
        transText = lang_transByPapago(check_text, nation)
        if transText:  # 번역이 되었다면 !!
            transText = transText['message']['result']['translatedText']
        else:
            transText = '번역실패'

        # 1. 파파고 번역으로 연동(통신)
        # 2. 응답 -> 로그 처리(디비 저장) -> AJAX응답
        insertData(src=check_text, out=transText, slang=nation, olang='ko')
        return jsonify({'code': nation, 'ko': lang_ko, 'trans': transText})
Example #2
0
def kfqgo():
    if request.method == 'GET':
        # 기본으로 templates 폴더 밑에서 찾는다
        return render_template('index.html')
    else:
        # post 방식으로 요청되었을 때 처리
        # 서버: 데이터를 획득 => 백터화 => 모델을 로드(서버가동시1회만) => 예측 => 답안획득 => 응답구성
        # post 방식 1. 데이터 획득
        # b방식을 더 선호
        #a = request.form['inputLang'] # 키 값이 오류가 날 경우 오류가남
        check_text = request.form.get('inputLang')  # 키가 틀려도 None으로 처리
        nation, lang_ko = detect_lang(check_text)  # 판정

        return jsonify({'code': nation, 'ko': lang_ko})
Example #3
0
def kfqgo():
    # 기본적으로 templates 폴더 밑에서 찾는다
    if request.method == 'GET':
        return render_template('index.html')
    else:
        # post 방식으로 요청되었을때
        # 서:데이터를획득 => 백터화 => 모델을 로드(서버가동시1회만) => 예측 => 답안획득 => 응답구성

        # 데이터 획득
        # 딕셔너리로 획득

        # a = request.form['inputLang'] # 이 방식은 키가 틀리면 죽음
        check_text = request.form.get('inputLang')  # 이 방식은 키가 틀리면 None으로 처리
        nation, lang_ko = detect_lang(check_text)  # 판정
        return jsonify({'code': nation, 'ko': lang_ko})
Example #4
0
def langTypeDetect():
    if request.method == 'POST':
        # 1. 원문 데이터 획득 (get, post 방식으로 전달된 데이터 획득)
        oriTxt = request.form.get('ori')  # 500 error, Intenal server error
        #                                  => 그래서! .get 함수를 통해 잘못되도 None을 리턴하도록..!
        # 위에 대한 방어코드
        if not oriTxt:
            return {'code': 0, 'lang': '', 'desc': '원문데이터 누락'}
        # 2. 언어감지
        lang, desc = detect_lang(oriTxt)
        # 2-1. 디비에 로그처리
        # 3. 응답
        return {'code': 1, 'lang': lang, 'desc': desc}
    else:  # GET
        return render_template('index.html')
Example #5
0
def devgo() :
    if request.method == 'GET' :
        # 기본으로 templates 폴더 밑에서 찾는다
        return render_template('index.html')
    else :
        # post방식으로 요청되었을 때 처리
        # (서버) 데이터를 획득 → 벡터화 → 모델을 로드(서버 가동 시 1회만) → 예측 → 답안 획득 → 응답 구성
        # 1. 데이터 획득 (딕셔너리로)
        # check_text = request.form['inputLang']
        check_text = request.form.get('inputLang')  # 위 방식보다 더 선호 : 키가 틀려도 None으로 처리
        nation, lang_ko = detect_lang( check_text ) # 판정

        # 1. 번역 요청 → 파파고 번역과 연동(통신)
        transText = lang_transByPapago( check_text, nation )
        '''
        [응답 형식]
        {
            "message": {
                "@type": "response",
                "@service": "naverservice.nmt.proxy",
                "@version": "1.0.0",
                "result": {
                    "srcLangType":"ko",
                    "tarLangType":"en",
                    "translatedText": "tea"
                }
            }
        }   
        '''
        if transText :      # 번역 성공 시
            transText = transText['message']['result']['translatedText']
        else :
            transText = '번역 실패'

        # 2. 로그 처리(DB 저장)
        insertData( src = check_text, out = transText, slang = nation, olang = 'ko' )
        return jsonify( { 'code' : nation, 'ko' : lang_ko, 'trans' : transText } )