Skip to content

Commit

Permalink
Restructure the lunch data in strings database
Browse files Browse the repository at this point in the history
Introduce some depth into the datastructure instead of having multiple
separate dictionaries with prefixes in the keys.
  • Loading branch information
kh31d4r committed Nov 24, 2024
1 parent 1c89335 commit bc3783c
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 103 deletions.
20 changes: 11 additions & 9 deletions marvin_actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -243,21 +243,23 @@ def marvinLunch(row):
Help decide where to eat.
"""
lunchOptions = {
'stan centrum karlskrona kna': 'lunch-karlskrona',
'ängelholm angelholm engelholm': 'lunch-angelholm',
'hässleholm hassleholm': 'lunch-hassleholm',
'malmö malmo malmoe': 'lunch-malmo',
'göteborg goteborg gbg': 'lunch-goteborg'
'stan centrum karlskrona kna': 'karlskrona',
'ängelholm angelholm engelholm': 'angelholm',
'hässleholm hassleholm': 'hassleholm',
'malmö malmo malmoe': 'malmo',
'göteborg goteborg gbg': 'goteborg'
}

if any(r in row for r in ["lunch", "mat", "äta", "luncha"]):
lunchStr = getString('lunch-message')
data = getString("lunch")

if any(r in row for r in ["lunch", "mat", "äta", "luncha"]):
places = data.get("location").get("bth")
for keys, value in lunchOptions.items():
if any(r in row for r in keys.split(" ")):
return lunchStr.format(getString(value))
places = data.get("location").get(value)

return lunchStr.format(getString('lunch-bth'))
lunchStr = getString("lunch", "message")
return lunchStr.format(places[random.randint(0, len(places) - 1)])

return None

Expand Down
182 changes: 90 additions & 92 deletions marvin_strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -97,98 +97,96 @@
}
},

"lunch-message": [
"Ska vi ta {}?",
"Jag är lite sugen på {}?",
"Jag tänkte käka på {}, ska du med?",
"{}, där är det mysigt, ska vi ta där?"
],

"lunch-karlskrona": [
"Olles krovbar",
"Lila thai stället",
"donken",
"tex mex stället vid subway",
"Subway",
"Nya peking",
"kebab house",
"Royal thai",
"thai stället vid hemmakväll",
"Gelato",
"Indian garden",
"Sumo sushi",
"Pasterian i stan",
"Biobaren",
"Michelangelo"
],

"lunch-bth": [
"thairestaurangen vid korsningen",
"fiket jämte demolabbet",
"Indiska",
"Pappa curry",
"boden uppe på parkeringen",
"Bergåsa kebab",
"Pasterian",
"Villa Oscar",
"Eat here",
"Bistro J"
],

"lunch-angelholm": [
"Kirris",
"Passagen",
"Ica (mmmm broccoli)",
"Åkanten (Om sommar och sol)",
"Top Falafel",
"Subway",
"Acapulco",
"Kebab på torget",
"Ostbutiken",
"Hummerhuset",
"Klitterhus (fancy stuff)"
],

"lunch-hassleholm": [
"pastavagnen på torget",
"Freds",
"mcDonalds",
"subway",
"kinabuffé på Cats",
"valentino",
"lotterilådan",
"casablance",
"det där stället i gallerian",
"infinity",
"östervärn",
"argentina",
"T4"
],

"lunch-malmo": [
"afrikanskt på Calabass (https://www.calabass.com/)",
"mexikanskt på Zócalo (https://zocalo.se/restaurangerna/malmo/)",
"hamburgare på Surf Shack (https://surfshacksmashburgers.com/)",
"hamburgare på Casual Street Food (https://www.casualstreetfood.se/)",
"hamburgare på Tommi's (https://www.tommisburgerjoint.se/)",
"kebab på Döner Kebab (https://www.triangeln.com/doner_kebab)"
],

"lunch-goteborg": [
"halvspecial på Preem",
"grillat på Odinsgrillen (https://www.odinsparkgrill.se/)",
"hamburgare på Burgersson Frigga (https://www.burgersson.se/)",
"hamburgare på Tugg (https://gbg.tuggburgers.se/)",
"japanskt på Mikado (https://www.mikadogoteborg.se/)",
"pizza på I love pizza (https://www.ilovepizza.se/)",
"burrito på TomToms Burritos (https://www.tomtoms.se/)",
"steak på Brasa (https://www.restaurangbrasa.se/)",
"något fint på Post-hotellet (https://www.nordabargrill.se/lunch/)",
"något på John Scott's Place (https://johnscotts.se/palace/)",
"husman på Vällagat (https://www.vallagat.se/)",
"husman på AtWork (https://atwork.nu/restaurang/)",
"sallad på MiXiT (https://mixitgbg.se/mixit-garda/)"
],
"lunch": {
"message" : [
"Ska vi ta {}?",
"Jag är lite sugen på {}?",
"Jag tänkte käka på {}, ska du med?",
"{}, där är det mysigt, ska vi ta där?"
],
"location": {
"karlskrona": [
"Olles krovbar",
"Lila thai stället",
"donken",
"tex mex stället vid subway",
"Subway",
"Nya peking",
"kebab house",
"Royal thai",
"thai stället vid hemmakväll",
"Gelato",
"Indian garden",
"Sumo sushi",
"Pasterian i stan",
"Biobaren",
"Michelangelo"
],
"bth": [
"thairestaurangen vid korsningen",
"fiket jämte demolabbet",
"Indiska",
"Pappa curry",
"boden uppe på parkeringen",
"Bergåsa kebab",
"Pasterian",
"Villa Oscar",
"Eat here",
"Bistro J"
],
"angelholm": [
"Kirris",
"Passagen",
"Ica (mmmm broccoli)",
"Åkanten (Om sommar och sol)",
"Top Falafel",
"Subway",
"Acapulco",
"Kebab på torget",
"Ostbutiken",
"Hummerhuset",
"Klitterhus (fancy stuff)"
],
"hassleholm": [
"pastavagnen på torget",
"Freds",
"mcDonalds",
"subway",
"kinabuffé på Cats",
"valentino",
"lotterilådan",
"casablance",
"det där stället i gallerian",
"infinity",
"östervärn",
"argentina",
"T4"
],
"malmo": [
"afrikanskt på Calabass (https://www.calabass.com/)",
"mexikanskt på Zócalo (https://zocalo.se/restaurangerna/malmo/)",
"hamburgare på Surf Shack (https://surfshacksmashburgers.com/)",
"hamburgare på Casual Street Food (https://www.casualstreetfood.se/)",
"hamburgare på Tommi's (https://www.tommisburgerjoint.se/)",
"kebab på Döner Kebab (https://www.triangeln.com/doner_kebab)"
],
"goteborg": [
"halvspecial på Preem",
"grillat på Odinsgrillen (https://www.odinsparkgrill.se/)",
"hamburgare på Burgersson Frigga (https://www.burgersson.se/)",
"hamburgare på Tugg (https://gbg.tuggburgers.se/)",
"japanskt på Mikado (https://www.mikadogoteborg.se/)",
"pizza på I love pizza (https://www.ilovepizza.se/)",
"burrito på TomToms Burritos (https://www.tomtoms.se/)",
"steak på Brasa (https://www.restaurangbrasa.se/)",
"något fint på Post-hotellet (https://www.nordabargrill.se/lunch/)",
"något på John Scott's Place (https://johnscotts.se/palace/)",
"husman på Vällagat (https://www.vallagat.se/)",
"husman på AtWork (https://atwork.nu/restaurang/)",
"sallad på MiXiT (https://mixitgbg.se/mixit-garda/)"
]
}
},

"sun": {
"url": "https://api.sunrisesunset.io/json?lat=56.182244&lng=15.5882305",
Expand Down
4 changes: 2 additions & 2 deletions test_marvin_actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -197,8 +197,8 @@ def testLunchLocations(self):
locations = ["karlskrona", "goteborg", "angelholm", "hassleholm", "malmo"]
with mock.patch("marvin_actions.random") as r:
for location in locations:
for index, place in enumerate(self.strings.get(f"lunch-{location}")):
r.randint.side_effect = [0, index]
for i, place in enumerate(self.strings.get("lunch").get("location").get(location)):
r.randint.side_effect = [0, i]
self.assertActionOutput(
marvin_actions.marvinLunch, f"mat {location}", f"Ska vi ta {place}?")
r.randint.side_effect = [1, 2]
Expand Down

0 comments on commit bc3783c

Please sign in to comment.