Add YouTube operational API commits page

Benjamin Loison 2023-01-25 22:02:27 +01:00
parent de84efec94
commit 91a52469b4

@ -0,0 +1,81 @@
This is a list of the YouTube operational API commits that were done specifically for this project.
| Commit | Date | Insertions | Deletions | Title
|--------|------|------------|-----------|------
| [`483c3a3804410c4021c456b47e007e6d35dac58d`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/483c3a3804410c4021c456b47e007e6d35dac58d) | 12/23/22 | 56 | 0 | Add forgotten `community.php`
| [`2b574ab1ba85513067a9bbc537edc606179dfe1e`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/2b574ab1ba85513067a9bbc537edc606179dfe1e) | 12/28/22 | 60 | 44 | #1: Add ability to retrieve comments loved by the video creator, solving https://stackoverflow.com/q/71186488
| [`c49c15398dfe138f4b61905f5eed2cf66fef45d1`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/c49c15398dfe138f4b61905f5eed2cf66fef45d1) | 12/28/22 | 29 | 27 | Fix #1: Cleaning the `commentThreads` endpoint
| [`8d154f9c17e99332ce817ef8722b0343554524b6`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/8d154f9c17e99332ce817ef8722b0343554524b6) | 12/29/22 | 3 | 1 | Fix #110: last page of results of `channels?part=communtiy` may produce an error in PHP 8
| [`0fc0dc411ed348deb2f887d56d54d067ae3e7d57`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/0fc0dc411ed348deb2f887d56d54d067ae3e7d57) | 01/07/23 | 105 | 2 | Fix #113: Add the ability to retrieve `Saved playlists` of a YouTube channel `PLAYLISTS` tab
| [`bf7dc8ee0c2ae44b06f12cc95381da39c21b9139`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/bf7dc8ee0c2ae44b06f12cc95381da39c21b9139) | 01/14/23 | 87 | 56 | #113: Add multiple playlist sections, playlist authors, playlist custom thumbnail support
| [`d8cdc4b93ddcaafe36023f1eecdf9cbdf5998fef`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/d8cdc4b93ddcaafe36023f1eecdf9cbdf5998fef) | 01/15/23 | 34 | 9 | Add pagination to `channels?part=channels`
| [`f6e92b6e27509982991bb0e4103e6d9268741388`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/f6e92b6e27509982991bb0e4103e6d9268741388) | 01/15/23 | 5 | 4 | Make `channels?part=channels` pagination more resilient by not relying on expected number of items in case of pagination
| [`a0de0ad3d21665645037186ca1d5a65567cf19e4`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/a0de0ad3d21665645037186ca1d5a65567cf19e4) | 01/15/23 | 4 | 3 | Retrieve correctly the title of playlists section in every case
| [`02c2f0f61f02d3de9e6af78ace4a62d3f2e02b19`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/02c2f0f61f02d3de9e6af78ace4a62d3f2e02b19) | 01/16/23 | 49 | 32 | Fix #121: `channels?part=channels` doesn't work in all cases
| [`1b1692a7362501a9ee0cb0abaa466f5753e54973`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/1b1692a7362501a9ee0cb0abaa466f5753e54973) | 01/17/23 | 2 | 2 | Move Community: list endpoint from YouTube Data API v3 endpoints section in `index.php` to own endpoints
| [`df115b6d1b06dd6f583f4523af75564ae2652262`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/df115b6d1b06dd6f583f4523af75564ae2652262) | 01/17/23 | 5 | 1 | #122: Make `CommentThreads.php` `order=time` work
| [`3066c46d05e9bf30f9ebcb4dfe5c00e59ab34ec2`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/3066c46d05e9bf30f9ebcb4dfe5c00e59ab34ec2) | 01/21/23 | 5 | 0 | Make not return any item if there isn't a tab
| [`e1a9d221ab866f0f6d20e7cf7a40fad61525b5ea`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/e1a9d221ab866f0f6d20e7cf7a40fad61525b5ea) | 01/21/23 | 7 | 5 | Fix #122: `CommentThreads.php` `order=time` doesn't work and `authorDisplayName` is incorrect
| [`7440f279a0a0f111103f165a67478995d09458cd`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/7440f279a0a0f111103f165a67478995d09458cd) | 01/21/23 | 12 | 3 | Format output of `liveChats?part=snippet`
| [`f7ed4a970e43d3c8fd90af192cabd735fbef2bf6`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/f7ed4a970e43d3c8fd90af192cabd735fbef2bf6) | 01/21/23 | 53 | 19 | #51: Add ability to retrieve channel community post comments
| [`d8de7927b26fe1b40c43981b030349dd54b8f133`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/d8de7927b26fe1b40c43981b030349dd54b8f133) | 01/22/23 | 19 | 10 | Make channels?part=playlists work fine with YouTube Originals playlists
| [`b62d0d2187eef1ef0b7d8ba637ce504420064aba`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/b62d0d2187eef1ef0b7d8ba637ce504420064aba) | 01/22/23 | 4 | 2 | Add `videoOffsetTimeMsec` field to `liveChats?part=snippet`
| [`c94e51d95bc5cf7a16c5c497ec285b8fcdb38da2`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/c94e51d95bc5cf7a16c5c497ec285b8fcdb38da2) | 01/22/23 | 5 | 1 | Add support for negative timestamp in `liveParts?part=snippet`
| [19 commits](https://github.com/Benjamin-Loison/YouTube-operational-API/compare/483c3a3804410c4021c456b47e007e6d35dac58d..c94e51d95bc5cf7a16c5c497ec285b8fcdb38da2) | From 12/23/22 to 01/22/23 | 544 | 221 |
<details>
<summary>Used following algorithm to generate this table:</summary>
```py
import os, subprocess, datetime
path = '/var/www/html/YouTube-operational-API/'
os.chdir(path)
def execute(command):
return subprocess.check_output(command, shell = True).decode('utf-8')
with open('/home/benjamin/Desktop/bens_folder/school/m2/web-data-management/project/operational_commits_required.txt') as f:
lines = f.read().splitlines()
totalInsertions, totalDeletions = 0, 0
firstDate, lastDate = None, None
firstCommit, lastCommit = None, None
with open('table.md', 'w') as f:
f.write(f'| Commit | Date | Insertions | Deletions | Title\n')
f.write(f'|--------|------|------------|-----------|------\n')
for linesIndex, line in enumerate(lines):
print(line)
if linesIndex == 0:
firstCommit = line
elif linesIndex == len(lines) - 1:
lastCommit = line
commitLines = execute(f'git show --shortstat {line}').splitlines()
dateLine = commitLines[2]
#print(dateLine)
date = datetime.datetime.strptime(dateLine, 'Date: %a %b %d %H:%M:%S %Y +0100').strftime('%m/%d/%y')
print(date)
if linesIndex == 0:
firstDate = date
elif linesIndex == len(lines) - 1:
lastDate = date
#print(commitLines)
title = commitLines[4][4:]
print(title)
fileChanges = commitLines[-1]
#print(fileChanges)
insertions, deletions = 0, 0
if 'insertion' in fileChanges:
insertions = int(fileChanges.split(' insertion')[0].split()[-1])
if 'deletion' in fileChanges:
deletions = int(fileChanges.split(' deletion')[0].split()[-1])
print(insertions, deletions)
totalInsertions += insertions
totalDeletions += deletions
f.write(f'| [`{line}`](https://github.com/Benjamin-Loison/YouTube-operational-API/commit/{line}) | {date} | {insertions} | {deletions} | {title}\n')
f.write(f'| [{len(lines)} commits](https://github.com/Benjamin-Loison/YouTube-operational-API/compare/{firstCommit}..{lastCommit}) | From {firstDate} to {lastDate} | {totalInsertions} | {totalDeletions} | ')
```
</details>