Example #1
0
    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')
Example #2
0
    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')