(a,b)
| 351 | if data is None: return |
| 352 | |
| 353 | def mycmp(a,b): |
| 354 | return (cmp(a["file"], b["file"]) or |
| 355 | cmp(a["start"]["line"], b["start"]["line"]) or |
| 356 | cmp(a["start"]["ch"], b["start"]["ch"])) |
| 357 | data["changes"].sort(key=tern_cmp_to_key(mycmp)) |
| 358 | changes_byfile = groupby(data["changes"] |
| 359 | ,key=lambda c: tern_projectFilePath(c["file"])) |