示例#1
0
 def __init__(self):
     self.bandsintown = Bandsintown(settings.BANDSINTOWN_APP_ID)
     self.songkick = Songkick(settings.SONGKICK_API_KEY)
示例#2
0
    def check_concerts(self, widget):

        self.textview.get_buffer().set_text("")
        #pixbuf = GdkPixbuf.Pixbuf.new_from_file('SK_badge.png')
        bad_names = []
        dev_key = "yBb9DilAbXqZ0MCH"
        try:
            songkick = Songkick(api_key=dev_key)
        except:
            self.textview.get_buffer().set_text(
                "ERROR: Unable to access SongKick!\n")
            return None

        infile = open("name_setting.txt", "r")
        temp = infile.read().split("\n")
        temp = filter(None, temp)
        artist_names = list(set(temp))

        #self.url_lib = Gtk.Label()
        #self.url_lib.set_markup('<a href="http://www.w3schools.com/html/">Visit our HTML tutorial</a>')
        self.ebox = Gtk.Button("PLEASE")
        self.ebox.show()
        #anchor = Gtk.TextChildAnchor()
        #buffer1 = self.textview.get_buffer()
        #iter1 = buffer1.get_end_iter()
        #anchor = buffer1.create_child_anchor(iter1)
        #self.textview.add_child_at_anchor(self.url_lib, anchor)
        #self.textview.show_all()
        #self.textview.get_buffer().insert_with_tags(self.textview.get_buffer().get_end_iter(),  self.url_lib)
        #       anchor = self.textview.create_child_anchor(self.textview.get_buffer().get_end_iter())
        if not artist_names:
            self.textview.get_buffer().set_text(
                "Your List of Artists is Empty!\n")
            return
        file_setting.write_new_file(artist_names, "name_setting.txt")
        new_city = file_setting.parse_file("city_setting.txt")
        try:
            search = new_city[0]
        except:
            search = ""
            pass
        if search == "":
            error_mess = "you currently do not have a location set!"
            self.textview.get_buffer().insert(
                self.textview.get_buffer().get_end_iter(), "\n" + error_mess)
            return None
        #search = search.lower()
        search = search.title()
        user_city = search

        for name in artist_names:
            events = songkick.events.query(artist_name=name)
            try:
                for event in events:
                    city = event.location.city.encode('ascii',
                                                      'ignore').split(",")

                    if city[0] == user_city:
                        url1 = "<a href="
                        url2 = event.uri.encode('ascii', 'ignore')
                        url3 = ">Check Tickets</a>"
                        final_url = url1 + "\"" + url2 + "\"" + url3
                        index = final_url.find('utm_medium')
                        tickets_url = final_url[:index] + "amp;" + final_url[
                            index:]
                        event_name = event.display_name.encode(
                            'ascii', 'ignore')
                        event_loc = event.location.city.encode(
                            'ascii', 'ignore')
                        event_venue = event.venue.display_name.encode(
                            'ascii', 'ignore')
                        self.textview.get_buffer().insert(
                            self.textview.get_buffer().get_end_iter(), "\n" +
                            "--------------------------------------------------------------------------------------------------"
                        )
                        self.textview.get_buffer().insert(
                            self.textview.get_buffer().get_end_iter(),
                            "\n" + "*")
                        self.textview.get_buffer().insert(
                            self.textview.get_buffer().get_end_iter(),
                            "\n" + name)
                        self.textview.get_buffer().insert(
                            self.textview.get_buffer().get_end_iter(),
                            "\n" + "*")
                        self.textview.get_buffer().insert(
                            self.textview.get_buffer().get_end_iter(),
                            "\n" + event_name)
                        self.textview.get_buffer().insert(
                            self.textview.get_buffer().get_end_iter(),
                            "\n" + event_loc)
                        self.textview.get_buffer().insert(
                            self.textview.get_buffer().get_end_iter(),
                            ", " + event_venue)
                        #self.textview.get_buffer().insert_pixbuf(self.textview.get_buffer().get_end_iter(), pixbuf)
                        self.textview.get_buffer().insert(
                            self.textview.get_buffer().get_end_iter(), "\n")
                        test_url = '<a href="http://www.w3schools.com/html/">Check Tickets</a>'
                        #print test_url
                        #print tickets_url
                        #print final_url
                        self.url_lib = Gtk.Label()
                        self.url_lib.set_markup(tickets_url)
                        buffer1 = self.textview.get_buffer()
                        iter1 = buffer1.get_end_iter()
                        anchor = buffer1.create_child_anchor(iter1)
                        self.textview.add_child_at_anchor(self.url_lib, anchor)
                        self.textview.show_all()
            except:
                bad_names.append(name)
            continue
        if bad_names:
            for name in bad_names:

                file_setting.delete_data(name, "name_setting.txt")
示例#3
0
    def check_concerts(self, widget):
  
        self.textview.get_buffer().set_text("")
        bad_names = []
        global dev_key #global key
        try:
            songkick = Songkick(api_key = dev_key)
        except:
             self.textview.get_buffer().set_text("ERROR: Unable to access SongKick!\n")
             return None

        infile = open("data/settings/name_setting.txt", "r")
        temp = infile.read().split("\n")
        temp = filter(None, temp)
        artist_names = list(set(temp))
        
        if not artist_names:
           self.textview.get_buffer().set_text("Your List of Artists is Empty!\n")
           return
        file_setting.write_new_file(artist_names, "data/settings/name_setting.txt")
        new_city = file_setting.parse_file("data/settings/city_setting.txt")
        try:
            search = new_city[0]
        except:
            search = ""
            pass
        if search == "":
            error_mess = "you currently do not have a location set!"
            self.textview.get_buffer().insert(self.textview.get_buffer().get_end_iter(),  "\n" + error_mess)
            return None

        search = search.title()
        user_city = search
        
        for name in artist_names:
            events = songkick.events.query(artist_name = name )
            try:
                for event in events:
                    city = event.location.city.encode('ascii', 'ignore').split(",")
    
                    if city[0] == user_city:
                        url1 = "<a href="
                        url2 = event.uri.encode('ascii','ignore')
                        url3 = ">Check Tickets</a>"
                        final_url = url1 + "\"" + url2 + "\"" + url3
                        index = final_url.find('utm_medium')
                        tickets_url = final_url[:index] + "amp;" + final_url[index:]
                        
                        event_info = (
                            "\n--------------------------------------------------------------------------------------------------\n"
                            "*\n"
                            "{artist_name}\n"
                            "*\n"
                            "{event_name}\n"
                            "{event_location}, {venue_name}\n"
                        ).format(
                            artist_name = name,
                            event_name = event.display_name.encode('ascii','ignore'),
                            event_location = event.location.city.encode('ascii','ignore'),
                            venue_name = event.venue.display_name.encode('ascii','ignore')
                        )
                        
                        self.textview.get_buffer().insert(self.textview.get_buffer().get_end_iter(), event_info)
                        self.url_lib = Gtk.Label()
                        self.url_lib.set_markup(tickets_url)
                        buffer1 = self.textview.get_buffer()
                        iter1 = buffer1.get_end_iter()
                        anchor = buffer1.create_child_anchor(iter1)
                        self.textview.add_child_at_anchor(self.url_lib, anchor)
                        self.textview.show_all()
            except:
                bad_names.append(name)
            continue
        if bad_names:
            for name in bad_names:
                
                file_setting.delete_data(name , "data/settings/name_setting.txt")