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()
Exemplo n.º 2
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()
Exemplo n.º 3
0
    def setUp(self):
        self.compiler = SASSCompiler()

        self.env = Environment(root=OUTPUT_DIR,
                               public_assets=(r'.*\.css', ),
                               fingerprinting=False)
        self.env.finders.register(FileSystemFinder([SCSS_DIR]))
        self.env.compilers.register('.scss', self.compiler.as_handler())
        self.env.register_defaults()
        self.env.save()
Exemplo n.º 4
0
 def init_environment(self, app):
     environment = Environment(
         root=self.get_static_folder(app),
         public_assets=self.get_public_assets(app),
         cache=self.get_cache(app),
     )
     if self.defaults:
         environment.register_defaults()
         environment.finders.register(self.get_default_finder(app))
     if self.compilers is not None:
         for extension, compiler in self.compilers.items():
             environment.compilers.register(extension, compiler)
     if self.compressors is not None:
         for mimetype, compressor in self.compressors.items():
             environment.compressors.register(mimetype, compressor)
     app.extensions['gears']['environment'] = environment
Exemplo n.º 5
0
 def get_environment(self, fixture):
     environment = Environment(os.path.join(TESTS_DIR, 'static'))
     environment.finders.register(self.get_finder(fixture))
     environment.mimetypes.register_defaults()
     environment.preprocessors.register_defaults()
     return environment
Exemplo n.º 6
0
 def setUp(self):
     self.environment = Environment(STATIC_DIR)
     self.environment.register_defaults()
     self.environment.finders.register(FakeFinder())
     self.environment.compilers.register(
         '.coffee', FakeCompiler('application/javascript'))
Exemplo n.º 7
0
 def setUp(self):
     self.environment = Environment(STATIC_DIR)
Exemplo n.º 8
0
 def setUp(self):
     self.environment = Environment(STATIC_DIR)
     self.environment.register_defaults()
     self.environment.finders.register(FileSystemFinder([ASSETS_DIR]))
Exemplo n.º 9
0
 def get_environment(self, fixture):
     finder = self.get_finder(fixture)
     environment = Environment(os.path.join(TESTS_DIR, 'static'))
     environment.finders.register(finder)
     environment.register_defaults()
     return environment
Exemplo n.º 10
0
 def setUp(self):
     self.environment = Environment('assets')
     self.coffee_script_compiler = CoffeeScriptCompiler.as_handler()
     self.stylus_compiler = StylusCompiler.as_handler()
     self.template_compiler = TemplateCompiler.as_handler()
Exemplo n.º 11
0
 def setUp(self):
     self.environment = Environment('assets')
Exemplo n.º 12
0
}

GEARS_DEBUG = getattr(settings, 'GEARS_DEBUG', settings.DEBUG)

GEARS_URL = getattr(settings, 'GEARS_URL', settings.STATIC_URL)

path = getattr(settings, 'GEARS_CACHE', DEFAULT_CACHE)
if isinstance(path, (list, tuple)):
    path, options = path
else:
    options = None
cache = get_cache(path, options)

environment = Environment(
    root=getattr(settings, 'GEARS_ROOT'),
    public_assets=getattr(settings, 'GEARS_PUBLIC_ASSETS',
                          DEFAULT_PUBLIC_ASSETS),
    cache=cache,
)

for path in getattr(settings, 'GEARS_FINDERS', DEFAULT_FINDERS):
    if isinstance(path, (list, tuple)):
        path, options = path
    else:
        options = None
    environment.finders.register(get_finder(path, options))

mimetypes = getattr(settings, 'GEARS_MIMETYPES', DEFAULT_MIMETYPES)
for extension, mimetype in mimetypes.items():
    environment.mimetypes.register(extension, mimetype)

for extension, path in getattr(settings, 'GEARS_COMPILERS', {}).items():
Exemplo n.º 13
0
GEARS_DEBUG = getattr(settings, 'GEARS_DEBUG', settings.DEBUG)

GEARS_URL = getattr(settings, 'GEARS_URL', settings.STATIC_URL)

path = getattr(settings, 'GEARS_CACHE', DEFAULT_CACHE)
if isinstance(path, (list, tuple)):
    path, options = path
else:
    options = None
cache = get_cache(path, options)

environment = Environment(
    root=getattr(settings, 'GEARS_ROOT'),
    public_assets=getattr(settings, 'GEARS_PUBLIC_ASSETS',
                          DEFAULT_PUBLIC_ASSETS),
    cache=cache,
    gzip=getattr(settings, 'GEARS_GZIP', False),
    fingerprinting=getattr(settings, 'GEARS_FINGERPRINTING', True),
)

for path in getattr(settings, 'GEARS_FINDERS', DEFAULT_FINDERS):
    if isinstance(path, (list, tuple)):
        path, options = path
    else:
        options = None
    environment.finders.register(get_finder(path, options))

mimetypes = getattr(settings, 'GEARS_MIMETYPES', DEFAULT_MIMETYPES)
for extension, mimetype in mimetypes.items():
    environment.mimetypes.register(extension, mimetype)
Exemplo n.º 14
0
      path = path.lstrip('/')
      fingerprint_path = env.manifest.files[path]

      asset[path_type] = fingerprint_path

  with open(filename, 'wb') as f:
    f.write(unicode(soup.prettify()))


def delete_dest():
  if os.path.exists(DEST_DIR):
    shutil.rmtree(DEST_DIR)


if __name__ == '__main__':
  #clean slate
  delete_dest()

  #defines where files will be emitted
  env = Environment(DEST_DIR, public_assets=(
    lambda path: any(path.endswith(ext) for ext in ('.css', '.js', '.html')),
    lambda path: any(path.startswith(ext) for ext in ('fonts', 'images')))
  )

  env.finders.register(FileSystemFinder([SOURCE_DIR]))
  env.register_defaults()

  env.save()
  reference_fingerprinted_files(env)
  delete_unused_files(env.manifest)
Exemplo n.º 15
0
import os

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

from gears_babel import Babel6to5Compiler

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('.jsx', Babel6to5Compiler.as_handler())
env.register_defaults()

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