Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)