forked from osmocom/wireshark
Doc: Port make-authors-short to Python3.
Port the script that creates AUTHORS-SHORT to Python3. Ping #18152.
This commit is contained in:
parent
602e87d6c5
commit
d3e2f1053b
|
@ -11,12 +11,12 @@ find_package( Asciidoctor 1.5 )
|
||||||
|
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT AUTHORS-SHORT
|
OUTPUT AUTHORS-SHORT
|
||||||
COMMAND ${PERL_EXECUTABLE}
|
COMMAND ${PYTHON_EXECUTABLE}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/make-authors-short.pl
|
${CMAKE_CURRENT_SOURCE_DIR}/make-authors-short.py
|
||||||
< ${CMAKE_SOURCE_DIR}/AUTHORS
|
< ${CMAKE_SOURCE_DIR}/AUTHORS
|
||||||
> ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT
|
> ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT
|
||||||
DEPENDS
|
DEPENDS
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/make-authors-short.pl
|
${CMAKE_CURRENT_SOURCE_DIR}/make-authors-short.py
|
||||||
${CMAKE_SOURCE_DIR}/AUTHORS
|
${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