import json
data = json.load(open('/tmp/g_msgs.json'))
# Convert internal timestamps to Sydney local
import datetime
items = []
for m in data:
    ts = int(m['internalDate']) / 1000
    dt = datetime.datetime.fromtimestamp(ts, tz=datetime.timezone.utc).astimezone(datetime.timezone(datetime.timedelta(hours=10)))
    items.append((dt, m['from'][:40], m['subject'][:50], m['snippet'][:150]))
items.sort(reverse=True)
for dt, fr, sj, sn in items:
    print(f"{dt.strftime('%a %H:%M')} | {fr:<40} | {sj:<50} | {sn}")