def get(self): """ /data """ self.log_access() data = None try: data = AppData.get_some() except AppError, e: # exception already logged self.session.add_flash('%s' % e, level='error')
def post(self, command): logging.debug('admin POST command %s' % command) self.log_access() if not users.is_current_user_admin(): logging.error('aborting in admin because someone got to post without admin privs') return self.abort(403) elif command == 'showappdata': FETCH_NUM = 100 app_data = None app_data = AppData.query().fetch(FETCH_NUM) return self.render_to_response( 'templates/appdata.html', { 'app_data': app_data }) elif command == 'purgeappdata': """ purge app logs TODO document/make setting of 30 day default purge period """ before_date = datetime.datetime.utcnow() - datetime.timedelta(days=30) logging.info('Admin Purging App Data before %s' % before_date) try: AppData.purge(before=before_date) except Exception as e: self.session.add_flash('%s' % e, level='error') return self.redirect('/admin') elif command == 'purge_some_app_data': """ purge some app data """ HOW_MANY = 100 count = decode(self.request.get('count')) if count: count = int(count) else: count = HOW_MANY logging.info('Admin Purging Some App Data - count: %d' % count) try: AppData.purge_some(count=count) except Exception as e: self.session.add_flash('%s' % e, level='error') return self.redirect('/admin') elif command == 'runtests': logging.info('Admin Run Tests') self.session.add_flash('Running Tests', level='info') try: result = run_tests() except Exception as e: return self.render_to_response( 'templates/admin_results.html', {'what_result': 'Testing', 'results': '%s' % e}) return self.render_to_response( 'templates/admin_results.html', {'what_result': 'Testing', 'results': result}) else: self.session.add_flash('Unknown Admin command %s' % command, level='error') return self.redirect('/admin') # We should not get here. logging.error('We should not get here, falling thru bottom of admin post handler') self.session.add_flash('Wut? Fell thru Admin...?', level='error') return self.redirect('/admin')