aklim007

temp1

Jun 24th, 2013
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.45 KB | None | 0 0
  1. rack = get_object_or_404(Rack, id = rack_id)
  2.  
  3. hardware = []
  4. racks = []
  5. pow_cable = []
  6. # оборудование для текущей стойки
  7. for hw in Hardware.objects.filter( rackplace__rack__id = rack_id, hardwaremodel__is_module = False):
  8.     title = hw.hardwaremodel.title
  9.     if hw.description:
  10.         title += ' ' + hw.description
  11.    
  12.     if hw.rackplace:
  13.         hardware.append({
  14.             'id': hw.id,
  15.             'is_face': hw.rackplace.is_face,
  16.             'first_screw': hw.rackplace.first_screw, #для упорядочивания оборудования
  17.             'rack_id': hw.rackplace.rack.id,
  18.             'num_psu': hw.num_psu,
  19.             'title': title,
  20.         })
  21.     else:
  22.         hardware.append({
  23.             'id': hw.id,
  24.             'is_face': '',
  25.             'first_screw': '',
  26.             'rack_id': '',
  27.             'num_psu': hw.num_psu,
  28.             'title': title,
  29.         })
  30.        
  31.     for power_cable in hw.power_sources.all():
  32.         pow_cable.append({
  33.             'source_id': power_cable.source.id,
  34.             'consumer_id': hw.id,
  35.         })
  36.         #если источник питания для текущего оборудования внестоечное
  37.         if not (power_cable.source.rackplace) :
  38.             title = power_cable.source.hardwaremodel.title
  39.             if hw.description:
  40.                 title += ' ' + power_cable.source.description
  41.             hardware.append({
  42.                 'id': power_cable.source.id,
  43.                 'is_face': '',
  44.                 'first_screw': '',
  45.                 'rack_id': '',
  46.                 'num_psu': power_cable.source.num_psu,
  47.                 'title': title,
  48.             })
  49.         #если источник питания для текущего оборудования находится в другой стойке
  50.         elif ( power_cable.source.rackplace.rack.id != rack_id ):
  51.             title = power_cable.source.hardwaremodel.title
  52.             if hw.description:
  53.                 title += ' ' + power_cable.source.description
  54.             hardware.append({
  55.                 'id': power_cable.source.id,
  56.                 'is_face': power_cable.source.rackplace.is_face,
  57.                 'first_screw': power_cable.source.rackplace.first_screw,
  58.                 'rack_id': power_cable.source.rackplace.rack.id,
  59.                 'num_psu': power_cable.source.num_psu,
  60.                 'title': title,
  61.             })
  62.    
  63.     for power_cable in hw.power_consumers.all():
  64.         #если потребитель питания для текущего оборудования внестоечное
  65.         if not (power_cable.consumer.rackplace ):
  66.             title = power_cable.consumer.hardwaremodel.title
  67.             if hw.description:
  68.                 title += ' ' + power_cable.consumer.description
  69.             hardware.append({
  70.                 'id': power_cable.consumer.id,
  71.                 'is_face': '',
  72.                 'first_screw': '',
  73.                 'rack_id': '',
  74.                 'num_psu': power_cable.consumer.num_psu,
  75.                 'title': title,
  76.             })
  77.             pow_cable.append({
  78.                 'source_id': hw.id,
  79.                 'consumer_id': power_cable.consumer.id,
  80.             })
  81.         #если потребитель питания для текущего оборудования находится в другой стойке
  82.         elif ( power_cable.consumer.rackplace.rack.id != rack_id ):
  83.             title = power_cable.consumer.hardwaremodel.title
  84.             if hw.description:
  85.                 title += ' ' + power_cable.consumer.description
  86.             hardware.append({
  87.                 'id': power_cable.consumer.id,
  88.                 'is_face': power_cable.consumer.rackplace.is_face,
  89.                 'first_screw': power_cable.consumer.rackplace.first_screw,
  90.                 'rack_id': power_cable.consumer.rackplace.rack.id,
  91.                 'num_psu': power_cable.consumer.num_psu,
  92.                 'title': title,
  93.             })
  94.             pow_cable.append({
  95.                 'source_id': hw.id,
  96.                 'consumer_id': power_cable.consumer.id,
  97.             })
  98.    
  99. for rk in Rack.objects.filter(comcenter__id = rack.comcenter_id):
  100.     racks.append({
  101.         'id': rk.id,
  102.         'title': rk.title,
  103.         'fromtop': rk.fromtop,
  104.     })
  105. response = {'ck_title': rack.comcenter.title, 'racks': list(racks), 'hardware': list(hardware), 'power_cable': list(pow_cable)}
Advertisement
Add Comment
Please, Sign In to add comment