[ Index ]
 

Code source de Kupu-1.3.5

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/tools/ -> compress.py (source)

   1  #!/usr/bin/env python
   2  
   3  """Remove comments, newlines and redundant whitespace from JavaScript code
   4  
   5      This reads all paths that were passed in as arguments on the command-line
   6      and removes everything that is ignored by JavaScript. This makes that
   7      the source isn't readable anymore (which I personally consider bad),
   8      but also that less bytes have to be served by the server, scripts are
   9      loaded faster and also that they're executed faster.
  10      
  11      WARNING: This script converts files in place! Original files will be
  12      overwritten. Do *not* run this on a development version of your code,
  13      since you won't be able to get them back into the original state. This
  14      should be ran only by system administrators if they want to speed up
  15      their setups.
  16  """
  17  
  18  import sys, re
  19  
  20  one_line_comment = re.compile(r'^\s*//.*$', re.M)
  21  trailing_comment = re.compile(r'//(\w|\s)*$', re.M)
  22  multi_line_comment = re.compile(r'^\s*/\*.*?\*/', re.M | re.S)
  23  whitespace_after_separator = re.compile(r';\s*', re.M | re.S)
  24  whitespace_after_opening_bracket = re.compile(r'{\s*', re.M | re.S)
  25  starting_whitespace = re.compile(r'^\s*', re.M | re.S)
  26  
  27  def strip(data):
  28      """Processes the data, removing comments and unecessary whitespace."""
  29      data = one_line_comment.sub('', data)
  30      data = trailing_comment.sub('', data)
  31      data = multi_line_comment.sub('', data)
  32      data = whitespace_after_separator.sub(';', data)
  33      data = whitespace_after_opening_bracket.sub('{', data)
  34      data = starting_whitespace.sub('', data)
  35      return data.strip()
  36  
  37  for file in sys.argv[1:]:
  38      data = open(file).read()
  39      data = strip(data)
  40      open(file, 'w').write(data)


Généré le : Sun Feb 25 15:30:41 2007 par Balluche grâce à PHPXref 0.7