| 296 | |
| 297 | class LocsEncoder(json.JSONEncoder): |
| 298 | def default(self, o): |
| 299 | if isinstance(o, File): |
| 300 | return {"file": o.file, "target": o.target, "loc": o.loc, "in_bytes": o.in_bytes, |
| 301 | "expanded": o.expanded, "expanded_bytes": o.expanded_bytes} |
| 302 | if isinstance(o, Group): |
| 303 | return {"name": o.name, "loc": o.loc, "in_bytes": o.in_bytes, |
| 304 | "expanded": o.expanded, "expanded_bytes": o.expanded_bytes} |
| 305 | if isinstance(o, Results): |
| 306 | return {"groups": o.groups, "units": o.units, |
| 307 | "source_dependencies": o.source_dependencies, |
| 308 | "header_dependents": o.header_dependents} |
| 309 | return json.JSONEncoder.default(self, o) |
| 310 | |
| 311 | |
| 312 | class StatusLine: |