= [[https://is.muni.cz/auth/predmet/fi/pv277|PV277 Programming Applications for Social Robots]] (autumn 2019) = == How to get info from web? === Use API If API exists, you can usually use JSON data after send the right parameters. Example to get weather data. {{{#!python import requests url = "http://api.openweathermap.org/data/2.5/weather" params = {'q': 'Brno', 'units': 'metric', 'lang': 'cz'} r = requests.get(url=url, params=params) data = r.json() print(data['main']['temp']) }}} (Full example attachment:forecast.py) === Parse webpage data If no API is provided, you can download and parse the webpage. {{{#!python from bs4 import BeautifulSoup import requests page = requests.get(url).text soup = BeautifulSoup(page, features="lxml") results = soup.findAll('h2', attrs={'class':'article-title'}) }}} (Full example attachment:news.py) == How to integrate info with robot? === Dialog variables In dialog file, set value of variable, use it in Python script in behavior. {{{#!python u:(["Můj [oblíbený nejoblíbenější] tým je" "Fandím {týmu}"] _*) $team=$1 }}} First word after sentence is available in {{{$1}}} and passed to the script as {{{team}}} variable. {{{#!python def onInput_onStart(self, team): self.team_usr = team }}} === Use TTS in script {{{#!python veta = self.team_name + " má " + str(act_team.points) + " bodů" self.tts.say(veta) }}} === Run script as service and parse service output