mirror of
https://github.com/OpenFOAM/ThirdParty-6.git
synced 2025-12-08 06:57:43 +00:00
88 lines
2.3 KiB
Python
88 lines
2.3 KiB
Python
#==============================================================================
|
|
#
|
|
# Program: ParaView
|
|
# Module: build.py
|
|
#
|
|
# Copyright (c) Kitware, Inc.
|
|
# All rights reserved.
|
|
# See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
|
|
#
|
|
# This software is distributed WITHOUT ANY WARRANTY; without even
|
|
# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
# PURPOSE. See the above copyright notice for more information.
|
|
#
|
|
#==============================================================================
|
|
try:
|
|
import argparse
|
|
except ImportError:
|
|
# since Python 2.6 and earlier don't have argparse, we simply provide
|
|
# the source for the same as _argparse and we use it instead.
|
|
import _argparse as argparse
|
|
|
|
import shutil
|
|
import StringIO
|
|
import string
|
|
import os
|
|
from datetime import date
|
|
|
|
import rjsmin
|
|
import rcssmin
|
|
|
|
parser = argparse.ArgumentParser(description="Concatenation and minimize Javascript files")
|
|
parser.add_argument('-b', help="Javascript banner")
|
|
parser.add_argument('-v', help="Version string to add to the header")
|
|
parser.add_argument('-i', nargs='*', help="Files to concatenate and minimize")
|
|
parser.add_argument('-o', help="Output file")
|
|
parser.add_argument('-m', help="Minimized output file")
|
|
|
|
args = parser.parse_args()
|
|
|
|
output = StringIO.StringIO()
|
|
|
|
isJavaScript = (args.o[-3:] == '.js')
|
|
|
|
# read in files
|
|
for file in args.i:
|
|
with open(file, 'r') as fp:
|
|
output.write(fp.read())
|
|
|
|
# Generate banner
|
|
with open(args.b, 'r') as fp:
|
|
template = string.Template(fp.read())
|
|
d = date.today()
|
|
vars = dict(version=args.v,
|
|
date=d.strftime("%Y-%m-%d"),
|
|
year=d.strftime("%Y"))
|
|
banner = template.substitute(vars)
|
|
|
|
# write output to file
|
|
dest_dir = os.path.dirname(args.m)
|
|
if not os.path.exists(dest_dir):
|
|
try:
|
|
os.makedirs(dest_dir);
|
|
except OSError, e:
|
|
if e.errno != 17:
|
|
raise
|
|
|
|
with open(args.m,"w") as fp:
|
|
fp.write(banner)
|
|
fp.write(output.getvalue())
|
|
|
|
# write minimized output to file
|
|
dest_dir = os.path.dirname(args.o)
|
|
if not os.path.exists(dest_dir):
|
|
try:
|
|
os.makedirs(dest_dir);
|
|
except OSError, e:
|
|
if e.errno != 17:
|
|
raise
|
|
|
|
if isJavaScript:
|
|
with open(args.o,"w") as fp:
|
|
fp.write(banner)
|
|
fp.write(rjsmin.jsmin(output.getvalue()))
|
|
else:
|
|
with open(args.o,"w") as fp:
|
|
fp.write(banner)
|
|
fp.write(rcssmin.cssmin(output.getvalue()))
|