diff options
author | Trevor Elliott <trevor@galois.com> | 2013-05-16 14:28:25 -0700 |
---|---|---|
committer | Trevor Elliott <trevor@galois.com> | 2013-05-16 14:28:25 -0700 |
commit | d316614847c16569da34a42e808dfb332fc6b6c9 (patch) | |
tree | 1d76a49c647c645d4513ab970b500f3c7b6a0cf1 /tools/bin/css-bundle.py | |
parent | b4f01ad9fa584c77fe6b2a6f55a9e5c00a701e58 (diff) |
Remove google closure, and start reworking the build system
Squashed commit of the following:
commit 446aae2afd089c28abd1d03a5fd20d4735837e16
Author: Trevor Elliott <trevor@galois.com>
Date: Thu May 16 11:50:17 2013 -0700
stage-dir doesn't need to be cleaned
Since everything goes into a common build tree now, cleaning just
involves removing the entire build tree.
commit d8f531ddf8ee1406ec915502c28dc0eb3912d0ee
Author: Trevor Elliott <trevor@galois.com>
Date: Thu May 16 11:47:10 2013 -0700
Switch to placing build artifacts in a build tree
commit 9eedeec8d6a1012b1b7e466120260276b1e952d4
Author: Trevor Elliott <trevor@galois.com>
Date: Thu May 16 11:35:01 2013 -0700
Remove the closure_compiler and closure_linter
commit 5784158cf2cd55f0ffd01147ae014379ecc857fd
Author: Trevor Elliott <trevor@galois.com>
Date: Thu May 16 11:34:27 2013 -0700
Move the scripts in build to tools/bin
commit 64a6a53ea0fd5e299e9d17c0e4f8fedf305272dc
Author: Trevor Elliott <trevor@galois.com>
Date: Thu May 16 11:27:55 2013 -0700
Build jsdoc
Also, remove the old Makefiles that were in doc, as they're not necessary
anymore.
commit 1ef0d9e39cd4a24807ee6ca956fbc627fb851b9d
Author: Trevor Elliott <trevor@galois.com>
Date: Thu May 16 11:18:59 2013 -0700
Conditionally build the manual
commit c326c58059e0d5035edecfd6261ee42797c49c2c
Author: Trevor Elliott <trevor@galois.com>
Date: Thu May 16 11:13:31 2013 -0700
Get the html manual building again
commit 480fa132ffb0562eb3f61d45d79d3315b1d3cc29
Author: Trevor Elliott <trevor@galois.com>
Date: Thu May 16 11:13:01 2013 -0700
Move doc specific .gitignore stuff to doc/.gitignore
commit 8c108d4e0df848839bcd6b4c22d623053f590e95
Author: Trevor Elliott <trevor@galois.com>
Date: Wed May 15 10:42:41 2013 -0700
Fix some path inconsistencies in the contexts build.mk
commit ee53404be09cf26983365374da84ade564b92926
Author: Trevor Elliott <trevor@galois.com>
Date: Wed May 15 10:37:40 2013 -0700
Preliminary build system changes
* Chrome extension builds, but there are problems
commit 474c6b88190787aeffd960ffb5855d31770e7141
Author: Trevor Elliott <trevor@galois.com>
Date: Mon May 13 19:06:31 2013 -0700
Remove the closure toolkit
Diffstat (limited to 'tools/bin/css-bundle.py')
-rwxr-xr-x | tools/bin/css-bundle.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tools/bin/css-bundle.py b/tools/bin/css-bundle.py new file mode 100755 index 0000000..b94d7cf --- /dev/null +++ b/tools/bin/css-bundle.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python + +# WARNING: Use at your own risk! +# +# Software distributed under the License is distributed +# on an ''AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either +# express or implied. See the GPL for the specific language +# governing rights and limitations. +# +# This program is free software: you can redistribute it +# and/or modify it under the terms of the PYTHON SOFTWARE +# FOUNDATION LICENSE VERSION 2 licence. The full text of +# the licence can be found at:- +# http://www.opensource.org/licenses/PythonSoftFoundation.php +# +# Copyright Sajal Kayan + +""" +Takes a raw css file and generates a new css with static assets bundled directly into it +usage : ./css-bundle.py <source css file url> <final destination> + +""" + +import sys +import urllib +import re +import base64 + +source_file = sys.argv[1] +destination_file = sys.argv[2] + +print source_file, destination_file + +oldcss = urllib.urlopen(source_file).read() +assets = re.findall("url\(([^\)]*)[\)]", oldcss) +assets = list(set(assets)) + +#assets = [asset.replace('"','').replace("'",'') for asset in assets] +assets = [[asset, base64.b64encode(urllib.urlopen(asset.replace('"','').replace("'",'')).read())] for asset in assets] +newcss = oldcss +for asset in assets: + filetype = asset[0].split('.')[-1] + datauri = 'data:image/' + filetype + ';base64,' + asset[1] +# print datauri, '\n\n' + newcss = newcss.replace(asset[0], datauri) + +# filename = destination_file.split('/')[-1] +filename = destination_file +print "writing to : " + filename + +f = open(filename, 'w') +f.write(newcss) +f.close() |