def process_mail(text): msg = email.message_from_string(text) repos = get_repository_for_message(msg) if not repos: return pollerqueue.pushHigh(repos.pinger_name) if repos.forward_pinger_mail: # Sigh. Yay for features that tear through abstractions. # Would be so wonderful to not even bother with Repository # objects up here, but no... ;) project = Project.objects.get(repos=repos) ct = ContentType.objects.get_for_model(Project) for user_asset in UserAsset.objects.filter(content_type=ct, object_id=project.id): send_mail_to_user(user_asset.user, "repos/pinger-fwd.txt", msg['from'], msg=msg, repos=repos, user_asset=user_asset)
def main(): msg = email.message_from_file(sys.stdin) repos = get_repository_for_message(msg) if not repos: return repos.get_client().poll() if repos.forward_pinger_mail: from cia.apps.accounts.authplus import send_mail_to_user from cia.apps.accounts.models import Project, UserAsset from django.contrib.contenttypes.models import ContentType # Forward pinger mail to all project owners project = Project.objects.get(repos=repos) ct = ContentType.objects.get_for_model(Project) for user_asset in UserAsset.objects.filter(content_type=ct, object_id=project.id): send_mail_to_user(user_asset.user, "repos/pinger-fwd.txt", msg['from'], msg=msg, repos=repos, user_asset=user_asset)