diff --git a/marvin_actions.py b/marvin_actions.py index 85f88ce..80b94ce 100644 --- a/marvin_actions.py +++ b/marvin_actions.py @@ -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 diff --git a/marvin_strings.json b/marvin_strings.json index 9a6389b..a8a2a07 100644 --- a/marvin_strings.json +++ b/marvin_strings.json @@ -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", diff --git a/test_marvin_actions.py b/test_marvin_actions.py index 72b2a4b..8624dab 100644 --- a/test_marvin_actions.py +++ b/test_marvin_actions.py @@ -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]