def route_deletefile(encoded, parcel): filename = base64.standard_b64decode(encoded).decode('ascii') folder, file = os.path.split(filename) os.remove(filename) UserActivity().save(parcel=parcel, activity='deletefile', msg='delete file: %s' % file) redirect_to = Settings().get('host-url') + '/selected/%s' % parcel return redirect(redirect_to)
def route_setup(): if g.auth['admin']: settings = Settings() ua = UserActivity() activity_log = ua.list_all_activity() context = { 'log': activity_log, 'auth': g.auth } return render_template('log.html', context=context) else: return redirect('/')
def route_uploadfiles(): for item in request.files: f = request.files[item] parcel_id = request.form['parcel_id'] pf = ParcelFolder(parcel=parcel_id) filename_only = secure_filename(f.filename) fullpath = os.path.join(pf.path, filename_only) f.save(fullpath) UserActivity().save(parcel=parcel_id, activity='uploadfile', msg='%s' % filename_only) return jsonify({'status': 'ok'}), 200
def route_selected_parcel(parcel_id): def float2datetime(epoc): import datetime result = '' dt = datetime.datetime.fromtimestamp(epoc) result = dt.strftime('%m/%d/%Y %H:%M:%S') return result def b2k(num): result = '0k' n = int(num) k = round(n / 1024, 2) result = str(k) + 'k' return result if not g.auth['user']: login_page = Settings().get('host-url') + '/auth/login' return redirect(login_page) file_list = FileList(parcel=parcel_id) for f in file_list.files: fpath = bytes(f['fullpath'], 'utf-8') f['encoded'] = '' f['encoded'] = base64.standard_b64encode(fpath).decode('utf-8') f['mtime'] = float2datetime(f['info'].st_mtime) f['filesize'] = b2k(f['info'].st_size) p = Parcels() p.load_one_parcel(parcel_id) details = p.parcel ua = UserActivity() activity = ua.list(parcel=p.parcel['parcel_id']) context = { 'title': 'parcel selected', 'showsearch': False, 'parcel': parcel_id, 'files': file_list.files, 'details': details, 'auth': g.auth, 'ua': activity } session['page'] = '/selected/%s' % parcel_id return render_template('selected_parcel.html', context=context)
def route_renamefile_post(): encoded = request.form['encoded'] parcel = request.form['parcel'] newfilename = request.form['newfilename'] # # Extract full path, and then split into path and name. fullpath = base64.standard_b64decode(encoded).decode('ascii') folder, file = os.path.split(fullpath) # # create new full path newfullpath = os.path.join(folder, newfilename) # # now rename the old file to new file. os.rename(fullpath, newfullpath) UserActivity().save(parcel=parcel, activity='renamefile', msg='%s to %s' % (file, newfilename)) redirect_to = Settings().get('host-url') + '/selected/%s' % parcel return redirect(redirect_to)