def calculate_time(request): distance = None distance_x2 = None distance_x3 = None distance_x4 = None distance_x5 = None distance_x6 = None if request.method == 'POST': form = CalculateTimeForm(request.POST) # distance=(request.POST['distance']) if form.is_valid(): a = form.cleaned_data['a'] b = form.cleaned_data['b'] # form.save() # village = form.cleaned_data['village'] # distance = distance.cleaned_data['distance'] distance = get_distance((a.x, a.y), (b.x, b.y)) distance_x2 = distance//2 distance_x3 = distance//3 distance_x4 = distance//4 distance_x5 = distance//5 distance_x6 = distance//6 distance = datetime.datetime.utcfromtimestamp(distance).strftime('%H:%M:%S') distance_x2 = ', X2 = '+str(datetime.datetime.utcfromtimestamp(distance_x2).strftime('%H:%M:%S')) distance_x3 = ', X3 = '+str(datetime.datetime.utcfromtimestamp(distance_x3).strftime('%H:%M:%S')) distance_x4 = ', X4 = '+str(datetime.datetime.utcfromtimestamp(distance_x4).strftime('%H:%M:%S')) distance_x5 = ', X5 = '+str(datetime.datetime.utcfromtimestamp(distance_x5).strftime('%H:%M:%S')) distance_x6 = ', X6 = '+str(datetime.datetime.utcfromtimestamp(distance_x6).strftime('%H:%M:%S')) return TemplateResponse(request, 'village/calculate_time.html', {'form':form, 'distance':distance, 'distance_x2':distance_x2, 'distance_x3':distance_x3, 'distance_x4':distance_x4, 'distance_x5':distance_x5, 'distance_x6':distance_x6}) else: form = CalculateTimeForm() return TemplateResponse(request, 'village/calculate_time.html', {'form': form, 'distance':distance})
def calculate_time(request): distance = None distance_x2 = None distance_x3 = None distance_x4 = None distance_x5 = None distance_x6 = None if request.method == 'POST': form = CalculateTimeForm(request.POST) # distance=(request.POST['distance']) if form.is_valid(): a = form.cleaned_data['a'] b = form.cleaned_data['b'] # form.save() # village = form.cleaned_data['village'] # distance = distance.cleaned_data['distance'] distance = get_distance((a.x, a.y), (b.x, b.y)) distance_x2 = distance // 2 distance_x3 = distance // 3 distance_x4 = distance // 4 distance_x5 = distance // 5 distance_x6 = distance // 6 distance = datetime.datetime.utcfromtimestamp(distance).strftime( '%H:%M:%S') distance_x2 = ', X2 = ' + str( datetime.datetime.utcfromtimestamp(distance_x2).strftime( '%H:%M:%S')) distance_x3 = ', X3 = ' + str( datetime.datetime.utcfromtimestamp(distance_x3).strftime( '%H:%M:%S')) distance_x4 = ', X4 = ' + str( datetime.datetime.utcfromtimestamp(distance_x4).strftime( '%H:%M:%S')) distance_x5 = ', X5 = ' + str( datetime.datetime.utcfromtimestamp(distance_x5).strftime( '%H:%M:%S')) distance_x6 = ', X6 = ' + str( datetime.datetime.utcfromtimestamp(distance_x6).strftime( '%H:%M:%S')) return TemplateResponse( request, 'village/calculate_time.html', { 'form': form, 'distance': distance, 'distance_x2': distance_x2, 'distance_x3': distance_x3, 'distance_x4': distance_x4, 'distance_x5': distance_x5, 'distance_x6': distance_x6 }) else: form = CalculateTimeForm() return TemplateResponse(request, 'village/calculate_time.html', { 'form': form, 'distance': distance })
def clean(self): cleaned_data = super(CalculateAttacksForm, self).clean() a = cleaned_data['a'] a = Village.objects.get(id=int(a)) b = cleaned_data['b'] b = Village.objects.get(id=int(b)) id_village = (cleaned_data['id_village']) id_attack_village = Village.objects.get(id=int(id_village)) # id_attack_village = (cleaned_data['id_attack_village']) # id_attack_village = cleaned_data['id_attack_village'] try: # id_attack_village = Village.objects.get(id_id='id_village') distance_a = get_distance((a.x, a.y), (id_attack_village.x, id_attack_village.y)) distance_b = get_distance((b.x, b.y), (id_attack_village.x, id_attack_village.y)) except ValueError: raise forms.ValidationError(_('one or more village have not right coord, or not present in BD, please, verify source data')) return cleaned_data
def clean(self): cleaned_data = super(CalculateTimeForm, self).clean() a = cleaned_data['a'] b = cleaned_data['b'] try: distance = get_distance((a.x, a.y), (b.x, b.y)) # cleaned_data['village'] = Village # cleaned_data['a'] = Village(name=cleaned_data['name'], x=distance) except ValueError: raise forms.ValidationError(_('one or more village have not right coord, please, verify source data')) return cleaned_data
def calculate_attacks(request): if request.method == 'POST': form = CalculateAttacksForm(request.POST) dict = form.data.copy() dict = dict.dict() a = {} x = 0; id_village = dict.pop('id_village') id_attack_village = Village.objects.get(id=int(id_village)) distance_a = {} from_a = () del dict['csrfmiddlewaretoken'] dict = dict.values() while x < len(dict): # a[x] = dict[x] a[x] = Village.objects.get(id=int(dict[x])) distance_a[x] = get_distance((a[x].x, a[x].y), (id_attack_village.x, id_attack_village.y)) # distance_b = get_distance((b.x, b.y), (id_attack_village.x, id_attack_village.y)) distance_a[x] = a[x].name + ' : ' + seconds_to_strtime_and_more(distance_a[x]) # distance_b = seconds_to_strtime_and_more(distance_b) # from_a[x] = ((a[x].name) +'( '+ str(a[x].id) +' ) :') x = x+1 # from_b = (b.name +'( '+ str(b.id) +' ) :') # b = dict[2] # b = Village.objects.get(id=int(b)) # b = form.data[2] # distance=(request.POST['distance']) # if form.is_valid(): # a = form.cleaned_data['a'] # a = Village.objects.get(id=int(a)) # b = form.cleaned_data['b'] # b = Village.objects.get(id=int(b)) # id_village = form.cleaned_data['id_village'] # id_attack_village = Village.objects.get(id=int(id_village)) # id_attack_village = form.cleaned_data['id_attack_village'] # form.save() # village = form.cleaned_data['village'] # distance = distance.cleaned_data['distance'] # distance = datetime.datetime.utcfromtimestamp(distance_a).strftime('%H:%M:%S') return TemplateResponse(request, 'village/calculate_attacks.html', {'form':form, 'from_a':from_a, 'distance_a':distance_a, 'a':a,}) else: form = CalculateAttacksForm() distance_a = None distance_b = None id_village = None return TemplateResponse(request, 'village/calculate_attacks.html', {'form': form, 'distance_a':distance_a, 'distance_b':distance_b, 'id_village':id_village})
def calculate_distance(request, a, b): a = Village.objects.get(pk=a) b = Village.objects.get(pk=b) data = { 'a': { 'id': a.id, 'name': a.name }, 'b': { 'id': b.id, 'name': b.name }, 'distance': format_distance(get_distance((a.x, a.y), (b.x, b.y))) } response = json.dumps(data, sort_keys=True, indent=4, separators=(',', ': ')) return HttpResponse(response, content_type='application/json')