File size: 1,736 Bytes
750ddf0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from __future__ import annotations

import pandas as pd


class PaperList:
    def __init__(self):
        self.table = pd.read_csv('papers.csv').fillna('')
        self.table_header = '''
            <tr>
                <td width="50%">Paper</td>
                <td width="25%">Authors</td>
                <td width="5%">pdf</td>
                <td width="5%">Supplementary</td>
                <td width="5%">arXiv</td>
                <td width="5%">GitHub</td>
                <td width="5%">Hugging Face Spaces</td>
            </tr>'''

    def to_html(self, df: pd.DataFrame) -> str:
        table_rows = self.generate_table_rows(df)
        table_data = ''.join(table_rows)
        html = f'''<table>
            {self.table_header}
            {table_data}
        </table>'''
        return html

    def generate_table_rows(self, df: pd.DataFrame) -> list[str]:
        rows = []
        for row in df.itertuples():
            paper = f'<a href="{row.url}">{row.title}</a>'
            pdf = f'<a href="{row.pdf}">pdf</a>'
            supp = f'<a href="{row.supp}">supp</a>' if row.supp else ''
            arxiv = f'<a href="{row.arxiv}">arXiv</a>' if row.arxiv else ''
            github = f'<a href="{row.github}">GitHub</a>' if row.github else ''
            hf_space = f'<a href="{row.hf_space}">Space</a>' if row.hf_space else ''
            row = f'''
                <tr>
                    <td>{paper}</td>
                    <td>{row.authors}</td>
                    <td>{pdf}</td>
                    <td>{supp}</td>
                    <td>{arxiv}</td>
                    <td>{github}</td>
                    <td>{hf_space}</td>
                </tr>'''
            rows.append(row)
        return rows