On Mon, 2006-07-31 at 19:23 +0200, Florian La Roche wrote:
> > Ok, I'll have to ping some other people on this.
>
> The only problem I have with updating the original mirror lists is that
> the mirrors are not always out of sync. sometimes they're only out of
> sync for a day or so. So fixing them would mean having to put back the
> broken mirror later if it suddenly resynchronized.
>
> Now, if I got the time I wouldn't mind putting all the mirror results in
> a little database and tracking them over time. so that mirrors that are
> in sync the majority of the time don't get checked as often or some such
> thing.
So this should be the following code then:
for m in mirrors:
if m.timestamps.has_key(arch):
if m.timestamps[arch] == canon.timestamps[arch]:
if debug: print 'adding %s' % m.url
glob_urls.append(m.url)
if m.country:
if not country_specific.has_key(m.country):
country_specific[m.country] = []
if debug: print 'adding to %s: %s' % (m.country, m.url)
country_specific[m.country].append(m.url)
Items I could think off:
- Timestamps are only checked for the big list, not for the per-country lists.
fixed in cvs. Thank you - I just hadn't indented it one layer :)
- You could also allow all timestamps which are not older than 2 days
in addition
to the exact match (which will then depend on good time setting on the machine
doing the checks). Another possibility would be to allow older timestamps if their
delta to the current timestamp is not too high, but that would then depend on
frequent updates to go out.
but that means the repos don't match - which will play hell when
retrieving metadata. I thought about this one a while and decided it's
either an exact match or it is a failure.
-sv