]> git.0d.be Git - django-panik-newsletter.git/commitdiff
use listadmin to do the mailman plumbing
authorFrédéric Péters <fpeters@0d.be>
Sat, 14 Sep 2013 11:38:06 +0000 (13:38 +0200)
committerFrédéric Péters <fpeters@0d.be>
Sat, 14 Sep 2013 11:38:06 +0000 (13:38 +0200)
newsletter/models.py

index 1c9108cd9bab2087388a7dbdcb9527b022526d8e..21ae1f0e71318ff94d7dd239ef98a8fa2116726f 100644 (file)
@@ -2,7 +2,7 @@
 
 import hashlib
 import random
-import urllib
+import subprocess
 
 from django.db import models
 
@@ -39,14 +39,8 @@ class Subscriber(models.Model) :
         self.save()
 
     def subscribe_in_mailman(self):
-        params = urllib.urlencode(
-                {'email' : self.email, 'fullname' : '',
-                 'pw' : self.password, 'pw-conf' : self.password,
-                 'digest' : '0'})
-        response = urllib.urlopen(settings.NEWSLETTER_SUBSCRIBE_URL, params)
-        response.read()
-        response.close()
-        # TODO: error handling
-        # TODO: connecting to the moderation URL to validate
-        #self.registered = True
-        #self.save()
+        t = subprocess.call(['listadmin', '--add-member', self.email, settings.NEWSLETTER_NAME])
+        if t != 0:
+            return
+        self.registered = True
+        self.save()