Blame view

3rdparty/jsoncpp-1.9.5/devtools/fixeol.py 2.17 KB
09c2d08c   Hu Chunming   arm交付版
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
  # Copyright 2010 Baptiste Lepilleur and The JsonCpp Authors
  # Distributed under MIT license, or public domain if desired and
  # recognized in your jurisdiction.
  # See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
  
  from __future__ import print_function
  import os.path
  import sys
  
  def fix_source_eol(path, is_dry_run = True, verbose = True, eol = '\n'):
      """Makes sure that all sources have the specified eol sequence (default: unix)."""
      if not os.path.isfile(path):
          raise ValueError('Path "%s" is not a file' % path)
      try:
          f = open(path, 'rb')
      except IOError as msg:
          print("%s: I/O Error: %s" % (file, str(msg)), file=sys.stderr)
          return False
      try:
          raw_lines = f.readlines()
      finally:
          f.close()
      fixed_lines = [line.rstrip('\r\n') + eol for line in raw_lines]
      if raw_lines != fixed_lines:
          print('%s =>' % path, end=' ')
          if not is_dry_run:
              f = open(path, "wb")
              try:
                  f.writelines(fixed_lines)
              finally:
                  f.close()
          if verbose:
              print(is_dry_run and ' NEED FIX' or ' FIXED')
      return True
  ##
  ##
  ##
  ##def _do_fix(is_dry_run = True):
  ##    from waftools import antglob
  ##    python_sources = antglob.glob('.',
  ##        includes = '**/*.py **/wscript **/wscript_build',
  ##        excludes = antglob.default_excludes + './waf.py',
  ##        prune_dirs = antglob.prune_dirs + 'waf-* ./build')
  ##    for path in python_sources:
  ##        _fix_python_source(path, is_dry_run)
  ##
  ##    cpp_sources = antglob.glob('.',
  ##        includes = '**/*.cpp **/*.h **/*.inl',
  ##        prune_dirs = antglob.prune_dirs + 'waf-* ./build')
  ##    for path in cpp_sources:
  ##        _fix_source_eol(path, is_dry_run)
  ##
  ##
  ##def dry_fix(context):
  ##    _do_fix(is_dry_run = True)
  ##
  ##def fix(context):
  ##    _do_fix(is_dry_run = False)
  ##
  ##def shutdown():
  ##    pass
  ##
  ##def check(context):
  ##    # Unit tests are run when "check" target is used
  ##    ut = UnitTest.unit_test()
  ##    ut.change_to_testfile_dir = True
  ##    ut.want_to_see_test_output = True
  ##    ut.want_to_see_test_error = True
  ##    ut.run()
  ##    ut.print_results()