Пример #1
0
    def ok_thread(self):
        search = ""

        if len(self.ui.tags.get_text().strip()):
            search +=  "tags:" + ','.join([urllib.quote_plus(t.strip()) for t in self.ui.tags.get_text().split(',')]) + ";"

        if len(self.ui.text.get_text().strip()):
            search +=  "text:" + urllib.quote_plus(self.ui.text.get_text().strip()) +";"

        self.error = ""

        user_url = self.ui.user_url.get_text().strip()
        if len(user_url) > 0:
            self.show_spinner()
            u = FlickrDownloader.obtain_userid(user_url)
            if u[0]:
                search += "user:"******"http://", "").replace("https://", "") + ";"
                search += "user_id:" + u[2] + ";"
            else:
                self.error = self.error + "\n" + u[1]

        group_url = self.ui.group_url.get_text().strip()
        if len(group_url) > 0:
            self.show_spinner()
            g = FlickrDownloader.obtain_groupid(group_url)
            if g[0]:
                search += "group:" + self.ui.group_url.get_text().replace("http://", "").replace("https://", "") + ";"
                search += "group_id:" + g[2]
            else:
                self.error = self.error + "\n" + g[1]

        if not len(self.error) and len(search) > 0:
            self.show_spinner()
            if FlickrDownloader.count_search_results(search) <= 0:
                self.error = _("No images found")

        try:
            Gdk.threads_enter()

            self.ui.buttonbox.set_sensitive(True)
            self.ui.spinner.stop()
            self.ui.spinner.set_visible(False)
            self.ui.message.set_visible(False)

            if len(self.error) > 0:
                self.ui.error.set_label(self.error)
                for entry in (self.ui.text, self.ui.tags, self.ui.user_url, self.ui.group_url):
                    if entry.get_text().strip():
                        entry.grab_focus()
                        break
            else:
                if len(search):
                    self.parent.on_add_dialog_okay(Options.SourceType.FLICKR, search, self.edited_row)
                self.destroy()

        finally:
            Gdk.threads_leave()
Пример #2
0
 def test_obtain_userid_fail(self):
     self.assertEqual(
         (False, "User not found", None),
         FlickrDownloader.obtain_userid(
             "http://www.flickr.com/photos/bad_username_here_xxx/"),
     )
Пример #3
0
 def test_obtain_userid_ok(self):
     self.assertEqual(
         (True, "ok", "34388055@N08"),
         FlickrDownloader.obtain_userid(
             "http://www.flickr.com/photos/camillelacroix/"),
     )
Пример #4
0
 def test_obtain_userid_fail(self):
     self.assertEqual((False, "User not found", None),
         FlickrDownloader.obtain_userid("http://www.flickr.com/photos/bad_username_here_xxx/"))
Пример #5
0
 def test_obtain_userid_ok(self):
     self.assertEqual((True, "ok", "34388055@N08"),
         FlickrDownloader.obtain_userid("http://www.flickr.com/photos/camillelacroix/"))