This all looks good to me; I've just two comments.
First, I think the multimedia contact should be tom gall and not michael hope, no?
Second, we need to add contact addresses for the linaro project as well:
# Linaro project to track
project = 'linaro'
project_series = 'trunk'
But given that's not in extra_projects and we don't want it to be there, we should probably just add an entry for it at the end of project_notification_addresses instead of using a class for it.
Oh, and the indentation on line 207 seems to be off by one space.
Oh, and it'd be good to manually test that extra_projects in this config is identical to extra_projects in the old one; it should be trivial to load_config() both and compare extra_projects in both, right?
This all looks good to me; I've just two comments.
First, I think the multimedia contact should be tom gall and not michael hope, no?
Second, we need to add contact addresses for the linaro project as well:
# Linaro project to track
project = 'linaro'
project_series = 'trunk'
But given that's not in extra_projects and we don't want it to be there, we should probably just add an entry for it at the end of project_ notification_ addresses instead of using a class for it.
Oh, and the indentation on line 207 seems to be off by one space.
Oh, and it'd be good to manually test that extra_projects in this config is identical to extra_projects in the old one; it should be trivial to load_config() both and compare extra_projects in both, right?