コード例 #1
0
def save_configurations():
    """This is run at the end of a booking, automatically saving the configuration and
    notifiying the user"""

    logger.debug("Checking if any pods need saving at: " + str(datetime.now()))

    # Get all bookings, that finish now +- 1 minute
    # TODO: Sort out the correct time deltass, at the moment the delta is
    # set to +- an hour for testing purposes

    past = datetime.now(tz=tz) - timedelta(hours=1)
    future = datetime.now(tz=tz) + timedelta(hours=1)
    bookings = Booking.objects.filter(end_datetime__range=(past, future))

    for booking in bookings:
        logger.info("I am going to save " + booking.pod.__unicode__() +
                    " for user: " + booking.user)
        pod = booking.pod
        config_set = ConfigSet.objects.create(user=booking.user,
                                              study_type=booking.config_set.study_type,
                                              description='Autosaved Config at ' + str(datetime.now(tz=tz)),
                                              pod=pod)
        for dev in pod.device_set.all():
            Config.objects.create(configuration=get_config(dev.telnet.ipv4),
                                  device=dev,
                                  config_set=config_set)

        send_mail('Booking Finished',
                  'Hi {},\n\nYour Booking {} has now finished\n\nThanks,\nThe Csco.SRL Team.'.format(booking.user, booking.__unicode__()),
                  '*****@*****.**',
                  ['{}@example.com'.format(booking.user)],
                  fail_silently=False)
コード例 #2
0
def collect_config_set(request, pod_id):
    c = ConfigSet(blank=False, user='******', pod=Pod.objects.get(pk=pod_id))

    if request.method == 'POST':
        form = ConfigSetForm(request.POST, instance=c)
        if form.is_valid():
            pod = Pod.objects.get(pk=pod_id)
            config_set = form.save()
            for dev in pod.device_set.all():
                Config.objects.create(configuration=get_config(dev.telnet.ipv4), device=dev,
                                      config_set=config_set)

            messages.success(request, 'Config Set Saved!')
            return redirect(reverse('home-view'))
    else:
        form = ConfigSetForm(instance=c)

    return render_to_response("config/collect_config_set.html", {'form': form}, context_instance=RequestContext(request))
コード例 #3
0
 def test_high_level_get(self):
     result = config.get_config("192.168.1.1")
     self.assertEqual(result, "Got config for 192.168.1.1")
コード例 #4
0
def get_config(request, ip):
    dajax = Dajax()
    result = snmp_config.get_config(ip)
    dajax.assign("#result", "innerHTML", result)
    dajax.script("stopLoading();")
    return dajax.json()