예제 #1
0
def movie_image(event,findm,question):
    dd = checDic(event.message.text)
    movie_name = searchMovie(dd)
    e = CutName(question)
    le = len(checksentence(question))
    name = re.sub('[กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮฝฦใฬมฒท?ื์ิ.่๋้็เโ,ฯี๊ัํะำไๆ๙๘๗๖๕ึ฿ุู๔๓๒๑+ๅาแ]', '',
                  movie_name).replace(' ', '')
    if e != '' and movie_name != '' and name != '':  # คำถาม+ชื่อภาอังกฤษ
        movie_name = movie_name.lower()
        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                return  "https://imagemovie.herokuapp.com/"+movie['idIMDb']+'.jpg'

    elif (movie_name == '' and le == 1 and name == ''):  # คำถามธรรมดา
        mov = findm
        movie_name = mov.lower().replace(' ','')
        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                return "https://imagemovie.herokuapp.com/" + movie['idIMDb'] + '.jpg'
    elif movie_name != '' and searchMovieNameInDic(movie_name) != '':

            with open('new.txt', mode='r', encoding='utf-8-sig') as f:
                a = load(f)
                for key, value in a.items():
                    try:
                        if dd in value:
                            w = key.lower()
                            movie_name = w.lower()
                            URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
                            r = requests.get(url=URL)
                            data = r.json()
                            found = False
                            for movie in data:
                                if movie_name == movie['nameEN'].lower().replace(' ', ''):
                                    found = True
                                    return "https://imagemovie.herokuapp.com/" + movie['idIMDb'] + '.jpg'
                    except :
                        return 'ไม่มีรูปเรื่องนี้นะ'
    elif movie_name !='':
        movie_name = movie_name.lower()
        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                return "https://imagemovie.herokuapp.com/" + movie['idIMDb'] + '.jpg'
    elif e !='' and dd =='':

        return 'ยังไม่มีข้อมูลนะครับ'
    else:

        return 'ยังไม่มีข้อมูลเลยจร้า'
예제 #2
0
def movie_scorepos(event, findm, question):
    movie_name = checDic(event.message.text)
    movie_name = searchMovie(movie_name)
    le = len(checksentence(question))

    name = re.sub(
        '[กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮฝฦใฬมฒท?ื์ิ.่๋้็เโ,ฯี๊ัํะำไๆ๙๘๗๖๕ึ฿ุู๔๓๒๑+ๅาแ]',
        '', movie_name).replace(' ', '')

    if movie_name != '' and name != '':
        movie_name = movie_name.lower()
        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                Movie_URL = 'http://movieapi.plearnjai.com/DEV/API/SentimentScore.php?idmovie=' + movie[
                    'idIMDb']
                r = requests.get(url=Movie_URL)
                response = r.json()
                detail = response['response'][0]['allComment'][0][
                    'positiveCount']
                detail = detail.replace('\n', '')

                #detail2 = response['response'][0]['allComment'][0]['negativeCount']
                if detail != '':
                    return detail
                else:
                    return 'ยังไม่มีคะแนนด้านบวกครับ'
        if found == False:
            return 'ยังไม่มีคะแนนด้านบวกครับ'
    elif (name == '' and movie_name == '' and le == 1):
        mov = findm
        movie_name = mov.lower().replace(' ', '')
        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                Movie_URL = 'http://movieapi.plearnjai.com/DEV/API/SentimentScore.php?idmovie=' + movie[
                    'idIMDb']
                r = requests.get(url=Movie_URL)
                response = r.json()
                detail = response['response'][0]['allComment'][0][
                    'positiveCount']
                detail = detail.replace('\n', '')

                # detail2 = response['response'][0]['allComment'][0]['negativeCount']
                if detail != '':
                    return detail
                else:
                    return 'ยังไม่มีคะแนนด้านบวกครับ'
        if found == False:
            return 'ยังไม่มีคะแนนด้านบวกครับ'
    else:
        cut = cutw(event.message.text)
        with open('new.txt', mode='r', encoding='utf-8-sig') as f:
            a = load(f)
            for key, value in a.items():
                for i in cut:
                    try:
                        if i in value:
                            w = key.lower()
                            movie_name = w.lower()
                            URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
                            r = requests.get(url=URL)
                            data = r.json()
                            found = False
                            for movie in data:
                                if movie_name == movie['nameEN'].lower(
                                ).replace(' ', ''):
                                    found = True
                                    Movie_URL = 'http://movieapi.plearnjai.com/DEV/API/SentimentScore.php?idmovie=' + movie[
                                        'idIMDb']
                                    r = requests.get(url=Movie_URL)
                                    response = r.json()
                                    detail = response['response'][0][
                                        'allComment'][0]['positiveCount']
                                    detail = detail.replace('\n', '')

                                    # detail2 = response['response'][0]['allComment'][0]['negativeCount']
                                    if detail != '':
                                        return detail
                                    else:
                                        return 'ยังไม่มีคะแนนด้านบวก'
                            if found == False:
                                return 'ยังไม่มีคะแนนด้านบวก'
                    except:
                        return 'ยังไม่รู้คะแนนเลย'


#print(movie_scorepos('อยากได้คะแนนบวกวันเดอวูแมน'))
예제 #3
0
def movie_enjoy(event, findm, question):
    dd = checDic(event.message.text)
    movie_name = searchMovie(dd)
    e = CutName(question)
    le = len(checksentence(question))
    name = re.sub(
        '[กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮฝฦใฬมฒท?ื์ิ.่๋้็เโ,ฯี๊ัํะำไๆ๙๘๗๖๕ึ฿ุู๔๓๒๑+ๅาแ]',
        '', movie_name).replace(' ', '')
    if e != '' and movie_name != '' and name != '':  # คำถาม+ชื่อภาอังกฤษ
        movie_name = movie_name.lower()

        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                Movie_URL = 'http://movieapi.plearnjai.com/DEV/API/SentimentScore.php?idmovie=' + movie[
                    'idIMDb']
                r = requests.get(url=Movie_URL)
                response = r.json()
                detail = response['response'][0]['storyComment'][0][
                    'positiveCount']
                detail2 = response['response'][0]['storyComment'][0][
                    'negativeCount']
                scorepos = int(detail)
                scoreneg = int(detail2)
                pos = ((scorepos / (scorepos + scoreneg)) * 100)
                neg = ((scoreneg / (scoreneg + scorepos)) * 100)

                if pos == neg:
                    return 'เฉยๆนะ'
                if pos >= 50 and pos <= 75:
                    return 'สนุกนะ'
                elif pos >= 76 and pos <= 100:
                    return 'สนุกมาก'
                if neg >= 50 and neg <= 75:
                    return 'ไม่สนุก'
                elif neg >= 76 and neg <= 100:
                    return 'สนุกมาก'

    elif (movie_name == '' and le == 1 and name == ''):  # คำถามธรรมดา
        mov = findm
        movie_name = mov.lower().replace(' ', '')
        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                Movie_URL = 'http://movieapi.plearnjai.com/DEV/API/SentimentScore.php?idmovie=' + movie[
                    'idIMDb']
                r = requests.get(url=Movie_URL)
                response = r.json()
                detail = response['response'][0]['storyComment'][0][
                    'positiveCount']
                detail2 = response['response'][0]['storyComment'][0][
                    'negativeCount']
                scorepos = int(detail)
                scoreneg = int(detail2)
                pos = ((scorepos / (scorepos + scoreneg)) * 100)
                neg = ((scoreneg / (scoreneg + scorepos)) * 100)
                if pos == neg:
                    return 'เฉยๆนะ'
                if pos >= 50 and pos <= 75:
                    return 'สนุก'
                elif pos >= 76 and pos <= 100:
                    return 'สนุกมาก'
                if neg >= 50 and neg <= 75:
                    return 'ไม่สนุกเลย'
                elif neg >= 76 and neg <= 100:
                    return 'ไม่สนุกมาก'

    elif movie_name != '' and searchMovieNameInDic(movie_name) != '':

        with open('new.txt', mode='r', encoding='utf-8-sig') as f:
            a = load(f)
            for key, value in a.items():
                try:
                    if dd in value:
                        w = key.lower()
                        movie_name = w.lower()
                        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
                        r = requests.get(url=URL)
                        data = r.json()
                        found = False
                        for movie in data:
                            if movie_name == movie['nameEN'].lower().replace(
                                    ' ', ''):
                                found = True
                                Movie_URL = 'http://movieapi.plearnjai.com/DEV/API/SentimentScore.php?idmovie=' + movie[
                                    'idIMDb']
                                r = requests.get(url=Movie_URL)
                                response = r.json()
                                detail = response['response'][0][
                                    'storyComment'][0]['positiveCount']
                                detail2 = response['response'][0][
                                    'storyComment'][0]['negativeCount']
                                scorepos = int(detail)
                                scoreneg = int(detail2)
                                pos = ((scorepos / (scorepos + scoreneg)) *
                                       100)
                                neg = ((scoreneg / (scoreneg + scorepos)) *
                                       100)
                                if pos == neg:
                                    return 'ไม่ค่อยนะเฉยๆ'
                                if pos >= 50 and pos <= 75:
                                    return 'สนุกแน่นอน'
                                elif pos >= 76 and pos <= 100:
                                    return 'สนุกมากๆเลยนะจะบอกให้'
                                if neg >= 50 and neg <= 75:
                                    return 'ไม่สนุกเลยครับ'
                                elif neg >= 76 and neg <= 100:
                                    return 'ไม่สนุกมากๆเลย'

                except:
                    return 'ไม่รู้นะ'
    elif movie_name != '':
        movie_name = movie_name.lower()

        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                Movie_URL = 'http://movieapi.plearnjai.com/DEV/API/SentimentScore.php?idmovie=' + movie[
                    'idIMDb']
                r = requests.get(url=Movie_URL)
                response = r.json()
                detail = response['response'][0]['storyComment'][0][
                    'positiveCount']
                detail2 = response['response'][0]['storyComment'][0][
                    'negativeCount']
                scorepos = int(detail)
                scoreneg = int(detail2)
                pos = ((scorepos / (scorepos + scoreneg)) * 100)
                neg = ((scoreneg / (scoreneg + scorepos)) * 100)

                if pos == neg:
                    return 'เฉยๆนะ'
                if pos >= 50 and pos <= 75:
                    return 'สนุกนะ'
                elif pos >= 76 and pos <= 100:
                    return 'สนุกมาก'
                if neg >= 50 and neg <= 75:
                    return 'ไม่สนุก'
                elif neg >= 76 and neg <= 100:
                    return 'สนุกมาก'
    elif e != '' and dd == '':

        return 'ยังไม่มีข้อมูลนะครับ'
    else:

        return 'ยังไม่มีข้อมูลเลยจร้า'


#print(movie_enjoy('วันเดอวูแมนสนุกไหมครับ'))
예제 #4
0
def movie_spoil(event,findm,question):
    dd = checDic(event.message.text)
    movie_name = searchMovie(dd)
    e = CutName(question)
    le = len(checksentence(question))
    name = re.sub('[กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮฝฦใฬมฒท?ื์ิ.่๋้็เโ,ฯี๊ัํะำไๆ๙๘๗๖๕ึ฿ุู๔๓๒๑+ๅาแ]', '',
                  movie_name).replace(' ', '')
    if e != '' and movie_name != '' and name != '':  # คำถาม+ชื่อภาอังกฤษ
        movie_name = movie_name.lower()
        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                Movie_URL = 'http://movieapi.plearnjai.com/DEV/API/Summarization.php?idmovie=' + movie['idIMDb']
                r = requests.get(url=Movie_URL)
                response = r.json()
                detail = response['response']['spoilers']
                detail = str(detail)

                detail = detail.replace('/n', '')
                detail = detail.replace('\n', '')

                if detail != None:
                    translator = Translator()
                    translations = translator.translate(detail, dest='th')
                    return translations.text
                else:
                    return 'ยังไม่ทราบส่วนสำคัญเรื่องนี้เลยครับ'
        if found == False:
            return 'ยังไม่ทราบตอนจบเรื่องนี้เลยครับ'
    elif (movie_name == '' and le == 1 and name == ''):  # คำถามธรรมดา
        mov = findm
        movie_name = mov.lower().replace(' ','')
        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                Movie_URL = 'http://movieapi.plearnjai.com/DEV/API/Summarization.php?idmovie=' + movie['idIMDb']
                r = requests.get(url=Movie_URL)
                response = r.json()
                detail = response['response']['spoilers']
                detail = str(detail)
                detail = detail.replace('/n','')
                detail = detail.replace('\n','')
                if detail != None:
                    translator = Translator()
                    translations = translator.translate(detail, dest='th')
                    return translations.text
                else:
                    return 'ยังไม่ทราบส่วนสำคัญเรื่องนี้เลยครับ'
        if found == False:
            return 'ยังไม่ทราบตอนจบเรื่องนี้เลยครับ'
    elif movie_name != '' and searchMovieNameInDic(movie_name) != '':

            with open('new.txt', mode='r', encoding='utf-8-sig') as f:
                a = load(f)
                for key, value in a.items():
                    try:
                        if dd in value:
                            w = key.lower()
                            movie_name = w.lower()
                            URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
                            r = requests.get(url=URL)
                            data = r.json()
                            found = False
                            for movie in data:
                                if movie_name == movie['nameEN'].lower().replace(' ', ''):
                                    found = True
                                    Movie_URL = 'http://movieapi.plearnjai.com/DEV/API/Summarization.php?idmovie=' + movie['idIMDb']
                                    r = requests.get(url=Movie_URL)
                                    response = r.json()
                                    detail = response['response']['spoilers']
                                    detail = str(detail)
                                    detail = detail.replace('/n', '')
                                    detail = detail.replace('\n', '')
                                    if detail != None:
                                        translator = Translator()
                                        translations = translator.translate(detail, dest='th')
                                        return translations.text
                                    else:
                                        return 'ยังไม่ทราบส่วนสำคัญเรื่องนี้เลย'
                            if found == False:
                                    return 'ยังไม่ทราบตอนจบเรื่องนี้เลย'
                    except:
                        return 'ยังไม่ข้อมูลเลย'
    elif movie_name != '':
        movie_name = movie_name.lower()
        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                Movie_URL = 'http://movieapi.plearnjai.com/DEV/API/Summarization.php?idmovie=' + movie['idIMDb']
                r = requests.get(url=Movie_URL)
                response = r.json()
                detail = response['response']['spoilers']
                detail = str(detail)

                detail = detail.replace('/n', '')
                detail = detail.replace('\n', '')

                if detail != None:
                    translator = Translator()
                    translations = translator.translate(detail, dest='th')
                    return translations.text
                else:
                    return 'ยังไม่ทราบส่วนสำคัญเรื่องนี้เลยครับ'
        if found == False:
            return 'ยังไม่ทราบตอนจบเรื่องนี้เลยครับ'
    elif e != '' and dd == '':

        return 'ยังไม่มีข้อมูลนะครับ'
    else:

        return 'ยังไม่มีข้อมูลเลยจร้า'


#print(movie_spoil('สปอย','wonderwoman','สปอย'))
예제 #5
0
파일: type.py 프로젝트: machopman/profinish
def movie_type(event, findm, question):
    dd = checDic(event.message.text)
    movie_name = searchMovie(dd)
    e = CutName(question)
    le = len(checksentence(question))
    name = re.sub(
        '[กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮฝฦใฬมฒท?ื์ิ.่๋้็เโ,ฯี๊ัํะำไๆ๙๘๗๖๕ึ฿ุู๔๓๒๑+ๅาแ]',
        '', movie_name).replace(' ', '')
    if e != '' and movie_name != '' and name != '':  # คำถาม+ชื่อภาอังกฤษ
        movie_name = movie_name.lower()
        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                Movie_URL = 'http://mandm.plearnjai.com/API/detailMovie.php?idmovie=' + movie[
                    'idIMDb']
                r = requests.get(url=Movie_URL)
                movie_detail = r.json()
                detail = movie_detail['response'][0]['detailMovie'][0]['Genre']
                detail = detail.replace('\n', '')

                if detail != '':
                    return detail
                else:
                    return 'ยังไม่รู้วันประเภทหนังเรื่องนี้เลยครับ'
        if found == False:
            return 'ยังไม่รู้วันประเภทหนังเรื่องนี้เลยครับ'
    elif (movie_name == '' and le == 1 and name == ''):  # คำถามธรรมดา
        mov = findm
        movie_name = mov.lower().replace(' ', '')
        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                Movie_URL = 'http://mandm.plearnjai.com/API/detailMovie.php?idmovie=' + movie[
                    'idIMDb']
                r = requests.get(url=Movie_URL)
                movie_detail = r.json()
                detail = movie_detail['response'][0]['detailMovie'][0]['Genre']
                detail = detail.replace('\n', '')

                if detail != '':
                    return detail
                else:
                    return 'ยังไม่รู้วันประเภทหนังเรื่องนี้เลยครับ'
        if found == False:
            return 'ยังไม่รู้วันประเภทหนังเรื่องนี้เลยครับ'
    elif movie_name != '' and searchMovieNameInDic(movie_name) != '':

        with open('new.txt', mode='r', encoding='utf-8-sig') as f:
            a = load(f)
            for key, value in a.items():
                try:
                    if dd in value:
                        w = key.lower()
                        movie_name = w.lower()
                        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
                        r = requests.get(url=URL)
                        data = r.json()
                        found = False
                        for movie in data:
                            if movie_name == movie['nameEN'].lower().replace(
                                    ' ', ''):
                                found = True
                                Movie_URL = 'http://mandm.plearnjai.com/API/detailMovie.php?idmovie=' + movie[
                                    'idIMDb']
                                r = requests.get(url=Movie_URL)
                                movie_detail = r.json()
                                detail = movie_detail['response'][0][
                                    'detailMovie'][0]['Genre']
                                detail = detail.replace('\n', '')

                                if detail != '':
                                    return detail
                                else:
                                    return 'ยังไม่รู้วันประเภทหนังเรื่องนี้เลย'
                        if found == False:
                            return 'ยังไม่รู้วันประเภทหนังเรื่องนี้เลย'
                except:
                    return 'ยังไม่ข้อมูลประเภทหนังเลย'
    elif movie_name != '':
        movie_name = movie_name.lower()
        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                Movie_URL = 'http://mandm.plearnjai.com/API/detailMovie.php?idmovie=' + movie[
                    'idIMDb']
                r = requests.get(url=Movie_URL)
                movie_detail = r.json()
                detail = movie_detail['response'][0]['detailMovie'][0]['Genre']
                detail = detail.replace('\n', '')

                if detail != '':
                    return detail
                else:
                    return 'ยังไม่รู้วันประเภทหนังเรื่องนี้เลยครับ'
        if found == False:
            return 'ยังไม่รู้วันประเภทหนังเรื่องนี้เลยครับ'
    elif e != '' and dd == '':

        return 'ยังไม่มีข้อมูลนะครับ'
    else:

        return 'ยังไม่มีข้อมูลเลยจร้า'
예제 #6
0
def movie_detail(event,findm,question):
    dd = checDic(event.message.text)
    movie_name = searchMovie(dd)
    e = CutName(question)
    le = len(checksentence(question))
    name = re.sub('[กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮฝฦใฬมฒท?ื์ิ.่๋้็เโ,ฯี๊ัํะำไๆ๙๘๗๖๕ึ฿ุู๔๓๒๑+ๅาแ]', '',
                  movie_name).replace(' ', '')
    if e != '' and movie_name != '' and name != '':  # คำถาม+ชื่อภาอังกฤษ
        movie_name = movie_name.lower()
        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                Movie_URL = 'http://mandm.plearnjai.com/API/detailMovie.php?idmovie=' + movie['idIMDb']
                r = requests.get(url=Movie_URL)
                movie_detail = r.json()
                detail = movie_detail['response'][0]['detailMovie'][0]['Synopsis']
                denew  = detail.replace('&nbsp;','')
                denew= denew.replace('\n','')

                if detail != '':
                    for i in range(0, len(denew)):
                        conv = ord(denew[i])
                        if 161 <= conv <= 251:
                            return denew
                        else:
                            translator = Translator()
                            translations = translator.translate(denew, dest='th')
                            return translations.text
                else:
                    return 'ยังไม่ทราบเนื้อเรื่องนี้เลยครับ'
        if found == False:
            return 'ยังไม่ทราบเนื้อเรื่องนี้เลยครับ'
    elif (movie_name == '' and le == 1 and name == ''):  # คำถามธรรมดา
        mov = findm
        movie_name = mov.lower().replace(' ','')
        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                Movie_URL = 'http://mandm.plearnjai.com/API/detailMovie.php?idmovie=' + movie['idIMDb']
                r = requests.get(url=Movie_URL)
                movie_detail = r.json()
                detail = movie_detail['response'][0]['detailMovie'][0]['Synopsis']
                denew = detail.replace('&nbsp;', '')
                denew = denew.replace('\n', '')

                if detail != '':
                    for i in range(0, len(denew)):
                        conv = ord(denew[i])
                        if 161 <= conv <= 251:
                            return denew
                        else:
                            translator = Translator()
                            translations = translator.translate(denew, dest='th')
                            return translations.text
                else:
                    return 'ยังไม่ทราบเนื้อเรื่องนี้เลยครับ'
        if found == False:
            return 'ยังไม่ทราบเนื้อเรื่องนี้เลยครับ'
    elif movie_name != '' and searchMovieNameInDic(movie_name) != '':

            with open('new.txt', mode='r', encoding='utf-8-sig') as f:
                a = load(f)
                for key, value in a.items():
                    try:
                        if dd in value:
                            w = key.lower()
                            movie_name = w.lower()
                            URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
                            r = requests.get(url=URL)
                            data = r.json()
                            found = False
                            for movie in data:
                                if movie_name == movie['nameEN'].lower().replace(' ', ''):
                                    found = True
                                    Movie_URL = 'http://mandm.plearnjai.com/API/detailMovie.php?idmovie=' + movie['idIMDb']
                                    r = requests.get(url=Movie_URL)
                                    movie_detail = r.json()
                                    detail = movie_detail['response'][0]['detailMovie'][0]['Synopsis']
                                    denew = detail.replace('&nbsp;', '')
                                    denew = denew.replace('\n', '')

                                    if detail != '':
                                        for i in range(0, len(denew)):
                                            conv = ord(denew[i])
                                            if 161 <= conv <= 251:
                                                return denew
                                            else:
                                                translator = Translator()
                                                translations = translator.translate(denew, dest='th')
                                                return translations.text
                                    else:
                                        return 'ยังไม่ทราบเนื้อเรื่องนี้เลย'
                            if found == False:
                                    return 'ยังไม่ทราบเนื้อเรื่องนี้เลย'
                    except :
                        return 'ยังไม่ทราบลยครับ'
    elif movie_name !='':
        movie_name = movie_name.lower()
        URL = "http://mandm.plearnjai.com/API/id_nameMovie.php?key=mandm"
        r = requests.get(url=URL)
        data = r.json()
        found = False
        for movie in data:
            if movie_name == movie['nameEN'].lower().replace(' ', ''):
                found = True
                Movie_URL = 'http://mandm.plearnjai.com/API/detailMovie.php?idmovie=' + movie['idIMDb']
                r = requests.get(url=Movie_URL)
                movie_detail = r.json()
                detail = movie_detail['response'][0]['detailMovie'][0]['Synopsis']
                denew = detail.replace('&nbsp;', '')
                denew = denew.replace('\n', '')

                if detail != '':
                    for i in range(0, len(denew)):
                        conv = ord(denew[i])
                        if 161 <= conv <= 251:
                            return denew
                        else:
                            translator = Translator()
                            translations = translator.translate(denew, dest='th')
                            return translations.text
                else:
                    return 'ยังไม่ทราบเนื้อเรื่องนี้เลยครับ'
        if found == False:
            return 'ยังไม่ทราบเนื้อเรื่องนี้เลยครับ'
    elif e !='' and dd =='':
        print('เข้า5')
        return 'ยังไม่มีข้อมูลนะครับ'
    else:
        print('เข้า6')
        return 'ยังไม่มีข้อมูลเลยจร้า'

#print(movie_detail('w'))
예제 #7
0
파일: main.py 프로젝트: machopman/profinish
def movie(event):

    user = mongo.db.users
    q = event.message.text
    question= normalword(q)
    en =cheEng(question)
    chec = checDic(question)
    chename = searchM(chec)
    find =  checkname(chename)
    ques = checkd(question)
    userid = event.source.user_id
    findm =findmovie(userid)[0]
    ques  =PatternCon(userid,event,findm,ques,user)
    ques = CutNameMovie(ques)
    findcate = findmovie(userid)[1]
    sentence = re.sub('[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890]', '',(ques))

    if sentence !='' and searchMovie(question) =='' :
        #cut = cutw(sentence)
        cut = keyword(sentence)

        words = []
        for row in cut:
            words.append(row)
        max = 15
        word = ''
        for line in words:
            cut_len = len(line) - 1
            # print(cut)
            if cut_len >= max:
                max = cut_len

        cut_len = len(cut)
        count1 = max - cut_len
        # word = []
        for line2 in range(count1):
            str = 'PAD'
            words.append(str)
        inputs = {'input': [words], 'cate': [['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0']]}
        inputs2 = []
        for poemCount in range(len(inputs['input'])):
            poem = []
            for count in range(15):
                search = inputs['input'][poemCount][count]
                search = search.replace('\ufeff', '')

                if search != 'PAD':
                    # print(search)
                        index = dictionary[search]
                        # [i for i, word in reverse_dictionary.items() if word == search]
                        if index != None:

                            # print(index)
                            poem = np.concatenate((poem, final_embeddings[index]))
                            # print(poem.shape)
                        else:
                            print(search)
                            # print(poem)

                else:
                    poem = np.concatenate((poem, np.zeros(22)))
            inputs2.append(poem)
        graph = tf.Graph()
        with graph.as_default():
            wordCount = 15
            cateDimension = 17
            weightColumn1 = 22
            weightColumn2 = 64
            weightRow = 3
            features1 = 64
            features2 = 64

            sess = tf.InteractiveSession()
            pooled_outputs = []
            x = tf.placeholder(tf.float32, shape=[None, wordCount * weightColumn1])
            y_ = tf.placeholder(tf.float32, shape=[None, cateDimension])
            # y_ = tf.placeholder(tf.float32, shape=[None, cateDimension])
            for i, filter_size in enumerate([2, 3, 4]):
                l2_loss = tf.constant(0.0)
                l2_reg_lambda = 0.0
                with tf.name_scope("conv-maxpool-%s" % filter_size):
                    # Convolution Layer
                    filter_shape = [filter_size, weightColumn1, 1, features1]
                    W = tf.Variable(tf.truncated_normal(filter_shape, stddev=0.1), name="W")
                    b = tf.Variable(tf.constant(0.1, shape=[features1]), name="b")

                    # print(x.get_shape())
                    # print(W.get_shape())
                    x_image = tf.reshape(x, [-1, wordCount, weightColumn1, 1])
                    conv = tf.nn.conv2d(x_image, W, strides=[1, 1, 1, 1], padding='VALID')

                    # Apply nonlinearity

                    h = tf.nn.relu(tf.nn.bias_add(conv, b), name="relu")
                    # Maxpooling over the outputs
                    pooled = tf.nn.max_pool(
                        h,
                        ksize=[1, 15 - filter_size + 1, 1, 1],
                        strides=[1, 1, 1, 1],
                        padding='VALID',
                        name="pool")
                    pooled_outputs.append(pooled)

            # Combine all the pooled features
            num_filters_total = features1 * len([2, 3, 4])
            #print(pooled_outputs)

            # h_pool = tf.concat(3, pooled_outputs)
            h_pool = tf.concat(pooled_outputs, 3)
            h_pool_flat = tf.reshape(h_pool, [-1, num_filters_total])

            # Add dropout
            with tf.name_scope("dropout"):
                keep_prob = tf.placeholder(tf.float32)

                h_drop = tf.nn.dropout(h_pool_flat, keep_prob)

            # Final (unnormalized) scores and predictions
            with tf.name_scope("output"):
                W = tf.get_variable(
                    "W",
                    shape=[num_filters_total, cateDimension],
                    initializer=tf.contrib.layers.xavier_initializer())
                b = tf.Variable(tf.constant(0.1, shape=[cateDimension]), name="b")
                l2_loss += tf.nn.l2_loss(W)
                l2_loss += tf.nn.l2_loss(b)
                # scores = tf.nn.xw_plus_b(h_drop, W, b, name="scores")
                scores = tf.nn.relu(tf.nn.xw_plus_b(h_drop, W, b, name="scores"))
                # predictions = tf.argmax(scores, 1, name="predictions")

            # CalculateMean cross-entropy loss
            with tf.name_scope("loss"):
                losses = tf.nn.softmax_cross_entropy_with_logits(logits=scores, labels=y_)
                loss = tf.reduce_mean(losses) + l2_reg_lambda * l2_loss

            correct_prediction = tf.equal(tf.argmax(scores, 1), tf.argmax(y_, 1))
            train_step = tf.train.AdamOptimizer(1e-4).minimize(losses)  #######///
            accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))  ########///

            saver = tf.train.Saver()  # Gets all variables in `graph`.
            with tf.Session(graph=graph) as sess:
                saver.restore(sess, 'model.ckpt')
                p = sess.run(tf.argmax(scores, 1), feed_dict={x: inputs2, keep_prob: 1.0})

            classify = p
            clas = checkcate(classify)
            print(classify)

            name = re.sub('[กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮฝฦใฬมฒท?ื์ิ.่๋้็เโ,ฯี๊ัํะำไๆ๙๘๗๖๕ึ฿ุู๔๓๒๑+ๅาแ]','', question).replace(' ', '')
            #movie_name = searchMovieNameInDic(question)
            le = len(checksentence(question))

            if findm == '' and classify!=12 and classify!=13 and classify!=14 and classify!=11 and classify!=10 and classify!=9 and classify!=8 and name ==''and chec=='' and classify!=15 and classify!=16 :

                if le ==1:
                    if chec == '':
                        text = 'เรื่องอะไรครับ'
                        line_bot_api.reply_message(event.reply_token, TextSendMessage(text=text))
                        user.insert(
                            {"UserId": userid, "NameMovie": "", "Cate": clas, "Question": question, "Answer": text,"Time": datetime.now()})
                else:
                    Type(clas, event, chec, userid, user, question, name, findm)




            elif (name == '') and (chec == '') and classify == 12:

                general(question, event, userid, user)
            else:

                Type(clas, event, chec, userid, user, question,name,findm)

    elif findm == '' and findcate!='12' and chec !='' and findcate!='16' :
        try:

            check = checkname(ques)
            if chec != '' or check==True:
                w = user.find({'UserId':userid}).sort("Time")
                q = []
                t=[]
                for i in w:
                    a = i
                    for key, value in a.items():
                        if key == 'Question':
                            q.append(value)
                        if key =='Cate':
                            t.append(value)


                ques = q[-1]+chec
                Type(t[-1], event, chec, userid, user, ques, chec,findm)
        except:
            question = 'รีวิวหน่อย'
            detail ='แล้วต้องการอ่าน บทรีวิว ไหมล่ะ'
            line_bot_api.reply_message(event.reply_token,TextSendMessage(text=detail))
            user.insert(
                {"UserId": userid, "NameMovie": chec, "Cate": '', "Question": question, "Answer": detail,
                 "Time": datetime.now()})

    elif findm == '' and find == False and  en=='find':

        line_bot_api.reply_message(event.reply_token, TextSendMessage(text='ไม่มีหนังเรื่องนี้'))
    elif find ==False and en=='find':
        line_bot_api.reply_message(event.reply_token, TextSendMessage(text='พูดภาษาอังกฤษด้วยเก่งจัง'))
    elif find == False and en == 'not':
        line_bot_api.reply_message(event.reply_token, TextSendMessage(text='อย่าพิมภาษาอังกฤษมั่วดิ'))
    elif find == True:

        detail ='ต้องการอ่านเนื้อหาหนังเรื่องนี้ไหมครับ'
        line_bot_api.reply_message(event.reply_token, TextSendMessage(text=detail))
        user.insert(
            {"UserId": userid, "NameMovie":chec , "Cate": '5', "Question": chec, "Answer": detail,
             "Time": datetime.now()})