Exemplo n.º 1
0
    def new_colorscheme(self, title='New Scheme', description='', data=None, user=None, url=''):
        """Create a new ColorScheme record based on KSF data"""
        ksf = KSFProcessor(ksf_data=data)
        #title = filename[0:len(filename)-4].replace('<','').replace('>','')        # Drop .ksf from the end
        langs = [lang for lang,value in ksf.lang_styles.items()]

        # Build static property values
        cs = ColorScheme(
            author = user,
            title = title,
            raw = data,
            extra_langs = langs,
            colors = ksf.get_primary_colors(),
            background = ksf.get_background_color().get_html_hex(),
            background_tone = ksf.get_background_color().get_tonality(),
            description = description,
            url = url,
        )
        # Save to generate ID
        cs.put()
        cs.general_css = ksf.build_css(css_prefix='#cs-%s' % cs.key().id(), skip_font_size=True)

        # Build dynamic property values
        for lang in langs:
            prop = helpers.property_safe_name(lang)
            value = ksf.build_css(language=lang, css_prefix='#cs-%s' % cs.key().id(), skip_font_size=True)
            setattr(cs, '%s_css' % prop, db.Text(value))
        cs.put()

        return cs
Exemplo n.º 2
0
 def all_css(self):
     css = self.general_css
     for lang in self.extra_langs:
         safe_lang = helpers.property_safe_name(lang)
         lang_css = getattr(self, '%s_css' % safe_lang, '')
         # insert lang prefix
         lang_css = lang_css.replace('.ksf-', '.%s .ksf-' % safe_lang)
         css += lang_css
     return css
Exemplo n.º 3
0
 def slug(self):
     return helpers.property_safe_name(self.title)