YouTube-Agent.bundle icon indicating copy to clipboard operation
YouTube-Agent.bundle copied to clipboard

Broken metadata and series naming after last update

Open mikeyounge opened this issue 1 year ago • 16 comments

My server had a scheduled process to update the ASS and YouTube Agent bundle on a monthly basis. It updated on December 1st and seemed to break my YouTube Library. I tried rolling it back to the previous versions, but the changes stayed broken for some reason.

ISSUE 1: Series Name is either pulling the entire file path in to the name or is leaving the "[youtube2-UC.....]" channel ID appended to the end. ISSUE 2: No series images are being loaded anymore. Channels have no series thumbnail or banners.

Using the "youtube2" method, episode data is being pulled. Descriptions are correct, thumbnails are loaded. Air dates are being parsed and entered correctly, and episode titles are being correctly changed. After further examination of the logs, it seems that it is falling back to local data, which contains images, json and nfo files.

I experimented with adding a "youtube2.id" file and that helped with the channel names because I was able to remove the "[youtube2...]" from the folder name, but it still isn't pulling any metadata. My API key works as I can make the same queries in a browser and get a successful query.

com.plexapp.agents.youtube.log Plex Media Scanner.log

File naming structure: Tubesync Parent Folder/YouTube Channel [youtube2-UC...]/Channel Name - YYYYMMDD - Full Title [Video ID].ext

using youtube2.id file: Tubesync Parent Folder/YouTube Channel/Channel Name - YYYYMMDD - Full Title [Video ID].ext

I'm happy to test any changes. Let me know how I can help.

mikeyounge avatar Dec 03 '24 09:12 mikeyounge

Library access denied Please create Plex Media Server/X-Plex-Token.id containing the Plex token id by logging on plex.tv/desktop, then https://plex.tv/devices.xml, it will be MediaContainer/Device ... token="xxxxxxxxxxxxxx"

ZeroQI avatar Dec 03 '24 10:12 ZeroQI

Good morning. Attached are my updated logs after placing the X-Plex-Token in the root folder of the Plex Media Server settings. The "Library access denied" error has gone away, but I'm seeing the same behavior. The attached agent log was after moving one of my media folders out of the directory, letting Plex remove it, and then re-adding the directory. The episode has all the correct info because of the local .json and .jpg files, but the Series only has a genre tag, no other information was pulled.

2 Much ColinFurze.filelist.log 2 Much ColinFurze.scanner.log com.plexapp.agents.youtube.log Plex Media Scanner.log

I hadn't placed that X-Plex-Token.id file there because the readme makes it sound like that is just for logging, not functionality. Please let me know if I can get you anything else to help. Thank you.

mikeyounge avatar Dec 03 '24 16:12 mikeyounge

com.plexapp.agents.youtube.log Plex Media Scanner.log Yogscast.filelist.log Yogscast.scanner.log

I have a Sub-folder of a channel being downloaded from a playlist. Unfortunately, it doesn't sort it by publish date, so I have added it using the youtube2["UC"] id. ASS/YouTube Agent are now adding new videos as their own channel, even though the folder and naming structure is the same for all videos. I currently have two additional Shows with one episode each. There is still no channel data. The description is empty and images are not being pulled.

The weird thing about this, it was all working before I updated. I never had any trouble finding thumbnails and channel information.

mikeyounge avatar Dec 03 '24 18:12 mikeyounge

Yogcast see youtube2 forced channel id according scanner log, and logs looks fine you have files in both that and Jingle Jam subfolder, gets associated same channel ID, hence same series

Yogcast is not in the 2 agent logs...

ZeroQI avatar Dec 03 '24 21:12 ZeroQI

I expect them to have the same ID because they are playlists from the same channel. I am OK with that. Before the update, it would create one series for “TTT” and one for “Jingle Jam”, each with similar channel descriptions and images. After the update, each new episode of “Jingle Jam” is creating a new series with one episode. I have to merge them now in to one series and still no images or descriptions for the channel. If I didn’t have local json files and episode thumbnails, it wouldn’t pull those either.

mikeyounge avatar Dec 04 '24 01:12 mikeyounge

Seem like a scanner issue to me for the splitted behaviour If they are playlist, why use the channel id and not playlist id? Try to use at folder in library root folder or it is grouping folder and not supposed to have files into folder at root level

I need the agent logs showing the series for the summary and channel thumbnail issue so refresh impacted series metadata manualky and attach them again please

ZeroQI avatar Dec 04 '24 08:12 ZeroQI

Unfortunately, when I use the playlist ID, the date does not get populated. I use that to watch my shows in chronological order. The channel ID with youtube2 applies the date correctly, especially for channels that can have multiple uploads per day, of which I have 2.

This is the line in the Agent logs that confuses me. Every video has this log. videoId [#######] not in Playlist/channel item list so loading json_video_details

And this shows a displayname that includes the channel ID. Is that what populates the Series Title field? I get this when I use the youtube2.id and remove the channel ID from the folder name.

2024-12-03 10:04:06,328 (7f5cdf8fab38) : INFO (__init__:220) - Search() - dir: /data/Videos/tubesync/video/Stand-up Maths, filename: /data/Videos/tubesync/video/Stand-up Maths/Stand-up Maths - 20241121 - New divisibility rule! (30,000 of them) [6pLz8wEQYkA].mkv, displayname: Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A] 2024-12-03 10:04:06,328 (7f5cdf8fab38) : INFO (__init__:220) - search() - YouTube ID not found - regex: "PLAYLIST" 2024-12-03 10:04:06,329 (7f5cdf8fab38) : INFO (__init__:220) - search() - YouTube ID not found - regex: "CHANNEL" 2024-12-03 10:04:06,329 (7f5cdf8fab38) : INFO (__init__:220) - search() - YouTube ID found - regex: VIDEO, youtube ID: "6pLz8wEQYkA"

This is the log section I get when I add a show as I have always done. The folder is in one of the root directories of the library. It has the show name and "[youtube2-UC......]" in the folder name. When it loads, I get all of the show metadata, as I expect, but the show title includes the file path.

2024-12-04 08:59:10,446 (7f319b0fab38) : DEBUG (runtime:717) - Handling request GET /:/plugins/com.plexapp.agents.youtube/messaging/function/X0FnZW50S2l0OlNlYXJjaA__/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoyCmRpY3QKZGljdAo2CnMyCnhuczQKbGFuZ2IwczYKbWFudWFsYjFzNwpwcmltYXJ5aTAKczcKdmVyc2lvbnIxCnM2Cmt3YXJnc3M3ClRWX1Nob3dzMTAKbWVkaWFfdHlwZTExCnMxNgowZjZkYWY2NjE4MmFhZjE4czE3Cm9wZW5TdWJ0aXRsZXNIYXNoczgKMTEyMTIyNTNzNwplcGlzb2Rlczg1ClN0YW5kLXVwIE1hdGhzIC0gMjAyNDExMjEgLSBOZXcgZGl2aXNpYmlsaXR5IHJ1bGUhICgzMCwwMDAgb2YgdGhlbSkgWzZwTHo4d0VRWWtBXS5ta3ZzNApuYW1lczEKMXM4CmVwaXNvZGljczUwClN0YW5kLXVwIE1hdGhzIFt5b3V0dWJlMi1VQ1NqdTVHMmFGYVdNcW4tXzBZQnRxNUFdczQKc2hvd3M0CjIwMjRzNgpzZWFzb25zNAoyMDI0czQKeWVhcnMyMjAKJTJGZGF0YSUyRlZpZGVvcyUyRnR1YmVzeW5jJTJGdmlkZW8lMkZTdGFuZC11cCUyME1hdGhzJTIwJTVCeW91dHViZTItVUNTanU1RzJhRmFXTXFuLV8wWUJ0cTVBJTVEJTJGU3RhbmQtdXAlMjBNYXRocyUyMC0lMjAyMDI0MTEyMSUyMC0lMjBOZXclMjBkaXZpc2liaWxpdHklMjBydWxlJTIxJTIwJTI4MzAlMkMwMDAlMjBvZiUyMHRoZW0lMjklMjAlNUI2cEx6OHdFUVlrQSU1RCUyRW1rdnM4CmZpbGVuYW1lczQwCjFmYmU3NDE3Mzc1YzA5OTg5M2I0YjQ5MTQ1YjFlYTc4MzMzMzlmMzRzOApwbGV4SGFzaHMyCi0xczgKZHVyYXRpb25zNgo3MDg3MDZzMgppZHIwCg__ 2024-12-04 08:59:10,447 (7f319b0fab38) : DEBUG (runtime:49) - Received packed state data (80 bytes) 2024-12-04 08:59:10,448 (7f319b0fab38) : DEBUG (runtime:814) - Found route matching /:/plugins/com.plexapp.agents.youtube/messaging/function/X0FnZW50S2l0OlNlYXJjaA__/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoyCmRpY3QKZGljdAo2CnMyCnhuczQKbGFuZ2IwczYKbWFudWFsYjFzNwpwcmltYXJ5aTAKczcKdmVyc2lvbnIxCnM2Cmt3YXJnc3M3ClRWX1Nob3dzMTAKbWVkaWFfdHlwZTExCnMxNgowZjZkYWY2NjE4MmFhZjE4czE3Cm9wZW5TdWJ0aXRsZXNIYXNoczgKMTEyMTIyNTNzNwplcGlzb2Rlczg1ClN0YW5kLXVwIE1hdGhzIC0gMjAyNDExMjEgLSBOZXcgZGl2aXNpYmlsaXR5IHJ1bGUhICgzMCwwMDAgb2YgdGhlbSkgWzZwTHo4d0VRWWtBXS5ta3ZzNApuYW1lczEKMXM4CmVwaXNvZGljczUwClN0YW5kLXVwIE1hdGhzIFt5b3V0dWJlMi1VQ1NqdTVHMmFGYVdNcW4tXzBZQnRxNUFdczQKc2hvd3M0CjIwMjRzNgpzZWFzb25zNAoyMDI0czQKeWVhcnMyMjAKJTJGZGF0YSUyRlZpZGVvcyUyRnR1YmVzeW5jJTJGdmlkZW8lMkZTdGFuZC11cCUyME1hdGhzJTIwJTVCeW91dHViZTItVUNTanU1RzJhRmFXTXFuLV8wWUJ0cTVBJTVEJTJGU3RhbmQtdXAlMjBNYXRocyUyMC0lMjAyMDI0MTEyMSUyMC0lMjBOZXclMjBkaXZpc2liaWxpdHklMjBydWxlJTIxJTIwJTI4MzAlMkMwMDAlMjBvZiUyMHRoZW0lMjklMjAlNUI2cEx6OHdFUVlrQSU1RCUyRW1rdnM4CmZpbGVuYW1lczQwCjFmYmU3NDE3Mzc1YzA5OTg5M2I0YjQ5MTQ1YjFlYTc4MzMzMzlmMzRzOApwbGV4SGFzaHMyCi0xczgKZHVyYXRpb25zNgo3MDg3MDZzMgppZHIwCg__ 2024-12-04 08:59:10,448 (7f319b0fab38) : INFO (agentkit:961) - Searching for matches for {'openSubtitlesHash': '0f6daf66182aaf18', 'episode': '11212253', 'name': 'Stand-up Maths - 20241121 - New divisibility rule! (30,000 of them) [6pLz8wEQYkA].mkv', 'episodic': '1', 'show': 'Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]', 'season': '2024', 'plexHash': '1fbe7417375c099893b4b49145b1ea7833339f34', 'filename': '%2Fdata%2FVideos%2Ftubesync%2Fvideo%2FStand-up%20Maths%20%5Byoutube2-UCSju5G2aFaWMqn-_0YBtq5A%5D%2FStand-up%20Maths%20-%2020241121%20-%20New%20divisibility%20rule%21%20%2830%2C000%20of%20them%29%20%5B6pLz8wEQYkA%5D%2Emkv', 'year': '2024', 'duration': '-1', 'id': '708706'} 2024-12-04 08:59:10,449 (7f319b0fab38) : DEBUG (networking:144) - Requesting 'http://127.0.0.1:32400/library/metadata/708706/tree' 2024-12-04 08:59:10,468 (7f319b0fab38) : INFO (__init__:77) - /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]/Stand-up Maths - 20241031 - How on Earth does ^.$^(..+)1+$ produce primes [5vbk0TwkokM].mkv 2024-12-04 08:59:10,468 (7f319b0fab38) : INFO (__init__:167) - ============================================================================================================================================================= 2024-12-04 08:59:10,468 (7f319b0fab38) : INFO (__init__:168) - Search() - dir: /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A], filename: /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]/Stand-up Maths - 20241121 - New divisibility rule! (30,000 of them) [6pLz8wEQYkA].mkv, displayname: Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A] 2024-12-04 08:59:10,469 (7f319b0fab38) : INFO (__init__:179) - search() - YouTube ID not found - regex: "PLAYLIST" 2024-12-04 08:59:10,469 (7f319b0fab38) : INFO (__init__:175) - search() - YouTube ID found - regex: CHANNEL, youtube ID: "UCSju5G2aFaWMqn-_0YBtq5A" 2024-12-04 08:59:10,469 (7f319b0fab38) : INFO (__init__:177) - ============================================================================================================================================================= 2024-12-04 08:59:10,470 (7f319b0fab38) : DEBUG (runtime:88) - Sending packed state data (107 bytes) 2024-12-04 08:59:10,470 (7f319b0fab38) : DEBUG (runtime:924) - Response: [200] str, 784 bytes 2024-12-04 08:59:10,544 (7f319b0fab38) : DEBUG (runtime:717) - Handling request GET /:/plugins/com.plexapp.agents.youtube/messaging/function/X0FnZW50S2l0OlVwZGF0ZU1ldGFkYXRh/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMTAKczIKeG5zNApsYW5nYjFzNQpmb3JjZWIwczgKcGVyaW9kaWNzNgo3MDg3MDZzNApkYmlkaTAKczcKdmVyc2lvbm5zMTAKcGFyZW50R1VJRG5zOApwYXJlbnRJRHM3ClRWX1Nob3dzMTAKbWVkaWFfdHlwZXMxMjAKY29tLnBsZXhhcHAuYWdlbnRzLnlvdXR1YmU6Ly95b3V0dWJlfFVDU2p1NUcyYUZhV01xbi1fMFlCdHE1QXxTdGFuZC11cCBNYXRocyBbeW91dHViZTItVUNTanU1RzJhRmFXTXFuLV8wWUJ0cTVBXT9sYW5nPXhuczQKZ3VpZHM4Mwp5b3V0dWJlfFVDU2p1NUcyYUZhV01xbi1fMFlCdHE1QXxTdGFuZC11cCBNYXRocyBbeW91dHViZTItVUNTanU1RzJhRmFXTXFuLV8wWUJ0cTVBXXMyCmlkcjAK 2024-12-04 08:59:10,545 (7f319b0fab38) : DEBUG (runtime:49) - Received packed state data (80 bytes) 2024-12-04 08:59:10,546 (7f319b0fab38) : DEBUG (runtime:814) - Found route matching /:/plugins/com.plexapp.agents.youtube/messaging/function/X0FnZW50S2l0OlVwZGF0ZU1ldGFkYXRh/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMTAKczIKeG5zNApsYW5nYjFzNQpmb3JjZWIwczgKcGVyaW9kaWNzNgo3MDg3MDZzNApkYmlkaTAKczcKdmVyc2lvbm5zMTAKcGFyZW50R1VJRG5zOApwYXJlbnRJRHM3ClRWX1Nob3dzMTAKbWVkaWFfdHlwZXMxMjAKY29tLnBsZXhhcHAuYWdlbnRzLnlvdXR1YmU6Ly95b3V0dWJlfFVDU2p1NUcyYUZhV01xbi1fMFlCdHE1QXxTdGFuZC11cCBNYXRocyBbeW91dHViZTItVUNTanU1RzJhRmFXTXFuLV8wWUJ0cTVBXT9sYW5nPXhuczQKZ3VpZHM4Mwp5b3V0dWJlfFVDU2p1NUcyYUZhV01xbi1fMFlCdHE1QXxTdGFuZC11cCBNYXRocyBbeW91dHViZTItVUNTanU1RzJhRmFXTXFuLV8wWUJ0cTVBXXMyCmlkcjAK 2024-12-04 08:59:10,547 (7f319b0fab38) : DEBUG (model:32) - Loading model with GUID com.plexapp.agents.youtube://youtube|UCSju5G2aFaWMqn-_0YBtq5A|Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]?lang=xn 2024-12-04 08:59:10,548 (7f319b0fab38) : DEBUG (model:234) - Deserializing from /config/Library/Application Support/Plex Media Server/Metadata/TV Shows/2/be4b6ee66577da6a36e701f763ed208641c8f47.bundle/Contents/com.plexapp.agents.youtube/Info.xml 2024-12-04 08:59:10,598 (7f319b0fab38) : DEBUG (networking:144) - Requesting 'http://127.0.0.1:32400/library/metadata/708706/tree' 2024-12-04 08:59:10,609 (7f319b0fab38) : INFO (__init__:230) - === update(lang=xn, force=True, movie=False) === 2024-12-04 08:59:10,609 (7f319b0fab38) : INFO (__init__:77) - /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]/Stand-up Maths - 20241031 - How on Earth does ^.$^(..+)1+$ produce primes [5vbk0TwkokM].mkv 2024-12-04 08:59:10,609 (7f319b0fab38) : INFO (__init__:242) - ============================================================================================================================================================= 2024-12-04 08:59:10,609 (7f319b0fab38) : INFO (__init__:342) - [ ] library: "YouTube" 2024-12-04 08:59:10,610 (7f319b0fab38) : INFO (__init__:343) - [ ] root: "/data/Videos/tubesync/video" 2024-12-04 08:59:10,610 (7f319b0fab38) : INFO (__init__:344) - [ ] path: "Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]" 2024-12-04 08:59:10,610 (7f319b0fab38) : INFO (__init__:345) - [ ] dir: "/data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]" 2024-12-04 08:59:10,610 (7f319b0fab38) : INFO (__init__:350) - [ ] series_root_folder: "/data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]" 2024-12-04 08:59:10,802 (7f319b0fab38) : INFO (__init__:491) - [ ] subfolder_count: "0" 2024-12-04 08:59:10,803 (7f319b0fab38) : INFO (__init__:491) - Grouping folder not found or single folder, root: /data/Videos/tubesync/video, path: Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A], Grouping folder: Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A], subdirs: 0, reverse_path: [u'Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]'] 2024-12-04 08:59:10,821 (7f319b0fab38) : DEBUG (networking:139) - Fetching 'https://www.googleapis.com/youtube/v3/channels?part=snippet%2CcontentDetails%2Cstatistics%2CbrandingSettings&id=UCSju5G2aFaWMqn-_0YBtq5A' from the HTTP cache 2024-12-04 08:59:10,829 (7f319b0fab38) : INFO (__init__:491) - exception: tuple index out of range, url: UCSju5G2aFaWMqn-_0YBtq5A 2024-12-04 08:59:10,830 (7f319b0fab38) : INFO (__init__:512) - ============================================================================================================================================================= 2024-12-04 08:59:10,830 (7f319b0fab38) : INFO (__init__:513) - Season: 2024 2024-12-04 08:59:10,830 (7f319b0fab38) : INFO (__init__:519) - metadata.seasons[2024].episodes[10301938] "Stand-up Maths - 20241031 - How on Earth does ^.$^(..+)1+$ produce primes [5vbk0TwkokM].mkv" 2024-12-04 08:59:10,830 (7f319b0fab38) : INFO (__init__:538) - populate_episode_metadata_from_info_json() - series_root_folder: /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A], filename: Stand-up Maths - 20241031 - How on Earth does ^.$^(..+)1+$ produce primes [5vbk0TwkokM].mkv 2024-12-04 08:59:10,831 (7f319b0fab38) : INFO (__init__:539) - Searching for "Stand-up Maths - 20241031 - How on Earth does ^.$^(..+)1+$ produce primes [5vbk0TwkokM].info.json". Searching in "/data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]". 2024-12-04 08:59:10,831 (7f319b0fab38) : INFO (__init__:541) - Directory /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A] contains 20 files 2024-12-04 08:59:10,864 (7f319b0fab38) : INFO (__init__:547) - Attempting to read metadata from /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]/Stand-up Maths - 20241031 - How on Earth does ^.$^(..+)1+$ produce primes [5vbk0TwkokM].info.json 2024-12-04 08:59:10,865 (7f319b0fab38) : INFO (__init__:549) - # videoId [5vbk0TwkokM] not in Playlist/channel item list so loading json_video_details 2024-12-04 08:59:10,865 (7f319b0fab38) : INFO (__init__:550) - [?] link: "https://www.youtube.com/watch?v=5vbk0TwkokM" 2024-12-04 08:59:10,865 (7f319b0fab38) : INFO (__init__:135) - img_load() - series_root_folder: /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A], filename: Stand-up Maths - 20241031 - How on Earth does ^.$^(..+)1+$ produce primes [5vbk0TwkokM].mkv 2024-12-04 08:59:10,865 (7f319b0fab38) : INFO (__init__:138) - local thumbnail found for file /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]/Stand-up Maths - 20241031 - How on Earth does ^.$^(..+)1+$ produce primes [5vbk0TwkokM].jpg 2024-12-04 08:59:10,992 (7f319b0fab38) : INFO (__init__:556) - [ ] thumbs: "/data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]/Stand-up Maths - 20241031 - How on Earth does ^.$^(..+)1+$ produce primes [5vbk0TwkokM].jpg" 2024-12-04 08:59:10,993 (7f319b0fab38) : INFO (__init__:560) - [ ] title: "How on Earth does ^.?$|^(..+?)\1+$ produce primes?" 2024-12-04 08:59:10,993 (7f319b0fab38) : INFO (__init__:561) - [ ] summary: "Take your personal data back with Incogni! Use code standupmaths at the link below and get 60% off an annual plan: https://incogni.com/standupmaths. . ^.?$|^(..+?)\1+$. . Fantastic blog post by Illya Gerasymchuk. "Demystifying The Regular Expression That Checks If A Number Is Prime" https://illya.sh/the-codeumentary-blog/regular-expression-check-if-number-is-prime/. . Thanks to viewers Chris Lawrence and Jimmy Diep for suggesting the topic.. . Huge thanks to my Patreon supporters. They keep me supplied with all the primes I need. https://www.patreon.com/standupmaths. . CORRECTIONS. - Several people have corrected me that regex is zero indexed it’s just that \0 refers to the entire matched string.. - There is some concern about my pronunciation of rejex.. - Let me know if you spot anything else!. . Filming, VFX and editing by Alex Genn-Bash. Written and performed by Matt Parker. Extra material by Sam Hartburn. Number yeeting by Lucie Green. Spooky lighting and producing by Nicole Jacobus. Music by Howard Carter. Design by Simon Wright and Adam Robinson. . MATT PARKER: Stand-up Mathematician. Website: http://standupmaths.com/" 2024-12-04 08:59:10,994 (7f319b0fab38) : INFO (__init__:562) - [ ] date: "20241031" 2024-12-04 08:59:10,994 (7f319b0fab38) : INFO (__init__:563) - [ ] duration: "1116" 2024-12-04 08:59:10,994 (7f319b0fab38) : INFO (__init__:574) - [ ] genres: "[u'Entertainment', u'math', u'maths', u'mathematics', u'comedy', u'stand-up']" 2024-12-04 08:59:10,995 (7f319b0fab38) : INFO (__init__:519) - metadata.seasons[2024].episodes[11060723] "Stand-up Maths - 20241105 - Can the Red Mirage and Blue Shift be explained with math ELECTION 2024 [KXQ1ieFRr0o].mkv" 2024-12-04 08:59:10,995 (7f319b0fab38) : INFO (__init__:538) - populate_episode_metadata_from_info_json() - series_root_folder: /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A], filename: Stand-up Maths - 20241105 - Can the Red Mirage and Blue Shift be explained with math ELECTION 2024 [KXQ1ieFRr0o].mkv 2024-12-04 08:59:10,995 (7f319b0fab38) : INFO (__init__:539) - Searching for "Stand-up Maths - 20241105 - Can the Red Mirage and Blue Shift be explained with math ELECTION 2024 [KXQ1ieFRr0o].info.json". Searching in "/data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]". 2024-12-04 08:59:10,996 (7f319b0fab38) : INFO (__init__:541) - Directory /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A] contains 20 files 2024-12-04 08:59:11,027 (7f319b0fab38) : INFO (__init__:547) - Attempting to read metadata from /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]/Stand-up Maths - 20241105 - Can the Red Mirage and Blue Shift be explained with math ELECTION 2024 [KXQ1ieFRr0o].info.json 2024-12-04 08:59:11,027 (7f319b0fab38) : INFO (__init__:549) - # videoId [KXQ1ieFRr0o] not in Playlist/channel item list so loading json_video_details 2024-12-04 08:59:11,027 (7f319b0fab38) : INFO (__init__:550) - [?] link: "https://www.youtube.com/watch?v=KXQ1ieFRr0o" 2024-12-04 08:59:11,027 (7f319b0fab38) : INFO (__init__:135) - img_load() - series_root_folder: /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A], filename: Stand-up Maths - 20241105 - Can the Red Mirage and Blue Shift be explained with math ELECTION 2024 [KXQ1ieFRr0o].mkv 2024-12-04 08:59:11,027 (7f319b0fab38) : INFO (__init__:138) - local thumbnail found for file /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]/Stand-up Maths - 20241105 - Can the Red Mirage and Blue Shift be explained with math ELECTION 2024 [KXQ1ieFRr0o].jpg 2024-12-04 08:59:11,106 (7f319b0fab38) : INFO (__init__:556) - [ ] thumbs: "/data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]/Stand-up Maths - 20241105 - Can the Red Mirage and Blue Shift be explained with math ELECTION 2024 [KXQ1ieFRr0o].jpg" 2024-12-04 08:59:11,107 (7f319b0fab38) : INFO (__init__:560) - [ ] title: "Can the "Red Mirage" and "Blue Shift" be explained with math? ELECTION 2024" 2024-12-04 08:59:11,107 (7f319b0fab38) : INFO (__init__:561) - [ ] summary: "Here is the full MIT Election Data and Science Lab report: https://electionlab.mit.edu/sites/default/files/2021-04/Blue-Shift-in-2020-Election.pdf. . University of Florida's Election Lab early voting stats. https://election.lab.ufl.edu/early-vote/2024-early-voting/. . Trump quotes from the 2020 election night are 01:09 to 01:20 and 07:31 to 08:22 from this video: https://www.youtube.com/watch?v=YlmaKdbC6ZM&ab_channel=ABCNews. . CNN have a great timeline of what will happen when: https://edition.cnn.com/2024/11/02/politics/how-election-night-will-unfold-hour-by-hour/index.html. . I found this to be a very helpful article: "Blue Shift And Red Mirage Explained: Why The First Vote Tallies May Be Misleading" https://www.forbes.com/sites/saradorn/2024/10/29/blue-shift-and-red-mirage-explained-why-the-first-vote-tallies-may-be-misleading/. . Democracy sausage. You heard me. https://en.wikipedia.org/wiki/Democracy_sausage. . If you have any suggestions for follow-on Election 2024 math videos, drop me a line: [email protected]. . Huge thanks to my Patreon supporters. They are the dark money super pac behind my channel. https://www.patreon.com/standupmaths. . CORRECTIONS. - None yet, let me know if you spot anything! . . Adequate filming by Matt Parker. Expert editing by Alex Genn-Bash. Written and performed by Matt Parker. Produced by Nicole Jacobus. Music by Howard Carter. Design by Simon Wright and Adam Robinson. . MATT PARKER: Stand-up Mathematician. Website: http://standupmaths.com/" 2024-12-04 08:59:11,108 (7f319b0fab38) : INFO (__init__:562) - [ ] date: "20241105" 2024-12-04 08:59:11,108 (7f319b0fab38) : INFO (__init__:563) - [ ] duration: "1392" 2024-12-04 08:59:11,108 (7f319b0fab38) : INFO (__init__:574) - [ ] genres: "[u'Entertainment', u'math', u'maths', u'mathematics', u'comedy', u'stand-up']" 2024-12-04 08:59:11,109 (7f319b0fab38) : INFO (__init__:519) - metadata.seasons[2024].episodes[11212253] "Stand-up Maths - 20241121 - New divisibility rule! (30,000 of them) [6pLz8wEQYkA].mkv" 2024-12-04 08:59:11,109 (7f319b0fab38) : INFO (__init__:538) - populate_episode_metadata_from_info_json() - series_root_folder: /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A], filename: Stand-up Maths - 20241121 - New divisibility rule! (30,000 of them) [6pLz8wEQYkA].mkv 2024-12-04 08:59:11,109 (7f319b0fab38) : INFO (__init__:539) - Searching for "Stand-up Maths - 20241121 - New divisibility rule! (30,000 of them) [6pLz8wEQYkA].info.json". Searching in "/data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]". 2024-12-04 08:59:11,110 (7f319b0fab38) : INFO (__init__:541) - Directory /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A] contains 20 files 2024-12-04 08:59:11,303 (7f319b0fab38) : INFO (__init__:547) - Attempting to read metadata from /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]/Stand-up Maths - 20241121 - New divisibility rule! (30,000 of them) [6pLz8wEQYkA].info.json 2024-12-04 08:59:11,303 (7f319b0fab38) : INFO (__init__:549) - # videoId [6pLz8wEQYkA] not in Playlist/channel item list so loading json_video_details 2024-12-04 08:59:11,303 (7f319b0fab38) : INFO (__init__:550) - [?] link: "https://www.youtube.com/watch?v=6pLz8wEQYkA" 2024-12-04 08:59:11,303 (7f319b0fab38) : INFO (__init__:135) - img_load() - series_root_folder: /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A], filename: Stand-up Maths - 20241121 - New divisibility rule! (30,000 of them) [6pLz8wEQYkA].mkv 2024-12-04 08:59:11,303 (7f319b0fab38) : INFO (__init__:138) - local thumbnail found for file /data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]/Stand-up Maths - 20241121 - New divisibility rule! (30,000 of them) [6pLz8wEQYkA].jpg 2024-12-04 08:59:11,397 (7f319b0fab38) : INFO (__init__:556) - [ ] thumbs: "/data/Videos/tubesync/video/Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]/Stand-up Maths - 20241121 - New divisibility rule! (30,000 of them) [6pLz8wEQYkA].jpg" 2024-12-04 08:59:11,399 (7f319b0fab38) : INFO (__init__:560) - [ ] title: "New divisibility rule! (30,000 of them)" 2024-12-04 08:59:11,400 (7f319b0fab38) : INFO (__init__:561) - [ ] summary: "Support me on Patreon before the end of November 2024 and get your own prime number test: https://www.patreon.com/standupmaths. . Come and see Steve Mould, me and other humans on Monday 2 December in London. I'll be doing a free meet and great with Bec Hill after the show. https://festivalofthespokennerd.com/tickets/. . Here is the current main list of divisibility tests from 7 to 30,000: https://www.dropbox.com/scl/fi/zednyqcvd4kfi0zgm8n6t/divisibility_tests_to_30000.txt?rlkey=k7x87cnex6r32cuior6w9kzo5&dl=0. . Divisibility Rules by Michael "Vsauce" Stevens on D!NG. https://www.youtube.com/watch?v=f6tHqOmIj1E. . Why 7 is Weird by James Grime on Numberphile. https://www.youtube.com/watch?v=UDQjn_-pDSs. . Buy signed props from the channel! All money goes to charity. https://www.ebay.co.uk/usr/standupmaths. . Huge thanks to my Patreon supporters. They come together to support me dividing. https://www.patreon.com/standupmaths. . CORRECTIONS. - None yet, let me know if you spot anything! . . Filming and editing by Alex Genn-Bash. Written and performed by Matt Parker. Produced and random numbers by Nicole Jacobus. Music by Howard Carter. Design by Simon Wright and Adam Robinson. Dice on loan from the Bec Hill Collection. . MATT PARKER: Stand-up Mathematician. Website: http://standupmaths.com/" 2024-12-04 08:59:11,400 (7f319b0fab38) : INFO (__init__:562) - [ ] date: "20241121" 2024-12-04 08:59:11,400 (7f319b0fab38) : INFO (__init__:563) - [ ] duration: "1610" 2024-12-04 08:59:11,400 (7f319b0fab38) : INFO (__init__:574) - [ ] genres: "[u'Entertainment', u'math', u'maths', u'mathematics', u'comedy', u'stand-up']" 2024-12-04 08:59:11,400 (7f319b0fab38) : INFO (__init__:614) - === End Of Agent Call, errors after that are Plex related =================================================================================================== 2024-12-04 08:59:11,434 (7f319b0fab38) : DEBUG (model:229) - Serializing to /config/Library/Application Support/Plex Media Server/Metadata/TV Shows/2/be4b6ee66577da6a36e701f763ed208641c8f47.bundle/Contents/com.plexapp.agents.youtube/Info.xml 2024-12-04 08:59:11,437 (7f319b0fab38) : DEBUG (runtime:88) - Sending packed state data (107 bytes) 2024-12-04 08:59:11,437 (7f319b0fab38) : DEBUG (runtime:924) - Response: [200] str, 16 bytes Plex Screenshot 1

Scanner logs Plex Media Scanner.log Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A].filelist.log Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A].scanner.log root.scanner.log com.plexapp.agents.youtube.log

mikeyounge avatar Dec 04 '24 16:12 mikeyounge

I renamed all my folders to be "Channel Name [youtube2-UC..]" and fixed all show matches. All of the metadata came back, but the show title includes the file path as shown in the picture above.

mikeyounge avatar Dec 04 '24 19:12 mikeyounge

I have great difficulty as it seems it was a library wide metadata update, which cause multiple threads to run concurrently...

Scanner info looks good "Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]" s2024e 10301938 "Youtube Date" "Stand-up Maths - 20241031 - How on Earth does ^.$^(..+)1+$ produce primes [5vbk0TwkokM].mkv" "Stand-up Maths - 20241031 - How on Earth does ^.$^(..+)1+$ produce primes [5vbk0TwkokM].mkv" "Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]" s2024e 11060723 "Youtube Date" "Stand-up Maths - 20241105 - Can the Red Mirage and Blue Shift be explained with math ELECTION 2024 [KXQ1ieFRr0o].mkv" "Stand-up Maths - 20241105 - Can the Red Mirage and Blue Shift be explained with math ELECTION 2024 [KXQ1ieFRr0o].mkv" "Stand-up Maths [youtube2-UCSju5G2aFaWMqn-_0YBtq5A]" s2024e 11212253 "Youtube Date" "Stand-up Maths - 20241121 - New divisibility rule! (30,000 of them) [6pLz8wEQYkA].mkv" "Stand-up Maths - 20241121 - New divisibility rule! (30,000 of them) [6pLz8wEQYkA].mkv"

Agent logs show error

2024-12-04 08:59:10,821 (7f319b0fab38) :  DEBUG (networking:139) - Fetching 'https://www.googleapis.com/youtube/v3/channels?part=snippet%2CcontentDetails%2Cstatistics%2CbrandingSettings&id=UCSju5G2aFaWMqn-_0YBtq5A&key=AIzaSyDDSlkDsh35iBAuGbzjobyfUTYWIVV9Xy0' from the HTTP cache
2024-12-04 08:59:10,829 (7f319b0fab38) :  INFO (__init__:491) - exception: tuple index out of range, url: UCSju5G2aFaWMqn-_0YBtq5A

URL works: https://www.googleapis.com/youtube/v3/channels?part=snippet%2CcontentDetails%2Cstatistics%2CbrandingSettings&id=UCSju5G2aFaWMqn-_0YBtq5A&key=AIzaSyDDSlkDsh35iBAuGbzjobyfUTYWIVV9Xy0

Seem like the cache has it failing previously and remembers, error "tuple index out of range, url: UCSju5G2aFaWMqn-_0YBtq5A", URL is YOUTUBE_CHANNEL_DETAILS, prev line output 373 so it is the code from line 404 onwards

    if channel_id.startswith('UC') or channel_id.startswith('HC'):
      try:
        json_channel_details  = json_load(YOUTUBE_CHANNEL_DETAILS, channel_id)['items'][0] => failure "tuple index out of range, url: UCSju5G2aFaWMqn-_0YBtq5A" caused by this line
        json_channel_items    = json_load(YOUTUBE_CHANNEL_ITEMS.format(channel_id))
      except Exception as e:  Log('exception: {}, url: {}'.format(e, guid))

YOUTUBE_CHANNEL_DETAILS = YOUTUBE_API_BASE_URL + 'channels?part=snippet%2CcontentDetails%2Cstatistics%2CbrandingSettings&id={}&key={}'

This error come from json_load function OR cannot find ['items'][0] cache needs clearing most likely

ZeroQI avatar Dec 05 '24 09:12 ZeroQI

Which cache needs clearing? Browser cache or a specific Plex cache?

Can you delete my Google API Key from your post please? I meant to delete it before posting. I removed it from my post

mikeyounge avatar Dec 05 '24 10:12 mikeyounge

Plex http cache

ZeroQI avatar Dec 05 '24 10:12 ZeroQI

After clearing the HTTP Cache from the Plug-in Support folder, this is the log response I get after fixing the match to refresh the metadata. All the metadata loads correctly, but series name/title includes the file path as before.

2024-12-05 17:29:58,072 (7f6de6d5fb38) :  DEBUG (networking:144) - Requesting 'https://www.googleapis.com/youtube/v3/channels?part=snippet%2CcontentDetails%2Cstatistics%2CbrandingSettings&id=UCSju5G2aFaWMqn-_0YBtq5A&key=XXXXXXXXXXXXXXXXXXXXX'
2024-12-05 17:29:58,239 (7f6de6d5fb38) :  INFO (__init__:491) - exception: tuple index out of range, url: UCSju5G2aFaWMqn-_0YBtq5A

mikeyounge avatar Dec 06 '24 01:12 mikeyounge

Hello,

I can also report similar if not identical issues with the most recent commit. All testing done with Plex Media Server 1.41.3.9314 with Plex Pass, and commit 33ce1de of Absolute Series Scanner.

Commit 19aeeee works as expected. My current naming pattern using yt-dlp is: '%(uploader)s [%(channel_id)s]/%(title)s [%(id)s] - WEBDL-%(height)sp.%(ext)s' Which results in file and pathnames like this:

FutureCanoe\ \[UCF3jMqkgvFRb6KBbSfsFFtQ\]/What\ To\ Do\ With\ Leftover\ Rice?\ (Hacks\ Tested)\ [hWbCz6cBU_I]\ -\ WEBDL-1080p.mkv

As expected, YouTube-Agent grabs the channel metadata, and episode metadata correctly.

Commit 96cb18f appears to be broken for looking up channel metadata using the "UC" format of the parent folder. If I change things around to reference a playlist and name the folder as "PL" format, it will function as expected. However my use case is rarely just playlists - I tend to download entire channels.

I have tried the various "youtube-UC" and "youtube2-UC" methods and neither has produced reliable results.

tl;dr - something broke between 19aeeee and 96cb18f for channel metadata using a "UC" named folder.

clunkclunk avatar Dec 30 '24 18:12 clunkclunk

Just confirming the above information -- I was having similar issues where the channel metadata would never get matched, regardless of the structure of the episodes in the folder, using either [youtube2-<channelId>] or [youtube-<channelId>]. Reverting to commit https://github.com/ZeroQI/YouTube-Agent.bundle/commit/19aeeee561de4997741d7ddd9c6e449195b3ae76 as mentioned resolved this problem for me. To clarify, I had the exact same log contents as in this reply: https://github.com/ZeroQI/YouTube-Agent.bundle/issues/155#issuecomment-2521880972

kthrow avatar Feb 05 '25 23:02 kthrow

Same here, reverting to https://github.com/ZeroQI/YouTube-Agent.bundle/commit/19aeeee561de4997741d7ddd9c6e449195b3ae76 works as expected for my use case. my folder structure: /YouTube Channel [youtube-UC...]/Full Title [Video ID].ext

In addition to this fixing the titles of my shows (they were including the entire folder path), its also showing series banners now, that was not the case with the current master.

gerbenvandijk avatar May 06 '25 12:05 gerbenvandijk

Error is not line 491 despite log indications...

I also get the same error in Logs\PMS Plugin Logs\com.plexapp.agents.youtube.log after reproducing

2025-05-06 14:42:57,003 (7f12e4941b38) :  DEBUG (networking:144) - Requesting 'https://www.googleapis.com/youtube/v3/channels?part=snippet%2CcontentDetails%2Cstatistics%2CbrandingSettings&id=UCSju5G2aFaWMqn-_0YBtq5A&key=AIzaSyC2q8yjciNdlYRNdvwbb7NEcDxBkv1Cass'
2025-05-06 14:42:57,484 (7f12e4941b38) :  INFO (__init__:491) - exception: tuple index out of range, url: UCSju5G2aFaWMqn-_0YBtq5A

Line 408 is the only difference effectively json_channel_items = json_load(YOUTUBE_CHANNEL_ITEMS.format(channel_id)) and commenting does solve the issue

Working: YOUTUBE_CHANNEL_DETAILS = YOUTUBE_API_BASE_URL + 'channels?part=snippet%2CcontentDetails%2Cstatistics%2CbrandingSettings&id={}&key={}' => https://www.googleapis.com/youtube/v3/channels?part=snippet%2CcontentDetails%2Cstatistics%2CbrandingSettings&id=UCSju5G2aFaWMqn-_0YBtq5A&key=AIzaSyC2q8yjciNdlYRNdvwbb7NEcDxBkv1Cass

Failing: YOUTUBE_CHANNEL_ITEMS = YOUTUBE_API_BASE_URL + 'search?order=date&part=snippet&type=video&maxResults=50&channelId={}&key={}' => https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&type=video&maxResults=50&channelId=UCSju5G2aFaWMqn-_0YBtq5A&key=AIzaSyC2q8yjciNdlYRNdvwbb7NEcDxBkv1Cass

URL built manually look OK

Correct code json_channel_items = json_load(YOUTUBE_CHANNEL_ITEMS, channel_id) (calling method had changed after i had commented that line, triggering the error once i de-commented it). Once fixed, line 528 started acting up since the expected date field were not labelled the same so fixed that

Please test the fix and report

ZeroQI avatar May 06 '25 13:05 ZeroQI