예제 #1
0
    def generate_pot(self, json_root_key):
        """
        Generate and return POT file object
        :param json_root_key: JSON key from RcgJsonKeys class
        :return: POT file object
        """
        pot = POFile(check_for_duplicates=True)
        pot.metadata = METADATA_ENTRY
        pot.metadata_is_fuzzy = 1

        for entry in self.json_content[json_root_key.value]:
            if entry[RcgLanguages.LANG_ENGLISH.value["key"]] != "":
                po_entry = POEntry(
                    msgctxt=entry[LANG_KEY],
                    msgid=entry[RcgLanguages.LANG_ENGLISH.value["key"]],
                )
                try:
                    pot.append(po_entry)
                except ValueError:
                    logging.debug(
                        "Entry {} already exists, skipping...".format(
                            entry[LANG_KEY]))

        return pot