|
34 | 34 | from rich.console import Console |
35 | 35 | from rich.table import Table |
36 | 36 |
|
37 | | -from licensecheck.types import License, PackageInfo, printLicense, ucstr |
| 37 | +from licensecheck.types import License, PackageInfo, ucstr |
38 | 38 |
|
39 | 39 | try: |
40 | 40 | VERSION = version("licensecheck") |
|
43 | 43 | INFO = {"program": "licensecheck", "version": VERSION, "license": "MIT LICENSE"} |
44 | 44 |
|
45 | 45 |
|
| 46 | +def _printLicense(licenseEnum: License) -> str: |
| 47 | + """Output a license as plain text. |
| 48 | +
|
| 49 | + :param License licenseEnum: License |
| 50 | + :return str: license of plain text |
| 51 | + """ |
| 52 | + |
| 53 | + licenseMap = { |
| 54 | + License.PUBLIC: "PUBLIC DOMAIN/ CC-PDDC/ CC0-1.0", |
| 55 | + License.UNLICENSE: "UNLICENSE/ WTFPL", |
| 56 | + License.BOOST: "BOOST/ BSL-1.0", |
| 57 | + License.MIT: "MIT", |
| 58 | + License.BSD: "BSD", |
| 59 | + License.ISC: "ISC", |
| 60 | + License.NCSA: "NCSA", |
| 61 | + License.PSFL: "PYTHON/ PSF-2.0", |
| 62 | + License.APACHE: "APACHE", |
| 63 | + License.ECLIPSE: "ECLIPSE", |
| 64 | + License.ACADEMIC_FREE: "AFL", |
| 65 | + License.LGPL_2_PLUS: "LGPLV2+/ LGPL-2.0-OR-LATER", |
| 66 | + License.LGPL_3_PLUS: "LGPLV3+/ LGPL-3.0-OR-LATER", |
| 67 | + License.LGPL_2: "LGPL-2.0-ONLY/ LGPLV2", |
| 68 | + License.LGPL_3: "LGPL-3.0-ONLY/ LGPLV3", |
| 69 | + License.LGPL_X: "LGPL", |
| 70 | + License.AGPL_3_PLUS: "AGPL", |
| 71 | + License.GPL_2_PLUS: "GPL-2.0-OR-LATER/ GPLV2+", |
| 72 | + License.GPL_3_PLUS: "GPL-3.0-OR-LATER/ GPLV3+", |
| 73 | + License.GPL_2: "GPLV2/ GPL-2.0", |
| 74 | + License.GPL_3: "GPLV3/ GPL-3.0", |
| 75 | + License.GPL_X: "GPL", |
| 76 | + License.MPL: "MPL", |
| 77 | + License.EU: "EUPL", |
| 78 | + License.PROPRIETARY: "PROPRIETARY", |
| 79 | + License.NO_LICENSE: "NO LICENSE/ UNKNOWN", |
| 80 | + } |
| 81 | + |
| 82 | + if licenseEnum not in licenseMap: |
| 83 | + return "NO LICENSE/ UNKNOWN LICENSE" |
| 84 | + |
| 85 | + return f"{licenseMap[licenseEnum]} LICENSE" |
| 86 | + |
| 87 | + |
46 | 88 | def stripAnsi(string: str) -> str: |
47 | 89 | """Strip ansi codes from a given string. |
48 | 90 |
|
@@ -86,7 +128,7 @@ def ansi( |
86 | 128 | table.add_column("Item", style="cyan") |
87 | 129 | table.add_column("Value", style="magenta") |
88 | 130 | _ = [table.add_row(k, v) for k, v in INFO.items()] |
89 | | - table.add_row("project_license", printLicense(myLice)) |
| 131 | + table.add_row("project_license", _printLicense(myLice)) |
90 | 132 |
|
91 | 133 | console.print(table) |
92 | 134 |
|
@@ -169,7 +211,7 @@ def markdown( |
169 | 211 | if hide_parameters is None: |
170 | 212 | hide_parameters = [] |
171 | 213 | info = "\n".join(f"- **{k}**: {v}" for k, v in INFO.items()) |
172 | | - strBuf = [f"## Info\n\n{info}\n\n## Project License\n\n{printLicense(myLice)}\n"] |
| 214 | + strBuf = [f"## Info\n\n{info}\n\n## Project License\n\n{_printLicense(myLice)}\n"] |
173 | 215 |
|
174 | 216 | if len(packages) == 0: |
175 | 217 | return f"{strBuf[0]}\nNo packages" |
@@ -226,7 +268,7 @@ def raw( |
226 | 268 | return json.dumps( |
227 | 269 | { |
228 | 270 | "info": INFO, |
229 | | - "project_license": printLicense(myLice), |
| 271 | + "project_license": _printLicense(myLice), |
230 | 272 | "packages": [x.get_filtered_dict(hide_parameters) for x in packages], |
231 | 273 | }, |
232 | 274 | indent="\t", |
|
0 commit comments