def create(self, bucket, data): if not isinstance(bucket, Bucket): raise Exception("Not a bucket") # try to create a new object try: trace = Trace() trace.token = bucket.get_token() trace.type = data.get('type') trace.message = data.get('message') trace.stack = data.get('stack', []) trace.context = data.get('context') trace.save() trace.reload() return self.format_trace(trace) except Exception: raise Exception("Failed to create object")
def get_list(self, token, error_type=None): traces = [] # filter by token (bucket) where = {'token': token} # optional: filter by type if error_type is not None: where.update({'type': str(error_type)}) try: for trace in Trace.objects(**where): traces.append(trace) except Exception: raise Exception("Failed to get list of objects") return traces