MCPcopy
hub / github.com/scrapy/scrapy / ScrapyJSONEncoder

Class ScrapyJSONEncoder

scrapy/utils/serialize.py:12–35  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

10
11
12class ScrapyJSONEncoder(json.JSONEncoder):
13 DATE_FORMAT = "%Y-%m-%d"
14 TIME_FORMAT = "%H:%M:%S"
15
16 def default(self, o: Any) -> Any:
17 if isinstance(o, set):
18 return list(o)
19 if isinstance(o, datetime.datetime):
20 return o.strftime(f"{self.DATE_FORMAT} {self.TIME_FORMAT}")
21 if isinstance(o, datetime.date):
22 return o.strftime(self.DATE_FORMAT)
23 if isinstance(o, datetime.time):
24 return o.strftime(self.TIME_FORMAT)
25 if isinstance(o, decimal.Decimal):
26 return str(o)
27 if isinstance(o, defer.Deferred):
28 return str(o)
29 if isinstance(o, Request):
30 return f"<{type(o).__name__} {o.method} {o.url}>"
31 if isinstance(o, Response):
32 return f"<{type(o).__name__} {o.status} {o.url}>"
33 if is_item(o):
34 return ItemAdapter(o).asdict()
35 return super().default(o)

Callers 4

__init__Method · 0.90
__init__Method · 0.90
__init__Method · 0.90
encoderMethod · 0.90

Calls

no outgoing calls

Tested by 1

encoderMethod · 0.72