app/soc/logic/allocations.py
changeset 1651 ce52003ca18f
parent 1307 091a21cf3627
child 1717 d4c4c8668871
equal deleted inserted replaced
1650:51b5bc38522c 1651:ce52003ca18f
    58 
    58 
    59     all_applications = []
    59     all_applications = []
    60 
    60 
    61     for _, value in applications.iteritems():
    61     for _, value in applications.iteritems():
    62       all_applications += value
    62       all_applications += value
    63 
    63     
       
    64     self.locked_slots = {}
       
    65     self.adjusted_slots = {}
       
    66     self.adjusted_orgss = []
       
    67     self.locked_orgs = []
       
    68     self.unlocked_applications = []
    64     self.slots = slots
    69     self.slots = slots
    65     self.max_slots_per_org = max_slots_per_org
    70     self.max_slots_per_org = max_slots_per_org
    66     self.orgs = set(orgs)
    71     self.orgs = set(orgs)
    67     self.applications = applications
    72     self.applications = applications
    68     self.all_applications = set(all_applications)
    73     self.all_applications = set(all_applications)
    94     # set a and b
    99     # set a and b
    95     locked_orgs = set(locked_slots.keys())
   100     locked_orgs = set(locked_slots.keys())
    96     adjusted_orgs = set(adjusted_slots.keys())
   101     adjusted_orgs = set(adjusted_slots.keys())
    97 
   102 
    98     # set a' and b'
   103     # set a' and b'
    99     unlocked_orgs = self.orgs.difference(locked_orgs)
   104     # unlocked_orgs = self.orgs.difference(locked_orgs)
   100     unadjusted_orgs = self.orgs.difference(adjusted_orgs)
   105     # unadjusted_orgs = self.orgs.difference(adjusted_orgs)
   101 
   106 
   102     # set a*b and a'*b'
   107     # set a*b and a'*b'
   103     locked_and_adjusted_orgs = locked_orgs.intersection(adjusted_orgs)
   108     locked_and_adjusted_orgs = locked_orgs.intersection(adjusted_orgs)
   104     unlocked_and_unadjusted_orgs = unlocked_orgs.intersection(unadjusted_orgs)
   109     
       
   110     # unlocked_and_unadjusted_orgs = unlocked_orgs.intersection(unadjusted_orgs)
   105 
   111 
   106     # a+o and b+o should be o
   112     # a+o and b+o should be o
   107     locked_orgs_or_orgs = self.orgs.union(locked_orgs)
   113     locked_orgs_or_orgs = self.orgs.union(locked_orgs)
   108     adjusted_orgs_or_orgs = self.orgs.union(adjusted_orgs)
   114     adjusted_orgs_or_orgs = self.orgs.union(adjusted_orgs)
   109 
   115