mobilefish

Untitled

Oct 20th, 2019
288
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. import time
  2. import os
  3. import logging
  4. import requests
  5.  
  6.  
  7. logger = logging.getLogger()
  8. logger.setLevel(logging.DEBUG)
  9.  
  10.  
  11. def lambda_handler(event, context):
  12. os.environ["TZ"] = "America/New_York"
  13. time.tzset()
  14. logger.debug("event.bot.name={}" + event['bot']['name'])
  15. return dispatch(event)
  16.  
  17.  
  18. def dispatch(intent_request):
  19. intent_name = intent_request['currentIntent']['name']
  20. if intent_name == 'AddToCartIntent':
  21. return get_cart(intent_request)
  22.  
  23. if intent_name == 'SearchProductIntent':
  24. return searchProductIntent(intent_request)
  25.  
  26.  
  27. def get_cart(intent_request):
  28. slots = intent_request['currentIntent']['slots']
  29. brand = intent_request['currentIntent']['slots']['brand']
  30. model = intent_request['currentIntent']['slots']['model']
  31. quantity = intent_request['currentIntent']['slots']['quantity']
  32.  
  33. r = requests.get("http://xx.xxx.xx.xx:xxx/products")
  34. result = r.json()
  35. logger.debug("result")
  36. logger.debug(result)
  37. session_attributes = {}
  38. product = intent_request.sessionAttributes.product;
  39.  
  40. return close(
  41. session_attributes,
  42. 'Fulfilled', {
  43. 'contentType': 'PlainText',
  44. "content": 'brand =' + brand + ' model =' + model
  45.  
  46. }
  47. )
  48. def searchProductIntent(intent_request):
  49. slots = intent_request['currentIntent']['slots']
  50. item = intent_request['currentIntent']['slots']['item']
  51. logger.debug("item")
  52. logger.debug(item)
  53. intent_request.sessionAttributes = {
  54. "product": item
  55. }
  56. return close(
  57. session_attributes,
  58. 'Fulfilled', {
  59. 'contentType': 'PlainText',
  60. "content": 'Sure , I will help you with it. Please select the brand you are looking for'
  61.  
  62. }
  63. )
  64.  
  65.  
  66. def close(session_attributes, fulfillment_state, message):
  67. response = {
  68. 'sessionAttributes': session_attributes,
  69. 'dialogAction': {
  70. 'type': 'Close',
  71. 'fulfillmentState': fulfillment_state,
  72. 'message': message
  73. }
  74. }
  75. return response;
Add Comment
Please, Sign In to add comment