| 148 | |
| 149 | |
| 150 | class WriteFile(object): |
| 151 | def __init__(self, repos_stars, repos_forks, repos_languages): |
| 152 | self.repos_stars = repos_stars |
| 153 | self.repos_forks = repos_forks |
| 154 | self.repos_languages = repos_languages |
| 155 | self.col = ['rank', 'item', 'repo_name', 'stars', 'forks', 'language', 'repo_url', 'username', 'issues', |
| 156 | 'last_commit', 'description'] |
| 157 | self.repo_list = [] |
| 158 | self.repo_list.extend([{ |
| 159 | "desc": "Stars", |
| 160 | "desc_md": "Stars", |
| 161 | "title_readme": "Most Stars", |
| 162 | "title_100": "Top 100 Stars", |
| 163 | "file_100": "Top-100-stars.md", |
| 164 | "data": repos_stars, |
| 165 | "item": "top-100-stars", |
| 166 | }, { |
| 167 | "desc": "Forks", |
| 168 | "desc_md": "Forks", |
| 169 | "title_readme": "Most Forks", |
| 170 | "title_100": "Top 100 Forks", |
| 171 | "file_100": "Top-100-forks.md", |
| 172 | "data": repos_forks, |
| 173 | "item": "top-100-forks", |
| 174 | }]) |
| 175 | for i in range(len(languages)): |
| 176 | lang = languages[i] |
| 177 | lang_md = languages_md[i] |
| 178 | self.repo_list.append({ |
| 179 | "desc": "Forks", |
| 180 | "desc_md": "Forks", |
| 181 | "title_readme": lang_md, |
| 182 | "title_100": f"Top 100 Stars in {lang_md}", |
| 183 | "file_100": f"{lang}.md", |
| 184 | "data": repos_languages[lang], |
| 185 | "item": lang, |
| 186 | }) |
| 187 | |
| 188 | @staticmethod |
| 189 | def write_head_contents(): |
| 190 | # write the head and contents of README.md |
| 191 | write_time = datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%SZ") |
| 192 | head_contents = inspect.cleandoc("""[Github Ranking](./README.md) |
| 193 | ========== |
| 194 | |
| 195 | **A list of the most github stars and forks repositories.** |
| 196 | |
| 197 | *Last Automatic Update Time: {write_time}* |
| 198 | |
| 199 | ## Sponsor me |
| 200 | |
| 201 | [Buy Me a Coffee | Alipay & WeChat Pay](https://afdian.com/a/EvanLi/plan) |
| 202 | |
| 203 | [afdian 爱发电 EvanLi | 支付宝/微信支付](https://afdian.com/a/EvanLi/plan) |
| 204 | |
| 205 | ## Table of Contents |
| 206 | |
| 207 | * [Most Stars](#most-stars) |