Spaces:
Sleeping
Sleeping
| 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> | |
| """ | |