############################################################################### # # The MIT License (MIT) # # Copyright (c) Tavendo GmbH # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. # ############################################################################### ## Image file names to process SVG_FILES = [ ] ## Directory with image files to process IMG_SOURCE_DIR = "design" ## Processed image files are placed here IMG_GEN_DIR = "_static/img/gen" ## Directory to upload DOCSDIR = '_build' ## Contains fingerprints of uploaded files UPLOADED = '_build_uploaded' ## The Tavendo S3 Bucket to upload to BUCKET = 'autobahn.ws' ## The Bucket Prefix to upload files to BUCKET_PREFIX = 'python' ## Tavendo shared static assets CSTATIC = "//tavendo-common-static.s3-eu-west-1.amazonaws.com" CSTATIC_LOCAL = "http://127.0.0.1:8888" ### END OF CONFIG ############################################################# import os import json import pkg_resources os.environ['PYTHONPATH'] = '../autobahn' taschenmesser = pkg_resources.resource_filename('taschenmesser', '..') #taschenmesser = "../../../infrequent/taschenmesser" AddOption('--no_network', dest = 'no_network', action = 'store_true', default = False, help = "Run locally and disable anything doing network access") env = Environment(tools = ['default', 'taschenmesser'], toolpath = [taschenmesser], ENV = os.environ) ## Process SVGs ## imgs = env.process_svg(SVG_FILES, IMG_SOURCE_DIR, IMG_GEN_DIR) Alias("img", imgs) ## Sphinx Build ## if GetOption('no_network'): print("Building for no network") docs = env.Command(DOCSDIR, [], 'sphinx-build -A no_network=1 -D no_network=1 -A cstatic="{}" -b html . $TARGET'.format(CSTATIC_LOCAL)) else: docs = env.Command(DOCSDIR, [], 'sphinx-build -A cstatic="{}" -b html . $TARGET'.format(CSTATIC)) # sphinx-build -b spelling . _spelling env.AlwaysBuild(docs) Clean(docs, DOCSDIR) Alias("doc", docs) Default([imgs, docs]) ## Upload to Amazon S3 ## uploaded = env.s3_dir_uploader(UPLOADED, DOCSDIR, BUCKET, BUCKET_PREFIX) Depends(uploaded, docs) Depends(uploaded, imgs) Clean(uploaded, UPLOADED) Alias("publish", uploaded)