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)
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))
def test_high_level_get(self): result = config.get_config("192.168.1.1") self.assertEqual(result, "Got config for 192.168.1.1")
def get_config(request, ip): dajax = Dajax() result = snmp_config.get_config(ip) dajax.assign("#result", "innerHTML", result) dajax.script("stopLoading();") return dajax.json()