On Fri, Jan 8, 2010 at 3:37 PM, MRAB <pyt...@mrabarnett.plus.com> wrote:
> Victor Subervi wrote: > >> On Fri, Jan 8, 2010 at 3:09 PM, Victor Subervi >> <victorsube...@gmail.com<mailto: >> victorsube...@gmail.com>> wrote: >> >> >> >> On Fri, Jan 8, 2010 at 2:52 PM, Jean-Michel Pichavant >> <jeanmic...@sequans.com <mailto:jeanmic...@sequans.com>> wrote: >> >> Victor Subervi wrote: >> >> On Fri, Jan 8, 2010 at 1:26 PM, Steve Holden >> <st...@holdenweb.com <mailto:st...@holdenweb.com> >> <mailto:st...@holdenweb.com <mailto:st...@holdenweb.com>>> >> >> wrote: >> >> MRAB wrote: >> > Victor Subervi wrote: >> > [snip] >> >> >> >> Code snippet: >> >> >> >> def cgiFieldStorageToDict(fieldStorage): >> ^^^^^^^^^^^^ >> Further hint ... >> >> >> params = {} >> >> for key in fieldStorage.keys(): >> >> params[key] = cgi.FieldStorage[key].value >> > ^^^^^^^^^^^^^^^^^^^^^ >> > This is your problem. >> >> >> The problem is that I don't understand this code that I >> exactly copied from a Web page tutorial. Can you folks point >> me to tutorials where I can learn to comprehend this code? >> Specifically, the line in question. How is it that one can >> code "params[key]" (what does that mean?) and the other >> side, what does that mean >> >> I think you are gathering more fans Victor :) >> >> http://docs.python.org/tutorial/datastructures.html#dictionaries >> >> >> This still isn't telling me what I need to know. Perhaps I'm missing >> the point, as in the recent case with putting the "print cookie" >> statement in the header. I am assuming (translation: making an a$$ >> out of you and me) that "params[key] automatically assigns the >> fieldStorage key to the newly created params key in the dict of the >> same, and assigning the value from the cgi.FieldStorage of that key >> to the params value. Is that correct? >> TIA, >> beno >> >> >> I may have answered my own question. I have this: >> >> def cgiFieldStorageToDict(fieldStorage): >> params = {} >> for key in fieldStorage.keys(): >> params[key] = fieldStorage[key].value >> return params >> >> Which is what Recipe 81547 actually says! > > > dict = cgiFieldStorageToDict(cgi.FieldStorage()) >> print dict >> >> which gave me this: >> >> {'store': 'products', 'cat': 'prodCat1'} >> >> which looks about right. I would have written the code like this: >> >> keys = [] >> values = [] >> for key, value in fieldStorage.iteritems(): >> keys.append(key) >> values.append(value) >> params = dict(zip(keys, values)) >> >> which obviously isn't as elegant. But that's what I knew. Learned another >> trick, I guess ;) >> >> If that works then so should this: > > params = dict(fieldStorage.iteritems()) Yeah. Thanks! beno
-- http://mail.python.org/mailman/listinfo/python-list