예제 #1
0
def monitoring(request, *args, **kwargs):
    """
    monitor view method - this renders the monitor app page and adds all
    bootstrap variables required - this is used at /corroborator/monitor
     handle formatting of lists outside the view function
    """
    if request.user.is_authenticated():
        username = request.user.username
        userid = request.user.id

        #api details
        user = User.objects.get(username=username)
        api = ApiKey.objects.get(user=user)

        mdl = MonitorDataLoader()
        importer_conf_data = json.dumps(mdl.importer_config)
        scraper_conf_data = json.dumps(mdl.scraper_config)
        importer_stats_data = json.dumps(mdl.importer_stats)

        return render(
            request, 'monitoring.html', {
                'locale': translation.get_language(),
                'importer_conf_data': importer_conf_data,
                'scraper_conf_data': scraper_conf_data,
                'importer_stats_data': importer_stats_data,
                'username': username,
                'userid': userid,
                'api_key': api.key,
                'is_analyst': is_in_group(user, 'data-analyst'),
                'is_senior_analyst': is_in_group(user, 'senior-data-analyst'),
                'is_chief_analyst': is_in_group(user, 'chief-data-analyst'),
            })
    else:
        return render_to_response('auth.html', RequestContext(request))
예제 #2
0
def monitoring_update_conf(request, conf_name):
    """
    Update configuration file for given conf, values presently are:
    importer or scraper
    """
    if request.user.is_authenticated:
        mdl = MonitorDataLoader()
        result = ''
        conf_data = json.loads(request.body)

        if conf_name == 'scraper':
            result = mdl.overwrite_scraper_config(conf_data)
        else:
            result = mdl.overwrite_importer_config(conf_data)

        result_json = json.dumps(result)
        if 'error' in result_json:
            return HttpResponseServerError(result_json,
                                           mimetype='application/json')
        else:
            return HttpResponse(result_json, mimetype='application/json')
    else:
        return Http404
예제 #3
0
 def setUp(self):
     """
     Setup initial tools
     """
     self.mdl = MonitorDataLoader()