Example #1
0
 def QueryForContent(self):
     count = self.packet["data"]
     obj= MysqlConnect(serverIp, myDb, mySqlUser, mySqlpwd)
     allFiles = obj.readFileTable(tableName, count)
     fileStr = yaml.dump(allFiles)
     fileStr = fileStr.strip("\n")
     return fileStr
Example #2
0
    def informAndUpdate(self):
        hostAddress = self.packet["address"]
        hostName = self.packet["hostName"]
        files = str(self.packet["data"])
        files = yaml.load(files)

        obj= MysqlConnect(serverIp, myDb, mySqlUser, mySqlpwd)
        for file in files:
            size = str(files[file])
            obj.writeDataFileTable(tableName, file, hostAddress, size , hostName)
        print "done"
Example #3
0
    def queryForContent(self ):
        host = self.receivedMsg["Address"]
        print host

        data = self.receivedMsg["Data"].split("|")
        count = data[0]
        key = data[1]
        obj= MysqlConnect(serverIp, myDb, mySqlUser, mySqlpwd)
        allFiles = obj.readFileTable(tableName, host, count, key)
        fileStr = yaml.dump(allFiles)
        fileStr = fileStr.strip("\n")
        return fileStr
Example #4
0
    def updateDatabase(self, buf):
        headers = self.getHeader()
        buf.update(headers)
        hostAddress = buf["Address"]
        hostname = buf["Hostname"]
        files = buf["Files"]
        files = yaml.load(files)

        obj= MysqlConnect(serverIp, myDb, mySqlUser, mySqlpwd)
        for file in files:
            size = str(files[file])
            obj.writeDataFileTable(tableName, file, hostAddress, size , hostname)
        print "done"
def fetch():

    body_data = request.json
    print(body_data)
    try:
        status = body_data['status']
        print(status)
        if status == "" or status is None:
            return err.ReturnValueError()
        conn = connect.ConnectMySql()
        print(f'Connection status : {conn.is_connected()}')
        if (conn is False):
            return ReturnConnectionError()
        else:
            cur = conn.cursor()
            print(f'Cursor object : {cur}')
            query = (f'SELECT * from orderPizza where status="{status}"')
            cur.execute(query)
            msg = "Fetched data succesfully"
            result = res.generateResponse(cur, msg)
            conn.close()
            return result

    except KeyError as e:
        return err.ReturnKeyError()
    except Exception as e:
        print(e)
        return err.ReturnFetchError()
def delete():
    body_data = request.json
    print(body_data)
    try:
        pizza_type = body_data['pizza']
        print(pizza)

        if pizza_type == "" or pizza_type is None:
            return err.ReturnValueError()
        conn = connect.ConnectMySql()
        print(f'Connection status : {conn.is_connected()}')
        if (conn is False):
            return err.ReturnConnectionError()
        else:
            cur1 = conn.cursor()
            print(f'Cursor object : {cur1}')
            query = (f'DELETE from orderPizza where pizza_type="{pizza}"')
            cur1.execute(query)
            cur2 = conn.cursor()
            selectquery = SelectQuery()
            cur2.execute(selectquery)
            msg = "Data deleted succesfully"
            result = res.generateResponse(cur2, msg)
            conn.close()
            return result

    except KeyError as e:
        return err.ReturnKeyError()
    except Exception as e:
        print(e)
        return e
Example #7
0
def makeWebhookResult(req):

    if req.get("queryResult").get("action")=="input_details":
        pizzaord = connection.ConnectMySql()
        return()
        
            result = req.get("queryResult")
            parameters = result.get("parameters")
            orderid = parameters.get("orderid")
            name = parameters("name")
            pizza_name = parameters.get("pizza_name")
            pizza_size = parameters.get("pizza_size")
            pizza_type = parameters.get("pizza_type")
            name = parameter.get("name")
            mobileno = parameters.get("mobileno")
            Address = parameters.get("address")
            status = parameters.get("status")
            speech = "Orderid"+orderid +" "+ "Name" + name +" "+"Pizza name"+pizza_name+" "+"Pizza size" +pizza_size+ " " +"Pizza type"+ pizza_type+" " +"mobile no"+ mobileno+" "+
            " Address"+address+"Status: ordered"
            print(speech)
            return {
                "fulfillmentText": speech,
                "fulfillmentText": speech,
            }
            if pizzaord is Flase:
                return err.ReturnConnectionError()
            else:
                try:
                mycursor = pizzadb.cursor()
                query = "select *from pizzaorder"
                mycursor.execute(query)
                myresult = mycursor.fetchall()
                print(myresult)    
Example #8
0
def webhook():
    conn = connection.ConnectMySql()
    req = request.get_json(silent=True, force=True)
    res = makeWebhookResult(req)
    res = json.dumps(res, indent=4)
    print(res)
    r = make_response(res)
    print(r)
    r.headers['Content-Type'] = 'application/json'
    return r
def insert():

    body_data = request.json
    print(body_data)
    try:
        pizza_type = body_data['pizza']
        print(pizza_type)
        pizza_size = body_data['size']
        print(pizza_size)
        pizza_count = body_data["count"]
        print(pizza_count)
        user_name = body_data['name']
        print(user_name)
        mobile_number = body_data['number']
        print(mobile_number)
        address = body_data['address']
        print(address)
        status = body_data['status']
        print(status)
        if (pizza == "" or pizza is None or size == "" or size is None
                or count == "" or count is None or price == "" or price is None
                or name == "" or name is None or number == "" or number is None
                or address == "" or address is None):
            return err.ReturnValueError()
        conn = connect.ConnectMySql()
        print(f'Connection status : {conn.is_connected()}')
        if (conn is False):
            return err.ReturnConnectionError()
        else:
            cur1 = conn.cursor()
            print(f'Cursor object : {cur1}')
            query = (
                f'INSERT INTO orderPizza(pizza_type,pizza_size,pizza_count,user_name,mobile_number,address,status)values("{pizza}","{size}",{count}","{name}","{number}","{address}","{status}")'
            )
            cur1.execute(query)
            cur2 = conn.cursor()
            selectquery = SelectQuery()
            cur2.execute(selectquery)
            msg = "Data inserted succesfully"
            result = res.generateResponse(cur2, msg)
            conn.close()
            return result
    except KeyError as e:
        return err.ReturnKeyError()
    except mysql.connector.IntegrityError as e:
        print(f'Exception : {e}')
        return err.ReturnDuplicateDataError()
def display():
    conn = connect.ConnectMySql()
    print(f'Connection status : {conn}')
    if (conn is False):
        return err.ReturnConnectionError()
    else:
        try:
            cur = conn.cursor()
            print(f'Cursor object : {cur}')
            query = ('SELECT* from orderPizza')
            cur.execute(query)
            msg = "Data fetched succesfully"
            return res.generateResponse(cur, msg)
        except Exception as e:
            print(e)
            return err.ReturnFetchError()
        finally:
            conn.close()
Example #11
0
def fetch():
    conn = connect.ConnectMySql()
    print(f"Connection status : {conn}")

    if conn is False:
        return err.ReturnConnectionError()
    else:
        try:
            cur = conn.cursor()
            print(f"Cursor object : {cur}")
            query = "select * from pizza"
            cur.execute(query)
            msg = "Data fetched succesfully"
            return res.generateResponse(cur,msg)
        except Exception as e:
            print(e)
            return err.ReturnFetchError()
        finally:
            conn.close()
Example #12
0
def fetch():
    conn = connect.ConnectMySql()
    print(f"Connection status : {conn}")

    if conn is False:
        return err.ReturnConnectionError()
    else:
        try:
            cur = conn.cursor()
            print(f"Cursor object : {cur}")
            query = "select * from Pizza_det"
            cur.execute(query)
            msg = "Data fetched succesfully"
            return jsonify(
                {"fulfillmentMessages": [{"text": {"text": ["hello world"]}}]}
            )
        except Exception as e:
            print(e)
            return err.ReturnFetchError()
        finally:
            conn.close()
Example #13
0
 def removePeerDatabase(self):
     hostAddress = self.receivedMsg["Address"]
     obj= MysqlConnect(serverIp, myDb, mySqlUser, mySqlpwd)
     obj.deleteFromFileTable(tableName, hostAddress)
     print "deleted"
Example #14
0
 def removePeer(self):
     hostAddress = self.packet["address"]
     obj= MysqlConnect(serverIp, myDb, mySqlUser, mySqlpwd)
     obj.deleteFromFileTable(tableName, hostAddress)
     print "deleted"
Example #15
0
def makeWebhookResult(req):
    print(req)
    if req.get("queryResult").get("action") == "order_placed":
        pizzadb = connection.ConnectMySql()
        update_table = connection.update_table(pizzadb)
        if pizzadb != False and update_table != False:
            result = req.get("queryResult")
            parameters = result.get("parameters")
            pizza_size = parameters.get("pizza_size")
            pizza_variety = parameters.get("pizza_variety")
            no_of_pizza = int(parameters.get("no_of_pizza"))
            amount = no_of_pizza * 100
            name = parameters["name"]["name"]
            phone_no = parameters.get("phone_no")
            Email_id = parameters.get("Email_id")
            Address = parameters.get("Address")
            toppings = parameters.get("toppings")

            try:
                mycursor = pizzadb.cursor()
                sql = "INSERT INTO list_of_orders (Name, Email_Id, Address, Phone_no, No_of_pizza, pizza_size, type_of_pizza, toppings, amount, order_time,preparation_time,delivery_time) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,NOW()+1,NOW()+200,NOW()+400)"
                val = (name, Email_id, Address, phone_no, no_of_pizza,
                       pizza_size, pizza_variety, toppings, amount)
                mycursor.execute(sql, val)
                pizzadb.commit()
                id_num = mycursor.lastrowid
                speech = "Your Order is placed :)<br/> Order ID : " + str(
                    id_num
                ) + "<br/> Name : " + name + "<br/> Pizza ordered : " + str(
                    no_of_pizza
                ) + " " + pizza_size + " " + pizza_variety + "<br/> Amount : " + str(
                    amount
                ) + "<br/> order status : ordered <br/> Do you want to check your status?"
                return {
                    "fulfillmentText":
                    speech,
                    "fulfillmentMessages": [{
                        "platform": "ACTIONS_ON_GOOGLE",
                        "simpleResponses": {
                            "simpleResponses": [{
                                "textToSpeech": speech
                            }]
                        }
                    }]
                }
            except Error as err:
                print(err)
                return {
                    "fulfillmentText":
                    "Sorry some error has occured :(",
                    "fulfillmentMessages": [{
                        "platform": "ACTIONS_ON_GOOGLE",
                        "simpleResponses": {
                            "simpleResponses": [{
                                "textToSpeech":
                                "Sorry some error has occured :("
                            }]
                        }
                    }]
                }

            print(name)

        else:
            return {
                "fulfillmentText":
                "Sorry some error has occured :(",
                "fulfillmentMessages": [{
                    "platform": "ACTIONS_ON_GOOGLE",
                    "simpleResponses": {
                        "simpleResponses": [{
                            "textToSpeech":
                            "Sorry some error has occured :("
                        }]
                    }
                }]
            }

    if req.get("queryResult").get("action") == "search_order" or req.get(
            "queryResult").get("action") == "Searchorder.Searchorder-custom":
        pizzadb = connection.ConnectMySql()
        update_table = connection.update_table(pizzadb)
        if pizzadb != False and update_table != False:
            result = req.get("queryResult")
            parameters = result.get("parameters")
            id_num = int(parameters.get("id"))
            try:
                mycursor = pizzadb.cursor()
                select_query = "select status_of_order from list_of_orders where id = %s"
                search_id = (str(id_num), )
                mycursor.execute(select_query, search_id)
                myresult = mycursor.fetchall()
                print(myresult)
                speech = ""
                if len(myresult) == 0:
                    speech += "Please check your order id"
                else:
                    for i in myresult:
                        status = i[0]
                        speech += "Your Order is status :)<br/> Order ID : " + str(
                            id_num) + "<br/> order status : " + status
                return {
                    "fulfillmentText":
                    speech,
                    "fulfillmentMessages": [{
                        "platform": "ACTIONS_ON_GOOGLE",
                        "simpleResponses": {
                            "simpleResponses": [{
                                "textToSpeech": speech
                            }]
                        }
                    }]
                }
            except Error as err:
                print(err)
                return {
                    "fulfillmentText":
                    "Sorry some error has occured :(",
                    "fulfillmentMessages": [{
                        "platform": "ACTIONS_ON_GOOGLE",
                        "simpleResponses": {
                            "simpleResponses": [{
                                "textToSpeech":
                                "Sorry some error has occured :("
                            }]
                        }
                    }]
                }

        else:
            return {
                "fulfillmentText":
                "Sorry some error has occured :(",
                "fulfillmentMessages": [{
                    "platform": "ACTIONS_ON_GOOGLE",
                    "simpleResponses": {
                        "simpleResponses": [{
                            "textToSpeech":
                            "Sorry some error has occured :("
                        }]
                    }
                }]
            }
Example #16
0
    def GetDBConnect(self):
        DBconn = {
            "Oracle": {},
            "Mysql": {},
            "Mssql": {},
            "Access": {},
            "Sqlite": {}
        }

        DBconfig = [
            v for v in self.config.values()
            if v.get('type') in ('Oracle', 'Mssql', 'Access', 'Mysql',
                                 'Sqlite')
        ]
        if DBconfig and len(DBconfig) >= 1:
            for v in DBconfig:
                if re.findall('\w+', v.get('type'))[0] == 'Oracle':
                    Oracle = None
                    if v.get('pool'):
                        self.log("创建Oracle数据库连接池")
                        Oracle = OracleConnect.PoolConnect(v, self.log)
                    else:
                        self.log("创建Oracle数据库连接")
                        Oracle = OracleConnect.Connect(v, self.log)
                    DBconn['Oracle'].setdefault(v.get('id'), Oracle)
                elif re.findall('\w+', v.get('type'))[0] == 'Mssql':
                    Mssql = None
                    if v.get('pool'):
                        self.log("创建Mssql数据库连接池")
                        Mssql = MssqlConnect.PoolConnect(v, self.log)
                    else:
                        self.log("创建Mssql数据库连接")
                        Mssql = MssqlConnect.Connect(v, self.log)
                    DBconn['Mssql'].setdefault(v.get('id'), Mssql)
                elif re.findall('\w+', v.get('type'))[0] == 'Mysql':
                    Mysql = None
                    if v.get('pool'):
                        self.log("创建Mysql数据库连接池")
                        Mysql = MysqlConnect.PoolConnect(v, self.log)
                    else:
                        self.log("创建Mysql数据库连接")
                        Mysql = MysqlConnect.Connect(v, self.log)
                    DBconn['Mysql'].setdefault(v.get('id'), Mysql)
                elif re.findall('\w+', v.get('type'))[0] == 'Sqlite':
                    Sqlite = None
                    if v.get('pool'):
                        self.log("创建Sqlite数据库连接池")
                        Sqlite = SqliteConnect.PoolConnect(v, self.log)
                    else:
                        self.log("创建Sqlite数据库连接")
                        Sqlite = SqliteConnect.Connect(v, self.log)
                    DBconn['Sqlite'].setdefault(v.get('id'), Sqlite)
                elif re.findall('\w+', v.get('type'))[0] == 'Access':
                    Access = None
                    if v.get('pool'):
                        self.log("创建Access数据库连接池")
                        Access = AccessConnect.PoolConnect(v, self.log)
                    else:
                        self.log("创建Access数据库连接")
                        Access = AccessConnect.Connect(v, self.log)
                    DBconn['Access'].setdefault(v.get('id'), Access)
        return DBconn