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>