def freeze(test): """ Freezes application into a set of static files. """ freezer = Freezer(app) if test: freezer.run() else: freezer.freeze()
def saveFiles(): from app import updateDB, app, matches if matches: matches = matches['matches'] print matches updateDB() freezer = Freezer(app) # Create static html files freezer.freeze() with open('build/index.html','r') as html: output = fromString(html.read()) with open('build/send.html','w') as send_file: send_file.write(output) with open('build/send.txt','wb') as f: keys = matches[0].keys() dict_writer = csv.DictWriter(f, keys) dict_writer.writeheader() dict_writer.writerows(matches) return True else: print 'Looks like something wrong with date in initial URL, nothing saved' return False
def freeze_flask_app(app, config, target): target = os.path.abspath(target) freezer = Freezer(app) @freezer.register_generator def page(): for fn in os.listdir(os.path.join(config["_root"], "pages")): if fn.startswith("404"): continue _tmp = fn.rsplit(".", 1) if len(_tmp) == 1: yield {"name": _tmp[0]} else: if _tmp[1] in utils.ACCEPTED_EXTENSIONS: yield {"name": _tmp[0]} if config["blog"]: @freezer.register_generator def blog(): for i in xrange(1, app.blog.total_pages + 1): yield {"current_page": i} @freezer.register_generator def post(): for postid in app.blog.postid_to_index.keys(): yield {"postid": postid} app.config["FREEZER_DESTINATION"] = target app.config["FREEZER_DESTINATION_IGNORE"] = (".git*", "CNAME") freezer.freeze()
def freeze_flask_app(app, config, target): target = os.path.abspath(target) freezer = Freezer(app) @freezer.register_generator def page(): for fn in os.listdir(os.path.join(config["_root"], "pages")): if fn.startswith("404"): continue _tmp = fn.rsplit(".", 1) if len(_tmp) == 1: yield {"name": _tmp[0]} else: if _tmp[1] in utils.ACCEPTED_EXTENSIONS: yield {"name": _tmp[0]} if config["blog"]: @freezer.register_generator def blog(): for i in xrange(1, app.blog.total_pages + 1): yield {"current_page": i} @freezer.register_generator def post(): for postid in app.blog.postid_to_index.keys(): yield {"postid": postid} app.config["FREEZER_DESTINATION"] = target app.config["FREEZER_DESTINATION_IGNORE"] = (".git*", "CNAME") freezer.freeze()
def freezer(app): blogposts = BlogPostCollection(os.path.join(os.environ['CONTENT_DIR'], 'blog')) blogposts.build() app.blogposts = blogposts freezer = Freezer(app) freezer.register_generator(url_generators.static.js) freezer.register_generator(url_generators.static.css) freezer.register_generator(url_generators.static.img) freezer.register_generator(url_generators.blog.article_list) freezer.freeze()
def build_pages(): ignored = [bundle.output for bundle in assets] app.config['FREEZER_DESTINATION'] = os.path.abspath("static") app.config['FREEZER_BASE_URL'] = "http://dabo.guru/" app.config['FREEZER_DESTINATION_IGNORE'] = ignored app.config['FREEZER_IGNORE_ENDPOINTS'] = ['oauth_respond', 'mc_api_name', 'mc_api_uuid', 'serve_markdown', 'uuid_api'] freezer = Freezer(app=app, with_static_files=False, with_no_argument_rules=False, log_url_for=True) freezer.register_generator(no_argument_rules_urls_with_ignore) freezer.register_generator(lambda: ("/favicon.ico",)) print("Freezing") freezer.freeze()
def build(build_destination=None): """Create a static version of the site with Frozen-Flask""" try: from flask.ext.frozen import Freezer except ImportError: import sys sys.exit("To create a static version of the site you need the " "Frozen-Flask package") if build_destination is not None: current_app.config['FREEZER_DESTINATION'] = build_destination else: current_app.config['FREEZER_DESTINATION'] = os.path.join( current_app.config["SOURCE"], "_build") freezer = Freezer(current_app) freezer.freeze()
def freeze(cls): buildPath = tempfile.mkdtemp() app.config.update( FREEZER_DESTINATION=PATH.RENDERED, FREEZER_RELATIVE_URLS=True, FREEZER_REMOVE_EXTRA_FILES=True, FREEZER_DESTINATION_IGNORE=['.git*', '*.idea']) freezer = Freezer(app) freezer.register_generator(fridge.path_route) with local.cwd(PATH.PROJECT): log.info("freezing %s", freezer) with open(PATH.LAST_UPDATE, 'w', encoding='utf') as f: f.write(date_from_timestamp()) seenUrls = freezer.freeze() log.info("frozen urls are:\n%s", '\n'.join(seenUrls)) cls.copytree(buildPath, PATH.RENDERED) cls.deliver_static_root_files() cls.remove_clutter() cls.write_bbcode_sources() if not INFO.IS_DEV_BOX: AdfdFixStagingPaths.fix_staging_paths() print("ADFD site successfully frozen!")
content_type='html', author='Chris Courtney', url=post.url(_external=True), updated=post.date, published=post.date) return feed.get_response() def deploy(root_dir): conn = boto.connect_s3(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) bucket = conn.get_bucket(DOMAIN) for (root, dirpaths, filepaths) in os.walk(root_dir): for filepath in filepaths: filename = os.path.join(root, filepath) name = filename.replace(root_dir, '', 1)[1:] key = Key(bucket, name) key.set_contents_from_filename(filename) print 'Site is now up on %s' % bucket.get_website_endpoint() if __name__ == '__main__': if len(sys.argv) > 1 and sys.argv[1] == 'build': freezer.freeze() elif len(sys.argv) > 1 and sys.argv[1] == 'deploy': freezer.freeze() deploy('build') else: post_files = [post.filepath for post in blog.posts] app.run(port=8000, debug=True, extra_files=post_files) #post_files was created to allow the creator to automatically update the app locally without having to respin up the local server to account for the new files
from flask.ext.frozen import Freezer from app import blog FREEZER_IGNORE_MIMETYPE_WARNINGS = True FREEZER_DESTINATION='/data/web/blog/build' FREEZER_BASE_URL = '/data/web/blog' freezer = Freezer(blog) if __name__ == '__main__': freezer.freeze()
from flask.ext.frozen import Freezer from yalgaar.yalgaar import app from yalgaar.data.collect_tweets import collect_tweets f = Freezer(app) if __name__ == '__main__': #first get fresh tweets collect_tweets(tweet_type='recent', hashtag='#SaveTheInternet', limit=100) collect_tweets(tweet_type='popular', hashtag='#SaveTheInternet', limit=100) #now freeze them! f.freeze()
def main(self): freezer = Freezer(app) freezer.freeze()
def freeze(): from flask.ext.frozen import Freezer freezer = Freezer(flask.current_app) freezer.freeze()
def freeze(): freezer = Freezer(current_app) freezer.freeze()
from flask.ext.frozen import Freezer from yalgaar import app f = Freezer(app) if __name__ == '__main__': f.freeze()