def output_post(): try: data = request.POST['file'].value upload_dir = config.get('site','uploads') fn = '%s/%s/%s.zip'%( os.getcwd(), upload_dir,hashlib.sha224(data).hexdigest() ) fd = open( fn, 'wb') fd.write( data ) fd.close() new_id = parseZip( fn ) base_url = config.get('site', 'baseurl' ) chan = config.get('tasbot', 'report_channel' ) tasbot.tasclient.say(chan,'new crash report uploaded: http://%s/details?id=%d'%(base_url,new_id)) return 'success' except Exception, m: print m return env.get_template('error.html').render(err_msg=str(m))
def output(): try: session = db.sessionmaker() upload_dir = config.get("site", "uploads") records = session.query(Record).all() ret = env.get_template("list.html").render(records=records) session.close() return ret except Exception, m: return env.get_template("error.html").render(err_msg=str(m))
def output_post(): try: data = request.POST['file'].value upload_dir = config.get('site', 'uploads') fn_relative = '%s/%s.zip' % (upload_dir, hashlib.sha224(data).hexdigest()) fn = fn_relative #fn = '%s/%s'%( os.getcwd(), fn_relative ) fd = open(fn, 'wb') fd.write(data) fd.close() new_id = parseZip(fn) base_url = config.get('site', 'baseurl') chan = config.get('tasbot', 'report_channel') tasbot.tasclient.say( chan, 'new crash report uploaded: http://%s%d' % (config.get('site', 'detailurl'), new_id)) return 'success' except Exception, m: print m return env.get_template('error.html').render(err_msg=str(m))
def output_post(): try: data = request.POST["file"].value upload_dir = config.get("site", "uploads") fn = "%s/%s/%s.zip" % (os.getcwd(), upload_dir, hashlib.sha224(data).hexdigest()) fd = open(fn, "wb") fd.write(data) fd.close() members = dict() zipfile = ZipFile(fn) files_of_interest = ["infolog.txt", "ext.txt", "platform.txt", "script.txt", "settings.txt", "unitsync.log"] for info in zipfile.infolist(): if info.filename in files_of_interest and info.file_size < 20e5: members[info.filename] = zipfile.read(info.filename) new_id = db.parseZipMembers(fn, members) base_url = config.get("site", "baseurl") chan = config.get("tasbot", "report_channel") tasbot.tasclient.say(chan, "new crash report uploaded: http://%s/details?id=%d" % (base_url, new_id)) return "success" except Exception, m: print m return env.get_template("error.html").render(err_msg=str(m))
def output(): try: session = db.sessionmaker() id = getSingleField( 'id', request ) if not id: raise ElementNotFoundException( id ) record = session.query( Record ).filter( Record.id == id ).one() if not record: raise ElementNotFoundException( id ) upload_dir = config.get('site','uploads') ret = env.get_template('details.html').render( record=record, upload_dir=upload_dir ) session.close() return ret except Exception, m: return env.get_template('error.html').render(err_msg=str(m))
def output(): try: session = db.sessionmaker() id = getSingleField( 'id', request ) if not id: raise ElementNotFoundException( id ) crash = session.query( Crash ).filter( Crash.id == id ).one() if not crash: raise ElementNotFoundException( id ) upload_dir = config.get('site','uploads') ret = env.get_template('details.html').render( crash=crash, \ upload_dir=upload_dir,settings=dict(filter(lambda i: i[0] in Crash.important_settings, crash.settings.items() ) ) ) session.close() return ret except Exception, m: return env.get_template('error.html').render(err_msg=str(m))
def output(): try: important_settings = ['Shadows'] session = db.sessionmaker() id = getSingleField( 'id', request ) if not id: raise ElementNotFoundException( id ) crash = session.query( Crash ).filter( Crash.id == id ).one() if not crash: raise ElementNotFoundException( id ) upload_dir = config.get('site','uploads') print crash.stacktrace ret = env.get_template('details.html').render( crash=crash, upload_dir=upload_dir ) session.close() return ret except Exception, m: return env.get_template('error.html').render(err_msg=str(m))
def output(): try: important_settings = ['Shadows'] session = db.sessionmaker() id = getSingleField('id', request) if not id: raise ElementNotFoundException(id) crash = session.query(Crash).filter(Crash.id == id).one() if not crash: raise ElementNotFoundException(id) upload_dir = config.get('site', 'uploads') print crash.stacktrace ret = env.get_template('details.html').render(crash=crash, upload_dir=upload_dir) session.close() return ret except Exception, m: return env.get_template('error.html').render(err_msg=str(m))
#!/usr/bin/env python # -*- coding: utf-8 -*- from bottle import route, run, debug, PasteServer, send_file, redirect, abort, request, default_app import os, index, upload, recordlist, details from siteglobals import config from tw.api import make_middleware @route('/images/:filename') def image_file(filename): return send_file( filename, root=os.getcwd()+'/images/' ) @route('/static/:filename') def static_file(filename): return send_file( filename, root=os.getcwd()+'/static/' ) uploads = '/%s/' % config.get('site','uploads') @route(uploads + ':filename') def log_file(filename): return send_file( filename, root=os.getcwd()+ uploads ) @route('/favicon.ico') def favi(): return send_file( 'favicon.ico', root=os.getcwd()+'/images/' ) if __name__=="__main__": port = config.getint('site','port') is_debug = config.getboolean('site','debug') app = default_app() application = make_middleware(app, { 'toscawidgets.framework.default_view': 'jinja2', 'toscawidgets.middleware.inject_resources': True,
print filename return send_file(filename, root=os.getcwd() + "/images/") @route("/images/:filename/:f") # make this not so silly def image_file2(filename, f): print filename return send_file(filename + "/" + f, root=os.getcwd() + "/images/") @route("/static/:filename") def static_file(filename): return send_file(filename, root=os.getcwd() + "/static/") uploads = "/%s/" % config.get("site", "uploads") @route(uploads + ":filename") def log_file(filename): return send_file(filename, root=os.getcwd() + uploads) @route("/favicon.ico") def favi(): return send_file("favicon.ico", root=os.getcwd() + "/images/") if __name__ == "__main__": port = config.getint("site", "port") host = config.get("site", "host")
#!/usr/bin/env python # -*- coding: utf-8 -*- from bottle import route, run, debug, PasteServer, send_file, redirect, abort, request, default_app import os, index, upload, recordlist, details from siteglobals import config,is_debug from tw.api import make_middleware @route('/images/:filename') def image_file(filename): return send_file( filename, root=os.getcwd()+'/images/' ) @route('/static/:filename') def static_file(filename): return send_file( filename, root=os.getcwd()+'/static/' ) uploads = '/%s/' % config.get('site','uploads') @route(uploads + ':filename') def log_file(filename): return send_file( filename, root=os.getcwd()+ uploads ) @route('/favicon.ico') def favi(): return send_file( 'favicon.ico', root=os.getcwd()+'/images/' ) if __name__=="__main__": port = config.getint('site','port') host = config.get('site','host') app = default_app() application = make_middleware(app, { 'toscawidgets.framework.default_view': 'jinja2', 'toscawidgets.middleware.inject_resources': True,
#!/usr/bin/env python # -*- coding: utf-8 -*- from siteglobals import db, config from backend import * from upload import parseZip import os db.Connect() print 'DB: Rebuild init' tables = [ Crash, RecordsData, Status, Settings, SettingsData, Stacktrace, StacktraceData, StacktraceTranslated, DbConfig ] for table in tables: table.__table__.drop() table.__table__.create() print 'DB: Rebuild completed' print 'Upload: parseing init' fn = os.getcwd() + "/" + config.get('site', 'uploads') + "/" for filename in os.listdir(fn): if filename[-4:] == '.zip': try: parseZip(config.get('site', 'uploads') + "/" + filename) except: print 'Upload: FAILED for ' + config.get( 'site', 'uploads') + "/" + filename print 'Upload: parseing completed'
#!/usr/bin/env python # -*- coding: utf-8 -*- from siteglobals import db, config from backend import * from upload import parseZip import os db.Connect() print 'DB: Rebuild init' tables = [ Crash, RecordsData, Status, Settings, SettingsData, Stacktrace, StacktraceData, StacktraceTranslated, DbConfig ] for table in tables: table.__table__.drop() table.__table__.create() print 'DB: Rebuild completed' print 'Upload: parseing init' fn = os.getcwd() + "/" + config.get('site','uploads') + "/" for filename in os.listdir(fn): if filename[-4:] == '.zip': try: parseZip (config.get('site','uploads') + "/" + filename) except: print 'Upload: FAILED for ' + config.get('site','uploads') + "/" + filename print 'Upload: parseing completed'