Completed
Push — master ( 7f87d4...c304dc )
by Glenn
39s
created

skf/api/chatbot/business.py (1 issue)

Severity
1
import json, nltk, os
2
from flask import Flask, jsonify, request
3
from nltk.stem.lancaster import LancasterStemmer
4
from skf.api.security import log, val_num, val_alpha_num, val_alpha_num_special
5
from skf.api.chatbot.scripts import intent_classifier
6
from skf.api.chatbot.scripts import entity_classifier1
7
from skf.api.chatbot.scripts import entity_classifier2
8
from skf.api.chatbot.scripts import code_classify
9
10
app = Flask(__name__)
11
12
def des_sol(question,intent):
13
        entity=entity_classifier1.entity_recognizer(question.lower())
14
        if entity is None:
15
           entity=entity_classifier2.entity(question)
16
        intent=intent
17
        read_file = open(os.path.join(app.root_path, "datasets/desc_sol.json"), 'r')
18
        data = json.load(read_file)
19
        ite=data['items']
20
        if type(entity)==str:
21
            for d in ite:
22
                 if entity.lower()==d['title'].lower():
23
                      if intent=="Description":
24
                          desc="Description for "+d['title']+" is : "+ d[intent]
25
                          intent="NULL"
26
                          return desc
27
                          break
28
                      else:
29
                          sol="Solution for "+d['title']+" is : "+ d[intent]
30
                          intent="NULL"
31
                          return sol
32
                          break
33
        else:
34
             if len(entity)>0:
35
                for i in entity:
36
                    entity[i]=intent+" "+entity[i]
37
                return entity
38
             else:
39
                msg="Please be more specific"
40
                return msg
41
42
def code(question,intent,language):
43
        code_entity=code_classify.entity(question)
44
        read_file = open(os.path.join(app.root_path, "datasets/code_data.json"), 'r')
45
        code_data = json.load(read_file)
46
        code_ite=code_data['items']
47
        code_languages=[]
48
        count=0
49
        if len(code_entity)==2 and type(code_entity[0])==str:
50
            entity=str(code_entity[0].strip("\n").lower())
51
            if language is None:
52
               language=str(code_entity[-1].strip("\n").lower())
53
            else:
54
               language=language
55
            for d in code_ite:
56
                 if entity==d['title'].lower():
57
                    code_languages.append(d['code_lang'])
58
            for d in code_ite:
59
                 if entity==d['title'].lower() and language in code_languages:
60
                    if language==d['code_lang'].lower():
61
                       code_a="Code for "+ d['content']+"\n Code language is " + d['code_lang']
62
                       count=count+1
63
                       return code_a
64
            if count==0:
65
                    ent={}
66
                    for i in range(len(code_languages)):
67
                        entity=intent+" "+str(code_entity[0].strip("\n").lower())+" in "+code_languages[i]
68
                        print(entity)
69
                        ent[i]=entity
70
                    return ent
71
                    for d in code_ite:
72
                        if entity==d['title'].lower() and lang in code_languages:
73
                              if lang==d['code_lang'].lower():
74
                                 return d['content']
75
                                 count=count+1
0 ignored issues
show
This code does not seem to be reachable.
Loading history...
76
        else:
77
             if language is None:
78
               language=str(code_entity[-1].strip("\n").lower())
79
             else:
80
               language=language
81
             code_list={}
82
             for i in code_entity[0]:
83
                 code_list[i]=intent+" "+code_entity[0][i]
84
             return code_list