mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-30 09:53:10 +00:00
b2c2a3ae91
As part of an goal to eliminate Perl from libvirt build tools, rewrite the minimize-po.pl tool in Python. This was a straight conversion, manually going line-by-line to change the syntax from Perl to Python. Thus the overall structure of the file and approach is the same. Reviewed-by: Ján Tomko <jtomko@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
57 lines
1.5 KiB
Python
Executable File
57 lines
1.5 KiB
Python
Executable File
#!/usr/bin/env python
|
|
#
|
|
# Copyright (C) 2018-2019 Red Hat, Inc.
|
|
#
|
|
# This library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation; either
|
|
# version 2.1 of the License, or (at your option) any later version.
|
|
#
|
|
# This library is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with this library. If not, see
|
|
# <http://www.gnu.org/licenses/>.
|
|
|
|
from __future__ import print_function
|
|
|
|
import re
|
|
import sys
|
|
|
|
block = []
|
|
msgstr = False
|
|
empty = False
|
|
unused = False
|
|
fuzzy = False
|
|
|
|
for line in sys.stdin:
|
|
if line.isspace():
|
|
if not empty and not unused and not fuzzy:
|
|
for b in block:
|
|
print(b, end='')
|
|
|
|
block = []
|
|
msgstr = False
|
|
fuzzy = False
|
|
block.append(line)
|
|
else:
|
|
if line.startswith("msgstr"):
|
|
msgstr = True
|
|
empty = True
|
|
|
|
if line[0] == '#' and "fuzzy" in line:
|
|
fuzzy = True
|
|
if line.startswith("#~ msgstr"):
|
|
unused = True
|
|
if msgstr and re.search(r'".+"', line):
|
|
empty = False
|
|
|
|
block.append(line)
|
|
|
|
if not empty and not unused and not fuzzy:
|
|
for b in block:
|
|
print(b, end='')
|