From adecdbc1cd849ca19fbccf2c189f676d54b51e85 Mon Sep 17 00:00:00 2001 From: Antanas Uršulis Date: Fri, 5 Jul 2013 02:18:44 +0300 Subject: Group logs by source hostname and add multiple-file submissions --- flask_app.py | 11 +++++------ simple_client.py | 15 +++++++++------ submission.proto | 8 ++++++-- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/flask_app.py b/flask_app.py index 87697e5..ce55c38 100644 --- a/flask_app.py +++ b/flask_app.py @@ -3,7 +3,7 @@ The web application built on Flask is contained within this file. When run as a script, the Flask development server is started. """ -import os +import os, socket import submission_pb2, storage from flask import Flask, request @@ -16,13 +16,12 @@ def index(): @app.route('/submit', methods=['POST']) def submit(): - """ - TODO: - pass through all steps - input, analysis, storage - """ submission = submission_pb2.Submission() submission.ParseFromString(request.data) - store.save_file(request.remote_addr, submission.filename, submission.data) + source = socket.getfqdn(request.remote_addr) # TODO: is this ok? + # TODO: pass through analyser + for f in submission.files: + store.save_file(source, f.filename, f.data) return '' if __name__ == '__main__': diff --git a/simple_client.py b/simple_client.py index bbd7835..0335260 100644 --- a/simple_client.py +++ b/simple_client.py @@ -4,16 +4,19 @@ Simple submission client that forms a correct protobuf message and performs a PO import submission_pb2, sys, urllib -def send_submission(filename): +def send_submission(filenames): submission = submission_pb2.Submission() - submission.filename = filename - submission.data = open(filename, 'rb').read() + + for f in filenames: + new_file = submission.files.add() + new_file.filename = f + new_file.data = open(f, 'rb').read() print urllib.urlopen('http://[::1]:5000/submit', submission.SerializeToString()).read() if __name__ == '__main__': - if len(sys.argv) != 2: - sys.stderr.write('usage: ' + sys.argv[0] + ' FILENAME\n') + if len(sys.argv) < 2: + sys.stderr.write('usage: ' + sys.argv[0] + ' FILENAMES\n') sys.exit(-1) - send_submission(sys.argv[1]) + send_submission(sys.argv[1:]) diff --git a/submission.proto b/submission.proto index 70a60de..b06310f 100644 --- a/submission.proto +++ b/submission.proto @@ -1,4 +1,8 @@ message Submission { - required string filename = 1; - required bytes data = 2; + message File { + required string filename = 1; + required bytes data = 2; + } + + repeated File files = 1; } -- cgit v1.2.3-65-gdbad