2006-11-28 Alex Roitman <shura@gramps-project.org>
* src/Filters/Rules/Place/_HasPlace.py (apply_location): Add method; (apply): Rework to correctly match location parameters. svn: r7730
This commit is contained in:
parent
21fc859daf
commit
0045454892
@ -1,3 +1,8 @@
|
|||||||
|
2006-11-28 Alex Roitman <shura@gramps-project.org>
|
||||||
|
* src/Filters/Rules/Place/_HasPlace.py (apply_location): Add
|
||||||
|
method;
|
||||||
|
(apply): Rework to correctly match location parameters.
|
||||||
|
|
||||||
2006-11-28 Don Allingham <don@gramps-project.org>
|
2006-11-28 Don Allingham <don@gramps-project.org>
|
||||||
* src/GrampsDb/_ReadGedcom.py: fix attribute handling
|
* src/GrampsDb/_ReadGedcom.py: fix attribute handling
|
||||||
* src/DisplayModels/_PeopleModel.py: expand caching.
|
* src/DisplayModels/_PeopleModel.py: expand caching.
|
||||||
|
@ -59,29 +59,40 @@ class HasPlace(Rule):
|
|||||||
if not self.match_substring(0,place.get_title()):
|
if not self.match_substring(0,place.get_title()):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
# If no location data was given then we're done: match
|
||||||
|
if not [item for item in self.list[1:] if item]:
|
||||||
|
return True
|
||||||
|
|
||||||
|
# Something was given, so checking for location until we match
|
||||||
for loc in [place.main_loc] + place.alt_loc:
|
for loc in [place.main_loc] + place.alt_loc:
|
||||||
if not loc:
|
if self.apply_location(loc):
|
||||||
# Empty mail locaiton does not contradict any parameters
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if not self.match_substring(1,loc.get_parish()):
|
# Nothing matched
|
||||||
continue
|
|
||||||
|
|
||||||
if not self.match_substring(2,loc.get_postal_code()):
|
|
||||||
continue
|
|
||||||
|
|
||||||
if not self.match_substring(3,loc.get_city()):
|
|
||||||
continue
|
|
||||||
|
|
||||||
if not self.match_substring(4,loc.get_county()):
|
|
||||||
continue
|
|
||||||
|
|
||||||
if not self.match_substring(5,loc.get_state()):
|
|
||||||
continue
|
|
||||||
|
|
||||||
if not self.match_substring(6,loc.get_country()):
|
|
||||||
continue
|
|
||||||
|
|
||||||
return True
|
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def apply_location(self,loc):
|
||||||
|
# Empty locaiton does not match anything
|
||||||
|
if not loc:
|
||||||
|
return False
|
||||||
|
|
||||||
|
if not self.match_substring(1,loc.get_parish()):
|
||||||
|
return False
|
||||||
|
|
||||||
|
if not self.match_substring(2,loc.get_postal_code()):
|
||||||
|
return False
|
||||||
|
|
||||||
|
if not self.match_substring(3,loc.get_city()):
|
||||||
|
return False
|
||||||
|
|
||||||
|
if not self.match_substring(4,loc.get_county()):
|
||||||
|
return False
|
||||||
|
|
||||||
|
if not self.match_substring(5,loc.get_state()):
|
||||||
|
return False
|
||||||
|
|
||||||
|
if not self.match_substring(6,loc.get_country()):
|
||||||
|
return False
|
||||||
|
|
||||||
|
# Nothing contradicted, so we're matching this location
|
||||||
|
return True
|
||||||
|
Loading…
x
Reference in New Issue
Block a user