示例#1
0
    def _get_value(self, json_data, key, default="", convert=True):
        """
        这里的key应该是规则的key
        """
        value = default
        if key in json_data:
            value = json_data[key]
        elif key in self.reverse_key_map:
            for alias_key in self.reverse_key_map[key]:
                if alias_key in json_data:
                    value = json_data[alias_key]
                    match_key = alias_key
                    break

        ret = Utils.format_value(value, convert)

        #余下,可以针对特定key的value,做一些归一化处理
        if key == "release_date":
            if type(ret) is not list:
                ret = ret.replace("00:00:00", "")
                ret = Utils.format_datetime(ret)
            else:
                if len(ret) == 0:
                    return ""
                ret[0] = ret[0].replace("00:00:00", "")
                ret[0] = Utils.format_datetime(ret[0])
        return ret
示例#2
0
    def _transform_scielo(self, json_data):
        if type(json_data["date"]) is list:
            tmp = " ".join(json_data["date"])
        else:
            tmp = json_data["date"]
        dates = tmp.encode("utf-8").replace("\xa0",
                                            " ").replace("\xc2", " ").replace(
                                                ".", "").split()

        if len(dates) == 1:
            date = dates[0]
        else:
            try:
                date = Utils.format_datetime(" ".join(dates[-2:]))
            except Exception:
                try:
                    date = Utils.format_datetime(" ".join(dates[-3:]))
                except Exception:
                    date = "%s-08-01" % dates[-1]

        json_data["release_date"] = date
        return json_data