old_contents: import json
  
  class D3MapBuilder:
    def __init__(self, db):
      self._db = db
  
    def build(self):
      output = dict()
  
      nodes = self._db.get_nodes()
  
      output['nodes'] = [{'name': x.name, 'id': x.id,
                          'macs': ', '.join(x.macs),
                          'geo': [float(x) for x in x.gps.split(" ")] if x.gps else None,
                          'flags': x.flags
                         } for x in nodes]
  
      links = self._db.get_links()
  
      output['links'] = [{'source': x.source.id, 'target': x.target.id,
                          'quality': x.quality,
                          'type': x.type,
                          'id': x.id
                         } for x in links]
  
      return json.dumps(output)
  
  
new_contents: import json
  import datetime
  
  class D3MapBuilder:
    def __init__(self, db):
      self._db = db
  
    def build(self):
      output = dict()
  
      nodes = self._db.get_nodes()
  
      output['nodes'] = [{'name': x.name, 'id': x.id,
                          'macs': ', '.join(x.macs),
                          'geo': [float(x) for x in x.gps.split(" ")] if x.gps else None,
                          'flags': x.flags
                         } for x in nodes]
  
      links = self._db.get_links()
  
      output['links'] = [{'source': x.source.id, 'target': x.target.id,
                          'quality': x.quality,
                          'type': x.type,
                          'id': x.id
                         } for x in links]
  
      output['meta'] = {
                        'timestamp': datetime.datetime.utcnow().isoformat()
                       }
  
      return json.dumps(output)
  
  
subject: add meta.timestamp