<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class=""><div><br></div><div><br></div></div><div>Thanks Peter and <span style="font-family:arial,sans-serif;font-size:13px">Simon for the hints</span> it worked : ) without ' ='</div>
<div><br></div><div><div># Python corrupt.py -o INODE -p /ifs/1.txt -q SET -f 1</div><div><br></div><div>Current Default Choice :<br></div><div><br></div><div>Choice: INODE</div><div>Choice: SET</div><div>Choice: 1</div>
</div>
<div><br></div><div><br></div></div><br></div></div>
</blockquote></div><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><p class="MsoNormal">Iam done with the command line parsing but got stuck while
trying to implement switch kind of behavior with dictionaries. So posting 2 more questions </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Question 1 :</p><p class="MsoNormal"><br></p>
<p class="MsoNormal">Iam using the <a href="http://options.name">options.name</a>
directly for manipulations is
this fine or do I need to assign it to variable and then use it</p>
<div class="gmail_extra"><br></div><br>
<p class="MsoNormal">Example:</p><p class="MsoNormal"><br></p><p class="MsoNormal">Entered at cli #python corrupt.py –object_type INODE --path_name/ifs/1.txt -operation_type SET <br></p><p class="MsoNormal"><br></p><p class="MsoNormal">
<br></p>
<p class="MsoNormal">Initialize all the command line option and then use it</p><p class="MsoNormal"><br></p>
<p class="MsoNormal">object_type = options.object_type</p>
<p class="MsoNormal">path_name =
options.path_name</p>
<p class="MsoNormal">if object_type == 'LIN':</p>
<p class="MsoNormal"> corrupt_inode()</p>
<p class="MsoNormal"> elif object_type
== 'DATA':</p>
<p class="MsoNormal"> corrupt_data()</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"> OR </p>
<p class="MsoNormal">if options.object_type == 'LIN':</p>
<p class="MsoNormal"> corrupt_inode()</p>
<p class="MsoNormal"> elif options.object_type == 'DATA':</p>
<p class="MsoNormal"> corrupt_data()</p>
<p class="MsoNormal"> elif options.object_type == 'INODE':</p>
<p class="MsoNormal"> corrupt_data()</p>
<p class="MsoNormal"><br></p><p class="MsoNormal"><br></p>
<p class="MsoNormal">#output</p>
<p class="MsoNormal">#python corrupt.py –object_type INODE -p /ifs/1.txt -q SET -f 10</p>
<p class="MsoNormal"> -m 10 -n 123
-l -c</p>
<p class="MsoNormal">Corrupted inode</p>
<p class="MsoNormal">_________________________________________________________________________________________________________</p><p class="MsoNormal"><br></p>
<p class="MsoNormal">Question 2 :</p><p class="MsoNormal"><br></p>
<p class="MsoNormal">I wanted to use dictionary to match the above if else behavior (we don’t
have switch in python I guess ) and If else looks very untidy.</p><p class="MsoNormal"><br></p><p class="MsoNormal"></p>
<p class="MsoNormal">Is it possible to store the options.object_type as a key in the
dictionary and then based on the value entered in the command
line invoke the appropriate function</p>
<p class="MsoNormal"> </p>
<br><p class="MsoNormal">I tried creating a dictionary like this but Iam getting a wrong output</p>
<p class="MsoNormal"><br></p><p class="MsoNormal"> </p>
<p class="MsoNormal">object_type_dictonary = { 'LIN' : corrupt_inode(),</p>
<p class="MsoNormal">
'INODE' : corrupt_lin(),</p>
<p class="MsoNormal"> 'DATA' : corrupt_data(),</p>
<p class="MsoNormal"> };</p>
<br><p class="MsoNormal"><br></p><p class="MsoNormal">and then ran # python corrupt.py –object_type= inode ( This prints all the values for me)</p><p class="MsoNormal"></p><p class="MsoNormal"><br></p>
<p class="MsoNormal">Example :</p>
<br>
<p class="MsoNormal">Corrupted inode</p>
<p class="MsoNormal">Corrupted LIN</p>
<p class="MsoNormal">Corrupted data </p>
<p class="MsoNormal"> </p><p class="MsoNormal">PS : If user enters object_type= inode it should execute corrupt_inode and print corrupted inode</p>
<p class="MsoNormal"> </p></div><div class="gmail_extra">Any help on tips highly helpful :)</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">
<br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">
<br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div></div>