def SelectPlacesProvider(self): setWindowProperty(self.window, 'index', "") modeselect = [] itemlist = None modeselect.append(__language__(32016)) # concerts modeselect.append(__language__(32017)) # festivals modeselect.append(__language__(32027)) # geopics modeselect.append(__language__(32028)) # eventful modeselect.append(__language__(32029)) # FourSquare modeselect.append(__language__(32030)) # MapQuest modeselect.append(__language__(32031)) # Google Places modeselect.append(__language__(32019)) # reset dialogSelection = xbmcgui.Dialog() provider_index = dialogSelection.select(__language__(32020), modeselect) if not provider_index < 0: if modeselect[provider_index] == __language__(32031): GP = GooglePlaces() category = GP.SelectCategory() if category is not None: self.PinString, itemlist = GP.GetGooglePlacesList(self.lat, self.lon, self.radius * 1000, category) elif modeselect[provider_index] == __language__(32029): FS = FourSquare() section = FS.SelectSection() if section is not None: itemlist, self.PinString = FS.GetPlacesListExplore(self.lat, self.lon, section) elif modeselect[provider_index] == __language__(32016): LFM = LastFM() category = LFM.SelectCategory() if category is not None: results = LFM.GetNearEvents(self.lat, self.lon, self.radius, category) itemlist, self.PinString = LFM.CreateVenueList(results) elif modeselect[provider_index] == __language__(32030): MQ = MapQuest() itemlist, self.PinString = MQ.GetItemList(self.lat, self.lon, self.zoom_level) elif modeselect[provider_index] == __language__(32017): LFM = LastFM() category = LFM.SelectCategory() if category is not None: results = LFM.GetNearEvents(self.lat, self.lon, self.radius, category, True) itemlist, self.PinString = LFM.CreateVenueList(results) elif modeselect[provider_index] == __language__(32027): folder_path = xbmcgui.Dialog().browse(0, __language__(32021), 'pictures') setWindowProperty(self.window, 'imagepath', folder_path) itemlist, self.PinString = GetImages(folder_path) elif modeselect[provider_index] == __language__(32028): EF = Eventful() category = EF.SelectCategory() if category is not None: itemlist, self.PinString = EF.GetEventfulEventList(self.lat, self.lon, "", category, self.radius) elif modeselect[provider_index] == __language__(32019): self.PinString = "" itemlist = [] if itemlist is not None: FillListControl(self.venuelist, itemlist) self.street_view = False
def onInit(self, startGUI=True): log('onInit') itemlist = [] self.init_vars() log("WindowID:" + str(xbmcgui.getCurrentWindowId())) self.window = xbmcgui.Window(xbmcgui.getCurrentWindowId()) log("window = " + str(self.window)) setWindowProperty(self.window, 'NavMode', '') setWindowProperty(self.window, 'streetview', '') if __addon__.getSetting("VenueLayout") == "1": setWindowProperty(self.window, 'ListLayout', '1') else: setWindowProperty(self.window, 'ListLayout', '0') for arg in sys.argv: param = arg.lower() log("param = " + param) if param.startswith('location='): self.location = param[9:] elif param.startswith('lat='): self.strlat = param[4:] elif param.startswith('lon='): self.strlon = param[4:] elif param.startswith('type='): self.type = param[5:] elif param.startswith('zoom='): self.zoom_level = param[5:] elif param.startswith('aspect='): self.aspect = param[7:] elif param.startswith('folder='): folder = param[7:] itemlist, self.PinString = self.GetImages(folder) elif param.startswith('artist='): artist = param[7:] LFM = LastFM() results = LFM.GetArtistEvents(artist) itemlist, self.PinString = LFM.CreateVenueList(results) elif param.startswith('list='): listtype = param[5:] self.zoom_level = 14 if listtype == "nearfestivals": LFM = LastFM() results = LFM.GetNearEvents(self.lat, self.lon, self.radius, "", True) itemlist, self.PinString = LFM.CreateVenueList(results) elif listtype == "nearconcerts": LFM = LastFM() results = LFM.GetNearEvents(self.lat, self.lon, self.radius) itemlist, self.PinString = LFM.CreateVenueList(results) elif param.startswith('direction='): self.direction = param[10:] elif param.startswith('prefix='): self.prefix = param[7:] if not self.prefix.endswith('.') and self.prefix != "": self.prefix = self.prefix + '.' # get lat / lon values if self.location == "geocode": self.lat, self.lon = ParseGeoTags(self.strlat, self.strlon) elif (self.location == "") and (self.strlat == ""): # both empty self.lat, self.lon = GetLocationCoordinates() self.zoom_level = 2 elif (not self.location == "") and (self.strlat == ""): # latlon empty self.lat, self.lon = self.GetGeoCodes(False, self.location) else: self.lat = float(self.strlat) self.lon = float(self.strlon) self.GetGoogleMapURLs() if startGUI: self.venuelist = self.getControl(self.CONTROL_PLACES_LIST) self.GetGoogleMapURLs() FillListControl(self.venuelist, itemlist) self.window.setProperty("map_image", self.GoogleMapURL) self.window.setProperty("streetview_image", self.GoogleStreetViewURL) settings = xbmcaddon.Addon(id='script.maps.browser') if not settings.getSetting('firststart') == "true": settings.setSetting(id='firststart', value='true') dialog = xbmcgui.Dialog() dialog.ok(__language__(32001), __language__(32002), __language__(32003)) log('onInit finished')