diff options
author | Karel Klic <kklic@redhat.com> | 2011-01-12 22:57:19 +0100 |
---|---|---|
committer | Karel Klic <kklic@redhat.com> | 2011-01-12 22:57:19 +0100 |
commit | e56abffc2e10b76d7b8cf79ddb8a74b496113f16 (patch) | |
tree | b3bb981accba4e64844bc3efe880483ed7fad7a4 | |
parent | ee22356059b895de9f5ee3fc5c15c06f8b415ae4 (diff) | |
download | abrt-e56abffc2e10b76d7b8cf79ddb8a74b496113f16.tar.gz abrt-e56abffc2e10b76d7b8cf79ddb8a74b496113f16.tar.xz abrt-e56abffc2e10b76d7b8cf79ddb8a74b496113f16.zip |
Remove accidentally commited files from the retrace branch
-rw-r--r-- | retrace/interface/create.wsgi | 73 | ||||
-rw-r--r-- | retrace/interface/retrace.py | 89 |
2 files changed, 0 insertions, 162 deletions
diff --git a/retrace/interface/create.wsgi b/retrace/interface/create.wsgi deleted file mode 100644 index 81947d64..00000000 --- a/retrace/interface/create.wsgi +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/python -import sys -sys.path = ["/usr/share/abrt-retrace"] + sys.path - -from retrace import * -from tempfile import * - -def application(environ, start_response): - read_config() - - request = Request(environ) - - if request.method != "POST": - return response(start_response, "405 Method Not Allowed") - - if not request.content_type in ["application/x-xz", "application/x-xz-compressed-tar"]: - return response(start_response, "415 Unsupported Media Type") - - if not request.content_length: - return response(start_response, "411 Length Required") - - if request.content_length > CONFIG["MaxPackedSize"] * 1048576: - return response(start_response, "413 Request Entity Too Large") - - space = free_space(CONFIG["WorkDir"]) - if not space: - return response(start_response, "500 Internal Server Error", "Unable to obtain disk free space") - - if space - request.content_length < CONFIG["MinStorageLeft"] * 1048576: - return response(start_response, "507 Insufficient Storage") - - try: - archive = NamedTemporaryFile(mode = "wb", delete = False, suffix = ".tar.xz") - archive.write(request.body) - archive.close() - except: - return response(start_response, "500 Internal Server Error", "Unable to save archive") - - size = unpacked_size(archive.name) - if not size: - os.unlink(archive.name) - return response(start_response, "500 Internal Server Error", "Unable to obtain unpacked size") - - if size > CONFIG["MaxUnpackedSize"] * 1048576: - os.unlink(archive.name) - return response(start_response, "413 Request Entity Too Large") - - if space - size < CONFIG["MinStorageLeft"] * 1048576: - os.unlink(archive.name) - return response(start_response, "507 Insufficient Storage") - - crashid, crashdir = new_crash() - if not crashid or not crashdir: - return response(start_response, "500 Internal Server Error", "Unable to create new crash") - - os.chdir(crashdir) - unpack_retcode = unpack(archive.name) - os.unlink(archive.name) - - if unpack_retcode != 0: - os.chdir("/") - os.system("rm -rf " + crashdir) - return response(start_response, "500 Internal Server Error", "Unable to unpack archive") - - files = os.listdir(".") - - for required_file in REQUIRED_FILES: - if not required_file in files: - os.chdir("/") - os.system("rm -rf " + crashdir) - return response(start_response, "403 Forbidden") - - return response(start_response, "201 Created", "", [("X-Task-Id", str(crashid)), ("X-Task-Password", get_task_password(crashdir)), ("X-Task-Est-Time", str(get_task_est_time(crashdir)))])
\ No newline at end of file diff --git a/retrace/interface/retrace.py b/retrace/interface/retrace.py deleted file mode 100644 index 87f48c53..00000000 --- a/retrace/interface/retrace.py +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/python -import os -import re -import ConfigParser -from webob import Request -from subprocess import * - -REQUIRED_FILES = ["architecture", "coredump", "package"] #, "packages"] - -DF_OUTPUT_PARSER = re.compile("^([^ ^\t]*)[ \t]+([0-9]+)[ \t]+([0-9]+)[ \t]+([0-9]+)[ \t]+([0-9]+%)[ \t]+(.*)$") -XZ_OUTPUT_PARSER = re.compile("^totals[ \t]+([0-9]+)[ \t]+([0-9]+)[ \t]+([0-9]+)[ \t]+([0-9]+)[ \t]+([0-9]+\.[0-9]+)[ \t]+([^ ^\t]+)[ \t]+([0-9]+)[ \t]+([0-9]+)$") - -CONFIG_FILE = "/etc/abrt/retrace.conf" -CONFIG = { - "MaxParallelTasks": 2, - "MaxPackedSize": 30, - "MaxUnpackedSize": 600, - "MinStorageLeft": 10240, - "WorkDir": "/var/spool/abrt-retrace", -} - -def read_config(): - parser = ConfigParser.ConfigParser() - parser.read(CONFIG_FILE) - for key in CONFIG.keys(): - vartype = type(CONFIG[key]) - if vartype is int: - get = parser.getint - elif vartype is bool: - get = parser.getbool - elif vartype is float: - get = parser.getfloat - else: - get = parser.get - - try: - CONFIG[key] = get("retrace", key) - except: - pass - -def free_space(path): - pipe = Popen(["df", path], stdout=PIPE).stdout - for line in pipe.readlines(): - match = DF_OUTPUT_PARSER.match(line) - if match: - pipe.close() - return 1024 * int(match.group(4)) - - pipe.close() - return None - -def unpacked_size(archive): - pipe = Popen(["/usr/local/bin/xz", "--list", "--robot", archive], stdout=PIPE).stdout - for line in pipe.readlines(): - match = XZ_OUTPUT_PARSER.match(line) - if match: - pipe.close() - return int(match.group(4)) - - pipe.close() - return None - -def new_crash(): - i = 1 - newdir = CONFIG["WorkDir"] + "/0" - while os.path.exists(newdir): - i += 1 - newdir = CONFIG["WorkDir"] + "/" + str(i) - - try: - os.mkdir(newdir) - return i, newdir - except: - return None, None - -def unpack(archive): - pipe = Popen(["tar", "xJf", archive]) - pipe.wait() - return pipe.returncode - -def get_task_password(crashdir): - return "Password for " + crashdir - -def get_task_est_time(crashdir): - return 10 - -def response(start_response, status, body="", extra_headers=[]): - start_response(status, [("Content-Type", "text/plain"), ("Content-Length", str(len(body)))] + extra_headers) - return [body] |