Advertisement
Guest User

code

a guest
May 3rd, 2013
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 343.05 KB | None | 0 0
  1. #-*- coding:Utf-8 -*-
  2.  
  3.  
  4. from django.conf.urls.defaults import *
  5. from monprojet.material.models import Material, Media2
  6. from monprojet.material.models import Category
  7. from monprojet.material.views import *
  8. from django.core.urlresolvers import reverse
  9. from django.conf.urls.defaults import *
  10. from django.contrib.staticfiles.urls import staticfiles_urlpatterns
  11. from django.contrib.auth.decorators import login_required
  12.  
  13.  
  14. material_info = {"queryset" : Material.objects.all()}
  15. category_root_info = {"queryset" : Category.tree.filter(level=0)}
  16. cat_info = {"queryset" : Category.objects.all()}
  17.  
  18.  
  19.  
  20. urlpatterns = patterns('django.views.generic.list_detail',
  21. url(r'^$', 'object_list',
  22. category_root_info, 'material_category_root'),
  23. url(r'^material/$', 'object_list',
  24. material_info, 'material_material_list'),
  25. url(r'^material/(?P<slug>[-\w]+)/$', 'object_detail',
  26. material_info, 'material_material_detail'),
  27. )
  28.  
  29.  
  30.  
  31. urlpatterns += patterns('monprojet.material.views',
  32. url(r'^category/(?P<slug>[-\w]+)/$', 'view_category_detail',
  33. name='material_category_detail'),
  34. )
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42. urlpatterns += patterns('',
  43. url(r'^add/$', 'monprojet.material.views.add_materiau', name='record'),
  44. url(r'^nouv/$', 'monprojet.material.views.nouveau_materiau', name='nouveau'),
  45. #url(r'^update/(?P<pk>[-\w]+)$', 'monprojet.materiaux.views.view_post', name='edition'),
  46. url(r'^update/(?P<material_id>[-\w]+)$', 'monprojet.material.views.manage2_materiaux', name='edition'),
  47. url(r'^medias/(?P<material_id>[-\w]+)$', 'monprojet.material.views.manage_medias', name='edition_media'),
  48. url(r'^temperature/(?P<material_id>[-\w]+)$', 'monprojet.material.views.manage3_materiaux', name='edit'),
  49. url(r'^delete/(?P<slug>\d+)/$', 'monprojet.material.views.delete_materiau', name='delete'),
  50. url(r'^search/$', 'monprojet.material.views.search', name='chercher'),
  51. url('^filtre/$', 'monprojet.material.views.search_filter', name='chercher_filtre'),
  52. url('^filtre1/$', 'monprojet.material.views.search_filter1', name='chercher_filtre1'),
  53. url('^filtre2/$', 'monprojet.material.views.search_filter2', name='chercher_filtre2'),
  54. url('^filtre3/$', 'monprojet.material.views.search_filter3', name='chercher_filtre3'),
  55. url('^filtre4/$', 'monprojet.material.views.search_filter4', name='chercher_filtre4'),
  56. url('^filtre5/$', 'monprojet.material.views.search_filter5', name='chercher_filtre5'),
  57. #url(r'^unit/(?P<id>\d+)$', 'monprojet.materiaux.views.lit_val', name='lit_param'),
  58. url(r'^unit/(?P<id>\d+)$', 'monprojet.material.views.convert', name='lit_param'),
  59. url(r'^unit/$', 'monprojet.material.views.affiche', name='toto'),
  60.  
  61. url(r'^conv/$', 'monprojet.material.views.lit_conv', name='converti'),
  62. url(r'^message/$', 'monprojet.material.views.lit_message', name='mess'),
  63. url(r'^image/$', 'monprojet.material.views.lit_image', name='ouvre'),
  64. url(r'^pastes/(?P<id>[-\w]+)$', 'monprojet.material.views.lit_prop_temp', name='temp'),
  65. #url(r'^temp/(?P<material_id>[-\w]+)$', 'monprojet.materiaux.views.manage3_materiaux', name='edit'),
  66. url(r'^med/(?P<media_id>[-\w]+)$', 'monprojet.material.views.liendyn', name='liendyn'),
  67. url(r'^gh/(?P<id>\d+)$', 'monprojet.material.views.convert2', name='lit_param2'),
  68. url(r'^gh/$', 'monprojet.material.views.affiche2', name='toto2'),
  69. url(r'^pc/(?P<id>\d+)$', 'monprojet.material.views.convert3', name='lit_param3'),
  70. url(r'^pc/$', 'monprojet.material.views.affiche3', name='toto3'),
  71. #url(r'^upload/$', 'monprojet.materiaux.views.upload_file', name='upload'),
  72. url(r'^run_DHM/$', 'monprojet.material.views.resout', name="run_DHM"),
  73. url(r'^run_DHMS/$', 'monprojet.material.views.resout10', name="ajout_critere"),
  74. url(r'^run_DHMSS/$', 'monprojet.material.views.resout20', name="ajout_critere2"),
  75. url(r'^ajout/$', 'monprojet.material.views.resout2', name="ajout_2criteres"),
  76. url(r'^search_mat0/$', 'monprojet.material.views.searchmat', name="search_mat"),
  77. url(r'^search_mat1/$', 'monprojet.material.views.searchmat1', name="search_mat1"),
  78. url(r'^search_mat/$', 'monprojet.material.views.searchcourb', name="search_courb"),
  79. url(r'^search_mat2/$', 'monprojet.material.views.searchcourb2', name="search_courb2"),
  80. url(r'^search_mat20/$', 'monprojet.material.views.searchcourb20', name="search_courb20"),
  81. url(r'^search_mat3/$', 'monprojet.material.views.searchcourb3', name="search_courb3"),
  82. url(r'^search_mat30/$', 'monprojet.material.views.searchcourb30', name="search_courb30"),
  83. url(r'^search_mat4/$', 'monprojet.material.views.searchcourb4', name="search_courb4"),
  84. url(r'^search_mat40/$', 'monprojet.material.views.searchcourb40', name="search_courb40"),
  85. url(r'^grph/$', 'monprojet.material.views.graphe', name="graphique"),
  86. url(r'^graphe_C/$', 'monprojet.material.views.affich_graphe', name="mongraph"),
  87. url(r'^graphe2_C/$', 'monprojet.material.views.affich_graphe2', name="mongraph2"),
  88. url(r'^graphe3_C/$', 'monprojet.material.views.affich_graphe3', name="mongraph3"),
  89. url(r'^graphe4_C/$', 'monprojet.material.views.affich_graphe4', name="mongraph4"),
  90. url(r'^graphe5_C/$', 'monprojet.material.views.affich_graphe5', name="mongraph5"),
  91. url(r'^graph/$', 'monprojet.material.views.graphe100', name="graph10"),
  92. url(r'^graph_20/$', 'monprojet.material.views.graphe200', name="graph20"),
  93. url(r'^adeq0/$', 'monprojet.material.views.match00', name="adequation0"), # une propriete
  94. url(r'^adeq1/$', 'monprojet.material.views.match0', name="adequation1"), # une propriete
  95. url(r'^adeq/$', 'monprojet.material.views.match', name="adequation"), # deux proprietes
  96. url(r'^adeq2/$', 'monprojet.material.views.match2', name="adequation2"), # deux proprietes
  97. url(r'^adeq2F/$', 'monprojet.material.views.match2F', name="adequation2F"),# deux proprietes
  98. url(r'^adeq2FF/$', 'monprojet.material.views.match2FF', name="adequation2FF"),# deux proprietes
  99. url(r'^adeq4F/$', 'monprojet.material.views.match4F', name="adequation4F"),# trois proprietes
  100. url(r'^adeq4FF/$', 'monprojet.material.views.match4FF', name="adequation4FF"),# trois proprietes
  101. url(r'^adeq6F/$', 'monprojet.material.views.match6F', name="adequation6F"),# trois proprietes
  102. url(r'^adeq6FF/$', 'monprojet.material.views.match6FF', name="adequation6FF"),# trois proprietes
  103. url(r'^adeq3/$', 'monprojet.material.views.match3', name="adequation3"), # trois proprietes
  104. url(r'^adeq4/$', 'monprojet.material.views.match4', name="adequation4"), # trois proprietes
  105. url(r'^adequat5/$', 'monprojet.material.views.match5', name="adequation5"),# quatre proprietes
  106. url(r'^adeq6/$', 'monprojet.material.views.match6', name="adequation6"), # quatre proprietes
  107. #url(r'^calcul10/$', 'monprojet.material.views.calcul_ponderation', name="calcul10"),
  108. url(r'^pond2/$', 'monprojet.material.views.pondere2', name="pond2"), # quatre proprietes
  109.  
  110. url(r'^lecri/$', 'monprojet.material.views.resout30', name="lecritere3"),
  111. url(r'^lecri2/$', 'monprojet.material.views.resout40', name="lecritere4"),
  112. url(r'^one_category/all/$', 'monprojet.material.views.get_materials_one', name="one_category_all"),
  113. url(r'^one_category/(?P<category_slug>[\w\d]+)$', 'monprojet.material.views.get_materials_one', name="get_all_one_category"),
  114. url(r'^two_category/all/$', 'monprojet.material.views.get_materials_two', name="two_category_all"),
  115. url(r'^two_category/(?P<category_slug>[\w\d]+)$', 'monprojet.material.views.get_materials_two', name="get_all_two_category"),
  116.  
  117. url(r'^three_category/all/$', 'monprojet.material.views.get_materials_three', name="three_category_all"),
  118. url(r'^three_category/(?P<category_slug>[\w\d]+)$', 'monprojet.material.views.get_materials_three', name="get_all_three_category"),
  119.  
  120. url(r'^four_category/all/$', 'monprojet.material.views.get_materials_four', name="four_category_all"),
  121. url(r'^four_category/(?P<category_slug>[\w\d]+)$', 'monprojet.material.views.get_materials_four', name="get_all_four_category"),
  122. )
  123.  
  124.  
  125.  
  126. urlpatterns += staticfiles_urlpatterns()
  127.  
  128.  
  129.  
  130.  
  131. views.py
  132.  
  133. # Create your views here.
  134. from django.db.models import Q
  135. from django.shortcuts import get_object_or_404
  136. from django.shortcuts import render_to_response
  137. from django.views.generic.list_detail import object_list
  138. from django.views.generic.list_detail import object_detail
  139. from monprojet.material.models import Category, Material, Property, UniteProperty2, Essai_Temperature, donnee_Temperature, Media2
  140. from django.http import Http404
  141. from django.http import HttpResponseRedirect, HttpResponseServerError
  142. from forms import MateriauForm, MatForm, nouveauForm, MaterialForm, Add
  143. from django.core.urlresolvers import reverse
  144. from django.views.generic.create_update import update_object
  145. from django.views.generic.create_update import delete_object
  146. from django.contrib.auth.decorators import login_required, permission_required
  147. from django.core import paginator #, EmptyPage, PageNotAnInteger
  148. from django.forms.models import inlineformset_factory
  149. from django.template import RequestContext
  150. from monprojet.material.units import unit_conversions, length
  151. from forms import UnitConverterForm, UnitConverterForm2, UnitConverterForm3, UploadFileForm, DisplayForm
  152. from django.http import HttpResponse
  153. from xlrd import open_workbook, XL_CELL_TEXT
  154. import os
  155. from django.utils import simplejson
  156. import json
  157. from django.views.decorators.csrf import csrf_exempt, csrf_protect
  158. from django.contrib.auth.decorators import login_required
  159. import itertools
  160. from itertools import chain
  161. from numpy import *
  162. from django.contrib import staticfiles
  163. from django.core.urlresolvers import reverse
  164. from django.contrib import messages
  165. import shutil
  166. import csv
  167. from django.shortcuts import redirect
  168. from django.template import RequestContext, Context, loader
  169. from django.template import Context, Template
  170. from django.http import Http404
  171.  
  172.  
  173.  
  174.  
  175. def calcul(maref, maprop):
  176.  
  177.  
  178. data = Essai_Temperature.objects.filter(name__name=maref, val_champ=maprop)
  179.  
  180. val_min_base=[]
  181. val_max_base=[]
  182. val_T_base=[]
  183. vref = []
  184.  
  185. for e in data:
  186. val_T_base.append(e.valT)
  187. val_min_base.append(e.val10)
  188. vref.append(e.val_ref)
  189. l1=0
  190. l2=0
  191. l3=0
  192. vv=0
  193. sizeTT=0
  194.  
  195. val_TT_base=[]
  196.  
  197. sizedata = len(val_T_base)
  198.  
  199. print 'sizedata', sizedata
  200.  
  201.  
  202. # determination du nb de series identiques
  203.  
  204. if sizedata==0:
  205. raise(ValueError)
  206.  
  207. else:
  208.  
  209. while l2 <= sizedata-2:
  210. if (l2==0):
  211. val_TT_base.append(val_T_base[l2])
  212. else:
  213. if (val_T_base[l2+1]!=val_T_base[l2]):
  214. val_TT_base.append(val_T_base[l2+1])
  215. l2+=1
  216.  
  217. sizeTT= len(val_TT_base)
  218. print 'sizeTT', sizeTT
  219.  
  220.  
  221. # creation de la liste indicee
  222.  
  223. j=0
  224. v1=[]
  225. v10=[]
  226. vv2={}
  227. vv20={}
  228.  
  229. while l3 <= sizedata -2:
  230. if (l1<= sizeTT):
  231. if (val_T_base[l3]== val_TT_base[l1]):
  232. v1.append((val_min_base[l3],j))
  233. v10.append((vref[l3],j))
  234. else:
  235.  
  236. v1.append((val_min_base[l3],j+1))
  237. v10.append((vref[l3],j+1))
  238. l1+=1
  239. j+=1
  240.  
  241. l3+=1
  242.  
  243. if l3<sizedata:
  244. v1.append((val_min_base[sizedata-1],j))
  245. v10.append((vref[sizedata-1],j))
  246.  
  247.  
  248.  
  249. # concatenation des series par temperature
  250.  
  251. l3=0
  252. j=0
  253. T00=[]
  254. T000=[]
  255. Tmoy=[]
  256. while j <= sizeTT-2:
  257. T00=[]
  258. T000=[]
  259. while val_T_base[l3]== val_TT_base[j]:
  260.  
  261.  
  262. T00.append(v1[l3][0])
  263. T000.append(v10[l3][0])
  264. l3+=1
  265. vv2.update({val_TT_base[j] : T00})
  266. vv20.update({val_TT_base[j] : T000})
  267. Tmoy.append('%.2f' % mean(T00))
  268.  
  269. j+=1
  270.  
  271. if j==sizeTT-1:
  272. T00=[]
  273. T000=[]
  274.  
  275. while j <= sizeTT:
  276.  
  277.  
  278. T00.append(v1[l3][0])
  279. T000.append(v10[l3][0])
  280. l3+=1
  281. j+=1
  282. Tmoy.append('%.2f' % mean(T00))
  283. vv2.update({val_TT_base[j-2] : T00})
  284. vv20.update({val_TT_base[j-2] : T000})
  285.  
  286.  
  287.  
  288. temp10=[]
  289. temp20=[]
  290. lavalmin10=[]
  291. lavalmax10=[]
  292. lavalmin100=[]
  293. lavalmax100=[]
  294. lavalmoy10=[]
  295. lavalref=[]
  296. laval=[]
  297.  
  298. sorted_keys=vv2.keys()
  299. sorted_keys.sort()
  300. for tp in sorted_keys :
  301. l = vv2[tp]
  302. temp10.append(tp)
  303. lavalmin10.append(min(l))
  304. lavalmax10.append(max(l))
  305. lavalmin100.append(l)
  306. laval.append(l)
  307.  
  308.  
  309.  
  310.  
  311. sorted_keys=vv20.keys()
  312. sorted_keys.sort()
  313. for tp in sorted_keys :
  314. l1=vv20[tp]
  315. lavalref.append(l1)
  316.  
  317.  
  318.  
  319. chemin = 'C:/BDDM/monprojet/static/medias/'
  320. filepath = chemin + maref + '_' + maprop + '.txt'
  321.  
  322.  
  323. file = open(filepath,"wb")
  324. cw=csv.writer(file)
  325.  
  326.  
  327. cw.writerow(["Temperature Donnee Reference"])
  328.  
  329. cw.writerow([" "])
  330. for lat, lon, lup in zip(temp10, laval, lavalref):
  331. for j in range(len(lon)):
  332. cw.writerow(['%.2f' % lat, " ", '%.2f' % lon[j], " ", lup[j]])
  333.  
  334.  
  335. file.close()
  336.  
  337. valeur_T=[]
  338. valeur_min=[]
  339. valeur_max=[]
  340. valeur_ref=[]
  341. valeur_serie=[]
  342.  
  343.  
  344.  
  345. valeur_min= lavalmin10
  346. valeur_max= lavalmax10
  347. valeur_T= temp10
  348. valeur_serie=lavalmin100
  349. valeur_moy = Tmoy
  350.  
  351.  
  352.  
  353. nomfichier = maref + maprop + '.txt'
  354.  
  355. return valeur_T, valeur_min, valeur_max, valeur_moy, nomfichier
  356.  
  357. #except ValueError:
  358. #raise Exception('aucune donnee enregistree...')
  359. #return render_to_response('material/erreur2.html')
  360.  
  361. #except ValueError:
  362. #return render_to_response('material/erreur2.html')
  363. #raise Exception('aucune donnee enregistree...')
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375. def calcul2(maref, maprop):
  376.  
  377. data = Essai_Temperature.objects.filter(name__name=maref, val_champ=maprop)
  378.  
  379. val_min_base=[]
  380. val_max_base=[]
  381. val_T_base=[]
  382. vref = []
  383. print 'maref', maref
  384. for e in data:
  385.  
  386. val_T_base.append(e.valT)
  387. val_min_base.append(e.val10)
  388. vref.append(e.val_ref)
  389. l1=0
  390. l2=0
  391. l3=0
  392. sizeTT=0
  393.  
  394. val_TT_base=[]
  395.  
  396. sizedata = len(val_T_base)
  397.  
  398. # determination du nb de series identiques
  399.  
  400.  
  401. while l2 <= sizedata-2:
  402. if (l2==0):
  403. val_TT_base.append(val_T_base[l2])
  404. else:
  405. if (val_T_base[l2+1]!=val_T_base[l2]):
  406. val_TT_base.append(val_T_base[l2+1])
  407. l2+=1
  408.  
  409. sizeTT= len(val_TT_base)
  410.  
  411.  
  412. # creation de la liste indicee
  413.  
  414. j=0
  415. v1=[]
  416. v10=[]
  417. vv2={}
  418. vv20={}
  419.  
  420. while l3 <= sizedata -2:
  421. if (l1<= sizeTT):
  422. if (val_T_base[l3]== val_TT_base[l1]):
  423. v1.append((val_min_base[l3],j))
  424. v10.append((vref[l3],j))
  425. else:
  426. v1.append((val_min_base[l3],j+1))
  427. v10.append((vref[l3],j+1))
  428. l1+=1
  429. j+=1
  430.  
  431. l3+=1
  432.  
  433. if l3<sizedata:
  434. v1.append((val_min_base[sizedata-1],j))
  435. v10.append((vref[sizedata-1],j))
  436.  
  437.  
  438.  
  439. # concatenation des series par temperature
  440.  
  441. l3=0
  442. j=0
  443. T00=[]
  444. T000=[]
  445. Tmoy=[]
  446. while j <= sizeTT-2:
  447. T00=[]
  448. T000=[]
  449. while val_T_base[l3]== val_TT_base[j]:
  450. T00.append(v1[l3][0])
  451. T000.append(v10[l3][0])
  452. l3+=1
  453. vv2.update({val_TT_base[j] : T00})
  454. vv20.update({val_TT_base[j] : T000})
  455. Tmoy.append('%.2f' % mean(T00))
  456. j+=1
  457.  
  458. if j==sizeTT-1:
  459. T00=[]
  460. T000=[]
  461. while j <= sizeTT:
  462. T00.append(v1[l3][0])
  463. T000.append(v10[l3][0])
  464. l3+=1
  465. j+=1
  466. Tmoy.append('%.2f' % mean(T00))
  467. vv2.update({val_TT_base[j-2] : T00})
  468. vv20.update({val_TT_base[j-2] : T000})
  469.  
  470.  
  471.  
  472. temp10=[]
  473. temp20=[]
  474. lavalmin10=[]
  475. lavalmax10=[]
  476. lavalmin100=[]
  477. lavalmax100=[]
  478. lavalmoy10=[]
  479. lavalref=[]
  480. laval=[]
  481.  
  482. sorted_keys=vv2.keys()
  483. sorted_keys.sort()
  484. for tp in sorted_keys :
  485. l = vv2[tp]
  486. temp10.append(tp)
  487. lavalmin10.append(min(l))
  488. lavalmax10.append(max(l))
  489. lavalmin100.append(l)
  490. laval.append(l)
  491.  
  492.  
  493.  
  494.  
  495. sorted_keys=vv20.keys()
  496. sorted_keys.sort()
  497. for tp in sorted_keys :
  498. l1=vv20[tp]
  499. lavalref.append(l1)
  500.  
  501.  
  502.  
  503.  
  504.  
  505. valeur_T=[]
  506. valeur_min=[]
  507. valeur_max=[]
  508. valeur_ref=[]
  509. valeur_serie=[]
  510.  
  511.  
  512.  
  513. valeur_min= lavalmin10
  514. valeur_max= lavalmax10
  515. valeur_T= temp10
  516. valeur_serie=lavalmin100
  517.  
  518.  
  519.  
  520. return valeur_T, valeur_min, valeur_max
  521.  
  522.  
  523.  
  524.  
  525. def search_materiau(famille,val_TT, val_min, val_max, Tmin, Tmax):
  526.  
  527. try:
  528.  
  529. lemateriau = []
  530. material100= []
  531. material200= []
  532. material300= []
  533. material400= []
  534. material500= []
  535. material600= []
  536. material700= []
  537. material800= []
  538. indice=0
  539. tab100= []
  540. tab200= []
  541. val = []
  542. tab = []
  543. G = 0
  544. S=0
  545.  
  546.  
  547. print ' propriete:', val_TT
  548.  
  549. if famille == 'general':
  550. liste= Essai_Temperature.objects.filter(val_champ__icontains = val_TT, val10__lte=val_max, val10__gte=val_min).order_by('name')
  551.  
  552. #liste2= Material.objects.filter(category__name='ceramique')
  553.  
  554. #liste = Essai_Temperature.objects.filter(val_champ__icontains = val_TT, val10__range=[val_min, val_max]).order_by('name')
  555.  
  556. liste_mat = [e.name for e in liste]
  557. liste_mat = list(set(liste_mat))
  558.  
  559. else:
  560. liste= Essai_Temperature.objects.filter(val_champ__icontains = val_TT, val10__lte=val_max, val10__gte=val_min).order_by('name')
  561.  
  562. liste2= Material.objects.filter(category__name= famille)
  563.  
  564. #liste = Essai_Temperature.objects.filter(val_champ__icontains = val_TT, val10__range=[val_min, val_max]).order_by('name')
  565.  
  566. liste_mat = [e.name for e in liste]
  567. liste_mat = list(set(liste_mat))
  568.  
  569.  
  570. liste_cer = [e.name for e in liste2]
  571. liste_cer = list(set(liste2))
  572.  
  573.  
  574. unmat=[]
  575. for mat10 in liste_cer:
  576. if mat10 in liste_mat:
  577. unmat.append(mat10) # tous les materiaux de la categorie ceramique et appartenant a Essai_Temperature
  578.  
  579. liste_mat = unmat
  580.  
  581. print 'liste mat',liste_mat
  582.  
  583. for materiau in liste_mat:
  584.  
  585. valeur_T, valeur_min, valeur_max = calcul2(materiau, val_TT)
  586.  
  587.  
  588.  
  589. lemin=min(valeur_T) # valeur min de temperature du tableau propriete = f(T)
  590. lemax=max(valeur_T) # valeur max de temperature du tableau propriete = f(T)
  591.  
  592.  
  593. #if Tmin <= lemin and lemax <= Tmax:
  594.  
  595.  
  596.  
  597. P2 = polyfit(valeur_T,valeur_min,2) # Estimateurs de regression
  598. P3 = polyfit(valeur_T,valeur_max,2)
  599.  
  600. XX = arange(lemin,lemax,0.5) # echelle de temperatures
  601.  
  602.  
  603. #print 'XX',XX
  604.  
  605. y3= polyval(P2,XX) # y3 = val_min(XX)
  606. y4= polyval(P3,XX) # y4 = val_max(XX)
  607.  
  608. s1=len(y3)
  609.  
  610.  
  611. material300.append((Material.objects.get(name=materiau.name), y3))
  612. material400.append((Material.objects.get(name=materiau.name), y4))
  613. material500.append((Material.objects.get(name=materiau.name), XX))
  614.  
  615. ss = arange(Tmin,Tmax,1)
  616. y5= polyval(P2,ss)
  617. y6= polyval(P3,ss)
  618.  
  619. material600.append((Material.objects.get(name=materiau.name), y5))
  620. material700.append((Material.objects.get(name=materiau.name), y6))
  621. material800.append((Material.objects.get(name=materiau.name), ss))
  622.  
  623. s2=len(y5)
  624.  
  625. dX = (Tmax - Tmin)/s2
  626. X= Tmin - dX
  627.  
  628. tab.append(y3)
  629.  
  630. # Recherche des materiaux suivant les criteres de filtrage et calcul des surfaces materiaux par la methode des trapezes
  631.  
  632. Smin= 0
  633. Smax= 0
  634. store = []
  635. store2 = []
  636. store3 = []
  637. Aire = (Tmax - Tmin)* (val_max - val_min)
  638.  
  639. for i in range(s2):
  640. if ((y5[i]>=val_min) and (y5[i]<=val_max)) or ((y6[i]>=val_min) and (y6[i]<=val_max)) and (Tmin <= lemin) and (lemax <= Tmax):
  641.  
  642. store.append(y5[i])
  643. store2.append(y6[i])
  644. store3.append(ss[i])
  645.  
  646.  
  647. if (store[0] and store2[0]) >= val_min:
  648.  
  649. material100.append(Material.objects.get(name=materiau.name))
  650.  
  651. X= X + dX
  652. X1=X
  653. X2 = X1 + dX
  654.  
  655.  
  656. Smin = Smin + 0.5*dX*(P2[0]*X1*X1 + P2[1]*X1 + P2[2] + P2[0]*X2*X2 + P2[1]*X2 + P2[2])
  657. Smax = Smax + 0.5*dX*(P3[0]*X1*X1 + P3[1]*X1 + P3[2] + P3[0]*X2*X2 + P3[1]*X2 + P3[2])
  658.  
  659.  
  660. Aire_courbe = abs(Smax - Smin) # surface comprise entre les courbes max et min dans l intervalle Tmin Tmax
  661. surface = (Aire_courbe/Aire)*100
  662.  
  663. material200.append((Material.objects.get(name=materiau.name), surface))
  664.  
  665.  
  666.  
  667.  
  668.  
  669. indice+=1
  670.  
  671.  
  672. #print 'min_store', min(store)
  673. #print 'min_ss', min(ss)
  674. #print 'val_min',val_min
  675. interp1 = []
  676. interp2 = []
  677. interp10 = []
  678.  
  679.  
  680.  
  681. #for i in range(len(material300)):
  682. #print 'i', i
  683. #print 'nom materiau:', material300[i][0] # materiau
  684. #print 'materiau fit:', material300[i][1] # tableau de points interpoles valeurs min
  685.  
  686.  
  687.  
  688.  
  689. sizemat = len(material200)
  690.  
  691. #print 'mat600',material600
  692.  
  693. l1=0
  694. var30 = []
  695. var40 = []
  696. points=[]
  697.  
  698. # determination du couple (materiau, surface) elimination des doublons
  699.  
  700. while l1 <= sizemat - 2:
  701. if (material200[l1+1][0]!= material200[l1][0]) or (l1 == sizemat - 2):
  702. var30.append(material200[l1][0]) # materiau
  703. var40.append(material200[l1][1]) # surface
  704. points.append((material200[l1][0],material200[l1][1]))
  705. l1+=1
  706.  
  707. lemax=[]
  708. for i in range(len(points)):
  709. lemax.append(points[i][1])
  710.  
  711. l1=0
  712. c1=0
  713.  
  714. lemateriaumax=""
  715. if len(lemax)>0:
  716. c1=max(lemax)
  717. while l1 <len(points):
  718. if points[l1][1]==c1:
  719. lemateriaumax=points[l1][0]
  720. l1+=1
  721.  
  722. print 'lemax:', lemateriaumax
  723.  
  724. res1 = var30
  725. res2 = var40
  726.  
  727.  
  728. mat1_valmin=[]
  729. mat2_valmin=[]
  730. mat3_valmin=[]
  731. mat4_valmin=[]
  732. absmat1 = []
  733.  
  734.  
  735.  
  736.  
  737. # var30 : liste des materiaux en adequation
  738. # var50 : liste courbes interpolees (val min) des materiaux en adequation
  739. # var60 : liste courbes interpolees (val max) des materiaux en adequation
  740. # var70 : liste abscisse des temperatures(XX) des materiaux en adequation
  741.  
  742.  
  743.  
  744.  
  745. lemateriau = list(set(material100))
  746. print lemateriau
  747.  
  748. return lemateriau, res1, res2, points, material600, material700, material800, lemateriaumax
  749. except ZeroDivisionError:
  750. print("Vous ne pouvez pas diviser par zero !")
  751. return render_to_response('material/erreur2.html')
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758. # ***********************************************************************************************************************
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767. # Polynomial Regression
  768. def search_polyfit(x, y, degree):
  769. results = {}
  770. P2 = polyfit(x,y,degree)
  771. results['polynomial'] = P2.tolist()
  772.  
  773. p=poly1d(P2)
  774. yhat = [p(z) for z in x]
  775. ybar = sum(y)/len(y)
  776. ssreg = sum([ (yihat - ybar)**2 for yihat in yhat])
  777. sstot = sum([ (yi - ybar)**2 for yi in y])
  778. results['determination : '] = 1- ssreg / sstot
  779.  
  780. return results
  781.  
  782.  
  783. @login_required
  784. def view_category_detail(request, slug):
  785. category = get_object_or_404(Category, slug=slug)
  786.  
  787. return object_list(request, queryset=category.get_children(),
  788. extra_context={'category': category})
  789.  
  790.  
  791. def lit_prop_temp(request, id):
  792. temp1 = get_object_or_404(Temp_exp, id=id)
  793. return render_to_response('material/lit_prop.html', {'temp1': temp1})
  794.  
  795.  
  796.  
  797. def list_category(request):
  798. cats = Category.objects.filter(pk=id)
  799.  
  800. return render_to_response('sou_cat.html', {'cats': cats})
  801.  
  802.  
  803. # filtrage par mot cle
  804.  
  805. @login_required
  806. def search(request):
  807. errors = []
  808. if 'q' in request.GET:
  809. q = request.GET['q']
  810. if not q :
  811. return render_to_response('material/message.html')
  812. else:
  813. materiau = Material.objects.filter(name__icontains=q)
  814.  
  815. return render_to_response('material/search_results.html',
  816. {'materiau': materiau, 'query': q})
  817. return render_to_response(
  818. {'errors': errors})
  819.  
  820.  
  821. # filtrage par critere sur toute la base
  822.  
  823. def search_filter1(request):
  824. try:
  825. val1 = []
  826. val2 = []
  827. var70= []
  828. val_min1 = float(request.GET['Vmin1'])
  829. val_max1 = float(request.GET['Vmax1'])
  830. T_min1 = float(request.GET['Tmin1'])
  831. T_max1 = float(request.GET['Tmax1'])
  832. valT1 = request.GET['boite2'] # propriete 1
  833. #Unite = request.GET['mes_unites']
  834. print 'val_min1:',val_min1
  835. print 'val_max1:',val_max1
  836. famille = request.GET['family']
  837. #print 'unites:',Unite
  838. material1, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT1, val_min1, val_max1, T_min1, T_max1)
  839.  
  840. cc=[]
  841. mat1_valmin=[]
  842. mat1_valmax=[]
  843.  
  844. abscisse1 = []
  845. abscisse2 = []
  846. temperature=[]
  847. temperature2=[]
  848.  
  849.  
  850. var50=[]
  851. var70=[]
  852. var80=[]
  853. var90=[]
  854.  
  855.  
  856.  
  857. # reperage de l'indice du materiau ayant le plus grand rapport de surface
  858.  
  859. inc=0
  860. repere=0
  861. lemat = material1
  862. lemat = list(set(lemat))
  863.  
  864. SS= sorted(points, key=lambda x: x[1], reverse=True)
  865.  
  866.  
  867.  
  868. len1 = len(points)
  869.  
  870. if len1==0 or len(lemat)==0:
  871. raise(ValueError)
  872.  
  873. #print 'lemat',lemat
  874.  
  875. for i in range(len(lemat)):
  876. print lemat[i]
  877. cc.append((lemat[i]))
  878. if lemat[i]==lemateriaumax:
  879. repere=inc
  880. inc+=1
  881.  
  882. print 'repere:',repere
  883. print 'len(cc)', len(cc)
  884. print 'len(lemat)', len(lemat)
  885.  
  886. for i in range(len(material600)): # serie min
  887. var50.append(material600[i][1])
  888.  
  889. for i in range(len(material800)): # temperature
  890. var70.append(material800[i][1])
  891.  
  892.  
  893. for i in range(len(material700)): # serie max
  894. var80.append(material700[i][1])
  895.  
  896. # tableaux de points extrapoles avec le materiau ayant le plus grand rapport de surface
  897.  
  898. for i in range(len(var50)):
  899. if i==repere:
  900. mat1_valmin=var50[i]
  901. mat1_valmax=var80[i]
  902. temperature =var70[i]
  903.  
  904. #print var50
  905. print 'materiau trouve : ', lemat
  906.  
  907.  
  908. tabs = []
  909. letab= []
  910. mat10min10 =[]
  911. mat10max10 =[]
  912. mat10temp10=[]
  913. for i, val in enumerate(cc):
  914. tabs.append(cc)
  915. letab.append(tabs[0][i])
  916. mat10min10.append(var50[i])
  917. mat10max10.append(var80[i])
  918. mat10temp10.append(var70[i])
  919.  
  920.  
  921.  
  922. tab1=0
  923. tab2=0
  924. tab3=0
  925. tab4=0
  926. tab5=0
  927. mat1min1= []
  928. mat1max1 =[]
  929. mat1temp1=[]
  930. mat2min2= []
  931. mat2max2 =[]
  932. mat2temp2=[]
  933. mat3min3= []
  934. mat3max3 =[]
  935. mat3temp3=[]
  936. mat4min4= []
  937. mat4max4 =[]
  938. mat4temp4=[]
  939.  
  940.  
  941. if len(SS)>=4:
  942. j=0
  943. while j< len(material1):
  944. if SS[0][0]==material1[j]:
  945. print 'j', j
  946. letab1=SS[0][0]
  947. mat1min1 = var50[j]
  948. mat1max1 = var80[j]
  949. mat1temp1= var70[j]
  950. j+=1
  951. j=0
  952. while j< len(material1):
  953. if SS[1][0]==material1[j]:
  954. print 'j', j
  955. letab2=SS[1][0]
  956. mat2min2 = var50[j]
  957. mat2max2 = var80[j]
  958. mat2temp2= var70[j]
  959. j+=1
  960. j=0
  961. while j< len(material1):
  962. if SS[2][0]==material1[j]:
  963. print 'j', j
  964. letab3=SS[2][0]
  965. mat3min3 = var50[j]
  966. mat3max3 = var80[j]
  967. mat3temp3= var70[j]
  968. j+=1
  969. j=0
  970. while j< len(material1):
  971. if SS[3][0]==material1[j]:
  972. print 'j', j
  973. letab4=SS[3][0]
  974. mat4min4 = var50[j]
  975. mat4max4 = var80[j]
  976. mat4temp4= var70[j]
  977. j+=1
  978.  
  979.  
  980. j=0
  981. if len(SS)==3:
  982. j=0
  983. while j< len(material1):
  984. if SS[0][0]==material1[j]:
  985. letab1=SS[0][0]
  986. mat1min1 = var50[j]
  987. mat1max1 = var80[j]
  988. mat1temp1= var70[j]
  989. j+=1
  990. j=0
  991. while j< len(material1):
  992. if SS[1][0]==material1[j]:
  993. letab2=SS[1][0]
  994. mat2min2 = var50[j]
  995. mat2max2 = var80[j]
  996. mat2temp2= var70[j]
  997. j+=1
  998. j=0
  999. while j< len(material1):
  1000. if SS[2][0]==material1[j]:
  1001. letab3=SS[2][0]
  1002. mat3min3 = var50[j]
  1003. mat3max3 = var80[j]
  1004. mat3temp3= var70[j]
  1005. j+=1
  1006.  
  1007.  
  1008. if len(SS)==2:
  1009. j=0
  1010. while j< len(material1):
  1011. if SS[0][0]==material1[j]:
  1012. letab1=SS[0][0]
  1013. mat1min1 = var50[j]
  1014. mat1max1 = var80[j]
  1015. mat1temp1= var70[j]
  1016. j+=1
  1017. j=0
  1018. while j< len(material1):
  1019. if SS[1][0]==material1[j]:
  1020. letab2=SS[1][0]
  1021. mat2min2 = var50[j]
  1022. mat2max2 = var80[j]
  1023. mat2temp2= var70[j]
  1024. j+=1
  1025.  
  1026.  
  1027.  
  1028. if len(SS)==1:
  1029. j=0
  1030. while j< len(material1):
  1031. if SS[0][0]==material1[j]:
  1032. letab1=SS[0][0]
  1033. mat1min1 = var50[j]
  1034. mat1max1 = var80[j]
  1035. mat1temp1= var70[j]
  1036. j+=1
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044. return render_to_response('material/search_results_filt_one.html',
  1045. {'lemat':lemat,
  1046. 'matmax':lemateriaumax,
  1047. 'val1': val1,
  1048. 'val2': val2,
  1049. 'tab10':letab1,
  1050. 'tab20':letab2,
  1051. 'tab30':letab3,
  1052. 'tab40':letab4,
  1053. 'tab50':tab5,
  1054. 'valT1': valT1,
  1055. 'valmin':val_min1,
  1056. 'valmax':val_max1,
  1057. 'Tmin':T_min1,
  1058. 'Tmax':T_max1,
  1059. 'points':points,
  1060. 'tabs':letab,
  1061. 'mat1_valmin':mat1_valmin,
  1062. 'mat1_valmax':mat1_valmax,
  1063. 'mat1min1' : mat1min1,
  1064. 'mat1max1' : mat1max1,
  1065. 'mat1temp1': mat1temp1,
  1066. 'mat2min2' : mat2min2,
  1067. 'mat2max2' : mat2max2,
  1068. 'mat2temp2': mat2temp2,
  1069. 'mat3min3' : mat3min3,
  1070. 'mat3max3' : mat3max3,
  1071. 'mat3temp3': mat3temp3,
  1072. 'mat4min4' : mat4min4,
  1073. 'mat4max4' : mat4max4,
  1074. 'mat4temp4': mat4temp4,
  1075. 'mat10min10': mat10min10,
  1076. 'mat10max10': mat10max10,
  1077. 'mat10temp10':mat10temp10,
  1078. 'famille':famille,
  1079. 'ab1':temperature,
  1080. 'ab2':temperature2,
  1081. 'ab2':abscisse2,
  1082. 'res1': res1,
  1083. 'res2': res2 },
  1084. context_instance=RequestContext(request))
  1085. except ValueError:
  1086. return render_to_response('material/erreur2.html')
  1087.  
  1088.  
  1089. def process(lst):
  1090. res = dict()
  1091. for key, val in lst:
  1092. #Le second parametre de get est la valeur
  1093. #a retourner au cas ou <key> n'est pas encore
  1094. #contenu dans le dictionnaire
  1095. res[key] = res.get(key, 0) + val
  1096. return res.items()
  1097.  
  1098.  
  1099. #************************************search_filter2
  1100.  
  1101. def search_filter2(request):
  1102.  
  1103. try:
  1104. val1 = []
  1105. val2 = []
  1106. unmat=[]
  1107. unmat1=[]
  1108. unmat2=[]
  1109. cc=[]
  1110. cc1=[]
  1111. cc2=[]
  1112. var50=[]
  1113. var70=[]
  1114. var80=[]
  1115. var500=[]
  1116. var700=[]
  1117. var800=[]
  1118. BOOL=0
  1119.  
  1120. #valoption1 = float(request.GET['boite100']) # ponderation 1
  1121. #valoption2 = float(request.GET['boite200']) # ponderation 2
  1122. #if request.GET['Vmin1'].isdecimal():
  1123.  
  1124. #val_min1 = request.GET['Vmin1']
  1125. #val_min1 = val_min1.replace(",",".")
  1126.  
  1127.  
  1128. #if unicode(val_min1).isdecimal():
  1129. #print 'passage1'
  1130. #val_min1 = float(request.GET['Vmin1'])
  1131. #else:
  1132. #print 'passage2', len(val_min1)
  1133. #raise(ValueError)
  1134.  
  1135.  
  1136. val_min1 = float(request.GET['Vmin1'])
  1137. val_max1 = float(request.GET['Vmax1'])
  1138. T_min1 = float(request.GET['Tmin1'])
  1139. T_max1 = float(request.GET['Tmax1'])
  1140. val_min2 = float(request.GET['Vmin2'])
  1141. val_max2 = float(request.GET['Vmax2'])
  1142. T_min2 = float(request.GET['Tmin2'])
  1143. T_max2 = float(request.GET['Tmax2'])
  1144. valT1 = request.GET['boite2'] # propriete 1
  1145. valT2 = request.GET['boite4'] # propriete 2
  1146. #Unite1 = request.GET['mes_unites']
  1147. #Unite2 = request.GET['mes_unites2']
  1148. famille = request.GET['family']
  1149. print 'val_min1:',val_min1
  1150. print 'val_max1:',val_max1
  1151. print 'T_min1:',T_min1
  1152. print 'T_max1:',T_max1
  1153. #print 'unite1',Unite1
  1154. #print 'unite2',Unite2
  1155. print 'famille', famille
  1156.  
  1157. material1, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT1, val_min1, val_max1, T_min1, T_max1)
  1158.  
  1159. mat3 = res1
  1160. mat4 = res2
  1161. points1=points
  1162. matmax1= lemateriaumax
  1163. mat600P1 = material600
  1164. mat700P1 = material700
  1165. mat800P1 = material800
  1166.  
  1167. material2, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT2, val_min2, val_max2, T_min2, T_max2)
  1168.  
  1169. mat30 = res1
  1170. mat40 = res2
  1171. points2=points
  1172. matmax2= lemateriaumax
  1173. mat600P2 = material600
  1174. mat700P2 = material700
  1175. mat800P2 = material800
  1176.  
  1177. j=0
  1178. i=0
  1179. T10 = []
  1180. T20 = []
  1181. MM = []
  1182. M1 = []
  1183. M2 = []
  1184. T100 = []
  1185. MM1 = []
  1186. MM2 = []
  1187. MM3 = []
  1188. print 'points1', points1
  1189. print 'points2', points2
  1190.  
  1191. len1 = len(points1)
  1192. len2 = len(points2)
  1193. print 'len1', len1
  1194. print 'len2', len2
  1195. print material1
  1196. print material2
  1197.  
  1198. # trier par ordre croissant points1
  1199.  
  1200.  
  1201. #SS= sorted(points1, reverse=True)
  1202.  
  1203. SS= sorted(points1, key=lambda x: x[1], reverse=True)
  1204. SS2= sorted(points2, key=lambda x: x[1], reverse=True)
  1205.  
  1206. print 'SS', SS
  1207. lenSS = len(SS)
  1208. lenSS2 = len(SS2)
  1209.  
  1210. #print 'points1[0][0]',points1[0][0]
  1211. #print 'points1[0][1]',points1[0][1]
  1212.  
  1213.  
  1214.  
  1215.  
  1216. for mat10 in material1:
  1217. if mat10 in material2:
  1218. unmat.append(mat10)
  1219.  
  1220.  
  1221. lemat = list(set(unmat))
  1222. print 'materiau trouve : ', lemat
  1223. print 'lemat:', lemat
  1224.  
  1225. print 'BOOL',BOOL
  1226. if val_min1<0 or val_max1<0 or T_min1<0 or T_max1<0 or val_min2<0 or val_max2<0 or T_min2<0 or T_max2<0:
  1227. BOOL=0
  1228. raise(ValueError)
  1229.  
  1230. if len1==0 or len2==0 or len(lemat)==0:
  1231. BOOL=1
  1232. raise(ValueError)
  1233.  
  1234.  
  1235. print 'val_min1', val_min1
  1236. print 'BOOL',BOOL
  1237.  
  1238. # calcul des ponderations liees a chaque materiau
  1239.  
  1240. for i in range(len(points1)):
  1241. M1.append(points1[i][0])
  1242.  
  1243. for i in range(len(points2)):
  1244. M2.append(points2[i][0])
  1245.  
  1246. for i in range(len(points1)):
  1247. MM1.append(points1[i][1])
  1248.  
  1249. for i in range(len(points2)):
  1250. MM2.append(points2[i][1])
  1251.  
  1252.  
  1253. valoption1 = 1
  1254. valoption2 = 1
  1255.  
  1256. inter1 = set(material1).intersection(set(material2))
  1257. inter2 = set(M1).intersection(set(M2))
  1258.  
  1259.  
  1260. mat100=[]
  1261. T100=[]
  1262. j=0
  1263. T50=[]
  1264. M4=[]
  1265. M6=[]
  1266. for mat100 in inter1:
  1267. if mat100 in inter2:
  1268. i=0
  1269. while i<len(M1):
  1270. if M1[i]==mat100:
  1271. T50=[]
  1272. T50 = (MM1[i]*valoption1)/(valoption1 + valoption2)
  1273. M4.append((mat100, T50))
  1274. i+=1
  1275. i=0
  1276. while i<len(M2):
  1277. if M2[i]==mat100:
  1278. T50=[]
  1279. T50 = (MM2[i]*valoption2)/(valoption1 + valoption2)
  1280. M4.append((mat100, T50))
  1281. i+=1
  1282.  
  1283.  
  1284. print 'M4[0]',M4[0][0]
  1285.  
  1286.  
  1287. M6 = process(M4)
  1288.  
  1289. print 'M6', len(M6) # points3
  1290.  
  1291.  
  1292.  
  1293.  
  1294. print 'M4',M4
  1295. print 'M6',M6
  1296. print 'search_filter2'
  1297. T1 = []
  1298. T2 = []
  1299. for i in range(len(points1)):
  1300. T1.append((points1[i][1])*valoption1)
  1301. P1 = sum(T1)
  1302.  
  1303. for i in range(len(points2)):
  1304. T2.append((points2[i][1])*valoption2)
  1305. P2 = sum(T2)
  1306.  
  1307. MAP = (P1+P2)/(valoption1 + valoption2)
  1308.  
  1309. print 'moyenne arithmetique ponderee:', MAP
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317. for mat10 in material1:
  1318. unmat1.append(mat10)
  1319.  
  1320. lemat1 = list(set(unmat1))
  1321.  
  1322.  
  1323. for mat10 in material2:
  1324. unmat2.append(mat10)
  1325.  
  1326. lemat2 = list(set(unmat2))
  1327.  
  1328.  
  1329. for i in range(len(mat600P1)): # serie min
  1330. var50.append(mat600P1[i][1])
  1331.  
  1332. for i in range(len(mat800P1)): # temperature
  1333. var70.append(mat800P1[i][1])
  1334.  
  1335.  
  1336. for i in range(len(mat700P1)): # serie max
  1337. var80.append(mat700P1[i][1])
  1338.  
  1339.  
  1340. for i in range(len(mat600P2)): # serie min
  1341. var500.append(mat600P2[i][1])
  1342.  
  1343. for i in range(len(mat800P2)): # temperature
  1344. var700.append(mat800P2[i][1])
  1345.  
  1346.  
  1347. for i in range(len(mat700P2)): # serie max
  1348. var800.append(mat700P2[i][1])
  1349.  
  1350.  
  1351. inc=0
  1352. repere1=0
  1353. for i in range(len(lemat1)):
  1354. cc1.append((lemat1[i]))
  1355. if lemat1[i]==matmax1:
  1356. repere1=inc
  1357. inc+=1
  1358.  
  1359. # tableaux de points extrapoles avec le materiau ayant le plus grand rapport de surface
  1360. mat1_valmin=[]
  1361. mat1_valmax=[]
  1362. temperature=[]
  1363. for i in range(len(var50)):
  1364. if i==repere1:
  1365. mat1_valmin=var50[i]
  1366. mat1_valmax=var80[i]
  1367. temperature =var70[i]
  1368.  
  1369. print 'temperature', len(temperature)
  1370. print 'mat1valmin', len(mat1_valmin)
  1371. letab1=0
  1372. letab2=0
  1373. letab3=0
  1374. letab4=0
  1375. mat1min1= []
  1376. mat1max1 =[]
  1377. mat1temp1=[]
  1378. mat2min2= []
  1379. mat2max2 =[]
  1380. mat2temp2=[]
  1381. mat3min3= []
  1382. mat3max3 =[]
  1383. mat3temp3=[]
  1384. mat4min4= []
  1385. mat4max4 =[]
  1386. mat4temp4=[]
  1387.  
  1388. print 'SS', SS
  1389. print 'material1', material1
  1390.  
  1391.  
  1392.  
  1393. j=0
  1394. f=0
  1395. if len(SS)>=4:
  1396. j=0
  1397. while j< len(material1):
  1398. if SS[0][0]==material1[j]:
  1399. print 'j', j
  1400. letab1=SS[0][0]
  1401. mat1min1 = var50[j]
  1402. mat1max1 = var80[j]
  1403. mat1temp1= var70[j]
  1404. j+=1
  1405. j=0
  1406. while j< len(material1):
  1407. if SS[1][0]==material1[j]:
  1408. print 'j', j
  1409. letab2=SS[1][0]
  1410. mat2min2 = var50[j]
  1411. mat2max2 = var80[j]
  1412. mat2temp2= var70[j]
  1413. j+=1
  1414. j=0
  1415. while j< len(material1):
  1416. if SS[2][0]==material1[j]:
  1417. print 'j', j
  1418. letab3=SS[2][0]
  1419. mat3min3 = var50[j]
  1420. mat3max3 = var80[j]
  1421. mat3temp3= var70[j]
  1422. j+=1
  1423. j=0
  1424. while j< len(material1):
  1425. if SS[3][0]==material1[j]:
  1426. print 'j', j
  1427. letab4=SS[3][0]
  1428. mat4min4 = var50[j]
  1429. mat4max4 = var80[j]
  1430. mat4temp4= var70[j]
  1431. j+=1
  1432.  
  1433.  
  1434. j=0
  1435. if len(SS)==3:
  1436. j=0
  1437. while j< len(material1):
  1438. if SS[0][0]==material1[j]:
  1439. letab1=SS[0][0]
  1440. mat1min1 = var50[j]
  1441. mat1max1 = var80[j]
  1442. mat1temp1= var70[j]
  1443. j+=1
  1444. j=0
  1445. while j< len(material1):
  1446. if SS[1][0]==material1[j]:
  1447. letab2=SS[1][0]
  1448. mat2min2 = var50[j]
  1449. mat2max2 = var80[j]
  1450. mat2temp2= var70[j]
  1451. j+=1
  1452. j=0
  1453. while j< len(material1):
  1454. if SS[2][0]==material1[j]:
  1455. letab3=SS[2][0]
  1456. mat3min3 = var50[j]
  1457. mat3max3 = var80[j]
  1458. mat3temp3= var70[j]
  1459. j+=1
  1460.  
  1461.  
  1462. if len(SS)==2:
  1463. j=0
  1464. while j< len(material1):
  1465. if SS[0][0]==material1[j]:
  1466. letab1=SS[0][0]
  1467. mat1min1 = var50[j]
  1468. mat1max1 = var80[j]
  1469. mat1temp1= var70[j]
  1470. j+=1
  1471. j=0
  1472. while j< len(material1):
  1473. if SS[1][0]==material1[j]:
  1474. letab2=SS[1][0]
  1475. mat2min2 = var50[j]
  1476. mat2max2 = var80[j]
  1477. mat2temp2= var70[j]
  1478. j+=1
  1479.  
  1480.  
  1481.  
  1482. if len(SS)==1:
  1483. j=0
  1484. while j< len(material1):
  1485. if SS[0][0]==material1[j]:
  1486. letab1=SS[0][0]
  1487. mat1min1 = var50[j]
  1488. mat1max1 = var80[j]
  1489. mat1temp1= var70[j]
  1490. j+=1
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500. #print 'leta1111', letab1, letab2, letab3, repere1
  1501. #print 'mat1min1', mat1min1
  1502.  
  1503. inc=0
  1504. repere2=0
  1505. for i in range(len(lemat2)):
  1506. cc2.append((lemat2[i]))
  1507. if lemat2[i]==matmax2:
  1508. repere2=inc
  1509. inc+=1
  1510.  
  1511.  
  1512. mat1_valmin2=[]
  1513. mat1_valmax2=[]
  1514. temperature2=[]
  1515. for i in range(len(var500)):
  1516. if i==repere2:
  1517. mat1_valmin2=var500[i]
  1518. mat1_valmax2=var800[i]
  1519. temperature2 =var700[i]
  1520.  
  1521. tabs = []
  1522. letab= []
  1523. mat10min10 =[]
  1524. mat10max10 =[]
  1525. mat10temp10=[]
  1526. for i, val in enumerate(cc1):
  1527. print "cc1[%d] = %r" % (i, val)
  1528. tabs.append(cc1)
  1529. letab.append(tabs[0][i])
  1530. mat10min10.append(var50[i])
  1531. mat10max10.append(var80[i])
  1532. mat10temp10.append(var70[i])
  1533.  
  1534.  
  1535. untabs = []
  1536. unletab= []
  1537.  
  1538. for ii, vall in enumerate(cc2):
  1539. untabs.append(cc2)
  1540. unletab.append(untabs[0][ii])
  1541.  
  1542. #print 'tabs', tabs
  1543. print ''
  1544. #print 'untabs', untabs
  1545. print 'letab', letab
  1546. print ''
  1547. print 'unletab', unletab
  1548.  
  1549. letab10=0
  1550. letab20=0
  1551. letab30=0
  1552. letab40=0
  1553. mat10min10= []
  1554. mat10max10 =[]
  1555. mat10temp10=[]
  1556. mat20min20= []
  1557. mat20max20 =[]
  1558. mat20temp20=[]
  1559. mat30min30= []
  1560. mat30max30 =[]
  1561. mat30temp30=[]
  1562. mat40min40= []
  1563. mat40max40 =[]
  1564. mat40temp40=[]
  1565.  
  1566.  
  1567.  
  1568.  
  1569. j=0
  1570. f=0
  1571. if len(SS2)>=4:
  1572. j=0
  1573. while j< len(material2):
  1574. if SS2[0][0]==material2[j]:
  1575. letab10=SS2[0][0]
  1576. mat10min10 = var500[j]
  1577. mat10max10 = var800[j]
  1578. mat10temp10= var700[j]
  1579. j+=1
  1580. j=0
  1581. while j< len(material2):
  1582. if SS2[1][0]==material2[j]:
  1583. letab20=SS2[1][0]
  1584. mat20min20 = var500[j]
  1585. mat20max20 = var800[j]
  1586. mat20temp20= var700[j]
  1587. j+=1
  1588. j=0
  1589. while j< len(material2):
  1590. if SS2[2][0]==material2[j]:
  1591. letab30=SS2[2][0]
  1592. mat30min30 = var500[j]
  1593. mat30max30 = var800[j]
  1594. mat30temp30= var700[j]
  1595. j+=1
  1596. j=0
  1597. while j< len(material2):
  1598. if SS2[3][0]==material2[j]:
  1599. letab40=SS2[3][0]
  1600. mat40min40 = var500[j]
  1601. mat40max40 = var800[j]
  1602. mat40temp40= var700[j]
  1603. j+=1
  1604.  
  1605.  
  1606.  
  1607. j=0
  1608. f=0
  1609. if len(SS2)==3:
  1610. j=0
  1611. while j< len(material2):
  1612. if SS2[0][0]==material2[j]:
  1613. letab10=SS2[0][0]
  1614. mat10min10 = var500[j]
  1615. mat10max10 = var800[j]
  1616. mat10temp10= var700[j]
  1617. j+=1
  1618. j=0
  1619. while j< len(material2):
  1620. if SS2[1][0]==material2[j]:
  1621. letab20=SS2[1][0]
  1622. mat20min20 = var500[j]
  1623. mat20max20 = var800[j]
  1624. mat20temp20= var700[j]
  1625. j+=1
  1626. j=0
  1627. while j< len(material2):
  1628. if SS2[2][0]==material2[j]:
  1629. letab30=SS2[2][0]
  1630. mat30min30 = var500[j]
  1631. mat30max30 = var800[j]
  1632. mat30temp30= var700[j]
  1633. j+=1
  1634.  
  1635.  
  1636. j=0
  1637. f=0
  1638. if len(SS2)==2:
  1639. j=0
  1640. while j< len(material2):
  1641. if SS2[0][0]==material2[j]:
  1642. letab10=SS2[0][0]
  1643. mat10min10 = var500[j]
  1644. mat10max10 = var800[j]
  1645. mat10temp10= var700[j]
  1646. j+=1
  1647. j=0
  1648. while j< len(material2):
  1649. if SS2[1][0]==material2[j]:
  1650. letab20=SS2[1][0]
  1651. mat20min20 = var500[j]
  1652. mat20max20 = var800[j]
  1653. mat20temp20= var700[j]
  1654. j+=1
  1655.  
  1656.  
  1657.  
  1658. j=0
  1659. f=0
  1660. if len(SS2)==1:
  1661. j=0
  1662. while j< len(material2):
  1663. if SS2[0][0]==material2[j]:
  1664. letab10=SS2[0][0]
  1665. mat10min10 = var500[j]
  1666. mat10max10 = var800[j]
  1667. mat10temp10= var700[j]
  1668. j+=1
  1669.  
  1670.  
  1671.  
  1672.  
  1673.  
  1674. inc=0
  1675. repere=0
  1676. for i in range(len(lemat)):
  1677. print lemat[i]
  1678. cc.append((lemat[i]))
  1679. if lemat[i]==matmax1:
  1680. if lemat[i]==matmax2:
  1681. repere=inc
  1682. inc+=1
  1683.  
  1684.  
  1685.  
  1686. tab1=0
  1687. tab2=0
  1688. tab3=0
  1689. tab4=0
  1690. tab5=0
  1691.  
  1692. for i in range(len(cc)): # nbr de materiaux trouves
  1693.  
  1694. if len(cc)==1: # 1 materiau
  1695. tab1=cc[0]
  1696. if len(cc)==2: # 2 materiaux
  1697. tab1=cc[0]
  1698. tab2=cc[1]
  1699. if len(cc)==3: # 3 materiaux
  1700. tab1=cc[0]
  1701. tab2=cc[1]
  1702. tab3=cc[2]
  1703. if len(cc)==4: # 4 materiaux
  1704. tab1=cc[0]
  1705. tab2=cc[1]
  1706. tab3=cc[2]
  1707. tab4=cc[3]
  1708. if len(cc)==5: # 5 materiaux
  1709. tab1=cc[0]
  1710. tab2=cc[1]
  1711. tab3=cc[2]
  1712. tab4=cc[3]
  1713. tab5=cc[4]
  1714.  
  1715.  
  1716. return render_to_response('material/search_results_filt2.html',
  1717. {'lemat':lemat,
  1718. 'res1': res1,
  1719. 'res2': res2,
  1720. 'valT1': valT1,
  1721. 'valT2': valT2,
  1722. 'p1_1': letab1,
  1723. 'p1_2': letab2,
  1724. 'p1_3': letab3,
  1725. 'p1_4': letab4,
  1726. 'p2_1': letab10,
  1727. 'p2_2': letab20,
  1728. 'p2_3': letab30,
  1729. 'p2_4': letab40,
  1730. 'tab10':tab1,
  1731. 'tab20':tab2,
  1732. 'tab30':tab3,
  1733. 'tab40':tab4,
  1734. 'tab50':tab5,
  1735. 'famille':famille,
  1736. 'mat1min1':mat1min1,
  1737. 'mat1max1':mat1max1,
  1738. 'mat1temp1':mat1temp1,
  1739. 'mat2min2':mat2min2,
  1740. 'mat2max2':mat2max2,
  1741. 'mat2temp2':mat2temp2,
  1742. 'mat3min3':mat3min3,
  1743. 'mat3max3':mat3max3,
  1744. 'mat3temp3':mat3temp3,
  1745. 'mat4min4':mat4min4,
  1746. 'mat4max4':mat4max4,
  1747. 'mat4temp4':mat4temp4,
  1748. 'tabs':letab,
  1749. 'unletab':unletab,
  1750. 'mat10min10':mat10min10,
  1751. 'mat10max10':mat10max10,
  1752. 'mat10temp10':mat10temp10,
  1753. 'mat20min20':mat20min20,
  1754. 'mat20max20':mat20max20,
  1755. 'mat20temp20':mat20temp20,
  1756. 'mat30min30':mat30min30,
  1757. 'mat30max30':mat30max30,
  1758. 'mat30temp30':mat30temp30,
  1759. 'mat40min40':mat40min40,
  1760. 'mat40max40':mat40max40,
  1761. 'mat40temp40':mat40temp40,
  1762. 'MM':M6,
  1763. 'mat1_valmin':mat1_valmin,
  1764. 'mat1_valmax':mat1_valmax,
  1765. 'ab1':temperature,
  1766. 'mat2_valmin':mat1_valmin2,
  1767. 'mat2_valmax':mat1_valmax2,
  1768. 'ab2':temperature2,
  1769. 'valmin1':val_min1,
  1770. 'valmax1':val_max1,
  1771. 'Tmin1':T_min1,
  1772. 'Tmax1':T_max1,
  1773. #'Unit1':Unite1,
  1774. 'map':MAP,
  1775. 'valmin2':val_min2,
  1776. 'valmax2':val_max2,
  1777. 'Tmin2':T_min2,
  1778. 'Tmax2':T_max2,
  1779. #'Unit2':Unite2,
  1780. 'points1':points1,
  1781. 'points2':points2 },
  1782. context_instance=RequestContext(request))
  1783. except ValueError:
  1784. if BOOL==1:
  1785. return render_to_response('material/erreur2.html')
  1786. else:
  1787. return render_to_response('material/erreur3.html')
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794.  
  1795. #return render_to_response('material/search_results_filt.html')
  1796.  
  1797.  
  1798.  
  1799.  
  1800.  
  1801. def search_filter3(request):
  1802. try:
  1803. val1 = []
  1804. val2 = []
  1805. unmat=[]
  1806. lemat=[]
  1807. BOOL = 0
  1808. #valoption1 = float(request.GET['boite100'])
  1809. #valoption2 = float(request.GET['boite200'])
  1810. #valoption3 = float(request.GET['boite300'])
  1811. val_min1 = float(request.GET['Vmin1'])
  1812. val_max1 = float(request.GET['Vmax1'])
  1813. T_min1 = float(request.GET['Tmin1'])
  1814. T_max1 = float(request.GET['Tmax1'])
  1815. val_min2 = float(request.GET['Vmin2'])
  1816. val_max2 = float(request.GET['Vmax2'])
  1817. T_min2 = float(request.GET['Tmin2'])
  1818. T_max2 = float(request.GET['Tmax2'])
  1819. val_min3 = float(request.GET['Vmin3'])
  1820. val_max3 = float(request.GET['Vmax3'])
  1821. T_min3 = float(request.GET['Tmin3'])
  1822. T_max3 = float(request.GET['Tmax3'])
  1823. famille = request.GET['family']
  1824. valT1 = request.GET['boite2'] # propriete 1
  1825. valT2 = request.GET['boite4'] # propriete 2
  1826. valT3 = request.GET['boite6'] # propriete 3
  1827. #Unite1 = request.GET['mes_unites']
  1828. #Unite2 = request.GET['mes_unites2']
  1829. #Unite3 = request.GET['mes_unites3']
  1830.  
  1831.  
  1832. material1, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT1, val_min1, val_max1, T_min1, T_max1)
  1833. points1 = points
  1834. mat600P1 = material600
  1835. mat700P1 = material700
  1836. mat800P1 = material800
  1837. material2, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT2, val_min2, val_max2, T_min2, T_max2)
  1838. points2 = points
  1839. mat600P2 = material600
  1840. mat700P2 = material700
  1841. mat800P2 = material800
  1842. material3, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT3, val_min3, val_max3, T_min3, T_max3)
  1843. points3 = points
  1844. mat600P3 = material600
  1845. mat700P3 = material700
  1846. mat800P3 = material800
  1847.  
  1848. len1 = len(points1)
  1849. len2 = len(points2)
  1850. len3 = len(points3)
  1851. print 'len1', len1
  1852. print 'len2', len2
  1853. print 'len3', len3
  1854.  
  1855.  
  1856. SS= sorted(points1, key=lambda x: x[1], reverse=True)
  1857. SS2= sorted(points2, key=lambda x: x[1], reverse=True)
  1858. SS3= sorted(points3, key=lambda x: x[1], reverse=True)
  1859.  
  1860.  
  1861. for mat1 in material1:
  1862. if mat1 in material2:
  1863. if mat1 in material3:
  1864. unmat.append(mat1)
  1865.  
  1866.  
  1867. lemat = list(set(unmat))
  1868. print 'materiau trouve : ', lemat
  1869.  
  1870. print 'val_min1', val_min1
  1871. #var BOOL=0
  1872. if val_min1<0 or val_max1<0 or T_min1<0 or T_max1<0 or val_min2<0 or val_max2<0 or T_min2<0 or T_max2<0 or val_min3<0 or val_max3<0 or T_min3<0 or T_max3<0:
  1873. BOOL=0
  1874. raise(ValueError)
  1875.  
  1876. print 'BOOL', BOOL
  1877.  
  1878. if len1==0 or len2==0 or len3==0 or len(lemat)==0:
  1879. BOOL=1
  1880. raise(ValueError)
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887. #***************************************calcul des ponderations liees a chaque materiau********************************
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894. M1=[]
  1895. M2=[]
  1896. M3=[]
  1897. MM1=[]
  1898. MM2=[]
  1899. MM3=[]
  1900.  
  1901.  
  1902.  
  1903. for i in range(len(points1)):
  1904. M1.append(points1[i][0])
  1905.  
  1906. for i in range(len(points2)):
  1907. M2.append(points2[i][0])
  1908.  
  1909. for i in range(len(points3)):
  1910. M3.append(points3[i][0])
  1911.  
  1912. for i in range(len(points1)):
  1913. MM1.append(points1[i][1])
  1914.  
  1915. for i in range(len(points2)):
  1916. MM2.append(points2[i][1])
  1917.  
  1918. for i in range(len(points3)):
  1919. MM3.append(points3[i][1])
  1920.  
  1921. inter1 = set(material1).intersection(set(material2)).intersection(set(material3))
  1922. inter2 = set(M1).intersection(set(M2)).intersection(set(M3))
  1923.  
  1924. print 'inter1', inter1
  1925. print 'inter2', inter2
  1926. valoption1 = 1
  1927. valoption2 = 1
  1928. valoption3 = 1
  1929.  
  1930. mat100=[]
  1931. T100=[]
  1932. j=0
  1933. T50=[]
  1934. M4=[]
  1935. for mat100 in inter1:
  1936. if mat100 in inter2:
  1937. i=0
  1938. while i<len(M1):
  1939. if M1[i]==mat100:
  1940. T50 = (MM1[i]*valoption1)/(valoption1 + valoption2 + valoption3)
  1941. M4.append((mat100, T50))
  1942. i+=1
  1943. i=0
  1944. while i<len(M2):
  1945. if M2[i]==mat100:
  1946. T50 = (MM2[i]*valoption2)/(valoption1 + valoption2 + valoption3)
  1947. M4.append((mat100, T50))
  1948. i+=1
  1949. i=0
  1950. while i<len(M3):
  1951. if M3[i]==mat100:
  1952. T50 = (MM3[i]*valoption3)/(valoption1 + valoption2 + valoption3)
  1953. M4.append((mat100, T50))
  1954. i+=1
  1955.  
  1956.  
  1957. print 'M4{0]', M4[0]
  1958.  
  1959. M6 = process(M4)
  1960.  
  1961. print 'M6', M6 # points3
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967. T10 = []
  1968. T20 = []
  1969. MM = []
  1970.  
  1971.  
  1972.  
  1973. T1 = []
  1974. T2 = []
  1975. T3 = []
  1976.  
  1977. for i in range(len1):
  1978. T1.append((points1[i][1])*valoption1)
  1979. P1 = sum(T1)
  1980.  
  1981. for i in range(len2):
  1982. T2.append((points2[i][1])*valoption2)
  1983. P2 = sum(T2)
  1984.  
  1985. for i in range(len3):
  1986. T3.append((points3[i][1])*valoption3)
  1987. P3 = sum(T3)
  1988.  
  1989.  
  1990. MAP = (P1+P2+P3)/(valoption1 + valoption2 + valoption3)
  1991.  
  1992. print 'moyenne arithmetique ponderee:', MAP
  1993.  
  1994.  
  1995. unmat1 = []
  1996. unmat2 = []
  1997. unmat3 = []
  1998. lemat1 = []
  1999. lemat2 = []
  2000. lemat3 = []
  2001.  
  2002. # elimination des doublons pour chaque serie de materiaux
  2003.  
  2004. for mat10 in material1:
  2005. unmat1.append(mat10)
  2006.  
  2007. lemat1 = list(set(unmat1))
  2008.  
  2009.  
  2010. for mat10 in material2:
  2011. unmat2.append(mat10)
  2012.  
  2013. lemat2 = list(set(unmat2))
  2014.  
  2015. for mat10 in material3:
  2016. unmat3.append(mat10)
  2017.  
  2018. lemat3 = list(set(unmat3))
  2019.  
  2020.  
  2021.  
  2022. var50=[]
  2023. var70=[]
  2024. var80=[]
  2025. var500=[]
  2026. var700=[]
  2027. var800=[]
  2028. var5000=[]
  2029. var7000=[]
  2030. var8000=[]
  2031.  
  2032. for i in range(len(mat600P1)): # serie min
  2033. var50.append(mat600P1[i][1])
  2034.  
  2035. for i in range(len(mat800P1)): # temperature
  2036. var70.append(mat800P1[i][1])
  2037.  
  2038.  
  2039. for i in range(len(mat700P1)): # serie max
  2040. var80.append(mat700P1[i][1])
  2041.  
  2042.  
  2043. for i in range(len(mat600P2)): # serie min
  2044. var500.append(mat600P2[i][1])
  2045.  
  2046. for i in range(len(mat800P2)): # temperature
  2047. var700.append(mat800P2[i][1])
  2048.  
  2049.  
  2050. for i in range(len(mat700P2)): # serie max
  2051. var800.append(mat700P2[i][1])
  2052.  
  2053. for i in range(len(mat600P3)): # serie min
  2054. var5000.append(mat600P3[i][1])
  2055.  
  2056. for i in range(len(mat800P3)): # temperature
  2057. var7000.append(mat800P3[i][1])
  2058.  
  2059.  
  2060. for i in range(len(mat700P3)): # serie max
  2061. var8000.append(mat700P3[i][1])
  2062.  
  2063.  
  2064.  
  2065. # serie de materiaux (propriete 1)
  2066.  
  2067. letab1=0
  2068. letab2=0
  2069. letab3=0
  2070. letab4=0
  2071. mat1min1= []
  2072. mat1max1 =[]
  2073. mat1temp1=[]
  2074. mat2min2= []
  2075. mat2max2 =[]
  2076. mat2temp2=[]
  2077. mat3min3= []
  2078. mat3max3 =[]
  2079. mat3temp3=[]
  2080. mat4min4= []
  2081. mat4max4 =[]
  2082. mat4temp4=[]
  2083.  
  2084.  
  2085.  
  2086.  
  2087. if len(SS)>=4:
  2088. j=0
  2089. while j< len(material1):
  2090. if SS[0][0]==material1[j]:
  2091. print 'j', j
  2092. letab1=SS[0][0]
  2093. mat1min1 = var50[j]
  2094. mat1max1 = var80[j]
  2095. mat1temp1= var70[j]
  2096. j+=1
  2097. j=0
  2098. while j< len(material1):
  2099. if SS[1][0]==material1[j]:
  2100. print 'j', j
  2101. letab2=SS[1][0]
  2102. mat2min2 = var50[j]
  2103. mat2max2 = var80[j]
  2104. mat2temp2= var70[j]
  2105. j+=1
  2106. j=0
  2107. while j< len(material1):
  2108. if SS[2][0]==material1[j]:
  2109. print 'j', j
  2110. letab3=SS[2][0]
  2111. mat3min3 = var50[j]
  2112. mat3max3 = var80[j]
  2113. mat3temp3= var70[j]
  2114. j+=1
  2115. j=0
  2116. while j< len(material1):
  2117. if SS[3][0]==material1[j]:
  2118. print 'j', j
  2119. letab4=SS[3][0]
  2120. mat4min4 = var50[j]
  2121. mat4max4 = var80[j]
  2122. mat4temp4= var70[j]
  2123. j+=1
  2124.  
  2125.  
  2126. j=0
  2127. if len(SS)==3:
  2128. j=0
  2129. while j< len(material1):
  2130. if SS[0][0]==material1[j]:
  2131. letab1=SS[0][0]
  2132. mat1min1 = var50[j]
  2133. mat1max1 = var80[j]
  2134. mat1temp1= var70[j]
  2135. j+=1
  2136. j=0
  2137. while j< len(material1):
  2138. if SS[1][0]==material1[j]:
  2139. letab2=SS[1][0]
  2140. mat2min2 = var50[j]
  2141. mat2max2 = var80[j]
  2142. mat2temp2= var70[j]
  2143. j+=1
  2144. j=0
  2145. while j< len(material1):
  2146. if SS[2][0]==material1[j]:
  2147. letab3=SS[2][0]
  2148. mat3min3 = var50[j]
  2149. mat3max3 = var80[j]
  2150. mat3temp3= var70[j]
  2151. j+=1
  2152.  
  2153.  
  2154. if len(SS)==2:
  2155. j=0
  2156. while j< len(material1):
  2157. if SS[0][0]==material1[j]:
  2158. letab1=SS[0][0]
  2159. mat1min1 = var50[j]
  2160. mat1max1 = var80[j]
  2161. mat1temp1= var70[j]
  2162. j+=1
  2163. j=0
  2164. while j< len(material1):
  2165. if SS[1][0]==material1[j]:
  2166. letab2=SS[1][0]
  2167. mat2min2 = var50[j]
  2168. mat2max2 = var80[j]
  2169. mat2temp2= var70[j]
  2170. j+=1
  2171.  
  2172.  
  2173.  
  2174. if len(SS)==1:
  2175. j=0
  2176. while j< len(material1):
  2177. if SS[0][0]==material1[j]:
  2178. letab1=SS[0][0]
  2179. mat1min1 = var50[j]
  2180. mat1max1 = var80[j]
  2181. mat1temp1= var70[j]
  2182. j+=1
  2183.  
  2184.  
  2185.  
  2186.  
  2187.  
  2188. # serie de materiaux (propriete 2)
  2189.  
  2190. letab10=0
  2191. letab20=0
  2192. letab30=0
  2193. letab40=0
  2194. mat10min10= []
  2195. mat10max10 =[]
  2196. mat10temp10=[]
  2197. mat20min20= []
  2198. mat20max20 =[]
  2199. mat20temp20=[]
  2200. mat30min30= []
  2201. mat30max30 =[]
  2202. mat30temp30=[]
  2203. mat40min40= []
  2204. mat40max40 =[]
  2205. mat40temp40=[]
  2206.  
  2207.  
  2208.  
  2209.  
  2210. if len(SS2)>=4:
  2211. j=0
  2212. while j< len(material2):
  2213. if SS2[0][0]==material2[j]:
  2214. letab10=SS2[0][0]
  2215. mat10min10 = var500[j]
  2216. mat10max10 = var800[j]
  2217. mat10temp10= var700[j]
  2218. j+=1
  2219. j=0
  2220. while j< len(material2):
  2221. if SS2[1][0]==material2[j]:
  2222. letab20=SS2[1][0]
  2223. mat20min20 = var500[j]
  2224. mat20max20 = var800[j]
  2225. mat20temp20= var700[j]
  2226. j+=1
  2227. j=0
  2228. while j< len(material2):
  2229. if SS2[2][0]==material2[j]:
  2230. letab30=SS2[2][0]
  2231. mat30min30 = var500[j]
  2232. mat30max30 = var800[j]
  2233. mat30temp30= var700[j]
  2234. j+=1
  2235. j=0
  2236. while j< len(material2):
  2237. if SS2[3][0]==material2[j]:
  2238. letab40=SS2[3][0]
  2239. mat40min40 = var500[j]
  2240. mat40max40 = var800[j]
  2241. mat40temp40= var700[j]
  2242. j+=1
  2243.  
  2244.  
  2245. j=0
  2246. f=0
  2247. if len(SS2)==3:
  2248. j=0
  2249. while j< len(material2):
  2250. if SS2[0][0]==material2[j]:
  2251. letab10=SS2[0][0]
  2252. mat10min10 = var500[j]
  2253. mat10max10 = var800[j]
  2254. mat10temp10= var700[j]
  2255. j+=1
  2256. j=0
  2257. while j< len(material2):
  2258. if SS2[1][0]==material2[j]:
  2259. letab20=SS2[1][0]
  2260. mat20min20 = var500[j]
  2261. mat20max20 = var800[j]
  2262. mat20temp20= var700[j]
  2263. j+=1
  2264. j=0
  2265. while j< len(material2):
  2266. if SS2[2][0]==material2[j]:
  2267. letab30=SS2[2][0]
  2268. mat30min30 = var500[j]
  2269. mat30max30 = var800[j]
  2270. mat30temp30= var700[j]
  2271. j+=1
  2272.  
  2273.  
  2274. j=0
  2275. f=0
  2276. if len(SS2)==2:
  2277. j=0
  2278. while j< len(material2):
  2279. if SS2[0][0]==material2[j]:
  2280. letab10=SS2[0][0]
  2281. mat10min10 = var500[j]
  2282. mat10max10 = var800[j]
  2283. mat10temp10= var700[j]
  2284. j+=1
  2285. j=0
  2286. while j< len(material2):
  2287. if SS2[1][0]==material2[j]:
  2288. letab20=SS2[1][0]
  2289. mat20min20 = var500[j]
  2290. mat20max20 = var800[j]
  2291. mat20temp20= var700[j]
  2292. j+=1
  2293.  
  2294.  
  2295.  
  2296. j=0
  2297. f=0
  2298. if len(SS2)==1:
  2299. j=0
  2300. while j< len(material2):
  2301. if SS2[0][0]==material2[j]:
  2302. letab10=SS2[0][0]
  2303. mat10min10 = var500[j]
  2304. mat10max10 = var800[j]
  2305. mat10temp10= var700[j]
  2306. j+=1
  2307.  
  2308.  
  2309.  
  2310.  
  2311.  
  2312. # serie de materiaux (propriete 3)
  2313. #print 'mat30max30', mat30max30[1]
  2314. letab100=0
  2315. letab200=0
  2316. letab300=0
  2317. letab400=0
  2318. mat100min100= []
  2319. mat100max100 =[]
  2320. mat100temp100=[]
  2321. mat200min200= []
  2322. mat200max200 =[]
  2323. mat200temp200=[]
  2324. mat300min300= []
  2325. mat300max300 =[]
  2326. mat300temp300=[]
  2327. mat400min400= []
  2328. mat400max400 =[]
  2329. mat400temp400=[]
  2330. print 'lemat3', len(lemat3)
  2331.  
  2332.  
  2333.  
  2334. if len(SS3)>=4:
  2335. j=0
  2336. while j< len(material3):
  2337. if SS3[0][0]==material3[j]:
  2338. letab100=SS3[0][0]
  2339. mat100min100 = var5000[j]
  2340. mat100max100 = var8000[j]
  2341. mat100temp100= var7000[j]
  2342. j+=1
  2343. j=0
  2344. while j< len(material3):
  2345. if SS3[1][0]==material3[j]:
  2346. letab200=SS3[1][0]
  2347. mat200min200 = var5000[j]
  2348. mat200max200 = var8000[j]
  2349. mat200temp200= var7000[j]
  2350. j+=1
  2351. j=0
  2352. while j< len(material3):
  2353. if SS3[2][0]==material3[j]:
  2354. letab300=SS3[2][0]
  2355. mat300min300 = var5000[j]
  2356. mat300max300 = var8000[j]
  2357. mat300temp300= var7000[j]
  2358. j+=1
  2359. j=0
  2360. while j< len(material3):
  2361. if SS3[3][0]==material3[j]:
  2362. letab400=SS3[3][0]
  2363. mat400min400 = var5000[j]
  2364. mat400max400 = var8000[j]
  2365. mat400temp400= var7000[j]
  2366. j+=1
  2367.  
  2368.  
  2369. j=0
  2370. f=0
  2371. if len(SS3)==3:
  2372. j=0
  2373. while j< len(material3):
  2374. if SS3[0][0]==material3[j]:
  2375. letab100=SS3[0][0]
  2376. mat100min100 = var5000[j]
  2377. mat100max100 = var8000[j]
  2378. mat100temp100= var7000[j]
  2379. j+=1
  2380. j=0
  2381. while j< len(material3):
  2382. if SS3[1][0]==material3[j]:
  2383. letab200=SS3[1][0]
  2384. mat200min200 = var5000[j]
  2385. mat200max200 = var8000[j]
  2386. mat200temp200= var7000[j]
  2387. j+=1
  2388. j=0
  2389. while j< len(material3):
  2390. if SS3[2][0]==material3[j]:
  2391. letab300=SS3[2][0]
  2392. mat300min300 = var5000[j]
  2393. mat300max300 = var8000[j]
  2394. mat300temp300= var7000[j]
  2395. j+=1
  2396.  
  2397.  
  2398. j=0
  2399. f=0
  2400. if len(SS3)==2:
  2401. j=0
  2402. while j< len(material3):
  2403. if SS3[0][0]==material3[j]:
  2404. letab100=SS3[0][0]
  2405. mat100min100 = var5000[j]
  2406. mat100max100 = var8000[j]
  2407. mat100temp100= var7000[j]
  2408. j+=1
  2409. j=0
  2410. while j< len(material3):
  2411. if SS3[1][0]==material3[j]:
  2412. letab200=SS3[1][0]
  2413. mat200min200 = var5000[j]
  2414. mat200max200 = var8000[j]
  2415. mat200temp200= var7000[j]
  2416. j+=1
  2417.  
  2418.  
  2419.  
  2420. j=0
  2421. f=0
  2422. if len(SS3)==1:
  2423. j=0
  2424. while j< len(material3):
  2425. if SS3[0][0]==material3[j]:
  2426. letab100=SS3[0][0]
  2427. mat100min100 = var5000[j]
  2428. mat100max100 = var8000[j]
  2429. mat100temp100= var7000[j]
  2430. j+=1
  2431.  
  2432.  
  2433. #print 'mat100min100', mat100min100
  2434.  
  2435.  
  2436. return render_to_response('material/search_results_filt3.html',
  2437.  
  2438. {'lemat':lemat,
  2439. 'val1': val1,
  2440. 'val2': val2,
  2441. 'res1': res1,
  2442. 'res2': res2,
  2443. 'valT1': valT1,
  2444. 'valT2': valT2,
  2445. 'valT3': valT3,
  2446.  
  2447. 'p1_1': letab1,
  2448. 'p1_2': letab2,
  2449. 'p1_3': letab3,
  2450. 'p1_4': letab4,
  2451.  
  2452. 'p2_1': letab10,
  2453. 'p2_2': letab20,
  2454. 'p2_3': letab30,
  2455. 'p2_4': letab40,
  2456.  
  2457. 'p3_1': letab100,
  2458. 'p3_2': letab200,
  2459. 'p3_3': letab300,
  2460. 'p3_4': letab400,
  2461. 'letab1':lemat1,
  2462. 'letab2':lemat2,
  2463. 'letab3':lemat3,
  2464.  
  2465. 'mat1min1':mat1min1,
  2466. 'mat1max1':mat1max1,
  2467. 'mat1temp1':mat1temp1,
  2468. 'mat2min2':mat2min2,
  2469. 'mat2max2':mat2max2,
  2470. 'mat2temp2':mat2temp2,
  2471. 'mat3min3':mat3min3,
  2472. 'mat3max3':mat3max3,
  2473. 'mat3temp3':mat3temp3,
  2474. 'mat4min4':mat4min4,
  2475. 'mat4max4':mat4max4,
  2476. 'mat4temp4':mat4temp4,
  2477.  
  2478. 'mat10min10':mat10min10,
  2479. 'mat10max10':mat10max10,
  2480. 'mat10temp10':mat10temp10,
  2481. 'mat20min20':mat20min20,
  2482. 'mat20max20':mat20max20,
  2483. 'mat20temp20':mat20temp20,
  2484. 'mat30min30':mat30min30,
  2485. 'mat30max30':mat30max30,
  2486. 'mat30temp30':mat30temp30,
  2487. 'mat40min40':mat40min40,
  2488. 'mat40max40':mat40max40,
  2489. 'mat40temp40':mat40temp40,
  2490.  
  2491. 'mat100min100':mat100min100,
  2492. 'mat100max100':mat100max100,
  2493. 'mat100temp100':mat100temp100,
  2494. 'mat200min200':mat200min200,
  2495. 'mat200max200':mat200max200,
  2496. 'mat200temp200':mat200temp200,
  2497. 'mat300min300':mat300min300,
  2498. 'mat300max300':mat300max300,
  2499. 'mat300temp300':mat300temp300,
  2500. 'mat400min400':mat400min400,
  2501. 'mat400max400':mat400max400,
  2502. 'mat400temp400':mat400temp400,
  2503. 'famille':famille,
  2504. 'MM':M6,
  2505. 'map':MAP,
  2506. 'valmin1':val_min1,
  2507. 'valmax1':val_max1,
  2508. 'Tmin1':T_min1,
  2509. 'Tmax1':T_max1,
  2510. #'Unit1':Unite1,
  2511. 'valmin2':val_min2,
  2512. 'valmax2':val_max2,
  2513. 'Tmin2':T_min2,
  2514. 'Tmax2':T_max2,
  2515. #'Unit2':Unite2,
  2516. 'valmin3':val_min3,
  2517. 'valmax3':val_max3,
  2518. 'Tmin3':T_min3,
  2519. 'Tmax3':T_max3,
  2520. #'Unit3':Unite3,
  2521. 'points1':points1,
  2522. 'points2':points2,
  2523. 'points3':points3 },
  2524. context_instance=RequestContext(request))
  2525. except ValueError:
  2526. if BOOL==1:
  2527. return render_to_response('material/erreur2.html')
  2528. else:
  2529. return render_to_response('material/erreur3.html')
  2530.  
  2531.  
  2532.  
  2533.  
  2534.  
  2535. def search_filter4(request):
  2536. try:
  2537. val1 = []
  2538. val2 = []
  2539. unmat=[]
  2540. lemat=[]
  2541. BOOL=0
  2542. #valoption1 = float(request.GET['boite100'])
  2543. #valoption2 = float(request.GET['boite200'])
  2544. #valoption3 = float(request.GET['boite300'])
  2545. #valoption4 = float(request.GET['boite400'])
  2546. val_min1 = float(request.GET['Vmin1'])
  2547. val_max1 = float(request.GET['Vmax1'])
  2548. T_min1 = float(request.GET['Tmin1'])
  2549. T_max1 = float(request.GET['Tmax1'])
  2550. val_min2 = float(request.GET['Vmin2'])
  2551. val_max2 = float(request.GET['Vmax2'])
  2552. T_min2 = float(request.GET['Tmin2'])
  2553. T_max2 = float(request.GET['Tmax2'])
  2554. val_min3 = float(request.GET['Vmin3'])
  2555. val_max3 = float(request.GET['Vmax3'])
  2556. T_min3 = float(request.GET['Tmin3'])
  2557. T_max3 = float(request.GET['Tmax3'])
  2558. val_min4 = float(request.GET['Vmin4'])
  2559. val_max4 = float(request.GET['Vmax4'])
  2560. T_min4 = float(request.GET['Tmin4'])
  2561. T_max4 = float(request.GET['Tmax4'])
  2562. famille = request.GET['family']
  2563. valT1 = request.GET['boite2'] # propriete 1
  2564. valT2 = request.GET['boite4'] # propriete 2
  2565. valT3 = request.GET['boite6'] # propriete 3
  2566. valT4 = request.GET['boite8'] # propriete 4
  2567.  
  2568. print 'valmin3', val_min3
  2569. print 'valmin4', val_min4
  2570. material1, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT1, val_min1, val_max1, T_min1, T_max1)
  2571. points1 = points
  2572. mat600P1 = material600
  2573. mat700P1 = material700
  2574. mat800P1 = material800
  2575. material2, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT2, val_min2, val_max2, T_min2, T_max2)
  2576. points2 = points
  2577. mat600P2 = material600
  2578. mat700P2 = material700
  2579. mat800P2 = material800
  2580. material3, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT3, val_min3, val_max3, T_min3, T_max3)
  2581. points3 = points
  2582. mat600P3 = material600
  2583. mat700P3 = material700
  2584. mat800P3 = material800
  2585. material4, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT4, val_min4, val_max4, T_min4, T_max4)
  2586. points4 = points
  2587. mat600P4 = material600
  2588. mat700P4 = material700
  2589. mat800P4 = material800
  2590.  
  2591.  
  2592. SS= sorted(points1, key=lambda x: x[1], reverse=True)
  2593. SS2= sorted(points2, key=lambda x: x[1], reverse=True)
  2594. SS3= sorted(points3, key=lambda x: x[1], reverse=True)
  2595. SS4= sorted(points4, key=lambda x: x[1], reverse=True)
  2596.  
  2597.  
  2598. for mat1 in material1:
  2599. if mat1 in material2 and mat1 in material3 and mat1 in material4:
  2600. unmat.append(mat1)
  2601.  
  2602.  
  2603. lemat = list(set(unmat))
  2604. print 'lemat', len(lemat);
  2605. print 'materiau trouve : ', lemat
  2606.  
  2607.  
  2608.  
  2609. #*************************************************calcul des ponderations liees a chaque materiau********************************************************
  2610. len1 = len(points1)
  2611. len2 = len(points2)
  2612. len3 = len(points3)
  2613. len4 = len(points4)
  2614.  
  2615.  
  2616. print 'len1', len1
  2617. print 'len2', len2
  2618. print 'len3', len3
  2619. print 'len4', len4
  2620.  
  2621. if val_min1<0 or val_max1<0 or T_min1<0 or T_max1<0 or val_min2<0 or val_max2<0 or T_min2<0 or T_max2<0 or val_min3<0 or val_max3<0 or T_min3<0 or T_max3<0 or val_min4<0 or val_max4<0 or T_min4<0 or T_max4<0:
  2622. BOOL=0
  2623. raise(ValueError)
  2624.  
  2625. print 'BOOL', BOOL
  2626.  
  2627. if len1==0 or len2==0 or len3==0 or len4==0 or len(lemat)==0:
  2628. BOOL=1
  2629. raise(ValueError)
  2630.  
  2631. M1=[]
  2632. M2=[]
  2633. M3=[]
  2634. M4=[]
  2635. M5=[]
  2636. MM1=[]
  2637. MM2=[]
  2638. MM3=[]
  2639. MM4=[]
  2640.  
  2641.  
  2642.  
  2643. for i in range(len(points1)):
  2644. M1.append(points1[i][0])
  2645.  
  2646. for i in range(len(points2)):
  2647. M2.append(points2[i][0])
  2648.  
  2649. for i in range(len(points3)):
  2650. M3.append(points3[i][0])
  2651.  
  2652. for i in range(len(points4)):
  2653. M4.append(points4[i][0])
  2654.  
  2655. for i in range(len(points1)):
  2656. MM1.append(points1[i][1])
  2657.  
  2658. for i in range(len(points2)):
  2659. MM2.append(points2[i][1])
  2660.  
  2661. for i in range(len(points3)):
  2662. MM3.append(points3[i][1])
  2663.  
  2664. for i in range(len(points4)):
  2665. MM4.append(points4[i][1])
  2666.  
  2667. inter1 = set(material1).intersection(set(material2)).intersection(set(material3)).intersection(set(material4))
  2668. inter2 = set(M1).intersection(set(M2)).intersection(set(M3)).intersection(set(M4))
  2669.  
  2670. int1 = set(material1) & set(material2) & set(material3) & set(material4)
  2671. int2 = set(M1) & set(M2) & set(M3) & set(M4)
  2672.  
  2673. print 'inter1', inter1
  2674. print 'inter2', inter2
  2675. print 'int1', int1
  2676. print 'int2', int2
  2677. print 'M1', M1
  2678. print 'M2', M2
  2679. print 'M3', M3
  2680. print 'M4', M4
  2681.  
  2682.  
  2683. mat100=[]
  2684. T100=[]
  2685. j=0
  2686. T50=[]
  2687. T60=[]
  2688. T70=[]
  2689. T80=[]
  2690. M4=[]
  2691. M6=[]
  2692.  
  2693. valoption1 = 1
  2694. valoption2 = 1
  2695. valoption3 = 1
  2696. valoption4 = 1
  2697.  
  2698. for mat100 in inter1:
  2699. if mat100 in inter2:
  2700. i=0
  2701. while i<len(M1):
  2702. if M1[i]==mat100:
  2703. M5.append((mat100,(MM1[i]*valoption1)/(valoption1 + valoption2 + valoption3 + valoption4)))
  2704. i+=1
  2705. i=0
  2706. while i<len(M2):
  2707. if M2[i]==mat100:
  2708. M5.append((mat100,(MM2[i]*valoption2)/(valoption1 + valoption2 + valoption3 + valoption4)))
  2709. i+=1
  2710. i=0
  2711. while i<len(M3):
  2712. if M3[i]==mat100:
  2713. M5.append((mat100,(MM3[i]*valoption3)/(valoption1 + valoption2 + valoption3 + valoption4)))
  2714. i+=1
  2715. i=0
  2716. while i<len(M4):
  2717. if M4[i]==mat100:
  2718. M5.append((mat100,(MM4[i]*valoption4)/(valoption1 + valoption2 + valoption3 + valoption4)))
  2719. i+=1
  2720.  
  2721.  
  2722. M6=process(M5)
  2723.  
  2724.  
  2725.  
  2726.  
  2727.  
  2728.  
  2729.  
  2730.  
  2731.  
  2732.  
  2733. MM = []
  2734. T10= []
  2735.  
  2736.  
  2737.  
  2738.  
  2739.  
  2740. T1 = []
  2741. T2 = []
  2742. T3 = []
  2743. T4 = []
  2744.  
  2745. for i in range(len1):
  2746. T1.append((points1[i][1])*valoption1)
  2747. P1 = sum(T1)
  2748.  
  2749. for i in range(len2):
  2750. T2.append((points2[i][1])*valoption2)
  2751. P2 = sum(T2)
  2752.  
  2753. for i in range(len3):
  2754. T3.append((points3[i][1])*valoption3)
  2755. P3 = sum(T3)
  2756.  
  2757. for i in range(len4):
  2758. T4.append((points4[i][1])*valoption4)
  2759. P4 = sum(T4)
  2760.  
  2761.  
  2762. MAP = (P1+P2+P3+P4)/(valoption1 + valoption2 + valoption3 + valoption4)
  2763.  
  2764. print 'moyenne arithmetique ponderee:', MAP
  2765.  
  2766. print 'M5', M5
  2767. print 'M6', M6
  2768.  
  2769. if MM!=[]:
  2770. MM=MM
  2771. else:
  2772. MM=M6
  2773.  
  2774. var50=[]
  2775. var70=[]
  2776. var80=[]
  2777.  
  2778. var500=[]
  2779. var700=[]
  2780. var800=[]
  2781.  
  2782. var5000=[]
  2783. var7000=[]
  2784. var8000=[]
  2785.  
  2786. var50000=[]
  2787. var70000=[]
  2788. var80000=[]
  2789.  
  2790. for i in range(len(mat600P1)): # serie min
  2791. var50.append(mat600P1[i][1])
  2792.  
  2793. for i in range(len(mat800P1)): # temperature
  2794. var70.append(mat800P1[i][1])
  2795.  
  2796.  
  2797. for i in range(len(mat700P1)): # serie max
  2798. var80.append(mat700P1[i][1])
  2799.  
  2800.  
  2801. for i in range(len(mat600P2)): # serie min
  2802. var500.append(mat600P2[i][1])
  2803.  
  2804. for i in range(len(mat800P2)): # temperature
  2805. var700.append(mat800P2[i][1])
  2806.  
  2807. for i in range(len(mat700P2)): # serie max
  2808. var800.append(mat700P2[i][1])
  2809.  
  2810. for i in range(len(mat600P3)): # serie min
  2811. var5000.append(mat600P3[i][1])
  2812.  
  2813. for i in range(len(mat800P3)): # temperature
  2814. var7000.append(mat800P3[i][1])
  2815.  
  2816. for i in range(len(mat700P3)): # serie max
  2817. var8000.append(mat700P3[i][1])
  2818.  
  2819. for i in range(len(mat600P4)): # serie min
  2820. var50000.append(mat600P4[i][1])
  2821.  
  2822. for i in range(len(mat800P4)): # temperature
  2823. var70000.append(mat800P4[i][1])
  2824.  
  2825. for i in range(len(mat700P4)): # serie max
  2826. var80000.append(mat700P4[i][1])
  2827.  
  2828. unmat1 = []
  2829. unmat2 = []
  2830. unmat3 = []
  2831. unmat4 = []
  2832. lemat1 = []
  2833. lemat2 = []
  2834. lemat3 = []
  2835. lemat4 = []
  2836.  
  2837. # elimination des doublons pour chaque serie de materiaux
  2838.  
  2839. for mat10 in material1:
  2840. unmat1.append(mat10)
  2841.  
  2842. lemat1 = list(set(unmat1))
  2843.  
  2844.  
  2845. for mat10 in material2:
  2846. unmat2.append(mat10)
  2847.  
  2848. lemat2 = list(set(unmat2))
  2849.  
  2850. for mat10 in material3:
  2851. unmat3.append(mat10)
  2852.  
  2853. lemat3 = list(set(unmat3))
  2854.  
  2855. for mat10 in material4:
  2856. unmat4.append(mat10)
  2857.  
  2858. lemat4 = list(set(unmat4))
  2859.  
  2860.  
  2861. letab1=0
  2862. letab2=0
  2863. letab3=0
  2864. letab4=0
  2865. mat1min1= []
  2866. mat1max1 =[]
  2867. mat1temp1=[]
  2868. mat2min2= []
  2869. mat2max2 =[]
  2870. mat2temp2=[]
  2871. mat3min3= []
  2872. mat3max3 =[]
  2873. mat3temp3=[]
  2874. mat4min4= []
  2875. mat4max4 =[]
  2876. mat4temp4=[]
  2877.  
  2878.  
  2879. if len(SS)>=4:
  2880. j=0
  2881. while j< len(material1):
  2882. if SS[0][0]==material1[j]:
  2883. print 'j', j
  2884. letab1=SS[0][0]
  2885. mat1min1 = var50[j]
  2886. mat1max1 = var80[j]
  2887. mat1temp1= var70[j]
  2888. j+=1
  2889. j=0
  2890. while j< len(material1):
  2891. if SS[1][0]==material1[j]:
  2892. print 'j', j
  2893. letab2=SS[1][0]
  2894. mat2min2 = var50[j]
  2895. mat2max2 = var80[j]
  2896. mat2temp2= var70[j]
  2897. j+=1
  2898. j=0
  2899. while j< len(material1):
  2900. if SS[2][0]==material1[j]:
  2901. print 'j', j
  2902. letab3=SS[2][0]
  2903. mat3min3 = var50[j]
  2904. mat3max3 = var80[j]
  2905. mat3temp3= var70[j]
  2906. j+=1
  2907. j=0
  2908. while j< len(material1):
  2909. if SS[3][0]==material1[j]:
  2910. print 'j', j
  2911. letab4=SS[3][0]
  2912. mat4min4 = var50[j]
  2913. mat4max4 = var80[j]
  2914. mat4temp4= var70[j]
  2915. j+=1
  2916.  
  2917.  
  2918. j=0
  2919. if len(SS)==3:
  2920. j=0
  2921. while j< len(material1):
  2922. if SS[0][0]==material1[j]:
  2923. letab1=SS[0][0]
  2924. mat1min1 = var50[j]
  2925. mat1max1 = var80[j]
  2926. mat1temp1= var70[j]
  2927. j+=1
  2928. j=0
  2929. while j< len(material1):
  2930. if SS[1][0]==material1[j]:
  2931. letab2=SS[1][0]
  2932. mat2min2 = var50[j]
  2933. mat2max2 = var80[j]
  2934. mat2temp2= var70[j]
  2935. j+=1
  2936. j=0
  2937. while j< len(material1):
  2938. if SS[2][0]==material1[j]:
  2939. letab3=SS[2][0]
  2940. mat3min3 = var50[j]
  2941. mat3max3 = var80[j]
  2942. mat3temp3= var70[j]
  2943. j+=1
  2944.  
  2945.  
  2946. if len(SS)==2:
  2947. j=0
  2948. while j< len(material1):
  2949. if SS[0][0]==material1[j]:
  2950. letab1=SS[0][0]
  2951. mat1min1 = var50[j]
  2952. mat1max1 = var80[j]
  2953. mat1temp1= var70[j]
  2954. j+=1
  2955. j=0
  2956. while j< len(material1):
  2957. if SS[1][0]==material1[j]:
  2958. letab2=SS[1][0]
  2959. mat2min2 = var50[j]
  2960. mat2max2 = var80[j]
  2961. mat2temp2= var70[j]
  2962. j+=1
  2963.  
  2964.  
  2965.  
  2966. if len(SS)==1:
  2967. j=0
  2968. while j< len(material1):
  2969. if SS[0][0]==material1[j]:
  2970. letab1=SS[0][0]
  2971. mat1min1 = var50[j]
  2972. mat1max1 = var80[j]
  2973. mat1temp1= var70[j]
  2974. j+=1
  2975.  
  2976.  
  2977.  
  2978.  
  2979.  
  2980.  
  2981.  
  2982. letab10=0
  2983. letab20=0
  2984. letab30=0
  2985. letab40=0
  2986. mat10min10= []
  2987. mat10max10 =[]
  2988. mat10temp10=[]
  2989. mat20min20= []
  2990. mat20max20 =[]
  2991. mat20temp20=[]
  2992. mat30min30= []
  2993. mat30max30 =[]
  2994. mat30temp30=[]
  2995. mat40min40= []
  2996. mat40max40 =[]
  2997. mat40temp40=[]
  2998.  
  2999.  
  3000. if len(SS2)>=4:
  3001. j=0
  3002. while j< len(material2):
  3003. if SS2[0][0]==material2[j]:
  3004. letab10=SS2[0][0]
  3005. mat10min10 = var500[j]
  3006. mat10max10 = var800[j]
  3007. mat10temp10= var700[j]
  3008. j+=1
  3009. j=0
  3010. while j< len(material2):
  3011. if SS2[1][0]==material2[j]:
  3012. letab20=SS2[1][0]
  3013. mat20min20 = var500[j]
  3014. mat20max20 = var800[j]
  3015. mat20temp20= var700[j]
  3016. j+=1
  3017. j=0
  3018. while j< len(material2):
  3019. if SS2[2][0]==material2[j]:
  3020. letab30=SS2[2][0]
  3021. mat30min30 = var500[j]
  3022. mat30max30 = var800[j]
  3023. mat30temp30= var700[j]
  3024. j+=1
  3025. j=0
  3026. while j< len(material2):
  3027. if SS2[3][0]==material2[j]:
  3028. letab40=SS2[3][0]
  3029. mat40min40 = var500[j]
  3030. mat40max40 = var800[j]
  3031. mat40temp40= var700[j]
  3032. j+=1
  3033.  
  3034.  
  3035. j=0
  3036. f=0
  3037. if len(SS2)==3:
  3038. j=0
  3039. while j< len(material2):
  3040. if SS2[0][0]==material2[j]:
  3041. letab10=SS2[0][0]
  3042. mat10min10 = var500[j]
  3043. mat10max10 = var800[j]
  3044. mat10temp10= var700[j]
  3045. j+=1
  3046. j=0
  3047. while j< len(material2):
  3048. if SS2[1][0]==material2[j]:
  3049. letab20=SS2[1][0]
  3050. mat20min20 = var500[j]
  3051. mat20max20 = var800[j]
  3052. mat20temp20= var700[j]
  3053. j+=1
  3054. j=0
  3055. while j< len(material2):
  3056. if SS2[2][0]==material2[j]:
  3057. letab30=SS2[2][0]
  3058. mat30min30 = var500[j]
  3059. mat30max30 = var800[j]
  3060. mat30temp30= var700[j]
  3061. j+=1
  3062.  
  3063.  
  3064. j=0
  3065. f=0
  3066. if len(SS2)==2:
  3067. j=0
  3068. while j< len(material2):
  3069. if SS2[0][0]==material2[j]:
  3070. letab10=SS2[0][0]
  3071. mat10min10 = var500[j]
  3072. mat10max10 = var800[j]
  3073. mat10temp10= var700[j]
  3074. j+=1
  3075. j=0
  3076. while j< len(material2):
  3077. if SS2[1][0]==material2[j]:
  3078. letab20=SS2[1][0]
  3079. mat20min20 = var500[j]
  3080. mat20max20 = var800[j]
  3081. mat20temp20= var700[j]
  3082. j+=1
  3083.  
  3084.  
  3085.  
  3086. j=0
  3087. f=0
  3088. if len(SS2)==1:
  3089. j=0
  3090. while j< len(material2):
  3091. if SS2[0][0]==material2[j]:
  3092. letab10=SS2[0][0]
  3093. mat10min10 = var500[j]
  3094. mat10max10 = var800[j]
  3095. mat10temp10= var700[j]
  3096. j+=1
  3097.  
  3098.  
  3099.  
  3100. letab100=0
  3101. letab200=0
  3102. letab300=0
  3103. letab400=0
  3104. mat100min100= []
  3105. mat100max100 =[]
  3106. mat100temp100=[]
  3107. mat200min200= []
  3108. mat200max200 =[]
  3109. mat200temp200=[]
  3110. mat300min300= []
  3111. mat300max300 =[]
  3112. mat300temp300=[]
  3113. mat400min400= []
  3114. mat400max400 =[]
  3115. mat400temp400=[]
  3116.  
  3117. if len(SS3)>=4:
  3118. j=0
  3119. while j< len(material3):
  3120. if SS3[0][0]==material3[j]:
  3121. letab100=SS3[0][0]
  3122. mat100min100 = var5000[j]
  3123. mat100max100 = var8000[j]
  3124. mat100temp100= var7000[j]
  3125. j+=1
  3126. j=0
  3127. while j< len(material3):
  3128. if SS3[1][0]==material3[j]:
  3129. letab200=SS3[1][0]
  3130. mat200min200 = var5000[j]
  3131. mat200max200 = var8000[j]
  3132. mat200temp200= var7000[j]
  3133. j+=1
  3134. j=0
  3135. while j< len(material3):
  3136. if SS3[2][0]==material3[j]:
  3137. letab300=SS3[2][0]
  3138. mat300min300 = var5000[j]
  3139. mat300max300 = var8000[j]
  3140. mat300temp300= var7000[j]
  3141. j+=1
  3142. j=0
  3143. while j< len(material3):
  3144. if SS3[3][0]==material3[j]:
  3145. letab400=SS3[3][0]
  3146. mat400min400 = var5000[j]
  3147. mat400max400 = var8000[j]
  3148. mat400temp400= var7000[j]
  3149. j+=1
  3150.  
  3151.  
  3152. j=0
  3153. f=0
  3154. if len(SS3)==3:
  3155. j=0
  3156. while j< len(material3):
  3157. if SS3[0][0]==material3[j]:
  3158. letab100=SS3[0][0]
  3159. mat100min100 = var5000[j]
  3160. mat100max100 = var8000[j]
  3161. mat100temp100= var7000[j]
  3162. j+=1
  3163. j=0
  3164. while j< len(material3):
  3165. if SS3[1][0]==material3[j]:
  3166. letab200=SS3[1][0]
  3167. mat200min200 = var5000[j]
  3168. mat200max200 = var8000[j]
  3169. mat200temp200= var7000[j]
  3170. j+=1
  3171. j=0
  3172. while j< len(material3):
  3173. if SS3[2][0]==material3[j]:
  3174. letab300=SS3[2][0]
  3175. mat300min300 = var5000[j]
  3176. mat300max300 = var8000[j]
  3177. mat300temp300= var7000[j]
  3178. j+=1
  3179.  
  3180.  
  3181. j=0
  3182. f=0
  3183. if len(SS3)==2:
  3184. j=0
  3185. while j< len(material3):
  3186. if SS3[0][0]==material3[j]:
  3187. letab100=SS3[0][0]
  3188. mat100min100 = var5000[j]
  3189. mat100max100 = var8000[j]
  3190. mat100temp100= var7000[j]
  3191. j+=1
  3192. j=0
  3193. while j< len(material3):
  3194. if SS3[1][0]==material3[j]:
  3195. letab200=SS3[1][0]
  3196. mat200min200 = var5000[j]
  3197. mat200max200 = var8000[j]
  3198. mat200temp200= var7000[j]
  3199. j+=1
  3200.  
  3201.  
  3202.  
  3203. j=0
  3204. f=0
  3205. if len(SS3)==1:
  3206. j=0
  3207. while j< len(material3):
  3208. if SS3[0][0]==material3[j]:
  3209. letab100=SS3[0][0]
  3210. mat100min100 = var5000[j]
  3211. mat100max100 = var8000[j]
  3212. mat100temp100= var7000[j]
  3213. j+=1
  3214.  
  3215.  
  3216.  
  3217.  
  3218. letab1000=0
  3219. letab2000=0
  3220. letab3000=0
  3221. letab4000=0
  3222. mat1000min1000= []
  3223. mat1000max1000 =[]
  3224. mat1000temp1000=[]
  3225. mat2000min2000= []
  3226. mat2000max2000 =[]
  3227. mat2000temp2000=[]
  3228. mat3000min3000= []
  3229. mat3000max3000 =[]
  3230. mat3000temp3000=[]
  3231. mat4000min4000= []
  3232. mat4000max4000 =[]
  3233. mat4000temp4000=[]
  3234.  
  3235. print 'lemat3', len(lemat3)
  3236. print lemat4[0]
  3237.  
  3238.  
  3239. if len(SS4)>=4:
  3240. j=0
  3241. while j< len(material4):
  3242. if SS4[0][0]==material4[j]:
  3243. letab1000=SS4[0][0]
  3244. mat1000min1000 = var50000[j]
  3245. mat1000max1000 = var80000[j]
  3246. mat1000temp1000= var70000[j]
  3247. j+=1
  3248. j=0
  3249. while j< len(material4):
  3250. if SS4[1][0]==material4[j]:
  3251. letab2000=SS4[1][0]
  3252. mat2000min2000 = var50000[j]
  3253. mat2000max2000 = var80000[j]
  3254. mat2000temp2000= var70000[j]
  3255. j+=1
  3256. j=0
  3257. while j< len(material4):
  3258. if SS4[2][0]==material4[j]:
  3259. letab3000=SS4[2][0]
  3260. mat3000min3000 = var50000[j]
  3261. mat3000max3000 = var80000[j]
  3262. mat3000temp3000= var70000[j]
  3263. j+=1
  3264. j=0
  3265. while j< len(material4):
  3266. if SS4[3][0]==material4[j]:
  3267. letab4000=SS4[3][0]
  3268. mat4000min4000 = var50000[j]
  3269. mat4000max4000 = var80000[j]
  3270. mat4000temp4000= var70000[j]
  3271. j+=1
  3272.  
  3273.  
  3274. j=0
  3275. f=0
  3276. if len(SS4)==3:
  3277. j=0
  3278. while j< len(material4):
  3279. if SS4[0][0]==material4[j]:
  3280. letab1000=SS4[0][0]
  3281. mat1000min1000 = var50000[j]
  3282. mat1000max1000 = var80000[j]
  3283. mat1000temp1000= var70000[j]
  3284. j+=1
  3285. j=0
  3286. while j< len(material4):
  3287. if SS4[1][0]==material4[j]:
  3288. letab2000=SS4[1][0]
  3289. mat2000min2000 = var50000[j]
  3290. mat2000max2000 = var80000[j]
  3291. mat2000temp2000= var70000[j]
  3292. j+=1
  3293. j=0
  3294. while j< len(material4):
  3295. if SS4[2][0]==material4[j]:
  3296. letab3000=SS4[2][0]
  3297. mat3000min3000 = var50000[j]
  3298. mat3000max3000 = var80000[j]
  3299. mat3000temp3000= var70000[j]
  3300. j+=1
  3301.  
  3302.  
  3303. j=0
  3304. f=0
  3305. if len(SS4)==2:
  3306. j=0
  3307. while j< len(material4):
  3308. if SS4[0][0]==material4[j]:
  3309. letab1000=SS4[0][0]
  3310. mat1000min1000 = var50000[j]
  3311. mat1000max1000 = var80000[j]
  3312. mat1000temp1000= var70000[j]
  3313. j+=1
  3314. j=0
  3315. while j< len(material4):
  3316. if SS4[1][0]==material4[j]:
  3317. letab2000=SS4[1][0]
  3318. mat2000min2000 = var50000[j]
  3319. mat2000max2000 = var80000[j]
  3320. mat2000temp2000= var70000[j]
  3321. j+=1
  3322.  
  3323.  
  3324.  
  3325. j=0
  3326. f=0
  3327. if len(SS4)==1:
  3328. j=0
  3329. while j< len(material4):
  3330. if SS4[0][0]==material4[j]:
  3331. letab1000=SS4[0][0]
  3332. mat1000min1000 = var50000[j]
  3333. mat1000max1000 = var80000[j]
  3334. mat1000temp1000= var70000[j]
  3335. j+=1
  3336.  
  3337.  
  3338.  
  3339.  
  3340.  
  3341. return render_to_response('material/search_results_filt4.html',
  3342. {'lemat':lemat,
  3343. 'val1': val1,
  3344. 'val2': val2,
  3345. 'res1': res1,
  3346. 'res2': res2,
  3347. 'valT1': valT1,
  3348. 'valT2': valT2,
  3349. 'valT3': valT3,
  3350. 'valT4': valT4,
  3351. 'valmin1':val_min1,
  3352. 'valmax1':val_max1,
  3353. 'Tmin1':T_min1,
  3354. 'Tmax1':T_max1,
  3355. #'Unit1':Unite1,
  3356. 'valmin2':val_min2,
  3357. 'valmax2':val_max2,
  3358. 'Tmin2':T_min2,
  3359. 'Tmax2':T_max2,
  3360. #'Unit2':Unite2,
  3361. 'valmin3':val_min3,
  3362. 'valmax3':val_max3,
  3363. 'Tmin3':T_min3,
  3364. 'Tmax3':T_max3,
  3365. #'Unit3':Unite3,
  3366. 'valmin4':val_min4,
  3367. 'valmax4':val_max4,
  3368. 'Tmin4':T_min4,
  3369. 'Tmax4':T_max4,
  3370. #'Unit4':Unite4,
  3371. 'mat1min1':mat1min1,
  3372. 'mat1max1':mat1max1,
  3373. 'mat1temp1':mat1temp1,
  3374. 'mat2min2':mat2min2,
  3375. 'mat2max2':mat2max2,
  3376. 'mat2temp2':mat2temp2,
  3377. 'mat3min3':mat3min3,
  3378. 'mat3max3':mat3max3,
  3379. 'mat3temp3':mat3temp3,
  3380. 'mat4min4':mat4min4,
  3381. 'mat4max4':mat4max4,
  3382. 'mat4temp4':mat4temp4,
  3383.  
  3384. 'mat10min10':mat10min10,
  3385. 'mat10max10':mat10max10,
  3386. 'mat10temp10':mat10temp10,
  3387. 'mat20min20':mat20min20,
  3388. 'mat20max20':mat20max20,
  3389. 'mat20temp20':mat20temp20,
  3390. 'mat30min30':mat30min30,
  3391. 'mat30max30':mat30max30,
  3392. 'mat30temp30':mat30temp30,
  3393. 'mat40min40':mat40min40,
  3394. 'mat40max40':mat40max40,
  3395. 'mat40temp40':mat40temp40,
  3396.  
  3397. 'mat100min100':mat100min100,
  3398. 'mat100max100':mat100max100,
  3399. 'mat100temp100':mat100temp100,
  3400. 'mat200min200':mat200min200,
  3401. 'mat200max200':mat200max200,
  3402. 'mat200temp200':mat200temp200,
  3403. 'mat300min300':mat300min300,
  3404. 'mat300max300':mat300max300,
  3405. 'mat300temp300':mat300temp300,
  3406. 'mat400min400':mat400min400,
  3407. 'mat400max400':mat400max400,
  3408. 'mat400temp400':mat400temp400,
  3409.  
  3410. 'mat1000min1000':mat1000min1000,
  3411. 'mat1000max1000':mat1000max1000,
  3412. 'mat1000temp1000':mat1000temp1000,
  3413. 'mat2000min2000':mat2000min2000,
  3414. 'mat2000max2000':mat2000max2000,
  3415. 'mat2000temp2000':mat2000temp2000,
  3416. 'mat3000min3000':mat3000min3000,
  3417. 'mat3000max3000':mat3000max3000,
  3418. 'mat3000temp3000':mat3000temp3000,
  3419. 'mat4000min4000':mat4000min4000,
  3420. 'mat4000max4000':mat4000max4000,
  3421. 'mat4000temp4000':mat4000temp4000,
  3422. 'p1_1': letab1,
  3423. 'p1_2': letab2,
  3424. 'p1_3': letab3,
  3425. 'p1_4': letab4,
  3426.  
  3427. 'p2_1': letab10,
  3428. 'p2_2': letab20,
  3429. 'p2_3': letab30,
  3430. 'p2_4': letab40,
  3431.  
  3432. 'p3_1': letab100,
  3433. 'p3_2': letab200,
  3434. 'p3_3': letab300,
  3435. 'p3_4': letab400,
  3436.  
  3437. 'p4_1': letab1000,
  3438. 'p4_2': letab2000,
  3439. 'p4_3': letab3000,
  3440. 'p4_4': letab4000,
  3441.  
  3442. 'letab1':lemat1,
  3443. 'letab2':lemat2,
  3444. 'letab3':lemat3,
  3445. 'letab4':lemat4,
  3446.  
  3447. 'famille':famille,
  3448. 'MM':MM,
  3449. 'map':MAP,
  3450. 'points1': points1,
  3451. 'points2': points2,
  3452. 'points3': points3,
  3453. 'points4': points4 },
  3454. context_instance=RequestContext(request))
  3455. except ValueError:
  3456. if BOOL==1:
  3457. return render_to_response('material/erreur2.html')
  3458. else:
  3459. return render_to_response('material/erreur3.html')
  3460.  
  3461.  
  3462.  
  3463.  
  3464.  
  3465.  
  3466.  
  3467. def search_filter5(request):
  3468. val1 = []
  3469. val2 = []
  3470. unmat=[]
  3471. lemat=[]
  3472. valoption1 = float(request.GET['boite100'])
  3473. valoption2 = float(request.GET['boite200'])
  3474. valoption3 = float(request.GET['boite300'])
  3475. valoption4 = float(request.GET['boite400'])
  3476. valoption5 = float(request.GET['boite500'])
  3477. val_min1 = float(request.GET['Vmin1'])
  3478. val_max1 = float(request.GET['Vmax1'])
  3479. T_min1 = float(request.GET['Tmin1'])
  3480. T_max1 = float(request.GET['Tmax1'])
  3481. val_min2 = float(request.GET['Vmin2'])
  3482. val_max2 = float(request.GET['Vmax2'])
  3483. T_min2 = float(request.GET['Tmin2'])
  3484. T_max2 = float(request.GET['Tmax2'])
  3485. val_min3 = float(request.GET['Vmin3'])
  3486. val_max3 = float(request.GET['Vmax3'])
  3487. T_min3 = float(request.GET['Tmin3'])
  3488. T_max3 = float(request.GET['Tmax3'])
  3489. val_min4 = float(request.GET['Vmin4'])
  3490. val_max4 = float(request.GET['Vmax4'])
  3491. T_min4 = float(request.GET['Tmin4'])
  3492. T_max4 = float(request.GET['Tmax4'])
  3493.  
  3494. val_min5 = float(request.GET['Vmin5'])
  3495. val_max5 = float(request.GET['Vmax5'])
  3496. T_min5 = float(request.GET['Tmin5'])
  3497. T_max5 = float(request.GET['Tmax5'])
  3498. valT1 = request.GET['boite2'] # propriete 1
  3499. valT2 = request.GET['boite4'] # propriete 2
  3500. valT3 = request.GET['boite6'] # propriete 3
  3501. valT4 = request.GET['boite8'] # propriete 4
  3502. valT5 = request.GET['boite10'] # propriete 5
  3503.  
  3504. material1, res1, res2, val = search_materiau(valT1, val_min1, val_max1, T_min1, T_max1)
  3505. pourcent1 = val
  3506. pourcent1 = pourcent1*valoption1
  3507.  
  3508. material2, res1, res2, val = search_materiau(valT2, val_min2, val_max2, T_min2, T_max2)
  3509. pourcent2 = val
  3510. pourcent2 = pourcent2*valoption2
  3511.  
  3512. material3, res1, res2, val = search_materiau(valT3, val_min3, val_max3, T_min3, T_max3)
  3513. pourcent3 = val
  3514. pourcent3 = pourcent3*valoption3
  3515.  
  3516. material4, res1, res2, val = search_materiau(valT4, val_min4, val_max4, T_min4, T_max4)
  3517. pourcent4 = val
  3518. pourcent4 = pourcent4*valoption4
  3519.  
  3520. material5, res1, res2, val = search_materiau(valT5, val_min5, val_max5, T_min5, T_max5)
  3521. pourcent5 = val
  3522. pourcent5 = pourcent5*valoption5
  3523.  
  3524. print 'p1',pourcent1
  3525. print 'p2',pourcent2
  3526. print 'p3',pourcent3
  3527. print 'p4',pourcent4
  3528. print 'p5',pourcent5
  3529.  
  3530. for mat1 in material1:
  3531. if mat1 in material2 and mat1 in material3 and mat1 in material4 and mat1 in material5:
  3532. unmat.append(mat1)
  3533.  
  3534.  
  3535. lemat = list(set(unmat))
  3536. print 'materiau trouve : ', lemat
  3537.  
  3538.  
  3539. return render_to_response('material/search_results_filt5.html',
  3540. {'lemat':lemat,
  3541. 'val1': val1,
  3542. 'val2': val2,
  3543. 'res1': res1,
  3544. 'res2': res2,
  3545. 'val': val,
  3546. 'valT1': valT1,
  3547. 'valT2': valT2,
  3548. 'valT3': valT3,
  3549. 'valT4': valT4,
  3550. 'valT5': valT5,
  3551. 'pourcent1': pourcent1,
  3552. 'pourcent2': pourcent2,
  3553. 'pourcent3': pourcent3,
  3554. 'pourcent4': pourcent4,
  3555. 'pourcent5': pourcent5 },
  3556.  
  3557. context_instance=RequestContext(request))
  3558.  
  3559.  
  3560.  
  3561. @login_required
  3562. def search_filter(request):
  3563. chemin = 'C:/projet_09_03/projet_2/monprojet/medias/'
  3564. errors = []
  3565. val1 = []
  3566. val2 = []
  3567. val3 = []
  3568. val4 = []
  3569. material = []
  3570. material1 = []
  3571. material2 = []
  3572. material3 = []
  3573. material10 = []
  3574. material20 = []
  3575. unit = []
  3576. theCheck = []
  3577. lemat=[]
  3578. unmat=[]
  3579. selection= ''
  3580. inc = ['']
  3581. val_min_base=[]
  3582. val_max_base=[]
  3583. val_T_base=[]
  3584.  
  3585. try:
  3586. if request.method =='GET':
  3587. liste = request.GET.getlist('theCheck')
  3588. for i in range(len(liste)):
  3589. if liste[i]== '10':
  3590. selection=liste[i]
  3591. if liste[i]== '20':
  3592. selection=liste[i]
  3593. if liste[i]== '30':
  3594. selection=liste[i]
  3595.  
  3596.  
  3597.  
  3598. if liste== [u'10', u'20', u'30']: # combinaison 1
  3599. print liste
  3600. material1 = []
  3601. material2 = []
  3602. material3 = []
  3603. val_min1 = float(request.GET['Vmin1'])
  3604. val_max1 = float(request.GET['Vmax1'])
  3605. T_min1 = float(request.GET['Tmin1'])
  3606. T_max1 = float(request.GET['Tmax1'])
  3607.  
  3608. val_min2 = float(request.GET['Vmin2'])
  3609. val_max2 = float(request.GET['Vmax2'])
  3610. T_min2 = float(request.GET['Tmin2'])
  3611. T_max2 = float(request.GET['Tmax2'])
  3612.  
  3613. val_min3 = float(request.GET['Vmin3'])
  3614. val_max3 = float(request.GET['Vmax3'])
  3615. T_min3 = float(request.GET['Tmin3'])
  3616. T_max3 = float(request.GET['Tmax3'])
  3617.  
  3618. valT1 = request.GET['boite2'] # propriete 1
  3619. valT2 = request.GET['boite4'] # propriete 2
  3620. valT3 = request.GET['boite6'] # propriete 3
  3621.  
  3622.  
  3623. material1, res1, res2, val = search_materiau(valT1, val_min1, val_max1, T_min1, T_max1)
  3624. material2, res1, res2, val = search_materiau(valT2, val_min2, val_max2, T_min2, T_max2)
  3625. material3, res1, res2, val = search_materiau(valT3, val_min3, val_max3, T_min3, T_max3)
  3626.  
  3627.  
  3628. for mat1 in material1:
  3629. if mat1 in material2:
  3630. if mat1 in material3:
  3631. lemat.append(mat1)
  3632.  
  3633.  
  3634. lemat = list(set(lemat))
  3635. print 'materiau trouve : ', lemat
  3636.  
  3637. print 'material1', material1
  3638. print 'material2', material2
  3639. print 'material3', material3
  3640.  
  3641.  
  3642. else:
  3643. if liste== [u'10']: # combinaison 2
  3644. print liste
  3645. material1 = []
  3646. val_min1 = float(request.GET['Vmin1'])
  3647. val_max1 = float(request.GET['Vmax1'])
  3648. T_min1 = float(request.GET['Tmin1'])
  3649. T_max1 = float(request.GET['Tmax1'])
  3650. valT1 = request.GET['boite2'] # propriete 1
  3651. print 'val_min1:',val_min1
  3652. print 'val_max1:',val_max1
  3653.  
  3654. material1, res1, res2, val = search_materiau(valT1, val_min1, val_max1, T_min1, T_max1)
  3655.  
  3656. lemat = material1
  3657.  
  3658. print 'materiau trouve : ', lemat
  3659.  
  3660.  
  3661. if liste== [u'20']: # combinaison 3
  3662. print liste
  3663. material2 = []
  3664. val_min2 = float(request.GET['Vmin2'])
  3665. val_max2 = float(request.GET['Vmax2'])
  3666. T_min2 = float(request.GET['Tmin2'])
  3667. T_max2 = float(request.GET['Tmax2'])
  3668. valT2 = request.GET['boite4'] # propriete 2
  3669. print 'lecture'
  3670. print val_min2
  3671. print val_max2
  3672. print T_min2
  3673. print T_max2
  3674. print val2
  3675.  
  3676. material2, res1, res2, val = search_materiau(valT2, val_min2, val_max2, T_min2, T_max2)
  3677.  
  3678. lemat = material2
  3679.  
  3680. print 'materiau trouve : ', lemat
  3681.  
  3682.  
  3683.  
  3684.  
  3685. if liste== [u'30']: # combinaison 4
  3686. print liste
  3687. material3 = []
  3688. val_min3 = float(request.GET['Vmin3'])
  3689. val_max3 = float(request.GET['Vmax3'])
  3690. T_min3 = float(request.GET['Tmin3'])
  3691. T_max3 = float(request.GET['Tmax3'])
  3692. valT3 = request.GET['boite6'] # propriete 3
  3693. print 'lecture'
  3694. print val_min3
  3695. print val_max3
  3696. print T_min3
  3697. print T_max3
  3698. print valT3
  3699.  
  3700.  
  3701. material3, res1, res2, val = search_materiau(valT3, val_min3, val_max3, T_min3, T_max3)
  3702.  
  3703. lemat = material3
  3704.  
  3705. print 'materiau trouve : ', lemat
  3706.  
  3707.  
  3708.  
  3709.  
  3710. if liste== [u'10', u'20']:
  3711. print liste
  3712. material1 = []
  3713. material2 = []
  3714. val_min1 = float(request.GET['Vmin1'])
  3715. val_max1 = float(request.GET['Vmax1'])
  3716. T_min1 = float(request.GET['Tmin1'])
  3717. T_max1 = float(request.GET['Tmax1'])
  3718.  
  3719. val_min2 = float(request.GET['Vmin2'])
  3720. val_max2 = float(request.GET['Vmax2'])
  3721. T_min2 = float(request.GET['Tmin2'])
  3722. T_max2 = float(request.GET['Tmax2'])
  3723. valT1 = request.GET['boite2'] # propriete 1
  3724. valT2 = request.GET['boite4'] # propriete 2
  3725.  
  3726. print val_min1
  3727. print val_max1
  3728. print T_min1
  3729. print T_max1
  3730. print valT1
  3731.  
  3732. print val_min2
  3733. print val_max2
  3734. print T_min2
  3735. print T_max2
  3736. print valT2
  3737.  
  3738. materiau1 = []
  3739. materiau2 = []
  3740. mat10 = []
  3741. unmat=[]
  3742.  
  3743. material1, res1, res2, val = search_materiau(valT1, val_min1, val_max1, T_min1, T_max1)
  3744. pourcent1 = val
  3745. material2, res1, res2, val = search_materiau(valT2, val_min2, val_max2, T_min2, T_max2)
  3746. pourcent2 = val
  3747.  
  3748. print 'material1:', material1
  3749. print 'material2:', material2
  3750.  
  3751.  
  3752.  
  3753.  
  3754. for mat10 in material1:
  3755. if mat10 in material2:
  3756. unmat.append(mat10)
  3757.  
  3758.  
  3759.  
  3760. lemat = list(set(unmat))
  3761. print 'materiau trouve : ', lemat
  3762.  
  3763.  
  3764.  
  3765. if liste== [u'10', u'30']: # combinaison 6
  3766. print liste
  3767. material1 = []
  3768. material3 = []
  3769. val_min1 = float(request.GET['Vmin1'])
  3770. val_max1 = float(request.GET['Vmax1'])
  3771. T_min1 = float(request.GET['Tmin1'])
  3772. T_max1 = float(request.GET['Tmax1'])
  3773.  
  3774. val_min3 = float(request.GET['Vmin3'])
  3775. val_max3 = float(request.GET['Vmax3'])
  3776. T_min3 = float(request.GET['Tmin3'])
  3777. T_max3 = float(request.GET['Tmax3'])
  3778. valT1 = request.GET['boite2'] # propriete 1
  3779. valT3 = request.GET['boite6'] # propriete 3
  3780.  
  3781.  
  3782. material1, res1, res2, val = search_materiau(valT1, val_min1, val_max1, T_min1, T_max1)
  3783. material3, res1, res2, val = search_materiau(valT3, val_min3, val_max3, T_min3, T_max3)
  3784.  
  3785.  
  3786.  
  3787. for mat10 in material1:
  3788. if mat10 in material3:
  3789. unmat.append(mat10)
  3790.  
  3791.  
  3792.  
  3793. lemat = list(set(unmat))
  3794. print 'materiau trouve : ', lemat
  3795.  
  3796.  
  3797.  
  3798.  
  3799.  
  3800. if liste== [u'20', u'30']: # combinaison 7
  3801. print liste
  3802. material2 = []
  3803. material3 = []
  3804. val_min2 = float(request.GET['Vmin2'])
  3805. val_max2 = float(request.GET['Vmax2'])
  3806. T_min2 = float(request.GET['Tmin2'])
  3807. T_max2 = float(request.GET['Tmax2'])
  3808. val_min3 = float(request.GET['Vmin3'])
  3809. val_max3 = float(request.GET['Vmax3'])
  3810. T_min3 = float(request.GET['Tmin3'])
  3811. T_max3 = float(request.GET['Tmax3'])
  3812. valT2 = request.GET['boite4'] # propriete 2
  3813. valT3 = request.GET['boite6'] # propriete 3
  3814.  
  3815. print val_min2
  3816. print val_max2
  3817. print T_min2
  3818. print T_max2
  3819.  
  3820. print val_min3
  3821. print val_max3
  3822. print T_min3
  3823. print T_max3
  3824.  
  3825. print valT2
  3826. print valT3
  3827.  
  3828.  
  3829. material2, res1, res2, val = search_materiau(valT2, val_min2, val_max2, T_min1, T_max2)
  3830. material3, res2, res2, val = search_materiau(valT3, val_min3, val_max3, T_min3, T_max3)
  3831.  
  3832.  
  3833.  
  3834. for mat10 in material2:
  3835. if mat10 in material3:
  3836. unmat.append(mat10)
  3837.  
  3838.  
  3839.  
  3840. lemat = list(set(unmat))
  3841. print 'materiau trouve : ', lemat
  3842.  
  3843.  
  3844.  
  3845.  
  3846.  
  3847. except ValueError, error:
  3848. return render_to_response('material/message.html',
  3849. locals(),
  3850. context_instance=RequestContext(request))
  3851.  
  3852.  
  3853.  
  3854.  
  3855.  
  3856. return render_to_response('material/search_results_filt.html',
  3857. {'lemat':lemat,
  3858. 'val1': val1,
  3859. 'val2': val2,
  3860. 'res1': res1,
  3861. 'res2': res2,
  3862. 'val': val
  3863.  
  3864. })
  3865.  
  3866. return render_to_response(
  3867. {'errors': errors})
  3868.  
  3869.  
  3870.  
  3871.  
  3872. # ajout d'une nouvelle propriete d'un materiau
  3873.  
  3874. def add_materiau(request):
  3875. if request.method == 'POST':
  3876. form = MatForm(request.POST)
  3877. if form.is_valid():
  3878. form.save()
  3879. return HttpResponseRedirect(reverse('material_material_list'))
  3880. else:
  3881. form = MatForm()
  3882. return render_to_response('material/ajout_mat.html', {'form':form})
  3883.  
  3884.  
  3885.  
  3886. def nouveau_materiau(request):
  3887. if request.method == 'POST':
  3888. form = nouveauForm(request.POST)
  3889. if form.is_valid():
  3890. form.save()
  3891. return HttpResponseRedirect(reverse('material_material_list'))
  3892. else:
  3893. form = nouveauForm()
  3894. return render_to_response('material/ajout_nouveau.html', {'form':form
  3895. },
  3896. context_instance=RequestContext(request)
  3897. )
  3898.  
  3899.  
  3900.  
  3901.  
  3902. def edit_materiau(request, id):
  3903.  
  3904. return update_object(request,
  3905. model=Media2,
  3906. object_id=id,
  3907. template_name='material/update.html',
  3908. post_save_redirect=reverse('material_material_list')
  3909. )
  3910.  
  3911.  
  3912. def manage_medias(request, material_id=None):
  3913. if material_id== None:
  3914. material = Material()
  3915. else:
  3916. material = Material.objects.get(id = material_id)
  3917. MaterialFormset = inlineformset_factory(Material, Essai_Temperature, can_delete=True)
  3918.  
  3919. if request.method == "POST":
  3920. materialform = MaterialForm(request.POST, instance=material)
  3921. materialformset = MaterialFormset(request.POST,request.FILES, instance=material)
  3922.  
  3923. if materialform.is_valid():
  3924. materialform.save()
  3925. else:
  3926. #materialform = materialform()
  3927. pass
  3928. if materialformset.is_valid():
  3929. materialformset.save()
  3930. else:
  3931. #materialformset = materialformset()
  3932. pass
  3933. # if '_save' in request.POST:
  3934. # return HttpResponseRedirect(reverse('materiaux_material_list'))
  3935. # if '_addanother' in request.POST:
  3936. # return HttpResponseRedirect(reverse('materiaux_material_list'))
  3937.  
  3938. else:
  3939. materialform = MaterialForm(instance=material)
  3940. materialformset = MaterialFormset(instance=material)
  3941.  
  3942.  
  3943. return render_to_response('material/manage_media.html', {
  3944. 'material_id': material_id,
  3945. 'materialform': materialform,
  3946. 'materialformset' : materialformset
  3947. },
  3948. context_instance=RequestContext(request)
  3949. )
  3950.  
  3951.  
  3952.  
  3953. @permission_required('materiaux.add_unite_property', login_url="/accounts/login/")
  3954. def manage2_materiaux(request, material_id=None):
  3955. if material_id== None:
  3956. material = Material()
  3957. else:
  3958. material = Material.objects.get(id = material_id)
  3959. MaterialFormset = inlineformset_factory(Material, UniteProperty2, can_delete=True)
  3960.  
  3961. if request.method == "POST":
  3962. materialform = MaterialForm(request.POST, instance=material)
  3963. materialformset = MaterialFormset(request.POST,request.FILES, instance=material)
  3964.  
  3965. if materialform.is_valid():
  3966. materialform.save()
  3967. else:
  3968. pass
  3969. if materialformset.is_valid():
  3970. materialformset.save()
  3971. else:
  3972. pass
  3973.  
  3974.  
  3975. else:
  3976. materialform = MaterialForm(instance=material)
  3977. materialformset = MaterialFormset(instance=material)
  3978.  
  3979. return render_to_response('material/manage_materiaux.html',
  3980. {
  3981. 'material_id': material_id,
  3982. 'materialform': materialform,
  3983. 'materialformset' : materialformset
  3984.  
  3985. },
  3986. context_instance=RequestContext(request)
  3987. )
  3988.  
  3989.  
  3990.  
  3991.  
  3992.  
  3993. def manage3_materiaux(request, material_id=None):
  3994. if material_id== None:
  3995. material = Material()
  3996. else:
  3997. material = Material.objects.get(id = material_id)
  3998. MaterialFormset = inlineformset_factory(Material, Temp_exp, can_delete=True)
  3999.  
  4000. if request.method == "POST":
  4001. materialform = MaterialForm(request.POST, instance=material)
  4002. materialformset = MaterialFormset(request.POST,request.FILES, instance=material)
  4003.  
  4004. if materialform.is_valid():
  4005. materialform.save()
  4006. else:
  4007. pass
  4008. if materialformset.is_valid():
  4009. materialformset.save()
  4010. else:
  4011. pass
  4012.  
  4013. # if '_save' in request.POST:
  4014. # return HttpResponseRedirect(reverse('materiaux_material_list'))
  4015. # if '_addanother' in request.POST:
  4016. # return HttpResponseRedirect(reverse('materiaux_material_list'))
  4017.  
  4018. else:
  4019. materialform = MaterialForm(instance=material)
  4020. materialformset = MaterialFormset(instance=material)
  4021.  
  4022. return render_to_response('material/edit_tableau.html', {
  4023. 'material_id': material_id,
  4024. 'materialform': materialform,
  4025. 'materialformset' : materialformset,
  4026. })
  4027.  
  4028.  
  4029. @login_required
  4030. def delete_materiau(request, slug):
  4031.  
  4032. return delete_object(request,
  4033. model=Material,
  4034. object_id=slug,
  4035. template_name='material/delete.html',
  4036. template_object_name='index',
  4037. post_delete_redirect=reverse('material_material_list')
  4038. )
  4039.  
  4040.  
  4041.  
  4042. def delete_materialProperty(request, slug):
  4043.  
  4044. return delete_object(request,
  4045. model=MaterialProperty,
  4046. object_id=slug,
  4047. template_name='material/delete.html',
  4048. template_object_name='indice',
  4049. post_delete_redirect=reverse('material_material_list')
  4050. )
  4051.  
  4052.  
  4053.  
  4054.  
  4055. def mat_edit(request, id=None):
  4056. instance = None
  4057. if id is not None:
  4058. instance = UniteProperty.objects.get(id=id)
  4059. if request.method == "POST":
  4060. form = MatForm(request.POST, instance=instance)
  4061. if form.is_valid():
  4062. form.save()
  4063. return HttpResponseRedirect('/material/')
  4064. else:
  4065. form = MatForm()
  4066. return render_to_response('mat_edit.html', {'form':form})
  4067.  
  4068.  
  4069.  
  4070. def lit_conv(request):
  4071.  
  4072. add = Add()
  4073. print add(10)
  4074.  
  4075. val1 = request.GET['q']
  4076. val2 = request.GET['fil']
  4077. val3 = request.GET['fil2']
  4078.  
  4079. return render_to_response('material/calcul.html',
  4080. {'val1': val1,
  4081. 'val2': val2,
  4082. 'val3': val3,
  4083. })
  4084.  
  4085.  
  4086. def convert(request, id):
  4087.  
  4088. if request.method == 'POST':
  4089. queryset= UniteProperty1.objects.all()
  4090. object_id=id
  4091. form = UnitConverterForm(request.POST)
  4092. if form.is_valid():
  4093. return HttpResponse('Value : %.2f' % form.convert())
  4094.  
  4095. else:
  4096. form = UnitConverterForm()
  4097.  
  4098. return render_to_response('material/forms.html', {'form': form},
  4099. context_instance=RequestContext(request))
  4100.  
  4101.  
  4102.  
  4103.  
  4104. def affiche(request):
  4105. if request.method == 'POST':
  4106. form = UnitConverterForm(request.POST)
  4107. if form.is_valid():
  4108. var0 = form.convert() # resultat du calcul
  4109. return render_to_response('material/calcul.html',
  4110. {'var0': var0,
  4111. })
  4112.  
  4113. else:
  4114. form = UnitConverterForm()
  4115.  
  4116. return render_to_response('material/forms.html', {'form': form},
  4117. context_instance=RequestContext(request))
  4118.  
  4119.  
  4120.  
  4121. def convert2(request, id):
  4122.  
  4123. if request.method == 'POST':
  4124. queryset= UniteProperty1.objects.all()
  4125. object_id=id
  4126. form = UnitConverterForm2(request.POST)
  4127. if form.is_valid():
  4128. return HttpResponse('Value : %.2f' % form.convert2())
  4129.  
  4130. else:
  4131. form = UnitConverterForm2()
  4132.  
  4133. return render_to_response('material/forms.html', {'form': form},
  4134. context_instance=RequestContext(request))
  4135.  
  4136.  
  4137.  
  4138. def affiche2(request):
  4139. if request.method == 'POST':
  4140. form = UnitConverterForm2(request.POST)
  4141. if form.is_valid():
  4142. var0 = form.convert2() # resultat du calcul
  4143. return render_to_response('materiaux/calcul.html',
  4144. {'var0': var0,
  4145. })
  4146.  
  4147. else:
  4148. form = UnitConverterForm2()
  4149.  
  4150. return render_to_response('material/forms.html', {'form': form},
  4151. context_instance=RequestContext(request))
  4152.  
  4153.  
  4154. def convert3(request, id):
  4155.  
  4156. if request.method == 'POST':
  4157. queryset= UniteProperty1.objects.all()
  4158. object_id=id
  4159. form = UnitConverterForm3(request.POST)
  4160. if form.is_valid():
  4161. return HttpResponse('Value : %.2f' % form.convert3())
  4162.  
  4163. else:
  4164. form = UnitConverterForm3()
  4165.  
  4166. return render_to_response('material/forms.html', {'form': form},
  4167. context_instance=RequestContext(request))
  4168.  
  4169.  
  4170.  
  4171. def affiche3(request):
  4172. if request.method == 'POST':
  4173. form = UnitConverterForm3(request.POST)
  4174. if form.is_valid():
  4175. var0 = form.convert3() # resultat du calcul
  4176. return render_to_response('material/calcul.html',
  4177. {'var0': var0,
  4178. })
  4179.  
  4180. else:
  4181. form = UnitConverterForm3()
  4182.  
  4183. return render_to_response('material/forms.html', {'form': form},
  4184. context_instance=RequestContext(request))
  4185.  
  4186.  
  4187.  
  4188.  
  4189.  
  4190.  
  4191. # chargement dans le formulaire de saisie de la donnee numerique correspondant au champ densite
  4192.  
  4193. def lit_val(request, id):
  4194.  
  4195. return object_detail(request,
  4196. queryset= UniteProperty.objects.all(),
  4197. object_id=id,
  4198. template_name='material/charge_param.html',
  4199. template_object_name ='param'
  4200. )
  4201.  
  4202.  
  4203. def lit_message(request):
  4204. return render_to_response('material/faq.html')
  4205.  
  4206.  
  4207. def lit_image(request):
  4208. return render_to_response('material/image.html')
  4209.  
  4210.  
  4211.  
  4212. def searchcourb(request):
  4213. try:
  4214. unmat1 = request.GET['mat1']
  4215. unmat2 = request.GET['mat2']
  4216. unmat3 = request.GET['mat3']
  4217. unmat4 = request.GET['mat4']
  4218. letab = request.GET['mat5']
  4219. valT1 = request.GET['propriete1']
  4220.  
  4221. print 'propriete:', valT1
  4222. print 'mat1', unmat1
  4223. print 'mat2', unmat2
  4224. print 'mat3', unmat3
  4225. print 'mat4', unmat4
  4226.  
  4227.  
  4228. lt= []
  4229.  
  4230. lt = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab.split(',')]
  4231.  
  4232.  
  4233. print 'lt', lt
  4234.  
  4235. valeur_T=[]
  4236. valeur_min=[]
  4237. valeur_max=[]
  4238.  
  4239. valeur_T1=[]
  4240. valeur_min1=[]
  4241. valeur_max1=[]
  4242.  
  4243. valeur_T2=[]
  4244. valeur_min2=[]
  4245. valeur_max2=[]
  4246.  
  4247. valeur_T3=[]
  4248. valeur_min3=[]
  4249. valeur_max3=[]
  4250.  
  4251.  
  4252. i=0
  4253. valTT=[]
  4254. valmmin=[]
  4255. valmmax=[]
  4256. valT=[]
  4257. valmin=[]
  4258. valmax=[]
  4259.  
  4260.  
  4261. for j in range(len(lt)):
  4262. if lt[i]!='0':
  4263. valT, valmin, valmax = calcul2(lt[i], valT1)
  4264. valTT.append(valT)
  4265. valmmin.append(valmin)
  4266. valmmax.append(valmax)
  4267. i+=1
  4268.  
  4269. T1= []
  4270. for i in range(len(valmmax)):
  4271. T1.append(max(valmmax[i]))
  4272.  
  4273. T10= []
  4274. for i in range(len(valmmin)):
  4275. T10.append(min(valmmin[i]))
  4276.  
  4277.  
  4278. T2= []
  4279. for i in range(len(valTT)):
  4280. T2.append(max(valTT[i]))
  4281.  
  4282. T20= []
  4283. for i in range(len(valTT)):
  4284. T20.append(min(valTT[i]))
  4285.  
  4286.  
  4287. valeurmax = max(T1)
  4288. valeurmin = min(T10)
  4289.  
  4290. valeurTmin = min(T20)
  4291. valeurTmax = max(T2)
  4292. print valeurmin
  4293.  
  4294.  
  4295.  
  4296. print 'lemat1',unmat1
  4297. print 'lemat2',unmat2
  4298. print 'lemat3',unmat3
  4299. print unmat4
  4300.  
  4301. if unmat1 !='0':
  4302.  
  4303. valeur_T, valeur_min, valeur_max = calcul2(unmat1, valT1)
  4304.  
  4305. if unmat2 !='0':
  4306. valeur_T1, valeur_min1, valeur_max1 = calcul2(unmat2, valT1)
  4307.  
  4308. if unmat3 !='0':
  4309. valeur_T2, valeur_min2, valeur_max2 = calcul2(unmat3, valT1)
  4310.  
  4311. if unmat4 !='0':
  4312. valeur_T3, valeur_min3, valeur_max3 = calcul2(unmat4, valT1)
  4313.  
  4314.  
  4315.  
  4316. print 'val_min', valeur_min
  4317. print 'valeur_T', valeur_T
  4318. datas2= {'val_T':valeur_T, 'val_min': valeur_min, 'val_max': valeur_max, 'nom_mat':unmat1,
  4319. 'val_T1':valeur_T1, 'val_min1': valeur_min1, 'val_max1': valeur_max1, 'nom_mat1':unmat2,
  4320. 'val_T2':valeur_T2, 'val_min2': valeur_min2, 'val_max2': valeur_max2, 'nom_mat2':unmat3,
  4321. 'val_T3':valeur_T3, 'val_min3': valeur_min3, 'val_max3': valeur_max3, 'nom_mat3':unmat4,
  4322. 'valeurmin':valeurmin, 'valeurmax': valeurmax, 'valeurTmin':valeurTmin, 'valeurTmax':valeurTmax,
  4323. 'vT':valTT, 'vmi': valmmin, 'vma': valmmax}
  4324.  
  4325. data = simplejson.dumps(datas2)
  4326. return HttpResponse(data, mimetype= 'application/json')
  4327.  
  4328. except:
  4329. return HttpResponse("OK")
  4330.  
  4331. def searchcourb0(request):
  4332. try:
  4333. unmat1 = request.GET['mat1']
  4334. unmat2 = request.GET['mat2']
  4335. unmat3 = request.GET['mat3']
  4336. unmat4 = request.GET['mat4']
  4337. unmat10 = request.GET['mat10']
  4338. unmat20 = request.GET['mat20']
  4339. unmat30 = request.GET['mat30']
  4340. unmat40 = request.GET['mat40']
  4341. unmat100 = request.GET['mat100']
  4342. unmat200 = request.GET['mat200']
  4343. unmat300 = request.GET['mat300']
  4344. unmat400 = request.GET['mat400']
  4345. letab = request.GET['mat5']
  4346. letab2 = request.GET['mat6']
  4347. letab3 = request.GET['mat7']
  4348. valT1 = request.GET['propriete1']
  4349. valT2 = request.GET['propriete2']
  4350. valT3 = request.GET['propriete3']
  4351.  
  4352. val_T300 = []
  4353. val_min300=[]
  4354. val_max300=[]
  4355.  
  4356. if unmat1 !='0':
  4357. val_T1, val_min1, val_max1 = calcul2(unmat1, valT1)
  4358. print 'val_T1', val_T1
  4359.  
  4360. if unmat2 !='0':
  4361. val_T2, val_min2, val_max2 = calcul2(unmat2, valT1)
  4362.  
  4363. if unmat3 !='0':
  4364. val_T3, val_min3, val_max3 = calcul2(unmat3, valT1)
  4365.  
  4366. if unmat4 !='0':
  4367. val_T4, val_min4, val_max4 = calcul2(unmat4, valT1)
  4368.  
  4369. if unmat10 !='0':
  4370. val_T10, val_min10, val_max10 = calcul2(unmat10, valT2)
  4371.  
  4372. if unmat20 !='0':
  4373. val_T20, val_min20, val_max20 = calcul2(unmat20, valT2)
  4374.  
  4375. if unmat30 !='0':
  4376. val_T30, val_min30, val_max30 = calcul2(unmat30, valT2)
  4377.  
  4378. if unmat40 !='0':
  4379. val_T40, val_min40, val_max40 = calcul2(unmat40, valT2)
  4380.  
  4381. if unmat100 !='0':
  4382. val_T100, val_min100, val_max100 = calcul2(unmat100, valT3)
  4383.  
  4384. if unmat200 !='0':
  4385. val_T200, val_min200, val_max200 = calcul2(unmat200, valT3)
  4386.  
  4387. if unmat300 !='0':
  4388. val_T300, val_min300, val_max300 = calcul2(unmat300, valT3)
  4389.  
  4390. if unmat400 !='0':
  4391. val_T400, val_min400, val_max400 = calcul2(unmat400, valT3)
  4392.  
  4393.  
  4394. datas2= {'val_T1':val_T1, 'val_min1': val_min1, 'val_max1': val_max1, 'nom_mat1':unmat1,
  4395. 'val_T2':val_T2, 'val_min2': val_min2, 'val_max2': val_max2, 'nom_mat2':unmat2,
  4396. 'val_T3':val_T3, 'val_min3': val_min3, 'val_max3': val_max3, 'nom_mat3':unmat3,
  4397. 'val_T4':val_T4, 'val_min4': val_min4, 'val_max4': val_max4, 'nom_mat4':unmat4,
  4398. 'val_T10':val_T10, 'val_min10': val_min10, 'val_max10': val_max10, 'nom_mat10':unmat10,
  4399. 'val_T20':val_T20, 'val_min20': val_min20, 'val_max20': val_max20, 'nom_mat20':unmat20,
  4400. 'val_T30':val_T30, 'val_min30': val_min30, 'val_max30': val_max30, 'nom_mat30':unmat30,
  4401. 'val_T40':val_T40, 'val_min40': val_min40, 'val_max40': val_max40, 'nom_mat40':unmat40,
  4402. 'val_T100':val_T100, 'val_min100': val_min100, 'val_max100': val_max100, 'nom_mat100':unmat100,
  4403. 'val_T200':val_T200, 'val_min200': val_min200, 'val_max200': val_max200, 'nom_mat200':unmat200,
  4404. 'val_T300':val_T300, 'val_min300': val_min300, 'val_max300': val_max300, 'nom_mat300':unmat300}
  4405.  
  4406.  
  4407. print 'passage2'
  4408. data = simplejson.dumps(datas2)
  4409. return HttpResponse(data, mimetype= 'application/json')
  4410.  
  4411. except:
  4412. return HttpResponse("OK")
  4413.  
  4414.  
  4415.  
  4416. def searchcourb3(request):
  4417. try:
  4418. unmat1 = request.GET['mat1']
  4419. unmat2 = request.GET['mat2']
  4420. unmat3 = request.GET['mat3']
  4421. unmat4 = request.GET['mat4']
  4422. unmat10 = request.GET['mat10']
  4423. unmat20 = request.GET['mat20']
  4424. unmat30 = request.GET['mat30']
  4425. unmat40 = request.GET['mat40']
  4426. unmat100 = request.GET['mat100']
  4427. unmat200 = request.GET['mat200']
  4428. unmat300 = request.GET['mat300']
  4429. unmat400 = request.GET['mat400']
  4430. letab = request.GET['mat5']
  4431. letab2 = request.GET['mat6']
  4432. letab3 = request.GET['mat7']
  4433. valT1 = request.GET['propriete1']
  4434. valT2 = request.GET['propriete2']
  4435. valT3 = request.GET['propriete3']
  4436. famille = request.GET['famille']
  4437.  
  4438. Tmin1 = float(request.GET['Tmin1'])
  4439. Tmax1 = float(request.GET['Tmax1'])
  4440. valmin1 = float(request.GET['valmin1'])
  4441. valmax1 = float(request.GET['valmax1'])
  4442.  
  4443. Tmin2 = float(request.GET['Tmin2'])
  4444. Tmax2 = float(request.GET['Tmax2'])
  4445. valmin2 = float(request.GET['valmin2'])
  4446. valmax2 = float(request.GET['valmax2'])
  4447.  
  4448. Tmin3 = float(request.GET['Tmin3'])
  4449. Tmax3 = float(request.GET['Tmax3'])
  4450. valmin3 = float(request.GET['valmin3'])
  4451. valmax3 = float(request.GET['valmax3'])
  4452.  
  4453. poids1 = float(request.GET['poids1'])
  4454. poids2 = float(request.GET['poids2'])
  4455. poids3 = float(request.GET['poids3'])
  4456.  
  4457.  
  4458. material1, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT1, valmin1, valmax1, Tmin1, Tmax1)
  4459. points1 = points
  4460. print 'points1', points1
  4461. material2, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT2, valmin2, valmax2, Tmin2, Tmax2)
  4462. points2 = points
  4463. print 'points2', points2
  4464. material3, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT3, valmin3, valmax3, Tmin3, Tmax3)
  4465. points3 = points
  4466. print 'points3', points3
  4467.  
  4468. M1 = []
  4469. MM1 = []
  4470. M2 = []
  4471. MM2 = []
  4472. M3 = []
  4473. MM3 = []
  4474.  
  4475. len1 = len(points1)
  4476. len2 = len(points2)
  4477. len3 = len(points3)
  4478.  
  4479. for j in range(len1):
  4480. M1.append(points1[j][0])
  4481. MM1.append(points1[j][1])
  4482.  
  4483. for j in range(len2):
  4484. M2.append(points2[j][0])
  4485. MM2.append(points2[j][1])
  4486.  
  4487. for j in range(len3):
  4488. M3.append(points3[j][0])
  4489. MM3.append(points3[j][1])
  4490.  
  4491. mat1=[]
  4492. T100=[]
  4493. j=0
  4494. T50=[]
  4495. M4=[]
  4496. M6=[]
  4497.  
  4498. valoption1=poids1
  4499. valoption2=poids2
  4500. valoption3=poids3
  4501.  
  4502. #inter1 = set(material1).intersection(set(material2)).intersection(set(material3))
  4503. #inter2 = set(M1).intersection(set(M2)).intersection(set(M3))
  4504.  
  4505. for mat1 in material1:
  4506. if mat1 in material2 and mat1 in material3:
  4507. i=0
  4508. print 'pass'
  4509. while i<len(M1):
  4510. if M1[i]==mat1:
  4511. print 'pass1'
  4512. T50 = (MM1[i]*valoption1)/(valoption1 + valoption2 + valoption3)
  4513. M4.append((mat1, T50))
  4514. i+=1
  4515. i=0
  4516. while i<len(M2):
  4517. if M2[i]==mat1:
  4518. print 'pass2'
  4519. T50 = (MM2[i]*valoption2)/(valoption1 + valoption2 + valoption3)
  4520. M4.append((mat1, T50))
  4521. i+=1
  4522. i=0
  4523. while i<len(M3):
  4524. if M3[i]==mat1:
  4525. print 'pass3'
  4526. T50 = (MM3[i]*valoption3)/(valoption1 + valoption2 + valoption3)
  4527. M4.append((mat1, T50))
  4528. i+=1
  4529.  
  4530. M6 = process(M4)
  4531.  
  4532. print 'M6', M6 # points3
  4533.  
  4534. XX ='0'
  4535. XX1=0
  4536. YY='0'
  4537. YY1=0
  4538. VV='0'
  4539. VV1=0
  4540. ZZ='0'
  4541. ZZ1=0
  4542. if len(M6)==1:
  4543. XX = M6[0][0]
  4544. XX1 = M6[0][1]
  4545. XX = str(XX)
  4546. XX1 = float(XX1)
  4547. XX1 = round(XX1,2)
  4548. if len(M6)==2:
  4549. XX = M6[0][0]
  4550. XX1 = M6[0][1]
  4551. VV = M6[1][0]
  4552. VV1 = M6[1][1]
  4553. XX = str(XX)
  4554. VV = str(VV)
  4555. ZZ = '0'
  4556. ZZ1=0
  4557. YY = '0'
  4558. YY1=0
  4559. XX1 = float(XX1)
  4560. VV1 = float(VV1)
  4561. XX1 = round(XX1,2)
  4562. VV1 = round(VV1,2)
  4563. if len(M6)==3:
  4564. XX = M6[0][0]
  4565. XX1 = M6[0][1]
  4566. VV = M6[1][0]
  4567. VV1 = M6[1][1]
  4568. YY = M6[2][0]
  4569. YY1 = M6[2][1]
  4570.  
  4571. XX = str(XX)
  4572. VV = str(VV)
  4573. YY = str(YY)
  4574. ZZ = '0'
  4575. ZZ1=0
  4576. XX1 = float(XX1)
  4577. XX1 = round(XX1,2)
  4578. VV1 = float(VV1)
  4579. VV1 = round(VV1,2)
  4580. YY1 = float(YY1)
  4581. YY1 = round(YY1,2)
  4582. if len(M6)>=4:
  4583. XX = M6[0][0]
  4584. XX1 = M6[0][1]
  4585. VV = M6[1][0]
  4586. VV1 = M6[1][1]
  4587. YY = M6[2][0]
  4588. YY1 = M6[2][1]
  4589. ZZ = M6[3][0]
  4590. ZZ1 = M6[3][1]
  4591.  
  4592. XX = str(XX)
  4593. VV = str(VV)
  4594. YY = str(YY)
  4595. ZZ = str(ZZ)
  4596.  
  4597. XX1 = float(XX1)
  4598. XX1 = round(XX1,2)
  4599. VV1 = float(VV1)
  4600. VV1 = round(VV1,2)
  4601. YY1 = float(YY1)
  4602. YY1 = round(YY1,2)
  4603. ZZ1 = float(ZZ1)
  4604. ZZ1 = round(ZZ1,2)
  4605.  
  4606.  
  4607.  
  4608. T1 = []
  4609. T2 = []
  4610. T3 = []
  4611. for i in range(len(points1)):
  4612. T1.append((points1[i][1])*valoption1)
  4613. P1 = sum(T1)
  4614.  
  4615. for i in range(len(points2)):
  4616. T2.append((points2[i][1])*valoption2)
  4617. P2 = sum(T2)
  4618.  
  4619. for i in range(len(points3)):
  4620. T3.append((points3[i][1])*valoption3)
  4621. P3 = sum(T3)
  4622.  
  4623. MAP = (P1+P2+P3)/(valoption1 + valoption2 + valoption3)
  4624. MAP = round(MAP,2)
  4625.  
  4626. print 'moyenne arithmetique ponderee:', MAP
  4627. print 'passagecourb3'
  4628. print 'letab2', letab2
  4629. print 'unmat1', unmat1
  4630. lt= []
  4631. lt2= []
  4632. lt3= []
  4633. i=0
  4634. n=0
  4635. p=0
  4636. valTT=[]
  4637. valmmin=[]
  4638. valmmax=[]
  4639.  
  4640. valTT2=[]
  4641. valmmin2=[]
  4642. valmmax2=[]
  4643.  
  4644. valTT3=[]
  4645. valmmin3=[]
  4646. valmmax3=[]
  4647.  
  4648. valT20=[]
  4649. valmin20=[]
  4650. valmax20=[]
  4651.  
  4652. valT30=[]
  4653. valmin30=[]
  4654. valmax30=[]
  4655.  
  4656. lt = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab.split(',')]
  4657. lt2 = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab2.split(',')]
  4658. lt3 = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab3.split(',')]
  4659.  
  4660. print 'lt', lt
  4661. print 'lt2', lt2
  4662. print 'lt3', lt3
  4663.  
  4664. for j in range(len(lt)):
  4665. if lt[i]!='0':
  4666. valT, valmin, valmax = calcul2(lt[i], valT1)
  4667. valTT.append(valT)
  4668. valmmin.append(valmin)
  4669. valmmax.append(valmax)
  4670.  
  4671. i+=1
  4672.  
  4673.  
  4674. T1= []
  4675. for i in range(len(valmmax)):
  4676. T1.append(max(valmmax[i]))
  4677.  
  4678. T10= []
  4679. for i in range(len(valmmin)):
  4680. T10.append(min(valmmin[i]))
  4681.  
  4682. valeurmax = max(T1)
  4683. valeurmin = min(T10)
  4684. print 'valmin', valeurmin
  4685. print 'valmax', valeurmax
  4686.  
  4687.  
  4688. T3= []
  4689. for i in range(len(valTT)):
  4690. T3.append(max(valTT[i]))
  4691.  
  4692.  
  4693. T30= []
  4694. for i in range(len(valTT)):
  4695. T30.append(min(valTT[i]))
  4696.  
  4697. valeurTmin= min(T30)
  4698. valeurTmax=max(T3)
  4699. print 'valTmin', valeurTmin
  4700. print 'valTmax', valeurTmax
  4701.  
  4702. for j in range(len(lt2)):
  4703. if lt2[n]!='0':
  4704. valT20, valmin20, valmax20 = calcul2(lt2[n], valT2)
  4705. valTT2.append(valT20)
  4706. valmmin2.append(valmin20)
  4707. valmmax2.append(valmax20)
  4708. n+=1
  4709.  
  4710. T2= []
  4711. for i in range(len(valmmax2)):
  4712. T2.append(max(valmmax2[i]))
  4713.  
  4714.  
  4715. T20= []
  4716. for i in range(len(valmmin2)):
  4717. T20.append(min(valmmin2[i]))
  4718.  
  4719. valeurmax2 = max(T2)
  4720. valeurmin2 = min(T20)
  4721. print 'valmin2', valeurmin2
  4722. print 'valmax2', valeurmax2
  4723. T4= []
  4724. for i in range(len(valTT2)):
  4725. T4.append(max(valTT2[i]))
  4726.  
  4727.  
  4728. T40= []
  4729. for i in range(len(valTT2)):
  4730. T40.append(min(valTT2[i]))
  4731.  
  4732.  
  4733. valeurTmin2= min(T40)
  4734. valeurTmax2=max(T4)
  4735. print 'valTmin2', valeurTmin2
  4736. print 'valTmax2', valeurTmax2
  4737.  
  4738. for j in range(len(lt3)):
  4739. if lt3[p]!='0':
  4740. valT30, valmin30, valmax30 = calcul2(lt3[p], valT3)
  4741. valTT3.append(valT30)
  4742. valmmin3.append(valmin30)
  4743. valmmax3.append(valmax30)
  4744. p+=1
  4745.  
  4746. print 'valmmin3', valmmin3
  4747. print 'valmmax3', valmmax3
  4748.  
  4749.  
  4750.  
  4751. T5= []
  4752. for i in range(len(valmmax3)):
  4753. T5.append(max(valmmax3[i]))
  4754.  
  4755.  
  4756. T50= []
  4757. for i in range(len(valmmin3)):
  4758. T50.append(min(valmmin3[i]))
  4759.  
  4760. valeurmax3 = max(T5)
  4761. valeurmin3 = min(T50)
  4762. print 'valmin3', valeurmin3
  4763. print 'valmax3', valeurmax3
  4764.  
  4765. T6= []
  4766. for i in range(len(valTT3)):
  4767. T6.append(max(valTT3[i]))
  4768.  
  4769.  
  4770. T60= []
  4771. for i in range(len(valTT3)):
  4772. T60.append(min(valTT3[i]))
  4773.  
  4774. valeurTmin3= min(T60)
  4775. valeurTmax3=max(T6)
  4776.  
  4777. val_T1=[]
  4778. val_min1=[]
  4779. val_max1=[]
  4780.  
  4781. val_T2=[]
  4782. val_min2=[]
  4783. val_max2=[]
  4784.  
  4785. val_T3=[]
  4786. val_min3=[]
  4787. val_max3=[]
  4788.  
  4789. val_T4=[]
  4790. val_min4=[]
  4791. val_max4=[]
  4792.  
  4793. val_T10=[]
  4794. val_min10=[]
  4795. val_max10=[]
  4796.  
  4797. val_T20=[]
  4798. val_min20=[]
  4799. val_max20=[]
  4800.  
  4801. val_T30=[]
  4802. val_min30=[]
  4803. val_max30=[]
  4804.  
  4805. val_T40=[]
  4806. val_min40=[]
  4807. val_max40=[]
  4808.  
  4809. val_T100 = []
  4810. val_min100=[]
  4811. val_max100=[]
  4812. val_T200 = []
  4813. val_min200=[]
  4814. val_max200=[]
  4815.  
  4816. val_T300 = []
  4817. val_min300=[]
  4818. val_max300=[]
  4819.  
  4820. val_T400 = []
  4821. val_min400=[]
  4822. val_max400=[]
  4823.  
  4824. if unmat1 !='0':
  4825. val_T1, val_min1, val_max1 = calcul2(unmat1, valT1)
  4826. print 'val_T1', val_T1
  4827.  
  4828. if unmat2 !='0':
  4829. val_T2, val_min2, val_max2 = calcul2(unmat2, valT1)
  4830.  
  4831. if unmat3 !='0':
  4832. val_T3, val_min3, val_max3 = calcul2(unmat3, valT1)
  4833.  
  4834. if unmat4 !='0':
  4835. val_T4, val_min4, val_max4 = calcul2(unmat4, valT1)
  4836.  
  4837. if unmat10 !='0':
  4838. val_T10, val_min10, val_max10 = calcul2(unmat10, valT2)
  4839.  
  4840. if unmat20 !='0':
  4841. val_T20, val_min20, val_max20 = calcul2(unmat20, valT2)
  4842.  
  4843. if unmat30 !='0':
  4844. val_T30, val_min30, val_max30 = calcul2(unmat30, valT2)
  4845.  
  4846. if unmat40 !='0':
  4847. val_T40, val_min40, val_max40 = calcul2(unmat40, valT2)
  4848.  
  4849. if unmat100 !='0':
  4850. val_T100, val_min100, val_max100 = calcul2(unmat100, valT3)
  4851.  
  4852. if unmat200 !='0':
  4853. val_T200, val_min200, val_max200 = calcul2(unmat200, valT3)
  4854.  
  4855. if unmat300 !='0':
  4856. val_T300, val_min300, val_max300 = calcul2(unmat300, valT3)
  4857.  
  4858. if unmat400 !='0':
  4859. val_T400, val_min400, val_max400 = calcul2(unmat400, valT3)
  4860.  
  4861. print ' '
  4862. print 'zoomrange graph1'
  4863. print 'valeurmin',valeurmin
  4864. print 'valeurmax',valeurmax
  4865. print 'valeurTmin',valeurTmin
  4866. print 'valeurTmax',valeurTmax
  4867. print ' '
  4868. print 'zoomrange graph2'
  4869. print 'valeurmin2',valeurmin2
  4870. print 'valeurmax2',valeurmax2
  4871. print 'valeurTmin2',valeurTmin2
  4872. print 'valeurTmax2',valeurTmax2
  4873. print ' '
  4874. print 'zoomrange graph3'
  4875. print 'valeurmin3',valeurmin3
  4876. print 'valeurmax3',valeurmax3
  4877. print 'valeurTmin3',valeurTmin3
  4878. print 'valeurTmax3',valeurTmax3
  4879. print ' '
  4880.  
  4881. print 'val_T1', val_T1
  4882. print 'val_T2', val_T2
  4883. print 'val_min1', val_min1
  4884. print 'val_max1', val_max1
  4885. print 'nom_mat1', unmat1
  4886. print 'val_min2', val_min2
  4887. print 'val_max2', val_max2
  4888. print 'nom_mat2', unmat2
  4889. print 'val_T4', val_T4
  4890. print 'val_min4', val_min4
  4891. print 'val_max4', val_max4
  4892. print 'nom_mat4', unmat4
  4893. print 'val_T10', val_T10
  4894. print 'val_min10', val_min10
  4895. print 'val_max10', val_max10
  4896. print 'nom_mat10', unmat10
  4897. print 'val_T20', val_T20
  4898. print 'val_min20', val_min20
  4899. print 'val_max20', val_max20
  4900. print 'nom_mat20', unmat20
  4901. print 'val_T30', val_T30
  4902. print 'val_min30', val_min30
  4903. print 'val_max30', val_max30
  4904. print 'nom_mat30', unmat30
  4905. print 'val_T40', val_T40
  4906. print 'val_min40', val_min40
  4907. print 'val_max40', val_max40
  4908. print 'nom_mat40', unmat40
  4909. print 'val_T100', val_T100
  4910. print 'val_min100', val_min100
  4911. print 'val_max100', val_max100
  4912. print 'nom_mat100', unmat100
  4913. print 'val_min200', val_min200
  4914. print 'val_max200', val_max200
  4915. print 'nom_mat200', unmat200
  4916. print 'val_T300', val_T300
  4917. print 'val_min300', val_min300
  4918. print 'val_max300', val_max300
  4919. print 'nom_mat300', unmat300
  4920.  
  4921. datas2= {'val_T1':val_T1, 'val_min1': val_min1, 'val_max1': val_max1, 'nom_mat1':unmat1,
  4922. 'val_T2':val_T2, 'val_min2': val_min2, 'val_max2': val_max2, 'nom_mat2':unmat2,
  4923. 'val_T3':val_T3, 'val_min3': val_min3, 'val_max3': val_max3, 'nom_mat3':unmat3,
  4924. 'val_T4':val_T4, 'val_min4': val_min4, 'val_max4': val_max4, 'nom_mat4':unmat4,
  4925. 'val_T10':val_T10, 'val_min10': val_min10, 'val_max10': val_max10, 'nom_mat10':unmat10,
  4926. 'val_T20':val_T20, 'val_min20': val_min20, 'val_max20': val_max20, 'nom_mat20':unmat20,
  4927. 'val_T30':val_T30, 'val_min30': val_min30, 'val_max30': val_max30, 'nom_mat30':unmat30,
  4928. 'val_T40':val_T40, 'val_min40': val_min40, 'val_max40': val_max40, 'nom_mat40':unmat40,
  4929. 'val_T100':val_T100, 'val_min100': val_min100, 'val_max100': val_max100, 'nom_mat100':unmat100,
  4930. 'val_T200':val_T200, 'val_min200': val_min200, 'val_max200': val_max200, 'nom_mat200':unmat200,
  4931. 'val_T300':val_T300, 'val_min300': val_min300, 'val_max300': val_max300, 'nom_mat300':unmat300,
  4932. 'val_T400':val_T400, 'val_min400': val_min400, 'val_max400': val_max400, 'nom_mat400':unmat400,
  4933. 'valeurmin':valeurmin, 'valeurmax': valeurmax, 'valeurTmin':valeurTmin, 'valeurTmax':valeurTmax,
  4934. 'valeurmin2':valeurmin2, 'valeurmax2': valeurmax2, 'valeurTmin2':valeurTmin2, 'valeurTmax2':valeurTmax2,
  4935. 'MAP': MAP, 'XX1': XX1, 'XX': XX, 'VV1': VV1, 'VV': VV, 'YY1': YY1, 'YY': YY, 'ZZ1': ZZ1, 'ZZ': ZZ,
  4936. 'valeurmin3':valeurmin3, 'valeurmax3': valeurmax3, 'valeurTmin3':valeurTmin3, 'valeurTmax3':valeurTmax3}
  4937.  
  4938. data = simplejson.dumps(datas2)
  4939.  
  4940. return HttpResponse(data, mimetype= 'application/json')
  4941.  
  4942. except:
  4943. return HttpResponse("OK")
  4944.  
  4945.  
  4946.  
  4947.  
  4948.  
  4949.  
  4950.  
  4951.  
  4952. def searchcourb30(request):
  4953. try:
  4954. unmat1 = request.GET['mat1']
  4955. unmat2 = request.GET['mat2']
  4956. unmat3 = request.GET['mat3']
  4957. unmat4 = request.GET['mat4']
  4958. unmat10 = request.GET['mat10']
  4959. unmat20 = request.GET['mat20']
  4960. unmat30 = request.GET['mat30']
  4961. unmat40 = request.GET['mat40']
  4962. unmat100 = request.GET['mat100']
  4963. unmat200 = request.GET['mat200']
  4964. unmat300 = request.GET['mat300']
  4965. unmat400 = request.GET['mat400']
  4966. letab = request.GET['mat5']
  4967. letab2 = request.GET['mat6']
  4968. letab3 = request.GET['mat7']
  4969. valT1 = request.GET['propriete1']
  4970. valT2 = request.GET['propriete2']
  4971. valT3 = request.GET['propriete3']
  4972.  
  4973.  
  4974.  
  4975.  
  4976.  
  4977.  
  4978.  
  4979.  
  4980. T1 = []
  4981. T2 = []
  4982. T3 = []
  4983.  
  4984. print 'passagecourb3'
  4985. print 'letab2', letab2
  4986. print 'unmat1', unmat1
  4987. lt= []
  4988. lt2= []
  4989. lt3= []
  4990. i=0
  4991. n=0
  4992. p=0
  4993. valTT=[]
  4994. valmmin=[]
  4995. valmmax=[]
  4996.  
  4997. valTT2=[]
  4998. valmmin2=[]
  4999. valmmax2=[]
  5000.  
  5001. valTT3=[]
  5002. valmmin3=[]
  5003. valmmax3=[]
  5004.  
  5005. valT20=[]
  5006. valmin20=[]
  5007. valmax20=[]
  5008.  
  5009. valT30=[]
  5010. valmin30=[]
  5011. valmax30=[]
  5012.  
  5013. lt = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab.split(',')]
  5014. lt2 = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab2.split(',')]
  5015. lt3 = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab3.split(',')]
  5016.  
  5017. print 'lt', lt
  5018. print 'lt2', lt2
  5019. print 'lt3', lt3
  5020.  
  5021. for j in range(len(lt)):
  5022. if lt[i]!='0':
  5023. valT, valmin, valmax = calcul2(lt[i], valT1)
  5024. valTT.append(valT)
  5025. valmmin.append(valmin)
  5026. valmmax.append(valmax)
  5027.  
  5028. i+=1
  5029.  
  5030.  
  5031. T1= []
  5032. for i in range(len(valmmax)):
  5033. T1.append(max(valmmax[i]))
  5034.  
  5035. T10= []
  5036. for i in range(len(valmmin)):
  5037. T10.append(min(valmmin[i]))
  5038.  
  5039. valeurmax = max(T1)
  5040. valeurmin = min(T10)
  5041. print 'valmin', valeurmin
  5042. print 'valmax', valeurmax
  5043.  
  5044.  
  5045. T3= []
  5046. for i in range(len(valTT)):
  5047. T3.append(max(valTT[i]))
  5048.  
  5049.  
  5050. T30= []
  5051. for i in range(len(valTT)):
  5052. T30.append(min(valTT[i]))
  5053.  
  5054. valeurTmin= min(T30)
  5055. valeurTmax=max(T3)
  5056. print 'valTmin', valeurTmin
  5057. print 'valTmax', valeurTmax
  5058.  
  5059. for j in range(len(lt2)):
  5060. if lt2[n]!='0':
  5061. valT20, valmin20, valmax20 = calcul2(lt2[n], valT2)
  5062. valTT2.append(valT20)
  5063. valmmin2.append(valmin20)
  5064. valmmax2.append(valmax20)
  5065. n+=1
  5066.  
  5067. T2= []
  5068. for i in range(len(valmmax2)):
  5069. T2.append(max(valmmax2[i]))
  5070.  
  5071.  
  5072. T20= []
  5073. for i in range(len(valmmin2)):
  5074. T20.append(min(valmmin2[i]))
  5075.  
  5076. valeurmax2 = max(T2)
  5077. valeurmin2 = min(T20)
  5078. print 'valmin2', valeurmin2
  5079. print 'valmax2', valeurmax2
  5080. T4= []
  5081. for i in range(len(valTT2)):
  5082. T4.append(max(valTT2[i]))
  5083.  
  5084.  
  5085. T40= []
  5086. for i in range(len(valTT2)):
  5087. T40.append(min(valTT2[i]))
  5088.  
  5089.  
  5090. valeurTmin2= min(T40)
  5091. valeurTmax2=max(T4)
  5092. print 'valTmin2', valeurTmin2
  5093. print 'valTmax2', valeurTmax2
  5094.  
  5095. for j in range(len(lt3)):
  5096. if lt3[p]!='0':
  5097. valT30, valmin30, valmax30 = calcul2(lt3[p], valT3)
  5098. valTT3.append(valT30)
  5099. valmmin3.append(valmin30)
  5100. valmmax3.append(valmax30)
  5101. p+=1
  5102.  
  5103. print 'valmmin3', valmmin3
  5104. print 'valmmax3', valmmax3
  5105.  
  5106.  
  5107.  
  5108. T5= []
  5109. for i in range(len(valmmax3)):
  5110. T5.append(max(valmmax3[i]))
  5111.  
  5112.  
  5113. T50= []
  5114. for i in range(len(valmmin3)):
  5115. T50.append(min(valmmin3[i]))
  5116.  
  5117. valeurmax3 = max(T5)
  5118. valeurmin3 = min(T50)
  5119. print 'valmin3', valeurmin3
  5120. print 'valmax3', valeurmax3
  5121.  
  5122. T6= []
  5123. for i in range(len(valTT3)):
  5124. T6.append(max(valTT3[i]))
  5125.  
  5126.  
  5127. T60= []
  5128. for i in range(len(valTT3)):
  5129. T60.append(min(valTT3[i]))
  5130.  
  5131. valeurTmin3= min(T60)
  5132. valeurTmax3=max(T6)
  5133.  
  5134. val_T1=[]
  5135. val_min1=[]
  5136. val_max1=[]
  5137.  
  5138. val_T2=[]
  5139. val_min2=[]
  5140. val_max2=[]
  5141.  
  5142. val_T3=[]
  5143. val_min3=[]
  5144. val_max3=[]
  5145.  
  5146. val_T4=[]
  5147. val_min4=[]
  5148. val_max4=[]
  5149.  
  5150. val_T10=[]
  5151. val_min10=[]
  5152. val_max10=[]
  5153.  
  5154. val_T20=[]
  5155. val_min20=[]
  5156. val_max20=[]
  5157.  
  5158. val_T30=[]
  5159. val_min30=[]
  5160. val_max30=[]
  5161.  
  5162. val_T40=[]
  5163. val_min40=[]
  5164. val_max40=[]
  5165.  
  5166. val_T100 = []
  5167. val_min100=[]
  5168. val_max100=[]
  5169. val_T200 = []
  5170. val_min200=[]
  5171. val_max200=[]
  5172.  
  5173. val_T300 = []
  5174. val_min300=[]
  5175. val_max300=[]
  5176.  
  5177. val_T400 = []
  5178. val_min400=[]
  5179. val_max400=[]
  5180.  
  5181. if unmat1 !='0':
  5182. val_T1, val_min1, val_max1 = calcul2(unmat1, valT1)
  5183. print 'val_T1', val_T1
  5184.  
  5185. if unmat2 !='0':
  5186. val_T2, val_min2, val_max2 = calcul2(unmat2, valT1)
  5187.  
  5188. if unmat3 !='0':
  5189. val_T3, val_min3, val_max3 = calcul2(unmat3, valT1)
  5190.  
  5191. if unmat4 !='0':
  5192. val_T4, val_min4, val_max4 = calcul2(unmat4, valT1)
  5193.  
  5194. if unmat10 !='0':
  5195. val_T10, val_min10, val_max10 = calcul2(unmat10, valT2)
  5196.  
  5197. if unmat20 !='0':
  5198. val_T20, val_min20, val_max20 = calcul2(unmat20, valT2)
  5199.  
  5200. if unmat30 !='0':
  5201. val_T30, val_min30, val_max30 = calcul2(unmat30, valT2)
  5202.  
  5203. if unmat40 !='0':
  5204. val_T40, val_min40, val_max40 = calcul2(unmat40, valT2)
  5205.  
  5206. if unmat100 !='0':
  5207. val_T100, val_min100, val_max100 = calcul2(unmat100, valT3)
  5208.  
  5209. if unmat200 !='0':
  5210. val_T200, val_min200, val_max200 = calcul2(unmat200, valT3)
  5211.  
  5212. if unmat300 !='0':
  5213. val_T300, val_min300, val_max300 = calcul2(unmat300, valT3)
  5214.  
  5215. if unmat400 !='0':
  5216. val_T400, val_min400, val_max400 = calcul2(unmat400, valT3)
  5217.  
  5218. print ' '
  5219. print 'zoomrange graph1'
  5220. print 'valeurmin',valeurmin
  5221. print 'valeurmax',valeurmax
  5222. print 'valeurTmin',valeurTmin
  5223. print 'valeurTmax',valeurTmax
  5224. print ' '
  5225. print 'zoomrange graph2'
  5226. print 'valeurmin2',valeurmin2
  5227. print 'valeurmax2',valeurmax2
  5228. print 'valeurTmin2',valeurTmin2
  5229. print 'valeurTmax2',valeurTmax2
  5230. print ' '
  5231. print 'zoomrange graph3'
  5232. print 'valeurmin3',valeurmin3
  5233. print 'valeurmax3',valeurmax3
  5234. print 'valeurTmin3',valeurTmin3
  5235. print 'valeurTmax3',valeurTmax3
  5236. print ' '
  5237.  
  5238. print 'val_T1', val_T1
  5239. print 'val_T2', val_T2
  5240. print 'val_min1', val_min1
  5241. print 'val_max1', val_max1
  5242. print 'nom_mat1', unmat1
  5243. print 'val_min2', val_min2
  5244. print 'val_max2', val_max2
  5245. print 'nom_mat2', unmat2
  5246. print 'val_T4', val_T4
  5247. print 'val_min4', val_min4
  5248. print 'val_max4', val_max4
  5249. print 'nom_mat4', unmat4
  5250. print 'val_T10', val_T10
  5251. print 'val_min10', val_min10
  5252. print 'val_max10', val_max10
  5253. print 'nom_mat10', unmat10
  5254. print 'val_T20', val_T20
  5255. print 'val_min20', val_min20
  5256. print 'val_max20', val_max20
  5257. print 'nom_mat20', unmat20
  5258. print 'val_T30', val_T30
  5259. print 'val_min30', val_min30
  5260. print 'val_max30', val_max30
  5261. print 'nom_mat30', unmat30
  5262. print 'val_T40', val_T40
  5263. print 'val_min40', val_min40
  5264. print 'val_max40', val_max40
  5265. print 'nom_mat40', unmat40
  5266. print 'val_T100', val_T100
  5267. print 'val_min100', val_min100
  5268. print 'val_max100', val_max100
  5269. print 'nom_mat100', unmat100
  5270. print 'val_min200', val_min200
  5271. print 'val_max200', val_max200
  5272. print 'nom_mat200', unmat200
  5273. print 'val_T300', val_T300
  5274. print 'val_min300', val_min300
  5275. print 'val_max300', val_max300
  5276. print 'nom_mat300', unmat300
  5277.  
  5278. datas2= {'val_T1':val_T1, 'val_min1': val_min1, 'val_max1': val_max1, 'nom_mat1':unmat1,
  5279. 'val_T2':val_T2, 'val_min2': val_min2, 'val_max2': val_max2, 'nom_mat2':unmat2,
  5280. 'val_T3':val_T3, 'val_min3': val_min3, 'val_max3': val_max3, 'nom_mat3':unmat3,
  5281. 'val_T4':val_T4, 'val_min4': val_min4, 'val_max4': val_max4, 'nom_mat4':unmat4,
  5282. 'val_T10':val_T10, 'val_min10': val_min10, 'val_max10': val_max10, 'nom_mat10':unmat10,
  5283. 'val_T20':val_T20, 'val_min20': val_min20, 'val_max20': val_max20, 'nom_mat20':unmat20,
  5284. 'val_T30':val_T30, 'val_min30': val_min30, 'val_max30': val_max30, 'nom_mat30':unmat30,
  5285. 'val_T40':val_T40, 'val_min40': val_min40, 'val_max40': val_max40, 'nom_mat40':unmat40,
  5286. 'val_T100':val_T100, 'val_min100': val_min100, 'val_max100': val_max100, 'nom_mat100':unmat100,
  5287. 'val_T200':val_T200, 'val_min200': val_min200, 'val_max200': val_max200, 'nom_mat200':unmat200,
  5288. 'val_T300':val_T300, 'val_min300': val_min300, 'val_max300': val_max300, 'nom_mat300':unmat300,
  5289. 'val_T400':val_T400, 'val_min400': val_min400, 'val_max400': val_max400, 'nom_mat400':unmat400,
  5290. 'valeurmin':valeurmin, 'valeurmax': valeurmax, 'valeurTmin':valeurTmin, 'valeurTmax':valeurTmax,
  5291. 'valeurmin2':valeurmin2, 'valeurmax2': valeurmax2, 'valeurTmin2':valeurTmin2, 'valeurTmax2':valeurTmax2,
  5292. #'MAP': MAP, 'XX1': XX1, 'XX': XX, 'VV1': VV1, 'VV': VV, 'YY1': YY1, 'YY': YY, 'ZZ1': ZZ1, 'ZZ': ZZ,
  5293. 'valeurmin3':valeurmin3, 'valeurmax3': valeurmax3, 'valeurTmin3':valeurTmin3, 'valeurTmax3':valeurTmax3}
  5294.  
  5295. data = simplejson.dumps(datas2)
  5296.  
  5297. return HttpResponse(data, mimetype= 'application/json')
  5298.  
  5299. except:
  5300. return HttpResponse("OK")
  5301.  
  5302.  
  5303.  
  5304.  
  5305.  
  5306.  
  5307. def searchcourb4(request):
  5308. try:
  5309. unmat1 = request.GET['mat1']
  5310. unmat2 = request.GET['mat2']
  5311. unmat3 = request.GET['mat3']
  5312. unmat4 = request.GET['mat4']
  5313. unmat10 = request.GET['mat10']
  5314. unmat20 = request.GET['mat20']
  5315. unmat30 = request.GET['mat30']
  5316. unmat40 = request.GET['mat40']
  5317. unmat100 = request.GET['mat100']
  5318. unmat200 = request.GET['mat200']
  5319. unmat300 = request.GET['mat300']
  5320. unmat400 = request.GET['mat400']
  5321. unmat1000 = request.GET['mat1000']
  5322. unmat2000 = request.GET['mat2000']
  5323. unmat3000 = request.GET['mat3000']
  5324. unmat4000 = request.GET['mat4000']
  5325. letab = request.GET['mat5']
  5326. letab2 = request.GET['mat6']
  5327. letab3 = request.GET['mat7']
  5328. letab4 = request.GET['mat8']
  5329. valT1 = request.GET['propriete1']
  5330. valT2 = request.GET['propriete2']
  5331. valT3 = request.GET['propriete3']
  5332. valT4 = request.GET['propriete4']
  5333. famille = request.GET['famille']
  5334.  
  5335. Tmin1 = float(request.GET['Tmin1'])
  5336. Tmax1 = float(request.GET['Tmax1'])
  5337. valmin1 = float(request.GET['valmin1'])
  5338. valmax1 = float(request.GET['valmax1'])
  5339.  
  5340. Tmin2 = float(request.GET['Tmin2'])
  5341. Tmax2 = float(request.GET['Tmax2'])
  5342. valmin2 = float(request.GET['valmin2'])
  5343. valmax2 = float(request.GET['valmax2'])
  5344.  
  5345. Tmin3 = float(request.GET['Tmin3'])
  5346. Tmax3 = float(request.GET['Tmax3'])
  5347. valmin3 = float(request.GET['valmin3'])
  5348. valmax3 = float(request.GET['valmax3'])
  5349.  
  5350. Tmin4 = float(request.GET['Tmin4'])
  5351. Tmax4 = float(request.GET['Tmax4'])
  5352. valmin4 = float(request.GET['valmin4'])
  5353. valmax4 = float(request.GET['valmax4'])
  5354.  
  5355.  
  5356. poids1 = float(request.GET['poids1'])
  5357. poids2 = float(request.GET['poids2'])
  5358. poids3 = float(request.GET['poids3'])
  5359. poids4 = float(request.GET['poids4'])
  5360.  
  5361.  
  5362. material1, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT1, valmin1, valmax1, Tmin1, Tmax1)
  5363. points1 = points
  5364. print 'points1', points1
  5365. material2, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT2, valmin2, valmax2, Tmin2, Tmax2)
  5366. points2 = points
  5367. print 'points2', points2
  5368. material3, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT3, valmin3, valmax3, Tmin3, Tmax3)
  5369. points3 = points
  5370. print 'points3', points3
  5371. material4, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT4, valmin4, valmax4, Tmin4, Tmax4)
  5372. points4 = points
  5373. print 'points4', points4
  5374.  
  5375. M1 = []
  5376. MM1 = []
  5377. M2 = []
  5378. MM2 = []
  5379. M3 = []
  5380. MM3 = []
  5381. M4 = []
  5382. MM4 = []
  5383.  
  5384. len1 = len(points1)
  5385. len2 = len(points2)
  5386. len3 = len(points3)
  5387. len4 = len(points4)
  5388.  
  5389. for j in range(len1):
  5390. M1.append(points1[j][0])
  5391. MM1.append(points1[j][1])
  5392.  
  5393. for j in range(len2):
  5394. M2.append(points2[j][0])
  5395. MM2.append(points2[j][1])
  5396.  
  5397. for j in range(len3):
  5398. M3.append(points3[j][0])
  5399. MM3.append(points3[j][1])
  5400.  
  5401. for j in range(len4):
  5402. M4.append(points4[j][0])
  5403. MM4.append(points4[j][1])
  5404.  
  5405. print 'M1', M1
  5406. print 'M2', M2
  5407. print 'M3', M3
  5408. print 'M4', M4
  5409.  
  5410.  
  5411. mat1=[]
  5412. T100=[]
  5413. j=0
  5414. T50=[]
  5415.  
  5416. M5=[]
  5417. M6=[]
  5418.  
  5419. valoption1=poids1
  5420. valoption2=poids2
  5421. valoption3=poids3
  5422. valoption4=poids4
  5423.  
  5424. inter1 = set(material1).intersection(set(material2)).intersection(set(material3)).intersection(set(material4))
  5425. inter2 = set(M1).intersection(set(M2)).intersection(set(M3)).intersection(set(M4))
  5426.  
  5427. print 'inter1', inter1
  5428. print 'inter2', inter2
  5429.  
  5430. for mat1 in inter1:
  5431. if mat1 in inter2:
  5432. i=0
  5433. while i<len(M1):
  5434. if M1[i]==mat1:
  5435. T50 = (MM1[i]*valoption1)/(valoption1 + valoption2 + valoption3 + valoption4)
  5436. M5.append((mat1, T50))
  5437. i+=1
  5438. i=0
  5439. while i<len(M2):
  5440. if M2[i]==mat1:
  5441. T50 = (MM2[i]*valoption2)/(valoption1 + valoption2 + valoption3 + valoption4)
  5442. M5.append((mat1, T50))
  5443. i+=1
  5444. i=0
  5445. while i<len(M3):
  5446. if M3[i]==mat1:
  5447. T50 = (MM3[i]*valoption3)/(valoption1 + valoption2 + valoption3 + valoption4)
  5448. M5.append((mat1, T50))
  5449. i+=1
  5450. i=0
  5451. while i<len(M4):
  5452. if M4[i]==mat1:
  5453. T50 = (MM4[i]*valoption4)/(valoption1 + valoption2 + valoption3 + valoption4)
  5454. M5.append((mat1, T50))
  5455. i+=1
  5456.  
  5457. M6 = process(M5)
  5458.  
  5459. print 'M6', M6 # points3
  5460.  
  5461. XX ='0'
  5462. XX1=0
  5463. YY='0'
  5464. YY1=0
  5465. VV='0'
  5466. VV1=0
  5467. ZZ='0'
  5468. ZZ1=0
  5469. if len(M6)==1:
  5470. XX = M6[0][0]
  5471. XX1 = M6[0][1]
  5472. XX = str(XX)
  5473. XX1 = float(XX1)
  5474. XX1 = round(XX1,2)
  5475. if len(M6)==2:
  5476. XX = M6[0][0]
  5477. XX1 = M6[0][1]
  5478. VV = M6[1][0]
  5479. VV1 = M6[1][1]
  5480. XX = str(XX)
  5481. VV = str(VV)
  5482. ZZ = '0'
  5483. ZZ1=0
  5484. YY = '0'
  5485. YY1=0
  5486. XX1 = float(XX1)
  5487. VV1 = float(VV1)
  5488. XX1 = round(XX1,2)
  5489. VV1 = round(VV1,2)
  5490. if len(M6)==3:
  5491. XX = M6[0][0]
  5492. XX1 = M6[0][1]
  5493. VV = M6[1][0]
  5494. VV1 = M6[1][1]
  5495. YY = M6[2][0]
  5496. YY1 = M6[2][1]
  5497.  
  5498. XX = str(XX)
  5499. VV = str(VV)
  5500. YY = str(YY)
  5501. ZZ = '0'
  5502. ZZ1=0
  5503. XX1 = float(XX1)
  5504. XX1 = round(XX1,2)
  5505. VV1 = float(VV1)
  5506. VV1 = round(VV1,2)
  5507. YY1 = float(YY1)
  5508. YY1 = round(YY1,2)
  5509. if len(M6)>=4:
  5510. XX = M6[0][0]
  5511. XX1 = M6[0][1]
  5512. VV = M6[1][0]
  5513. VV1 = M6[1][1]
  5514. YY = M6[2][0]
  5515. YY1 = M6[2][1]
  5516. ZZ = M6[3][0]
  5517. ZZ1 = M6[3][1]
  5518.  
  5519. XX = str(XX)
  5520. VV = str(VV)
  5521. YY = str(YY)
  5522. ZZ = str(ZZ)
  5523.  
  5524. XX1 = float(XX1)
  5525. XX1 = round(XX1,2)
  5526. VV1 = float(VV1)
  5527. VV1 = round(VV1,2)
  5528. YY1 = float(YY1)
  5529. YY1 = round(YY1,2)
  5530. ZZ1 = float(ZZ1)
  5531. ZZ1 = round(ZZ1,2)
  5532.  
  5533.  
  5534.  
  5535. T1 = []
  5536. T2 = []
  5537. T3 = []
  5538. for i in range(len(points1)):
  5539. T1.append((points1[i][1])*valoption1)
  5540. P1 = sum(T1)
  5541.  
  5542. for i in range(len(points2)):
  5543. T2.append((points2[i][1])*valoption2)
  5544. P2 = sum(T2)
  5545.  
  5546. for i in range(len(points3)):
  5547. T3.append((points3[i][1])*valoption3)
  5548. P3 = sum(T3)
  5549.  
  5550. MAP = (P1+P2+P3)/(valoption1 + valoption2 + valoption3)
  5551. MAP = round(MAP,2)
  5552.  
  5553. print 'moyenne arithmetique ponderee:', MAP
  5554. print 'passagecourb3'
  5555. print 'letab2', letab2
  5556. print 'unmat1', unmat1
  5557. lt= []
  5558. lt2= []
  5559. lt3= []
  5560. lt4= []
  5561. i=0
  5562. n=0
  5563. p=0
  5564. valTT=[]
  5565. valmmin=[]
  5566. valmmax=[]
  5567.  
  5568. valTT2=[]
  5569. valmmin2=[]
  5570. valmmax2=[]
  5571.  
  5572. valTT3=[]
  5573. valmmin3=[]
  5574. valmmax3=[]
  5575.  
  5576. valTT4=[]
  5577. valmmin4=[]
  5578. valmmax4=[]
  5579.  
  5580. valT20=[]
  5581. valmin20=[]
  5582. valmax20=[]
  5583.  
  5584. valT30=[]
  5585. valmin30=[]
  5586. valmax30=[]
  5587.  
  5588. valT40=[]
  5589. valmin40=[]
  5590. valmax40=[]
  5591.  
  5592. lt = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab.split(',')]
  5593. lt2 = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab2.split(',')]
  5594. lt3 = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab3.split(',')]
  5595. lt4 = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab4.split(',')]
  5596.  
  5597. print 'lt', lt
  5598. print 'lt2', lt2
  5599. print 'lt3', lt3
  5600. print 'lt4', lt4
  5601.  
  5602. for j in range(len(lt)):
  5603. if lt[i]!='0':
  5604. valT, valmin, valmax = calcul2(lt[i], valT1)
  5605. valTT.append(valT)
  5606. valmmin.append(valmin)
  5607. valmmax.append(valmax)
  5608.  
  5609. i+=1
  5610.  
  5611.  
  5612. T1= []
  5613. for i in range(len(valmmax)):
  5614. T1.append(max(valmmax[i]))
  5615.  
  5616. T10= []
  5617. for i in range(len(valmmin)):
  5618. T10.append(min(valmmin[i]))
  5619.  
  5620. valeurmax = max(T1)
  5621. valeurmin = min(T10)
  5622. print 'valmin', valeurmin
  5623. print 'valmax', valeurmax
  5624.  
  5625.  
  5626. T3= []
  5627. for i in range(len(valTT)):
  5628. T3.append(max(valTT[i]))
  5629.  
  5630.  
  5631. T30= []
  5632. for i in range(len(valTT)):
  5633. T30.append(min(valTT[i]))
  5634.  
  5635. valeurTmin= min(T30)
  5636. valeurTmax=max(T3)
  5637. print 'valTmin', valeurTmin
  5638. print 'valTmax', valeurTmax
  5639.  
  5640. #*********************************************************************************
  5641.  
  5642. for j in range(len(lt2)):
  5643. if lt2[n]!='0':
  5644. valT20, valmin20, valmax20 = calcul2(lt2[n], valT2)
  5645. valTT2.append(valT20)
  5646. valmmin2.append(valmin20)
  5647. valmmax2.append(valmax20)
  5648. n+=1
  5649.  
  5650. T2= []
  5651. for i in range(len(valmmax2)):
  5652. T2.append(max(valmmax2[i]))
  5653.  
  5654.  
  5655. T20= []
  5656. for i in range(len(valmmin2)):
  5657. T20.append(min(valmmin2[i]))
  5658.  
  5659. valeurmax2 = max(T2)
  5660. valeurmin2 = min(T20)
  5661. print 'valmin2', valeurmin2
  5662. print 'valmax2', valeurmax2
  5663. T4= []
  5664. for i in range(len(valTT2)):
  5665. T4.append(max(valTT2[i]))
  5666.  
  5667.  
  5668. T40= []
  5669. for i in range(len(valTT2)):
  5670. T40.append(min(valTT2[i]))
  5671.  
  5672.  
  5673. valeurTmin2= min(T40)
  5674. valeurTmax2=max(T4)
  5675. print 'valTmin2', valeurTmin2
  5676. print 'valTmax2', valeurTmax2
  5677.  
  5678.  
  5679. #*********************************************************************************
  5680.  
  5681. for j in range(len(lt3)):
  5682. if lt3[p]!='0':
  5683. valT30, valmin30, valmax30 = calcul2(lt3[p], valT3)
  5684. valTT3.append(valT30)
  5685. valmmin3.append(valmin30)
  5686. valmmax3.append(valmax30)
  5687. p+=1
  5688.  
  5689. print 'valmmin3', valmmin3
  5690. print 'valmmax3', valmmax3
  5691.  
  5692.  
  5693.  
  5694. T5= []
  5695. for i in range(len(valmmax3)):
  5696. T5.append(max(valmmax3[i]))
  5697.  
  5698.  
  5699. T50= []
  5700. for i in range(len(valmmin3)):
  5701. T50.append(min(valmmin3[i]))
  5702.  
  5703. valeurmax3 = max(T5)
  5704. valeurmin3 = min(T50)
  5705. print 'valmin3', valeurmin3
  5706. print 'valmax3', valeurmax3
  5707.  
  5708. T6= []
  5709. for i in range(len(valTT3)):
  5710. T6.append(max(valTT3[i]))
  5711.  
  5712.  
  5713. T60= []
  5714. for i in range(len(valTT3)):
  5715. T60.append(min(valTT3[i]))
  5716.  
  5717. valeurTmin3= min(T60)
  5718. valeurTmax3=max(T6)
  5719. #******************************************************************************************************
  5720. p=0
  5721. for j in range(len(lt4)):
  5722. if lt4[p]!='0':
  5723. valT40, valmin40, valmax40 = calcul2(lt4[p], valT4)
  5724. valTT4.append(valT40)
  5725. valmmin4.append(valmin40)
  5726. valmmax4.append(valmax40)
  5727. p+=1
  5728.  
  5729. print 'valmmin4', valmmin4
  5730. print 'valmmax4', valmmax4
  5731.  
  5732.  
  5733.  
  5734. T5= []
  5735. for i in range(len(valmmax4)):
  5736. T5.append(max(valmmax4[i]))
  5737.  
  5738.  
  5739. T50= []
  5740. for i in range(len(valmmin4)):
  5741. T50.append(min(valmmin4[i]))
  5742.  
  5743. valeurmax4 = max(T5)
  5744. valeurmin4 = min(T50)
  5745. print 'valmin4', valeurmin4
  5746. print 'valmax4', valeurmax4
  5747.  
  5748. T6= []
  5749. for i in range(len(valTT4)):
  5750. T6.append(max(valTT4[i]))
  5751.  
  5752.  
  5753. T60= []
  5754. for i in range(len(valTT4)):
  5755. T60.append(min(valTT4[i]))
  5756.  
  5757. valeurTmin4= min(T60)
  5758. valeurTmax4=max(T6)
  5759.  
  5760.  
  5761. #******************************************************************************************************
  5762. val_T1=[]
  5763. val_min1=[]
  5764. val_max1=[]
  5765.  
  5766. val_T2=[]
  5767. val_min2=[]
  5768. val_max2=[]
  5769.  
  5770. val_T3=[]
  5771. val_min3=[]
  5772. val_max3=[]
  5773.  
  5774. val_T4=[]
  5775. val_min4=[]
  5776. val_max4=[]
  5777.  
  5778. val_T10=[]
  5779. val_min10=[]
  5780. val_max10=[]
  5781.  
  5782. val_T20=[]
  5783. val_min20=[]
  5784. val_max20=[]
  5785.  
  5786. val_T30=[]
  5787. val_min30=[]
  5788. val_max30=[]
  5789.  
  5790. val_T40=[]
  5791. val_min40=[]
  5792. val_max40=[]
  5793.  
  5794. val_T100 = []
  5795. val_min100=[]
  5796. val_max100=[]
  5797. val_T200 = []
  5798. val_min200=[]
  5799. val_max200=[]
  5800.  
  5801. val_T300 = []
  5802. val_min300=[]
  5803. val_max300=[]
  5804.  
  5805. val_T400 = []
  5806. val_min400=[]
  5807. val_max400=[]
  5808.  
  5809.  
  5810. val_T1000 = []
  5811. val_min1000=[]
  5812. val_max1000=[]
  5813. val_T2000 = []
  5814. val_min2000=[]
  5815. val_max2000=[]
  5816.  
  5817. val_T3000 = []
  5818. val_min3000=[]
  5819. val_max3000=[]
  5820.  
  5821. val_T4000 = []
  5822. val_min4000=[]
  5823. val_max4000=[]
  5824.  
  5825. if unmat1 !='0':
  5826. val_T1, val_min1, val_max1 = calcul2(unmat1, valT1)
  5827. print 'val_T1', val_T1
  5828.  
  5829. if unmat2 !='0':
  5830. val_T2, val_min2, val_max2 = calcul2(unmat2, valT1)
  5831.  
  5832. if unmat3 !='0':
  5833. val_T3, val_min3, val_max3 = calcul2(unmat3, valT1)
  5834.  
  5835. if unmat4 !='0':
  5836. val_T4, val_min4, val_max4 = calcul2(unmat4, valT1)
  5837.  
  5838. if unmat10 !='0':
  5839. val_T10, val_min10, val_max10 = calcul2(unmat10, valT2)
  5840.  
  5841. if unmat20 !='0':
  5842. val_T20, val_min20, val_max20 = calcul2(unmat20, valT2)
  5843.  
  5844. if unmat30 !='0':
  5845. val_T30, val_min30, val_max30 = calcul2(unmat30, valT2)
  5846.  
  5847. if unmat40 !='0':
  5848. val_T40, val_min40, val_max40 = calcul2(unmat40, valT2)
  5849.  
  5850. if unmat100 !='0':
  5851. val_T100, val_min100, val_max100 = calcul2(unmat100, valT3)
  5852.  
  5853. if unmat200 !='0':
  5854. val_T200, val_min200, val_max200 = calcul2(unmat200, valT3)
  5855.  
  5856. if unmat300 !='0':
  5857. val_T300, val_min300, val_max300 = calcul2(unmat300, valT3)
  5858.  
  5859. if unmat400 !='0':
  5860. val_T400, val_min400, val_max400 = calcul2(unmat400, valT3)
  5861.  
  5862. if unmat1000 !='0':
  5863. val_T1000, val_min1000, val_max1000 = calcul2(unmat1000, valT4)
  5864.  
  5865. if unmat2000 !='0':
  5866. val_T2000, val_min2000, val_max2000 = calcul2(unmat2000, valT4)
  5867.  
  5868. if unmat3000 !='0':
  5869. val_T3000, val_min3000, val_max3000 = calcul2(unmat3000, valT4)
  5870.  
  5871. if unmat4000 !='0':
  5872. val_T4000, val_min4000, val_max4000 = calcul2(unmat4000, valT4)
  5873.  
  5874. print ' '
  5875. print 'zoomrange graph1'
  5876. print 'valeurmin',valeurmin
  5877. print 'valeurmax',valeurmax
  5878. print 'valeurTmin',valeurTmin
  5879. print 'valeurTmax',valeurTmax
  5880. print ' '
  5881. print 'zoomrange graph2'
  5882. print 'valeurmin2',valeurmin2
  5883. print 'valeurmax2',valeurmax2
  5884. print 'valeurTmin2',valeurTmin2
  5885. print 'valeurTmax2',valeurTmax2
  5886. print ' '
  5887. print 'zoomrange graph3'
  5888. print 'valeurmin3',valeurmin3
  5889. print 'valeurmax3',valeurmax3
  5890. print 'valeurTmin3',valeurTmin3
  5891. print 'valeurTmax3',valeurTmax3
  5892. print ' '
  5893. print 'zoomrange graph4'
  5894. print 'valeurmin4',valeurmin4
  5895. print 'valeurmax4',valeurmax4
  5896. print 'valeurTmin4',valeurTmin4
  5897. print 'valeurTmax4',valeurTmax4
  5898. print ' '
  5899.  
  5900. print 'val_T1', val_T1
  5901. print 'val_T2', val_T2
  5902. print 'val_min1', val_min1
  5903. print 'val_max1', val_max1
  5904. print 'nom_mat1', unmat1
  5905. print 'val_min2', val_min2
  5906. print 'val_max2', val_max2
  5907. print 'nom_mat2', unmat2
  5908. print 'val_T4', val_T4
  5909. print 'val_min4', val_min4
  5910. print 'val_max4', val_max4
  5911. print 'nom_mat4', unmat4
  5912. print 'val_T10', val_T10
  5913. print 'val_min10', val_min10
  5914. print 'val_max10', val_max10
  5915. print 'nom_mat10', unmat10
  5916. print 'val_T20', val_T20
  5917. print 'val_min20', val_min20
  5918. print 'val_max20', val_max20
  5919. print 'nom_mat20', unmat20
  5920. print 'val_T30', val_T30
  5921. print 'val_min30', val_min30
  5922. print 'val_max30', val_max30
  5923. print 'nom_mat30', unmat30
  5924. print 'val_T40', val_T40
  5925. print 'val_min40', val_min40
  5926. print 'val_max40', val_max40
  5927. print 'nom_mat40', unmat40
  5928. print 'val_T100', val_T100
  5929. print 'val_min100', val_min100
  5930. print 'val_max100', val_max100
  5931. print 'nom_mat100', unmat100
  5932. print 'val_min200', val_min200
  5933. print 'val_max200', val_max200
  5934. print 'nom_mat200', unmat200
  5935. print 'val_T300', val_T300
  5936. print 'val_min300', val_min300
  5937. print 'val_max300', val_max300
  5938. print 'nom_mat300', unmat300
  5939.  
  5940. print 'val_T1000', val_T1000
  5941. print 'val_min1000', val_min1000
  5942. print 'val_max1000', val_max1000
  5943. print 'nom_mat1000', unmat1000
  5944. print 'val_min2000', val_min2000
  5945. print 'val_max2000', val_max2000
  5946. print 'nom_mat2000', unmat2000
  5947. print 'val_T3000', val_T3000
  5948. print 'val_min3000', val_min3000
  5949. print 'val_max3000', val_max3000
  5950. print 'nom_mat3000', unmat3000
  5951.  
  5952. datas2= {'val_T1':val_T1, 'val_min1': val_min1, 'val_max1': val_max1, 'nom_mat1':unmat1,
  5953. 'val_T2':val_T2, 'val_min2': val_min2, 'val_max2': val_max2, 'nom_mat2':unmat2,
  5954. 'val_T3':val_T3, 'val_min3': val_min3, 'val_max3': val_max3, 'nom_mat3':unmat3,
  5955. 'val_T4':val_T4, 'val_min4': val_min4, 'val_max4': val_max4, 'nom_mat4':unmat4,
  5956. 'val_T10':val_T10, 'val_min10': val_min10, 'val_max10': val_max10, 'nom_mat10':unmat10,
  5957. 'val_T20':val_T20, 'val_min20': val_min20, 'val_max20': val_max20, 'nom_mat20':unmat20,
  5958. 'val_T30':val_T30, 'val_min30': val_min30, 'val_max30': val_max30, 'nom_mat30':unmat30,
  5959. 'val_T40':val_T40, 'val_min40': val_min40, 'val_max40': val_max40, 'nom_mat40':unmat40,
  5960. 'val_T100':val_T100, 'val_min100': val_min100, 'val_max100': val_max100, 'nom_mat100':unmat100,
  5961. 'val_T200':val_T200, 'val_min200': val_min200, 'val_max200': val_max200, 'nom_mat200':unmat200,
  5962. 'val_T300':val_T300, 'val_min300': val_min300, 'val_max300': val_max300, 'nom_mat300':unmat300,
  5963. 'val_T400':val_T400, 'val_min400': val_min400, 'val_max400': val_max400, 'nom_mat400':unmat400,
  5964. 'val_T1000':val_T1000, 'val_min1000': val_min1000, 'val_max1000': val_max1000, 'nom_mat1000':unmat1000,
  5965. 'val_T2000':val_T2000, 'val_min2000': val_min2000, 'val_max2000': val_max2000, 'nom_mat2000':unmat2000,
  5966. 'val_T3000':val_T3000, 'val_min3000': val_min3000, 'val_max3000': val_max3000, 'nom_mat3000':unmat3000,
  5967. 'val_T4000':val_T4000, 'val_min4000': val_min4000, 'val_max4000': val_max4000, 'nom_mat4000':unmat4000,
  5968. 'valeurmin':valeurmin, 'valeurmax': valeurmax, 'valeurTmin':valeurTmin, 'valeurTmax':valeurTmax,
  5969. 'valeurmin2':valeurmin2, 'valeurmax2': valeurmax2, 'valeurTmin2':valeurTmin2, 'valeurTmax2':valeurTmax2,
  5970. 'MAP': MAP, 'XX1': XX1, 'XX': XX, 'VV1': VV1, 'VV': VV, 'YY1': YY1, 'YY': YY, 'ZZ1': ZZ1, 'ZZ': ZZ,
  5971. 'valeurmin3':valeurmin3, 'valeurmax3': valeurmax3, 'valeurTmin3':valeurTmin3, 'valeurTmax3':valeurTmax3,
  5972. 'valeurmin4':valeurmin4, 'valeurmax4': valeurmax4, 'valeurTmin4':valeurTmin4, 'valeurTmax4':valeurTmax4}
  5973.  
  5974. data = simplejson.dumps(datas2)
  5975.  
  5976. return HttpResponse(data, mimetype= 'application/json')
  5977.  
  5978. except:
  5979. return HttpResponse("OK")
  5980.  
  5981.  
  5982. def searchcourb40(request):
  5983. try:
  5984. unmat1 = request.GET['mat1']
  5985. unmat2 = request.GET['mat2']
  5986. unmat3 = request.GET['mat3']
  5987. unmat4 = request.GET['mat4']
  5988. unmat10 = request.GET['mat10']
  5989. unmat20 = request.GET['mat20']
  5990. unmat30 = request.GET['mat30']
  5991. unmat40 = request.GET['mat40']
  5992. unmat100 = request.GET['mat100']
  5993. unmat200 = request.GET['mat200']
  5994. unmat300 = request.GET['mat300']
  5995. unmat400 = request.GET['mat400']
  5996. unmat1000 = request.GET['mat1000']
  5997. unmat2000 = request.GET['mat2000']
  5998. unmat3000 = request.GET['mat3000']
  5999. unmat4000 = request.GET['mat4000']
  6000. letab = request.GET['mat5']
  6001. letab2 = request.GET['mat6']
  6002. letab3 = request.GET['mat7']
  6003. letab4 = request.GET['mat8']
  6004. valT1 = request.GET['propriete1']
  6005. valT2 = request.GET['propriete2']
  6006. valT3 = request.GET['propriete3']
  6007. valT4 = request.GET['propriete4']
  6008.  
  6009. print 'passagecourb40'
  6010. print 'letab2', letab2
  6011. print 'unmat1', unmat1
  6012. print 'propriete1', valT1
  6013. print 'propriete2', valT2
  6014. print 'propriete3', valT3
  6015. print 'propriete4', valT4
  6016. lt= []
  6017. lt2= []
  6018. lt3= []
  6019. lt4= []
  6020. i=0
  6021. n=0
  6022. p=0
  6023. valTT=[]
  6024. valmmin=[]
  6025. valmmax=[]
  6026.  
  6027. valTT2=[]
  6028. valmmin2=[]
  6029. valmmax2=[]
  6030.  
  6031. valTT3=[]
  6032. valmmin3=[]
  6033. valmmax3=[]
  6034.  
  6035. valTT4=[]
  6036. valmmin4=[]
  6037. valmmax4=[]
  6038.  
  6039. valT20=[]
  6040. valmin20=[]
  6041. valmax20=[]
  6042.  
  6043. valT30=[]
  6044. valmin30=[]
  6045. valmax30=[]
  6046.  
  6047. valT40=[]
  6048. valmin40=[]
  6049. valmax40=[]
  6050.  
  6051. lt = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab.split(',')]
  6052. lt2 = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab2.split(',')]
  6053. lt3 = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab3.split(',')]
  6054. lt4 = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab4.split(',')]
  6055.  
  6056. print 'lt', lt
  6057. print 'lt2', lt2
  6058. print 'lt3', lt3
  6059. print 'lt4', lt4
  6060.  
  6061. for j in range(len(lt)):
  6062. if lt[i]!='0':
  6063. valT, valmin, valmax = calcul2(lt[i], valT1)
  6064. valTT.append(valT)
  6065. valmmin.append(valmin)
  6066. valmmax.append(valmax)
  6067.  
  6068. i+=1
  6069.  
  6070.  
  6071. T1= []
  6072. for i in range(len(valmmax)):
  6073. T1.append(max(valmmax[i]))
  6074.  
  6075. T10= []
  6076. for i in range(len(valmmin)):
  6077. T10.append(min(valmmin[i]))
  6078.  
  6079. valeurmax = max(T1)
  6080. valeurmin = min(T10)
  6081. print 'valmin', valeurmin
  6082. print 'valmax', valeurmax
  6083.  
  6084.  
  6085. T3= []
  6086. for i in range(len(valTT)):
  6087. T3.append(max(valTT[i]))
  6088.  
  6089.  
  6090. T30= []
  6091. for i in range(len(valTT)):
  6092. T30.append(min(valTT[i]))
  6093.  
  6094. valeurTmin= min(T30)
  6095. valeurTmax=max(T3)
  6096. print 'valTmin', valeurTmin
  6097. print 'valTmax', valeurTmax
  6098.  
  6099. for j in range(len(lt2)):
  6100. if lt2[n]!='0':
  6101. valT20, valmin20, valmax20 = calcul2(lt2[n], valT2)
  6102. valTT2.append(valT20)
  6103. valmmin2.append(valmin20)
  6104. valmmax2.append(valmax20)
  6105. n+=1
  6106.  
  6107. T2= []
  6108. for i in range(len(valmmax2)):
  6109. T2.append(max(valmmax2[i]))
  6110.  
  6111.  
  6112. T20= []
  6113. for i in range(len(valmmin2)):
  6114. T20.append(min(valmmin2[i]))
  6115.  
  6116. valeurmax2 = max(T2)
  6117. valeurmin2 = min(T20)
  6118. print 'valmin2', valeurmin2
  6119. print 'valmax2', valeurmax2
  6120. T4= []
  6121. for i in range(len(valTT2)):
  6122. T4.append(max(valTT2[i]))
  6123.  
  6124.  
  6125. T40= []
  6126. for i in range(len(valTT2)):
  6127. T40.append(min(valTT2[i]))
  6128.  
  6129.  
  6130. valeurTmin2= min(T40)
  6131. valeurTmax2=max(T4)
  6132. print 'valTmin2', valeurTmin2
  6133. print 'valTmax2', valeurTmax2
  6134.  
  6135.  
  6136. for j in range(len(lt3)):
  6137. if lt3[p]!='0':
  6138. valT30, valmin30, valmax30 = calcul2(lt3[p], valT3)
  6139. valTT3.append(valT30)
  6140. valmmin3.append(valmin30)
  6141. valmmax3.append(valmax30)
  6142. p+=1
  6143.  
  6144. print 'valmmin3', valmmin3
  6145. print 'valmmax3', valmmax3
  6146. print 'lt4', lt4[0]
  6147.  
  6148.  
  6149. T5= []
  6150. for i in range(len(valmmax3)):
  6151. T5.append(max(valmmax3[i]))
  6152.  
  6153.  
  6154. T50= []
  6155. for i in range(len(valmmin3)):
  6156. T50.append(min(valmmin3[i]))
  6157.  
  6158. valeurmax3 = max(T5)
  6159. valeurmin3 = min(T50)
  6160. print 'valmin3', valeurmin3
  6161. print 'valmax3', valeurmax3
  6162.  
  6163. T6= []
  6164. for i in range(len(valTT3)):
  6165. T6.append(max(valTT3[i]))
  6166.  
  6167.  
  6168. T60= []
  6169. for i in range(len(valTT3)):
  6170. T60.append(min(valTT3[i]))
  6171.  
  6172. valeurTmin3= min(T60)
  6173. valeurTmax3=max(T6)
  6174.  
  6175.  
  6176.  
  6177. s=0
  6178.  
  6179. for j in range(len(lt4)):
  6180. if lt4[s]!='0':
  6181. valT40, valmin40, valmax40 = calcul2(lt4[s], valT4)
  6182. valTT4.append(valT40)
  6183. valmmin4.append(valmin40)
  6184. valmmax4.append(valmax40)
  6185. s+=1
  6186.  
  6187.  
  6188.  
  6189. print 'valTT3', valTT3
  6190. print 'valTT4', valTT4
  6191. print 'valmmin4', valmmin4
  6192. print 'valmmax4', valmmax4
  6193.  
  6194. T5= []
  6195. for i in range(len(valmmax4)):
  6196. T5.append(max(valmmax4[i]))
  6197.  
  6198.  
  6199. T50= []
  6200. for i in range(len(valmmin4)):
  6201. T50.append(min(valmmin4[i]))
  6202.  
  6203. valeurmax4 = max(T5)
  6204. valeurmin4 = min(T50)
  6205. print 'valmin4', valeurmin4
  6206. print 'valmax4', valeurmax4
  6207.  
  6208. T6= []
  6209. for i in range(len(valTT4)):
  6210. T6.append(max(valTT4[i]))
  6211.  
  6212. print 'T6',T6
  6213.  
  6214. T60= []
  6215. for i in range(len(valTT4)):
  6216. T60.append(min(valTT4[i]))
  6217.  
  6218. print T60
  6219. valeurTmin4= min(T60)
  6220. valeurTmax4=max(T6)
  6221.  
  6222. print 'valTmin4', valeurTmin4
  6223. print 'valTmax4', valeurTmax4
  6224.  
  6225.  
  6226.  
  6227.  
  6228. val_T1=[]
  6229. val_min1=[]
  6230. val_max1=[]
  6231.  
  6232. val_T2=[]
  6233. val_min2=[]
  6234. val_max2=[]
  6235.  
  6236. val_T3=[]
  6237. val_min3=[]
  6238. val_max3=[]
  6239.  
  6240. val_T4=[]
  6241. val_min4=[]
  6242. val_max4=[]
  6243.  
  6244. val_T10=[]
  6245. val_min10=[]
  6246. val_max10=[]
  6247.  
  6248. val_T20=[]
  6249. val_min20=[]
  6250. val_max20=[]
  6251.  
  6252. val_T30=[]
  6253. val_min30=[]
  6254. val_max30=[]
  6255.  
  6256. val_T40=[]
  6257. val_min40=[]
  6258. val_max40=[]
  6259.  
  6260. val_T100 = []
  6261. val_min100=[]
  6262. val_max100=[]
  6263. val_T200 = []
  6264. val_min200=[]
  6265. val_max200=[]
  6266.  
  6267. val_T300 = []
  6268. val_min300=[]
  6269. val_max300=[]
  6270.  
  6271. val_T400 = []
  6272. val_min400=[]
  6273. val_max400=[]
  6274.  
  6275.  
  6276. val_T1000 = []
  6277. val_min1000=[]
  6278. val_max1000=[]
  6279.  
  6280. val_T2000 = []
  6281. val_min2000=[]
  6282. val_max2000=[]
  6283.  
  6284. val_T3000 = []
  6285. val_min3000=[]
  6286. val_max3000=[]
  6287.  
  6288. val_T4000 = []
  6289. val_min4000=[]
  6290. val_max4000=[]
  6291.  
  6292. if unmat1 !='0':
  6293. val_T1, val_min1, val_max1 = calcul2(unmat1, valT1)
  6294. print 'val_T1', val_T1
  6295.  
  6296. if unmat2 !='0':
  6297. val_T2, val_min2, val_max2 = calcul2(unmat2, valT1)
  6298.  
  6299. if unmat3 !='0':
  6300. val_T3, val_min3, val_max3 = calcul2(unmat3, valT1)
  6301.  
  6302. if unmat4 !='0':
  6303. val_T4, val_min4, val_max4 = calcul2(unmat4, valT1)
  6304.  
  6305. if unmat10 !='0':
  6306. val_T10, val_min10, val_max10 = calcul2(unmat10, valT2)
  6307.  
  6308. if unmat20 !='0':
  6309. val_T20, val_min20, val_max20 = calcul2(unmat20, valT2)
  6310.  
  6311. if unmat30 !='0':
  6312. val_T30, val_min30, val_max30 = calcul2(unmat30, valT2)
  6313.  
  6314. if unmat40 !='0':
  6315. val_T40, val_min40, val_max40 = calcul2(unmat40, valT2)
  6316.  
  6317. if unmat100 !='0':
  6318. val_T100, val_min100, val_max100 = calcul2(unmat100, valT3)
  6319.  
  6320. if unmat200 !='0':
  6321. val_T200, val_min200, val_max200 = calcul2(unmat200, valT3)
  6322.  
  6323. if unmat300 !='0':
  6324. val_T300, val_min300, val_max300 = calcul2(unmat300, valT3)
  6325.  
  6326. if unmat400 !='0':
  6327. val_T400, val_min400, val_max400 = calcul2(unmat400, valT3)
  6328.  
  6329.  
  6330. if unmat1000 !='0':
  6331. val_T1000, val_min1000, val_max1000 = calcul2(unmat1000, valT4)
  6332.  
  6333. if unmat2000 !='0':
  6334. val_T2000, val_min2000, val_max2000 = calcul2(unmat2000, valT4)
  6335.  
  6336. if unmat3000 !='0':
  6337. val_T3000, val_min3000, val_max3000 = calcul2(unmat3000, valT4)
  6338.  
  6339. if unmat4000 !='0':
  6340. val_T4000, val_min4000, val_max4000 = calcul2(unmat4000, valT4)
  6341.  
  6342. print ' '
  6343. print 'zoomrange graph1'
  6344. print 'valeurmin',valeurmin
  6345. print 'valeurmax',valeurmax
  6346. print 'valeurTmin',valeurTmin
  6347. print 'valeurTmax',valeurTmax
  6348. print ' '
  6349. print 'zoomrange graph2'
  6350. print 'valeurmin2',valeurmin2
  6351. print 'valeurmax2',valeurmax2
  6352. print 'valeurTmin2',valeurTmin2
  6353. print 'valeurTmax2',valeurTmax2
  6354. print ' '
  6355. print 'zoomrange graph3'
  6356. print 'valeurmin3',valeurmin3
  6357. print 'valeurmax3',valeurmax3
  6358. print 'valeurTmin3',valeurTmin3
  6359. print 'valeurTmax3',valeurTmax3
  6360. print ' '
  6361. print ' '
  6362. print 'zoomrange graph4'
  6363. print 'valeurmin4',valeurmin4
  6364. print 'valeurmax4',valeurmax4
  6365. print 'valeurTmin4',valeurTmin4
  6366. print 'valeurTmax4',valeurTmax4
  6367. print ' '
  6368.  
  6369. print 'val_T1', val_T1
  6370. print 'val_T2', val_T2
  6371. print 'val_min1', val_min1
  6372. print 'val_max1', val_max1
  6373. print 'nom_mat1', unmat1
  6374. print 'val_min2', val_min2
  6375. print 'val_max2', val_max2
  6376. print 'nom_mat2', unmat2
  6377. print 'val_T4', val_T4
  6378. print 'val_min4', val_min4
  6379. print 'val_max4', val_max4
  6380. print 'nom_mat4', unmat4
  6381. print 'val_T10', val_T10
  6382. print 'val_min10', val_min10
  6383. print 'val_max10', val_max10
  6384. print 'nom_mat10', unmat10
  6385. print 'val_T20', val_T20
  6386. print 'val_min20', val_min20
  6387. print 'val_max20', val_max20
  6388. print 'nom_mat20', unmat20
  6389. print 'val_T30', val_T30
  6390. print 'val_min30', val_min30
  6391. print 'val_max30', val_max30
  6392. print 'nom_mat30', unmat30
  6393. print 'val_T40', val_T40
  6394. print 'val_min40', val_min40
  6395. print 'val_max40', val_max40
  6396. print 'nom_mat40', unmat40
  6397. print 'val_T100', val_T100
  6398. print 'val_min100', val_min100
  6399. print 'val_max100', val_max100
  6400. print 'nom_mat100', unmat100
  6401. print 'val_min200', val_min200
  6402. print 'val_max200', val_max200
  6403. print 'nom_mat200', unmat200
  6404. print 'val_T300', val_T300
  6405. print 'val_min300', val_min300
  6406. print 'val_max300', val_max300
  6407. print 'nom_mat300', unmat300
  6408. print 'nom_mat100', unmat300
  6409. print 'val_min1000', unmat1000
  6410. print 'val_max1000', val_max1000
  6411. print 'nom_mat1000', unmat1000
  6412. print 'val_min2000', val_min2000
  6413. print 'val_max2000', val_max2000
  6414. print 'nom_mat2000', unmat2000
  6415. print 'val_T3000', val_T3000
  6416. print 'val_min3000', val_min3000
  6417. print 'val_max3000', val_max3000
  6418. print 'nom_mat3000', unmat3000
  6419. print 'val_min4000', val_min4000
  6420. print 'val_max4000', val_max4000
  6421.  
  6422.  
  6423. datas2= {'val_T1':val_T1, 'val_min1': val_min1, 'val_max1': val_max1, 'nom_mat1':unmat1,
  6424. 'val_T2':val_T2, 'val_min2': val_min2, 'val_max2': val_max2, 'nom_mat2':unmat2,
  6425. 'val_T3':val_T3, 'val_min3': val_min3, 'val_max3': val_max3, 'nom_mat3':unmat3,
  6426. 'val_T4':val_T4, 'val_min4': val_min4, 'val_max4': val_max4, 'nom_mat4':unmat4,
  6427. 'val_T10':val_T10, 'val_min10': val_min10, 'val_max10': val_max10, 'nom_mat10':unmat10,
  6428. 'val_T20':val_T20, 'val_min20': val_min20, 'val_max20': val_max20, 'nom_mat20':unmat20,
  6429. 'val_T30':val_T30, 'val_min30': val_min30, 'val_max30': val_max30, 'nom_mat30':unmat30,
  6430. 'val_T40':val_T40, 'val_min40': val_min40, 'val_max40': val_max40, 'nom_mat40':unmat40,
  6431. 'val_T100':val_T100, 'val_min100': val_min100, 'val_max100': val_max100, 'nom_mat100':unmat100,
  6432. 'val_T200':val_T200, 'val_min200': val_min200, 'val_max200': val_max200, 'nom_mat200':unmat200,
  6433. 'val_T300':val_T300, 'val_min300': val_min300, 'val_max300': val_max300, 'nom_mat300':unmat300,
  6434. 'val_T400':val_T400, 'val_min400': val_min400, 'val_max400': val_max400, 'nom_mat400':unmat400,
  6435. 'val_T1000':val_T1000, 'val_min1000': val_min1000, 'val_max1000': val_max1000, 'nom_mat1000':unmat1000,
  6436. 'val_T2000':val_T2000, 'val_min2000': val_min2000, 'val_max2000': val_max2000, 'nom_mat2000':unmat2000,
  6437. 'val_T3000':val_T3000, 'val_min3000': val_min3000, 'val_max3000': val_max3000, 'nom_mat3000':unmat3000,
  6438. 'val_T4000':val_T4000, 'val_min4000': val_min4000, 'val_max4000': val_max4000, 'nom_mat4000':unmat4000,
  6439.  
  6440. 'valeurmin':valeurmin, 'valeurmax': valeurmax, 'valeurTmin':valeurTmin, 'valeurTmax':valeurTmax,
  6441. 'valeurmin2':valeurmin2, 'valeurmax2': valeurmax2, 'valeurTmin2':valeurTmin2, 'valeurTmax2':valeurTmax2,
  6442. 'valeurmin3':valeurmin3, 'valeurmax3': valeurmax3, 'valeurTmin3':valeurTmin3, 'valeurTmax3':valeurTmax3,
  6443. 'valeurmin4':valeurmin4, 'valeurmax4': valeurmax4, 'valeurTmin4':valeurTmin4, 'valeurTmax4':valeurTmax4}
  6444.  
  6445. data = simplejson.dumps(datas2)
  6446.  
  6447. return HttpResponse(data, mimetype= 'application/json')
  6448.  
  6449. except:
  6450. return HttpResponse("OK")
  6451.  
  6452. def pondere2(request):
  6453. ref = request.GET['ref']
  6454. laref2= request.GET['laref2']
  6455. laref3= request.GET['laref3']
  6456. laref4= request.GET['laref4']
  6457. laref10 = request.GET['laref10']
  6458. laref20= request.GET['laref20']
  6459. laref30= request.GET['laref30']
  6460. laref40= request.GET['laref40']
  6461. valmin1 = request.GET['valmin1']
  6462. valmax1 = request.GET['valmax1']
  6463. valmin2 = request.GET['valmin2']
  6464. valmax2 = request.GET['valmax2']
  6465. points1 = request.GET['propriete1']
  6466. points2 = request.GET['propriete2']
  6467. famille = request.GET['famille']
  6468. Tmin1 = request.GET['Tmin1']
  6469. Tmax1 = request.GET['Tmax1']
  6470. Tmin2 = request.GET['Tmin2']
  6471. Tmax2 = request.GET['Tmax2']
  6472. dref = request.GET['dref']
  6473. dref2 = request.GET['dref2']
  6474. return render_to_response('material/pond2.html',
  6475. {
  6476. 'ref':ref,
  6477. 'laref2': laref2,
  6478. 'laref3': laref3,
  6479. 'laref4': laref4,
  6480. 'laref10':laref10,
  6481. 'laref20': laref20,
  6482. 'laref30': laref30,
  6483. 'laref40': laref40,
  6484.  
  6485. 'Tmin1': Tmin1,
  6486. 'Tmax1': Tmax1,
  6487. 'Tmin2': Tmin2,
  6488. 'Tmax2': Tmax2,
  6489. 'dref': dref,
  6490. 'dref2': dref2,
  6491. 'famille': famille,
  6492. 'valmin1': valmin1,
  6493. 'valmax1': valmax1,
  6494. 'valmin2': valmin2,
  6495. 'valmax2': valmax2,
  6496.  
  6497. 'propriete1': points1,
  6498. 'propriete2': points2},
  6499.  
  6500. context_instance=RequestContext(request))
  6501.  
  6502.  
  6503. def searchcourb2(request):
  6504. try:
  6505. unmat1 = request.GET['mat1']
  6506. unmat2 = request.GET['mat2']
  6507. unmat3 = request.GET['mat3']
  6508. unmat4 = request.GET['mat4']
  6509. unmat10 = request.GET['mat10']
  6510. unmat20 = request.GET['mat20']
  6511. unmat30 = request.GET['mat30']
  6512. unmat40 = request.GET['mat40']
  6513. letab = request.GET['mat5']
  6514. letab2 = request.GET['mat6']
  6515. valT1 = request.GET['propriete1']
  6516. valT2 = request.GET['propriete2']
  6517. famille = request.GET['famille']
  6518.  
  6519. Tmin1 = float(request.GET['Tmin1'])
  6520. Tmax1 = float(request.GET['Tmax1'])
  6521. valmin1 = float(request.GET['valmin1'])
  6522. valmax1 = float(request.GET['valmax1'])
  6523.  
  6524. Tmin2 = float(request.GET['Tmin2'])
  6525. Tmax2 = float(request.GET['Tmax2'])
  6526. valmin2 = float(request.GET['valmin2'])
  6527. valmax2 = float(request.GET['valmax2'])
  6528.  
  6529. poids1 = float(request.GET['poids1'])
  6530. poids2 = float(request.GET['poids2'])
  6531.  
  6532.  
  6533. print 'Tmin1', Tmin1
  6534. print 'Tmax1', Tmax1
  6535. print 'valmin1', valmin1
  6536. print 'valmax1', valmax1
  6537.  
  6538. print 'Tmin2', Tmin2
  6539. print 'Tmax2', Tmax2
  6540. print 'valmin2', valmin2
  6541. print 'valmax2', valmax2
  6542.  
  6543. print 'poids1', poids1
  6544. print 'poids2', poids2
  6545.  
  6546. print 'letab2', letab2
  6547.  
  6548. print unmat1
  6549. print unmat2
  6550. print unmat3
  6551. print 'unmat4',unmat4
  6552.  
  6553. print unmat10
  6554. print unmat20
  6555. print unmat30
  6556. print unmat40
  6557.  
  6558.  
  6559.  
  6560. print valT1
  6561. print valT2
  6562.  
  6563. val_T1=[]
  6564. val_min1=[]
  6565. val_max1=[]
  6566.  
  6567. val_T2=[]
  6568. val_min2=[]
  6569. val_max2=[]
  6570.  
  6571. val_T3=[]
  6572. val_min3=[]
  6573. val_max3=[]
  6574.  
  6575. val_T4=[]
  6576. val_min4=[]
  6577. val_max4=[]
  6578.  
  6579. val_T10=[]
  6580. val_min10=[]
  6581. val_max10=[]
  6582.  
  6583. val_T20=[]
  6584. val_min20=[]
  6585. val_max20=[]
  6586.  
  6587. val_T30=[]
  6588. val_min30=[]
  6589. val_max30=[]
  6590.  
  6591. val_T40=[]
  6592. val_min40=[]
  6593. val_max40=[]
  6594.  
  6595. # propriete 1
  6596. material1, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT1, valmin1, valmax1, Tmin1, Tmax1)
  6597. points1 = points
  6598. print 'points1', points1
  6599. material2, res1, res2, points, material600, material700, material800, lemateriaumax = search_materiau(famille, valT2, valmin2, valmax2, Tmin2, Tmax2)
  6600. points2 = points
  6601. print 'points2', points2
  6602.  
  6603. M1 = []
  6604. M2 = []
  6605. T100 = []
  6606. MM1 = []
  6607. MM2 = []
  6608. MM3 = []
  6609.  
  6610.  
  6611. len1 = len(points1)
  6612. len2 = len(points2)
  6613.  
  6614.  
  6615.  
  6616.  
  6617. # calcul des ponderations liees a chaque materiau
  6618.  
  6619. for i in range(len(points1)):
  6620. M1.append(points1[i][0])
  6621.  
  6622. for i in range(len(points2)):
  6623. M2.append(points2[i][0])
  6624.  
  6625. for i in range(len(points1)):
  6626. MM1.append(points1[i][1])
  6627.  
  6628. for i in range(len(points2)):
  6629. MM2.append(points2[i][1])
  6630.  
  6631.  
  6632.  
  6633. inter1 = set(material1).intersection(set(material2))
  6634. inter2 = set(M1).intersection(set(M2))
  6635.  
  6636. valoption1=poids1
  6637. valoption2=poids2
  6638.  
  6639.  
  6640. mat100=[]
  6641. T100=[]
  6642. j=0
  6643. T50=[]
  6644. M4=[]
  6645. M6=[]
  6646.  
  6647.  
  6648. for mat100 in inter1:
  6649. if mat100 in inter2:
  6650. i=0
  6651. while i<len(M1):
  6652. if M1[i]==mat100:
  6653. T50=[]
  6654. T50 = (MM1[i]*valoption1)/(valoption1 + valoption2)
  6655. M4.append((mat100, T50))
  6656. i+=1
  6657. i=0
  6658. while i<len(M2):
  6659. if M2[i]==mat100:
  6660. T50=[]
  6661. T50 = (MM2[i]*valoption2)/(valoption1 + valoption2)
  6662. M4.append((mat100, T50))
  6663. i+=1
  6664.  
  6665.  
  6666. print 'M4',M4
  6667. M6 = process(M4)
  6668.  
  6669. print 'M6', M6 # points3
  6670. SS= sorted(M6, key=lambda x: x[1], reverse=True)
  6671.  
  6672. print 'SS', SS
  6673.  
  6674. M6=SS
  6675. i=0
  6676. FF =[]
  6677.  
  6678. XX = '0'
  6679. XX1=0
  6680. YY='0'
  6681. YY1=0
  6682. VV='0'
  6683. VV1=0
  6684. ZZ= '0'
  6685. ZZ1=0
  6686. if len(M6)==1:
  6687. XX = M6[0][0]
  6688. XX1 = M6[0][1]
  6689. XX = str(XX)
  6690. XX1 = float(XX1)
  6691. XX1 = round(XX1,2)
  6692. if len(M6)==2:
  6693. XX = M6[0][0]
  6694. XX1 = M6[0][1]
  6695. VV = M6[1][0]
  6696. VV1 = M6[1][1]
  6697. XX = str(XX)
  6698. VV = str(VV)
  6699. XX1 = float(XX1)
  6700. VV1 = float(VV1)
  6701. XX1 = round(XX1,2)
  6702. VV1 = round(VV1,2)
  6703. if len(M6)==3:
  6704. XX = M6[0][0]
  6705. XX1 = M6[0][1]
  6706. VV = M6[1][0]
  6707. VV1 = M6[1][1]
  6708. YY = M6[2][0]
  6709. YY1 = M6[2][1]
  6710.  
  6711. XX = str(XX)
  6712. VV = str(VV)
  6713. YY = str(YY)
  6714.  
  6715. XX1 = float(XX1)
  6716. XX1 = round(XX1,2)
  6717. VV1 = float(VV1)
  6718. VV1 = round(VV1,2)
  6719. YY1 = float(YY1)
  6720. YY1 = round(YY1,2)
  6721. if len(M6)>=4:
  6722. XX = M6[0][0]
  6723. XX1 = M6[0][1]
  6724. VV = M6[1][0]
  6725. VV1 = M6[1][1]
  6726. YY = M6[2][0]
  6727. YY1 = M6[2][1]
  6728. ZZ = M6[3][0]
  6729. ZZ1 = M6[3][1]
  6730.  
  6731. XX = str(XX)
  6732. VV = str(VV)
  6733. YY = str(YY)
  6734. ZZ = str(ZZ)
  6735.  
  6736. XX1 = float(XX1)
  6737. XX1 = round(XX1,2)
  6738. VV1 = float(VV1)
  6739. VV1 = round(VV1,2)
  6740. YY1 = float(YY1)
  6741. YY1 = round(YY1,2)
  6742.  
  6743. ZZ1 = float(ZZ1)
  6744. ZZ1 = round(ZZ1,2)
  6745.  
  6746.  
  6747.  
  6748.  
  6749.  
  6750.  
  6751.  
  6752.  
  6753. lt10 = []
  6754. lt20 = []
  6755. lt30 = []
  6756. M10 = []
  6757.  
  6758.  
  6759.  
  6760. T1 = []
  6761. T2 = []
  6762. for i in range(len(points1)):
  6763. T1.append((points1[i][1])*valoption1)
  6764. P1 = sum(T1)
  6765.  
  6766. for i in range(len(points2)):
  6767. T2.append((points2[i][1])*valoption2)
  6768. P2 = sum(T2)
  6769.  
  6770. MAP = (P1+P2)/(valoption1 + valoption2)
  6771. MAP = round(MAP,2)
  6772.  
  6773. print 'moyenne arithmetique ponderee:', MAP
  6774.  
  6775.  
  6776.  
  6777.  
  6778. lt= []
  6779. lt2= []
  6780.  
  6781. lt = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab.split(',')]
  6782. lt2 = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab2.split(',')]
  6783.  
  6784. print 'lt', lt
  6785. print 'lt2', lt2
  6786.  
  6787. i=0
  6788. valTT=[]
  6789. valmmin=[]
  6790. valmmax=[]
  6791.  
  6792. valT=[]
  6793. valmin=[]
  6794. valmax=[]
  6795.  
  6796. n=0
  6797. valTT2=[]
  6798. valmmin2=[]
  6799. valmmax2=[]
  6800.  
  6801. valT20=[]
  6802. valmin20=[]
  6803. valmax20=[]
  6804.  
  6805.  
  6806. for j in range(len(lt2)):
  6807. if lt2[n]!='0':
  6808. valT20, valmin20, valmax20 = calcul2(lt2[n], valT2)
  6809. valTT2.append(valT20)
  6810. valmmin2.append(valmin20)
  6811. valmmax2.append(valmax20)
  6812. n+=1
  6813.  
  6814.  
  6815. for j in range(len(lt)):
  6816. if lt[i]!='0':
  6817. valT, valmin, valmax = calcul2(lt[i], valT1)
  6818. valTT.append(valT)
  6819. valmmin.append(valmin)
  6820. valmmax.append(valmax)
  6821. i+=1
  6822.  
  6823.  
  6824. T1= []
  6825. for i in range(len(valmmax)):
  6826. T1.append(max(valmmax[i]))
  6827.  
  6828. T10= []
  6829. for i in range(len(valmmin)):
  6830. T10.append(min(valmmin[i]))
  6831.  
  6832.  
  6833. T2= []
  6834. for i in range(len(valmmax2)):
  6835. T2.append(max(valmmax2[i]))
  6836.  
  6837.  
  6838. T20= []
  6839. for i in range(len(valmmin2)):
  6840. T20.append(min(valmmin2[i]))
  6841.  
  6842. T3= []
  6843. for i in range(len(valTT)):
  6844. T3.append(max(valTT[i]))
  6845.  
  6846.  
  6847. T30= []
  6848. for i in range(len(valTT)):
  6849. T30.append(min(valTT[i]))
  6850.  
  6851. T4= []
  6852. for i in range(len(valTT2)):
  6853. T4.append(max(valTT2[i]))
  6854.  
  6855.  
  6856. T40= []
  6857. for i in range(len(valTT2)):
  6858. T40.append(min(valTT2[i]))
  6859.  
  6860.  
  6861. # calcul des echelles du graphe
  6862.  
  6863.  
  6864. valeurmax = max(T1)
  6865. valeurmin = min(T10)
  6866.  
  6867. valeurmax2 = max(T2)
  6868. valeurmin2 = min(T20)
  6869.  
  6870. valeurTmin= min(T30)
  6871. valeurTmax=max(T3)
  6872.  
  6873. valeurTmin2= min(T40)
  6874. valeurTmax2=max(T4)
  6875.  
  6876.  
  6877.  
  6878. if unmat1 !='0':
  6879.  
  6880. val_T1, val_min1, val_max1 = calcul2(unmat1, valT1)
  6881.  
  6882.  
  6883.  
  6884. if unmat2 !='0':
  6885.  
  6886. val_T2, val_min2, val_max2 = calcul2(unmat2, valT1)
  6887.  
  6888.  
  6889.  
  6890. if unmat3 !='0':
  6891. val_T3, val_min3, val_max3 = calcul2(unmat3, valT1)
  6892.  
  6893.  
  6894. if unmat4 !='0':
  6895. val_T4, val_min4, val_max4 = calcul2(unmat4, valT1)
  6896.  
  6897.  
  6898. if unmat10 !='0':
  6899. val_T10, val_min10, val_max10 = calcul2(unmat10, valT2)
  6900.  
  6901.  
  6902. if unmat20 !='0':
  6903. val_T20, val_min20, val_max20 = calcul2(unmat20, valT2)
  6904.  
  6905.  
  6906. if unmat30 !='0':
  6907. val_T30, val_min30, val_max30 = calcul2(unmat30, valT2)
  6908.  
  6909.  
  6910. if unmat40 !='0':
  6911. val_T40, val_min40, val_max40 = calcul2(unmat40, valT2)
  6912.  
  6913.  
  6914. print 'val_T10', val_T10
  6915. print 'val_T20', val_T20
  6916. print ' '
  6917. print 'zoomrange graph1'
  6918. print 'valeurmin',valeurmin
  6919. print 'valeurmax',valeurmax
  6920. print 'valeurTmin',valeurTmin
  6921. print 'valeurTmax',valeurTmax
  6922. print ' '
  6923. print 'zoomrange graph2'
  6924. print 'valeurmin2',valeurmin2
  6925. print 'valeurmax2',valeurmax2
  6926. print 'valeurTmin2',valeurTmin2
  6927. print 'valeurTmax2',valeurTmax2
  6928. print ' '
  6929.  
  6930. datas2= {'val_T1':val_T1, 'val_min1': val_min1, 'val_max1': val_max1, 'nom_mat1':unmat1,
  6931. 'val_T2':val_T2, 'val_min2': val_min2, 'val_max2': val_max2, 'nom_mat2':unmat2,
  6932. 'val_T3':val_T3, 'val_min3': val_min3, 'val_max3': val_max3, 'nom_mat3':unmat3,
  6933. 'val_T4':val_T4, 'val_min4': val_min4, 'val_max4': val_max4, 'nom_mat4':unmat4,
  6934. 'val_T10':val_T10, 'val_min10': val_min10, 'val_max10': val_max10, 'nom_mat10':unmat10,
  6935. 'val_T20':val_T20, 'val_min20': val_min20, 'val_max20': val_max20, 'nom_mat20':unmat20,
  6936. 'val_T30':val_T30, 'val_min30': val_min30, 'val_max30': val_max30, 'nom_mat30':unmat30,
  6937. 'val_T40':val_T40, 'val_min40': val_min40, 'val_max40': val_max40, 'nom_mat40':unmat40,
  6938. 'valeurmin':valeurmin, 'valeurmax': valeurmax, 'valeurTmin':valeurTmin, 'valeurTmax':valeurTmax,
  6939. 'MAP': MAP, 'XX1': XX1, 'XX': XX, 'VV1': VV1, 'VV': VV, 'YY1': YY1, 'YY': YY, 'ZZ1': ZZ1, 'ZZ': ZZ,
  6940. 'valeurmin2':valeurmin2, 'valeurmax2': valeurmax2, 'valeurTmin2':valeurTmin2, 'valeurTmax2':valeurTmax2}
  6941.  
  6942.  
  6943. data = simplejson.dumps(datas2)
  6944.  
  6945. return HttpResponse(data, mimetype= 'application/json')
  6946.  
  6947. except:
  6948. return HttpResponse("OK")
  6949.  
  6950.  
  6951.  
  6952.  
  6953.  
  6954.  
  6955.  
  6956.  
  6957. def searchcourb20(request):
  6958. try:
  6959. unmat1 = request.GET['mat1']
  6960. unmat2 = request.GET['mat2']
  6961. unmat3 = request.GET['mat3']
  6962. unmat4 = request.GET['mat4']
  6963. unmat10 = request.GET['mat10']
  6964. unmat20 = request.GET['mat20']
  6965. unmat30 = request.GET['mat30']
  6966. unmat40 = request.GET['mat40']
  6967. letab = request.GET['mat5']
  6968. letab2 = request.GET['mat6']
  6969. valT1 = request.GET['propriete1']
  6970. valT2 = request.GET['propriete2']
  6971.  
  6972.  
  6973.  
  6974. print unmat1
  6975. print unmat2
  6976. print unmat3
  6977. print unmat4
  6978.  
  6979. print unmat10
  6980. print unmat20
  6981. print unmat30
  6982. print unmat40
  6983.  
  6984.  
  6985.  
  6986. print valT1
  6987. print valT2
  6988.  
  6989. val_T1=[]
  6990. val_min1=[]
  6991. val_max1=[]
  6992.  
  6993. val_T2=[]
  6994. val_min2=[]
  6995. val_max2=[]
  6996.  
  6997. val_T3=[]
  6998. val_min3=[]
  6999. val_max3=[]
  7000.  
  7001. val_T4=[]
  7002. val_min4=[]
  7003. val_max4=[]
  7004.  
  7005. val_T10=[]
  7006. val_min10=[]
  7007. val_max10=[]
  7008.  
  7009. val_T20=[]
  7010. val_min20=[]
  7011. val_max20=[]
  7012.  
  7013. val_T30=[]
  7014. val_min30=[]
  7015. val_max30=[]
  7016.  
  7017. val_T40=[]
  7018. val_min40=[]
  7019. val_max40=[]
  7020.  
  7021. # propriete 1
  7022.  
  7023.  
  7024. M1 = []
  7025. M2 = []
  7026. T100 = []
  7027. MM1 = []
  7028. MM2 = []
  7029. MM3 = []
  7030.  
  7031.  
  7032.  
  7033.  
  7034.  
  7035.  
  7036.  
  7037. # calcul des ponderations liees a chaque materiau
  7038.  
  7039.  
  7040.  
  7041. mat100=[]
  7042. T100=[]
  7043. j=0
  7044. T50=[]
  7045. M4=[]
  7046. M6=[]
  7047.  
  7048.  
  7049.  
  7050.  
  7051.  
  7052.  
  7053.  
  7054.  
  7055. lt10 = []
  7056. lt20 = []
  7057. lt30 = []
  7058. M10 = []
  7059.  
  7060.  
  7061.  
  7062.  
  7063.  
  7064.  
  7065.  
  7066.  
  7067. lt= []
  7068. lt2= []
  7069.  
  7070. lt = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab.split(',')]
  7071. lt2 = [s.replace('[', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in letab2.split(',')]
  7072.  
  7073. print 'lt', lt
  7074. print 'lt2', lt2
  7075.  
  7076. i=0
  7077. valTT=[]
  7078. valmmin=[]
  7079. valmmax=[]
  7080.  
  7081. valT=[]
  7082. valmin=[]
  7083. valmax=[]
  7084.  
  7085. n=0
  7086. valTT2=[]
  7087. valmmin2=[]
  7088. valmmax2=[]
  7089.  
  7090. valT20=[]
  7091. valmin20=[]
  7092. valmax20=[]
  7093.  
  7094.  
  7095. for j in range(len(lt2)):
  7096. if lt2[n]!='0':
  7097. valT20, valmin20, valmax20 = calcul2(lt2[n], valT2)
  7098. valTT2.append(valT20)
  7099. valmmin2.append(valmin20)
  7100. valmmax2.append(valmax20)
  7101. n+=1
  7102.  
  7103.  
  7104. for j in range(len(lt)):
  7105. if lt[i]!='0':
  7106. valT, valmin, valmax = calcul2(lt[i], valT1)
  7107. valTT.append(valT)
  7108. valmmin.append(valmin)
  7109. valmmax.append(valmax)
  7110. i+=1
  7111.  
  7112.  
  7113. T1= []
  7114. for i in range(len(valmmax)):
  7115. T1.append(max(valmmax[i]))
  7116.  
  7117. T10= []
  7118. for i in range(len(valmmin)):
  7119. T10.append(min(valmmin[i]))
  7120.  
  7121.  
  7122. T2= []
  7123. for i in range(len(valmmax2)):
  7124. T2.append(max(valmmax2[i]))
  7125.  
  7126.  
  7127. T20= []
  7128. for i in range(len(valmmin2)):
  7129. T20.append(min(valmmin2[i]))
  7130.  
  7131. T3= []
  7132. for i in range(len(valTT)):
  7133. T3.append(max(valTT[i]))
  7134.  
  7135.  
  7136. T30= []
  7137. for i in range(len(valTT)):
  7138. T30.append(min(valTT[i]))
  7139.  
  7140. T4= []
  7141. for i in range(len(valTT2)):
  7142. T4.append(max(valTT2[i]))
  7143.  
  7144.  
  7145. T40= []
  7146. for i in range(len(valTT2)):
  7147. T40.append(min(valTT2[i]))
  7148.  
  7149.  
  7150. # calcul des echelles du graphe
  7151.  
  7152.  
  7153. valeurmax = max(T1)
  7154. valeurmin = min(T10)
  7155.  
  7156. valeurmax2 = max(T2)
  7157. valeurmin2 = min(T20)
  7158.  
  7159. valeurTmin= min(T30)
  7160. valeurTmax=max(T3)
  7161.  
  7162. valeurTmin2= min(T40)
  7163. valeurTmax2=max(T4)
  7164.  
  7165.  
  7166.  
  7167. if unmat1 !='0':
  7168.  
  7169. val_T1, val_min1, val_max1 = calcul2(unmat1, valT1)
  7170.  
  7171.  
  7172.  
  7173. if unmat2 !='0':
  7174.  
  7175. val_T2, val_min2, val_max2 = calcul2(unmat2, valT1)
  7176.  
  7177.  
  7178.  
  7179. if unmat3 !='0':
  7180. val_T3, val_min3, val_max3 = calcul2(unmat3, valT1)
  7181.  
  7182.  
  7183. if unmat4 !='0':
  7184. val_T4, val_min4, val_max4 = calcul2(unmat4, valT1)
  7185.  
  7186.  
  7187. if unmat10 !='0':
  7188. val_T10, val_min10, val_max10 = calcul2(unmat10, valT2)
  7189.  
  7190.  
  7191. if unmat20 !='0':
  7192. val_T20, val_min20, val_max20 = calcul2(unmat20, valT2)
  7193.  
  7194.  
  7195. if unmat30 !='0':
  7196. val_T30, val_min30, val_max30 = calcul2(unmat30, valT2)
  7197.  
  7198.  
  7199. if unmat40 !='0':
  7200. val_T40, val_min40, val_max40 = calcul2(unmat40, valT2)
  7201.  
  7202.  
  7203. print 'val_T10', val_T10
  7204. print 'val_T20', val_T20
  7205. print ' '
  7206. print 'zoomrange graph1'
  7207. print 'valeurmin',valeurmin
  7208. print 'valeurmax',valeurmax
  7209. print 'valeurTmin',valeurTmin
  7210. print 'valeurTmax',valeurTmax
  7211. print ' '
  7212. print 'zoomrange graph2'
  7213. print 'valeurmin2',valeurmin2
  7214. print 'valeurmax2',valeurmax2
  7215. print 'valeurTmin2',valeurTmin2
  7216. print 'valeurTmax2',valeurTmax2
  7217. print ' '
  7218.  
  7219. datas2= {'val_T1':val_T1, 'val_min1': val_min1, 'val_max1': val_max1, 'nom_mat1':unmat1,
  7220. 'val_T2':val_T2, 'val_min2': val_min2, 'val_max2': val_max2, 'nom_mat2':unmat2,
  7221. 'val_T3':val_T3, 'val_min3': val_min3, 'val_max3': val_max3, 'nom_mat3':unmat3,
  7222. 'val_T4':val_T4, 'val_min4': val_min4, 'val_max4': val_max4, 'nom_mat4':unmat4,
  7223. 'val_T10':val_T10, 'val_min10': val_min10, 'val_max10': val_max10, 'nom_mat10':unmat10,
  7224. 'val_T20':val_T20, 'val_min20': val_min20, 'val_max20': val_max20, 'nom_mat20':unmat20,
  7225. 'val_T30':val_T30, 'val_min30': val_min30, 'val_max30': val_max30, 'nom_mat30':unmat30,
  7226. 'val_T40':val_T40, 'val_min40': val_min40, 'val_max40': val_max40, 'nom_mat40':unmat40,
  7227. 'valeurmin':valeurmin, 'valeurmax': valeurmax, 'valeurTmin':valeurTmin, 'valeurTmax':valeurTmax,
  7228. #'MAP': MAP, 'XX1': XX1, 'XX': XX, 'VV1': VV1, 'VV': VV, 'YY1': YY1, 'YY': YY,
  7229. 'valeurmin2':valeurmin2, 'valeurmax2': valeurmax2, 'valeurTmin2':valeurTmin2, 'valeurTmax2':valeurTmax2}
  7230.  
  7231.  
  7232. data = simplejson.dumps(datas2)
  7233.  
  7234. return HttpResponse(data, mimetype= 'application/json')
  7235.  
  7236. except:
  7237. return HttpResponse("OK")
  7238.  
  7239.  
  7240.  
  7241. def searchmat(request):
  7242. try:
  7243. famille = request.GET['reference']
  7244. print 'reference:',famille
  7245. data100 = Material.objects.filter(category__name=famille)
  7246. t1 = Category.objects.filter(parent__isnull=True)
  7247.  
  7248. for category in t1:
  7249. category.name # ceramique, metaux
  7250. print category.name
  7251. for child in category.children.all():
  7252. child.name # alliages, metaux purs
  7253. print child.name
  7254.  
  7255. data1000 = Material.objects.filter(category__name='base_Ni')
  7256. print 'data100:', data100
  7257. print 'data1000:', data1000
  7258.  
  7259.  
  7260. #print 'top_level_cats:', top_level_cats
  7261.  
  7262.  
  7263. val_mat=[]
  7264. val_mat2=[]
  7265.  
  7266. for e in data100:
  7267. val_mat.append(e.name)
  7268.  
  7269.  
  7270.  
  7271. datas2= {'val_mat':val_mat}
  7272. data = simplejson.dumps(datas2)
  7273.  
  7274. return HttpResponse(data, mimetype= 'application/json')
  7275.  
  7276. except:
  7277. return HttpResponse("OK")
  7278.  
  7279.  
  7280. def searchmat1(request):
  7281.  
  7282. try:
  7283.  
  7284. data100 = Material.objects.all()
  7285. val_mat=[]
  7286. val_mat2=[]
  7287.  
  7288. for e in data100:
  7289. val_mat.append(e.name)
  7290.  
  7291. datas2= {'val_mat':val_mat}
  7292. data = simplejson.dumps(datas2)
  7293.  
  7294. print 'val_mat',val_mat
  7295. print 'toutes familles'
  7296. return HttpResponse(data, mimetype= 'application/json')
  7297.  
  7298. except:
  7299. return HttpResponse("OK")
  7300.  
  7301.  
  7302.  
  7303. def resout10(request):
  7304. return render_to_response('material/critere1.html',
  7305. context_instance=RequestContext(request))
  7306.  
  7307. def resout20(request):
  7308. return render_to_response('material/critere2.html',
  7309. context_instance=RequestContext(request))
  7310.  
  7311. def resout30(request):
  7312. lafamille= 'ceramique'
  7313. return render_to_response('material/critere2F.html',
  7314. {'unefamille': lafamille},
  7315. context_instance=RequestContext(request))
  7316.  
  7317. def resout40(request):
  7318. lafamille= 'base_Ni'
  7319. return render_to_response('material/critere2F.html',
  7320. {'unefamille': lafamille},
  7321. context_instance=RequestContext(request))
  7322.  
  7323. # ***************** filtrage sur deux proprietes
  7324.  
  7325. def get_materials(request, category_slug=None):
  7326. if category_slug is None:
  7327. print 'pass'
  7328. return render_to_response('material/critere2.html',
  7329. context_instance=RequestContext(request))
  7330. else:
  7331. lafamille= category_slug
  7332. return render_to_response('material/critere2F.html',
  7333. {'unefamille': lafamille},
  7334. context_instance=RequestContext(request))
  7335.  
  7336.  
  7337. # ***************** filtrage sur une propriete
  7338.  
  7339.  
  7340. def get_materials_one(request, category_slug=None):
  7341. if category_slug is None:
  7342. lafamille= 'general'
  7343. return render_to_response('material/critere1.html',
  7344. {'unefamille': lafamille},
  7345. context_instance=RequestContext(request))
  7346. else:
  7347. lafamille= category_slug
  7348. return render_to_response('material/critere1F.html',
  7349. {'unefamille': lafamille},
  7350. context_instance=RequestContext(request))
  7351.  
  7352.  
  7353. # ***************** filtrage sur deux proprietes
  7354.  
  7355.  
  7356. def get_materials_two(request, category_slug=None):
  7357. if category_slug is None:
  7358. lafamille= 'general'
  7359. return render_to_response('material/critere2.html',
  7360. {'unefamille': lafamille},
  7361. context_instance=RequestContext(request))
  7362. else:
  7363. lafamille= category_slug
  7364. return render_to_response('material/critere2F.html',
  7365. {'unefamille': lafamille},
  7366. context_instance=RequestContext(request))
  7367.  
  7368.  
  7369. # ***************** filtrage sur trois proprietes
  7370.  
  7371.  
  7372. def get_materials_three(request, category_slug=None):
  7373. if category_slug is None:
  7374. lafamille= 'general'
  7375. return render_to_response('material/critere3.html',
  7376. {'unefamille': lafamille},
  7377. context_instance=RequestContext(request))
  7378. else:
  7379. lafamille= category_slug
  7380. return render_to_response('material/critere3F.html',
  7381. {'unefamille': lafamille},
  7382. context_instance=RequestContext(request))
  7383.  
  7384.  
  7385. # ***************** filtrage sur quatre proprietes
  7386.  
  7387.  
  7388. def get_materials_four(request, category_slug=None):
  7389. if category_slug is None:
  7390. lafamille= 'general'
  7391. return render_to_response('material/critere4.html',
  7392. {'unefamille': lafamille},
  7393. context_instance=RequestContext(request))
  7394. else:
  7395. lafamille= category_slug
  7396. return render_to_response('material/critere4F.html',
  7397. {'unefamille': lafamille},
  7398. context_instance=RequestContext(request))
  7399.  
  7400.  
  7401. def resout1(request):
  7402. try:
  7403. valoption = request.GET['boite10']
  7404. if (valoption== '1'):
  7405. return render_to_response('material/critere1.html',
  7406. context_instance=RequestContext(request))
  7407. if (valoption== '2'):
  7408. return render_to_response('material/critere2.html',
  7409. context_instance=RequestContext(request))
  7410. if (valoption== '3'):
  7411. return render_to_response('material/critere3.html',
  7412. context_instance=RequestContext(request))
  7413. if (valoption== '4'):
  7414. return render_to_response('material/critere4.html',
  7415. context_instance=RequestContext(request))
  7416. if (valoption== '5'):
  7417. return render_to_response('material/critere5.html',
  7418. context_instance=RequestContext(request))
  7419.  
  7420. except:
  7421. return HttpResponse("OK")
  7422.  
  7423.  
  7424.  
  7425. def graphe(request):
  7426. tab = []
  7427. fichier = []
  7428. tab = [1, 2, 3, 4, 5]
  7429. fichier = ['critere100.html', 'critere200.html', 'critere300.html', 'critere400.html', 'critere500.html']
  7430. try:
  7431. valoption = request.GET['boite']
  7432. for i in range(len(tab)):
  7433. if valoption == str(tab[i]):
  7434. return render_to_response('material/' + fichier[i],
  7435. context_instance=RequestContext(request))
  7436. except:
  7437. return HttpResponse("OK")
  7438.  
  7439.  
  7440.  
  7441.  
  7442.  
  7443. def match100(request):
  7444. ref = str(request.GET['ref1'])
  7445. laref2= str(request.GET['ref2'])
  7446. laref3= str(request.GET['ref3'])
  7447. laref4= str(request.GET['ref4'])
  7448. Tmin1 = request.GET['Tmin']
  7449. Tmax1 = request.GET['Tmax']
  7450. valmin1 = request.GET['valmin']
  7451. valmax1 = request.GET['valmax']
  7452. points1 = request.GET['propriete']
  7453. return render_to_response('material/adeq5.html',
  7454. {
  7455. 'ref':ref,
  7456. 'ref2':laref2,
  7457. 'ref3':laref3,
  7458. 'ref4':laref4,
  7459. 'Tmin1': Tmin1,
  7460. 'Tmax1': Tmax1,
  7461. 'valmin1': valmin1,
  7462. 'valmax1': valmax1,
  7463. 'propriete1': points1},
  7464.  
  7465. context_instance=RequestContext(request))
  7466.  
  7467.  
  7468.  
  7469. def match00(request):
  7470.  
  7471. ref = str(request.GET['ref1'])
  7472. laref2= str(request.GET['ref2'])
  7473. laref3= str(request.GET['ref3'])
  7474. laref4= str(request.GET['ref4'])
  7475.  
  7476. maref = request.GET['uneref']
  7477.  
  7478. mat1max1 = request.GET['mat1max1']
  7479. mat1min1 = request.GET['mat1min1']
  7480. mat1temp1 = request.GET['mat1temp1']
  7481. mat2max2 = request.GET['mat2max2']
  7482. mat2min2 = request.GET['mat2min2']
  7483. mat2temp2 = request.GET['mat2temp2']
  7484. mat3max3 = request.GET['mat3max3']
  7485. mat3min3 = request.GET['mat3min3']
  7486. mat3temp3 = request.GET['mat3temp3']
  7487. mat4max4 = request.GET['mat4max4']
  7488. mat4min4 = request.GET['mat4min4']
  7489. mat4temp4 = request.GET['mat4temp4']
  7490. mat10max10 = request.GET['mat10max10']
  7491. mat10min10 = request.GET['mat10min10']
  7492. mat10temp10 = request.GET['mat10temp10']
  7493. prop = request.GET['propriete1']
  7494. unit1 = request.GET['unit']
  7495.  
  7496. Tmin1 = request.GET['Tmin']
  7497. Tmax1 = request.GET['Tmax']
  7498. valmin1 = request.GET['valmin']
  7499. valmax1 = request.GET['valmax']
  7500.  
  7501. pt1 = request.GET['pt1']
  7502.  
  7503.  
  7504. lt10=[]
  7505. lt12=[]
  7506. lt13=[]
  7507. lt11=[]
  7508.  
  7509. lt10 = [s.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in pt1.split(',')]
  7510.  
  7511. b=1
  7512. for j in range(len(lt10)-len(lt10)/2):
  7513.  
  7514. lt11.append(float(lt10[b]))
  7515. b+=2
  7516.  
  7517.  
  7518.  
  7519. c=0
  7520. for j in range(len(lt10)-len(lt10)/2):
  7521. lt12.append(str(lt10[c]))
  7522. c+=2
  7523.  
  7524. s=0
  7525. for j in range(len(lt10)-len(lt10)/2):
  7526. lt13.append((lt12[s],lt11[s]))
  7527. s+=1
  7528.  
  7529.  
  7530. print 'passage'
  7531. print 'propriete', prop
  7532. print 'lt13', lt13
  7533. print 'maref', maref # [<Material: CV66>, <Material: Al2O3>, <Material: CN56>]
  7534.  
  7535. lt14= sorted(lt13, key=lambda x: x[1], reverse=True)
  7536.  
  7537. return render_to_response('material/adeq5.html',
  7538. {
  7539. 'ref':ref,
  7540. 'ref2':laref2,
  7541. 'ref3':laref3,
  7542. 'ref4':laref4,
  7543. 'Tmin1': Tmin1,
  7544. 'Tmax1': Tmax1,
  7545. 'valmin1': valmin1,
  7546. 'valmax1': valmax1,
  7547. 'mat1max1': mat1max1,
  7548. 'mat1min1': mat1min1,
  7549. 'mat1temp1': mat1temp1,
  7550. 'mat2max2': mat2max2,
  7551. 'mat2min2': mat2min2,
  7552. 'mat2temp2': mat2temp2,
  7553. 'mat3max3': mat3max3,
  7554. 'mat3min3': mat3min3,
  7555. 'mat3temp3': mat3temp3,
  7556. 'mat4max4': mat4max4,
  7557. 'mat4min4': mat4min4,
  7558. 'mat4temp4': mat4temp4,
  7559. 'pt1': lt14,
  7560. 'dref': maref,
  7561. 'propriete': prop,
  7562. 'mat10max10': mat10max10,
  7563. 'mat10min10': mat10min10,
  7564. 'mat10temp10': mat10temp10,
  7565. 'unit1': unit1},
  7566. context_instance=RequestContext(request))
  7567.  
  7568.  
  7569.  
  7570. def match0(request):
  7571.  
  7572. ref = str(request.GET['ref1'])
  7573. laref2= str(request.GET['ref2'])
  7574. laref3= str(request.GET['ref3'])
  7575. laref4= str(request.GET['ref4'])
  7576. val_mat1max1 = request.GET['mat1max1']
  7577. val_mat1min1 = request.GET['mat1min1']
  7578. val_mat1temp1 = request.GET['mat1temp1']
  7579. Tmin1 = request.GET['Tmin']
  7580. Tmax1 = request.GET['Tmax']
  7581.  
  7582. valmin1 = request.GET['valmin']
  7583. valmax1 = request.GET['valmax']
  7584.  
  7585. points1 = request.GET['propriete']
  7586.  
  7587. maref = request.GET['uneref']
  7588.  
  7589. unit1 = request.GET['unit1']
  7590.  
  7591. pt1 = request.GET['pt1']
  7592.  
  7593. print 'propriete', points1 # valT1 durete Vickers___
  7594.  
  7595. print 'pt1', pt1 # pt1 [(<Material: CV66>, 7.949825327404338), (<Material: TS63>, 3.1259140306477655), (<Material: Al2O3>, 5.3037079262845355), (<Material: CN56>, 6.18034999828359]
  7596.  
  7597. print 'maref', maref # maref [<Material: CV66>, <Material: Al2O3>, <Material: TS63>, <Material: CN56>]
  7598.  
  7599. return render_to_response('material/adeq3.html',
  7600. {
  7601. 'ref':ref,
  7602. 'ref2':laref2,
  7603. 'ref3':laref3,
  7604. 'ref4':laref4,
  7605. 'Tmin1': Tmin1,
  7606. 'Tmax1': Tmax1,
  7607. 'valmin1': valmin1,
  7608. 'valmax1': valmax1,
  7609. 'dref': maref,
  7610. 'unit1': unit1,
  7611. 'pt1': pt1,
  7612. 'propriete1': points1},
  7613. context_instance=RequestContext(request))
  7614.  
  7615.  
  7616.  
  7617.  
  7618.  
  7619. def match(request):
  7620. ref = str(request.GET['ref1'])
  7621. laref2= str(request.GET['ref2'])
  7622. laref3= str(request.GET['ref3'])
  7623. laref4= str(request.GET['ref4'])
  7624. laref10 = str(request.GET['ref10'])
  7625. laref20= str(request.GET['ref20'])
  7626. laref30= str(request.GET['ref30'])
  7627. laref40= str(request.GET['ref40'])
  7628. val_mat1max1 = request.GET['mat1max1']
  7629. val_mat1min1 = request.GET['mat1min1']
  7630. val_mat1temp1 = request.GET['mat1temp1']
  7631. Tmin1 = request.GET['Tmin1']
  7632. Tmax1 = request.GET['Tmax1']
  7633. Tmin2 = request.GET['Tmin2']
  7634. Tmax2 = request.GET['Tmax2']
  7635. valmin1 = request.GET['valmin1']
  7636. valmax1 = request.GET['valmax1']
  7637. valmin2 = request.GET['valmin2']
  7638. valmax2 = request.GET['valmax2']
  7639. points1 = request.GET['propriete1']
  7640. points2 = request.GET['propriete2']
  7641. maref = request.GET['uneref']
  7642. maref2 = request.GET['uneref2']
  7643. unit1 = request.GET['unit1']
  7644. unit2 = request.GET['unit2']
  7645. pt1 = request.GET['pt1']
  7646. pt2 = request.GET['pt2']
  7647.  
  7648. lt0= []
  7649. lt0 = [s.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in pt1.split(',')]
  7650. print 'lt0' , lt0
  7651. print 'dref2' , maref2
  7652. print 'ref', ref
  7653. return render_to_response('material/adeq.html',
  7654. {
  7655. 'ref':ref,
  7656. 'laref2': laref2,
  7657. 'laref3': laref3,
  7658. 'laref4': laref4,
  7659. 'laref10':laref10,
  7660. 'laref20': laref20,
  7661. 'laref30': laref30,
  7662. 'laref40': laref40,
  7663. 'dref': maref,
  7664. 'dref2':maref2,
  7665. 'mat1max1': val_mat1max1,
  7666. 'mat1min1': val_mat1min1,
  7667. 'mat1temp1': val_mat1temp1,
  7668. 'Tmin1': Tmin1,
  7669. 'Tmax1': Tmax1,
  7670. 'Tmin2': Tmin2,
  7671. 'Tmax2': Tmax2,
  7672. 'unit1': unit1,
  7673. 'unit2': unit2,
  7674. 'pt1': lt0,
  7675. 'pt2': pt2,
  7676. 'valmin1': valmin1,
  7677. 'valmax1': valmax1,
  7678. 'valmin2': valmin2,
  7679. 'valmax2': valmax2,
  7680. 'propriete1': points1,
  7681. 'propriete2': points2},
  7682. context_instance=RequestContext(request))
  7683.  
  7684.  
  7685.  
  7686. #@login_required
  7687. def match2(request):
  7688. ref = str(request.GET['ref1'])
  7689. laref2= str(request.GET['ref2'])
  7690. laref3= str(request.GET['ref3'])
  7691. laref4= str(request.GET['ref4'])
  7692. laref10 = str(request.GET['ref10'])
  7693. laref20= str(request.GET['ref20'])
  7694. laref30= str(request.GET['ref30'])
  7695. laref40= str(request.GET['ref40'])
  7696. mat1max1 = request.GET['mat1max1']
  7697. mat1min1 = request.GET['mat1min1']
  7698. mat1temp1 = request.GET['mat1temp1']
  7699. mat2max2 = request.GET['mat2max2']
  7700. mat2min2 = request.GET['mat2min2']
  7701. mat2temp2 = request.GET['mat2temp2']
  7702. mat3max3 = request.GET['mat3max3']
  7703. mat3min3 = request.GET['mat3min3']
  7704. mat3temp3 = request.GET['mat3temp3']
  7705. mat4max4 = request.GET['mat4max4']
  7706. mat4min4 = request.GET['mat4min4']
  7707. mat4temp4 = request.GET['mat4temp4']
  7708. mat10max10 = request.GET['mat10max10']
  7709. mat10min10 = request.GET['mat10min10']
  7710. mat10temp10 = request.GET['mat10temp10']
  7711. mat20max20 = request.GET['mat20max20']
  7712. mat20min20 = request.GET['mat20min20']
  7713. mat20temp20 = request.GET['mat20temp20']
  7714. mat30max30 = request.GET['mat30max30']
  7715. mat30min30 = request.GET['mat30min30']
  7716. mat30temp30 = request.GET['mat30temp30']
  7717. mat40max40 = request.GET['mat40max40']
  7718. mat40min40 = request.GET['mat40min40']
  7719. mat40temp40 = request.GET['mat40temp40']
  7720. Tmin1 = request.GET['Tmin1']
  7721. Tmax1 = request.GET['Tmax1']
  7722. Tmin2 = request.GET['Tmin2']
  7723. Tmax2 = request.GET['Tmax2']
  7724. valmin1 = request.GET['valmin1']
  7725. valmax1 = request.GET['valmax1']
  7726. valmin2 = request.GET['valmin2']
  7727. valmax2 = request.GET['valmax2']
  7728. points1 = request.GET['propriete1']
  7729. points2 = request.GET['propriete2']
  7730. maref = request.GET['uneref']
  7731. maref2 = request.GET['uneref2']
  7732. unit1 = request.GET['unit1']
  7733. unit2 = request.GET['unit2']
  7734. pt1 = request.GET['pt1']
  7735. pt2 = request.GET['pt2']
  7736. ponderation = request.GET['points3']
  7737. MOAP = request.GET['MAP']
  7738. famille = request.GET['famille']
  7739. taille1=request.GET['size1']
  7740. taille2=request.GET['size2']
  7741. print 'moyenne arithmetique ponderee', MOAP
  7742.  
  7743. lt10=[]
  7744. lt12=[]
  7745. lt13=[]
  7746. lt11=[]
  7747. lt20=[]
  7748. lt21=[]
  7749. lt22=[]
  7750. lt14=[]
  7751. lt15=[]
  7752. lt16=[]
  7753. lt17=[]
  7754.  
  7755. lt10 = [s.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in pt1.split(',')]
  7756. lt20 = [p.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for p in pt2.split(',')]
  7757.  
  7758. lt30 = [t.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for t in ponderation.split(',')]
  7759.  
  7760. print 'lt10', lt10
  7761. print 'lt20', lt20
  7762. print 'lt30', lt30
  7763.  
  7764. b=1
  7765. for j in range(len(lt30)-len(lt30)/2):
  7766.  
  7767. lt15.append(float(lt30[b]))
  7768. b+=2
  7769.  
  7770.  
  7771. c=0
  7772. for j in range(len(lt30)-len(lt30)/2):
  7773. lt16.append(str(lt30[c]))
  7774. c+=2
  7775.  
  7776.  
  7777. s=0
  7778. for j in range(len(lt30)-len(lt30)/2):
  7779. lt17.append((lt15[s],lt16[s]))
  7780. s+=1
  7781.  
  7782.  
  7783.  
  7784.  
  7785. b=1
  7786. for j in range(len(lt10)-len(lt10)/2):
  7787.  
  7788. lt11.append(float(lt10[b]))
  7789. b+=2
  7790.  
  7791.  
  7792.  
  7793. c=0
  7794. for j in range(len(lt10)-len(lt10)/2):
  7795. lt12.append(str(lt10[c]))
  7796. c+=2
  7797.  
  7798. s=0
  7799. for j in range(len(lt10)-len(lt10)/2):
  7800. lt13.append((lt12[s],lt11[s]))
  7801. s+=1
  7802.  
  7803.  
  7804. lt130= sorted(lt13, key=lambda x: x[1], reverse=True)
  7805.  
  7806. b=1
  7807. for j in range(len(lt20)-len(lt20)/2):
  7808.  
  7809. lt21.append(float(lt20[b]))
  7810. b+=2
  7811.  
  7812.  
  7813.  
  7814. c=0
  7815. for j in range(len(lt20)-len(lt20)/2):
  7816. lt22.append(str(lt20[c]))
  7817. c+=2
  7818.  
  7819. s=0
  7820. for j in range(len(lt20)-len(lt20)/2):
  7821. lt14.append((lt22[s],lt21[s]))
  7822. s+=1
  7823.  
  7824. lt140= sorted(lt14, key=lambda x: x[1], reverse=True)
  7825.  
  7826. print 'lt13', lt13
  7827. print 'lt30', lt30
  7828. print 'lt17', lt17
  7829.  
  7830. return render_to_response('material/adeq2.html',
  7831. {
  7832. 'ref':ref,
  7833. 'laref2': laref2,
  7834. 'laref3': laref3,
  7835. 'laref4': laref4,
  7836. 'laref10':laref10,
  7837. 'laref20': laref20,
  7838. 'laref30': laref30,
  7839. 'laref40': laref40,
  7840. 'dref': maref,
  7841. 'dref2':maref2,
  7842. 'mat1max1': mat1max1,
  7843. 'mat1min1': mat1min1,
  7844. 'mat1temp1': mat1temp1,
  7845. 'mat2max2': mat2max2,
  7846. 'mat2min2': mat2min2,
  7847. 'mat2temp2': mat2temp2,
  7848. 'mat3max3': mat3max3,
  7849. 'mat3min3': mat3min3,
  7850. 'mat3temp3': mat3temp3,
  7851. 'mat4max4': mat4max4,
  7852. 'mat4min4': mat4min4,
  7853. 'mat4temp4': mat4temp4,
  7854. 'MAP': lt30,
  7855. 'mat10max10': mat10max10,
  7856. 'mat10min10': mat10min10,
  7857. 'mat10temp10': mat10temp10,
  7858. 'mat20max20': mat20max20,
  7859. 'mat20min20': mat20min20,
  7860. 'mat20temp20': mat20temp20,
  7861. 'mat30max30': mat30max30,
  7862. 'mat30min30': mat30min30,
  7863. 'mat30temp30': mat30temp30,
  7864. 'mat40max40': mat40max40,
  7865. 'mat40min40': mat40min40,
  7866. 'mat40temp40': mat40temp40,
  7867. 'Tmin1': Tmin1,
  7868. 'Tmax1': Tmax1,
  7869. 'Tmin2': Tmin2,
  7870. 'Tmax2': Tmax2,
  7871. 'unit1': unit1,
  7872. 'unit2': unit2,
  7873. 'pt1': lt130,
  7874. 'pt2': lt140,
  7875. 'pt3': lt17,
  7876. 'MAP': MOAP,
  7877. 'famille': famille,
  7878. 'valmin1': valmin1,
  7879. 'valmax1': valmax1,
  7880. 'valmin2': valmin2,
  7881. 'valmax2': valmax2,
  7882. 'taille1': taille1,
  7883. 'taille2': taille2,
  7884. 'propriete1': points1,
  7885. 'propriete2': points2},
  7886. context_instance=RequestContext(request))
  7887.  
  7888. def match2F(request):
  7889. ref = str(request.GET['ref1'])
  7890. laref2= str(request.GET['ref2'])
  7891. laref3= str(request.GET['ref3'])
  7892. laref4= str(request.GET['ref4'])
  7893. laref10 = str(request.GET['ref10'])
  7894. laref20= str(request.GET['ref20'])
  7895. laref30= str(request.GET['ref30'])
  7896. laref40= str(request.GET['ref40'])
  7897. mat1max1 = request.GET['mat1max1']
  7898. mat1min1 = request.GET['mat1min1']
  7899. mat1temp1 = request.GET['mat1temp1']
  7900. mat2max2 = request.GET['mat2max2']
  7901. mat2min2 = request.GET['mat2min2']
  7902. mat2temp2 = request.GET['mat2temp2']
  7903. mat3max3 = request.GET['mat3max3']
  7904. mat3min3 = request.GET['mat3min3']
  7905. mat3temp3 = request.GET['mat3temp3']
  7906. mat4max4 = request.GET['mat4max4']
  7907. mat4min4 = request.GET['mat4min4']
  7908. mat4temp4 = request.GET['mat4temp4']
  7909. mat10max10 = request.GET['mat10max10']
  7910. mat10min10 = request.GET['mat10min10']
  7911. mat10temp10 = request.GET['mat10temp10']
  7912. mat20max20 = request.GET['mat20max20']
  7913. mat20min20 = request.GET['mat20min20']
  7914. mat20temp20 = request.GET['mat20temp20']
  7915. mat30max30 = request.GET['mat30max30']
  7916. mat30min30 = request.GET['mat30min30']
  7917. mat30temp30 = request.GET['mat30temp30']
  7918. mat40max40 = request.GET['mat40max40']
  7919. mat40min40 = request.GET['mat40min40']
  7920. mat40temp40 = request.GET['mat40temp40']
  7921. Tmin1 = request.GET['Tmin1']
  7922. Tmax1 = request.GET['Tmax1']
  7923. Tmin2 = request.GET['Tmin2']
  7924. Tmax2 = request.GET['Tmax2']
  7925. valmin1 = request.GET['valmin1']
  7926. valmax1 = request.GET['valmax1']
  7927. valmin2 = request.GET['valmin2']
  7928. valmax2 = request.GET['valmax2']
  7929. points1 = request.GET['propriete1']
  7930. points2 = request.GET['propriete2']
  7931. maref = request.GET['uneref']
  7932. maref2 = request.GET['uneref2']
  7933. unit1 = request.GET['unit1']
  7934. unit2 = request.GET['unit2']
  7935. taille1=request.GET['size1']
  7936. taille2=request.GET['size2']
  7937. pt1 = request.GET['pt1']
  7938. pt2 = request.GET['pt2']
  7939. ponderation = request.GET['points3']
  7940. MOAP = request.GET['MAP']
  7941. famille = request.GET['famille']
  7942. print 'moyenne arithmetique ponderee', MOAP
  7943.  
  7944. lt10=[]
  7945. lt12=[]
  7946. lt13=[]
  7947. lt11=[]
  7948. lt20=[]
  7949. lt21=[]
  7950. lt22=[]
  7951. lt14=[]
  7952. lt15=[]
  7953. lt16=[]
  7954. lt17=[]
  7955.  
  7956. lt10 = [s.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in pt1.split(',')]
  7957. lt20 = [p.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for p in pt2.split(',')]
  7958.  
  7959. lt30 = [t.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for t in ponderation.split(',')]
  7960.  
  7961. print 'lt10', lt10
  7962. print 'lt20', lt20
  7963. print 'lt30', lt30
  7964.  
  7965. b=1
  7966. for j in range(len(lt30)-len(lt30)/2):
  7967.  
  7968. lt15.append(float(lt30[b]))
  7969. b+=2
  7970.  
  7971.  
  7972. c=0
  7973. for j in range(len(lt30)-len(lt30)/2):
  7974. lt16.append(str(lt30[c]))
  7975. c+=2
  7976.  
  7977.  
  7978. s=0
  7979. for j in range(len(lt30)-len(lt30)/2):
  7980. lt17.append((lt15[s],lt16[s]))
  7981. s+=1
  7982.  
  7983.  
  7984.  
  7985.  
  7986. b=1
  7987. for j in range(len(lt10)-len(lt10)/2):
  7988.  
  7989. lt11.append(float(lt10[b]))
  7990. b+=2
  7991.  
  7992.  
  7993.  
  7994. c=0
  7995. for j in range(len(lt10)-len(lt10)/2):
  7996. lt12.append(str(lt10[c]))
  7997. c+=2
  7998.  
  7999. s=0
  8000. for j in range(len(lt10)-len(lt10)/2):
  8001. lt13.append((lt12[s],lt11[s]))
  8002. s+=1
  8003.  
  8004.  
  8005. lt130= sorted(lt13, key=lambda x: x[1], reverse=True)
  8006.  
  8007. b=1
  8008. for j in range(len(lt20)-len(lt20)/2):
  8009.  
  8010. lt21.append(float(lt20[b]))
  8011. b+=2
  8012.  
  8013.  
  8014.  
  8015. c=0
  8016. for j in range(len(lt20)-len(lt20)/2):
  8017. lt22.append(str(lt20[c]))
  8018. c+=2
  8019.  
  8020. s=0
  8021. for j in range(len(lt20)-len(lt20)/2):
  8022. lt14.append((lt22[s],lt21[s]))
  8023. s+=1
  8024.  
  8025. lt140= sorted(lt14, key=lambda x: x[1], reverse=True)
  8026.  
  8027. print 'lt13', lt13
  8028. print 'lt30', lt30
  8029. print 'lt17', lt17
  8030.  
  8031. return render_to_response('material/adeq2F.html',
  8032. {
  8033. 'ref':ref,
  8034. 'laref2': laref2,
  8035. 'laref3': laref3,
  8036. 'laref4': laref4,
  8037. 'laref10':laref10,
  8038. 'laref20': laref20,
  8039. 'laref30': laref30,
  8040. 'laref40': laref40,
  8041. 'dref': maref,
  8042. 'dref2':maref2,
  8043. 'mat1max1': mat1max1,
  8044. 'mat1min1': mat1min1,
  8045. 'mat1temp1': mat1temp1,
  8046. 'mat2max2': mat2max2,
  8047. 'mat2min2': mat2min2,
  8048. 'mat2temp2': mat2temp2,
  8049. 'mat3max3': mat3max3,
  8050. 'mat3min3': mat3min3,
  8051. 'mat3temp3': mat3temp3,
  8052. 'mat4max4': mat4max4,
  8053. 'mat4min4': mat4min4,
  8054. 'mat4temp4': mat4temp4,
  8055. 'MAP': lt30,
  8056. 'mat10max10': mat10max10,
  8057. 'mat10min10': mat10min10,
  8058. 'mat10temp10': mat10temp10,
  8059. 'mat20max20': mat20max20,
  8060. 'mat20min20': mat20min20,
  8061. 'mat20temp20': mat20temp20,
  8062. 'mat30max30': mat30max30,
  8063. 'mat30min30': mat30min30,
  8064. 'mat30temp30': mat30temp30,
  8065. 'mat40max40': mat40max40,
  8066. 'mat40min40': mat40min40,
  8067. 'mat40temp40': mat40temp40,
  8068. 'Tmin1': Tmin1,
  8069. 'Tmax1': Tmax1,
  8070. 'Tmin2': Tmin2,
  8071. 'Tmax2': Tmax2,
  8072. 'unit1': unit1,
  8073. 'unit2': unit2,
  8074. 'pt1': lt130,
  8075. 'pt2': lt140,
  8076. 'pt3': lt17,
  8077. 'MAP': MOAP,
  8078. 'famille': famille,
  8079. 'valmin1': valmin1,
  8080. 'valmax1': valmax1,
  8081. 'valmin2': valmin2,
  8082. 'valmax2': valmax2,
  8083. 'taille1': taille1,
  8084. 'taille2': taille2,
  8085. 'propriete1': points1,
  8086. 'propriete2': points2},
  8087. context_instance=RequestContext(request))
  8088.  
  8089.  
  8090. def match2FF(request):
  8091. ref = str(request.GET['ref1'])
  8092. laref2= str(request.GET['ref2'])
  8093. laref3= str(request.GET['ref3'])
  8094. laref4= str(request.GET['ref4'])
  8095. laref10 = str(request.GET['ref10'])
  8096. laref20= str(request.GET['ref20'])
  8097. laref30= str(request.GET['ref30'])
  8098. laref40= str(request.GET['ref40'])
  8099. mat1max1 = request.GET['mat1max1']
  8100. mat1min1 = request.GET['mat1min1']
  8101. mat1temp1 = request.GET['mat1temp1']
  8102. mat2max2 = request.GET['mat2max2']
  8103. mat2min2 = request.GET['mat2min2']
  8104. mat2temp2 = request.GET['mat2temp2']
  8105. mat3max3 = request.GET['mat3max3']
  8106. mat3min3 = request.GET['mat3min3']
  8107. mat3temp3 = request.GET['mat3temp3']
  8108. mat4max4 = request.GET['mat4max4']
  8109. mat4min4 = request.GET['mat4min4']
  8110. mat4temp4 = request.GET['mat4temp4']
  8111. mat10max10 = request.GET['mat10max10']
  8112. mat10min10 = request.GET['mat10min10']
  8113. mat10temp10 = request.GET['mat10temp10']
  8114. mat20max20 = request.GET['mat20max20']
  8115. mat20min20 = request.GET['mat20min20']
  8116. mat20temp20 = request.GET['mat20temp20']
  8117. mat30max30 = request.GET['mat30max30']
  8118. mat30min30 = request.GET['mat30min30']
  8119. mat30temp30 = request.GET['mat30temp30']
  8120. mat40max40 = request.GET['mat40max40']
  8121. mat40min40 = request.GET['mat40min40']
  8122. mat40temp40 = request.GET['mat40temp40']
  8123. Tmin1 = request.GET['Tmin1']
  8124. Tmax1 = request.GET['Tmax1']
  8125. Tmin2 = request.GET['Tmin2']
  8126. Tmax2 = request.GET['Tmax2']
  8127. valmin1 = request.GET['valmin1']
  8128. valmax1 = request.GET['valmax1']
  8129. valmin2 = request.GET['valmin2']
  8130. valmax2 = request.GET['valmax2']
  8131. points1 = request.GET['propriete1']
  8132. points2 = request.GET['propriete2']
  8133. maref = request.GET['uneref']
  8134. maref2 = request.GET['uneref2']
  8135. unit1 = request.GET['unit1']
  8136. unit2 = request.GET['unit2']
  8137. taille1=request.GET['size1']
  8138. taille2=request.GET['size2']
  8139. pt1 = request.GET['pt1']
  8140. pt2 = request.GET['pt2']
  8141. ponderation = request.GET['points3']
  8142. MOAP = request.GET['MAP']
  8143. famille = request.GET['famille']
  8144. print 'moyenne arithmetique ponderee', MOAP
  8145.  
  8146. lt10=[]
  8147. lt12=[]
  8148. lt13=[]
  8149. lt11=[]
  8150. lt20=[]
  8151. lt21=[]
  8152. lt22=[]
  8153. lt14=[]
  8154. lt15=[]
  8155. lt16=[]
  8156. lt17=[]
  8157.  
  8158. lt10 = [s.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in pt1.split(',')]
  8159. lt20 = [p.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for p in pt2.split(',')]
  8160.  
  8161. lt30 = [t.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for t in ponderation.split(',')]
  8162.  
  8163. print 'lt10', lt10
  8164. print 'lt20', lt20
  8165. print 'lt30', lt30
  8166.  
  8167. b=1
  8168. for j in range(len(lt30)-len(lt30)/2):
  8169.  
  8170. lt15.append(float(lt30[b]))
  8171. b+=2
  8172.  
  8173.  
  8174. c=0
  8175. for j in range(len(lt30)-len(lt30)/2):
  8176. lt16.append(str(lt30[c]))
  8177. c+=2
  8178.  
  8179.  
  8180. s=0
  8181. for j in range(len(lt30)-len(lt30)/2):
  8182. lt17.append((lt15[s],lt16[s]))
  8183. s+=1
  8184.  
  8185.  
  8186.  
  8187.  
  8188. b=1
  8189. for j in range(len(lt10)-len(lt10)/2):
  8190.  
  8191. lt11.append(float(lt10[b]))
  8192. b+=2
  8193.  
  8194.  
  8195.  
  8196. c=0
  8197. for j in range(len(lt10)-len(lt10)/2):
  8198. lt12.append(str(lt10[c]))
  8199. c+=2
  8200.  
  8201. s=0
  8202. for j in range(len(lt10)-len(lt10)/2):
  8203. lt13.append((lt12[s],lt11[s]))
  8204. s+=1
  8205.  
  8206.  
  8207. lt130= sorted(lt13, key=lambda x: x[1], reverse=True)
  8208.  
  8209. b=1
  8210. for j in range(len(lt20)-len(lt20)/2):
  8211.  
  8212. lt21.append(float(lt20[b]))
  8213. b+=2
  8214.  
  8215.  
  8216.  
  8217. c=0
  8218. for j in range(len(lt20)-len(lt20)/2):
  8219. lt22.append(str(lt20[c]))
  8220. c+=2
  8221.  
  8222. s=0
  8223. for j in range(len(lt20)-len(lt20)/2):
  8224. lt14.append((lt22[s],lt21[s]))
  8225. s+=1
  8226.  
  8227. lt140= sorted(lt14, key=lambda x: x[1], reverse=True)
  8228.  
  8229. print 'lt13', lt13
  8230. print 'lt30', lt30
  8231. print 'lt17', lt17
  8232.  
  8233. return render_to_response('material/adeq2FF.html',
  8234. {
  8235. 'ref':ref,
  8236. 'laref2': laref2,
  8237. 'laref3': laref3,
  8238. 'laref4': laref4,
  8239. 'laref10':laref10,
  8240. 'laref20': laref20,
  8241. 'laref30': laref30,
  8242. 'laref40': laref40,
  8243. 'dref': maref,
  8244. 'dref2':maref2,
  8245. 'mat1max1': mat1max1,
  8246. 'mat1min1': mat1min1,
  8247. 'mat1temp1': mat1temp1,
  8248. 'mat2max2': mat2max2,
  8249. 'mat2min2': mat2min2,
  8250. 'mat2temp2': mat2temp2,
  8251. 'mat3max3': mat3max3,
  8252. 'mat3min3': mat3min3,
  8253. 'mat3temp3': mat3temp3,
  8254. 'mat4max4': mat4max4,
  8255. 'mat4min4': mat4min4,
  8256. 'mat4temp4': mat4temp4,
  8257. 'MAP': lt30,
  8258. 'mat10max10': mat10max10,
  8259. 'mat10min10': mat10min10,
  8260. 'mat10temp10': mat10temp10,
  8261. 'mat20max20': mat20max20,
  8262. 'mat20min20': mat20min20,
  8263. 'mat20temp20': mat20temp20,
  8264. 'mat30max30': mat30max30,
  8265. 'mat30min30': mat30min30,
  8266. 'mat30temp30': mat30temp30,
  8267. 'mat40max40': mat40max40,
  8268. 'mat40min40': mat40min40,
  8269. 'mat40temp40': mat40temp40,
  8270. 'Tmin1': Tmin1,
  8271. 'Tmax1': Tmax1,
  8272. 'Tmin2': Tmin2,
  8273. 'Tmax2': Tmax2,
  8274. 'unit1': unit1,
  8275. 'unit2': unit2,
  8276. 'pt1': lt130,
  8277. 'pt2': lt140,
  8278. 'pt3': lt17,
  8279. 'MAP': MOAP,
  8280. 'famille': famille,
  8281. 'valmin1': valmin1,
  8282. 'valmax1': valmax1,
  8283. 'valmin2': valmin2,
  8284. 'valmax2': valmax2,
  8285. 'taille1': taille1,
  8286. 'taille2': taille2,
  8287. 'propriete1': points1,
  8288. 'propriete2': points2},
  8289. context_instance=RequestContext(request))
  8290.  
  8291. # visu graphique trois proprietes
  8292.  
  8293. def match3(request):
  8294.  
  8295. laref1= str(request.GET['ref1'])
  8296. laref2= str(request.GET['ref2'])
  8297. laref3= str(request.GET['ref3'])
  8298. laref4= str(request.GET['ref4'])
  8299.  
  8300. laref10 = str(request.GET['ref10'])
  8301. laref20= str(request.GET['ref20'])
  8302. laref30= str(request.GET['ref30'])
  8303. laref40= str(request.GET['ref40'])
  8304.  
  8305. laref100 = str(request.GET['ref100'])
  8306. laref200= str(request.GET['ref200'])
  8307. laref300= str(request.GET['ref300'])
  8308. laref400= str(request.GET['ref400'])
  8309. #val_mat1max1 = request.GET['mat1max1']
  8310. #val_mat1min1 = request.GET['mat1min1']
  8311. #val_mat1temp1 = request.GET['mat1temp1']
  8312. Tmin1 = request.GET['Tmin1']
  8313. Tmax1 = request.GET['Tmax1']
  8314. Tmin2 = request.GET['Tmin2']
  8315. Tmax2 = request.GET['Tmax2']
  8316. Tmin3 = request.GET['Tmin3']
  8317. Tmax3 = request.GET['Tmax3']
  8318. valmin1 = request.GET['valmin1']
  8319. valmax1 = request.GET['valmax1']
  8320. valmin2 = request.GET['valmin2']
  8321. valmax2 = request.GET['valmax2']
  8322. valmin3 = request.GET['valmin3']
  8323. valmax3 = request.GET['valmax3']
  8324. points1 = request.GET['propriete1']
  8325. points2 = request.GET['propriete2']
  8326. points3 = request.GET['propriete3']
  8327. maref = request.GET['uneref1']
  8328. maref2 = request.GET['uneref2']
  8329. maref3 = request.GET['uneref3']
  8330. unit1 = request.GET['unit1']
  8331. unit2 = request.GET['unit2']
  8332. unit3 = request.GET['unit3']
  8333. pt1 = request.GET['pt1']
  8334. pt2 = request.GET['pt2']
  8335. pt3 = request.GET['pt3']
  8336.  
  8337. print points1
  8338. print 'uneref1', maref
  8339. print 'uneref2', maref2
  8340. print 'uneref3', maref3
  8341.  
  8342. return render_to_response('material/adeq40.html',
  8343. {
  8344. 'laref1': laref1,
  8345. 'laref2': laref2,
  8346. 'laref3': laref3,
  8347. 'laref4': laref4,
  8348. 'laref10': laref10,
  8349. 'laref20': laref20,
  8350. 'laref30': laref30,
  8351. 'laref40': laref40,
  8352. 'laref100': laref100,
  8353. 'laref200': laref200,
  8354. 'laref300': laref300,
  8355. 'laref400': laref400,
  8356.  
  8357. 'dref': maref,
  8358. 'dref2':maref2,
  8359. 'dref3':maref3,
  8360. #'mat1max1': val_mat1max1,
  8361. #'mat1min1': val_mat1min1,
  8362. #'mat1temp1': val_mat1temp1,
  8363. 'Tmin1': Tmin1,
  8364. 'Tmax1': Tmax1,
  8365. 'Tmin2': Tmin2,
  8366. 'Tmax2': Tmax2,
  8367. 'Tmin3': Tmin3,
  8368. 'Tmax3': Tmax3,
  8369. 'unit1': unit1,
  8370. 'unit2': unit2,
  8371. 'unit3': unit3,
  8372. 'pt1': pt1,
  8373. 'pt2': pt2,
  8374. 'pt3': pt3,
  8375. 'valmin1': valmin1,
  8376. 'valmax1': valmax1,
  8377. 'valmin2': valmin2,
  8378. 'valmax2': valmax2,
  8379. 'valmin3': valmin3,
  8380. 'valmax3': valmax3,
  8381. 'propriete1': points1,
  8382. 'propriete2': points2,
  8383. 'propriete3': points3},
  8384. context_instance=RequestContext(request))
  8385.  
  8386.  
  8387.  
  8388. def match5(request):
  8389.  
  8390. laref1= str(request.GET['ref1'])
  8391. laref2= str(request.GET['ref2'])
  8392. laref3= str(request.GET['ref3'])
  8393. laref4= str(request.GET['ref4'])
  8394.  
  8395. laref10 = str(request.GET['ref10'])
  8396. laref20= str(request.GET['ref20'])
  8397. laref30= str(request.GET['ref30'])
  8398. laref40= str(request.GET['ref40'])
  8399.  
  8400. laref100 = str(request.GET['ref100'])
  8401. laref200= str(request.GET['ref200'])
  8402. laref300= str(request.GET['ref300'])
  8403. laref400= str(request.GET['ref400'])
  8404.  
  8405. laref1000 = str(request.GET['ref1000'])
  8406. laref2000= str(request.GET['ref2000'])
  8407. laref3000= str(request.GET['ref3000'])
  8408. laref4000= str(request.GET['ref4000'])
  8409. #val_mat1max1 = request.GET['mat1max1']
  8410. #val_mat1min1 = request.GET['mat1min1']
  8411. #val_mat1temp1 = request.GET['mat1temp1']
  8412. Tmin1 = request.GET['Tmin1']
  8413. Tmax1 = request.GET['Tmax1']
  8414. Tmin2 = request.GET['Tmin2']
  8415. Tmax2 = request.GET['Tmax2']
  8416. Tmin3 = request.GET['Tmin3']
  8417. Tmax3 = request.GET['Tmax3']
  8418. Tmin4 = request.GET['Tmin4']
  8419. Tmax4 = request.GET['Tmax4']
  8420. valmin1 = request.GET['valmin1']
  8421. valmax1 = request.GET['valmax1']
  8422. valmin2 = request.GET['valmin2']
  8423. valmax2 = request.GET['valmax2']
  8424. valmin3 = request.GET['valmin3']
  8425. valmax3 = request.GET['valmax3']
  8426. valmin4 = request.GET['valmin4']
  8427. valmax4 = request.GET['valmax4']
  8428. points1 = request.GET['propriete1']
  8429. points2 = request.GET['propriete2']
  8430. points3 = request.GET['propriete3']
  8431. points4 = request.GET['propriete4']
  8432. maref = request.GET['uneref1']
  8433. maref2 = request.GET['uneref2']
  8434. maref3 = request.GET['uneref3']
  8435. maref4 = request.GET['uneref4']
  8436.  
  8437. pt1 = request.GET['pt1']
  8438. pt2 = request.GET['pt2']
  8439. pt3 = request.GET['pt3']
  8440. pt4 = request.GET['pt4']
  8441.  
  8442. print points1
  8443. print 'uneref1', maref
  8444. print 'uneref2', maref2
  8445. print 'uneref3', maref3
  8446. print 'Tmin4',Tmin4
  8447. return render_to_response('material/adeq70.html',
  8448. {
  8449. 'laref1': laref1,
  8450. 'laref2': laref2,
  8451. 'laref3': laref3,
  8452. 'laref4': laref4,
  8453. 'laref10': laref10,
  8454. 'laref20': laref20,
  8455. 'laref30': laref30,
  8456. 'laref40': laref40,
  8457. 'laref100': laref100,
  8458. 'laref200': laref200,
  8459. 'laref300': laref300,
  8460. 'laref400': laref400,
  8461. 'laref1000': laref1000,
  8462. 'laref2000': laref2000,
  8463. 'laref3000': laref3000,
  8464. 'laref4000': laref4000,
  8465. 'dref': maref,
  8466. 'dref2':maref2,
  8467. 'dref3':maref3,
  8468. 'dref4':maref4,
  8469. #'mat1max1': val_mat1max1,
  8470. #'mat1min1': val_mat1min1,
  8471. #'mat1temp1': val_mat1temp1,
  8472. 'Tmin1': Tmin1,
  8473. 'Tmax1': Tmax1,
  8474. 'Tmin2': Tmin2,
  8475. 'Tmax2': Tmax2,
  8476. 'Tmin3': Tmin3,
  8477. 'Tmax3': Tmax3,
  8478. 'Tmin4': Tmin4,
  8479. 'Tmax4': Tmax4,
  8480.  
  8481. 'pt1': pt1,
  8482. 'pt2': pt2,
  8483. 'pt3': pt3,
  8484. 'pt4': pt4,
  8485. 'valmin1': valmin1,
  8486. 'valmax1': valmax1,
  8487. 'valmin2': valmin2,
  8488. 'valmax2': valmax2,
  8489. 'valmin3': valmin3,
  8490. 'valmax3': valmax3,
  8491. 'valmin4': valmin4,
  8492. 'valmax4': valmax4,
  8493. 'propriete1': points1,
  8494. 'propriete2': points2,
  8495. 'propriete3': points3,
  8496. 'propriete4': points4},
  8497. context_instance=RequestContext(request))
  8498.  
  8499.  
  8500. def match4(request):
  8501. laref1= str(request.GET['ref1'])
  8502. laref2= str(request.GET['ref2'])
  8503. laref3= str(request.GET['ref3'])
  8504. laref4= str(request.GET['ref4'])
  8505.  
  8506. laref10 = str(request.GET['ref10'])
  8507. laref20= str(request.GET['ref20'])
  8508. laref30= str(request.GET['ref30'])
  8509. laref40= str(request.GET['ref40'])
  8510.  
  8511. laref100 = str(request.GET['ref100'])
  8512. laref200= str(request.GET['ref200'])
  8513. laref300= str(request.GET['ref300'])
  8514. laref400= str(request.GET['ref400'])
  8515. #val_mat1max1 = request.GET['mat1max1']
  8516. #val_mat1min1 = request.GET['mat1min1']
  8517. #val_mat1temp1 = request.GET['mat1temp1']
  8518. Tmin1 = request.GET['Tmin1']
  8519. Tmax1 = request.GET['Tmax1']
  8520. Tmin2 = request.GET['Tmin2']
  8521. Tmax2 = request.GET['Tmax2']
  8522. Tmin3 = request.GET['Tmin3']
  8523. Tmax3 = request.GET['Tmax3']
  8524. valmin1 = request.GET['valmin1']
  8525. valmax1 = request.GET['valmax1']
  8526. valmin2 = request.GET['valmin2']
  8527. valmax2 = request.GET['valmax2']
  8528. valmin3 = request.GET['valmin3']
  8529. valmax3 = request.GET['valmax3']
  8530. points1 = request.GET['propriete1']
  8531. points2 = request.GET['propriete2']
  8532. points3 = request.GET['propriete3']
  8533. maref = request.GET['uneref1']
  8534. maref2 = request.GET['uneref2']
  8535. maref3 = request.GET['uneref3']
  8536. unit1 = request.GET['unit1']
  8537. unit2 = request.GET['unit2']
  8538. unit3 = request.GET['unit3']
  8539. pt1 = request.GET['pt1']
  8540. pt2 = request.GET['pt2']
  8541. pt3 = request.GET['pt3']
  8542.  
  8543. mat1max1 = request.GET['mat1max1']
  8544. mat1min1 = request.GET['mat1min1']
  8545. mat1temp1 = request.GET['mat1temp1']
  8546. mat2max2 = request.GET['mat2max2']
  8547. mat2min2 = request.GET['mat2min2']
  8548. mat2temp2 = request.GET['mat2temp2']
  8549. mat3max3 = request.GET['mat3max3']
  8550. mat3min3 = request.GET['mat3min3']
  8551. mat3temp3 = request.GET['mat3temp3']
  8552. mat4max4 = request.GET['mat4max4']
  8553. mat4min4 = request.GET['mat4min4']
  8554. mat4temp4 = request.GET['mat4temp4']
  8555.  
  8556. mat10max10 = request.GET['mat10max10']
  8557. mat10min10 = request.GET['mat10min10']
  8558. mat10temp10 = request.GET['mat10temp10']
  8559. mat20max20 = request.GET['mat20max20']
  8560. mat20min20 = request.GET['mat20min20']
  8561. mat20temp20 = request.GET['mat20temp20']
  8562. mat30max30 = request.GET['mat30max30']
  8563. mat30min30 = request.GET['mat30min30']
  8564. mat30temp30 = request.GET['mat30temp30']
  8565. mat40max40 = request.GET['mat40max40']
  8566. mat40min40 = request.GET['mat40min40']
  8567. mat40temp40 = request.GET['mat40temp40']
  8568.  
  8569. mat100max100 = request.GET['mat100max100']
  8570. mat100min100 = request.GET['mat100min100']
  8571. mat100temp100 = request.GET['mat100temp100']
  8572. mat200max200 = request.GET['mat200max200']
  8573. mat200min200 = request.GET['mat200min200']
  8574. mat200temp200 = request.GET['mat200temp200']
  8575. mat300max300 = request.GET['mat300max300']
  8576. mat300min300 = request.GET['mat300min300']
  8577. mat300temp300 = request.GET['mat300temp300']
  8578. mat400max400 = request.GET['mat400max400']
  8579. mat400min400 = request.GET['mat400min400']
  8580. mat400temp400 = request.GET['mat400temp400']
  8581. famille = request.GET['famille']
  8582. ponderation = request.GET['MM']
  8583. MAP = request.GET['MAP']
  8584. taille1 = request.GET['size1']
  8585. taille2 = request.GET['size2']
  8586. taille3 = request.GET['size3']
  8587. print points1
  8588. print 'uneref1', maref
  8589. print 'uneref2', maref2
  8590. print 'uneref3', maref3
  8591. print 'ponderation', ponderation
  8592.  
  8593. lt10=[]
  8594. lt12=[]
  8595. lt13=[]
  8596. lt11=[]
  8597. lt20=[]
  8598. lt30=[]
  8599. lt40=[]
  8600. lt21=[]
  8601. lt22=[]
  8602. lt25=[]
  8603. lt26=[]
  8604. lt27=[]
  8605. lt14=[]
  8606. lt15=[]
  8607. lt16=[]
  8608. lt17=[]
  8609. lt51=[]
  8610. lt52=[]
  8611.  
  8612.  
  8613. lt10 = [s.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in pt1.split(',')]
  8614. lt20 = [p.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for p in pt2.split(',')]
  8615. lt40 = [n.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for n in pt3.split(',')]
  8616. lt30 = [t.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for t in ponderation.split(',')]
  8617.  
  8618.  
  8619. print 'lt10',lt10
  8620. print 'lt20', lt20
  8621. print 'lt40', lt40
  8622. print'lt30', lt30
  8623.  
  8624.  
  8625. b=1
  8626. for j in range(len(lt30)-len(lt30)/2):
  8627.  
  8628. lt25.append(float(lt30[b]))
  8629. b+=2
  8630.  
  8631.  
  8632. c=0
  8633. for j in range(len(lt30)-len(lt30)/2):
  8634. lt26.append(str(lt30[c]))
  8635. c+=2
  8636.  
  8637.  
  8638. s=0
  8639. for j in range(len(lt30)-len(lt30)/2):
  8640. lt27.append((lt25[s],lt26[s])) # lt27
  8641. s+=1
  8642.  
  8643.  
  8644. b=1
  8645. for j in range(len(lt10)-len(lt10)/2):
  8646. lt11.append(float(lt10[b]))
  8647. b+=2
  8648.  
  8649. c=0
  8650. for j in range(len(lt10)-len(lt10)/2):
  8651. lt12.append(str(lt10[c]))
  8652. c+=2
  8653.  
  8654. s=0
  8655. for j in range(len(lt10)-len(lt10)/2):
  8656. lt13.append((lt12[s],lt11[s])) # lt13
  8657. s+=1
  8658.  
  8659.  
  8660. lt130= sorted(lt13, key=lambda x: x[1], reverse=True)
  8661.  
  8662. b=1
  8663. for j in range(len(lt20)-len(lt20)/2):
  8664.  
  8665. lt21.append(float(lt20[b]))
  8666. b+=2
  8667.  
  8668.  
  8669. c=0
  8670. for j in range(len(lt20)-len(lt20)/2):
  8671. lt22.append(str(lt20[c]))
  8672. c+=2
  8673.  
  8674. s=0
  8675. for j in range(len(lt20)-len(lt20)/2):
  8676. lt14.append((lt22[s],lt21[s])) # lt14
  8677. s+=1
  8678.  
  8679. lt140= sorted(lt14, key=lambda x: x[1], reverse=True)
  8680.  
  8681. b=1
  8682. for j in range(len(lt40)-len(lt40)/2):
  8683. lt51.append(float(lt40[b]))
  8684. b+=2
  8685.  
  8686. c=0
  8687. for j in range(len(lt40)-len(lt40)/2):
  8688. lt52.append(str(lt40[c]))
  8689. c+=2
  8690.  
  8691. s=0
  8692. for j in range(len(lt40)-len(lt40)/2):
  8693. lt16.append((lt52[s],lt51[s])) # lt16
  8694. s+=1
  8695.  
  8696. lt160= sorted(lt16, key=lambda x: x[1], reverse=True)
  8697.  
  8698. print 'lt13', lt13
  8699. print 'lt14', lt14
  8700. print 'lt16', lt16
  8701. print 'lt27', lt27
  8702.  
  8703.  
  8704. return render_to_response('material/adeq60.html',
  8705. {
  8706. 'laref1': laref1,
  8707. 'laref2': laref2,
  8708. 'laref3': laref3,
  8709. 'laref4': laref4,
  8710. 'laref10': laref10,
  8711. 'laref20': laref20,
  8712. 'laref30': laref30,
  8713. 'laref40': laref40,
  8714. 'laref100': laref100,
  8715. 'laref200': laref200,
  8716. 'laref300': laref300,
  8717. 'laref400': laref400,
  8718. 'dref': maref,
  8719. 'dref2':maref2,
  8720. 'dref3':maref3,
  8721. 'Tmin1': Tmin1,
  8722. 'Tmax1': Tmax1,
  8723. 'Tmin2': Tmin2,
  8724. 'Tmax2': Tmax2,
  8725. 'Tmin3': Tmin3,
  8726. 'Tmax3': Tmax3,
  8727. 'unit1': unit1,
  8728. 'unit2': unit2,
  8729. 'unit3': unit3,
  8730. 'pt1': lt130,
  8731. 'pt2': lt140,
  8732. 'pt3': lt160,
  8733. 'pt4': lt27,
  8734. 'MAP': MAP,
  8735. 'valmin1': valmin1,
  8736. 'valmax1': valmax1,
  8737. 'valmin2': valmin2,
  8738. 'valmax2': valmax2,
  8739. 'valmin3': valmin3,
  8740. 'valmax3': valmax3,
  8741. 'propriete1': points1,
  8742. 'propriete2': points2,
  8743. 'propriete3': points3,
  8744.  
  8745. 'mat1max1': mat1max1,
  8746. 'mat1min1': mat1min1,
  8747. 'mat1temp1': mat1temp1,
  8748. 'mat2max2': mat2max2,
  8749. 'mat2min2': mat2min2,
  8750. 'mat2temp2': mat2temp2,
  8751. 'mat3max3': mat3max3,
  8752. 'mat3min3': mat3min3,
  8753. 'mat3temp3': mat3temp3,
  8754. 'mat4max4': mat4max4,
  8755. 'mat4min4': mat4min4,
  8756. 'mat4temp4': mat4temp4,
  8757. 'famille': famille,
  8758. 'mat10max10': mat10max10,
  8759. 'mat10min10': mat10min10,
  8760. 'mat10temp10': mat10temp10,
  8761. 'mat20max20': mat20max20,
  8762. 'mat20min20': mat20min20,
  8763. 'mat20temp20': mat20temp20,
  8764. 'mat30max30': mat30max30,
  8765. 'mat30min30': mat30min30,
  8766. 'mat30temp30': mat30temp30,
  8767. 'mat40max40': mat40max40,
  8768. 'mat40min40': mat40min40,
  8769. 'mat40temp40': mat40temp40,
  8770. 'taille1': taille1,
  8771. 'taille2': taille2,
  8772. 'taille3': taille3,
  8773. 'mat100max100': mat100max100,
  8774. 'mat100min100': mat100min100,
  8775. 'mat100temp100': mat100temp100,
  8776. 'mat200max200': mat200max200,
  8777. 'mat200min200': mat200min200,
  8778. 'mat200temp200': mat200temp200,
  8779. 'mat300max300': mat300max300,
  8780. 'mat300min300': mat300min300,
  8781. 'mat300temp300': mat300temp300,
  8782. 'mat400max400': mat400max400,
  8783. 'mat400min400': mat400min400,
  8784. 'mat400temp400': mat400temp400},
  8785. context_instance=RequestContext(request))
  8786.  
  8787.  
  8788.  
  8789. def match4F(request):
  8790. laref1= str(request.GET['ref1'])
  8791. laref2= str(request.GET['ref2'])
  8792. laref3= str(request.GET['ref3'])
  8793. laref4= str(request.GET['ref4'])
  8794.  
  8795. laref10 = str(request.GET['ref10'])
  8796. laref20= str(request.GET['ref20'])
  8797. laref30= str(request.GET['ref30'])
  8798. laref40= str(request.GET['ref40'])
  8799.  
  8800. laref100 = str(request.GET['ref100'])
  8801. laref200= str(request.GET['ref200'])
  8802. laref300= str(request.GET['ref300'])
  8803. laref400= str(request.GET['ref400'])
  8804. #val_mat1max1 = request.GET['mat1max1']
  8805. #val_mat1min1 = request.GET['mat1min1']
  8806. #val_mat1temp1 = request.GET['mat1temp1']
  8807. Tmin1 = request.GET['Tmin1']
  8808. Tmax1 = request.GET['Tmax1']
  8809. Tmin2 = request.GET['Tmin2']
  8810. Tmax2 = request.GET['Tmax2']
  8811. Tmin3 = request.GET['Tmin3']
  8812. Tmax3 = request.GET['Tmax3']
  8813. valmin1 = request.GET['valmin1']
  8814. valmax1 = request.GET['valmax1']
  8815. valmin2 = request.GET['valmin2']
  8816. valmax2 = request.GET['valmax2']
  8817. valmin3 = request.GET['valmin3']
  8818. valmax3 = request.GET['valmax3']
  8819. points1 = request.GET['propriete1']
  8820. points2 = request.GET['propriete2']
  8821. points3 = request.GET['propriete3']
  8822. maref = request.GET['uneref1']
  8823. maref2 = request.GET['uneref2']
  8824. maref3 = request.GET['uneref3']
  8825. unit1 = request.GET['unit1']
  8826. unit2 = request.GET['unit2']
  8827. unit3 = request.GET['unit3']
  8828. pt1 = request.GET['pt1']
  8829. pt2 = request.GET['pt2']
  8830. pt3 = request.GET['pt3']
  8831. taille1 = request.GET['size1']
  8832. taille2 = request.GET['size2']
  8833. taille3 = request.GET['size3']
  8834.  
  8835. mat1max1 = request.GET['mat1max1']
  8836. mat1min1 = request.GET['mat1min1']
  8837. mat1temp1 = request.GET['mat1temp1']
  8838. mat2max2 = request.GET['mat2max2']
  8839. mat2min2 = request.GET['mat2min2']
  8840. mat2temp2 = request.GET['mat2temp2']
  8841. mat3max3 = request.GET['mat3max3']
  8842. mat3min3 = request.GET['mat3min3']
  8843. mat3temp3 = request.GET['mat3temp3']
  8844. mat4max4 = request.GET['mat4max4']
  8845. mat4min4 = request.GET['mat4min4']
  8846. mat4temp4 = request.GET['mat4temp4']
  8847.  
  8848. mat10max10 = request.GET['mat10max10']
  8849. mat10min10 = request.GET['mat10min10']
  8850. mat10temp10 = request.GET['mat10temp10']
  8851. mat20max20 = request.GET['mat20max20']
  8852. mat20min20 = request.GET['mat20min20']
  8853. mat20temp20 = request.GET['mat20temp20']
  8854. mat30max30 = request.GET['mat30max30']
  8855. mat30min30 = request.GET['mat30min30']
  8856. mat30temp30 = request.GET['mat30temp30']
  8857. mat40max40 = request.GET['mat40max40']
  8858. mat40min40 = request.GET['mat40min40']
  8859. mat40temp40 = request.GET['mat40temp40']
  8860.  
  8861. mat100max100 = request.GET['mat100max100']
  8862. mat100min100 = request.GET['mat100min100']
  8863. mat100temp100 = request.GET['mat100temp100']
  8864. mat200max200 = request.GET['mat200max200']
  8865. mat200min200 = request.GET['mat200min200']
  8866. mat200temp200 = request.GET['mat200temp200']
  8867. mat300max300 = request.GET['mat300max300']
  8868. mat300min300 = request.GET['mat300min300']
  8869. mat300temp300 = request.GET['mat300temp300']
  8870. mat400max400 = request.GET['mat400max400']
  8871. mat400min400 = request.GET['mat400min400']
  8872. mat400temp400 = request.GET['mat400temp400']
  8873. famille = request.GET['famille']
  8874. ponderation = request.GET['MM']
  8875. MAP = request.GET['MAP']
  8876.  
  8877. print points1
  8878. print 'uneref1', maref
  8879. print 'uneref2', maref2
  8880. print 'uneref3', maref3
  8881. print 'ponderation', ponderation
  8882.  
  8883. lt10=[]
  8884. lt12=[]
  8885. lt13=[]
  8886. lt11=[]
  8887. lt20=[]
  8888. lt30=[]
  8889. lt40=[]
  8890. lt21=[]
  8891. lt22=[]
  8892. lt25=[]
  8893. lt26=[]
  8894. lt27=[]
  8895. lt14=[]
  8896. lt15=[]
  8897. lt16=[]
  8898. lt17=[]
  8899. lt51=[]
  8900. lt52=[]
  8901.  
  8902.  
  8903. lt10 = [s.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in pt1.split(',')]
  8904. lt20 = [p.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for p in pt2.split(',')]
  8905. lt40 = [n.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for n in pt3.split(',')]
  8906. lt30 = [t.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for t in ponderation.split(',')]
  8907.  
  8908.  
  8909. print 'lt10',lt10
  8910. print 'lt20', lt20
  8911. print 'lt40', lt40
  8912. print'lt30', lt30
  8913.  
  8914.  
  8915. b=1
  8916. for j in range(len(lt30)-len(lt30)/2):
  8917.  
  8918. lt25.append(float(lt30[b]))
  8919. b+=2
  8920.  
  8921.  
  8922. c=0
  8923. for j in range(len(lt30)-len(lt30)/2):
  8924. lt26.append(str(lt30[c]))
  8925. c+=2
  8926.  
  8927.  
  8928. s=0
  8929. for j in range(len(lt30)-len(lt30)/2):
  8930. lt27.append((lt25[s],lt26[s])) # lt27
  8931. s+=1
  8932.  
  8933.  
  8934. b=1
  8935. for j in range(len(lt10)-len(lt10)/2):
  8936. lt11.append(float(lt10[b]))
  8937. b+=2
  8938.  
  8939. c=0
  8940. for j in range(len(lt10)-len(lt10)/2):
  8941. lt12.append(str(lt10[c]))
  8942. c+=2
  8943.  
  8944. s=0
  8945. for j in range(len(lt10)-len(lt10)/2):
  8946. lt13.append((lt12[s],lt11[s])) # lt13
  8947. s+=1
  8948.  
  8949.  
  8950. lt130= sorted(lt13, key=lambda x: x[1], reverse=True)
  8951.  
  8952. b=1
  8953. for j in range(len(lt20)-len(lt20)/2):
  8954.  
  8955. lt21.append(float(lt20[b]))
  8956. b+=2
  8957.  
  8958.  
  8959. c=0
  8960. for j in range(len(lt20)-len(lt20)/2):
  8961. lt22.append(str(lt20[c]))
  8962. c+=2
  8963.  
  8964. s=0
  8965. for j in range(len(lt20)-len(lt20)/2):
  8966. lt14.append((lt22[s],lt21[s])) # lt14
  8967. s+=1
  8968.  
  8969. lt140= sorted(lt14, key=lambda x: x[1], reverse=True)
  8970.  
  8971. b=1
  8972. for j in range(len(lt40)-len(lt40)/2):
  8973. lt51.append(float(lt40[b]))
  8974. b+=2
  8975.  
  8976. c=0
  8977. for j in range(len(lt40)-len(lt40)/2):
  8978. lt52.append(str(lt40[c]))
  8979. c+=2
  8980.  
  8981. s=0
  8982. for j in range(len(lt40)-len(lt40)/2):
  8983. lt16.append((lt52[s],lt51[s])) # lt16
  8984. s+=1
  8985.  
  8986. lt160= sorted(lt16, key=lambda x: x[1], reverse=True)
  8987.  
  8988. print 'lt13', lt13
  8989. print 'lt14', lt14
  8990. print 'lt16', lt16
  8991. print 'lt27', lt27
  8992.  
  8993.  
  8994. return render_to_response('material/adeq60F.html',
  8995. {
  8996. 'laref1': laref1,
  8997. 'laref2': laref2,
  8998. 'laref3': laref3,
  8999. 'laref4': laref4,
  9000. 'laref10': laref10,
  9001. 'laref20': laref20,
  9002. 'laref30': laref30,
  9003. 'laref40': laref40,
  9004. 'laref100': laref100,
  9005. 'laref200': laref200,
  9006. 'laref300': laref300,
  9007. 'laref400': laref400,
  9008. 'dref': maref,
  9009. 'dref2':maref2,
  9010. 'dref3':maref3,
  9011. 'Tmin1': Tmin1,
  9012. 'Tmax1': Tmax1,
  9013. 'Tmin2': Tmin2,
  9014. 'Tmax2': Tmax2,
  9015. 'Tmin3': Tmin3,
  9016. 'Tmax3': Tmax3,
  9017. 'unit1': unit1,
  9018. 'unit2': unit2,
  9019. 'unit3': unit3,
  9020. 'pt1': lt130,
  9021. 'pt2': lt140,
  9022. 'pt3': lt160,
  9023. 'pt4': lt27,
  9024. 'MAP': MAP,
  9025. 'valmin1': valmin1,
  9026. 'valmax1': valmax1,
  9027. 'valmin2': valmin2,
  9028. 'valmax2': valmax2,
  9029. 'valmin3': valmin3,
  9030. 'valmax3': valmax3,
  9031. 'propriete1': points1,
  9032. 'propriete2': points2,
  9033. 'propriete3': points3,
  9034. 'taille1': taille1,
  9035. 'taille2': taille2,
  9036. 'taille3': taille3,
  9037. 'mat1max1': mat1max1,
  9038. 'mat1min1': mat1min1,
  9039. 'mat1temp1': mat1temp1,
  9040. 'mat2max2': mat2max2,
  9041. 'mat2min2': mat2min2,
  9042. 'mat2temp2': mat2temp2,
  9043. 'mat3max3': mat3max3,
  9044. 'mat3min3': mat3min3,
  9045. 'mat3temp3': mat3temp3,
  9046. 'mat4max4': mat4max4,
  9047. 'mat4min4': mat4min4,
  9048. 'mat4temp4': mat4temp4,
  9049.  
  9050. 'mat10max10': mat10max10,
  9051. 'mat10min10': mat10min10,
  9052. 'mat10temp10': mat10temp10,
  9053. 'mat20max20': mat20max20,
  9054. 'mat20min20': mat20min20,
  9055. 'mat20temp20': mat20temp20,
  9056. 'mat30max30': mat30max30,
  9057. 'mat30min30': mat30min30,
  9058. 'mat30temp30': mat30temp30,
  9059. 'mat40max40': mat40max40,
  9060. 'mat40min40': mat40min40,
  9061. 'mat40temp40': mat40temp40,
  9062. 'famille': famille,
  9063. 'mat100max100': mat100max100,
  9064. 'mat100min100': mat100min100,
  9065. 'mat100temp100': mat100temp100,
  9066. 'mat200max200': mat200max200,
  9067. 'mat200min200': mat200min200,
  9068. 'mat200temp200': mat200temp200,
  9069. 'mat300max300': mat300max300,
  9070. 'mat300min300': mat300min300,
  9071. 'mat300temp300': mat300temp300,
  9072. 'mat400max400': mat400max400,
  9073. 'mat400min400': mat400min400,
  9074. 'mat400temp400': mat400temp400},
  9075. context_instance=RequestContext(request))
  9076.  
  9077.  
  9078. def match4FF(request):
  9079. laref1= str(request.GET['ref1'])
  9080. laref2= str(request.GET['ref2'])
  9081. laref3= str(request.GET['ref3'])
  9082. laref4= str(request.GET['ref4'])
  9083.  
  9084. laref10 = str(request.GET['ref10'])
  9085. laref20= str(request.GET['ref20'])
  9086. laref30= str(request.GET['ref30'])
  9087. laref40= str(request.GET['ref40'])
  9088.  
  9089. laref100 = str(request.GET['ref100'])
  9090. laref200= str(request.GET['ref200'])
  9091. laref300= str(request.GET['ref300'])
  9092. laref400= str(request.GET['ref400'])
  9093. #val_mat1max1 = request.GET['mat1max1']
  9094. #val_mat1min1 = request.GET['mat1min1']
  9095. #val_mat1temp1 = request.GET['mat1temp1']
  9096. Tmin1 = request.GET['Tmin1']
  9097. Tmax1 = request.GET['Tmax1']
  9098. Tmin2 = request.GET['Tmin2']
  9099. Tmax2 = request.GET['Tmax2']
  9100. Tmin3 = request.GET['Tmin3']
  9101. Tmax3 = request.GET['Tmax3']
  9102. valmin1 = request.GET['valmin1']
  9103. valmax1 = request.GET['valmax1']
  9104. valmin2 = request.GET['valmin2']
  9105. valmax2 = request.GET['valmax2']
  9106. valmin3 = request.GET['valmin3']
  9107. valmax3 = request.GET['valmax3']
  9108. points1 = request.GET['propriete1']
  9109. points2 = request.GET['propriete2']
  9110. points3 = request.GET['propriete3']
  9111. maref = request.GET['uneref1']
  9112. maref2 = request.GET['uneref2']
  9113. maref3 = request.GET['uneref3']
  9114. unit1 = request.GET['unit1']
  9115. unit2 = request.GET['unit2']
  9116. unit3 = request.GET['unit3']
  9117. pt1 = request.GET['pt1']
  9118. pt2 = request.GET['pt2']
  9119. pt3 = request.GET['pt3']
  9120. taille1 = request.GET['size1']
  9121. taille2 = request.GET['size2']
  9122. taille3 = request.GET['size3']
  9123.  
  9124. mat1max1 = request.GET['mat1max1']
  9125. mat1min1 = request.GET['mat1min1']
  9126. mat1temp1 = request.GET['mat1temp1']
  9127. mat2max2 = request.GET['mat2max2']
  9128. mat2min2 = request.GET['mat2min2']
  9129. mat2temp2 = request.GET['mat2temp2']
  9130. mat3max3 = request.GET['mat3max3']
  9131. mat3min3 = request.GET['mat3min3']
  9132. mat3temp3 = request.GET['mat3temp3']
  9133. mat4max4 = request.GET['mat4max4']
  9134. mat4min4 = request.GET['mat4min4']
  9135. mat4temp4 = request.GET['mat4temp4']
  9136.  
  9137. mat10max10 = request.GET['mat10max10']
  9138. mat10min10 = request.GET['mat10min10']
  9139. mat10temp10 = request.GET['mat10temp10']
  9140. mat20max20 = request.GET['mat20max20']
  9141. mat20min20 = request.GET['mat20min20']
  9142. mat20temp20 = request.GET['mat20temp20']
  9143. mat30max30 = request.GET['mat30max30']
  9144. mat30min30 = request.GET['mat30min30']
  9145. mat30temp30 = request.GET['mat30temp30']
  9146. mat40max40 = request.GET['mat40max40']
  9147. mat40min40 = request.GET['mat40min40']
  9148. mat40temp40 = request.GET['mat40temp40']
  9149.  
  9150. mat100max100 = request.GET['mat100max100']
  9151. mat100min100 = request.GET['mat100min100']
  9152. mat100temp100 = request.GET['mat100temp100']
  9153. mat200max200 = request.GET['mat200max200']
  9154. mat200min200 = request.GET['mat200min200']
  9155. mat200temp200 = request.GET['mat200temp200']
  9156. mat300max300 = request.GET['mat300max300']
  9157. mat300min300 = request.GET['mat300min300']
  9158. mat300temp300 = request.GET['mat300temp300']
  9159. mat400max400 = request.GET['mat400max400']
  9160. mat400min400 = request.GET['mat400min400']
  9161. mat400temp400 = request.GET['mat400temp400']
  9162. famille = request.GET['famille']
  9163. ponderation = request.GET['MM']
  9164. MAP = request.GET['MAP']
  9165.  
  9166. print points1
  9167. print 'uneref1', maref
  9168. print 'uneref2', maref2
  9169. print 'uneref3', maref3
  9170. print 'ponderation', ponderation
  9171.  
  9172. lt10=[]
  9173. lt12=[]
  9174. lt13=[]
  9175. lt11=[]
  9176. lt20=[]
  9177. lt30=[]
  9178. lt40=[]
  9179. lt21=[]
  9180. lt22=[]
  9181. lt25=[]
  9182. lt26=[]
  9183. lt27=[]
  9184. lt14=[]
  9185. lt15=[]
  9186. lt16=[]
  9187. lt17=[]
  9188. lt51=[]
  9189. lt52=[]
  9190.  
  9191.  
  9192. lt10 = [s.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in pt1.split(',')]
  9193. lt20 = [p.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for p in pt2.split(',')]
  9194. lt40 = [n.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for n in pt3.split(',')]
  9195. lt30 = [t.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for t in ponderation.split(',')]
  9196.  
  9197.  
  9198. print 'lt10',lt10
  9199. print 'lt20', lt20
  9200. print 'lt40', lt40
  9201. print'lt30', lt30
  9202.  
  9203.  
  9204. b=1
  9205. for j in range(len(lt30)-len(lt30)/2):
  9206.  
  9207. lt25.append(float(lt30[b]))
  9208. b+=2
  9209.  
  9210.  
  9211. c=0
  9212. for j in range(len(lt30)-len(lt30)/2):
  9213. lt26.append(str(lt30[c]))
  9214. c+=2
  9215.  
  9216.  
  9217. s=0
  9218. for j in range(len(lt30)-len(lt30)/2):
  9219. lt27.append((lt25[s],lt26[s])) # lt27
  9220. s+=1
  9221.  
  9222.  
  9223. b=1
  9224. for j in range(len(lt10)-len(lt10)/2):
  9225. lt11.append(float(lt10[b]))
  9226. b+=2
  9227.  
  9228. c=0
  9229. for j in range(len(lt10)-len(lt10)/2):
  9230. lt12.append(str(lt10[c]))
  9231. c+=2
  9232.  
  9233. s=0
  9234. for j in range(len(lt10)-len(lt10)/2):
  9235. lt13.append((lt12[s],lt11[s])) # lt13
  9236. s+=1
  9237.  
  9238.  
  9239. lt130= sorted(lt13, key=lambda x: x[1], reverse=True)
  9240.  
  9241. b=1
  9242. for j in range(len(lt20)-len(lt20)/2):
  9243.  
  9244. lt21.append(float(lt20[b]))
  9245. b+=2
  9246.  
  9247.  
  9248. c=0
  9249. for j in range(len(lt20)-len(lt20)/2):
  9250. lt22.append(str(lt20[c]))
  9251. c+=2
  9252.  
  9253. s=0
  9254. for j in range(len(lt20)-len(lt20)/2):
  9255. lt14.append((lt22[s],lt21[s])) # lt14
  9256. s+=1
  9257.  
  9258. lt140= sorted(lt14, key=lambda x: x[1], reverse=True)
  9259.  
  9260. b=1
  9261. for j in range(len(lt40)-len(lt40)/2):
  9262. lt51.append(float(lt40[b]))
  9263. b+=2
  9264.  
  9265. c=0
  9266. for j in range(len(lt40)-len(lt40)/2):
  9267. lt52.append(str(lt40[c]))
  9268. c+=2
  9269.  
  9270. s=0
  9271. for j in range(len(lt40)-len(lt40)/2):
  9272. lt16.append((lt52[s],lt51[s])) # lt16
  9273. s+=1
  9274.  
  9275. lt160= sorted(lt16, key=lambda x: x[1], reverse=True)
  9276.  
  9277. print 'lt13', lt13
  9278. print 'lt14', lt14
  9279. print 'lt16', lt16
  9280. print 'lt27', lt27
  9281.  
  9282.  
  9283. return render_to_response('material/adeq60FF.html',
  9284. {
  9285. 'laref1': laref1,
  9286. 'laref2': laref2,
  9287. 'laref3': laref3,
  9288. 'laref4': laref4,
  9289. 'laref10': laref10,
  9290. 'laref20': laref20,
  9291. 'laref30': laref30,
  9292. 'laref40': laref40,
  9293. 'laref100': laref100,
  9294. 'laref200': laref200,
  9295. 'laref300': laref300,
  9296. 'laref400': laref400,
  9297. 'dref': maref,
  9298. 'dref2':maref2,
  9299. 'dref3':maref3,
  9300. 'Tmin1': Tmin1,
  9301. 'Tmax1': Tmax1,
  9302. 'Tmin2': Tmin2,
  9303. 'Tmax2': Tmax2,
  9304. 'Tmin3': Tmin3,
  9305. 'Tmax3': Tmax3,
  9306. 'unit1': unit1,
  9307. 'unit2': unit2,
  9308. 'unit3': unit3,
  9309. 'pt1': lt130,
  9310. 'pt2': lt140,
  9311. 'pt3': lt160,
  9312. 'pt4': lt27,
  9313. 'MAP': MAP,
  9314. 'valmin1': valmin1,
  9315. 'valmax1': valmax1,
  9316. 'valmin2': valmin2,
  9317. 'valmax2': valmax2,
  9318. 'valmin3': valmin3,
  9319. 'valmax3': valmax3,
  9320. 'propriete1': points1,
  9321. 'propriete2': points2,
  9322. 'propriete3': points3,
  9323. 'taille1': taille1,
  9324. 'taille2': taille2,
  9325. 'taille3': taille3,
  9326. 'mat1max1': mat1max1,
  9327. 'mat1min1': mat1min1,
  9328. 'mat1temp1': mat1temp1,
  9329. 'mat2max2': mat2max2,
  9330. 'mat2min2': mat2min2,
  9331. 'mat2temp2': mat2temp2,
  9332. 'mat3max3': mat3max3,
  9333. 'mat3min3': mat3min3,
  9334. 'mat3temp3': mat3temp3,
  9335. 'mat4max4': mat4max4,
  9336. 'mat4min4': mat4min4,
  9337. 'mat4temp4': mat4temp4,
  9338.  
  9339. 'mat10max10': mat10max10,
  9340. 'mat10min10': mat10min10,
  9341. 'mat10temp10': mat10temp10,
  9342. 'mat20max20': mat20max20,
  9343. 'mat20min20': mat20min20,
  9344. 'mat20temp20': mat20temp20,
  9345. 'mat30max30': mat30max30,
  9346. 'mat30min30': mat30min30,
  9347. 'mat30temp30': mat30temp30,
  9348. 'mat40max40': mat40max40,
  9349. 'mat40min40': mat40min40,
  9350. 'mat40temp40': mat40temp40,
  9351. 'famille': famille,
  9352. 'mat100max100': mat100max100,
  9353. 'mat100min100': mat100min100,
  9354. 'mat100temp100': mat100temp100,
  9355. 'mat200max200': mat200max200,
  9356. 'mat200min200': mat200min200,
  9357. 'mat200temp200': mat200temp200,
  9358. 'mat300max300': mat300max300,
  9359. 'mat300min300': mat300min300,
  9360. 'mat300temp300': mat300temp300,
  9361. 'mat400max400': mat400max400,
  9362. 'mat400min400': mat400min400,
  9363. 'mat400temp400': mat400temp400},
  9364. context_instance=RequestContext(request))
  9365.  
  9366. def match6(request):
  9367. laref1= request.GET['ref1']
  9368. laref2= request.GET['ref2']
  9369. laref3= request.GET['ref3']
  9370. laref4= request.GET['ref4']
  9371.  
  9372. laref10 = request.GET['ref10']
  9373. laref20= request.GET['ref20']
  9374. laref30= request.GET['ref30']
  9375. laref40= request.GET['ref40']
  9376.  
  9377. laref100 = request.GET['ref100']
  9378. laref200= request.GET['ref200']
  9379. laref300= request.GET['ref300']
  9380. laref400= request.GET['ref400']
  9381.  
  9382. laref1000 = request.GET['ref1000']
  9383. laref2000= request.GET['ref2000']
  9384. laref3000= request.GET['ref3000']
  9385. laref4000= request.GET['ref4000']
  9386. #val_mat1max1 = request.GET['mat1max1']
  9387. #val_mat1min1 = request.GET['mat1min1']
  9388. #val_mat1temp1 = request.GET['mat1temp1']
  9389. Tmin1 = request.GET['Tmin1']
  9390. Tmax1 = request.GET['Tmax1']
  9391. Tmin2 = request.GET['Tmin2']
  9392. Tmax2 = request.GET['Tmax2']
  9393. Tmin3 = request.GET['Tmin3']
  9394. Tmax3 = request.GET['Tmax3']
  9395. Tmin4 = request.GET['Tmin4']
  9396. Tmax4 = request.GET['Tmax4']
  9397. valmin1 = request.GET['valmin1']
  9398. valmax1 = request.GET['valmax1']
  9399. valmin2 = request.GET['valmin2']
  9400. valmax2 = request.GET['valmax2']
  9401. valmin3 = request.GET['valmin3']
  9402. valmax3 = request.GET['valmax3']
  9403. valmin4 = request.GET['valmin4']
  9404. valmax4 = request.GET['valmax4']
  9405. points1 = request.GET['propriete1']
  9406. points2 = request.GET['propriete2']
  9407. points3 = request.GET['propriete3']
  9408. points4 = request.GET['propriete4']
  9409. maref = request.GET['uneref1']
  9410. maref2 = request.GET['uneref2']
  9411. maref3 = request.GET['uneref3']
  9412. maref4 = request.GET['uneref4']
  9413. #unit1 = request.GET['unit1']
  9414. #unit2 = request.GET['unit2']
  9415. #unit3 = request.GET['unit3']
  9416. pt1 = request.GET['pt1']
  9417. pt2 = request.GET['pt2']
  9418. pt3 = request.GET['pt3']
  9419. pt4 = request.GET['pt4']
  9420. print 'ref1000', laref1000
  9421. mat1max1 = request.GET['mat1max1']
  9422. mat1min1 = request.GET['mat1min1']
  9423. mat1temp1 = request.GET['mat1temp1']
  9424. mat2max2 = request.GET['mat2max2']
  9425. mat2min2 = request.GET['mat2min2']
  9426. mat2temp2 = request.GET['mat2temp2']
  9427. mat3max3 = request.GET['mat3max3']
  9428. mat3min3 = request.GET['mat3min3']
  9429. mat3temp3 = request.GET['mat3temp3']
  9430. mat4max4 = request.GET['mat4max4']
  9431. mat4min4 = request.GET['mat4min4']
  9432. mat4temp4 = request.GET['mat4temp4']
  9433.  
  9434. mat10max10 = request.GET['mat10max10']
  9435. mat10min10 = request.GET['mat10min10']
  9436. mat10temp10 = request.GET['mat10temp10']
  9437. mat20max20 = request.GET['mat20max20']
  9438. mat20min20 = request.GET['mat20min20']
  9439. mat20temp20 = request.GET['mat20temp20']
  9440. mat30max30 = request.GET['mat30max30']
  9441. mat30min30 = request.GET['mat30min30']
  9442. mat30temp30 = request.GET['mat30temp30']
  9443. mat40max40 = request.GET['mat40max40']
  9444. mat40min40 = request.GET['mat40min40']
  9445. mat40temp40 = request.GET['mat40temp40']
  9446.  
  9447. mat100max100 = request.GET['mat100max100']
  9448. mat100min100 = request.GET['mat100min100']
  9449. mat100temp100 = request.GET['mat100temp100']
  9450. mat200max200 = request.GET['mat200max200']
  9451. mat200min200 = request.GET['mat200min200']
  9452. mat200temp200 = request.GET['mat200temp200']
  9453. mat300max300 = request.GET['mat300max300']
  9454. mat300min300 = request.GET['mat300min300']
  9455. mat300temp300 = request.GET['mat300temp300']
  9456. mat400max400 = request.GET['mat400max400']
  9457. mat400min400 = request.GET['mat400min400']
  9458. mat400temp400 = request.GET['mat400temp400']
  9459.  
  9460. mat1000max1000 = request.GET['mat1000max1000']
  9461. mat1000min1000 = request.GET['mat1000min1000']
  9462. mat1000temp1000 = request.GET['mat1000temp1000']
  9463. mat2000max2000 = request.GET['mat2000max2000']
  9464. mat2000min2000 = request.GET['mat2000min2000']
  9465. mat2000temp2000 = request.GET['mat2000temp2000']
  9466. mat3000max3000 = request.GET['mat3000max3000']
  9467. mat3000min3000 = request.GET['mat3000min3000']
  9468. mat3000temp3000 = request.GET['mat3000temp3000']
  9469. mat4000max4000 = request.GET['mat4000max4000']
  9470. mat4000min4000 = request.GET['mat4000min4000']
  9471. mat4000temp4000 = request.GET['mat4000temp4000']
  9472. taille1 = request.GET['size1']
  9473. taille2 = request.GET['size2']
  9474. taille3 = request.GET['size3']
  9475. taille4 = request.GET['size4']
  9476. famille = request.GET['famille']
  9477. ponderation = request.GET['MM']
  9478. MAP = request.GET['MAP']
  9479.  
  9480. print points1
  9481. print 'uneref1', maref
  9482. print 'uneref2', maref2
  9483. print 'uneref3', maref3
  9484. print 'ponderation', ponderation
  9485.  
  9486. lt10=[]
  9487. lt12=[]
  9488. lt13=[]
  9489. lt11=[]
  9490. lt20=[]
  9491. lt30=[]
  9492. lt40=[]
  9493. lt21=[]
  9494. lt22=[]
  9495. lt25=[]
  9496. lt26=[]
  9497. lt27=[]
  9498. lt14=[]
  9499. lt15=[]
  9500. lt16=[]
  9501. lt17=[]
  9502. lt51=[]
  9503. lt52=[]
  9504. lt61=[]
  9505. lt62=[]
  9506.  
  9507.  
  9508. lt10 = [s.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in pt1.split(',')]
  9509. lt20 = [p.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for p in pt2.split(',')]
  9510. lt40 = [n.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for n in pt3.split(',')]
  9511. lt50 = [j.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for j in pt4.split(',')]
  9512. lt30 = [t.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for t in ponderation.split(',')]
  9513.  
  9514.  
  9515. print 'lt10',lt10
  9516. print 'lt20', lt20
  9517. print 'lt40', lt40
  9518. print'lt30', lt30
  9519.  
  9520.  
  9521. b=1
  9522. for j in range(len(lt30)-len(lt30)/2):
  9523.  
  9524. lt25.append(float(lt30[b]))
  9525. b+=2
  9526.  
  9527.  
  9528. c=0
  9529. for j in range(len(lt30)-len(lt30)/2):
  9530. lt26.append(str(lt30[c]))
  9531. c+=2
  9532.  
  9533.  
  9534. s=0
  9535. for j in range(len(lt30)-len(lt30)/2):
  9536. lt27.append((lt25[s],lt26[s])) # lt27
  9537. s+=1
  9538.  
  9539.  
  9540. b=1
  9541. for j in range(len(lt10)-len(lt10)/2):
  9542. lt11.append(float(lt10[b]))
  9543. b+=2
  9544.  
  9545. c=0
  9546. for j in range(len(lt10)-len(lt10)/2):
  9547. lt12.append(str(lt10[c]))
  9548. c+=2
  9549.  
  9550. s=0
  9551. for j in range(len(lt10)-len(lt10)/2):
  9552. lt13.append((lt12[s],lt11[s])) # lt13
  9553. s+=1
  9554.  
  9555.  
  9556. lt130= sorted(lt13, key=lambda x: x[1], reverse=True)
  9557.  
  9558. b=1
  9559. for j in range(len(lt20)-len(lt20)/2):
  9560.  
  9561. lt21.append(float(lt20[b]))
  9562. b+=2
  9563.  
  9564.  
  9565. c=0
  9566. for j in range(len(lt20)-len(lt20)/2):
  9567. lt22.append(str(lt20[c]))
  9568. c+=2
  9569.  
  9570. s=0
  9571. for j in range(len(lt20)-len(lt20)/2):
  9572. lt14.append((lt22[s],lt21[s])) # lt14
  9573. s+=1
  9574.  
  9575. lt140= sorted(lt14, key=lambda x: x[1], reverse=True)
  9576.  
  9577. b=1
  9578. for j in range(len(lt40)-len(lt40)/2):
  9579. lt51.append(float(lt40[b]))
  9580. b+=2
  9581.  
  9582. c=0
  9583. for j in range(len(lt40)-len(lt40)/2):
  9584. lt52.append(str(lt40[c]))
  9585. c+=2
  9586.  
  9587. s=0
  9588. for j in range(len(lt40)-len(lt40)/2):
  9589. lt16.append((lt52[s],lt51[s])) # lt16
  9590. s+=1
  9591.  
  9592. lt160= sorted(lt16, key=lambda x: x[1], reverse=True)
  9593.  
  9594.  
  9595. b=1
  9596. for j in range(len(lt50)-len(lt50)/2):
  9597. lt61.append(float(lt50[b]))
  9598. b+=2
  9599.  
  9600. c=0
  9601. for j in range(len(lt50)-len(lt50)/2):
  9602. lt62.append(str(lt50[c]))
  9603. c+=2
  9604.  
  9605. s=0
  9606. for j in range(len(lt50)-len(lt50)/2):
  9607. lt17.append((lt62[s],lt61[s])) # lt17
  9608. s+=1
  9609.  
  9610. lt170= sorted(lt17, key=lambda x: x[1], reverse=True)
  9611.  
  9612.  
  9613.  
  9614. print 'lt13', lt13
  9615. print 'lt14', lt14
  9616. print 'lt170', lt170
  9617. print 'lt27', lt27
  9618.  
  9619.  
  9620. return render_to_response('material/adeq70F.html',
  9621. {
  9622. 'laref1': laref1,
  9623. 'laref2': laref2,
  9624. 'laref3': laref3,
  9625. 'laref4': laref4,
  9626. 'laref10': laref10,
  9627. 'laref20': laref20,
  9628. 'laref30': laref30,
  9629. 'laref40': laref40,
  9630. 'laref100': laref100,
  9631. 'laref200': laref200,
  9632. 'laref300': laref300,
  9633. 'laref400': laref400,
  9634. 'laref1000': laref1000,
  9635. 'laref2000': laref2000,
  9636. 'laref3000': laref3000,
  9637. 'laref4000': laref4000,
  9638. 'dref': maref,
  9639. 'dref2':maref2,
  9640. 'dref3':maref3,
  9641. 'dref4':maref4,
  9642. 'Tmin1': Tmin1,
  9643. 'Tmax1': Tmax1,
  9644. 'Tmin2': Tmin2,
  9645. 'Tmax2': Tmax2,
  9646. 'Tmin3': Tmin3,
  9647. 'Tmax3': Tmax3,
  9648. 'Tmin4': Tmin4,
  9649. 'Tmax4': Tmax4,
  9650. #'unit1': unit1,
  9651. #'unit2': unit2,
  9652. #'unit3': unit3,
  9653. 'pt1': lt130,
  9654. 'pt2': lt140,
  9655. 'pt3': lt160,
  9656. 'pt4': lt170,
  9657. 'pt40': lt27,
  9658. 'MAP': MAP,
  9659. 'famille': famille,
  9660. 'valmin1': valmin1,
  9661. 'valmax1': valmax1,
  9662. 'valmin2': valmin2,
  9663. 'valmax2': valmax2,
  9664. 'valmin3': valmin3,
  9665. 'valmax3': valmax3,
  9666. 'valmin4': valmin4,
  9667. 'valmax4': valmax4,
  9668. 'propriete1': points1,
  9669. 'propriete2': points2,
  9670. 'propriete3': points3,
  9671. 'propriete4': points4,
  9672. 'taille1': taille1,
  9673. 'taille2': taille2,
  9674. 'taille3': taille3,
  9675. 'taille4': taille4,
  9676. 'mat1max1': mat1max1,
  9677. 'mat1min1': mat1min1,
  9678. 'mat1temp1': mat1temp1,
  9679. 'mat2max2': mat2max2,
  9680. 'mat2min2': mat2min2,
  9681. 'mat2temp2': mat2temp2,
  9682. 'mat3max3': mat3max3,
  9683. 'mat3min3': mat3min3,
  9684. 'mat3temp3': mat3temp3,
  9685. 'mat4max4': mat4max4,
  9686. 'mat4min4': mat4min4,
  9687. 'mat4temp4': mat4temp4,
  9688.  
  9689. 'mat10max10': mat10max10,
  9690. 'mat10min10': mat10min10,
  9691. 'mat10temp10': mat10temp10,
  9692. 'mat20max20': mat20max20,
  9693. 'mat20min20': mat20min20,
  9694. 'mat20temp20': mat20temp20,
  9695. 'mat30max30': mat30max30,
  9696. 'mat30min30': mat30min30,
  9697. 'mat30temp30': mat30temp30,
  9698. 'mat40max40': mat40max40,
  9699. 'mat40min40': mat40min40,
  9700. 'mat40temp40': mat40temp40,
  9701.  
  9702. 'mat100max100': mat100max100,
  9703. 'mat100min100': mat100min100,
  9704. 'mat100temp100': mat100temp100,
  9705. 'mat200max200': mat200max200,
  9706. 'mat200min200': mat200min200,
  9707. 'mat200temp200': mat200temp200,
  9708. 'mat300max300': mat300max300,
  9709. 'mat300min300': mat300min300,
  9710. 'mat300temp300': mat300temp300,
  9711. 'mat400max400': mat400max400,
  9712. 'mat400min400': mat400min400,
  9713. 'mat400temp400': mat400temp400,
  9714. 'mat1000max1000': mat1000max1000,
  9715. 'mat1000min1000': mat1000min1000,
  9716. 'mat1000temp1000': mat1000temp1000,
  9717. 'mat2000max2000': mat2000max2000,
  9718. 'mat2000min2000': mat2000min2000,
  9719. 'mat2000temp2000': mat2000temp2000,
  9720. 'mat3000max3000': mat3000max3000,
  9721. 'mat3000min3000': mat3000min3000,
  9722. 'mat3000temp3000': mat3000temp3000,
  9723. 'mat4000max4000': mat4000max4000,
  9724. 'mat4000min4000': mat4000min4000,
  9725. 'mat4000temp4000': mat4000temp4000},
  9726. context_instance=RequestContext(request))
  9727.  
  9728.  
  9729.  
  9730.  
  9731.  
  9732.  
  9733. def match6F(request):
  9734. laref1= request.GET['ref1']
  9735. laref2= request.GET['ref2']
  9736. laref3= request.GET['ref3']
  9737. laref4= request.GET['ref4']
  9738.  
  9739. laref10 = request.GET['ref10']
  9740. laref20= request.GET['ref20']
  9741. laref30= request.GET['ref30']
  9742. laref40= request.GET['ref40']
  9743.  
  9744. laref100 = request.GET['ref100']
  9745. laref200= request.GET['ref200']
  9746. laref300= request.GET['ref300']
  9747. laref400= request.GET['ref400']
  9748.  
  9749. laref1000 = request.GET['ref1000']
  9750. laref2000= request.GET['ref2000']
  9751. laref3000= request.GET['ref3000']
  9752. laref4000= request.GET['ref4000']
  9753. #val_mat1max1 = request.GET['mat1max1']
  9754. #val_mat1min1 = request.GET['mat1min1']
  9755. #val_mat1temp1 = request.GET['mat1temp1']
  9756. Tmin1 = request.GET['Tmin1']
  9757. Tmax1 = request.GET['Tmax1']
  9758. Tmin2 = request.GET['Tmin2']
  9759. Tmax2 = request.GET['Tmax2']
  9760. Tmin3 = request.GET['Tmin3']
  9761. Tmax3 = request.GET['Tmax3']
  9762. Tmin4 = request.GET['Tmin4']
  9763. Tmax4 = request.GET['Tmax4']
  9764. valmin1 = request.GET['valmin1']
  9765. valmax1 = request.GET['valmax1']
  9766. valmin2 = request.GET['valmin2']
  9767. valmax2 = request.GET['valmax2']
  9768. valmin3 = request.GET['valmin3']
  9769. valmax3 = request.GET['valmax3']
  9770. valmin4 = request.GET['valmin4']
  9771. valmax4 = request.GET['valmax4']
  9772. points1 = request.GET['propriete1']
  9773. points2 = request.GET['propriete2']
  9774. points3 = request.GET['propriete3']
  9775. points4 = request.GET['propriete4']
  9776. maref = request.GET['uneref1']
  9777. maref2 = request.GET['uneref2']
  9778. maref3 = request.GET['uneref3']
  9779. maref4 = request.GET['uneref4']
  9780. #unit1 = request.GET['unit1']
  9781. #unit2 = request.GET['unit2']
  9782. #unit3 = request.GET['unit3']
  9783. pt1 = request.GET['pt1']
  9784. pt2 = request.GET['pt2']
  9785. pt3 = request.GET['pt3']
  9786. pt4 = request.GET['pt4']
  9787. print 'ref1000', laref1000
  9788. mat1max1 = request.GET['mat1max1']
  9789. mat1min1 = request.GET['mat1min1']
  9790. mat1temp1 = request.GET['mat1temp1']
  9791. mat2max2 = request.GET['mat2max2']
  9792. mat2min2 = request.GET['mat2min2']
  9793. mat2temp2 = request.GET['mat2temp2']
  9794. mat3max3 = request.GET['mat3max3']
  9795. mat3min3 = request.GET['mat3min3']
  9796. mat3temp3 = request.GET['mat3temp3']
  9797. mat4max4 = request.GET['mat4max4']
  9798. mat4min4 = request.GET['mat4min4']
  9799. mat4temp4 = request.GET['mat4temp4']
  9800.  
  9801. mat10max10 = request.GET['mat10max10']
  9802. mat10min10 = request.GET['mat10min10']
  9803. mat10temp10 = request.GET['mat10temp10']
  9804. mat20max20 = request.GET['mat20max20']
  9805. mat20min20 = request.GET['mat20min20']
  9806. mat20temp20 = request.GET['mat20temp20']
  9807. mat30max30 = request.GET['mat30max30']
  9808. mat30min30 = request.GET['mat30min30']
  9809. mat30temp30 = request.GET['mat30temp30']
  9810. mat40max40 = request.GET['mat40max40']
  9811. mat40min40 = request.GET['mat40min40']
  9812. mat40temp40 = request.GET['mat40temp40']
  9813.  
  9814. mat100max100 = request.GET['mat100max100']
  9815. mat100min100 = request.GET['mat100min100']
  9816. mat100temp100 = request.GET['mat100temp100']
  9817. mat200max200 = request.GET['mat200max200']
  9818. mat200min200 = request.GET['mat200min200']
  9819. mat200temp200 = request.GET['mat200temp200']
  9820. mat300max300 = request.GET['mat300max300']
  9821. mat300min300 = request.GET['mat300min300']
  9822. mat300temp300 = request.GET['mat300temp300']
  9823. mat400max400 = request.GET['mat400max400']
  9824. mat400min400 = request.GET['mat400min400']
  9825. mat400temp400 = request.GET['mat400temp400']
  9826.  
  9827. mat1000max1000 = request.GET['mat1000max1000']
  9828. mat1000min1000 = request.GET['mat1000min1000']
  9829. mat1000temp1000 = request.GET['mat1000temp1000']
  9830. mat2000max2000 = request.GET['mat2000max2000']
  9831. mat2000min2000 = request.GET['mat2000min2000']
  9832. mat2000temp2000 = request.GET['mat2000temp2000']
  9833. mat3000max3000 = request.GET['mat3000max3000']
  9834. mat3000min3000 = request.GET['mat3000min3000']
  9835. mat3000temp3000 = request.GET['mat3000temp3000']
  9836. mat4000max4000 = request.GET['mat4000max4000']
  9837. mat4000min4000 = request.GET['mat4000min4000']
  9838. mat4000temp4000 = request.GET['mat4000temp4000']
  9839. famille = request.GET['famille']
  9840. ponderation = request.GET['MM']
  9841. MAP = request.GET['MAP']
  9842. taille1 = request.GET['size1']
  9843. taille2 = request.GET['size2']
  9844. taille3 = request.GET['size3']
  9845. taille4 = request.GET['size4']
  9846. print points1
  9847. print 'uneref1', maref
  9848. print 'uneref2', maref2
  9849. print 'uneref3', maref3
  9850. print 'ponderation', ponderation
  9851.  
  9852. lt10=[]
  9853. lt12=[]
  9854. lt13=[]
  9855. lt11=[]
  9856. lt20=[]
  9857. lt30=[]
  9858. lt40=[]
  9859. lt21=[]
  9860. lt22=[]
  9861. lt25=[]
  9862. lt26=[]
  9863. lt27=[]
  9864. lt14=[]
  9865. lt15=[]
  9866. lt16=[]
  9867. lt17=[]
  9868. lt51=[]
  9869. lt52=[]
  9870. lt61=[]
  9871. lt62=[]
  9872.  
  9873.  
  9874. lt10 = [s.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in pt1.split(',')]
  9875. lt20 = [p.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for p in pt2.split(',')]
  9876. lt40 = [n.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for n in pt3.split(',')]
  9877. lt50 = [j.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for j in pt4.split(',')]
  9878. lt30 = [t.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for t in ponderation.split(',')]
  9879.  
  9880.  
  9881. print 'lt10',lt10
  9882. print 'lt20', lt20
  9883. print 'lt40', lt40
  9884. print'lt30', lt30
  9885.  
  9886.  
  9887. b=1
  9888. for j in range(len(lt30)-len(lt30)/2):
  9889.  
  9890. lt25.append(float(lt30[b]))
  9891. b+=2
  9892.  
  9893.  
  9894. c=0
  9895. for j in range(len(lt30)-len(lt30)/2):
  9896. lt26.append(str(lt30[c]))
  9897. c+=2
  9898.  
  9899.  
  9900. s=0
  9901. for j in range(len(lt30)-len(lt30)/2):
  9902. lt27.append((lt25[s],lt26[s])) # lt27
  9903. s+=1
  9904.  
  9905.  
  9906. b=1
  9907. for j in range(len(lt10)-len(lt10)/2):
  9908. lt11.append(float(lt10[b]))
  9909. b+=2
  9910.  
  9911. c=0
  9912. for j in range(len(lt10)-len(lt10)/2):
  9913. lt12.append(str(lt10[c]))
  9914. c+=2
  9915.  
  9916. s=0
  9917. for j in range(len(lt10)-len(lt10)/2):
  9918. lt13.append((lt12[s],lt11[s])) # lt13
  9919. s+=1
  9920.  
  9921.  
  9922. lt130= sorted(lt13, key=lambda x: x[1], reverse=True)
  9923.  
  9924. b=1
  9925. for j in range(len(lt20)-len(lt20)/2):
  9926.  
  9927. lt21.append(float(lt20[b]))
  9928. b+=2
  9929.  
  9930.  
  9931. c=0
  9932. for j in range(len(lt20)-len(lt20)/2):
  9933. lt22.append(str(lt20[c]))
  9934. c+=2
  9935.  
  9936. s=0
  9937. for j in range(len(lt20)-len(lt20)/2):
  9938. lt14.append((lt22[s],lt21[s])) # lt14
  9939. s+=1
  9940.  
  9941. lt140= sorted(lt14, key=lambda x: x[1], reverse=True)
  9942.  
  9943. b=1
  9944. for j in range(len(lt40)-len(lt40)/2):
  9945. lt51.append(float(lt40[b]))
  9946. b+=2
  9947.  
  9948. c=0
  9949. for j in range(len(lt40)-len(lt40)/2):
  9950. lt52.append(str(lt40[c]))
  9951. c+=2
  9952.  
  9953. s=0
  9954. for j in range(len(lt40)-len(lt40)/2):
  9955. lt16.append((lt52[s],lt51[s])) # lt16
  9956. s+=1
  9957.  
  9958. lt160= sorted(lt16, key=lambda x: x[1], reverse=True)
  9959.  
  9960.  
  9961. b=1
  9962. for j in range(len(lt50)-len(lt50)/2):
  9963. lt61.append(float(lt50[b]))
  9964. b+=2
  9965.  
  9966. c=0
  9967. for j in range(len(lt50)-len(lt50)/2):
  9968. lt62.append(str(lt50[c]))
  9969. c+=2
  9970.  
  9971. s=0
  9972. for j in range(len(lt50)-len(lt50)/2):
  9973. lt17.append((lt62[s],lt61[s])) # lt17
  9974. s+=1
  9975.  
  9976. lt170= sorted(lt17, key=lambda x: x[1], reverse=True)
  9977.  
  9978.  
  9979.  
  9980. print 'lt13', lt13
  9981. print 'lt14', lt14
  9982. print 'lt170', lt170
  9983. print 'lt27', lt27
  9984.  
  9985.  
  9986. return render_to_response('material/adeq80F.html',
  9987. {
  9988. 'laref1': laref1,
  9989. 'laref2': laref2,
  9990. 'laref3': laref3,
  9991. 'laref4': laref4,
  9992. 'laref10': laref10,
  9993. 'laref20': laref20,
  9994. 'laref30': laref30,
  9995. 'laref40': laref40,
  9996. 'laref100': laref100,
  9997. 'laref200': laref200,
  9998. 'laref300': laref300,
  9999. 'laref400': laref400,
  10000. 'laref1000': laref1000,
  10001. 'laref2000': laref2000,
  10002. 'laref3000': laref3000,
  10003. 'laref4000': laref4000,
  10004. 'dref': maref,
  10005. 'dref2':maref2,
  10006. 'dref3':maref3,
  10007. 'dref4':maref4,
  10008. 'Tmin1': Tmin1,
  10009. 'Tmax1': Tmax1,
  10010. 'Tmin2': Tmin2,
  10011. 'Tmax2': Tmax2,
  10012. 'Tmin3': Tmin3,
  10013. 'Tmax3': Tmax3,
  10014. 'Tmin4': Tmin4,
  10015. 'Tmax4': Tmax4,
  10016. #'unit1': unit1,
  10017. #'unit2': unit2,
  10018. #'unit3': unit3,
  10019. 'pt1': lt130,
  10020. 'pt2': lt140,
  10021. 'pt3': lt160,
  10022. 'pt4': lt170,
  10023. 'pt40': lt27,
  10024. 'MAP': MAP,
  10025. 'taille1': taille1,
  10026. 'taille2': taille2,
  10027. 'taille3': taille3,
  10028. 'taille4': taille4,
  10029. 'famille': famille,
  10030. 'valmin1': valmin1,
  10031. 'valmax1': valmax1,
  10032. 'valmin2': valmin2,
  10033. 'valmax2': valmax2,
  10034. 'valmin3': valmin3,
  10035. 'valmax3': valmax3,
  10036. 'valmin4': valmin4,
  10037. 'valmax4': valmax4,
  10038. 'propriete1': points1,
  10039. 'propriete2': points2,
  10040. 'propriete3': points3,
  10041. 'propriete4': points4,
  10042.  
  10043. 'mat1max1': mat1max1,
  10044. 'mat1min1': mat1min1,
  10045. 'mat1temp1': mat1temp1,
  10046. 'mat2max2': mat2max2,
  10047. 'mat2min2': mat2min2,
  10048. 'mat2temp2': mat2temp2,
  10049. 'mat3max3': mat3max3,
  10050. 'mat3min3': mat3min3,
  10051. 'mat3temp3': mat3temp3,
  10052. 'mat4max4': mat4max4,
  10053. 'mat4min4': mat4min4,
  10054. 'mat4temp4': mat4temp4,
  10055.  
  10056. 'mat10max10': mat10max10,
  10057. 'mat10min10': mat10min10,
  10058. 'mat10temp10': mat10temp10,
  10059. 'mat20max20': mat20max20,
  10060. 'mat20min20': mat20min20,
  10061. 'mat20temp20': mat20temp20,
  10062. 'mat30max30': mat30max30,
  10063. 'mat30min30': mat30min30,
  10064. 'mat30temp30': mat30temp30,
  10065. 'mat40max40': mat40max40,
  10066. 'mat40min40': mat40min40,
  10067. 'mat40temp40': mat40temp40,
  10068.  
  10069. 'mat100max100': mat100max100,
  10070. 'mat100min100': mat100min100,
  10071. 'mat100temp100': mat100temp100,
  10072. 'mat200max200': mat200max200,
  10073. 'mat200min200': mat200min200,
  10074. 'mat200temp200': mat200temp200,
  10075. 'mat300max300': mat300max300,
  10076. 'mat300min300': mat300min300,
  10077. 'mat300temp300': mat300temp300,
  10078. 'mat400max400': mat400max400,
  10079. 'mat400min400': mat400min400,
  10080. 'mat400temp400': mat400temp400,
  10081. 'mat1000max1000': mat1000max1000,
  10082. 'mat1000min1000': mat1000min1000,
  10083. 'mat1000temp1000': mat1000temp1000,
  10084. 'mat2000max2000': mat2000max2000,
  10085. 'mat2000min2000': mat2000min2000,
  10086. 'mat2000temp2000': mat2000temp2000,
  10087. 'mat3000max3000': mat3000max3000,
  10088. 'mat3000min3000': mat3000min3000,
  10089. 'mat3000temp3000': mat3000temp3000,
  10090. 'mat4000max4000': mat4000max4000,
  10091. 'mat4000min4000': mat4000min4000,
  10092. 'mat4000temp4000': mat4000temp4000},
  10093. context_instance=RequestContext(request))
  10094.  
  10095.  
  10096. def match6FF(request):
  10097. laref1= request.GET['ref1']
  10098. laref2= request.GET['ref2']
  10099. laref3= request.GET['ref3']
  10100. laref4= request.GET['ref4']
  10101.  
  10102. laref10 = request.GET['ref10']
  10103. laref20= request.GET['ref20']
  10104. laref30= request.GET['ref30']
  10105. laref40= request.GET['ref40']
  10106.  
  10107. laref100 = request.GET['ref100']
  10108. laref200= request.GET['ref200']
  10109. laref300= request.GET['ref300']
  10110. laref400= request.GET['ref400']
  10111.  
  10112. laref1000 = request.GET['ref1000']
  10113. laref2000= request.GET['ref2000']
  10114. laref3000= request.GET['ref3000']
  10115. laref4000= request.GET['ref4000']
  10116. #val_mat1max1 = request.GET['mat1max1']
  10117. #val_mat1min1 = request.GET['mat1min1']
  10118. #val_mat1temp1 = request.GET['mat1temp1']
  10119. Tmin1 = request.GET['Tmin1']
  10120. Tmax1 = request.GET['Tmax1']
  10121. Tmin2 = request.GET['Tmin2']
  10122. Tmax2 = request.GET['Tmax2']
  10123. Tmin3 = request.GET['Tmin3']
  10124. Tmax3 = request.GET['Tmax3']
  10125. Tmin4 = request.GET['Tmin4']
  10126. Tmax4 = request.GET['Tmax4']
  10127. valmin1 = request.GET['valmin1']
  10128. valmax1 = request.GET['valmax1']
  10129. valmin2 = request.GET['valmin2']
  10130. valmax2 = request.GET['valmax2']
  10131. valmin3 = request.GET['valmin3']
  10132. valmax3 = request.GET['valmax3']
  10133. valmin4 = request.GET['valmin4']
  10134. valmax4 = request.GET['valmax4']
  10135. points1 = request.GET['propriete1']
  10136. points2 = request.GET['propriete2']
  10137. points3 = request.GET['propriete3']
  10138. points4 = request.GET['propriete4']
  10139. maref = request.GET['uneref1']
  10140. maref2 = request.GET['uneref2']
  10141. maref3 = request.GET['uneref3']
  10142. maref4 = request.GET['uneref4']
  10143. #unit1 = request.GET['unit1']
  10144. #unit2 = request.GET['unit2']
  10145. #unit3 = request.GET['unit3']
  10146. pt1 = request.GET['pt1']
  10147. pt2 = request.GET['pt2']
  10148. pt3 = request.GET['pt3']
  10149. pt4 = request.GET['pt4']
  10150. print 'ref1000', laref1000
  10151. mat1max1 = request.GET['mat1max1']
  10152. mat1min1 = request.GET['mat1min1']
  10153. mat1temp1 = request.GET['mat1temp1']
  10154. mat2max2 = request.GET['mat2max2']
  10155. mat2min2 = request.GET['mat2min2']
  10156. mat2temp2 = request.GET['mat2temp2']
  10157. mat3max3 = request.GET['mat3max3']
  10158. mat3min3 = request.GET['mat3min3']
  10159. mat3temp3 = request.GET['mat3temp3']
  10160. mat4max4 = request.GET['mat4max4']
  10161. mat4min4 = request.GET['mat4min4']
  10162. mat4temp4 = request.GET['mat4temp4']
  10163.  
  10164. mat10max10 = request.GET['mat10max10']
  10165. mat10min10 = request.GET['mat10min10']
  10166. mat10temp10 = request.GET['mat10temp10']
  10167. mat20max20 = request.GET['mat20max20']
  10168. mat20min20 = request.GET['mat20min20']
  10169. mat20temp20 = request.GET['mat20temp20']
  10170. mat30max30 = request.GET['mat30max30']
  10171. mat30min30 = request.GET['mat30min30']
  10172. mat30temp30 = request.GET['mat30temp30']
  10173. mat40max40 = request.GET['mat40max40']
  10174. mat40min40 = request.GET['mat40min40']
  10175. mat40temp40 = request.GET['mat40temp40']
  10176.  
  10177. mat100max100 = request.GET['mat100max100']
  10178. mat100min100 = request.GET['mat100min100']
  10179. mat100temp100 = request.GET['mat100temp100']
  10180. mat200max200 = request.GET['mat200max200']
  10181. mat200min200 = request.GET['mat200min200']
  10182. mat200temp200 = request.GET['mat200temp200']
  10183. mat300max300 = request.GET['mat300max300']
  10184. mat300min300 = request.GET['mat300min300']
  10185. mat300temp300 = request.GET['mat300temp300']
  10186. mat400max400 = request.GET['mat400max400']
  10187. mat400min400 = request.GET['mat400min400']
  10188. mat400temp400 = request.GET['mat400temp400']
  10189.  
  10190. mat1000max1000 = request.GET['mat1000max1000']
  10191. mat1000min1000 = request.GET['mat1000min1000']
  10192. mat1000temp1000 = request.GET['mat1000temp1000']
  10193. mat2000max2000 = request.GET['mat2000max2000']
  10194. mat2000min2000 = request.GET['mat2000min2000']
  10195. mat2000temp2000 = request.GET['mat2000temp2000']
  10196. mat3000max3000 = request.GET['mat3000max3000']
  10197. mat3000min3000 = request.GET['mat3000min3000']
  10198. mat3000temp3000 = request.GET['mat3000temp3000']
  10199. mat4000max4000 = request.GET['mat4000max4000']
  10200. mat4000min4000 = request.GET['mat4000min4000']
  10201. mat4000temp4000 = request.GET['mat4000temp4000']
  10202. famille = request.GET['famille']
  10203. ponderation = request.GET['MM']
  10204. MAP = request.GET['MAP']
  10205. taille1 = request.GET['size1']
  10206. taille2 = request.GET['size2']
  10207. taille3 = request.GET['size3']
  10208. taille4 = request.GET['size4']
  10209. print points1
  10210. print 'uneref1', maref
  10211. print 'uneref2', maref2
  10212. print 'uneref3', maref3
  10213. print 'ponderation', ponderation
  10214.  
  10215. lt10=[]
  10216. lt12=[]
  10217. lt13=[]
  10218. lt11=[]
  10219. lt20=[]
  10220. lt30=[]
  10221. lt40=[]
  10222. lt21=[]
  10223. lt22=[]
  10224. lt25=[]
  10225. lt26=[]
  10226. lt27=[]
  10227. lt14=[]
  10228. lt15=[]
  10229. lt16=[]
  10230. lt17=[]
  10231. lt51=[]
  10232. lt52=[]
  10233. lt61=[]
  10234. lt62=[]
  10235.  
  10236.  
  10237. lt10 = [s.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for s in pt1.split(',')]
  10238. lt20 = [p.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for p in pt2.split(',')]
  10239. lt40 = [n.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for n in pt3.split(',')]
  10240. lt50 = [j.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for j in pt4.split(',')]
  10241. lt30 = [t.replace('[', '').replace('(', '').replace(')', '').replace(']', '').replace('<', '').replace('>', '').replace('Material:', '').strip() for t in ponderation.split(',')]
  10242.  
  10243.  
  10244. print 'lt10',lt10
  10245. print 'lt20', lt20
  10246. print 'lt40', lt40
  10247. print'lt30', lt30
  10248.  
  10249.  
  10250. b=1
  10251. for j in range(len(lt30)-len(lt30)/2):
  10252.  
  10253. lt25.append(float(lt30[b]))
  10254. b+=2
  10255.  
  10256.  
  10257. c=0
  10258. for j in range(len(lt30)-len(lt30)/2):
  10259. lt26.append(str(lt30[c]))
  10260. c+=2
  10261.  
  10262.  
  10263. s=0
  10264. for j in range(len(lt30)-len(lt30)/2):
  10265. lt27.append((lt25[s],lt26[s])) # lt27
  10266. s+=1
  10267.  
  10268.  
  10269. b=1
  10270. for j in range(len(lt10)-len(lt10)/2):
  10271. lt11.append(float(lt10[b]))
  10272. b+=2
  10273.  
  10274. c=0
  10275. for j in range(len(lt10)-len(lt10)/2):
  10276. lt12.append(str(lt10[c]))
  10277. c+=2
  10278.  
  10279. s=0
  10280. for j in range(len(lt10)-len(lt10)/2):
  10281. lt13.append((lt12[s],lt11[s])) # lt13
  10282. s+=1
  10283.  
  10284.  
  10285. lt130= sorted(lt13, key=lambda x: x[1], reverse=True)
  10286.  
  10287. b=1
  10288. for j in range(len(lt20)-len(lt20)/2):
  10289.  
  10290. lt21.append(float(lt20[b]))
  10291. b+=2
  10292.  
  10293.  
  10294. c=0
  10295. for j in range(len(lt20)-len(lt20)/2):
  10296. lt22.append(str(lt20[c]))
  10297. c+=2
  10298.  
  10299. s=0
  10300. for j in range(len(lt20)-len(lt20)/2):
  10301. lt14.append((lt22[s],lt21[s])) # lt14
  10302. s+=1
  10303.  
  10304. lt140= sorted(lt14, key=lambda x: x[1], reverse=True)
  10305.  
  10306. b=1
  10307. for j in range(len(lt40)-len(lt40)/2):
  10308. lt51.append(float(lt40[b]))
  10309. b+=2
  10310.  
  10311. c=0
  10312. for j in range(len(lt40)-len(lt40)/2):
  10313. lt52.append(str(lt40[c]))
  10314. c+=2
  10315.  
  10316. s=0
  10317. for j in range(len(lt40)-len(lt40)/2):
  10318. lt16.append((lt52[s],lt51[s])) # lt16
  10319. s+=1
  10320.  
  10321. lt160= sorted(lt16, key=lambda x: x[1], reverse=True)
  10322.  
  10323.  
  10324. b=1
  10325. for j in range(len(lt50)-len(lt50)/2):
  10326. lt61.append(float(lt50[b]))
  10327. b+=2
  10328.  
  10329. c=0
  10330. for j in range(len(lt50)-len(lt50)/2):
  10331. lt62.append(str(lt50[c]))
  10332. c+=2
  10333.  
  10334. s=0
  10335. for j in range(len(lt50)-len(lt50)/2):
  10336. lt17.append((lt62[s],lt61[s])) # lt17
  10337. s+=1
  10338.  
  10339. lt170= sorted(lt17, key=lambda x: x[1], reverse=True)
  10340.  
  10341.  
  10342.  
  10343. print 'lt13', lt13
  10344. print 'lt14', lt14
  10345. print 'lt170', lt170
  10346. print 'lt27', lt27
  10347.  
  10348.  
  10349. return render_to_response('material/adeq80FF.html',
  10350. {
  10351. 'laref1': laref1,
  10352. 'laref2': laref2,
  10353. 'laref3': laref3,
  10354. 'laref4': laref4,
  10355. 'laref10': laref10,
  10356. 'laref20': laref20,
  10357. 'laref30': laref30,
  10358. 'laref40': laref40,
  10359. 'laref100': laref100,
  10360. 'laref200': laref200,
  10361. 'laref300': laref300,
  10362. 'laref400': laref400,
  10363. 'laref1000': laref1000,
  10364. 'laref2000': laref2000,
  10365. 'laref3000': laref3000,
  10366. 'laref4000': laref4000,
  10367. 'dref': maref,
  10368. 'dref2':maref2,
  10369. 'dref3':maref3,
  10370. 'dref4':maref4,
  10371. 'Tmin1': Tmin1,
  10372. 'Tmax1': Tmax1,
  10373. 'Tmin2': Tmin2,
  10374. 'Tmax2': Tmax2,
  10375. 'Tmin3': Tmin3,
  10376. 'Tmax3': Tmax3,
  10377. 'Tmin4': Tmin4,
  10378. 'Tmax4': Tmax4,
  10379. #'unit1': unit1,
  10380. #'unit2': unit2,
  10381. #'unit3': unit3,
  10382. 'pt1': lt130,
  10383. 'pt2': lt140,
  10384. 'pt3': lt160,
  10385. 'pt4': lt170,
  10386. 'pt40': lt27,
  10387. 'MAP': MAP,
  10388. 'taille1': taille1,
  10389. 'taille2': taille2,
  10390. 'taille3': taille3,
  10391. 'taille4': taille4,
  10392. 'famille': famille,
  10393. 'valmin1': valmin1,
  10394. 'valmax1': valmax1,
  10395. 'valmin2': valmin2,
  10396. 'valmax2': valmax2,
  10397. 'valmin3': valmin3,
  10398. 'valmax3': valmax3,
  10399. 'valmin4': valmin4,
  10400. 'valmax4': valmax4,
  10401. 'propriete1': points1,
  10402. 'propriete2': points2,
  10403. 'propriete3': points3,
  10404. 'propriete4': points4,
  10405.  
  10406. 'mat1max1': mat1max1,
  10407. 'mat1min1': mat1min1,
  10408. 'mat1temp1': mat1temp1,
  10409. 'mat2max2': mat2max2,
  10410. 'mat2min2': mat2min2,
  10411. 'mat2temp2': mat2temp2,
  10412. 'mat3max3': mat3max3,
  10413. 'mat3min3': mat3min3,
  10414. 'mat3temp3': mat3temp3,
  10415. 'mat4max4': mat4max4,
  10416. 'mat4min4': mat4min4,
  10417. 'mat4temp4': mat4temp4,
  10418.  
  10419. 'mat10max10': mat10max10,
  10420. 'mat10min10': mat10min10,
  10421. 'mat10temp10': mat10temp10,
  10422. 'mat20max20': mat20max20,
  10423. 'mat20min20': mat20min20,
  10424. 'mat20temp20': mat20temp20,
  10425. 'mat30max30': mat30max30,
  10426. 'mat30min30': mat30min30,
  10427. 'mat30temp30': mat30temp30,
  10428. 'mat40max40': mat40max40,
  10429. 'mat40min40': mat40min40,
  10430. 'mat40temp40': mat40temp40,
  10431.  
  10432. 'mat100max100': mat100max100,
  10433. 'mat100min100': mat100min100,
  10434. 'mat100temp100': mat100temp100,
  10435. 'mat200max200': mat200max200,
  10436. 'mat200min200': mat200min200,
  10437. 'mat200temp200': mat200temp200,
  10438. 'mat300max300': mat300max300,
  10439. 'mat300min300': mat300min300,
  10440. 'mat300temp300': mat300temp300,
  10441. 'mat400max400': mat400max400,
  10442. 'mat400min400': mat400min400,
  10443. 'mat400temp400': mat400temp400,
  10444. 'mat1000max1000': mat1000max1000,
  10445. 'mat1000min1000': mat1000min1000,
  10446. 'mat1000temp1000': mat1000temp1000,
  10447. 'mat2000max2000': mat2000max2000,
  10448. 'mat2000min2000': mat2000min2000,
  10449. 'mat2000temp2000': mat2000temp2000,
  10450. 'mat3000max3000': mat3000max3000,
  10451. 'mat3000min3000': mat3000min3000,
  10452. 'mat3000temp3000': mat3000temp3000,
  10453. 'mat4000max4000': mat4000max4000,
  10454. 'mat4000min4000': mat4000min4000,
  10455. 'mat4000temp4000': mat4000temp4000},
  10456. context_instance=RequestContext(request))
  10457.  
  10458.  
  10459. def graphe100(request):
  10460. try:
  10461. famille='ceramique'
  10462. print famille
  10463. return render_to_response('material/critere100.html',
  10464. {'nomfamille': famille},
  10465. context_instance=RequestContext(request))
  10466. except:
  10467. return HttpResponse("OK")
  10468.  
  10469.  
  10470.  
  10471.  
  10472. def graphe200(request):
  10473. try:
  10474. famille='ceramique'
  10475. print famille
  10476. return render_to_response('material/critere200.html',
  10477. {'nomfamille': famille},
  10478. context_instance=RequestContext(request))
  10479. except:
  10480. return HttpResponse("OK")
  10481.  
  10482.  
  10483.  
  10484. def moyenne(Uneliste1, Uneliste2): # calcule la liste des valeurs moyennees
  10485. x=0
  10486. i=0
  10487. TT=[]
  10488. while i< len(Uneliste1):
  10489. TT.append((Uneliste1[x]+Uneliste2[x])/2)
  10490. x+=1
  10491. i+=1
  10492.  
  10493. return TT
  10494.  
  10495.  
  10496.  
  10497.  
  10498. def affich_graphe5(request):
  10499. try:
  10500.  
  10501. val_nom = request.GET['materiau']
  10502. valT1 = request.GET['propriete'] # propriete 1
  10503. val_nom2 = request.GET['materiau2']
  10504. val_nom3 = request.GET['materiau3']
  10505. val_nom4 = request.GET['materiau4']
  10506. val_nom5 = request.GET['materiau5']
  10507. #lavaleur1 = request.GET['valeur1']
  10508. interpol = request.GET['interpolation']
  10509.  
  10510. print val_nom
  10511. print valT1
  10512. print val_nom2
  10513.  
  10514. #print lavaleur1
  10515.  
  10516. moy=[]
  10517. moy1=[]
  10518.  
  10519.  
  10520. if val_nom !='0':
  10521. valeur_T, valeur_min, valeur_max, valeur_moy, nomfichier = calcul(val_nom, valT1)
  10522. moy = moyenne(valeur_min, valeur_max)
  10523.  
  10524.  
  10525.  
  10526. if val_nom2 !='0':
  10527. valeur_T1, valeur_min1, valeur_max1, valeur_moy1, nomfichier = calcul(val_nom2, valT1)
  10528. moy1 = moyenne(valeur_min1, valeur_max1)
  10529.  
  10530. if val_nom3 !='0':
  10531. valeur_T2, valeur_min2, valeur_max2, valeur_moy2, nomfichier = calcul(val_nom3, valT1)
  10532. moy2 = moyenne(valeur_min2, valeur_max2)
  10533.  
  10534. if val_nom4 !='0':
  10535. valeur_T3, valeur_min3, valeur_max3, valeur_moy3, nomfichier = calcul(val_nom4, valT1)
  10536. moy3 = moyenne(valeur_min3, valeur_max3)
  10537.  
  10538. if val_nom5 !='0':
  10539. valeur_T4, valeur_min4, valeur_max4, valeur_moy4, nomfichier = calcul(val_nom5, valT1)
  10540. moy4 = moyenne(valeur_min4, valeur_max4)
  10541.  
  10542.  
  10543.  
  10544.  
  10545.  
  10546.  
  10547.  
  10548.  
  10549. datas20= {'val_T':valeur_T, 'val_min': valeur_min, 'val_max': valeur_max,
  10550. 'val_T20':valeur_T1, 'val_min20': valeur_min1, 'val_max20': valeur_max1,
  10551. 'val_T30':valeur_T2, 'val_min30': valeur_min2, 'val_max30': valeur_max2,
  10552. 'val_T40':valeur_T3, 'val_min40': valeur_min3, 'val_max40': valeur_max3,
  10553. 'val_T50':valeur_T4, 'val_min50': valeur_min4, 'val_max50': valeur_max4,
  10554. 'val_moy': valeur_moy,
  10555. 'val_moy20':valeur_moy1,
  10556. 'val_moy30':valeur_moy2,
  10557. 'val_moy40':valeur_moy3,
  10558. 'val_moy50':valeur_moy4,
  10559.  
  10560. 'inter':interpol}
  10561.  
  10562.  
  10563. data = simplejson.dumps(datas20)
  10564.  
  10565. return HttpResponse(data, mimetype= 'application/json')
  10566.  
  10567. except ValueError:
  10568. print 'pas de donnees enregistrees'
  10569. return render_to_response('material/erreur2.html')
  10570.  
  10571.  
  10572.  
  10573. def affich_graphe4(request):
  10574. try:
  10575.  
  10576. val_nom = request.GET['materiau']
  10577. valT1 = request.GET['propriete'] # propriete 1
  10578. val_nom2 = request.GET['materiau2']
  10579. val_nom3 = request.GET['materiau3']
  10580. val_nom4 = request.GET['materiau4']
  10581.  
  10582. #lavaleur1 = request.GET['valeur1']
  10583. interpol = request.GET['interpolation']
  10584.  
  10585. print val_nom
  10586. print valT1
  10587. print val_nom2
  10588.  
  10589. #print lavaleur1
  10590.  
  10591. moy=[]
  10592. moy1=[]
  10593.  
  10594.  
  10595. if val_nom !='0':
  10596. valeur_T, valeur_min, valeur_max, valeur_moy, nomfichier = calcul(val_nom, valT1)
  10597. moy = moyenne(valeur_min, valeur_max)
  10598.  
  10599.  
  10600.  
  10601. if val_nom2 !='0':
  10602. valeur_T1, valeur_min1, valeur_max1, valeur_moy1, nomfichier = calcul(val_nom2, valT1)
  10603. moy1 = moyenne(valeur_min1, valeur_max1)
  10604.  
  10605. if val_nom3 !='0':
  10606. valeur_T2, valeur_min2, valeur_max2, valeur_moy2, nomfichier = calcul(val_nom3, valT1)
  10607. moy2 = moyenne(valeur_min2, valeur_max2)
  10608.  
  10609. if val_nom4 !='0':
  10610. valeur_T3, valeur_min3, valeur_max3, valeur_moy3, nomfichier = calcul(val_nom4, valT1)
  10611. moy3 = moyenne(valeur_min3, valeur_max3)
  10612.  
  10613.  
  10614.  
  10615. datas20= {'val_T':valeur_T, 'val_min': valeur_min, 'val_max': valeur_max,
  10616. 'val_T20':valeur_T1, 'val_min20': valeur_min1, 'val_max20': valeur_max1,
  10617. 'val_T30':valeur_T2, 'val_min30': valeur_min2, 'val_max30': valeur_max2,
  10618. 'val_T40':valeur_T3, 'val_min40': valeur_min3, 'val_max40': valeur_max3,
  10619. 'val_moy': valeur_moy,
  10620. 'val_moy20':valeur_moy1,
  10621. 'val_moy30':valeur_moy2,
  10622. 'val_moy40':valeur_moy3,
  10623. 'inter':interpol}
  10624.  
  10625.  
  10626. data = simplejson.dumps(datas20)
  10627.  
  10628. return HttpResponse(data, mimetype= 'application/json')
  10629.  
  10630. except ValueError:
  10631. print 'pas de donnees enregistrees'
  10632. return render_to_response('material/erreur2.html')
  10633.  
  10634.  
  10635.  
  10636.  
  10637. def affich_graphe3(request):
  10638. try:
  10639.  
  10640. val_nom = request.GET['materiau']
  10641. valT1 = request.GET['propriete'] # propriete 1
  10642. val_nom2 = request.GET['materiau2']
  10643. val_nom3 = request.GET['materiau3']
  10644.  
  10645. #lavaleur1 = request.GET['valeur1']
  10646. interpol = request.GET['interpolation']
  10647.  
  10648. print val_nom
  10649. print valT1
  10650. print val_nom2
  10651.  
  10652. #print lavaleur1
  10653.  
  10654. moy=[]
  10655. moy1=[]
  10656.  
  10657.  
  10658. if val_nom !='0':
  10659. valeur_T, valeur_min, valeur_max, valeur_moy, nomfichier = calcul(val_nom, valT1)
  10660. moy = moyenne(valeur_min, valeur_max)
  10661.  
  10662.  
  10663. if val_nom2 !='0':
  10664. valeur_T1, valeur_min1, valeur_max1, valeur_moy1, nomfichier = calcul(val_nom2, valT1)
  10665. moy1 = moyenne(valeur_min1, valeur_max1)
  10666.  
  10667. if val_nom3 !='0':
  10668. valeur_T2, valeur_min2, valeur_max2, valeur_moy2, nomfichier = calcul(val_nom3, valT1)
  10669. moy2 = moyenne(valeur_min2, valeur_max2)
  10670.  
  10671.  
  10672.  
  10673.  
  10674. datas20= {'val_T':valeur_T, 'val_min': valeur_min, 'val_max': valeur_max,
  10675. 'val_T20':valeur_T1, 'val_min20': valeur_min1, 'val_max20': valeur_max1,
  10676. 'val_T30':valeur_T2, 'val_min30': valeur_min2, 'val_max30': valeur_max2,
  10677.  
  10678. 'val_moy': valeur_moy,
  10679. 'val_moy20':valeur_moy1,
  10680. 'val_moy30':valeur_moy2,
  10681. 'inter':interpol}
  10682.  
  10683.  
  10684.  
  10685.  
  10686. data = simplejson.dumps(datas20)
  10687.  
  10688. return HttpResponse(data, mimetype= 'application/json')
  10689.  
  10690. except ValueError:
  10691. print 'pas de donnees enregistrees'
  10692. #return render_to_response('material/erreur2.html')
  10693.  
  10694.  
  10695.  
  10696.  
  10697.  
  10698. def affich_graphe2(request):
  10699. try:
  10700.  
  10701. val_nom = request.GET['materiau']
  10702. valT1 = request.GET['propriete'] # propriete 1
  10703. val_nom2 = request.GET['materiau2']
  10704.  
  10705.  
  10706. #lavaleur1 = request.GET['valeur1']
  10707. interpol = request.GET['interpolation']
  10708.  
  10709.  
  10710.  
  10711. moy=[]
  10712. moy1=[]
  10713.  
  10714.  
  10715. if val_nom !='0':
  10716. valeur_T, valeur_min, valeur_max, valeur_moy, nomfichier = calcul(val_nom, valT1)
  10717. moy = moyenne(valeur_min, valeur_max)
  10718.  
  10719.  
  10720. if val_nom2 !='0':
  10721. valeur_T1, valeur_min1, valeur_max1, valeur_moy1, nomfichier = calcul(val_nom2, valT1)
  10722. moy1 = moyenne(valeur_min1, valeur_max1)
  10723.  
  10724.  
  10725.  
  10726.  
  10727. datas20= {'val_T':valeur_T, 'val_min': valeur_min, 'val_max': valeur_max,
  10728. 'val_T20':valeur_T1, 'val_min20': valeur_min1, 'val_max20': valeur_max1,
  10729. 'val_moy': valeur_moy,
  10730. 'val_moy20':valeur_moy1,
  10731. 'inter':interpol}
  10732.  
  10733. #'lechoix1':lavaleur1, 'inter':interpol}
  10734.  
  10735.  
  10736. data = simplejson.dumps(datas20)
  10737.  
  10738. return HttpResponse(data, mimetype= 'application/json')
  10739.  
  10740. except ValueError:
  10741. print 'pas de donnees enregistrees'
  10742. page='material/erreur2.html'
  10743. #raise Http404
  10744. #return redirect('http://www.google.com/')
  10745. return render_to_response(page)
  10746.  
  10747.  
  10748.  
  10749.  
  10750. def affich_graphe(request):
  10751. try:
  10752.  
  10753. val_nom = request.GET['materiau']
  10754. valT1 = request.GET['propriete'] # propriete 1
  10755. interpol = request.GET['interpolation']
  10756.  
  10757.  
  10758. moy=[]
  10759. moy1=[]
  10760.  
  10761.  
  10762. if val_nom !='0':
  10763. valeur_T, valeur_min, valeur_max, valeur_moy, nomfichier = calcul(val_nom, valT1)
  10764. moy = moyenne(valeur_min, valeur_max)
  10765.  
  10766. datas20= {'val_T':valeur_T, 'val_min': valeur_min, 'val_max': valeur_max,
  10767. 'val_moy': valeur_moy,
  10768. 'inter':interpol}
  10769.  
  10770.  
  10771.  
  10772. data = simplejson.dumps(datas20)
  10773.  
  10774. return HttpResponse(data, mimetype= 'application/json')
  10775.  
  10776. except Exception, msg:
  10777. print 'erreur materiau', msg
  10778. #return HttpResponseServerError(unicode(msg))
  10779. #return render_to_response('material/critere2.html')
  10780.  
  10781. raise
  10782.  
  10783.  
  10784.  
  10785.  
  10786. def resout2(request):
  10787. return render_to_response('material/critere2.html')
  10788.  
  10789.  
  10790. # fonctions equivalentes lit_propriete lit_property
  10791.  
  10792. def lit_propriete(request, id):
  10793.  
  10794. return object_detail(request,
  10795. queryset= Temp_exp.objects.all(),
  10796. object_id=id,
  10797. template_name='material/lit_prop.html',
  10798. template_object_name ='temp1'
  10799. )
  10800.  
  10801. def lit_property(request, pk):
  10802. temp1 = Temp_exp.objects.get(id = id)
  10803. return render_to_response('material/lit_prop.html', {'temp1': temp1})
  10804.  
  10805.  
  10806. def view_post(request, pk):
  10807. return render_to_response('material/view_post.html', {
  10808. 'post': get_object_or_404(UniteProperty2, pk=pk)})
  10809.  
  10810.  
  10811.  
  10812. def liendyn(request, media_id):
  10813. media = Media2.objects.get(id = media_id)
  10814. return render_to_response('material/template2.html', {'media': media})
  10815.  
  10816.  
  10817.  
  10818. def view_material_list(request):
  10819. _material_list = models.Material.objects.all()
  10820. _paginator = paginator.Paginator(_material_list, 3) # Show 25 contacts per page
  10821. _page = request.GET.get('page') if 'page' in request.GET else 1
  10822. try:
  10823. _materials = _paginator.page(_page)
  10824. except paginator.PageNotAnInteger:
  10825. _materials = _paginator.page(1)
  10826. except paginator.EmptyPage:
  10827. _materials = _paginator.page(_paginator.num_pages)
  10828. # .. render it
  10829. return shortcuts.render_to_response('material/list.html',
  10830. {"category": _materials})
  10831.  
  10832.  
  10833.  
  10834.  
  10835. def upload_file(request):
  10836.  
  10837. if request.method == 'POST':
  10838. form = DisplayForm(request.POST)
  10839.  
  10840. else:
  10841. form = DisplayForm()
  10842. return render_to_response('material/upload.html', {'form': form,
  10843. })
  10844.  
  10845.  
  10846. @csrf_exempt
  10847. def resout(request):
  10848.  
  10849. try:
  10850. val1 = str(request.GET['temperature']) # temperature
  10851. val2 = request.GET['propriete'] # propriete
  10852. val3 = request.GET['reference'] # reference
  10853.  
  10854. tab=[]
  10855. tab1=[]
  10856. valeur_T, valeur_min, valeur_max, valeur_moy, nomfichier = calcul(val3, val2)
  10857.  
  10858.  
  10859. rec = UniteProperty2.objects.get(name__name=val3, val_champ=val2)
  10860.  
  10861. datas2= {'val_T':valeur_T, 'val_min': valeur_min, 'val_max': valeur_max, 'laval_ref': nomfichier, 'valmoy': valeur_moy, 'id': rec.id}
  10862.  
  10863. data = simplejson.dumps(datas2)
  10864.  
  10865. return HttpResponse(data, mimetype= 'application/json')
  10866.  
  10867. except Exception, msg:
  10868. print 'erreur resout', msg
  10869. raise
  10870.  
  10871.  
  10872.  
  10873. def resout50(request):
  10874. try:
  10875. val1 = request.GET['propriete1']
  10876. val2 = request.GET['propriete2']
  10877. val3 = request.GET['Tmin1']
  10878. val4 = request.GET['Tmax1']
  10879. print 'propriete1', val1
  10880. print 'propriete2', val2
  10881. print 'Tmin1', val3
  10882. print 'Tmax1', val4
  10883.  
  10884. datas2= {'propriete1':propriete1}
  10885.  
  10886. data = simplejson.dumps(datas2)
  10887.  
  10888. return HttpResponse(data, mimetype= 'application/json')
  10889.  
  10890. except Exception, msg:
  10891. print 'erreur ', msg
  10892. raise
  10893.  
  10894.  
  10895.  
  10896.  
  10897. def logout(request):
  10898. from django.contrib.auth import logout
  10899. from django.http import HttpResponseRedirect
  10900.  
  10901. logout(request)
  10902. return HttpResponseRedirect('http://localhost:8000')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement