~barry/mailman/events-and-web

« back to all changes in this revision

Viewing changes to src/mailman/utilities/passwords.py

  • Committer: Barry Warsaw
  • Date: 2012-11-25 20:48:08 UTC
  • Revision ID: barry@list.org-20121125204808-g0pvuil2xq559k4p
Interim commit for refactoring out web-centric logic.

* Use SubscriptionEvent to handle the sending of the welcome message.
* Use ConfirmationNeededEvent to send the confirmation message.
* For now, hard code the adminurl and comment out the listinfo_uri.
* Pend the list-id instead of the fqdn-listname
* Use the new configuration support for Postfix settings.
* Get rid of the IDomain's url_host, base_url, and scheme attributes, as well
  as the confirm_url() method. 
* Get rid of the IMailingList's script_url() method.

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
 
28
28
 
29
29
from passlib.context import CryptContext
30
 
from pkg_resources import resource_string
31
30
 
 
31
from mailman.config.config import load_external
32
32
from mailman.interfaces.configuration import ConfigurationUpdatedEvent
33
33
 
34
34
 
35
35
 
36
36
class PasswordContext:
37
37
    def __init__(self, config):
38
 
        # Is the context coming from a file system or Python path?
39
 
        if config.passwords.path.startswith('python:'):
40
 
            resource_path = config.passwords.path[7:]
41
 
            package, dot, resource = resource_path.rpartition('.')
42
 
            config_string = resource_string(package, resource + '.cfg')
43
 
        else:
44
 
            with open(config.passwords.path, 'rb') as fp:
45
 
                config_string = fp.read()
 
38
        config_string = load_external(config.passwords.configuration)
46
39
        self._context = CryptContext.from_string(config_string)
47
40
 
48
41
    def encrypt(self, secret):