forked from osmocom/wireshark
Doc: Port make-authors-short to Python3.
Port the script that creates AUTHORS-SHORT to Python3. Ping #18152.pespin/osmux-wip
parent
602e87d6c5
commit
d3e2f1053b
|
@ -11,12 +11,12 @@ find_package( Asciidoctor 1.5 )
|
|||
|
||||
add_custom_command(
|
||||
OUTPUT AUTHORS-SHORT
|
||||
COMMAND ${PERL_EXECUTABLE}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/make-authors-short.pl
|
||||
COMMAND ${PYTHON_EXECUTABLE}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/make-authors-short.py
|
||||
< ${CMAKE_SOURCE_DIR}/AUTHORS
|
||||
> ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/make-authors-short.pl
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/make-authors-short.py
|
||||
${CMAKE_SOURCE_DIR}/AUTHORS
|
||||
)
|
||||
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
# Remove tasks from individual author entries from AUTHORS file
|
||||
# for use in the about dialog.
|
||||
#
|
||||
# Copyright 2004 Ulf Lamping <ulf.lamping@web.de>
|
||||
#
|
||||
# Wireshark - Network traffic analyzer
|
||||
# By Gerald Combs <gerald@wireshark.org>
|
||||
# Copyright 1998 Gerald Combs
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#
|
||||
|
||||
use strict;
|
||||
use open qw(:std :utf8);
|
||||
|
||||
my $subinfo=0;
|
||||
my $nextline;
|
||||
|
||||
$_ = <>;
|
||||
s/\xef\xbb\xbf//; # Skip UTF-8 byte order mark
|
||||
print unless /^\n/;
|
||||
|
||||
while (<>) {
|
||||
if (/(.*?)\s*\{/) {
|
||||
$subinfo = 1;
|
||||
print "$1\n";
|
||||
} elsif (/\}/) {
|
||||
$subinfo = 0;
|
||||
if (($nextline = <>) !~ /^[\s]*$/) {
|
||||
print STDERR "No blank line after '}', found: $nextline"
|
||||
if $nextline =~ m/\{/;
|
||||
print $nextline;
|
||||
}
|
||||
} elsif ($subinfo == 1) {
|
||||
next;
|
||||
} else {
|
||||
print;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
#!/usr/bin/env python3
|
||||
#
|
||||
# Generate the AUTHORS-SHORT file.
|
||||
# Ported from make-authors-short.pl, copyright 2004 Ulf Lamping <ulf.lamping@web.de>
|
||||
#
|
||||
# By Gerald Combs <gerald@wireshark.org
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#
|
||||
'''\
|
||||
Remove tasks from individual author entries from the AUTHORS file
|
||||
for use in the "About" dialog.
|
||||
'''
|
||||
|
||||
import io
|
||||
import re
|
||||
import sys
|
||||
|
||||
def main():
|
||||
stdinu8 = io.TextIOWrapper(sys.stdin.buffer, encoding='utf8')
|
||||
stdoutu8 = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8')
|
||||
stderru8 = io.TextIOWrapper(sys.stderr.buffer, encoding='utf8')
|
||||
in_subinfo = False
|
||||
|
||||
# Assume the first line is blank and skip it. make-authors-short.pl
|
||||
# skipped over the UTF-8 BOM as well. Do we need to do that here?
|
||||
|
||||
stdinu8.readline()
|
||||
|
||||
for line in stdinu8:
|
||||
|
||||
sub_m = re.search(r'(.*?)\s*\{', line)
|
||||
if sub_m:
|
||||
in_subinfo = True
|
||||
stdoutu8.write(sub_m.group(1) + '\n')
|
||||
elif '}' in line:
|
||||
in_subinfo = False
|
||||
nextline = next(stdinu8)
|
||||
if not re.match('^\s*$', nextline):
|
||||
if '{' in nextline:
|
||||
stderru8.write("No blank line after '}', found " + nextline)
|
||||
stdoutu8.write(nextline)
|
||||
elif in_subinfo:
|
||||
continue
|
||||
else:
|
||||
stdoutu8.write(line)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Loading…
Reference in New Issue