Toni Fuente via Tutor wrote: > Hi, > > I've got this script that goes through an httpd conf file, and gets the > related bits of it for a site, and writes a new config with values that > I am interested. The problem is that it finds the first chunk and > returns it, but I need to go to the end of all chunks list, because > there are also some chunks related to the same site that I need to > collect (virtualhost *:80 and virtualhost:443). I was > > I was thinking in a while loop in the find_chunk function that will go > through all chunks and return the chunks that site is on, but I don't know > how to construct it. > > Thank you in advance for any suggestion.
Currently the structure of your script seems to be chunks = load_chunks() for site in get_sites(): interesting_chunk = find_chunk(site, chunks) if interesting_chunk is not None: do_stuff_with(interesting_chunk) If I am understanding you correctly you want chunks = load_chunks() for site in get_sites(): for interesting_chunk in find_chunks(site, chunks): do_stuff_with(interesting_chunk) One way to make that work was already mentioned, have find_chunks return a list: def find_chunks(site, chunks): matches = [] for chunk in chunks: if any(site in line for line in chunk): matches.append(chunk) return matches Another is to use a generator: def find_chunks(site, chunks): for chunk in chunks: if any(site in line for line in chunk): yield chunk _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor