Esempio n. 1
0
def create_app(config_filename, debug=False):
    app = Flask(__name__)
    app.config.from_object(config_filename)
    app.login_manager = login_manager
    log = logging.getLogger('werkzeug')

    db.init_app(app)
    CSRFProtect(app)
    login_manager.init_app(app)

    app.register_blueprint(indexController.blueprint)
    app.register_blueprint(quotesController.blueprint)
    app.register_blueprint(macrosController.blueprint)
    app.register_blueprint(statsController.blueprint)
    app.register_blueprint(loginController.blueprint)

    if debug:

        log.setLevel(logging.NOTSET)
        app.logger.setLevel(logging.NOTSET)

        # compile SCSS to CSS with every request.
        # useful for updating/debugging styles.
        app.wsgi_app = SassMiddleware(
            app.wsgi_app, {'app': ('static/scss', 'static/css', 'static/css')})

    else:

        log.setLevel(logging.INFO)
        app.logger.setLevel(logging.INFO)

        # compile once at start.
        build_directory("app/static/scss", "app/static/css")

    return app
Esempio n. 2
0
def compile_assets():
    """Compile yuraland assets (CSS, JS, etc.)."""
    # Compile SCSS.
    os.makedirs("dist/assets/css/")
    build_directory(
        sass_path="assets/scss/",
        css_path="dist/assets/css/",
        output_style="compressed",
        strip_extension=True,
    )

    # Copy all the rest.
    for directory in os.listdir("assets/"):
        if directory != "scss":
            shutil.copytree(f"assets/{directory}", f"dist/assets/{directory}")
Esempio n. 3
0
 def test_builder_build_directory(self):
     css_path = self.css_path
     result_files = build_directory(self.sass_path, css_path)
     self.assertEqual(7, len(result_files))
     self.assertEqual('a.scss.css', result_files['a.scss'])
     with open(os.path.join(css_path, 'a.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual(A_EXPECTED_CSS, css)
     self.assertEqual('b.scss.css', result_files['b.scss'])
     with open(os.path.join(css_path, 'b.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual(B_EXPECTED_CSS, css)
     self.assertEqual('c.scss.css', result_files['c.scss'])
     with open(os.path.join(css_path, 'c.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual(C_EXPECTED_CSS, css)
     self.assertEqual('d.scss.css', result_files['d.scss'])
     with open(os.path.join(css_path, 'd.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual(D_EXPECTED_CSS, css)
     self.assertEqual('e.scss.css', result_files['e.scss'])
     with open(os.path.join(css_path, 'e.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual(E_EXPECTED_CSS, css)
     self.assertEqual(os.path.join('subdir', 'recur.scss.css'),
                      result_files[os.path.join('subdir', 'recur.scss')])
     with open(os.path.join(css_path, 'g.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual(G_EXPECTED_CSS, css)
     self.assertEqual(os.path.join('subdir', 'recur.scss.css'),
                      result_files[os.path.join('subdir', 'recur.scss')])
     with open(os.path.join(css_path, 'subdir', 'recur.scss.css'),
               **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual(SUBDIR_RECUR_EXPECTED_CSS, css)
Esempio n. 4
0
 def test_builder_build_directory(self):
     temp_path = tempfile.mkdtemp()
     sass_path = os.path.join(temp_path, 'sass')
     css_path = os.path.join(temp_path, 'css')
     shutil.copytree('test', sass_path)
     result_files = build_directory(sass_path, css_path)
     assert len(result_files) == 5
     assert result_files['a.scss'] == 'a.scss.css'
     with open(os.path.join(css_path, 'a.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     assert css == A_EXPECTED_CSS
     assert result_files['b.scss'] == 'b.scss.css'
     with open(os.path.join(css_path, 'b.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     assert css == B_EXPECTED_CSS
     assert result_files['c.scss'] == 'c.scss.css'
     with open(os.path.join(css_path, 'c.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     assert css == C_EXPECTED_CSS
     assert result_files['d.scss'] == 'd.scss.css'
     with open(os.path.join(css_path, 'd.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual(D_EXPECTED_CSS, css)
     assert (result_files[os.path.join('subdir', 'recur.scss')] ==
             os.path.join('subdir', 'recur.scss.css'))
     with open(os.path.join(css_path, 'subdir', 'recur.scss.css'),
               **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual(SUBDIR_RECUR_EXPECTED_CSS, css)
     shutil.rmtree(temp_path)
Esempio n. 5
0
 def test_builder_build_directory(self):
     css_path = self.css_path
     result_files = build_directory(self.sass_path, css_path)
     assert len(result_files) == 7
     assert 'a.scss.css' == result_files['a.scss']
     with io.open(
             os.path.join(css_path, 'a.scss.css'),
             encoding='UTF-8',
     ) as f:
         css = f.read()
     assert A_EXPECTED_CSS == css
     assert 'b.scss.css' == result_files['b.scss']
     with io.open(
             os.path.join(css_path, 'b.scss.css'),
             encoding='UTF-8',
     ) as f:
         css = f.read()
     assert B_EXPECTED_CSS == css
     assert 'c.scss.css' == result_files['c.scss']
     with io.open(
             os.path.join(css_path, 'c.scss.css'),
             encoding='UTF-8',
     ) as f:
         css = f.read()
     assert C_EXPECTED_CSS == css
     assert 'd.scss.css' == result_files['d.scss']
     with io.open(
             os.path.join(css_path, 'd.scss.css'),
             encoding='UTF-8',
     ) as f:
         css = f.read()
     assert D_EXPECTED_CSS == css
     assert 'e.scss.css' == result_files['e.scss']
     with io.open(
             os.path.join(css_path, 'e.scss.css'),
             encoding='UTF-8',
     ) as f:
         css = f.read()
     assert E_EXPECTED_CSS == css
     self.assertEqual(
         os.path.join('subdir', 'recur.scss.css'),
         result_files[os.path.join('subdir', 'recur.scss')],
     )
     with io.open(
             os.path.join(css_path, 'g.scss.css'),
             encoding='UTF-8',
     ) as f:
         css = f.read()
     assert G_EXPECTED_CSS == css
     self.assertEqual(
         os.path.join('subdir', 'recur.scss.css'),
         result_files[os.path.join('subdir', 'recur.scss')],
     )
     with io.open(
             os.path.join(css_path, 'subdir', 'recur.scss.css'),
             encoding='UTF-8',
     ) as f:
         css = f.read()
     assert SUBDIR_RECUR_EXPECTED_CSS == css
Esempio n. 6
0
 def test_output_style(self):
     css_path = self.css_path
     result_files = build_directory(self.sass_path, css_path,
                                    output_style='compressed')
     self.assertEqual(7, len(result_files))
     self.assertEqual('a.scss.css', result_files['a.scss'])
     with open(os.path.join(css_path, 'a.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual('body{background-color:green}body a{color:blue}\n',
                      css)
Esempio n. 7
0
 def test_output_style(self):
     css_path = self.css_path
     result_files = build_directory(self.sass_path,
                                    css_path,
                                    output_style='compressed')
     self.assertEqual(6, len(result_files))
     self.assertEqual('a.scss.css', result_files['a.scss'])
     with open(os.path.join(css_path, 'a.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual('body{background-color:green}body a{color:blue}', css)
Esempio n. 8
0
 def test_output_style(self):
     css_path = self.css_path
     result_files = build_directory(self.sass_path, css_path,
                                    output_style='compressed')
     assert len(result_files) == 7
     assert 'a.scss.css' == result_files['a.scss']
     with io.open(
         os.path.join(css_path, 'a.scss.css'), encoding='UTF-8',
     ) as f:
         css = f.read()
     self.assertEqual('body{background-color:green}body a{color:blue}\n',
                      css)
Esempio n. 9
0
 def test_builder_build_directory(self):
     css_path = self.css_path
     result_files = build_directory(self.sass_path, css_path)
     assert len(result_files) == 7
     assert 'a.scss.css' == result_files['a.scss']
     with io.open(
         os.path.join(css_path, 'a.scss.css'), encoding='UTF-8',
     ) as f:
         css = f.read()
     assert A_EXPECTED_CSS == css
     assert 'b.scss.css' == result_files['b.scss']
     with io.open(
         os.path.join(css_path, 'b.scss.css'), encoding='UTF-8',
     ) as f:
         css = f.read()
     assert B_EXPECTED_CSS == css
     assert 'c.scss.css' == result_files['c.scss']
     with io.open(
         os.path.join(css_path, 'c.scss.css'), encoding='UTF-8',
     ) as f:
         css = f.read()
     assert C_EXPECTED_CSS == css
     assert 'd.scss.css' == result_files['d.scss']
     with io.open(
         os.path.join(css_path, 'd.scss.css'), encoding='UTF-8',
     ) as f:
         css = f.read()
     assert D_EXPECTED_CSS == css
     assert 'e.scss.css' == result_files['e.scss']
     with io.open(
         os.path.join(css_path, 'e.scss.css'), encoding='UTF-8',
     ) as f:
         css = f.read()
     assert E_EXPECTED_CSS == css
     self.assertEqual(
         os.path.join('subdir', 'recur.scss.css'),
         result_files[os.path.join('subdir', 'recur.scss')]
     )
     with io.open(
         os.path.join(css_path, 'g.scss.css'), encoding='UTF-8',
     ) as f:
         css = f.read()
     assert G_EXPECTED_CSS == css
     self.assertEqual(
         os.path.join('subdir', 'recur.scss.css'),
         result_files[os.path.join('subdir', 'recur.scss')]
     )
     with io.open(
         os.path.join(css_path, 'subdir', 'recur.scss.css'),
         encoding='UTF-8',
     ) as f:
         css = f.read()
     assert SUBDIR_RECUR_EXPECTED_CSS == css
Esempio n. 10
0
 def test_output_style(self):
     css_path = self.css_path
     result_files = build_directory(self.sass_path, css_path,
                                    output_style='compressed')
     assert len(result_files) == 7
     assert 'a.scss.css' == result_files['a.scss']
     with io.open(
         os.path.join(css_path, 'a.scss.css'), encoding='UTF-8',
     ) as f:
         css = f.read()
     self.assertEqual('body{background-color:green}body a{color:blue}\n',
                      css)
Esempio n. 11
0
 def test_builder_build_directory(self):
     css_path = self.css_path
     result_files = build_directory(self.sass_path, css_path)
     self.assertEqual(7, len(result_files))
     self.assertEqual('a.scss.css', result_files['a.scss'])
     with open(os.path.join(css_path, 'a.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual(A_EXPECTED_CSS, css)
     self.assertEqual('b.scss.css', result_files['b.scss'])
     with open(os.path.join(css_path, 'b.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual(B_EXPECTED_CSS, css)
     self.assertEqual('c.scss.css', result_files['c.scss'])
     with open(os.path.join(css_path, 'c.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual(C_EXPECTED_CSS, css)
     self.assertEqual('d.scss.css', result_files['d.scss'])
     with open(os.path.join(css_path, 'd.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual(D_EXPECTED_CSS, css)
     self.assertEqual('e.scss.css', result_files['e.scss'])
     with open(os.path.join(css_path, 'e.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual(E_EXPECTED_CSS, css)
     self.assertEqual(
         os.path.join('subdir', 'recur.scss.css'),
         result_files[os.path.join('subdir', 'recur.scss')]
     )
     with open(os.path.join(css_path, 'g.scss.css'), **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual(G_EXPECTED_CSS, css)
     self.assertEqual(
         os.path.join('subdir', 'recur.scss.css'),
         result_files[os.path.join('subdir', 'recur.scss')]
     )
     with open(os.path.join(css_path, 'subdir', 'recur.scss.css'),
               **utf8_if_py3) as f:
         css = f.read()
     self.assertEqual(SUBDIR_RECUR_EXPECTED_CSS, css)
Esempio n. 12
0
import sys
import textwrap
import fnmatch
import concurrent.futures

from sassutils import builder

def rename_one(file):
	scss_name = os.path.splitext(file)[0]
	no_ext = os.path.splitext(scss_name)[0]
	renamed = no_ext + ".css"

	os.rename(file, renamed)

def compileSass(dir, remove_source=False, async=False):
	builder.build_directory(dir, dir)
	#compiled = glob.glob(os.path.join(dir,"*.scss.css"))
	compiled = []
	w = os.walk(dir)
	for root, dirs, files in w:
		for file in files:
			if fnmatch.fnmatch(file, "*.scss.css"):
				compiled.append(os.path.join(root,file))

	if async:
		with concurrent.futures.ProcessPoolExecutor() as e:
			for file in compiled:
				e.submit(rename_one, file)
	else:
		for file in compiled:
			rename_one(file)
Esempio n. 13
0
import fnmatch
import concurrent.futures

from sassutils import builder


def rename_one(file):
    scss_name = os.path.splitext(file)[0]
    no_ext = os.path.splitext(scss_name)[0]
    renamed = no_ext + ".css"

    os.rename(file, renamed)


def compileSass(dir, remove_source=False, async=False):
    builder.build_directory(dir, dir)
    #compiled = glob.glob(os.path.join(dir,"*.scss.css"))
    compiled = []
    w = os.walk(dir)
    for root, dirs, files in w:
        for file in files:
            if fnmatch.fnmatch(file, "*.scss.css"):
                compiled.append(os.path.join(root, file))

    if async:
        with concurrent.futures.ProcessPoolExecutor() as e:
            for file in compiled:
                e.submit(rename_one, file)
    else:
        for file in compiled:
            rename_one(file)
Esempio n. 14
0
from flask import Flask
from flask import request
from flask import render_template
from sassutils import builder
from search import search
import json

app = Flask(__name__)
compiled = builder.build_directory(sass_path="static/scss",
                                   css_path="static/css",
                                   strip_extension=False)
if app.debug or app.env == "development":
    print("Compiled scss:", compiled)


@app.route('/', methods=['GET'])
def index():
    """
    Index Page

    :return: rendered Page
    """
    query = request.args.get('q')

    print(query)

    if query is not None:
        return search_component(query)
    else:
        return render_template('index.html')
Esempio n. 15
0
        tokens=tokens,
        leads=leads
    )


@app.route("/minutes/new", methods=['GET', 'POST'])
def minutes_new():
    if request.method == 'POST':
        return minutes(-1, {'minutes':request.form['minutes'], 'id':-1})
    return render_template('minutes_new.html')

if os.environ.get('FLASK_DEBUG'):
    # Sass debugging
    from sassutils.wsgi import SassMiddleware
    app.wsgi_app = SassMiddleware(app.wsgi_app, {
        __name__: ('static/sass', 'static/css', '/static/css')
    })
else:
    # Build all sass files once for production
    from sassutils.builder import build_directory
    build_directory(
        os.path.join(os.path.dirname(__file__), 'static', 'sass'),
        os.path.join(os.path.dirname(__file__), 'static', 'css'),
    )

if __name__ == "__main__":
    from subprocess import call
    os.environ['FLASK_APP'] = __file__
    #os.environ['FLASK_DEBUG'] = '1'
    call(['flask', 'run'])
Esempio n. 16
0
					else:
						if the_file[0] == '_':
							os.remove(file_path)
						else:
							new_file_name = re.sub(self.RE_EXTENTIONS, '', file_path)
							os.rename(file_path, new_file_name)
				except Exception, e:
					print e

		print '> SASS/SCSS files compiling...'

		result = clearDir(self.output_dir)

		if not result['status']:
			print '> ERROR! SASS/SCSS compile FAIL:\n',result['error']
			exit()

		for item in os.listdir(self.src_dir):

			if os.path.isdir(self.src_dir+'/'+item):
				os.mkdir(self.output_dir+'/'+item)
				builder.build_directory(self.src_dir+'/'+item, self.output_dir+'/'+item)

		builder.build_directory(self.src_dir, self.output_dir)

		clearOutput(self.output_dir)

		print '> CSS files were created'