GET /api/v2/video/1314
HTTP 200 OK Vary: Accept Content-Type: text/html; charset=utf-8 Allow: GET, PUT, PATCH, HEAD, OPTIONS
{ "category": "EuroPython 2012", "language": null, "slug": "method-restrictions-abstract-final-override-e", "speakers": [ "P Szabo" ], "tags": [], "id": 1314, "state": 1, "title": "Method restrictions (abstract, final, @override etc.) and implementing them for Python", "summary": "[EuroPython 2012] P Szabo - 3 JULY 2012 in \"Track Tagliatelle\"\n\n", "description": "The earlier a bug is discovered, the cheaper it is to fix it. Method\nrestrictions (such as abstract, final and @Override) help the programmer in\ndiscovering incompatibilities between a class and its subclass early (i.e. at\nstartup time for Python and at compile time for compiled languages). Python\ndoesn\u2019t provide method restrictions out of the box. To implement them, we take\na deep dive to the realms of Python metaprogramming (decorators, metaclasses,\nmethod wrappers, traceback inspection and builtins). Lots of short and code\nexamples will be provided to show the building blocks and how we combine them.\nSlides: [http://pts-mini-gpl.googlecode.com/svn/trunk/pobjects/ptsmethodrestri\nctions_2012-07-03.html](http://pts-mini-\ngpl.googlecode.com/svn/trunk/pobjects/ptsmethodrestrictions_2012-07-03.html)\nSource code download: [http://code.google.com/p/pts-mini-\ngpl/source/browse/#svn/trunk/pobjects](http://code.google.com/p/pts-mini-\ngpl/source/browse/#svn/trunk/pobjects)\n\n", "quality_notes": "", "copyright_text": "Standard YouTube License", "embed": "<object width=\"640\" height=\"390\"><param name=\"movie\" value=\"http://youtube.com/v/WX7aB0e4-Lk?version=3&amp;hl=en_US\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://youtube.com/v/WX7aB0e4-Lk?version=3&amp;hl=en_US\" type=\"application/x-shockwave-flash\" width=\"640\" height=\"390\" allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed></object>", "thumbnail_url": "http://i.ytimg.com/vi/WX7aB0e4-Lk/hqdefault.jpg", "duration": null, "video_ogv_length": null, "video_ogv_url": null, "video_ogv_download_only": false, "video_mp4_length": null, "video_mp4_url": null, "video_mp4_download_only": false, "video_webm_length": null, "video_webm_url": null, "video_webm_download_only": false, "video_flv_length": null, "video_flv_url": null, "video_flv_download_only": false, "source_url": "http://www.youtube.com/watch?v=WX7aB0e4-Lk", "whiteboard": "", "recorded": "2012-07-04", "added": "2012-09-06T22:33:21", "updated": "2014-04-08T20:28:27.283" }