diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | playlist_debug | 1 | ||||
-rw-r--r-- | playlist_debug_metadata | 1 | ||||
-rw-r--r-- | youtube/channel.py | 14 | ||||
-rw-r--r-- | youtube/playlist.py | 4 |
5 files changed, 14 insertions, 7 deletions
@@ -2,6 +2,7 @@ __pycache__/ *.py[cod] *$py.class youtube_dl/ +debug/ banned_addresses.txt youtube/common_old.py youtube/common_older.py diff --git a/playlist_debug b/playlist_debug deleted file mode 100644 index f6ee714..0000000 --- a/playlist_debug +++ /dev/null @@ -1 +0,0 @@ -)]}'{"timestamp": 1530593602, "result": "ok", "content": {"continuation_contents": {"item_type": "playlist_video_list", "contents": [{"title": {"item_type": "formatted_string", "runs": [{"text": "slav shopping"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CBYQxjQYACITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqbXF5MmMxamFJSFpGUmQxQk1XWi1VdkJfa2ZUd3xBQ3Jtc0tsb2Zsd3QzZ25uM3BpSFd1dDRDcXg5VWUyS2g0VzJFQW5LZkdvUV9OdFZGZFZSd0sycWNGeEFKSjFBbTNTaHdSWThBdmpVajdEUzE5TEE4TEM3VXdwYlRBdUM5SEVFN3pEY0RZVWg0NUxQd3F5Tm9tWFZ5eG1fSHFJWjNBX0plZEt6QXR0MWxMcjlhc1IxRGYxZUNTT3pCZGNuSEE=", "video_id": "tmRp4q4Jkb0"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "tmRp4q4Jkb0", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=tmRp4q4Jkb0", "_command_type": "generic_url", "click_tracking_params": "CBYQxjQYACITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "20 seconds"}, "runs": [{"text": "0:20"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "an angry shitposting gopnik"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/tmRp4q4Jkb0\/default.jpg", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "Moscow Moscow missile meme but i made it much louder"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CBUQxjQYASITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqbUIwRUlVMTJRcGVFRFZQdEJQNkFUQ19tTzJKUXxBQ3Jtc0tsUG9uYk5zODk1V2RSN2RoakFzcG5MRHF6T3RXSWpQdVNWZ1BlWmNrbGw3SllCNUxwTDFLSGYtMDFRamZHVHVGdDV6LXYyWjFRQjM3X3hNZVdQeEF1SDNyNWlKM3RycmphbDVMckVNY1hyeVBwcUNzeXl5cnJjY2RMT1ZyOEpjZGYtMjAyQllLY1dnM1VXUGNUZ04ySDdTTzNMb1E=", "video_id": "JwwBJfSRUVc"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "JwwBJfSRUVc", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=JwwBJfSRUVc", "_command_type": "generic_url", "click_tracking_params": "CBUQxjQYASITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "27 seconds"}, "runs": [{"text": "0:27"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "Original Facts"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/JwwBJfSRUVc\/default.jpg?v=59b8a10e", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "Chicken, give me tendies!"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CBQQxjQYAiITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqbVlDSDJnTGZ4QUNndTlpOU1NcTlCRTA3ZXVzZ3xBQ3Jtc0ttODc4VkRvdUNSN1l1Rnl4dHU0d1llcVh6X3BNQ01uV2tGYUNRWUowUVNjMmRGYU5NZVViV2VEX0EtN0ppdDNaU1RQM3lSMWZQd3ZMbWM4cVlkQVNXWk13ZTFlMEgwNW5ybXB5RnZhTFR2YkFsOXZpZkl4bDhJVU90R25ubUd0RFBuS2pfOFBGUVk0Z1hjOUlDUG9uYzFoNTQtV1E=", "video_id": "Yp_DydcUPNI"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "Yp_DydcUPNI", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=Yp_DydcUPNI", "_command_type": "generic_url", "click_tracking_params": "CBQQxjQYAiITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "11 seconds"}, "runs": [{"text": "0:11"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "SuperSmith_"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/Yp_DydcUPNI\/default.jpg", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "ANCAPISTAN\u00ae"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CBMQxjQYAyITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqbG0yd2diSHMxNmN2RThtd1YyUVdEbTN5Z2s4UXxBQ3Jtc0tuR25qSjdnRjNlVTduaG5OVVhZOGRBWFdOU3dBRnZ5b3g5eXVha2RUcG03aENVQXBMNE1rZVJzaFIwLWpZcVpoTXRQOUpUM1NGRTlla01Eam5KX2RReTllN2tnLUFBZWl5RkRqVDJ0Nkl3UF9XNWxnbXN2eVQwR09XemRHTjc1MVVoUG5XaHhCbVp5a1ByVGl6MTVPVWlMTnlnbEE=", "video_id": "m26EmCD9udg"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "m26EmCD9udg", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=m26EmCD9udg", "_command_type": "generic_url", "click_tracking_params": "CBMQxjQYAyITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "24 seconds"}, "runs": [{"text": "0:24"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "cool VIDEO channel"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/m26EmCD9udg\/default.jpg?v=59970b56", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "Terry Davis converts his van into a flying machine"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CBIQxjQYBCITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqa0llLXpRcXFtMXQ3SktyM3ExYU0wRGVVT0VOZ3xBQ3Jtc0tuQzVISlJKdUR0MWtuS041RV9ydTJnVFVUclJmMXU0TmVIZGctSUpQUjBXMEdWZG5ManctLUd2ZlVxVjA4MXJqSFJLbWhfbW05UGpjX1MzYWZWN21MbUgxbHNYaHhaRjROUFNNTEV1U1ZSVEstZmpBaVQ2LXMwMksyQWRwUFllUHUxRmF5QTk3T1N3VWpaTUZwTU1LcHBiajF4VXc=", "video_id": "c8sfv-a0aT0"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "c8sfv-a0aT0", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=c8sfv-a0aT0", "_command_type": "generic_url", "click_tracking_params": "CBIQxjQYBCITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "28 seconds"}, "runs": [{"text": "0:28"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "Peep Yo"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/c8sfv-a0aT0\/default.jpg", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "Introducing WINDOWS SOVIET !!!"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CBEQxjQYBSITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqbEF4MkpFZmtGSnZqUzNMY3ZjZHJpU0dNbDdQUXxBQ3Jtc0trMGhhQVE2Vi1OWkZBbGNzOXZ3VHZla1ltLUtyclU1WThEYjlXeGRfV1MxcmhSQ0lFMFozMWhwN09SRlh2UzBab3dObzBzd1lUSmR4UUN6a2FpYl82bFEyUVV3dXB1Y0dvNk0xT0lKTEJUS2Z2eUVYeVpjNmxLMzlibUREemFaNkJOSmVfTE5jNl9jV00tVW5JNEpxOTk5VkRGanc=", "video_id": "yZ6c17SLB7E"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "yZ6c17SLB7E", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=yZ6c17SLB7E", "_command_type": "generic_url", "click_tracking_params": "CBEQxjQYBSITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "2 minutes, 17 seconds"}, "runs": [{"text": "2:17"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "INFRA TV_CZ"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/yZ6c17SLB7E\/default.jpg?v=5a148095", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "How YTPs are made [YTP]"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CBAQxjQYBiITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqbTdfUExZOWtfQ3FGLVduVzZZTjExR0JqQkZ3UXxBQ3Jtc0trQ201TXNleFVWdXViMXEyQmRGSjNhWnVfc0lzSzBxV2p6N3p1UXB3ODd6RHl5cmVhOUJiOUljTzVQQ3prZFR4NlpCeWVGRG83RE1Wdl8wMzlHeThpcGVkUG1JQ0Y2b2NRSGliODBlQUViZS11aEZWT29fenF4dF9tTUdPVHUxbk9BbFNmdXdCQ2F5SU5pRzdLVTRGSzdQVTZpUEE=", "video_id": "ug-7gUWx0U0"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "ug-7gUWx0U0", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=ug-7gUWx0U0", "_command_type": "generic_url", "click_tracking_params": "CBAQxjQYBiITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "71 seconds"}, "runs": [{"text": "1:11"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "FlyingKitty"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/ug-7gUWx0U0\/default.jpg?v=56251ba3", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "Coin Simulation"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CA8QxjQYByITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqa0pEeVFSM1o1cF8tSDhHaXRnNXpEbEdvZ1U3Z3xBQ3Jtc0trSjJRcEZQTUhVUGM4TFNlQXlyb3RRWXplX0JwZ3BGMGtiNFhCbWs1dzRWWFpCZXhwNlYtYXEzSUl0aFJSM2M0N0FyeUpWa3lLbEVkLUx0S1ROcEZFVGhmdGpieUhjM0lDY2VISnJoS0tySE56VEp1TUJKLUdxMFFmS1I3a3lQanNKWXJVWDFZbExBOXJDUFktRTZlcHd2RnhmUWc=", "video_id": "WFG1OP5OmAw"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "WFG1OP5OmAw", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=WFG1OP5OmAw", "_command_type": "generic_url", "click_tracking_params": "CA8QxjQYByITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "61 seconds"}, "runs": [{"text": "1:01"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "Shalmanese"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/WFG1OP5OmAw\/default.jpg", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "GTA Slav Andreas"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CA4QxjQYCCITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqazBFMUZRU3N0aW81b2hXSDBwQkxQUlVyelVHUXxBQ3Jtc0trdFhONW1KSWNTQVdNVXVEUXdDeVdLanJhSVFtcWp4UlcwRmRhbVVwSUV4T3pOdnpxMGZ1bXRiSmVjSWRIMFdGSDVLa1F3VTRRQTZCUHlfa1dxaXRxYll6TDVqME15MlIyWHJGWlo1YWRJclNzNXVSWTRlX2JHb0tfMlkyeUVKT3VYdzFsaWxwOUk1SHVFVE9FYkNmeXl0SGxRVHc=", "video_id": "x_xT2YS2RP8"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "x_xT2YS2RP8", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=x_xT2YS2RP8", "_command_type": "generic_url", "click_tracking_params": "CA4QxjQYCCITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "5 minutes, 58 seconds"}, "runs": [{"text": "5:58"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "Full Throttle"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/x_xT2YS2RP8\/default.jpg?v=59f35be2", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "Vsauce plays Minecraft"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CA0QxjQYCSITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqbmZFU0JldkE3LURtanZpSnI3N1hlLWVQdVJFd3xBQ3Jtc0ttbVFudXNDRXVyZURWa0l3RHZqTUU2TThFLVE1UlNjY0FSTFhBSTJ1X3p4aGkteUVDdWlPNjZkaEloYldnV2NELTd0YkVZLUpFdjl4a0YwN0ZfTjlRNHcwYzFqd3JVUHJoOWd2b1VKTGtpWkFpSDRlU2FLRHVrZTV6OUFyb05iYjd2Mzhxc1REN0R5X0RvVHNFdVBfTUk4Tm9IZ2c=", "video_id": "Ync_ypryxgk"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "Ync_ypryxgk", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=Ync_ypryxgk", "_command_type": "generic_url", "click_tracking_params": "CA0QxjQYCSITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "31 seconds"}, "runs": [{"text": "0:31"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "Grandayy"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/Ync_ypryxgk\/default.jpg?v=5a6767e2", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "Thomas Jack \u2013 Booka Shake"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CAwQxjQYCiITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqblZOb012UTZBMXBJSVJ6QnRlZUxfd3BUS3hFUXxBQ3Jtc0tsNEtJcW1KWGNhTDhvc0tPcm1KSTNmZkVGdmJIS0J2MUZfaVRFSkltT19Db0V2R1BMZWpYT3FFZDJRNTVWMHRfWTU5LW1kYTJEaGFJbnduc2k1THM5NWRaSV9meHV4Ym43eWlzRGdyMndvWmJsVWkwc2szcFdmYlI3SERHeXB3UHRndTN1RTFaRDI2eDJjc0VKRUpPQ05hN0dfdGc=", "video_id": "v8Um-oe4HhI"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "v8Um-oe4HhI", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=v8Um-oe4HhI", "_command_type": "generic_url", "click_tracking_params": "CAwQxjQYCiITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "14 seconds"}, "runs": [{"text": "0:14"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "Coodarz"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/v8Um-oe4HhI\/default.jpg", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "Introducing Google NO"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CAsQxjQYCyITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqa25NaDJRTHRiYUJSempXYmdud283Umh5dWZhUXxBQ3Jtc0ttYkdmOFlxZ2dUVWFabWxmcHREU2piREx6RlI4UzhkU0NwOEFCRkZKYjNxb0FTdmItck5rTE1rWF9MNjZIeWRHaDhtVHRVNVRBSnRZREZzZ1NLQ0tLc04weUl0WnhlamRKejRuWEEzNnAxck9VaVBtbW1DN2g5UHQ5NkVLc0E5UFhXTkYwb0lMcHNqbTZZZEVKTU9zdXZpRk03UUE=", "video_id": "QtQ19tqI8b8"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "QtQ19tqI8b8", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=QtQ19tqI8b8", "_command_type": "generic_url", "click_tracking_params": "CAsQxjQYCyITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "92 seconds"}, "runs": [{"text": "1:32"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "Dolan Darker"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/QtQ19tqI8b8\/default.jpg?v=58e8dbfd", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "[Deleted video]"}]}, "menu": null, "video_id": "evKTIRwjCvk", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=evKTIRwjCvk", "_command_type": "generic_url", "click_tracking_params": "CAoQxjQYDCITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "runs": []}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": []}, "thumbnail": {"url": "\/\/s.ytimg.com\/yts\/img\/no_thumbnail-vfl4t3-4R.jpg", "thumb_width": 0, "thumb_height": 0, "stitched": 0, "posy": 0, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "The Core - PartyVan"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CAkQxjQYDSITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqbXViVmRkUkI5ak04MWpWdTBLMmZMdFpYbDgzQXxBQ3Jtc0ttWmowQjFuYWhsM1p1RzhxUTNWclZJdUM0Z1Rtekk2X2Y3VE5MNFZBZC1aWDlSU25Ta3pRZTR3UHNfbF9wby1ISlF5TUVMbHRLUHVNUXhVV0Jqc3RDS3l4R01CZHFWSEwwZWlsSENlZ09yRHpLalI3Wmw5aUt2OUNuUmhPRFhsbVlUVWMtMTJuTVpCdHJnUnFMTUFFVlZuSkxJU2c=", "video_id": "CiBI0yrtHUo"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "CiBI0yrtHUo", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=CiBI0yrtHUo", "_command_type": "generic_url", "click_tracking_params": "CAkQxjQYDSITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "57 seconds"}, "runs": [{"text": "0:57"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "\uff44\uff45\uff53\uff55"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/CiBI0yrtHUo\/default.jpg?v=53f7fd0a", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "Full nigger cattle ultimatum"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CAgQxjQYDiITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqbkhPSGVhMGM5M085NkVSdzJocVBHUHdrZVRKQXxBQ3Jtc0tsNGxjbEtJU2xDeTJnQXNfRWhhdkRMZXVQdGF1YzFXOTB1S1ZkWjdXbUY4V3NEOHVVREhnemhQbUF1Sk9ZZDVwdnZxWXJnZ0x5TDNndTB6dmktLU9oWGNHbExWMWkxR3BtQzdoc3NLQldpd1VnZUh0MVE0aTBhb3lhWk9RYk9yWVBVX3VQNXlseU5BMFVvS0ExRDNKcUp2NmdMWHc=", "video_id": "N9c0-ZC-4-E"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "N9c0-ZC-4-E", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=N9c0-ZC-4-E", "_command_type": "generic_url", "click_tracking_params": "CAgQxjQYDiITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "2 minutes, 1 second"}, "runs": [{"text": "2:01"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "niek237"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/N9c0-ZC-4-E\/default.jpg", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "Terry A Davis The Temple God"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CAcQxjQYDyITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqbjJZM2c2dDN4cEJmcm1YSDAwSGJUWWRIb3NEZ3xBQ3Jtc0tsX25jUjgyU0I5bHZpbGhNeEc0SFRzbW16LUo5Um5hOElQQmVxX0taajltZzYzeEsweWI4NENsS01OdEZoOVFYeG1DNnctYl9TNTJKYzJGblhMTmVYdmN3S3N6Nk1STzIxcEdrM3NsZHV3OHQ3clVxa2M0OWx5UmFzRWlyZGNPS2JOdGlQd3ZRbFpHTlBYaGZqc0tRR2s1bUNxTWc=", "video_id": "MrKIVgn2Cf4"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "MrKIVgn2Cf4", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=MrKIVgn2Cf4", "_command_type": "generic_url", "click_tracking_params": "CAcQxjQYDyITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "4 minutes, 41 seconds"}, "runs": [{"text": "4:41"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "Phil Lacio"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/MrKIVgn2Cf4\/default.jpg?v=5a71e86a", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "Tourettes Guy replaces Billy Mays"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CAYQxjQYECITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqbnlBTEZ2TW1LY1FhYThfSm5lNHZmM0NtWmhyd3xBQ3Jtc0tuVFQ5UmM4REJxSkNWWWcxN1JkZHAtWVZmUDhlZDlhRnhEY1ctbWZrQU5sOF9jaC1MTDc1UF9INkIyVjhvVzRTcEx0ZUtUejhXX1pBRlF0bXhQLUxjVnlEWlBxNTVURUpxdVQ4OThxOHVtcEg1QTVqbFNuRDhDTy1jNHdQbVhFaTVmeHZ5WkZnZVpVQWpZTFBWMlFlMzBoOFdjbmc=", "video_id": "UMa73kS4oX4"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "UMa73kS4oX4", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=UMa73kS4oX4", "_command_type": "generic_url", "click_tracking_params": "CAYQxjQYECITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "107 seconds"}, "runs": [{"text": "1:47"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "Shaniqua Hitler"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/UMa73kS4oX4\/default.jpg", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "They glow in the dark"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CAUQxjQYESITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqbHhid1g2TWJtemtHUnBnVEUyRWdGeWoxMnlJZ3xBQ3Jtc0tucWRhN3Juc2tTdUNmdlEwMUdUeGRKQnFKTzZTUWZOclQtYm40Nmg4Y0Y4N09uOEx4QlNGeldJaU1xMVRoelp2QkZ5R0JONWVXQmRmdlI4eEhNRDNxNjBWS1VaaFpGeVRNUTM1aUFIak5pM0Q5NzlnLTNBVkJpV2M2RGtsWnQyUE43TW5VVzdTYXl2eG5hTjVWT3dUb3BCUDdMUmc=", "video_id": "AbG6u86t4bA"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "AbG6u86t4bA", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=AbG6u86t4bA", "_command_type": "generic_url", "click_tracking_params": "CAUQxjQYESITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "17 seconds"}, "runs": [{"text": "0:17"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "Robin Essmann"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/AbG6u86t4bA\/default.jpg", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "Terry A Davis gets a phonecall"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CAQQxjQYEiITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqbmJsWVNjNnI0TUZUM2VLbkliZjZzeHpFaEpBd3xBQ3Jtc0tuamtENWcxSXRPUFlsX0dtMHRsWTdxSDdaekFsYzB1eC1STlowWE5ud09EWEczNWV0eE5BaHNlVEdpYWpNUG8wek52YlVtZWtqYkpjX3E3c2pMUnFpWDVUV2xfYkdxdmt6aDktcF9FS3Npd1lUUjQ3aWlhOE9IeHFEbEE1dGVWckpBTnBkQzl6VVY5anBNbGZqNFplbnhyZzZhSlE=", "video_id": "B5YokNW7tIs"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "B5YokNW7tIs", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=B5YokNW7tIs", "_command_type": "generic_url", "click_tracking_params": "CAQQxjQYEiITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "82 seconds"}, "runs": [{"text": "1:22"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "Vantine"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/B5YokNW7tIs\/default.jpg", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}, {"title": {"item_type": "formatted_string", "runs": [{"text": "Night of Nights (Phone Cover)"}]}, "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"click_tracking_params": "CAMQxjQYEyITCMX70b-RgtwCFQSXaAodRU4F1w==", "url": "\/playlist_edit_service?action_add_video=1", "actions": [{"action": 1}], "_command_type": "playlist_edit", "params": {"playlist_id": "WL", "session_token": "QUFFLUhqbEFDZ0RBN3U3Vk9OcmdvNkQxQnVZNE1GZE9kUXxBQ3Jtc0tsMnVYNFdUckg1SnlVODNhX1VXb1FLNVhTNFdhUGphemxTbTl0aW13Ukc5U3NLMEpKa04xVGlwMzBWSEJWTUtrMmJsUkpGVTNzSFJIbzZfTXB6T3ptMGptOHRPREFTcU1KWVY1SS0xUHM5YzRZYWRIYndGS2JiTWRRUXhpNFhkeDFVeEZnQ243YnpZSTd5TWx5eUp0NGV2Szlxa0E=", "video_id": "Yuk46XbvwUY"}}, "text": {"item_type": "formatted_string", "runs": [{"text": "Add to Watch later"}]}}]}, "video_id": "Yuk46XbvwUY", "is_watched": false, "set_video_id": "", "item_type": "playlist_video", "endpoint": {"url": "\/watch?list=PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP\u0026v=Yuk46XbvwUY", "_command_type": "generic_url", "click_tracking_params": "CAMQxjQYEyITCMX70b+RgtwCFQSXaAodRU4F1zIKcGxwcF92aWRlb1okVkxQTFF2LWlYWlBMZWZES1FCbG1nczQ1WUV4RVpRdDBmZlZQ"}, "length": {"item_type": "formatted_string", "accessibility": {"label": "109 seconds"}, "runs": [{"text": "1:49"}]}, "annotation": "", "bottom_standalone_badge": null, "short_byline": {"item_type": "formatted_string", "runs": [{"text": "kingilja1"}]}, "thumbnail": {"url": "\/\/i.ytimg.com\/vi\/Yuk46XbvwUY\/default.jpg", "thumb_width": 120, "thumb_height": 90, "stitched": 0, "posy": 11, "posx": 0}}], "continuations": [{"item_type": "next_continuation_data", "continuation": "4qmFsgI2EiRWTFBMUXYtaVhaUExlZkRLUUJsbWdzNDVZRXhFWlF0MGZmVlAaDmVnWlFWRHBEUTJjJTNE", "click_tracking_params": "CAIQybcCIhMIxfvRv5GC3AIVBJdoCh1FTgXX"}], "playlist_id": "PLQv-iXZPLefDKQBlmgs45YExEZQt0ffVP"}}, "external_user_id": "", "build_signature": "en:9405994,9406994,9415398,9449243,9451814,9453167,9459793,9459794,9460554,9460829,9460959,9462702,9463460,9463594,9463936,9463963,9467471,9467508,9467510,9467512,9467700,9467806,9467820,9467822,9469934,9469997,9471103,9471955,9472490,9473371,9473387,9473401,9474396,9476077,9478787,9479456,9479750,9483190,9483245,9485000,9486390,9487037,9488772,9489266,9489452,9489571,9489831,9489833,23700266,23700732,23701247,23701297,23701882,23703975,23704268,23706844,23706846,23707877,23708904,23708906,23708910,23709359,23709427,23709532,23709788,23710313,23710476,23710536,23710729,23710863,23711857,23711859,23712544,23712746,23714427,23714553,23714865,23715837,23715854,23715880,23716688,23717597,23718221,23718617,23718632,23720115,23720358,23720903,23721136,23721223,23721699,23721770,23721898,23722151,23722284,23722367,23722905,23723166,23723437,23723555,23724616,23725192,23725261,23725678,23726564,23726767,23726949,23726971,23727366,23727874,23727951,23728275,23728416,23728468,23728823,23728908,23729373,23729484,23730614,23730676,23731222,23731868,23732162,23732509,23732895,23733270,23733291,23733751,23734497,23734676,23734730,23734920,23734961,23735273,23736028,23736030,23736186,23736572,23736986,23737436,23737474,23737531,23737696,23737840,23737975,23738007,23738145,23738306,23738491,23738860,23739035,23739242,23739400,23739509,23739764,23739951,23739967,23740143,23740217,23740366,23740493,23740582,23740649,23741060,23741376,23741381,23741488,23741680,23741692,23741713,23741719,23741976,23742657,23743016,23743197,23743204,23743215,23743292,23743298,23743375,23743417,23743502,23743572,23743628,23743862,23744176,23744206,23744472,23744492,23744497,23744623,23744685,23744752,23744874,23744919,23745001,23745010,23745105,23745151,23745164,23745298,23745505,23745536,23745593,23745648,23745776,23746009,23746050,23746059,23746126,23746304,23746324,23746390,23746392,23746429,23746635,23746661,23746819,23746908,23747077,23747079,23747121,23747136,23747218,23747249,23747403,23747704,23747792,23747902,23747980,23748090,23748108,23748284,23748404,23748596,23748849,23749042,23749197,23749631,23749637,23749705,23749709,23749715,23749953,23750074,23750115,23750135,23750290,23750297,23750300,23750410,23750429,23750777", "signed_in_username": "", "build_id": 0, "conn": "wifi", "rootve": 5754}
\ No newline at end of file diff --git a/playlist_debug_metadata b/playlist_debug_metadata deleted file mode 100644 index afe0b04..0000000 --- a/playlist_debug_metadata +++ /dev/null @@ -1 +0,0 @@ -)]}'{"csn": "ntA5W5vwKYahgAOxyLfgCg", "content": {"playlist_header": {"num_videos_text": {"runs": [{"text": "55 videos"}], "item_type": "formatted_string"}, "share_data": {"can_share": true}, "owner_text": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "owner_endpoint": {"_command_type": "generic_url", "click_tracking_params": "CAEQ8DciEwiX8Kb87v\/bAhXRYWAKHX0uD1Y=", "url": "\/channel\/UCy0tKL1T7wFoYcxCe0xjN6Q"}, "item_type": "playlist_header", "is_editable": false, "like_button": {"dislike_count_with_dislike_text": {"runs": [], "item_type": "formatted_string"}, "dislike_count_text": {"runs": [], "item_type": "formatted_string"}, "target": {"video_id": "", "playlist_id": "UUy0tKL1T7wFoYcxCe0xjN6Q"}, "xsrf_token": "QUFFLUhqbndXWjkxRGpuczVpbTgzOGp0Z2NzUkxkY0pFZ3xBQ3Jtc0ttRTU3VEttUzdBSVNkdUZEbks0ckZBNGJ1RW1VNHpvMXo3NUoyV0c4QmttZXkzSnRVZjQ1V1VmcXh5djkwd285N1hmWmFXRlBEMGpIejJDMjMtaTh5My1RSTdZMlI4cnY1cjI5UzlQS3oxSHI3U2xuTzczY0Y5dk9FakdtLWNXQ0pzWG8yTld6MVNIMkpzYTN5N2M3bGczbHpsdFE=", "like_count_with_unlike_text": {"runs": [], "item_type": "formatted_string"}, "item_type": "like_button", "like_count_with_like_text": {"runs": [], "item_type": "formatted_string"}, "like_count": 0, "dislike_count": 0, "like_status": "indifferent", "dislike_count_with_undislike_text": {"runs": [], "item_type": "formatted_string"}, "like_count_text": {"runs": [], "item_type": "formatted_string"}}, "total_length": {"runs": [], "item_type": "formatted_string"}, "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/zBT5aXoJghY\/default.jpg", "posx": 0}, "play_endpoint": {"_command_type": "generic_url", "click_tracking_params": "CAEQ8DciEwiX8Kb87v\/bAhXRYWAKHX0uD1YyC3BsX2hkcl9wbGF5WhpWTFVVeTB0S0wxVDd3Rm9ZY3hDZTB4ak42UQ==", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=zBT5aXoJghY"}, "description": {"runs": [], "item_type": "formatted_string"}, "view_count_text": {"runs": [{"text": "41,590 views"}], "item_type": "formatted_string"}, "playlist_id": "UUy0tKL1T7wFoYcxCe0xjN6Q", "title": {"runs": [{"text": "Uploads from Technology Connections"}], "item_type": "formatted_string"}}, "section_list": {"item_type": "section_list", "continuations": [], "contents": [{"item_type": "item_section", "continuations": [], "contents": [{"playlist_id": "UUy0tKL1T7wFoYcxCe0xjN6Q", "item_type": "playlist_video_list", "continuations": [{"item_type": "next_continuation_data", "click_tracking_params": "CAcQybcCIhMIl_Cm_O7_2wIV0WFgCh19Lg9W", "continuation": "4qmFsgIsEhpWTFVVeTB0S0wxVDd3Rm9ZY3hDZTB4ak42URoOZWdaUVZEcERRbEUlM0Q%3D"}], "contents": [{"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/zBT5aXoJghY\/default.jpg?v=5b342620", "posx": 0}, "length": {"runs": [{"text": "8:21"}], "item_type": "formatted_string", "accessibility": {"label": "8 minutes, 21 seconds"}}, "video_id": "zBT5aXoJghY", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CBsQxjQYACITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=zBT5aXoJghY"}, "title": {"runs": [{"text": "The Most Common EV Charging Misconception"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CBsQxjQYACITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "zBT5aXoJghY", "playlist_id": "WL", "session_token": "QUFFLUhqbERmZXFhdDBVWC1PN1pRX3poX3RTV053a2JJZ3xBQ3Jtc0ttNUtLdFJvc1JidVQ3QXk3NFF1ME5xc0NYYTRSbkJRX3kwSjVPN0hzNms0THFEdzlWMDhsWHRaQ2I0ZFppcWg5ZU9BZmZOUTN4cG80M1pJR3FubUdwOWJ0ektSakdMVmpUUFFwZHVyQ1NXOXJJNzh4ZndqaGNTSzdoVFBaRTdNaFVGMjVnTF9PT3kybzhNc1VMLUtBekgxSjR4Q2c="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/f1fgzBE2Ffk\/default.jpg?v=5b2ed956", "posx": 0}, "length": {"runs": [{"text": "13:59"}], "item_type": "formatted_string", "accessibility": {"label": "13 minutes"}}, "video_id": "f1fgzBE2Ffk", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CBoQxjQYASITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=f1fgzBE2Ffk"}, "title": {"runs": [{"text": "The Not-So-Secret Secret Elevators of the Haunted Mansion"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CBoQxjQYASITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "f1fgzBE2Ffk", "playlist_id": "WL", "session_token": "QUFFLUhqbThQR0kzcGtQb3JoRnZwUnNaUS1Qb0FFN3dfd3xBQ3Jtc0tuZ1hWclhldE9Yb25BZ3BpaFI4UXBFQVVvYmdhZzZHMmJZVG1wZVFUZUZGT2poSDJMYTRKdHBEck1KRG9pOEFoSlFiMFpxYnl3WTBuUDB4UkZlTGFEQ2FhRWVxUmx1M3ZMZ3VVMTVrM0lPUUQ3alBpMlFIYzE3TVpOTWRmNDBrVDdIdU91SDJCZ0phLU5aaVlkVE1KN3ZTUnpaUnc="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/wIC-iGDTU40\/default.jpg?v=5b27b939", "posx": 0}, "length": {"runs": [{"text": "21:40"}], "item_type": "formatted_string", "accessibility": {"label": "21 minutes"}}, "video_id": "wIC-iGDTU40", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CBkQxjQYAiITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=wIC-iGDTU40"}, "title": {"runs": [{"text": "The LED's Challenge to High Pressure Sodium"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CBkQxjQYAiITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "wIC-iGDTU40", "playlist_id": "WL", "session_token": "QUFFLUhqbGRVR3hraGpsUFR4dmo5MHh1a3BTNEJzeFlPZ3xBQ3Jtc0tsSEo3MXQ1TXRqbUNYLXhRRUt0ZWstTS15aG9qZ2MzbzJVcW1HQk81cTFSLVVTa2JPcDRlOVFudFFKV3FyUzNkaTVucExKWVRzTkxraFhkVE55NExaOUh0X2NiUlVVUzFYbDh6VXR4S0FKQ0lCRDFiQWVNdjBzTnBwQlZqM0pSemlFS0t3cmFlSEVhSHZ5SUs0cGRUd1pGd3Zzbmc="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/U1dMlVwUsrA\/default.jpg?v=5b143b9d", "posx": 0}, "length": {"runs": [{"text": "13:54"}], "item_type": "formatted_string", "accessibility": {"label": "13 minutes"}}, "video_id": "U1dMlVwUsrA", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CBgQxjQYAyITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=U1dMlVwUsrA"}, "title": {"runs": [{"text": "The High Pressure Sodium Light: Ubiquitous, effective, but good?"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CBgQxjQYAyITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "U1dMlVwUsrA", "playlist_id": "WL", "session_token": "QUFFLUhqbUxZMHBBdV9CZWZPRU5Xd05MTGZMd2hQQWFTQXxBQ3Jtc0tteWpKSzJnUElLeUdKVk9wNUNCNHJpSDJVTUxHb3Mwb2g2QTZpQ1RJOERubEt6c3BJZkxCRmtCUnY1c2tJOENYWm5yX2p6ZmJ3NzVqYXZELVBlOFVkaTdFTmV5U2wyejBlUGZLX0FQOEhhTU1ubFJtZ21hNFRkMFVuUHFTdEFPeUYwcVMwSTEyQVRobk1XWHZwQTB6eW9XZlJ5VHc="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/kO6yPUtvTnM\/default.jpg?v=5b0f54c5", "posx": 0}, "length": {"runs": [{"text": "24:37"}], "item_type": "formatted_string", "accessibility": {"label": "24 minutes"}}, "video_id": "kO6yPUtvTnM", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CBcQxjQYBCITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=kO6yPUtvTnM"}, "title": {"runs": [{"text": "Chevy Bolt EV Summer Range Test"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CBcQxjQYBCITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "kO6yPUtvTnM", "playlist_id": "WL", "session_token": "QUFFLUhqbUd0ZzRlSzJzYkxHeEhwb0hoc2ZFTV84bnQwd3xBQ3Jtc0ttM3JESnR3X0FNWk1UQ1VYOHJrR29fVjZhOVZhS0h0Q1lybVZRTXFHeEdTbmhVY01zSVdqQUNXMTktMV9uamxtSzZoNl9hN25RdXlHUU9WZE9oMTZLejhZRTZzdkZOWEZkZnExV1paQ1RDbW5vbGViY1pJUmtVZXl4ZHpmYnJUUC1NMzJtZjVwT0U1XzBneTNXejVBQ1lVbUotTlE="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/behaBgwnB8M\/default.jpg?v=5b0c0a9b", "posx": 0}, "length": {"runs": [{"text": "12:25"}], "item_type": "formatted_string", "accessibility": {"label": "12 minutes"}}, "video_id": "behaBgwnB8M", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CBYQxjQYBSITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=behaBgwnB8M"}, "title": {"runs": [{"text": "MUSE Hi-Vision Laserdisc: The Blu-ray of 1994"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CBYQxjQYBSITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "behaBgwnB8M", "playlist_id": "WL", "session_token": "QUFFLUhqbE1mdmNBVENYLWIwdlgzWkZMMGw3QWlod3haQXxBQ3Jtc0tuakkzaThDVWFWN0RuNGs4dEtLcGItY05zQ0JLemVNMGtaU3VVd3ptd2tQQ3Rqd0xDRW02NS1aN0pYTEZKM3NTQjhqZnhSZ2tnNjBmbGFWc2RSdGJqWEh1MDF4LUJDVV9XMWwwdkNCZkY3MHpsN1VranJvU1ZpaTdoWGNTTmRsVnR4R3RZQThJcGFVQzltc1AzVHdvS0g0Y2R1a2c="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/-VqsU1VK3mU\/default.jpg?v=5b04493b", "posx": 0}, "length": {"runs": [{"text": "12:30"}], "item_type": "formatted_string", "accessibility": {"label": "12 minutes"}}, "video_id": "-VqsU1VK3mU", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CBUQxjQYBiITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=-VqsU1VK3mU"}, "title": {"runs": [{"text": "Macrovision: The Copy Protection in VHS"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CBUQxjQYBiITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "-VqsU1VK3mU", "playlist_id": "WL", "session_token": "QUFFLUhqbVR4OWhqLVprSVhOcnRqTmdnVVM4N0hOcHdXUXxBQ3Jtc0tuaXNsNUNZRzByUE83NWxRcjhNTTlWT05aYTJsdmxCVXNOZUoyOXNGTl9GRmtnM1FBWUxZY1k4dDJ3eElKX2VNczd3YVJta1hjeHIzanJzMDJBNGIwcWE4YUpJMWN2SUFmSmFvZGRLVzVpbE5KT2pjbHhhSkRVRGo0MlpTTXkwX2lWYW9GVjk5UVdMZVhRTjl1UnZId0VmSWY2VEE="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/GiYO1TObNz8\/default.jpg?v=5af6f87d", "posx": 0}, "length": {"runs": [{"text": "18:31"}], "item_type": "formatted_string", "accessibility": {"label": "18 minutes"}}, "video_id": "GiYO1TObNz8", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CBQQxjQYByITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=GiYO1TObNz8"}, "title": {"runs": [{"text": "The LED Traffic Light and the Danger of \"But Sometimes!\""}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CBQQxjQYByITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "GiYO1TObNz8", "playlist_id": "WL", "session_token": "QUFFLUhqblcwcWczdGlybjhWS1FfakZhVEZHaEk4Sk11UXxBQ3Jtc0ttSF9oSWFVVEdvUU5ocHYtdjdNUVVYX2hiWTBHaXF0LUYwbWRPcS1hYU1kXy1IOVdJeExIeHZONktmNU5DTUlnN25fTno5NjNaY1BXM2FoZHZCMHlyU2g0WDlkY005b2R5cGJwUFJ4NGtZTkV3Q3gyTGFtRHlqV0lsMDZZS3NtMzJNQUJUczBLQWVnMTFUZkRZOXNDa01lM0p0aVE="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/3-GdTvkLUFA\/default.jpg?v=5aee205a", "posx": 0}, "length": {"runs": [{"text": "17:06"}], "item_type": "formatted_string", "accessibility": {"label": "17 minutes"}}, "video_id": "3-GdTvkLUFA", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CBMQxjQYCCITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=3-GdTvkLUFA"}, "title": {"runs": [{"text": "The Weird Typewriter-Computer Hybrid: Smith Corona PWP-3200"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CBMQxjQYCCITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "3-GdTvkLUFA", "playlist_id": "WL", "session_token": "QUFFLUhqbHprenBUWnhqVmd3dHdyNmhmM0NleTVUeFEwd3xBQ3Jtc0ttUFVyLVp3WnFtQnhpYUxjdmJZVWQzTllFamdaWTk1b01HTzRIQUFydDNvQVdRVzF2ZTh5SDJNQW9yYk04YnVKd1RoSGRKVXlheUxXczVhS1VpblVaZGRpOGhlSDJndUNEU1FndnJ1VFA5ZHByRnRxNGtnU1Z3MElqa215b1FoM2F3ZVNRTFpuRDhYMkhTeFJuRXZUYzBoWjhFWUE="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/Ea6tw-gulnQ\/default.jpg?v=5adac48b", "posx": 0}, "length": {"runs": [{"text": "17:04"}], "item_type": "formatted_string", "accessibility": {"label": "17 minutes"}}, "video_id": "Ea6tw-gulnQ", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CBIQxjQYCSITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=Ea6tw-gulnQ"}, "title": {"runs": [{"text": "These Are Not Pixels: Revisited"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CBIQxjQYCSITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "Ea6tw-gulnQ", "playlist_id": "WL", "session_token": "QUFFLUhqa3ZtVjdPR2swSnRWeE5JUmMzbVc1TWVrVmctZ3xBQ3Jtc0tsM2dVWmZQbU1obHNiQVFRNnBGaVYyMlNCY0ZRcENBZlJVU01tQWVBTGhkdmpOZ2pSWkp1WExvdnV2LWRLcDdzU2pxUk0xTjJnVHh5QnZEdmlKamw0dG9YNlRkeGZfZ0ZmdjJ0dFZUZC1DSHJzSVRibjVWTnhmVExpbXdiU1lTUE14c3pXdnd1VDM1QXd5TGoxeUNkdmVoOHl2V1E="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/L6iyUSnrGk0\/default.jpg?v=5ac2575f", "posx": 0}, "length": {"runs": [{"text": "13:45"}], "item_type": "formatted_string", "accessibility": {"label": "13 minutes"}}, "video_id": "L6iyUSnrGk0", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CBEQxjQYCiITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=L6iyUSnrGk0"}, "title": {"runs": [{"text": "The CD Player with a Robot Inside: Pioneer CLD-M301"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CBEQxjQYCiITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "L6iyUSnrGk0", "playlist_id": "WL", "session_token": "QUFFLUhqbnR1bVZiWTJfdHRQOEw4ZzUwR0czMUJHeEMzZ3xBQ3Jtc0tsT0E2c1VWOTVyeGVCRTRuY2pjVzQ2NUdoSFpBamhtZUcwM2VFQWZVVE53TUVlTEpOYTRPOXM3Wml5QUY2Zi1kWXRKRUwyWVRBNDVFcUxOcUJxdUo2QUlMb0p4VUtZODBWSk9qZlJ3ZWgzeEI2RkNxR2s4MTU5dHJidUVyUEVoamNxUEZmS2dCYkxIcnAyaG5ZalNlcTh4ckNscXc="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/XUwSOfQ1D3c\/default.jpg?v=5ab67ed1", "posx": 0}, "length": {"runs": [{"text": "14:15"}], "item_type": "formatted_string", "accessibility": {"label": "14 minutes"}}, "video_id": "XUwSOfQ1D3c", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CBAQxjQYCyITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=XUwSOfQ1D3c"}, "title": {"runs": [{"text": "Sony's Clever but Flawed PlayStation Copy Protection--And How They Might Have Fixed It"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CBAQxjQYCyITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "XUwSOfQ1D3c", "playlist_id": "WL", "session_token": "QUFFLUhqbWxmUUlfNExMUDZhdXZQZTE5VmZXa3VhUUo0QXxBQ3Jtc0trYVhWNVdNUDZ1Qk5HMHNjR2xfeFdROTd2R1ZfSms0M1VtZ1p2M19Sak0tcmFHb205STJMODU0VExhd3hocUZSY1EwNHZEUFB0VTF1SVE5RHVoZzhONG5Mc0Y0Nmc3T3hwa0p0bDZObklYU18xcXNrek9PRm44MmUyd09kYWlHRlJHd3RUMTEydWZaeEltSVBsY2xEb2Jqbk1VSnc="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/cvwuAKi1ZB4\/default.jpg?v=5aad6e18", "posx": 0}, "length": {"runs": [{"text": "26:13"}], "item_type": "formatted_string", "accessibility": {"label": "26 minutes"}}, "video_id": "cvwuAKi1ZB4", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CA8QxjQYDCITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=cvwuAKi1ZB4"}, "title": {"runs": [{"text": "DVD: The Death Knell of Laserdisc"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CA8QxjQYDCITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "cvwuAKi1ZB4", "playlist_id": "WL", "session_token": "QUFFLUhqblJTWEg0a2d4Rnh6Vk9uMThfZU90NTB0N3dCZ3xBQ3Jtc0trQzlyQ2VGTF9rdFhuaDJFUWJPc1ExblljbFBWR05vQ0MwZVpaWU5Wek1WemdlYjJablkyRzNGUTI0TkRfWHhYNmhrYUQ1cEo3UWxXZVhUMV9MajdBWUh5ZDdsVC1IQVJCUFBQM254UFk1SVBsbHdNanFMcTFOcU1QbDhYblBBZDVueGE5VTZOOHM0Q2lDOE9vUlNoOWFzTm5NTWc="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/iTD53t2NhoA\/default.jpg?v=5a9b6240", "posx": 0}, "length": {"runs": [{"text": "6:33"}], "item_type": "formatted_string", "accessibility": {"label": "6 minutes, 33 seconds"}}, "video_id": "iTD53t2NhoA", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CA4QxjQYDSITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=iTD53t2NhoA"}, "title": {"runs": [{"text": "A Short Project Involving LEDs, a Fish Tank, and some Laziness"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CA4QxjQYDSITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "iTD53t2NhoA", "playlist_id": "WL", "session_token": "QUFFLUhqbld1Yy02SFA3dWdoRUxaTTUwdEJXWGxxVDEzQXxBQ3Jtc0trV1lpQUptclFGT05uaDdobVpEdUhRMGhKWFJtOXlwNktfb3J3VVVLS25jQ0otTjFyNXFlSU5Md2tWcVQyQU1uNFFaWnFvbUF1c1lsOTZkS1dQQ05xbXY3ZTYzNDVqQURSc05VMTRkRjZtS3VsZVRRTjl5ZEhkVFRuXzdPbE9xdUZKUmZtYktfNzlieGlDMVpic0JTNTNVQ1gwSUE="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/AxXsIQDafog\/default.jpg?v=5a9200d6", "posx": 0}, "length": {"runs": [{"text": "14:56"}], "item_type": "formatted_string", "accessibility": {"label": "14 minutes"}}, "video_id": "AxXsIQDafog", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CA0QxjQYDiITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=AxXsIQDafog"}, "title": {"runs": [{"text": "Faking It: The Obviously Dubbed Telephone Ring"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CA0QxjQYDiITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "AxXsIQDafog", "playlist_id": "WL", "session_token": "QUFFLUhqa3UtLUtaMEpscUxHckdrbEJCd09CdzdlOFMtUXxBQ3Jtc0trNHhpajVwX0g2eUtpVDVMUlNtSzYwZlpVMkdNUzhnZi1QNXk5a2ZrNGhCSmFhTXJBcVpaVV81ODZTc3pBZ3dXYTQwZ0NDYmRDOFRkUk9CcThiSk4yQ2l4UVg3U1RQenFoRWdnRXZrYnR2aHA4ZlJjN3J0MG9hZENBLXRTenlvXzgwRWNReE50NlZLa3VETVVnQVFBYlFNc3pXYUE="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/UogqTenNrks\/default.jpg?v=5a7e785d", "posx": 0}, "length": {"runs": [{"text": "22:21"}], "item_type": "formatted_string", "accessibility": {"label": "22 minutes"}}, "video_id": "UogqTenNrks", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CAwQxjQYDyITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=UogqTenNrks"}, "title": {"runs": [{"text": "Chevy Bolt EV: Winter Range and Performance (Chicago winter)"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CAwQxjQYDyITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "UogqTenNrks", "playlist_id": "WL", "session_token": "QUFFLUhqbkRxbkJ4TDF1QlRIdW8zXzRhR25MLVVyNWdwd3xBQ3Jtc0tra09ORFNQWFUzc2dZejZnRm50VzVfNXlLcUI5Zi0xVzlHdEQ5OE05YkVDU3FCSWhJVVMtUEtDekl0TmJiWFNrUm5ZNVQwb1dzSXVZSFM5bW9qbzZZOEsySU4waTEwc0RCaGwxN1NKU0V1RS1jcV9EMXFiUDVzZ0psdGs2enJCZkhmMWVKcUgxdnE3VmtRWnB5Ql8zYTZrNVhBWmc="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/QQqhoM3fDrQ\/default.jpg?v=5a84c7d5", "posx": 0}, "length": {"runs": [{"text": "13:31"}], "item_type": "formatted_string", "accessibility": {"label": "13 minutes"}}, "video_id": "QQqhoM3fDrQ", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CAsQxjQYECITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=QQqhoM3fDrQ"}, "title": {"runs": [{"text": "EV Charging in Multi-Residential Buildings: One Success Story"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CAsQxjQYECITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "QQqhoM3fDrQ", "playlist_id": "WL", "session_token": "QUFFLUhqbDFNQi1hUG1XSl9QSGFybDNEQzZnZXMyRThzd3xBQ3Jtc0tsOTJvb2JYRU01MEpkVFBIVUd3eVZRVGwxczFjT2R1LWdoQUZtOGUzTjJpZlpFcE5TYkhzbkVuZGpzNXcwX19jYUlEZVA4WDFjNE9DbEMyYlpVQXMtSDFHOFhyTHNMVzRtTldYZ0lES1VHWUtCRU1BQmkzSlhrMWZ4d0VFZVNLX1F5aTdDaHNyNUliWlYzUW5mMnRUVGIzZlFUc2c="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/Nbo2QepTZNY\/default.jpg?v=5a8702c5", "posx": 0}, "length": {"runs": [{"text": "24:14"}], "item_type": "formatted_string", "accessibility": {"label": "24 minutes"}}, "video_id": "Nbo2QepTZNY", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CAoQxjQYESITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=Nbo2QepTZNY"}, "title": {"runs": [{"text": "Laserdisc: Features, Follies, \u0026 Evolution"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CAoQxjQYESITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "Nbo2QepTZNY", "playlist_id": "WL", "session_token": "QUFFLUhqbVlqcWJ5amthVS02UUZpdVk0bUVQOWxkWkFoQXxBQ3Jtc0ttMDdPbXFhdkxnRDJnWmtkS08tTkFVbzhrVm5WZURSMmNOUlhtTFd5akhCUEx2dEZ2bmpTX0tDcmY2aXMzTTdhU1pQZ2xfV1JnQjJKc21hOEszNkgwbjh0Vi1OalM1U2RwSEtjVUgzQ3diUDl0Q2JHSVR6ck5qMkNGeG13c1ltX0JpWXpycDdOekhpMGdDTFZuMVotcmF3YmRjNGc="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/TClRRMFZ7Sw\/default.jpg?v=5a77d373", "posx": 0}, "length": {"runs": [{"text": "18:06"}], "item_type": "formatted_string", "accessibility": {"label": "18 minutes"}}, "video_id": "TClRRMFZ7Sw", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CAkQxjQYEiITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=TClRRMFZ7Sw"}, "title": {"runs": [{"text": "Laserdisc's Failure: What Went Wrong"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CAkQxjQYEiITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "TClRRMFZ7Sw", "playlist_id": "WL", "session_token": "QUFFLUhqa2lQeUNkM3dxOWo3Q3pLSHBfRjNneEFhaG12QXxBQ3Jtc0ttYnVkSTU1akRod3hrUFJaa2IybXNmWnl5STZxYlBmZmFPall5bGxTMF90Slk0WnJqcmxOdkdUVS02WUk1UXU1cjVsV2c1WTFydThmV2l3SFV1N0pCWDZydGpqU1d2OC1jZUM0UmhVV0tlTWZ0ZDBLX0R5em9PbGZYVjFVa1dwWW1Ec0NfQjViNE5iSGp2Z05yWGRDRElwZldOZnc="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}, {"is_watched": false, "short_byline": {"runs": [{"text": "Technology Connections"}], "item_type": "formatted_string"}, "bottom_standalone_badge": null, "item_type": "playlist_video", "set_video_id": "", "thumbnail": {"stitched": 0, "thumb_height": 90, "posy": 11, "thumb_width": 120, "url": "\/\/i.ytimg.com\/vi\/ovp4cJUQDI0\/default.jpg?v=5a70bbfd", "posx": 0}, "length": {"runs": [{"text": "6:46"}], "item_type": "formatted_string", "accessibility": {"label": "6 minutes, 46 seconds"}}, "video_id": "ovp4cJUQDI0", "endpoint": {"_command_type": "generic_url", "click_tracking_params": "CAgQxjQYEyITCJfwpvzu\/9sCFdFhYAodfS4PVjIKcGxwcF92aWRlb1oaVkxVVXkwdEtMMVQ3d0ZvWWN4Q2UweGpONlE=", "url": "\/watch?list=UUy0tKL1T7wFoYcxCe0xjN6Q\u0026v=ovp4cJUQDI0"}, "title": {"runs": [{"text": "Thrift Store Hi-Fi: Some tips and tricks"}], "item_type": "formatted_string"}, "annotation": "", "menu": {"items": [{"item_type": "menu_service_item", "service_endpoint": {"url": "\/playlist_edit_service?action_add_video=1", "_command_type": "playlist_edit", "actions": [{"action": 1}], "click_tracking_params": "CAgQxjQYEyITCJfwpvzu_9sCFdFhYAodfS4PVg==", "params": {"video_id": "ovp4cJUQDI0", "playlist_id": "WL", "session_token": "QUFFLUhqbndaMkxsUmdiVHdjSUVURTlYSmJwZUFyclZhQXxBQ3Jtc0trYzhPVkRhUTlxTjVnYkZ0c1hfakozRV9hV2l3NEw3bjdkbWdaZmtBdjluTzZyRE1UQ0Nab2dWM3VlYWxDZXNtOHFXRDZ6aUVJejUwM1ZQdzlNcWdxX1h1YjF1aVp2Yzdkd3YzaVE0am9fZ2ltOFRIRndDS1lqQUFfeVUwX2tWbGtnUVA4UDBXV1hpZFFndUZ4TnRCQzVXWkU3MHc="}}, "text": {"runs": [{"text": "Add to Watch later"}], "item_type": "formatted_string"}}]}}]}]}]}}, "result": "ok", "timestamp": 1530515614, "signed_in_username": "", "build_id": 0, "rootve": 5754, "external_user_id": "", "build_signature": "en:9405969,9415398,9441157,9449243,9451814,9453167,9459792,9459797,9460554,9460829,9460959,9463460,9463594,9463936,9463963,9467471,9467508,9467510,9467512,9467700,9467806,9467820,9467822,9468479,9469934,9469997,9471103,9471660,9471955,9472490,9473367,9473385,9473389,9474396,9476077,9478787,9479456,9479750,9483190,9483245,9485000,9486220,9486390,9487037,9488772,9489266,9489452,9489578,9489831,9489833,23700266,23700732,23701247,23701297,23701882,23702310,23703975,23704268,23706844,23706846,23707879,23708904,23708906,23708910,23709359,23709427,23709532,23709788,23710313,23710476,23710536,23710729,23710863,23711857,23711859,23712544,23712746,23714427,23714553,23714865,23715674,23715837,23715854,23715880,23715960,23717597,23718221,23718617,23718632,23720115,23720358,23720611,23720702,23720903,23721136,23721223,23721699,23721750,23721770,23721898,23722151,23722284,23722367,23722905,23723166,23723437,23723555,23724616,23725261,23725678,23726562,23726767,23726949,23727366,23728163,23728416,23728468,23728823,23728908,23729373,23729484,23730614,23730676,23731222,23731868,23732186,23732509,23732895,23733270,23733291,23733751,23734497,23734676,23734730,23734920,23734961,23736028,23736030,23736185,23736402,23736572,23736986,23737436,23737474,23737531,23737696,23737840,23737975,23738008,23738145,23738306,23738491,23738860,23739035,23739242,23739400,23739509,23739515,23739764,23739951,23739968,23740143,23740217,23740366,23740493,23740582,23740641,23741060,23741376,23741381,23741488,23741680,23741692,23741713,23741719,23741976,23742657,23743197,23743204,23743292,23743298,23743375,23743417,23743488,23743502,23743572,23743628,23743862,23743929,23744176,23744206,23744497,23744623,23744685,23744744,23744752,23744874,23744919,23745001,23745010,23745105,23745151,23745164,23745298,23745505,23745593,23745649,23745776,23746009,23746050,23746059,23746304,23746324,23746331,23746390,23746392,23746429,23746465,23746642,23746661,23746819,23746908,23747077,23747079,23747121,23747218,23747249,23747403,23747678,23747792,23747902,23747979,23748061,23748062,23748108,23748284,23748405,23748849,23748910,23749043,23749064,23749197,23749631,23749637,23749705,23749715,23749954,23750115,23750133,23750298,23750300,23750429", "conn": "wifi"}
\ No newline at end of file diff --git a/youtube/channel.py b/youtube/channel.py index b7a4462..205d61f 100644 --- a/youtube/channel.py +++ b/youtube/channel.py @@ -80,6 +80,8 @@ def get_channel_tab(channel_id, page="1", sort=3, tab='videos', view=1): content = common.fetch_url(url, headers_1) print("Finished recieving channel tab response") + '''with open('debug/channel_debug', 'wb') as f: + f.write(content)''' info = json.loads(content) return info @@ -131,8 +133,8 @@ def get_number_of_videos(channel_id): url = 'https://m.youtube.com/playlist?list=' + playlist_id + '&ajax=1&disable_polymer=true' print("Getting number of videos") response = common.fetch_url(url, common.mobile_ua + headers_1) - with open('playlist_debug_metadata', 'wb') as f: - f.write(response) + '''with open('debug/playlist_debug_metadata', 'wb') as f: + f.write(response)''' response = response.decode('utf-8') print("Got response for number of videos") return int(re.search(r'"num_videos_text":\s*{(?:"item_type":\s*"formatted_string",)?\s*"runs":\s*\[{"text":\s*"([\d,]*) videos"', response).group(1).replace(',','')) @@ -153,7 +155,13 @@ def channel_videos_html(polymer_json, current_page=1, number_of_videos = 1000, c try: items = polymer_json[1]['response']['continuationContents']['gridContinuation']['items'] except KeyError: - items = polymer_json[1]['response']['contents']['twoColumnBrowseResultsRenderer']['tabs'][1]['tabRenderer']['content']['sectionListRenderer']['contents'][0]['itemSectionRenderer']['contents'][0]['gridRenderer']['items'] + response = polymer_json[1]['response'] + try: + contents = response['contents'] + except KeyError: + items = [] + else: + items = contents['twoColumnBrowseResultsRenderer']['tabs'][1]['tabRenderer']['content']['sectionListRenderer']['contents'][0]['itemSectionRenderer']['contents'][0]['gridRenderer']['items'] items_html = '' for video in items: items_html += grid_video_item_html(grid_video_item_info(video['gridVideoRenderer'], microformat['title'])) diff --git a/youtube/playlist.py b/youtube/playlist.py index 592d1b4..19f825f 100644 --- a/youtube/playlist.py +++ b/youtube/playlist.py @@ -132,8 +132,8 @@ def get_videos_ajax(playlist_id, page): } print("Sending playlist ajax request") content = common.fetch_url(url, headers) - with open('playlist_debug', 'wb') as f: - f.write(content) + '''with open('debug/playlist_debug', 'wb') as f: + f.write(content)''' content = content[4:] print("Finished recieving playlist response") |