Broken metadata and series naming after last update
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.
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"
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.
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.
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...
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.
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
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
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
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.
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
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
Plex http cache
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
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.
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
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.
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