{"version":"1.0","provider_name":"Adrian Pueyo","provider_url":"https:\/\/adrianpueyo.com\/es","author_name":"Adrian Pueyo","author_url":"https:\/\/adrianpueyo.com\/es\/author\/adrianpueyo\/","title":"Exercise: Nuke Version Control - Adrian Pueyo","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"OUABTLtwi4\"><a href=\"https:\/\/adrianpueyo.com\/es\/courses\/python-for-nuke-artists\/lesson\/exercise-nuke-version-control\/\">Exercise: Nuke Version Control<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/adrianpueyo.com\/es\/courses\/python-for-nuke-artists\/lesson\/exercise-nuke-version-control\/embed\/#?secret=OUABTLtwi4\" width=\"600\" height=\"338\" title=\"\u00abExercise: Nuke Version Control\u00bb \u2014 Adrian Pueyo\" data-secret=\"OUABTLtwi4\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/adrianpueyo.com\/wp-includes\/js\/wp-embed.min.js\n<\/script>","description":"With this exercise we will practice many concepts about Python in general and Nuke, emphasizing the latest techniques we have explored about the creation and use of Python Buttons. We will create a simplified version control system in Nuke, as a basic example of something that could be super powerful when applied to your day [&hellip;]"}