Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Broken metadata and series naming after last update #155

Open
mikeyounge opened this issue Dec 3, 2024 · 13 comments
Open

Broken metadata and series naming after last update #155

mikeyounge opened this issue Dec 3, 2024 · 13 comments

Comments

@mikeyounge
Copy link

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.

@ZeroQI
Copy link
Owner

ZeroQI commented Dec 3, 2024

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"

@mikeyounge
Copy link
Author

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
Copy link
Author

mikeyounge commented Dec 3, 2024

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.

@ZeroQI
Copy link
Owner

ZeroQI commented Dec 3, 2024

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...

@mikeyounge
Copy link
Author

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.

@ZeroQI
Copy link
Owner

ZeroQI commented Dec 4, 2024

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

@mikeyounge
Copy link
Author

mikeyounge commented Dec 4, 2024

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
Copy link
Author

mikeyounge commented Dec 4, 2024

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.

@ZeroQI
Copy link
Owner

ZeroQI commented Dec 5, 2024

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

@mikeyounge
Copy link
Author

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

@ZeroQI
Copy link
Owner

ZeroQI commented Dec 5, 2024

Plex http cache

@mikeyounge
Copy link
Author

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

@clunkclunk
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants