diff options
Diffstat (limited to 'sources/pyside2/doc/qtattributionsscannertorst.py')
-rw-r--r-- | sources/pyside2/doc/qtattributionsscannertorst.py | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/sources/pyside2/doc/qtattributionsscannertorst.py b/sources/pyside2/doc/qtattributionsscannertorst.py deleted file mode 100644 index ff966b4cf..000000000 --- a/sources/pyside2/doc/qtattributionsscannertorst.py +++ /dev/null @@ -1,131 +0,0 @@ -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of Qt for Python. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -""" -Tool to run qtattributionsscanner and convert its output to rst -""" - -import os, json, subprocess, sys, warnings - -def indent(lines, indent): - result = '' - for l in lines: - result += "{}{}\n".format(indent, l) - return result - -rstHeader="""Licenses Used in Qt for Python -****************************** - -Qt for Python contains some code that is not provided under the -GNU Lesser General Public License (LGPL) or the Qt Commercial License, -but rather under specific licenses from the original authors. -The Qt Company gratefully acknowledges these and other contributions -to Qt for Python. We recommend that programs that use Qt for Python -also acknowledge these contributions, and quote these license -statements in an appendix to the documentation. - -Note: You only need to comply with (and acknowledge) the licenses of -the third-party components that you are using with your application. -Click the name of the component to see the licensing details. - -Third-party Licenses -^^^^^^^^^^^^^^^^^^^^ - -The licenses for the third-party sources used by Qt itself are listed -in -`Qt documentation <http://doc.qt.io/qt-5/licenses-used-in-qt.html>`_. -The following table lists parts of Qt for Python that incorporates -code licensed under third-party opensource licenses: - -""" - -def rstHeadline(title): - return '{}\n{}\n'.format(title, '-' * len(title)) - -def rstUrl(title, url): - return '`{} <{}>`_'.format(title, url) - -def rstLiteralBlock(lines): - return '::\n\n' + indent(lines, ' ') + '\n\n' - -def rstLiteralBlockFromText(text): - return rstLiteralBlock(text.strip().split('\n')) - -def readFile(fileName): - with open(fileName, 'r') as file: - return file.readlines() - -def runScanner(directory, targetFileName): - # qtattributionsscanner recursively searches for qt_attribution.json files - # and outputs them in JSON with the paths of the 'LicenseFile' made absolute - command = 'qtattributionsscanner --output-format json {}'.format(directory) - jsonS = subprocess.check_output(command, shell=True) - if not jsonS: - raise RuntimeError('{} failed to produce output.'.format(command)) - - with open(targetFileName, 'w') as targetFile: - targetFile.write(rstHeader) - for entry in json.loads(jsonS.decode('utf-8')): - content = '{}\n{}\n{}\n\n'.format(rstHeadline(entry['Name']), - entry['Description'], entry['QtUsage']) - url = entry['Homepage'] - version = entry['Version'] - if url and version: - content += '{}, upstream version: {}\n\n'.format( - rstUrl('Project Homepage', url), version) - copyright = entry['Copyright'] - if copyright: - content += rstLiteralBlockFromText(copyright) - content += entry['License'] + '\n\n' - licenseFile = entry['LicenseFile'] - if licenseFile: - if os.path.isfile(licenseFile): - content += rstLiteralBlock(readFile(licenseFile)) - else: - warnings.warn('"{}" is not a file'.format(licenseFile), - RuntimeWarning) - targetFile.write(content) - -if len(sys.argv) < 3: - print("Usage: qtattributionsscannertorst [directory] [file]'") - sys.exit(0) - -directory = sys.argv[1] -targetFileName = sys.argv[2] -runScanner(directory, targetFileName) |