athul / waka-readme

Wakatime Weekly Metrics on your Profile Readme.
https://github.com/athul
MIT License
1.53k stars 301 forks source link

feat: Added ability to use a custom readme location #83

Closed ryanamay closed 2 years ago

ryanamay commented 2 years ago

PR Information

This PR adds the ability to use a custom readme location for those people that symlinks their readme file to another location such as myself (see screenshot). brave_ZhTTNz8nGl

Why?

The function gh_repo.get_readme() only targets the symlink, resulting the workflow being unable to add wakatime statistics resulting in an error.

Things I could've done

I could entirely omit the if statement and set the default variable for it to be README.md, but I don't know if that will work for people with lowercase readme.md's potentially breaking it and that's why I used an if statement.

Checklist/Tests

Let me know if there's anything else :) also pardon my unverified commits, I have vigilant mode on and I forgot to change my user.email git config.

yozachar commented 2 years ago

Btw, I tested get_readme() works just fine I was able to retrieve your readme contents.

image

Please provide the workflow log, where it fails.

ryanamay commented 2 years ago

Btw, I tested get_readme() works just fine I was able to retrieve your readme contents. Please provide the workflow log, where it fails.

Hi! Thanks for the update, Here's the workflow log the first time:

[2022-07-04 02:31:51] ln. 367 DEBUG    Initialize WakaReadme
[2022-07-04 02:31:51] ln. 371 DEBUG    Input validation complete
[2022-07-04 02:31:51] ln. 323 DEBUG    Conneting to GitHub
[2022-07-04 02:31:51] ln. 327 DEBUG    Decoding readme contents
[2022-07-04 02:31:51] ln. 267 DEBUG    Fetching WakaTime statistics
[2022-07-04 02:31:51] ln. 278 DEBUG    API response @ trial #1: 200 OK
[2022-07-04 02:31:51] ln. 282 DEBUG    Fetched WakaTime statistics
[2022-07-04 02:31:51] ln. 231 DEBUG    Making contents
Other                       ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷   99.17 %
[2022-07-04 02:31:51] ln. 191 DEBUG    Generating graph for Other
[2022-07-04 02:31:51] ln. 200 DEBUG    Other graph generated
[2022-07-04 02:31:51] ln. 255 DEBUG    Contents were made
[2022-07-04 02:31:51] ln. 330 DEBUG    Updating readme
[2022-07-04 02:31:52] ln. 376 CRITICAL 409 {"message": "README.md does not match ca46e1e4bb8f906131e42f54d756da9ead1398b3", "documentation_url": "https://docs.github.com/rest/reference/repos#create-or-update-file-contents"}

Upon reading the documentation url, I assumed the issue is my readme isnt being properly read and then tried to fix it with the above changes, and it worked.

I'm guessing the symlink is being treated properly but waka-readme tries to edit the symlink rather than the actual readme.

yozachar commented 2 years ago

Sorry for the delay. Sending a GET request to the GitHub API's, provides same content for symbolic links and referenced files.

GET / HTTP/1.1
Host: api.github.com
User-Agent: Mozilla/5.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en,en-US;q=0.7,en-GB;q=0.3
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
1. [**`profile-readme/README.md`**](https://api.github.com/repos/fuwaa/fuwaa/contents/profile-readme/README.md) ```json { "name": "README.md", "path": "profile-readme/README.md", "sha": "9eefe61082ff9df10eecaa7bdbb6d69187cfb7b7", "size": 4586, "url": "https://api.github.com/repos/fuwaa/fuwaa/contents/profile-readme/README.md?ref=main", "html_url": "https://github.com/fuwaa/fuwaa/blob/main/profile-readme/README.md", "git_url": "https://api.github.com/repos/fuwaa/fuwaa/git/blobs/9eefe61082ff9df10eecaa7bdbb6d69187cfb7b7", "download_url": "https://raw.githubusercontent.com/fuwaa/fuwaa/main/profile-readme/README.md", "type": "file", "content": "PGhyPgoKYGBgZGlmZgojIEluZm86IFNvbWUgZnV3YS5zaCBsaW5rcyBhcmUg\nZG93biBkdWUgdG8gaW5mcmFzdHJ1Y3R1cmUgZGVwbG95bWVudC4gUGxlYXNl\nIGNoZWNrIHN0YXRzLmZ1d2Euc2ggZm9yIHVwZGF0ZXMhICAgICAgIApgYGAK\nCjxkaXYgc3R5bGU9IndpZHRoOiA1cHg7Ij48L2Rpdj4KPGEgIGhyZWY9Imh0\ndHBzOi8vZGlzY29yZC5nZy9aOEtDeVFqWTlxIj48aW1nIGFsaWduPSJsZWZ0\nIiBoZWlnaHQ9Ijg0MCIgc3JjPSJodHRwczovL2dvLmZ1d2Euc2gvdS9pYWFl\nY0QucG5nIi8+PC9hPgoKYGBgZGlmZgotIGZ1d2FhL3JlYWRtZS5tZCA9PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09IOKoryAK4qO94qO/4qKj4qO/\n4qGf4qO94qO/4qO/4qCD4qOy4qO/4qO/4qO44qO34qG74qGH4qO/4qO/4qKH\n4qO/4qO/4qO/4qOP4qOO4qO44qOm4qOg4qGe4qO+4qKn4qO/4qO/ICAgICAg\nIF8gICAgICAgXyAgICAgICBfCuKjv+Khj+Kjv+Khv+KisOKjv+Kjv+Khj+Kj\nvOKjv+Kjv+Khj+KgmeKjv+Kjv+KjpOKhv+Kjv+KiuOKjv+Kjv+Kin+KhnuKj\nsOKjv+Kjv+Khn+KjueKir+Kjv+Kjv+KjvyAgIF9fKC4pPCAgX18oLik9ICBf\nXyguKT4gIAriob/iornio7/ioIfio7/io7/io7/io7jio7/io7/io7/io7/i\no6bioYjioLvio7/io7/io67io7/io7/io6/io4/io7zio7/ioL/ioI/io7Di\noYXiorjio7/io7/io78gICBcX19fKSAgIFxfX18pICAgXF9fXykgICAK4qGA\n4qO84qO/4qKw4qO/4qO/4qOH4qO/4qO/4qG/4qCb4qCb4qCb4qCb4qCE4qOY\n4qO/4qO/4qO/4qO/4qO/4qO/4qO24qO/4qC/4qCb4qK+4qGH4qK44qO/4qO/\n4qO/ICAgV2VsY29tZSB0byBteSBHaXRodWIgUHJvZmlsZSEK4qCE4qO/4qGf\n4qK44qO/4qO/4qK74qO/4qO/4qO34qO24qO+4qO/4qO/4qO/4qO/4qO/4qO/\n4qO/4qO/4qO/4qGL4qCJ4qOg4qO04qO+4qO/4qGH4qO44qO/4qO/4qGPICAg\nU2l0IGFyb3VuZCwgZ2V0IHNvbWUgZHVja3MgYW5kIGhhdmUgc29tZSB0ZWEu\nCuKghOKjv+Khh+KiuOKjv+Kjv+KiuOKiu+Kjv+Kjv+Kjv+Kjv+Kjv+Kjv+Kj\nv+Kjv+Kjv+Kjv+Kjv+Kjv+Kjv+Kjv+KjhOKgmOKiv+Kjv+Kgj+KghOKjv+Kj\nv+Kjv+KjuSAK4qCE4qK74qGH4qK44qO/4qO/4qC44qO/4qO/4qO/4qO/4qO/\n4qO/4qC/4qC/4qK/4qO/4qO/4qO/4qO/4qO/4qO/4qO/4qOm4qO84qCD4qCE\n4qKw4qO/4qO/4qKv4qO/ICAgQ3VycmVudGx5IHdvcmtpbmcgYXMgYToK4qCE\n4qK44qO/4qK44qO/4qO/4qGE4qCZ4qK/4qO/4qO/4qG/4qCB4qCE4qCE4qCE\n4qCE4qCJ4qO/4qO/4qO/4qO/4qO/4qO/4qGP4qCE4qKA4qO+4qO/4qKv4qO/\n4qO/ICAgRnVsbCBTdGFjayBEZXZPcHMgRW5naW5lZXIK4qO+4qO44qO/4qCE\n4qO/4qO/4qGH4qCE4qCE4qCZ4qK/4qOA4qCE4qCE4qCE4qCE4qCE4qOw4qO/\n4qO/4qO/4qO/4qO/4qCf4qCE4qCE4qO84qG/4qKr4qO74qO/4qO/ICAgKHll\ncyBpdCdzIGEgbG90IG9mIGhhdHMuIEkgaGF0ZSBpdC4pCuKjv+Kjv+Kjv+Kg\nhOKiuOKjv+Kjv+KghOKghOKghOKghOKgmeKgv+Kjt+KjtuKjpOKjtOKjv+Kg\nv+Kgv+Kgm+KgieKghOKghOKiuOKjv+Kjv+Kjv+Kjv+Kgg+KghOKjtAoKISDi\nlr8gV2hvIGFtIEk/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICEgCnN0dWRlbnQsIGRldmVsb3BlciwgZ2FtZXIgd2hvJ3MgYWRkaWN0\nZWQgdG8gY29mZmVlIGFuZCB3YWZmbGVzLiA+dzwKaHR0cHM6Ly9mdXdhLnNo\nLyDCtyBodHRwczovL3dhZmVyc3RhY2suY29tIMK3IGh0dHBzOi8vbmFmdS5t\nZQoKISDilr8gVGVjaG5vbG9naWVzL0ZyYW1ld29ya3MgSSB1c2UgICAgICAg\nICAgICAgICAgICAgICAgICDwn5+iIEFjdGl2ZSAg8J+foSBNZWRpb2NyZSAg\n8J+foyBQbGFubmluZyAhIArwn5+iQysrICAgICAgICDwn5+iSmF2YVNjcmlw\ndCDwn5+iUHl0aG9uICAgICDwn5+iSFRNTCAgICAgICDwn5+iQ1NTICAgICAg\nICDwn5+iQmFzaCAgICAgICDwn5+iUG93ZXJzaGVsbArwn5+hTm9kZS5qcyAg\nICDwn5+iUmVhY3QuanMgICDwn5+halF1ZXJ5ICAgICDwn5+iTmV4dC5qcyAg\nICDwn5+hTmdpbnggICAgICDwn5+iQ2FkZHkgICAgICDwn5+hUkVTVArwn5+h\nVGVycmFmb3JtICDwn5+hTW9uZ29EQiAgICDwn5+hUG9zdGdyZVNRTCDwn5+h\nS3ViZXJuZXRlcyDwn5+hRG9ja2VyICAgICDwn5+iQ0kvQ0QgICAgICDwn5+h\nUnVzdArwn5+iQVdTICAgICAgICDwn5+hR2l0T3BzICAgICDwn5+iVGFpbHdp\nbmQgICAKCiEg4pa/IFN5c3RlbSBJbmZvcm1hdGlvbiAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAhIApJIHVzZSAzIG9wZXJhdGluZyBzeXN0ZW1zLCB0\naGF0J3MgcHJvYmFibHkgbW9yZSB0aGFuIHRoZSBhdmVyYWdlIGRldmVsb3Bl\nci4gU2VlIHRoZSBzcGVjcyBiZWxvdyEKCisgamFyaUBNYXBsZSAoTWFpbikg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsg\nCiMgT1M6IFJldmlPUyAyMi4wNQojIENQVTogQU1EIFJ5emVuIDcgNTgwMEgg\nd2l0aCBSYWRlb24gR3JhcGhpY3MKIyBHUFU6IE52aWRpYSBHZWZvcmUgUlRY\nIDMwNjAKIyBSQU06IEFTVVMgMTZHQiBERFI0IDMyMDBNaHogCiMgU1RPUkFH\nRTogNTEyR0IgTlZNZSAoSW50ZXJuYWwpIHwgMjEyOEdCIFNBVEEgSEREIChF\neHRlcm5hbCkKCisgamFyaUBNYXBsZVdTTCAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgCiMgT1M6IEFyY2ggTGlu\ndXggb24gV2luZG93cyAxMCB4ODZfNjQKIyBLZXJuZWw6IDUuMTAuMTAyLjEt\nbWljcm9zb2Z0LXN0YW5kYXJkLVdTTDIKIyBHUFU6IEdQVSBQYXNzdGhyb3Vn\naCB2aWEgV1NMZyAoVXNpbmcgTlZJRElBIENVREEpCgorIGphcmlAZnV3YWEu\nbG9jYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICArIAojIE9TOiBtYWNPUyBNb250ZXJleSAxMi40CiMgQkw6IE9wZW5D\nb3JlIDAuNy44CiMgQ1BVOiBJbnRlbCBDb3JlIGk1LTY0MDAKIyBHUFU6IE52\naWRpYSBHZWZvcmNlIEdUIDczMCAKIyBSQU06IERFTEwgT0VNIDhHQiAxNjAw\nTWh6CiMgU1RPUkFHRTogMTAwMCBHQiBTQVRBIEhERCAoSW50ZXJuYWwpCgoh\nIExpa2Ugd2hhdCBJIGRvPyBDb25zaWRlciBzdXBwb3J0aW5nIG1lIGhlcmUg\nPT4gIGdvLmZ1d2Euc2gvc3VwcG9ydCBvciBjbGljayBvbiB0aGUgYmFubmVy\nISAgICAhIAotID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PT09PSAtIApgYGAKPCEtLVNUQVJUX1NFQ1RJT046d2FrYS0t\nPgoKYGBgZGlmZgotIFdha2F0aW1lIFN0YXRpc3RpY3MgID09PT09PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0g4qiv\nIAp8IEZ1d2FhIGhhcyBiZWVuIG1hbGRpbmcgZm9yIGFib3V0IDI0IGhycyA0\nNiBtaW5zIQpvIENvdmVyYWdlOiAxMSBKdWx5IDIwMjIgLSAxOCBKdWx5IDIw\nMjIKCisgU2VlIHRoZSBHcmFwaCEgKFRvcCA1IExhbmd1YWdlcykgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIAojIFRlcnJhZm9y\nbSAgICA4IGhycyA0IG1pbnMgICAg4qO/4qO/4qO/4qO/4qO/4qO/4qO/4qO/\n4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA\n4qOA4qOAICAgMzEuOTkgJQojIEphdmFTY3JpcHQgICA1IGhycyAgICAgICAg\nICAg4qO/4qO/4qO/4qO/4qO/4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA\n4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOAICAgMTkuODggJQoj\nIEpTT04gICAgICAgICAzIGhycyA2IG1pbnMgICAg4qO/4qO/4qO/4qOA4qOA\n4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA\n4qOA4qOA4qOA4qOA4qOAICAgMTIuMzAgJQojIFR5cGVTY3JpcHQgICAyIGhy\ncyAzMyBtaW5zICAg4qO/4qO/4qOm4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA\n4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOAICAg\nMTAuMTEgJQojIENTUyAgICAgICAgICAxIGhyIDUyIG1pbnMgICAg4qO/4qO3\n4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA\n4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOAICAgMDcuNDUgJQojIHJlZyAgICAg\nICAgICA1OCBtaW5zICAgICAgICAg4qO/4qOA4qOA4qOA4qOA4qOA4qOA4qOA\n4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA\n4qOA4qOAICAgMDMuODQgJQoKLSA9PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09IC0gCmBgYAoKPCEtLUVORF9TRUNUSU9OOndha2EtLT4KPGhyPgo=\n", "encoding": "base64", "_links": { "self": "https://api.github.com/repos/fuwaa/fuwaa/contents/profile-readme/README.md?ref=main", "git": "https://api.github.com/repos/fuwaa/fuwaa/git/blobs/9eefe61082ff9df10eecaa7bdbb6d69187cfb7b7", "html": "https://github.com/fuwaa/fuwaa/blob/main/profile-readme/README.md" } } ```
2. [**`README.md`**](https://api.github.com/repos/fuwaa/fuwaa/contents/README.md) ```json { "name": "README.md", "path": "README.md", "sha": "900524c970a4c2416c79c5846961e418be37547e", "size": 4586, "url": "https://api.github.com/repos/fuwaa/fuwaa/contents/README.md?ref=main", "html_url": "https://github.com/fuwaa/fuwaa/blob/main/README.md", "git_url": "https://api.github.com/repos/fuwaa/fuwaa/git/blobs/900524c970a4c2416c79c5846961e418be37547e", "download_url": "https://raw.githubusercontent.com/fuwaa/fuwaa/main/README.md", "type": "file", "content": "PGhyPgoKYGBgZGlmZgojIEluZm86IFNvbWUgZnV3YS5zaCBsaW5rcyBhcmUg\nZG93biBkdWUgdG8gaW5mcmFzdHJ1Y3R1cmUgZGVwbG95bWVudC4gUGxlYXNl\nIGNoZWNrIHN0YXRzLmZ1d2Euc2ggZm9yIHVwZGF0ZXMhICAgICAgIApgYGAK\nCjxkaXYgc3R5bGU9IndpZHRoOiA1cHg7Ij48L2Rpdj4KPGEgIGhyZWY9Imh0\ndHBzOi8vZGlzY29yZC5nZy9aOEtDeVFqWTlxIj48aW1nIGFsaWduPSJsZWZ0\nIiBoZWlnaHQ9Ijg0MCIgc3JjPSJodHRwczovL2dvLmZ1d2Euc2gvdS9pYWFl\nY0QucG5nIi8+PC9hPgoKYGBgZGlmZgotIGZ1d2FhL3JlYWRtZS5tZCA9PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09IOKoryAK4qO94qO/4qKj4qO/\n4qGf4qO94qO/4qO/4qCD4qOy4qO/4qO/4qO44qO34qG74qGH4qO/4qO/4qKH\n4qO/4qO/4qO/4qOP4qOO4qO44qOm4qOg4qGe4qO+4qKn4qO/4qO/ICAgICAg\nIF8gICAgICAgXyAgICAgICBfCuKjv+Khj+Kjv+Khv+KisOKjv+Kjv+Khj+Kj\nvOKjv+Kjv+Khj+KgmeKjv+Kjv+KjpOKhv+Kjv+KiuOKjv+Kjv+Kin+KhnuKj\nsOKjv+Kjv+Khn+KjueKir+Kjv+Kjv+KjvyAgIF9fKC4pPCAgX18oLik9ICBf\nXyguKT4gIAriob/iornio7/ioIfio7/io7/io7/io7jio7/io7/io7/io7/i\no6bioYjioLvio7/io7/io67io7/io7/io6/io4/io7zio7/ioL/ioI/io7Di\noYXiorjio7/io7/io78gICBcX19fKSAgIFxfX18pICAgXF9fXykgICAK4qGA\n4qO84qO/4qKw4qO/4qO/4qOH4qO/4qO/4qG/4qCb4qCb4qCb4qCb4qCE4qOY\n4qO/4qO/4qO/4qO/4qO/4qO/4qO24qO/4qC/4qCb4qK+4qGH4qK44qO/4qO/\n4qO/ICAgV2VsY29tZSB0byBteSBHaXRodWIgUHJvZmlsZSEK4qCE4qO/4qGf\n4qK44qO/4qO/4qK74qO/4qO/4qO34qO24qO+4qO/4qO/4qO/4qO/4qO/4qO/\n4qO/4qO/4qO/4qGL4qCJ4qOg4qO04qO+4qO/4qGH4qO44qO/4qO/4qGPICAg\nU2l0IGFyb3VuZCwgZ2V0IHNvbWUgZHVja3MgYW5kIGhhdmUgc29tZSB0ZWEu\nCuKghOKjv+Khh+KiuOKjv+Kjv+KiuOKiu+Kjv+Kjv+Kjv+Kjv+Kjv+Kjv+Kj\nv+Kjv+Kjv+Kjv+Kjv+Kjv+Kjv+Kjv+KjhOKgmOKiv+Kjv+Kgj+KghOKjv+Kj\nv+Kjv+KjuSAK4qCE4qK74qGH4qK44qO/4qO/4qC44qO/4qO/4qO/4qO/4qO/\n4qO/4qC/4qC/4qK/4qO/4qO/4qO/4qO/4qO/4qO/4qO/4qOm4qO84qCD4qCE\n4qKw4qO/4qO/4qKv4qO/ICAgQ3VycmVudGx5IHdvcmtpbmcgYXMgYToK4qCE\n4qK44qO/4qK44qO/4qO/4qGE4qCZ4qK/4qO/4qO/4qG/4qCB4qCE4qCE4qCE\n4qCE4qCJ4qO/4qO/4qO/4qO/4qO/4qO/4qGP4qCE4qKA4qO+4qO/4qKv4qO/\n4qO/ICAgRnVsbCBTdGFjayBEZXZPcHMgRW5naW5lZXIK4qO+4qO44qO/4qCE\n4qO/4qO/4qGH4qCE4qCE4qCZ4qK/4qOA4qCE4qCE4qCE4qCE4qCE4qOw4qO/\n4qO/4qO/4qO/4qO/4qCf4qCE4qCE4qO84qG/4qKr4qO74qO/4qO/ICAgKHll\ncyBpdCdzIGEgbG90IG9mIGhhdHMuIEkgaGF0ZSBpdC4pCuKjv+Kjv+Kjv+Kg\nhOKiuOKjv+Kjv+KghOKghOKghOKghOKgmeKgv+Kjt+KjtuKjpOKjtOKjv+Kg\nv+Kgv+Kgm+KgieKghOKghOKiuOKjv+Kjv+Kjv+Kjv+Kgg+KghOKjtAoKISDi\nlr8gV2hvIGFtIEk/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICEgCnN0dWRlbnQsIGRldmVsb3BlciwgZ2FtZXIgd2hvJ3MgYWRkaWN0\nZWQgdG8gY29mZmVlIGFuZCB3YWZmbGVzLiA+dzwKaHR0cHM6Ly9mdXdhLnNo\nLyDCtyBodHRwczovL3dhZmVyc3RhY2suY29tIMK3IGh0dHBzOi8vbmFmdS5t\nZQoKISDilr8gVGVjaG5vbG9naWVzL0ZyYW1ld29ya3MgSSB1c2UgICAgICAg\nICAgICAgICAgICAgICAgICDwn5+iIEFjdGl2ZSAg8J+foSBNZWRpb2NyZSAg\n8J+foyBQbGFubmluZyAhIArwn5+iQysrICAgICAgICDwn5+iSmF2YVNjcmlw\ndCDwn5+iUHl0aG9uICAgICDwn5+iSFRNTCAgICAgICDwn5+iQ1NTICAgICAg\nICDwn5+iQmFzaCAgICAgICDwn5+iUG93ZXJzaGVsbArwn5+hTm9kZS5qcyAg\nICDwn5+iUmVhY3QuanMgICDwn5+halF1ZXJ5ICAgICDwn5+iTmV4dC5qcyAg\nICDwn5+hTmdpbnggICAgICDwn5+iQ2FkZHkgICAgICDwn5+hUkVTVArwn5+h\nVGVycmFmb3JtICDwn5+hTW9uZ29EQiAgICDwn5+hUG9zdGdyZVNRTCDwn5+h\nS3ViZXJuZXRlcyDwn5+hRG9ja2VyICAgICDwn5+iQ0kvQ0QgICAgICDwn5+h\nUnVzdArwn5+iQVdTICAgICAgICDwn5+hR2l0T3BzICAgICDwn5+iVGFpbHdp\nbmQgICAKCiEg4pa/IFN5c3RlbSBJbmZvcm1hdGlvbiAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAhIApJIHVzZSAzIG9wZXJhdGluZyBzeXN0ZW1zLCB0\naGF0J3MgcHJvYmFibHkgbW9yZSB0aGFuIHRoZSBhdmVyYWdlIGRldmVsb3Bl\nci4gU2VlIHRoZSBzcGVjcyBiZWxvdyEKCisgamFyaUBNYXBsZSAoTWFpbikg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsg\nCiMgT1M6IFJldmlPUyAyMi4wNQojIENQVTogQU1EIFJ5emVuIDcgNTgwMEgg\nd2l0aCBSYWRlb24gR3JhcGhpY3MKIyBHUFU6IE52aWRpYSBHZWZvcmUgUlRY\nIDMwNjAKIyBSQU06IEFTVVMgMTZHQiBERFI0IDMyMDBNaHogCiMgU1RPUkFH\nRTogNTEyR0IgTlZNZSAoSW50ZXJuYWwpIHwgMjEyOEdCIFNBVEEgSEREIChF\neHRlcm5hbCkKCisgamFyaUBNYXBsZVdTTCAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgCiMgT1M6IEFyY2ggTGlu\ndXggb24gV2luZG93cyAxMCB4ODZfNjQKIyBLZXJuZWw6IDUuMTAuMTAyLjEt\nbWljcm9zb2Z0LXN0YW5kYXJkLVdTTDIKIyBHUFU6IEdQVSBQYXNzdGhyb3Vn\naCB2aWEgV1NMZyAoVXNpbmcgTlZJRElBIENVREEpCgorIGphcmlAZnV3YWEu\nbG9jYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICArIAojIE9TOiBtYWNPUyBNb250ZXJleSAxMi40CiMgQkw6IE9wZW5D\nb3JlIDAuNy44CiMgQ1BVOiBJbnRlbCBDb3JlIGk1LTY0MDAKIyBHUFU6IE52\naWRpYSBHZWZvcmNlIEdUIDczMCAKIyBSQU06IERFTEwgT0VNIDhHQiAxNjAw\nTWh6CiMgU1RPUkFHRTogMTAwMCBHQiBTQVRBIEhERCAoSW50ZXJuYWwpCgoh\nIExpa2Ugd2hhdCBJIGRvPyBDb25zaWRlciBzdXBwb3J0aW5nIG1lIGhlcmUg\nPT4gIGdvLmZ1d2Euc2gvc3VwcG9ydCBvciBjbGljayBvbiB0aGUgYmFubmVy\nISAgICAhIAotID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PT09PSAtIApgYGAKPCEtLVNUQVJUX1NFQ1RJT046d2FrYS0t\nPgoKYGBgZGlmZgotIFdha2F0aW1lIFN0YXRpc3RpY3MgID09PT09PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0g4qiv\nIAp8IEZ1d2FhIGhhcyBiZWVuIG1hbGRpbmcgZm9yIGFib3V0IDI0IGhycyA0\nNiBtaW5zIQpvIENvdmVyYWdlOiAxMSBKdWx5IDIwMjIgLSAxOCBKdWx5IDIw\nMjIKCisgU2VlIHRoZSBHcmFwaCEgKFRvcCA1IExhbmd1YWdlcykgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIAojIFRlcnJhZm9y\nbSAgICA4IGhycyA0IG1pbnMgICAg4qO/4qO/4qO/4qO/4qO/4qO/4qO/4qO/\n4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA\n4qOA4qOAICAgMzEuOTkgJQojIEphdmFTY3JpcHQgICA1IGhycyAgICAgICAg\nICAg4qO/4qO/4qO/4qO/4qO/4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA\n4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOAICAgMTkuODggJQoj\nIEpTT04gICAgICAgICAzIGhycyA2IG1pbnMgICAg4qO/4qO/4qO/4qOA4qOA\n4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA\n4qOA4qOA4qOA4qOA4qOAICAgMTIuMzAgJQojIFR5cGVTY3JpcHQgICAyIGhy\ncyAzMyBtaW5zICAg4qO/4qO/4qOm4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA\n4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOAICAg\nMTAuMTEgJQojIENTUyAgICAgICAgICAxIGhyIDUyIG1pbnMgICAg4qO/4qO3\n4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA\n4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOAICAgMDcuNDUgJQojIHJlZyAgICAg\nICAgICA1OCBtaW5zICAgICAgICAg4qO/4qOA4qOA4qOA4qOA4qOA4qOA4qOA\n4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA4qOA\n4qOA4qOAICAgMDMuODQgJQoKLSA9PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09\nPT09IC0gCmBgYAoKPCEtLUVORF9TRUNUSU9OOndha2EtLT4KPGhyPgo=\n", "encoding": "base64", "_links": { "self": "https://api.github.com/repos/fuwaa/fuwaa/contents/README.md?ref=main", "git": "https://api.github.com/repos/fuwaa/fuwaa/git/blobs/900524c970a4c2416c79c5846961e418be37547e", "html": "https://github.com/fuwaa/fuwaa/blob/main/README.md" } } ```

With PyGitHub..

from github import Github

g = Github('your_auth_token')
repo = g.get_repo('fuwaa/fuwaa')
readme_file = repo.get_readme()

readme_file.path returns "README.md" instead of "profile-readme/README.md" which means it was requesting 2nd API URL. When it's fed back repo.update(readme_file.path, ...) causes it to fail as the file on the path is just a symlink.

I haven't found any attribute say... original_path for symbolic links, neither on PyGitHub nor on GitHub API. It'd be a good thing to raise upstream issue. Meanwhile this workaround seems okay, but the PR needs to be reworked. It would even better to start over. Closing this now.

Thanks for contributing!