ok now for the final result, i decided to split options out to a separate dict of lists, does this look right to every one, I currently have error somewhere else in my code so can't test this right now, Is this a good method to do this? or is there another option?<br>
<br> self.opt={}<br> self.opt['arg_opts_options']={<br> "imp_src":['ss',"src","source","sources"],<br> "imp_mod":['m',"mod",'mods',"module","modules"],<br>
"imp_opt":['o',"oo","opt",'opts',"option","options"],<br> "imp_set":['s','ss',"sss","set","setting","settings"],<br>
"imp_files":["f","fn",'file','files','filename','filenames','file_name','file_names'],<br> "imp_flavors":["fff","flav","flavor","flavors"],<br>
"imp_funcs":["ff","finfun",'fin_fun',"final_func",'final_funct',"final_funcs",<br> 'final_functs',"final_function","final_functions"],<br>
"imp_downloads":["d",'df',"down",'down_file','down_files',"download",<br> "downloads",'download_file','download_files'],<br>
"imp_colors":["c","cl","col","colo","color","colors",'reaper','reapers'],<br> "imp_properties":["p","prop","property","properties"] <br>
}<br> self.opt['arg_opts']={<br> "site_name":["s","sn","site",'sites','site_name','site_names'],<br> "jar_name":["j","jn","jar",'jars','jar_name','jar_names'],<br>
"file_name":["f","fn",'file','files','filename','filenames','file_name','file_names'],<br> "verbose":["v","vv","vvv",'verbose','verbosity'],<br>
"flavors":["fff","flav","flavor","flavors"],<br> "final_funcs":["ff","finfun",'fin_fun',"final_func",'final_funct',"final_funcs",<br>
'final_functs',"final_function","final_functions"],<br> "download_files":["d",'df',"down",'down_file','down_files',"download",<br>
"downloads",'download_file','download_files'],<br> "colors":["c","cl","col","colo","color","colors",'reaper','reapers'],<br>
"options":['o','opt','option',"options"], <br> "properties":["p","prop","property","properties"]<br> }<br>
<br> def main(self):<br> def _set_arg(a,b):<br> for k,v in self.opt['arg_opts']:<br><br> if a in v:<br> if a in ["colors","flavors",'final_funcs']:<br>
if b is not "":<br> _b=b.split(',')<br> for c in range(len(_b)):<br> _c=_b[c].split(":")<br>
if _c[1] is not "":<br> setattr(self, opt['properties']['flavors'][_c[0]], _c[1])<br> self.soc.debug("%s"%("args "+k+": ",self.opt['properties'][k]))<br>
elif a is "download_files":<br> if b is not "":<br> if bool(b):<br> print ("\nDOWNLOAD FILES",b)<br>
self.opt['properties']['settings'][a] = 1<br> self.soc.debug( "%s"%("args "+a+": ",self.opt['properties']['settings'][a]) )<br>
if b.find("://") > -1:<br> _b=b.split(";")<br> if _b[1] is not "":<br> self.opt['properties']['file_downloads'][_b[0]]=_b[1]<br>
self.soc.debug( "%s"%("args file_downloads: ",self.opt['properties']['file_downloads'][_b[0]]) )<br> elif a is "options":<br>
_b=b.split(",")<br> for c in range(len(_b)):<br> _c=_b[c].split(':')<br> for i,j in self.opt['arg_opts_options']:<br>
if _c[0] in j:<br> if _c[1] is not "":<br> self.opt['properties'][j] = _c[1]<br> self.soc.debug( "%s"%("args imp_src: ",self.opt['properties']['imp_src']) )<br>
else:<br> if b is not "":<br> setattr(self, opt['properties'][a], b)<br> self.soc.debug("%s"%("args "+k+": ",self.opt['properties'][k]))<br>
<br> <br> for _argsi in range(len("".join(self.args).split('='))-1):<br> _args=self.args[_argsi].split("=")<br> print ("printing A:",_args)<br>
_set_arg(_arg[0],_arg[1])<br clear="all">-Alex Goretoy<br><a href="http://www.goretoy.com">http://www.goretoy.com</a><br><br>
<br><br><div class="gmail_quote">On Sun, Mar 15, 2009 at 3:56 PM, alex goretoy <span dir="ltr"><<a href="mailto:aleksandr.goretoy@gmail.com">aleksandr.goretoy@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
this is the final result of the args i will be parsing for now<br><br> d={<br> "site_name":["s","sn","site",'sites','site_name','site_names'],<br>
"jar_name":["j","jn","jar",'jars','jar_name','jar_names'],<br> "file_name":["f","fn",'file','files','filename','filenames','file_name','file_names'],<br>
"verbose":["v","vv","vvv",'verbose','verbosity'],<br> "flavors":["fff","flav","flavor","flavors"],<br>
"final_funcs":["ff","finfun",'fin_fun',"final_func",'final_funct',"final_funcs",<br> 'final_functs',"final_function","final_functions"],<br>
"download_files":["d",'df',"down",'down_file','down_files',"download",<br> "downloads",'download_file','download_files'],<br>
"colors":["c","cl","col","colo","color","colors",'reaper','reapers'],<br> "options":{<br> "imp_src":['ss',"src","source","sources"],<br>
"imp_mod":['m',"mod",'mods',"module","modules"],<br> "imp_opt":['o',"oo","opt",'opts',"option","options"],<br>
"imp_set":['s','ss',"sss","set","setting","settings"],<br> "imp_files":["f","fn",'file','files','filename','filenames','file_name','file_names'],<br>
"imp_flavors":["fff","flav","flavor","flavors"],<br> "imp_funcs":["ff","finfun",'fin_fun',"final_func",'final_funct',"final_funcs",<br>
'final_functs',"final_function","final_functions"],<br> "imp_downloads":["d",'df',"down",'down_file','down_files',"download",<br>
"downloads",'download_file','download_files'],<br> "imp_colors":["c","cl","col","colo","color","colors",'reaper','reapers'],<br>
"imp_properties":["p","prop","property","properties"] <br> }, <br> "properties":["p","prop","property","properties"]<br>
}<br><br>pynutbutter will be really good soon, thx for your help :) I'm glad to be doing this in python<div class="im"><br><br clear="all">-Alex Goretoy<br><a href="http://www.goretoy.com" target="_blank">http://www.goretoy.com</a><br>
<br>
<br><br></div><div><div></div><div class="h5"><div class="gmail_quote">On Sun, Mar 15, 2009 at 3:30 PM, alex goretoy <span dir="ltr"><<a href="mailto:aleksandr.goretoy@gmail.com" target="_blank">aleksandr.goretoy@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Michele I tried your way but I dont seem to have a good grasp on the concept yet, will read up more<br><br>for now I think I will try to make it work same way as colors only with decorator as def inside def instead of @, that doesn't make sense quite yet<div>
<br>
<br clear="all">-Alex Goretoy<br><a href="http://www.goretoy.com" target="_blank">http://www.goretoy.com</a><br><br>
<br><br></div><div><div></div><div><div class="gmail_quote">On Sun, Mar 15, 2009 at 3:12 PM, alex goretoy <span dir="ltr"><<a href="mailto:aleksandr.goretoy@gmail.com" target="_blank">aleksandr.goretoy@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
this is what I did to define all my color functions by color name, but I am still going to need a good solution for args<br><br><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">
#import functions by color name into current namespace<br> for color in self.colors.keys():<br> setattr(self, color,lambda x,y=color,z="INFO": self._hero(x,y,z) )<br></blockquote><br>Thanks to all of you for helping me learn python<div>
<br>
<br clear="all">-Alex Goretoy<br><a href="http://www.goretoy.com" target="_blank">http://www.goretoy.com</a><br><br>
<br><br></div><div><div></div><div><div class="gmail_quote">On Sun, Mar 15, 2009 at 1:05 PM, alex goretoy <span dir="ltr"><<a href="mailto:aleksandr.goretoy@gmail.com" target="_blank">aleksandr.goretoy@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
this means i have to check if d[i] is list or dict and iterate over properties<div><br clear="all">-Alex Goretoy<br><a href="http://www.goretoy.com" target="_blank">http://www.goretoy.com</a><br><br>
<br><br></div><div><div></div><div><div class="gmail_quote">On Sun, Mar 15, 2009 at 1:03 PM, alex goretoy <span dir="ltr"><<a href="mailto:aleksandr.goretoy@gmail.com" target="_blank">aleksandr.goretoy@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I will also actually need to nest it like so<div><br><br>d={<br>
"site_name":["s","site",'<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">sites','site_name','site_names'],<br>
"jar_name":["j","jar",'jars','jar_name','jar_names'],</blockquote></div><div> "options":{<br> "src_name":["ss","src","source"],<br>
"mod_name":['m',"mod",'mods',"module","modules"],<br>} <br></div><div><br clear="all">-Alex Goretoy<br><a href="http://www.goretoy.com" target="_blank">http://www.goretoy.com</a><br>
<br>
<br><br></div><div><div></div><div><div class="gmail_quote">On Sun, Mar 15, 2009 at 10:51 AM, MRAB <span dir="ltr"><<a href="mailto:google@mrabarnett.plus.com" target="_blank">google@mrabarnett.plus.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">d={<br>
"site_name":["s","site",'sites','site_name','site_names'],<br>
"jar_name":["j","jar",'jars','jar_name','jar_names'],</blockquote></blockquote></div><br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>