Skip to content

Commit

Permalink
Added span sorting for static backup
Browse files Browse the repository at this point in the history
  • Loading branch information
PokkeFe committed Jul 7, 2021
1 parent f8f175d commit a76f2c9
Showing 1 changed file with 17 additions and 6 deletions.
23 changes: 17 additions & 6 deletions text_extensions_for_pandas/jupyter/span.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,25 +161,36 @@ def _get_initial_static_html(column: Union["SpanArray", "TokenSpanArray"],

# Generate a dictionary to store span information, including relationships with spans occupying the same region.
spans = {}
sorted_span_ids = []
for i in range(len(document)):

span_data = {}
span_data["id"] = i
span_data["begin"] = document[i].begin
span_data["end"] = document[i].end
span_data["sets"] = []
spans[i] = span_data

sorted_span_ids.append(i)

# Sort IDs
sorted_span_ids.sort(key=lambda id: (spans[id]["begin"], -spans[id]["end"]))

for j in range(i+1, len(document)):
for i in range(len(sorted_span_ids)):
span_data = spans[sorted_span_ids[i]]

for j in range(i+1, len(sorted_span_ids)):
sub_span_data = spans[sorted_span_ids[j]]
# If the spans do not overlap, exit the sub-loop
if(document[j].begin >= document[i].end):
if(sub_span_data["begin"] >= span_data["end"]):
break
else:
if(document[j].end <= document[i].end):
span_data["sets"].append({"type": SetType.NESTED, "id": j})
if(sub_span_data["end"] <= span_data["end"]):
span_data["sets"].append({"type": SetType.NESTED, "id": sub_span_data["id"]})
else:
span_data["sets"].append({"type": SetType.OVERLAP, "id": j})
span_data["sets"].append({"type": SetType.OVERLAP, "id": sub_span_data["id"]})

spans[i] = span_data
spans[sorted_span_ids[i]] = span_data


# Generate the table rows DOM string from span data.
Expand Down

0 comments on commit a76f2c9

Please sign in to comment.