Example #1
0
    def __init__(self):
        project_dir = os.path.abspath(
            os.path.dirname(os.path.dirname(__file__)))
        app_dir = os.path.join(project_dir, 'app')
        public_dir = os.path.join(project_dir, 'public')

        self.gears = Environment(public_dir,
                                 fingerprinting=False,
                                 manifest_path=False)
        self.gears.finders.register(
            ExtFinder([app_dir],
                      ['.coffee', '.scss', '.handlebars', '.js', '.css'], [
                          'app.handlebars', 'partials/header.handlebars',
                          'partials/footer.handlebars'
                      ]))

        self.gears.compilers.register('.scss', LibsassCompiler.as_handler())
        self.gears.compilers.register('.coffee',
                                      CoffeeScriptCompiler.as_handler())
        self.gears.compilers.register('.handlebars',
                                      CustomHandlebarsCompiler.as_handler())

        if env.is_prod():
            self.gears.compressors.register('text/css',
                                            CleanCSSCompressor.as_handler())

        self.gears.register_defaults()
    def __init__(self):
        project_dir = os.path.abspath(
            os.path.dirname(os.path.dirname(__file__)))
        app_dir = os.path.join(project_dir, 'app')
        public_dir = os.path.join(project_dir, 'public')

        self.gears = Environment(public_dir,
                                 public_assets=[self._public_assets],
                                 fingerprinting=False,
                                 manifest_path=False)
        self.gears.finders.register(
            ExtFinder([app_dir], ['.coffee', '.scss', '.handlebars']))

        self.gears.compilers.register('.scss', SCSSCompiler.as_handler())
        self.gears.compilers.register('.coffee',
                                      CoffeeScriptCompiler.as_handler())
        self.gears.compilers.register('.handlebars',
                                      CustomHandlebarsCompiler.as_handler())

        if env.is_prod():
            self.gears.compressors.register('application/javascript',
                                            UglifyJSCompressor.as_handler())
            self.gears.compressors.register('text/css',
                                            CleanCSSCompressor.as_handler())

        self.gears.register_defaults()
Example #3
0
def setup_compilers(app):

    _compilers = {
        '.styl': StylusCompiler.as_handler(),
        '.coffee': CoffeeScriptCompiler.as_handler()
    }

    def gears_environment(app):
        return app.extensions['gears']['environment']

    env = gears_environment(app)
    for extension, compiler in _compilers.iteritems():
        env.compilers.register(extension, compiler)
Example #4
0
    def __init__(self, manager, parser):
        self.manager = manager
        self.gears = Gears(
            compilers={
            '.less': LESSCompiler.as_handler(),
            '.coffee': CoffeeScriptCompiler.as_handler(),
            #    '.hbs': 'gears_handlebars.HandlebarsCompiler'
            },
            public_assets=(
                os.path.join(settings.PROJECT_DIR, 'hpit/server/assets/css/style.css'), 
                os.path.join(settings.PROJECT_DIR, 'hpit/server/assets/js/script.js')
            )
        )

        parser.add_argument('--dest', type=str, default="hpit/server/assets/compiled", help="The destination directory of where to put these assets.")
        parser.add_argument('--watch', action='store_true', help="Watch for changes to source files and compile on demand.")
Example #5
0
    def __init__(self):
        project_dir = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
        app_dir = os.path.join(project_dir, 'app')
        public_dir = os.path.join(project_dir, 'public')

        self.gears = Environment(public_dir, public_assets=[self._public_assets])
        self.gears.finders.register(ExtFinder([app_dir], ['.coffee', '.scss', '.handlebars']))

        self.gears.compilers.register('.scss', SCSSCompiler.as_handler())
        self.gears.compilers.register('.coffee', CoffeeScriptCompiler.as_handler())
        self.gears.compilers.register('.handlebars', CustomHandlebarsCompiler.as_handler())

        if env.is_prod():
            self.gears.compressors.register('application/javascript', UglifyJSCompressor.as_handler())
            self.gears.compressors.register('text/css', CleanCSSCompressor.as_handler())

        self.gears.register_defaults()
Example #6
0
    def __init__(self):
        project_dir = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
        app_dir = os.path.join(project_dir, 'app')
        public_dir = os.path.join(project_dir, 'public')

        self.gears = Environment(public_dir, fingerprinting=False,
            manifest_path=False)
        self.gears.finders.register(ExtFinder(
            [app_dir],
            ['.coffee', '.scss', '.handlebars', '.js', '.css'],
            ['app.handlebars', 'partials/header.handlebars', 'partials/footer.handlebars']
        ))

        self.gears.compilers.register('.scss', LibsassCompiler.as_handler())
        self.gears.compilers.register('.coffee', CoffeeScriptCompiler.as_handler())
        self.gears.compilers.register('.handlebars', CustomHandlebarsCompiler.as_handler())

        if env.is_prod():
            self.gears.compressors.register('text/css', CleanCSSCompressor.as_handler())

        self.gears.register_defaults()
Example #7
0
    def __init__(self, manager, parser):
        self.manager = manager
        self.gears = Gears(
            compilers={
                '.less': LESSCompiler.as_handler(),
                '.coffee': CoffeeScriptCompiler.as_handler(),
                #    '.hbs': 'gears_handlebars.HandlebarsCompiler'
            },
            public_assets=(os.path.join(settings.PROJECT_DIR,
                                        'hpit/server/assets/css/style.css'),
                           os.path.join(settings.PROJECT_DIR,
                                        'hpit/server/assets/js/script.js')))

        parser.add_argument(
            '--dest',
            type=str,
            default="hpit/server/assets/compiled",
            help="The destination directory of where to put these assets.")
        parser.add_argument(
            '--watch',
            action='store_true',
            help="Watch for changes to source files and compile on demand.")
Example #8
0
    def __init__(self):
        project_dir = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
        app_dir = os.path.join(project_dir, "app")
        public_dir = os.path.join(project_dir, "public")

        self.gears = Environment(public_dir, fingerprinting=False, manifest_path=False)
        self.gears.finders.register(
            ExtFinder(
                [app_dir],
                [".coffee", ".scss", ".handlebars", ".js", ".css"],
                ["app.handlebars", "partials/header.handlebars", "partials/footer.handlebars"],
            )
        )

        self.gears.compilers.register(".scss", SCSSCompiler.as_handler())
        self.gears.compilers.register(".coffee", CoffeeScriptCompiler.as_handler())
        self.gears.compilers.register(".handlebars", CustomHandlebarsCompiler.as_handler())

        if env.is_prod():
            self.gears.compressors.register("text/css", CleanCSSCompressor.as_handler())

        self.gears.register_defaults()
Example #9
0
    def __init__(self):
        if self.instance:
            raise ValueError("ServerApp instance already created.")

        self.gears = Gears(
            compilers={
                '.less': LESSCompiler.as_handler(),
                '.coffee': CoffeeScriptCompiler.as_handler(),
                #    '.hbs': 'gears_handlebars.HandlebarsCompiler'
            })

        self.app = Flask(__name__)
        self.gears.init_app(self.app)

        self.app.config.from_object(settings)

        import logging
        from logging.handlers import RotatingFileHandler
        log_handler = RotatingFileHandler("log/app.log",
                                          maxBytes=10000000,
                                          backupCount=1)  #10mb
        log_handler.setLevel(logging.DEBUG)
        self.app.logger.addHandler(log_handler)

        try:
            self.mongo = PyMongo(self.app)
            #self.app.session_interface = MongoSessionInterface(self.app, self.mongo)
        except ConnectionFailure:
            self.mongo = None

        self.babel = Babel(self.app)
        self.db = SQLAlchemy(self.app)
        self.mail = Mail(self.app)
        self.md = Markdown(self.app)
        self.csrf = CsrfProtect(self.app)

        self.user_bootstrapped = False
Example #10
0
    def __init__(self):
        if self.instance:
            raise ValueError("ServerApp instance already created.")

        self.gears = Gears(
            compilers={
            '.less': LESSCompiler.as_handler(),
            '.coffee': CoffeeScriptCompiler.as_handler(),
            #    '.hbs': 'gears_handlebars.HandlebarsCompiler'
            }
        )

        self.app = Flask(__name__)
        self.gears.init_app(self.app)

        self.app.config.from_object(settings)
        
        import logging
        from logging.handlers import RotatingFileHandler
        log_handler = RotatingFileHandler("log/app.log",maxBytes = 10000000, backupCount = 1) #10mb
        log_handler.setLevel(logging.DEBUG)
        self.app.logger.addHandler(log_handler)

        try:
            self.mongo = PyMongo(self.app)
            #self.app.session_interface = MongoSessionInterface(self.app, self.mongo)
        except ConnectionFailure:
            self.mongo = None

        self.babel = Babel(self.app)
        self.db = SQLAlchemy(self.app)
        self.mail = Mail(self.app)
        self.md = Markdown(self.app)
        self.csrf = CsrfProtect(self.app)

        self.user_bootstrapped = False
Example #11
0
from gears.compressors import SlimItCompressor, CSSMinCompressor
from gears_coffeescript import CoffeeScriptCompiler
from gears_less import LESSCompiler


_compilers = {
    ".coffee": CoffeeScriptCompiler.as_handler(),
    ".less": LESSCompiler.as_handler()
}

_compressors = {
    "text/css": CSSMinCompressor.as_handler(),
    "application/javascript": SlimItCompressor.as_handler()
}


gears_environment = lambda app: app.extensions["gears"]["environment"]
gears_environment.__doc__ = """Gets gears environments of the app instance."""


def setup_assets_compilers(app):
    """Set up compilers of assets."""
    env = gears_environment(app)
    for extension, compiler in _compilers.iteritems():
        env.compilers.register(extension, compiler)


def setup_assets_compressors(app):
    """Set up compressors of assets."""
    env = gears_environment(app)
    if not app.config["DEBUG"] or app.config["TESTING"]:
Example #12
0
    os.environ.get('FLASK_SETTINGS_MODULE', 'app.settings.production'))


class RegexConverter(BaseConverter):
    def __init__(self, url_map, *items):
        super(RegexConverter, self).__init__(url_map)
        self.regex = items[0]


app.url_map.converters['regex'] = RegexConverter

gears = Gears(
    compilers={
        '.styl': StylusCompiler.as_handler(),
        '.less': LESSCompiler.as_handler(),
        '.coffee': CoffeeScriptCompiler.as_handler(),
        '.sass': SASSCompiler.as_handler(),
        '.scss': SASSCompiler.as_handler()
    },
    compressors={
        'text/css': CleanCSSCompressor.as_handler(),
        'text/javascript': UglifyJSCompressor.as_handler()
    },
)
gears.init_app(app)
db = SQLAlchemy(app)
login_manager = LoginManager()
login_manager.init_app(app)
login_manager.login_view = 'login'
# admin = Admin(app)
babel = Babel(app)
Example #13
0
from flask.ext.gears import Gears
from gears.compressors import SlimItCompressor
from gears_stylus import StylusCompiler
from gears_clean_css import CleanCSSCompressor
from gears_coffeescript import CoffeeScriptCompiler


gears = Gears()


_compilers = {
    '.styl': StylusCompiler.as_handler(),
    '.coffee': CoffeeScriptCompiler.as_handler()
}

_compressors = {
    "text/css": CleanCSSCompressor.as_handler(),
    "application/javascript": SlimItCompressor.as_handler()
}


def setup_gears(app):
    gears.init_app(app)
    setup_gears_environment(app)
    setup_compressors(app)
    setup_compilers(app)


def gears_environment(app):
    return app.extensions['gears']['environment']
Example #14
0
import os

from gears.environment import Environment
from gears.finders import FileSystemFinder

from gears_coffeescript import CoffeeScriptCompiler


ROOT_DIR = os.path.abspath(os.path.dirname(__file__))
ASSETS_DIR = os.path.join(ROOT_DIR, "assets")
STATIC_DIR = os.path.join(ROOT_DIR, "static")

env = Environment(STATIC_DIR)
env.finders.register(FileSystemFinder([ASSETS_DIR]))
env.compilers.register(".coffee", CoffeeScriptCompiler.as_handler())
env.register_defaults()


if __name__ == "__main__":
    env.save()