mirror of
https://github.com/open-source-parsers/jsoncpp.git
synced 2025-04-24 00:57:05 +02:00

Google advises its employees to add Google Inc. as an author, but that hasn't been done yet and would be super inconvenient. So instead I've refactored the file to refer to "The JsonCpp Authors", which are listed in the AUTHORS file. The AUTHORS file itself is generated via: git log --pretty="%an <%ae>%n%cn <%ce>" | sort | uniq Plus the addition of "Google Inc." as a copyright author. (Google owns the work of anyone contributing from an @google.com address, for example.) The list contains some probable duplicates where people have used more than one email address. I didn't deduplicate because -- well, who's to say they're duplicates, anyway? :)
71 lines
2.2 KiB
Python
71 lines
2.2 KiB
Python
# Copyright 2010 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()
|