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 - [email protected]
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor