Exemple #1
0
  def post(self):
    key = self.request.get('key')
    data = self.request.get('data')

    if (key == None or data == None):
      return

    # We don't need a try here, because it's already been checked in the
    # import handler by this point.
    data_json = json.loads(data)
    trace = Trace.get_by_id(int(key))

    if 'secret' not in data_json:
      return

    secret = data_json['secret']
    project = Project.query().filter(Project.secret==secret).get()

    if (project == None):
      return

    if (trace == None):
      return

    @ndb.transactional(xg=True)
    def process_trace(project, trace, data_json):

      blob_reader = blobstore.BlobReader(trace.file_key)
      action_details_imported = TraceProcessor().process(project,
          blob_reader.read(), trace, data_json)

      # Tidy up the trace file if needed.
      if trace.delete_trace_after_import:
        blobstore.delete(trace.file_key)
        trace.key.delete()

      return action_details_imported

    action_details_imported = process_trace(project, trace, data_json)
Exemple #2
0
  def get(self):

    secret = self.request.get('secret')
    labels = self.request.get('labels')
    trace_key = self.request.get('trace')

    if (trace_key == ''):
      self.response.write('no trace key')
      return

    trace = Trace.get_by_id(int(trace_key))

    if (secret == ''):
      self.response.write("no secret")
      return

    if (trace == None):
      self.response.write("no trace")
      return

    project = Project.query().filter(Project.secret==secret).get()

    if (project == None):
      self.response.write("no project")
      return

    labels_list = labels.split(',')
    labels_list_stringified = '"' + '","'.join(labels_list) + '"'

    if (labels == ''):
      labels_list_stringified = ''

    data = '{"secret":"' + secret + '", "labels": [' + labels_list_stringified + ']}'
    data_json = json.loads(data)

    blob_reader = blobstore.BlobReader(trace.file_key)
    TraceProcessor().process(project, blob_reader.read(), trace, data_json)