Skip to content

Commit

Permalink
Merge pull request #49 from BotLino/cleanCodeAmanda
Browse files Browse the repository at this point in the history
Aplicação de clean code
  • Loading branch information
guilacerda authored Jul 3, 2019
2 parents 32eb38e + 8ed869a commit a91e490
Show file tree
Hide file tree
Showing 4 changed files with 211 additions and 161 deletions.
103 changes: 60 additions & 43 deletions rasa/actions/daily_breakfast.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,10 @@ def name(self):
return "action_daily_breakfast"

def run(self, dispatcher, tracker, domain):
messages = []

day = time.strftime('%A', time.localtime())

tracker_state = tracker.current_state()
logging.warning(tracker_state)
sender_id = tracker_state['sender_id']
day = self.get_current_day()

try:
response = requests.get(
'http://webcrawler-ru.botlino.com.br/cardapio/{}/desjejum'
.format(day),
timeout=1
).json()
menu = self.request_menu(day)
except TimeoutError as timeouterror:
dispatcher.utter_message(
"Tentei pegar o cardápio mas minha net não cooperou..."
Expand All @@ -43,47 +33,74 @@ def run(self, dispatcher, tracker, domain):
)
return []

lunch_menu = ""
menu_messages = self.format_menu(menu)

welcome_message = 'Eai! Então... Pro café, nós teremos: '

sender_id = self.get_sender_id(tracker)

data = self.request_user_data(sender_id, welcome_message)

if not data['ok']:
dispatcher.utter_message(welcome_message)
self.send_messages_to_facebook(dispatcher, menu_messages)
else:
self.send_messages_to_telegram(sender_id, menu_messages)

return []

def get_current_day(self):
return time.strftime('%A', time.localtime())

for label in response:
def get_sender_id(self, tracker):
tracker_state = tracker.current_state()
logging.warning(tracker_state)
return tracker_state['sender_id']

def request_menu(self, day):
return requests.get(
'http://webcrawler-ru.botlino.com.br/cardapio/{}/desjejum'
.format(day),
timeout=1
).json()

def format_menu(self, menu):
formatted_menu = ""
messages = []

for label in menu:
dish = str(
'*' + label + '*' + ': ' +
response[label] + '\n')
lunch_menu += dish

messages.append(lunch_menu)
menu[label] + '\n')
formatted_menu += dish

welcome_message = 'Eai! Então... Pro café, nós teremos: '
messages.append(formatted_menu)
return messages

def request_user_data(self, sender_id, message):
data = requests.post(
'{}/bot{}/sendMessage'
.format(API_URL, ACCESS_TOKEN),
data={
'chat_id': sender_id,
'text': welcome_message
'text': message
}
).json()
messenger = ""
# Check user is from Telegram or Facebook
if not data['ok']:
dispatcher.utter_message(welcome_message)
messenger = "Facebook"
else:
messenger = "Telegram"

if(messenger == "Telegram"):
for message in messages:
requests.post(
'{}/bot{}/sendMessage'
.format(API_URL, ACCESS_TOKEN),
data={
'chat_id': sender_id,
'text': message,
'parse_mode': PARSE
}
)
elif(messenger == "Facebook"):
for message in messages:
dispatcher.utter_message(message)

return []
return data

def send_messages_to_telegram(self, sender_id, messages):
for message in messages:
requests.post(
'{}/bot{}/sendMessage'
.format(API_URL, ACCESS_TOKEN),
data={
'chat_id': sender_id,
'text': message,
'parse_mode': PARSE
}
)

def send_messages_to_facebook(self, dispatcher, messages):
for message in messages:
dispatcher.utter_message(message)
103 changes: 60 additions & 43 deletions rasa/actions/daily_dinner.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,10 @@ def name(self):
return "action_daily_dinner"

def run(self, dispatcher, tracker, domain):
messages = []

day = time.strftime('%A', time.localtime())

tracker_state = tracker.current_state()
logging.warning(tracker_state)
sender_id = tracker_state['sender_id']
day = self.get_current_day()

try:
response = requests.get(
'http://webcrawler-ru.botlino.com.br/cardapio/{}/jantar'
.format(day),
timeout=3
).json()
menu = self.request_menu(day)
except TimeoutError as timeouterror:
dispatcher.utter_message(
"Tentei pegar o cardápio mas minha net não cooperou..."
Expand All @@ -43,47 +33,74 @@ def run(self, dispatcher, tracker, domain):
)
return []

lunch_menu = ""
menu_messages = self.format_menu(menu)

welcome_message = 'Eai! Então... Pro jantar, nós teremos: '

sender_id = self.get_sender_id(tracker)

data = self.request_user_data(sender_id, welcome_message)

for label in response:
if not data['ok']:
dispatcher.utter_message(welcome_message)
self.send_messages_to_facebook(dispatcher, menu_messages)
else:
self.send_messages_to_telegram(sender_id, menu_messages)

return []

def get_current_day(self):
return time.strftime('%A', time.localtime())

def get_sender_id(self, tracker):
tracker_state = tracker.current_state()
logging.warning(tracker_state)
return tracker_state['sender_id']

def request_menu(self, day):
return requests.get(
'http://webcrawler-ru.botlino.com.br/cardapio/{}/jantar'
.format(day),
timeout=3
).json()

def format_menu(self, menu):
formatted_menu = ""
messages = []

for label in menu:
dish = str(
'*' + label + '*' + ' ' + response[label] + '\n'
'*' + label + '*' + ' ' + menu[label] + '\n'
)
lunch_menu += dish
formatted_menu += dish

messages.append(lunch_menu)

welcome_message = 'Eai! Então... Pro jantar, nós teremos: '
messages.append(formatted_menu)
return messages

def request_user_data(self, sender_id, message):
data = requests.post(
'{}/bot{}/sendMessage'
.format(API_URL, ACCESS_TOKEN),
data={
'chat_id': sender_id,
'text': welcome_message
'text': message
}
).json()
messenger = ""
# Check user is from Telegram or Facebook
if not data['ok']:
dispatcher.utter_message(welcome_message)
messenger = "Facebook"
else:
messenger = "Telegram"

if(messenger == "Telegram"):
for message in messages:
requests.post(
'{}/bot{}/sendMessage'
.format(API_URL, ACCESS_TOKEN),
data={
'chat_id': sender_id,
'text': message,
'parse_mode': PARSE
}
)
elif(messenger == "Facebook"):
for message in messages:
dispatcher.utter_message(message)

return []
return data

def send_messages_to_telegram(self, sender_id, messages):
for message in messages:
requests.post(
'{}/bot{}/sendMessage'
.format(API_URL, ACCESS_TOKEN),
data={
'chat_id': sender_id,
'text': message,
'parse_mode': PARSE
}
)

def send_messages_to_facebook(self, dispatcher, messages):
for message in messages:
dispatcher.utter_message(message)
99 changes: 60 additions & 39 deletions rasa/actions/daily_lunch.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,14 @@ def name(self):
return "action_daily_lunch"

def run(self, dispatcher, tracker, domain):
messages = []

day = time.strftime('%A', time.localtime())
day = self.get_current_day()

tracker_state = tracker.current_state()
logging.warning(tracker_state)
sender_id = tracker_state['sender_id']

try:
response = requests.get(
'http://webcrawler-ru.botlino.com.br/cardapio/{}/almoço'
.format(day),
timeout=3
).json()
menu = self.request_menu(day)
except TimeoutError as timeouterror:
dispatcher.utter_message(
"Tentei pegar o cardápio mas minha net não cooperou..."
Expand All @@ -43,47 +37,74 @@ def run(self, dispatcher, tracker, domain):
)
return []

lunch_menu = ""
menu_messages = self.format_menu(menu)

welcome_message = 'Eai! Então... Pro almoço, nós teremos: '

sender_id = self.get_sender_id(tracker)

data = self.request_user_data(sender_id, welcome_message)

if not data['ok']:
dispatcher.utter_message(welcome_message)
self.send_messages_to_facebook(dispatcher, menu_messages)
else:
self.send_messages_to_telegram(sender_id, menu_messages)

return []

def get_current_day(self):
return time.strftime('%A', time.localtime())

def get_sender_id(self, tracker):
tracker_state = tracker.current_state()
logging.warning(tracker_state)
return tracker_state['sender_id']

def request_menu(self, day):
return requests.get(
'http://webcrawler-ru.botlino.com.br/cardapio/{}/almoço'
.format(day),
timeout=3
).json()

def format_menu(self, menu):
formatted_menu = ""
messages = []

for label in response:
for label in menu:
dish = str(
'*' + label + '*' + ' ' + response[label] + '\n'
'*' + label + '*' + ' ' + menu[label] + '\n'
)
lunch_menu += dish

messages.append(lunch_menu)
formatted_menu += dish

welcome_message = 'Eai! Então... Pro almoço, nós teremos: '
messages.append(formatted_menu)
return messages

def request_user_data(self, sender_id, message):
data = requests.post(
'{}/bot{}/sendMessage'
.format(API_URL, ACCESS_TOKEN),
data={
'chat_id': sender_id,
'text': welcome_message
'text': message
}
).json()
messenger = ""
# Check user is from Telegram or Facebook
if not data['ok']:
dispatcher.utter_message(welcome_message)
messenger = "Facebook"
else:
messenger = "Telegram"

if(messenger == "Telegram"):
for message in messages:
requests.post(
'{}/bot{}/sendMessage'
.format(API_URL, ACCESS_TOKEN),
data={
'chat_id': sender_id,
'text': message,
'parse_mode': PARSE
}
)
elif(messenger == "Facebook"):
for message in messages:
dispatcher.utter_message(message)

return []
return data

def send_messages_to_telegram(self, sender_id, messages):
for message in messages:
requests.post(
'{}/bot{}/sendMessage'
.format(API_URL, ACCESS_TOKEN),
data={
'chat_id': sender_id,
'text': message,
'parse_mode': PARSE
}
)

def send_messages_to_facebook(self, dispatcher, messages):
for message in messages:
dispatcher.utter_message(message)
Loading

0 comments on commit a91e490

Please sign in to comment.