Luke Plant avatar Luke Plant committed f6f8a53

Moved handle_mail.py script to a management command

Comments (0)

Files changed (4)

Add a comment to this file

cciw/cciwmain/management/__init__.py

Empty file added.

Add a comment to this file

cciw/cciwmain/management/commands/__init__.py

Empty file added.

cciw/cciwmain/management/commands/handle_mailing_lists.py

+import os
+import zc.lockfile
+
+from django.core.management.base import BaseCommand
+
+
+class Command(BaseCommand):
+
+    def handle(self, *args, **options):
+        try:
+            l = zc.lockfile.LockFile('.handle_mail_lock')
+        except zc.lockfile.LockError:
+            return
+
+        try:
+            try:
+                from cciw.mail.lists import handle_all_mail
+                handle_all_mail()
+            except:
+                from django.core.mail import mail_admins
+                import traceback
+                import sys
+                subject = 'Sending mail error'
+                exc_info = sys.exc_info()
+                message = '\n'.join(traceback.format_exception(*exc_info))
+                mail_admins(subject, message, fail_silently=True)
+        finally:
+            # Delete the lock
+            l.close()

scripts/handle_mail.py

-#!/usr/bin/env python2.5
-import os
-import zc.lockfile
-
-def main():
-    try:
-        l = zc.lockfile.LockFile('.handle_mail_lock')
-    except zc.lockfile.LockError:
-        return
-
-    try:
-        try:
-            from cciw.mail.lists import handle_all_mail
-            handle_all_mail()
-        except:
-            from django.core.mail import mail_admins
-            import traceback
-            import sys
-            subject = 'Sending mail error'
-            exc_info = sys.exc_info()
-            message = '\n'.join(traceback.format_exception(*exc_info))
-            mail_admins(subject, message, fail_silently=True)
-    finally:
-        # Delete the lock
-        l.close()
-
-if __name__ == '__main__':
-    main()
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.