示例#1
0
	def default(self, obj):
		if isinstance(obj, User):
			dic={'login':obj.login,'p':obj.p,'name':obj.name,'logged':obj.logged}
			return dic
		if isinstance(obj, Repository):
			dic={'org':obj.org,'name':obj.name,'directory':obj.directory,'json_exists':obj.json_exists,'exists':obj.exists,'content':obj.content,'file_name':obj.file_name}
			return dic
		else:
			JSONEncoder.default(self, obj)
示例#2
0
    def default(self, obj):
        if isinstance(obj, date):
            return dateutil.simple_format_date(obj)
        elif isinstance(obj, datetime):
            return dateutil.simple_format_datetime(obj)
        elif isinstance(obj, Iterable) and not isinstance(obj, (dict, list, set)):
            # 这个实现可能有问题
            return JSONEncoder.default(self, list(obj))

        return JSONEncoder.default(self, obj)
示例#3
0
 def default(self, obj):
     from datatypes import User
     app.logger.debug("running custom jsonencoder")
     if isinstance(obj, User):
         # Implement code to convert Passport object to a dict
         user_dict = {"name": obj.displayName(), "userID": obj.userID, "isAdmin": obj.isAdmin,
                      "isMCRMember": obj.isMCRMember,
                      "isAssociateMember": obj.isAssociateMember, "isCRA": obj.isCRA,
                      "isCollegeBill": obj.isCollegeBill}
         return user_dict
     else:
         JSONEncoder.default(self, obj)
示例#4
0
 def default(self, obj):
     try:
         if isinstance(obj, date):
             return JSONEncoder.default(
                 self,
                 datetime(obj.year, obj.month, obj.day))
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
 def default(self, obj):
     if isinstance(obj, Character):
         return obj.__dict__
     elif isinstance(obj, Weapon):
         return obj.__dict__
     else:
         return JSONEncoder.default(self, obj)
 def default(self, o):
     if isinstance(o, Segment):
         return {
             'id': o.id,
             'text_id': o.text_id,
             'slug': o.slug,
             'content': xml_transform(o.content),
         }
     elif isinstance(o, Text):
         return {
             'id': o.id,
             'name': o.name,
             'slug': o.slug,
             'xmlid_prefix': o.xmlid_prefix
         }
     elif isinstance(o, Card):
         return {
             'primary': self.default(o.primary),
             'translations': [self.default(x) for x in o.translations],
             'commentaries': [self.default(x) for x in o.commentaries],
         }
     elif isinstance(o, ChildCard):
         return {
             'text_id': o.text_id,
             'segments': [self.default(x) for x in o.segments],
         }
     return JSONEncoder.default(self, o)
示例#7
0
文件: app.py 项目: sharmaudi/myrepo
    def default(self, obj):
        try:
            if isinstance(obj, datetime):
                if obj.utcoffset() is not None:
                    obj = obj - obj.utcoffset()
                millis = int(
                        calendar.timegm(obj.timetuple()) * 1000 +
                        obj.microsecond / 1000
                )
                return millis

            if isinstance(obj, date):
                millis = int(
                        calendar.timegm(obj.timetuple()) * 1000

                )
                return millis

            if isinstance(obj, np.int64):
                val = int(obj)
                return val
            iterable = iter(obj)
        except TypeError:
            pass
        else:
            return list(iterable)
        return JSONEncoder.default(self, obj)
示例#8
0
 def default(self, obj):
     try:
         if isinstance(obj, datetime):
             return serialize_datatime(obj)
     except TypeError:
         pass
     return JSONEncoder.default(self, obj)
示例#9
0
 def default(self, obj):
     if isinstance(obj, datetime):
         if obj.utcoffset() is not None:
             obj = obj - obj.utcoffset()
         return str(obj)
     else:
         return JSONEncoder.default(self, obj)
 def default(self, obj):
     if isinstance(obj, ObjectId):
         return json_util.dumps(obj)
     elif isinstance(obj, datetime.datetime):
         return calendar.timegm(obj.utctimetuple())*1000
     else:
         return JSONEncoder.default(self, obj)
示例#11
0
    def default(self, o):  # pylint: disable=method-hidden
        """Convert unserializable types for JSON encoding."""
        if isinstance(o, datetime):
            # Stuffr uses ISO dates
            return o.isoformat()

        return JSONEncoder.default(self, o)
示例#12
0
文件: Map.py 项目: Ipukema/PokeStats
    def default(self, obj):
        try:
            if isinstance(obj, datetime):
                if obj.utcoffset() is not None:
                    obj = obj - obj.utcoffset()
                millis = int(
                    calendar.timegm(obj.timetuple()) * 1000 +
                    obj.microsecond / 1000
                )
                return millis

            if isinstance(obj, sqlalchemy.orm.state.InstanceState):
                return ""

            if isinstance(obj, ScannerStatistic):
                return ""
            if isinstance(obj, ScannerLocation):
                return ""

            iterable = iter(obj)
        except TypeError:
            pass
        else:
            return list(iterable)
        return JSONEncoder.default(self, obj)
示例#13
0
 def default(self, o):
     if isinstance(o, PersistentID):
         return o.hex
     elif isinstance(o, Enum):
         return o.name
     else:
         return FlaskJSONEncoder.default(self, o)
示例#14
0
文件: utils.py 项目: Bekt/flask-start
 def default(self, obj):
     if hasattr(obj, 'to_json') and hasattr(obj.to_json, '__call__'):
         return obj.to_json()
     if isinstance(obj, datetime):
         return obj.isoformat()
     if isinstance(obj, int) and obj >= (1 << 31):
         return str(obj)
     return JSONEncoder.default(self, obj)
示例#15
0
 def default(self, o):
     if isinstance(o, datetime.date):
         if isinstance(o, datetime.datetime):
             return str(o.replace(microsecond=0))
         return str(o)
     if hasattr(o, 'as_dict'):
         return o.as_dict()
     return JSONEncoder.default(self, o)
示例#16
0
文件: _flask.py 项目: PyFansLi/chiki
 def default(self, obj):
     if hasattr(obj, '__getitem__') and hasattr(obj, 'keys'):
         return dict(obj)
     if isinstance(obj, datetime.datetime):
         return obj.strftime('%Y-%m-%d %H:%M:%S')
     if isinstance(obj, ObjectId):
         return str(obj)
     return _JSONEncoder.default(self, obj)
示例#17
0
 def default(self, obj):
     try:
         if isinstance(obj, Activity):
             return obj.serialize()
     except TypeError:
         pass
     else:
         return JSONEncoder.default(self, obj)
示例#18
0
	def default(self, o):
		if hasattr(o, '__getitem__') and hasattr(o, 'keys'):
			return dict(o)

		if isinstance(o ,datetime.datetime):
			return o.strftime('%Y-%m-%d %H:%M:%S')

		return _JSONEncoder.default(self, o)
示例#19
0
 def default(self, obj):
     try:
         if isinstance(obj, Decimal):
             if obj % 2 in (Decimal(0), Decimal(1)):
                 return int(obj)
             return float(obj)
     except TypeError:
         pass
     return JSONEncoder.default(self, obj)
示例#20
0
 def default(self, o):
     if isinstance(o, time.struct_time):
        return "{}/{}/{} {}:{}:{}".format(o.tm_mon,
                                          o.tm_mday,
                                          o.tm_year,
                                          o.tm_hour,
                                          o.tm_min,
                                          o.tm_sec)
     return JSONEncoder.default(self, o)
示例#21
0
 def default(self, obj):
     if isinstance(obj, Workflow):
         return self._workflow_to_dict(obj)
     elif isinstance(obj, logging.LogRecord):
         return self._logrecord_to_dict(obj)
     elif isinstance(obj, Event):
         return self._event_to_dict(obj)
     else:
         return JSONEncoder.default(self, obj)
示例#22
0
 def default(self, obj):
     try:
         if isinstance(obj, datetime.date):
             return obj.isoformat()
     except TypeError:
         pass
     #else:
     #    return list(iterable)
     return JSONEncoder.default(self, obj)
示例#23
0
 def default(self, obj):
     try:
         if isinstance(obj, datetime):
             return obj.strftime("%Y/%m/%d")
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#24
0
 def default(self, obj):
     try:
         if isinstance(obj, Enum):
             return obj.value
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#25
0
 def default(self, obj):
   try:
     if isinstance(obj, Email):
       return obj.to_json()
     iterable = iter(obj)
   except TypeError:
     pass
   else:
     return list(iterable)
   return JSONEncoder.default(self, obj)
示例#26
0
 def default(self, obj):
     try:
         if isinstance(obj, datetime):
             return int(time.mktime(obj.timetuple())) * 1000 + obj.microsecond / 1000
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#27
0
 def default(self, o):
     try:
         if isinstance(o, datetime):
             return o.strftime("%Y-%m-%dT%H:%M:%S%z")
         iterable = iter(o)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, o)
示例#28
0
 def default(self, obj):
     try:
         if isinstance(obj, Arrow):
             return obj.timestamp
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#29
0
 def default(self, obj):
     try:
         if isinstance(obj, Mol):
             return MolToMolBlock(obj)
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#30
0
    def default(self, obj):
        if isinstance(obj, ndb.Key):
            return obj.id()
        elif isinstance(obj, ndb.Model):
            # call model's to_dict() and tack on the id as well
            return dict(obj.to_dict(), **dict(id=obj.key.id()))
        elif isinstance(obj, (datetime, date, time)):
            return str(obj)  # todo: make sure this is what we want

        return JSONEncoder.default(self, obj)
示例#31
0
 def default(self, obj):
     try:
         if isinstance(obj, datetime):
             if obj is None:
                 return None
             return date.to_iso8601(obj)
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#32
0
 def default(self, obj):
     if isinstance(obj, datetime):
         return obj.strftime("%Y-%m-%dT%H:%M:%S")
     elif isinstance(obj, date):
         return obj.strftime('%Y-%m-%d')
     elif isinstance(obj, time):
         return obj.strftime('%H:%M:%S')
     elif isinstance(obj, timedelta):
         return {'day': obj.days, 'seconds': obj.seconds}
     elif isinstance(obj, ObjectId):
         return str(obj)
     return JSONEncoder.default(self, obj)
示例#33
0
 def default(self, obj):
     try:
         if isinstance(obj, datetime):
             return obj.strftime(ISO_DATETIME)
         if isinstance(obj, date):
             return obj.strftime(ISO_DATE)
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#34
0
 def default(self, obj):
     try:
         if isinstance(obj, datetime):
             # bokeh graphs need milliseconds since epoch as the datetime
             return (obj -
                     datetime.utcfromtimestamp(0)).total_seconds() * 1000
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#35
0
 def default(self, obj):
     try:
         if isinstance(obj, Device):
             deviceDict = obj.__dict__
             deviceDict['_type'] = obj.__class__.__name__
             return deviceDict
         iterable = iter(obj)
     except TypeError:
         print type(obj)
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#36
0
 def default(self, obj):
     try:
         if isinstance(obj, date):
             return obj.isoformat()
         if isinstance(obj, Base):
             return obj.as_dict()
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#37
0
文件: encoder.py 项目: kiditz/teachme
	def default(self, obj):
		try:
			if isinstance(obj, (bytes, bytearray)):
				return obj.decode("ASCII")
			elif isinstance(obj, Decimal):
				return float(obj)
			elif isinstance(obj, datetime):
				millis = int(time.mktime(obj.timetuple()) * 1000)
				return millis
		except TypeError:
			raise
		return JSONEncoder.default(self, obj)
示例#38
0
 def default(self, obj):
     try:
         if isinstance(obj, date):
             return obj.isoformat()
         elif isinstance(obj, Enum):
             return obj.name
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#39
0
 def default(self, obj):
     try:
         if isinstance(obj, GerritUser):
             return {
                 'id': obj.id,
                 'name': obj.name,
                 'username': obj.username,
                 'avatars': obj.avatars
             }
     except TypeError:
         pass
     return JSONEncoder.default(self, obj)
示例#40
0
    def default(self, obj: typing.Any):
        """
        allows handling to set as list and decimals as int for flask json encoder

        :param obj: object to serialize
        :return: object json encoded
        """
        if isinstance(obj, set):
            return list(obj)
        if isinstance(obj, Decimal):
            return int(obj)
        return JSONEncoder.default(self, obj)
示例#41
0
 def default(self, obj):
     try:
         if isinstance(obj, datetime):
             return obj.strftime('%Y-%m-%d %H:%M:%S')
         elif isinstance(obj, date):
             return obj.strftime('%Y-%m-%d')
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#42
0
文件: __init__.py 项目: via-ya/apizen
 def default(self, obj):
     try:
         if isinstance(obj, datetime):
             return obj.strftime(CustomJSONEncoder.datetime_format)
         elif isinstance(obj, Decimal):
             # 不转换为float是为了防止精度丢失
             return str(obj)
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#43
0
 def default(self, obj):
     try:
         if isinstance(obj, date):
             if obj.hour != 0:  # ToDo: fix this work around
                 return Converter.datetime2str(obj)
             else:
                 return Converter.convert(obj, Types.TYPE_STRING)
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#44
0
 def default(self, obj):
     try:
         if isinstance(obj, datetime):
             if obj.utcoffset() is not None:
                 obj = obj - obj.utcoffset()
             # Convert datetime to POSIX timestamp in milliseconds.
             return int(obj.replace(tzinfo=timezone.utc).timestamp() * 1000)
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#45
0
 def default(self, o):
     try:
         if isinstance(o, (datetime, date, time)):
             return o.isoformat()
         if isinstance(o, ObjectId):
             return str(o)
         else:
             iterable = iter(o)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, o)
示例#46
0
 def default(self, obj):
     try:
         if isinstance(obj, datetime):
             return obj.isoformat(sep=' ')
         elif isinstance(obj, CSRFError):
             print(obj)
             return obj
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#47
0
 def default(self, obj):
     if isinstance(obj, User):
         dic = {
             'login': obj.login,
             'p': obj.p,
             'name': obj.name,
             'logged': obj.logged
         }
         return dic
     if isinstance(obj, Repository):
         dic = {
             'org': obj.org,
             'name': obj.name,
             'directory': obj.directory,
             'json_exists': obj.json_exists,
             'exists': obj.exists,
             'content': obj.content,
             'file_name': obj.file_name
         }
         return dic
     else:
         JSONEncoder.default(self, obj)
示例#48
0
 def default(self, o):  # pylint: disable=E0202
     if isinstance(o, (time, date, datetime)):
         return o.isoformat()
     elif isinstance(o, (timedelta)):
         hours, minutes = convert_timedelta(o)
         hours = hours.zfill(2)
         minutes = minutes.zfill(2)
         data = '{}:{}'.format(hours, minutes)
         return data
     elif isinstance(o, (bytes)):
         o = o.decode('utf-8')
         return str(o)
     return JSONEncoder.default(self, o)
示例#49
0
 def default(self, obj):
     try:
         # convert all dates to the ISO format (assume UTC without timezone)
         if isinstance(obj, datetime):
             return obj.isoformat() + 'Z'
         elif isinstance(obj, date):
             return obj.isoformat()
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#50
0
 def default(self, obj):
     if isinstance(obj, datetime):
         return obj.replace(tzinfo=SimpleUTC()).isoformat()
     elif isinstance(obj, date):
         return obj.isoformat()
     elif isinstance(obj, timedelta):
         return str(obj)
     elif isinstance(obj, UUID):
         return str(obj)
     elif isinstance(obj, db.Model):
         return obj.cols_dict()
     else:
         return JSONEncoder.default(obj)
示例#51
0
 def default(self, obj):
     if isinstance(obj, (ObjectId, DBRef)):
         return str(obj)
     if isinstance(obj, datetime):
         return float(calendar.timegm(obj.utctimetuple()))
     if isinstance(obj, UUID):
         return str(obj)
     if isinstance(obj,
                   (set, ValuesView)):  # ValuesView is e.g. dict_values
         return list(obj)
     if isinstance(obj, (Cursor, QuerySet)):
         return list(obj)
     return JSONEncoder.default(self, obj)
示例#52
0
 def default(self, obj):
     try:
         if isinstance(obj, decimal.Decimal):
             # wanted a simple yield str(o) in the next line,
             # but that would mean a yield on the line with super(...),
             # which wouldn't work (see my comment below), so...
             return (str(o) for o in [obj])
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#53
0
 def default(self, obj):
     try:
         if isinstance(obj, datetime):
             if obj.utcoffset() is not None:
                 obj = obj - obj.utcoffset()
             millis = int(calendar.timegm(obj.timetuple()) - 28800)
             return millis
         iterable = iter(obj)
     except TypeError:
         pass
     else:
         return list(iterable)
     return JSONEncoder.default(self, obj)
示例#54
0
    def default(self, obj):
        try:
            if isinstance(obj, BaseModel):
                return obj.__dict__()
            if isinstance(obj, date):
                return obj.strftime('%Y-%m-%d')
            iterable = iter(obj)
        except TypeError:
            pass
        else:
            return list(iterable)

        return JSONEncoder.default(self, obj)
示例#55
0
文件: __init__.py 项目: guru2605/todo
 def default(self, obj):
     """
     Method consist of operations performed to encode different data-types into JSON format
     :param obj:
     :return:
     """
     if isinstance(obj, ObjectId):
         return str(obj)
     if isinstance(obj, datetime):
         return str(obj)
     if isinstance(obj, CommandCursor):
         return list(obj)
     return JSONEncoder.default(self, obj)
示例#56
0
文件: emit.py 项目: romjerome/web-api
    def default(self, obj: Any):
        """Our default handler."""
        if isinstance(obj, lib.GrampsType):
            return str(obj)

        for gramps_class in self.gramps_classes:
            if isinstance(obj, gramps_class):
                return self.api_filter(obj)

        if isinstance(obj, DbBookmarks):
            return self.api_filter(obj)

        return JSONEncoder.default(self, obj)
示例#57
0
 def default(self, obj):
     try:
         if isinstance(obj, Enum):
             return str(obj)
         iterable = [{
             'key': '.'.join(str(element).split('.')[1:]),
             'value': element.value
         } for element in obj]
     except TypeError:
         pass
     else:
         return iterable
     return JSONEncoder.default(self, obj)
    def default(self, o: Any):
        if isinstance(o, Robot):
            return {
                "id": o.id,
                "current_pose": o.current_pose,
                "current_state": o.current_state.name
            }

        if isinstance(o, Command):
            return {
                "category_id": o.category_id,
                "command_id": o.command_id,
                "parameters": o.parameters,
                "message_id": o.message_id,
            }

        if isinstance(o, Response):
            return {
                "message_id": o.message_id,
                "return_code": o.return_code,
                "data": o.data
            }

        if isinstance(o, TestScenario):
            return {
                "success": o.success,
                "finished": o.finished,
                "test_steps": o.test_steps,
                "robot_id": o.robot_id,
                "percent_complete": o.percent_complete,
                "result": o.result
            }

        if isinstance(o, Pose):
            return {
                "position": o.position,
                "angle": o.angle
            }

        if isinstance(o, ConfigValueInformation):
            return {
                "name": o.name,
                "type": o.type,
                "id": o.id,
                "value": o.value
            }

        if isinstance(o, Enum):
            return o.name

        return JSONEncoder.default(self, o)
示例#59
0
文件: charts.py 项目: mhansen/fava
 def default(self, o):  # pylint: disable=E0202
     if isinstance(o, Decimal):
         return float(o)
     elif isinstance(o, (datetime.date, Amount, Position)):
         return str(o)
     elif isinstance(o, (set, frozenset)):
         return list(o)
     try:
         return JSONEncoder.default(self, o)
     except TypeError:
         # workaround for #472
         if isinstance(o, DisplayContext):
             o.ccontexts.pop(MISSING, None)
         return str(o)
示例#60
0
 def default(self, o):  # pylint: disable=E0202
     if isinstance(o, datetime):
         return o.strftime('%Y-%m-%dT%H:%M:%SZ')
     elif isinstance(o, date):
         return o.strftime('%Y-%m-%d')
     elif isinstance(o, Decimal):
         return float(o)
     elif isinstance(o, Amount):
         return str(o)
     elif isinstance(o, Position):
         return str(o)
     elif isinstance(o, (set, frozenset)):
         return list(o)
     return JSONEncoder.default(self, o)