<div class="gmail_quote">On 12 November 2012 13:23, Joshua Landau <span dir="ltr"><<a href="mailto:joshua.landau.ws@gmail.com" target="_blank">joshua.landau.ws@gmail.com</a>></span> wrote:<br>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">
<div class="gmail_quote">Just a few tricks you may have missed:</div>
<div class="gmail_quote"> </div>
<div class="gmail_quote">
<div class="im">On 12 November 2012 10:48, Ulrich Eckhardt <span dir="ltr"><<a href="mailto:ulrich.eckhardt@dominolaser.com" target="_blank">ulrich.eckhardt@dominolaser.com</a>></span> wrote:<br>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">Am 11.11.2012 23:24, schrieb Cantabile:</blockquote></div>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">    if required.intersection(params.<u></u>keys()) != required:<br></blockquote>
<div> </div>
<div>if required.issubset(params):</div></div></blockquote>
<div> </div>
<div>*Ahem*: if *not* required.issubset(params):</div>
<div> </div>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">
<div class="gmail_quote">
<div> </div>
<div class="im">
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">       missing = required - set(params.keys())<br></blockquote>
<div> </div></div>
<div>missing = required.difference(params)</div>
<div class="im">
<div> </div>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">       raise Exception("missing arguments {}".format(<br>                       ', '.join(missing)))</blockquote>


<div> </div>
<div> </div></div>
<div>(untested)</div></div></blockquote></div><br>