예제 #1
0
def css_package(package_name):
    package = packages.stylesheets[package_name]
    base_url = package.get(
        "base_url") or "/stylesheets/%s-package" % package_name

    list_css = []

    if not use_compressed_packages():
        for filename in package["files"]:
            list_css.append("<link rel='stylesheet' type='text/css' href='%s/%s'/>" \
                % (base_url, filename))
    elif package_name + '-non-ie' not in packages.stylesheets:
        list_css.append("<link rel='stylesheet' type='text/css' href='%s/%s'/>" \
            % (util.static_url(base_url), package["hashed-filename"]))
    else:
        # Thank you Jammit (https://github.com/documentcloud/jammit) for the
        # conditional comments.
        non_ie_package = packages.stylesheets[package_name + '-non-ie']

        list_css.append("<!--[if (!IE)|(gte IE 8)]><!-->")

        # Stylesheets using data-uris
        list_css.append("<link rel='stylesheet' type='text/css' href='%s/%s'/>" \
            % (util.static_url(base_url), non_ie_package["hashed-filename"]))

        list_css.append("<!--<![endif]-->")
        list_css.append("<!--[if lte IE 7]>")

        # Without data-uris, for IE <= 7
        list_css.append("<link rel='stylesheet' type='text/css' href='%s/%s'/>" \
            % (util.static_url(base_url), package["hashed-filename"]))

        list_css.append("<![endif]-->")

    return "".join(list_css)
예제 #2
0
def css_package(package_name):
    package = packages.stylesheets[package_name]
    base_url = package.get("base_url") or "/stylesheets/%s-package" % package_name

    list_css = []

    if not use_compressed_packages():
        for filename in package["files"]:
            list_css.append("<link rel='stylesheet' type='text/css' href='%s/%s'/>" \
                % (base_url, filename))
    elif package_name+'-non-ie' not in packages.stylesheets:
        list_css.append("<link rel='stylesheet' type='text/css' href='%s/%s'/>" \
            % (util.static_url(base_url), package["hashed-filename"]))
    else:
        # Thank you Jammit (https://github.com/documentcloud/jammit) for the
        # conditional comments.
        non_ie_package = packages.stylesheets[package_name+'-non-ie']

        list_css.append("<!--[if (!IE)|(gte IE 8)]><!-->")

        # Stylesheets using data-uris
        list_css.append("<link rel='stylesheet' type='text/css' href='%s/%s'/>" \
            % (util.static_url(base_url), non_ie_package["hashed-filename"]))

        list_css.append("<!--<![endif]-->")
        list_css.append("<!--[if lte IE 7]>")

        # Without data-uris, for IE <= 7
        list_css.append("<link rel='stylesheet' type='text/css' href='%s/%s'/>" \
            % (util.static_url(base_url), package["hashed-filename"]))

        list_css.append("<![endif]-->")

    return "".join(list_css)
예제 #3
0
def js_package(package_name):
    loaded_script = "<script type='text/javascript'>if (typeof dynamicPackageLoader !== 'undefined') dynamicPackageLoader.setPackageLoaded('%s');</script>" % package_name
    if not use_compressed_packages():
        package = packages.javascript[package_name]
        base_url = package.get("base_url") or "/javascript/%s-package" % package_name
        list_js = []

        filenames = []
        if "files" in package:
            # read from whitelist in packages.py
            filenames = package["files"]
        elif package.get("allfiles", False):
            # just add all files in the directory
            filenames = os.listdir("clienttemplates/%s-package/" % package_name)
        else:
            raise "No files found in package %s" % package_name

        for file_name in filenames:
            if file_name.split('.')[-1] == 'handlebars':
                # In debug mode, templates are served as inline <script> tags.
                list_js.append(get_inline_template(package_name, file_name))
            else:
                list_js.append("<script type='text/javascript' src='%s/%s'></script>" % (base_url, file_name))

        list_js.append(loaded_script)
        return "\n".join(list_js)
    else:
        package = packages_compressed.compressed_javascript[package_name]
        base_url = package.get("base_url") or "/javascript/%s-package" % package_name
        return "<script type='text/javascript' src='%s/%s'></script>%s" % (util.static_url(base_url), package["hashed-filename"], loaded_script)
예제 #4
0
def js_package(package_name):
    package = packages.javascript[package_name]
    base_url = package.get("base_url") or "/javascript/%s-package" % package_name

    if not use_compressed_packages():
        list_js = []
        for filename in package["files"]:
            list_js.append("<script type='text/javascript' src='%s/%s'></script>" % (base_url, filename))
        return "".join(list_js)
    else:
        return "<script type='text/javascript' src='%s/%s'></script>" % (util.static_url(base_url), package["hashed-filename"])
예제 #5
0
def js_package(package_name):
    package = packages.javascript[package_name]
    base_url = package.get(
        "base_url") or "/javascript/%s-package" % package_name

    if not use_compressed_packages():
        list_js = []
        for filename in package["files"]:
            list_js.append(
                "<script type='text/javascript' src='%s/%s'></script>" %
                (base_url, filename))
        return "".join(list_js)
    else:
        return "<script type='text/javascript' src='%s/%s'></script>" % (
            util.static_url(base_url), package["hashed-filename"])
예제 #6
0
    def test_detection_of_ka_urls(self):
        def is_ka_url(url):
            return util.is_khanacademy_url(url)

        self.stub_server_name("www.khanacademy.org")
        self.assertTrue(is_ka_url("/relative/url"))
        self.assertTrue(is_ka_url(util.absolute_url("/relative/url")))
        self.assertTrue(is_ka_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()
예제 #7
0
파일: badges.py 프로젝트: avh4/khan-academy
    def get_icon_src(category):
        src = "/images/badges/half-moon-small.png"

        if category == BadgeCategory.BRONZE:
            src = "/images/badges/meteorite-small.png"
        elif category == BadgeCategory.SILVER:
            src = "/images/badges/moon-small.png"
        elif category == BadgeCategory.GOLD:
            src = "/images/badges/earth-small.png"
        elif category == BadgeCategory.PLATINUM:
            src = "/images/badges/sun-small.png"
        elif category == BadgeCategory.DIAMOND:
            src = "/images/badges/eclipse-small.png"
        elif category == BadgeCategory.MASTER:
            src = "/images/badges/master-challenge-blue-small.png"

        return util.static_url(src)
예제 #8
0
    def get_icon_src(category):
        src = "/images/badges/half-moon-small.png"

        if category == BadgeCategory.BRONZE:
            src = "/images/badges/meteorite-small.png"
        elif category == BadgeCategory.SILVER:
            src = "/images/badges/moon-small.png"
        elif category == BadgeCategory.GOLD:
            src = "/images/badges/earth-small.png"
        elif category == BadgeCategory.PLATINUM:
            src = "/images/badges/sun-small.png"
        elif category == BadgeCategory.DIAMOND:
            src = "/images/badges/eclipse-small.png"
        elif category == BadgeCategory.MASTER:
            src = "/images/badges/master-challenge-blue-small.png"

        return util.static_url(src)
예제 #9
0
def js_package(package_name):
    loaded_script = "<script type='text/javascript'>dynamicPackageLoader.setPackageLoaded('%s');</script>" % package_name
    if not use_compressed_packages():
        package = packages.javascript[package_name]
        base_url = package.get("base_url") or "/javascript/%s-package" % package_name
        list_js = []
        for file_name in package["files"]:
            if file_name.split('.')[-1] == 'handlebars':
                # In debug mode, templates are served as inline <script> tags.
                list_js.append(get_inline_template(package_name, file_name))
            else:
                list_js.append("<script type='text/javascript' src='%s/%s'></script>" % (base_url, file_name))
        list_js.append(loaded_script)
        return "\n".join(list_js)
    else:
        package = packages_compressed.compressed_javascript[package_name]
        base_url = package.get("base_url") or "/javascript/%s-package" % package_name
        return "<script type='text/javascript' src='%s/%s'></script>%s" % (util.static_url(base_url), package["hashed-filename"], loaded_script)
예제 #10
0
def js_package(package_name):
    loaded_script = "<script type='text/javascript'>if (typeof dynamicPackageLoader !== 'undefined') dynamicPackageLoader.setPackageLoaded('%s');</script>" % package_name
    if not use_compressed_packages():
        package = packages.javascript[package_name]
        base_url = package.get(
            "base_url") or "/javascript/%s-package" % package_name
        list_js = []
        for file_name in package["files"]:
            if file_name.split('.')[-1] == 'handlebars':
                # In debug mode, templates are served as inline <script> tags.
                list_js.append(get_inline_template(package_name, file_name))
            else:
                list_js.append(
                    "<script type='text/javascript' src='%s/%s'></script>" %
                    (base_url, file_name))
        list_js.append(loaded_script)
        return "\n".join(list_js)
    else:
        package = packages_compressed.compressed_javascript[package_name]
        base_url = package.get(
            "base_url") or "/javascript/%s-package" % package_name
        return "<script type='text/javascript' src='%s/%s'></script>%s" % (
            util.static_url(base_url), package["hashed-filename"],
            loaded_script)
예제 #11
0
파일: badges.py 프로젝트: johnfelipe/server
 def get_icon_src(category, suffix="-small"):
     name = BadgeCategory.get_icon_filename(category)
     return util.static_url("/images/badges/%s%s.png" % (name, suffix))
예제 #12
0
파일: badges.py 프로젝트: di445/server
 def get_icon_src(category, suffix="-small"):
     name = BadgeCategory.get_icon_filename(category)
     return util.static_url("/images/badges/%s%s.png" % (name, suffix))