Krita Source Code Documentation
Loading...
Searching...
No Matches
comics_project_management_tools.exporters.CPMT_Comic_Book_Info_Exporter Namespace Reference

Functions

 writeJson (configDictionary={})
 

Detailed Description

SPDX-FileCopyrightText: 2018 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com>

This file is part of the Comics Project Management Tools(CPMT).

SPDX-License-Identifier: GPL-3.0-or-later

Function Documentation

◆ writeJson()

comics_project_management_tools.exporters.CPMT_Comic_Book_Info_Exporter.writeJson ( configDictionary = {})

Definition at line 31 of file CPMT_Comic_Book_Info_Exporter.py.

31def writeJson(configDictionary = {}):
32 basedata = {}
33 metadata = {}
34 authorList = []
35 taglist = []
36 listOfRoles = ["Writer", "Inker", "Creator", "Editor", "Cartoonist", "Colorist", "Letterer", "Penciller", "Painter", "Cover", "Artist"]
37
38 if "authorList" in configDictionary.keys():
39 for authorE in range(len(configDictionary["authorList"])):
40 author = {}
41
42 authorDict = configDictionary["authorList"][authorE]
43 stringName = []
44 if "last-name" in authorDict.keys():
45 stringName.append(authorDict["last-name"])
46 if "first-name" in authorDict.keys():
47 stringName.append(authorDict["first-name"])
48 if "nickname" in authorDict.keys():
49 stringName.append("(" + authorDict["nickname"] + ")")
50 author["person"] = ",".join(stringName)
51 if "role" in authorDict.keys():
52 role = str(authorDict["role"]).title()
53 if "editor" in role.lower():
54 role = "Editor"
55 if "cover" in role.lower():
56 role = "Cover"
57 if role in listOfRoles:
58 author["role"] = role
59 authorList.append(author)
60
61 if "characters" in configDictionary.keys():
62 for character in configDictionary["characters"]:
63 taglist.append(character)
64 if "format" in configDictionary.keys():
65 for item in configDictionary["format"]:
66 taglist.append(item)
67 if "otherKeywords" in configDictionary.keys():
68 for item in configDictionary["otherKeywords"]:
69 taglist.append(item)
70
71 if "seriesName" in configDictionary.keys():
72 metadata["series"] = configDictionary["seriesName"]
73 if "title" in configDictionary.keys():
74 metadata["title"] = configDictionary["title"]
75 else:
76 metadata["title"] = "Unnamed comic"
77 if "publisherName" in configDictionary.keys():
78 metadata["publisher"] = configDictionary["publisherName"]
79 if "publishingDate" in configDictionary.keys():
80 date = QDate.fromString(configDictionary["publishingDate"], Qt.DateFormat.ISODate)
81 metadata["publicationMonth"] = date.month()
82 metadata["publicationYear"] = date.year()
83 if "seriesNumber" in configDictionary.keys():
84 metadata["issue"] = configDictionary["seriesNumber"]
85 if "seriesVolume" in configDictionary.keys():
86 metadata["volume"] = configDictionary["seriesVolume"]
87 if "genre" in configDictionary.keys():
88 if isinstance(configDictionary["genre"], dict):
89 listKeys = []
90 for key in configDictionary["genre"].keys():
91 listKeys.append(key)
92 metadata["genre"] = listKeys
93 else:
94 metadata["genre"] = configDictionary["genre"]
95 if "language" in configDictionary.keys():
96 metadata["language"] = QLocale.languageToString(QLocale(configDictionary["language"]).language())
97
98 metadata["credits"] = authorList
99
100 metadata["tags"] = taglist
101 if "summary" in configDictionary.keys():
102 metadata["comments"] = configDictionary["summary"]
103 else:
104 metadata["comments"] = "File generated without summary"
105
106 #
107
108 basedata["appID"] = "Krita"
109 basedata["lastModified"] = QDateTime.currentDateTimeUtc().toString(Qt.DateFormat.ISODate)
110 basedata["ComicBookInfo/1.0"] = metadata
111
112
113 return json.dumps(basedata)