equal
deleted
inserted
replaced
286 ssource = self._session.repo.system_source |
286 ssource = self._session.repo.system_source |
287 needsplit = True |
287 needsplit = True |
288 flag = 0 |
288 flag = 0 |
289 for v in crossvars: |
289 for v in crossvars: |
290 if isinstance(v, Constant): |
290 if isinstance(v, Constant): |
291 self._sourcesvars[ssource][v] = set(self._solindices) |
291 allsols = set(self._solindices) |
|
292 try: |
|
293 self._sourcesvars[ssource][v] = allsols |
|
294 except KeyError: |
|
295 self._sourcesvars[ssource] = {v: allsols} |
292 if len(vsources[v]) == 1: |
296 if len(vsources[v]) == 1: |
293 if iter(vsources[v]).next()[0].uri == 'system': |
297 if iter(vsources[v]).next()[0].uri == 'system': |
294 flag = 1 |
298 flag = 1 |
295 for ov in crossvars: |
299 for ov in crossvars: |
296 if ov is not v and ov._q_invariant: |
300 if ov is not v and (isinstance(ov, Constant) or ov._q_invariant): |
297 ssset = frozenset((ssource,)) |
301 ssset = frozenset((ssource,)) |
298 self._remove_sources(ov, vsources[ov] - ssset) |
302 self._remove_sources(ov, vsources[ov] - ssset) |
299 else: |
303 else: |
300 for ov in crossvars: |
304 for ov in crossvars: |
301 if ov is not v and ov._q_invariant: |
305 if ov is not v and (isinstance(ov, Constant) or ov._q_invariant): |
302 needsplit = False |
306 needsplit = False |
303 break |
307 break |
304 else: |
308 else: |
305 continue |
309 continue |
306 if not rel.neged(strict=True): |
310 if not rel.neged(strict=True): |