Beispiel #1
0
 def completed_icon_src(self):
     """ Returns the icon src for a special, "completed!" version of this
     topic badge to be used on the knowledge map only, for now.
     """
     path = ("/images/power-mode/badges/%s-completed-40x40.png?6" %
             self.icon_filename)
     return url_util.absolute_url(path)
 def completed_icon_src(self):
     """ Returns the icon src for a special, "completed!" version of this
     topic badge to be used on the knowledge map only, for now.
     """
     path = ("/images/power-mode/badges/%s-completed-40x40.png?6" %
             self.icon_filename)
     return url_util.absolute_url(path)
Beispiel #3
0
    def test_detection_of_ka_urls(self):
        def is_ka_url(url):
            return url_util.is_khanacademy_url(url)

        self.stub_server_name("www.iktel.nl")
        print url_util.static_url("/images/foo")
        self.assertTrue(is_ka_url("/relative/url"))
        self.assertTrue(is_ka_url(url_util.absolute_url("/relative/url")))
        self.assertTrue(is_ka_url(url_util.static_url("/images/foo")))
        self.assertTrue(is_ka_url("http://www.iktel.nl"))
        self.assertTrue(is_ka_url("http://smarthistory.iktel.nl"))
        self.assertTrue(is_ka_url("http://www.iktel.nl/"))
        self.assertTrue(is_ka_url("http://www.iktel.nl/foo"))
        self.restore_server_name()
    def test_detection_of_ka_urls(self):
        def is_ka_url(url):
            return url_util.is_khanacademy_url(url)

        self.stub_server_name("www.khanacademy.org")
        self.assertTrue(is_ka_url("/relative/url"))
        self.assertTrue(is_ka_url(url_util.absolute_url("/relative/url")))
        self.assertTrue(is_ka_url(url_util.static_url("/images/foo")))
        self.assertTrue(is_ka_url("http://www.khanacademy.org"))
        self.assertTrue(is_ka_url("http://smarthistory.khanacademy.org"))
        self.assertTrue(is_ka_url("http://www.khanacademy.org/"))
        self.assertTrue(is_ka_url("http://www.khanacademy.org/foo"))
        self.assertTrue(is_ka_url("https://khan-academy.appspot.com"))
        self.assertTrue(is_ka_url("http://non-default.khan-academy.appspot.com"))
        self.assertTrue(is_ka_url("https://non-default.khan-academy.appspot.com"))
        self.restore_server_name()
Beispiel #5
0
    def topic_update_from_live(self, edit_version):
        layout.update_from_live(edit_version)
        try:
            if App.is_dev_server:
                topictree_url="http://khan-testing.appspot.com/topictree_test.json"
            else:
                topictree_url=url_util.absolute_url("/topictree.json")
            response = urlfetch.fetch(
                url=topictree_url,
                deadline=25)
            topictree = json.loads(response.content)

            logging.info("calling /_ah/queue/deferred_import")

            # importing the full topic tree can be too large so pickling and compressing
            deferred.defer(api.v1_utils.topictree_import_task, "edit", "root", True,
                        zlib.compress(pickle_util.dump(topictree)),
                        _queue="import-queue",
                        _url="/_ah/queue/deferred_import")

        except urlfetch.Error, e:
            logging.exception("Failed to fetch content from khanacademy.org")
Beispiel #6
0
def update_from_live(edit_version):
    """ imports the latest version of the knowledgemap layout from the live
    site into the edit_version
    """
    logging.info("importing knowledge map layout")
    if App.is_dev_server:
        maplayout_url="http://khan-testing.appspot.com/maplayout_test.json"
    else:
        maplayout_url=url_util.absolute_url("/maplayout.json")

    request = urllib2.Request(maplayout_url)
    try:
        opener = urllib2.build_opener()
        f = opener.open(request)
        map_layout_live = json.load(f)

    except urllib2.URLError:
        logging.exception("Failed to fetch knowledgemap layout from "
                          "khanacademy.org")

    map_layout = MapLayout.get_for_version(edit_version)
    map_layout.layout = map_layout_live
    map_layout.put()
    logging.info("finished putting knowledge map layout")
Beispiel #7
0
 def get_icon_src(category, suffix="-small"):
     name = BadgeCategory.get_icon_filename(category)
     return url_util.absolute_url("/images/badges/%s%s.png" %
                                  (name, suffix))
Beispiel #8
0
 def absolute_url(self):
     return url_util.absolute_url(self.relative_url)
Beispiel #9
0
 def large_icon_src(self):
     path = ("/images/power-mode/badges/%s-250x250.png?7" %
             self.icon_filename)
     return url_util.absolute_url(path)
Beispiel #10
0
 def icon_src(self):
     path = "/images/power-mode/badges/%s-40x40.png?6" % self.icon_filename
     return url_util.absolute_url(path)
 def large_icon_src(self):
     path = ("/images/power-mode/badges/%s-250x250.png?7" %
             self.icon_filename)
     return url_util.absolute_url(path)
 def icon_src(self):
     path = "/images/power-mode/badges/%s-40x40.png?6" % self.icon_filename
     return url_util.absolute_url(path)
Beispiel #13
0
 def absolute_url(self):
     return url_util.absolute_url(self.relative_url)
Beispiel #14
0
 def get_icon_src(category, suffix="-small"):
     name = BadgeCategory.get_icon_filename(category)
     return url_util.absolute_url("/images/badges/%s%s.png" %
                                  (name, suffix))
Beispiel #15
0
def to_absolute_url(relative_url, host=None):
    return url_util.absolute_url(relative_url)