def _get_ufile(file_indicator = None): ufile = UFile.query.filter(UFile.url == file_indicator).first() if not ufile: ufile = None if ufile is not None: # test whether file exists if not funcs.f_exists(ufile.filename): db_session.delete(ufile) db_session.commit() abort(404) else: if not funcs.f_exists(file_indicator): abort(404) ufile = UFile( name = funcs.get_name_from_filename(file_indicator), url = file_indicator, filename = file_indicator, filesize = funcs.get_file_size(file_indicator), mimetype = funcs.get_file_mimetype(file_indicator), created = datetime.utcnow() ) db_session.add(ufile) db_session.commit() #if not r: # logging.error('Failed to commit new record: %r' % ufile) # abort(404) return ufile
def delete_file(file_indicator=None): if not funcs.is_admin_login(): abort(403) ufile = UFile.query.filter(UFile.url == file_indicator).first() if not ufile: abort(404) fn = funcs.fullname(ufile.filename) db_session.delete(ufile) db_session.commit() try: os.remove(fn) except: pass return redirect(url_for('file_serve',file_indicator=file_indicator))