Skip to content

Commit

Permalink
Clean up the names of some EntityRef objects
Browse files Browse the repository at this point in the history
  • Loading branch information
dseomn committed Nov 9, 2023
1 parent 969e284 commit fb861ad
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 20 deletions.
37 changes: 19 additions & 18 deletions rock_paper_sand/wikidata.py
Original file line number Diff line number Diff line change
Expand Up @@ -422,20 +422,20 @@ def _unlikely_to_be_processed_classes(self) -> Set[wikidata_value.ItemRef]:

def _is_ignored(
self,
item: wikidata_value.ItemRef,
item_ref: wikidata_value.ItemRef,
*,
request: media_filter.FilterRequest,
ignored_from_config: set[wikidata_value.ItemRef],
) -> bool:
config_classes_ignore = request.item.wikidata_classes_ignore_recursive
if item in request.item.wikidata_ignore_items_recursive:
ignored_from_config.add(item)
if item_ref in request.item.wikidata_ignore_items_recursive:
ignored_from_config.add(item_ref)
return True
elif (
item in self._ignored_items
or self._api.entity_classes(item) & self._ignored_classes
item_ref in self._ignored_items
or self._api.entity_classes(item_ref) & self._ignored_classes
or any(
self._api.entity_classes(item)
self._api.entity_classes(item_ref)
& self._api.transitive_subclasses(ignored_class)
for ignored_class in config_classes_ignore
)
Expand Down Expand Up @@ -484,16 +484,17 @@ def _is_integral_child(
return False

def _integral_children(
self, item: wikidata_value.ItemRef, related: RelatedMedia
self, item_ref: wikidata_value.ItemRef, related: RelatedMedia
) -> Iterable[wikidata_value.ItemRef]:
if any(
self._is_integral_child(parent, item) for parent in related.parents
self._is_integral_child(parent, item_ref)
for parent in related.parents
):
yield item
yield item_ref
yield from (
child
for child in related.children
if self._is_integral_child(item, child)
if self._is_integral_child(item_ref, child)
)

def _should_cross_parent_child_border(
Expand All @@ -519,30 +520,30 @@ def _update_unprocessed(
unprocessed: set[wikidata_value.ItemRef],
unprocessed_unlikely: set[wikidata_value.ItemRef],
) -> None:
for item in iterable:
reached_from.setdefault(item, current)
for item_ref in iterable:
reached_from.setdefault(item_ref, current)
if (
self._api.entity_classes(item)
self._api.entity_classes(item_ref)
& self._unlikely_to_be_processed_classes
):
unprocessed_unlikely.add(item)
unprocessed_unlikely.add(item_ref)
else:
unprocessed.add(item)
unprocessed.add(item_ref)

def _related_item_result_extra(
self,
category: str,
item: wikidata_value.ItemRef,
item_ref: wikidata_value.ItemRef,
) -> media_filter.ResultExtra:
entity = self._api.entity(item)
entity = self._api.entity(item_ref)
item_description_parts = []
if (label := entity.label(self._config.languages)) is not None:
item_description_parts.append(label)
if (
description := entity.description(self._config.languages)
) is not None:
item_description_parts.append(f"({description})")
item_description_parts.append(f"<{item}>")
item_description_parts.append(f"<{item_ref}>")
return media_filter.ResultExtraString(
f"{category}: {' '.join(item_description_parts)}"
)
Expand Down
4 changes: 2 additions & 2 deletions rock_paper_sand/wikidata_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -268,8 +268,8 @@ def test_related_media(
first_result = self._api.related_media(wikidata_value.ItemRef("Q1"))
second_result = self._api.related_media(wikidata_value.ItemRef("Q1"))
actual_classes = {
item: self._api.entity_classes(item)
for item in {
item_ref: self._api.entity_classes(item_ref)
for item_ref in {
*first_result.parents,
*first_result.siblings,
*first_result.children,
Expand Down

0 comments on commit fb861ad

Please sign in to comment.