Spaces:
Sleeping
Sleeping
File size: 2,425 Bytes
b73a4fc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
from src.application.config import WORD_BREAK
def create_ordinary_user_table(self):
rows = []
rows.append(self.format_image_ordinary_user_row())
rows.append(self.format_text_ordinary_user_row())
table = "\n".join(rows)
return f"""
<h5>Comparison between input news and source news:</h5>
<table border="1" style="width:100%; text-align:left;">
<col style="width: 340px;">
<col style="width: 30px;">
<col style="width: 75px;">
<thead>
<tr>
<th>Input news</th>
<th>Forensic</th>
<th>Originality</th>
</tr>
</thead>
<tbody>
{table}
</tbody>
</table>
<style>
"""
def format_text_ordinary_user_row(self):
input_sentences = ""
source_text_urls = ""
urls = []
for _, row in self.aligned_sentences_df.iterrows():
if row["input"] is None:
continue
input_sentences += row["input"] + "<br><br>"
url = row["url"]
if url not in urls:
urls.append(url)
source_text_urls += f"""<a href="{url}">{url}</a><br>"""
return f"""
<tr>
<td>{input_sentences}</td>
<td>{self.text_prediction_label[0]}<br>
({self.text_prediction_score[0] * 100:.2f}%)</td>
<td style="{WORD_BREAK}";>{source_text_urls}</td>
</tr>
"""
def format_image_ordinary_user_row(
image_referent_url: str,
image_prediction_label: str,
image_prediction_score: float,
):
"""
Formats an HTML table row for ordinary users,
displaying image analysis results.
Args:
image_referent_url (str): The URL of the referenced image.
image_prediction_label (str): The predicted label for the image.
image_prediction_score (float): The prediction score for the image.
Returns:
str: An HTML table row string containing the image analysis results.
"""
# Put image, label, and score into html tag
if (
image_referent_url is not None
or image_referent_url != ""
):
source_image_url = f"""<a href="{image_referent_url}">{image_referent_url}</a>""" # noqa: E501
else:
source_image_url = ""
return f"""
<tr>
<td>input image</td>
<td>{image_prediction_label}<br>({image_prediction_score:.2f}%)</td>
<td style="{WORD_BREAK}";>{source_image_url}</td>
</tr>
"""
|