Skip to content

Commit

Permalink
- Add EmailNotificationsCommand in cli.py and setup.py
Browse files Browse the repository at this point in the history
- Move an import in email_notifications.py into a function. This seems to be
  necessary otherwise the paster command crashes.
  • Loading branch information
Sean Hammond committed Dec 3, 2012
1 parent ed221a2 commit 0d9e627
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 1 deletion.
19 changes: 19 additions & 0 deletions ckan/lib/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import ckan.include.rjsmin as rjsmin
import ckan.include.rcssmin as rcssmin
import ckan.lib.fanstatic_resources as fanstatic_resources
import ckan.lib.email_notifications as email_notifications

import paste.script
from paste.registry import Registry
Expand Down Expand Up @@ -1740,3 +1741,21 @@ def minify_file(self, path):
f.write(rjsmin.jsmin(source))
f.close()
print "Minified file '{0}'".format(path)


class EmailNotificationsCommand(CkanCommand):
'''Send any pending email notifications to users.
Usage:
paster send-email-notifications
'''
summary = __doc__.split('\n')[0]
usage = __doc__
max_args = 0

def command(self):
self._load_config()
self._setup_app()
email_notifications.get_and_send_notifications_for_all_users()
2 changes: 1 addition & 1 deletion ckan/lib/email_notifications.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@

import ckan.model as model
import ckan.logic as logic
import ckan.lib.mailer


def _notifications_for_activities(activities):
Expand Down Expand Up @@ -97,6 +96,7 @@ def get_notifications(user_id, since):

def send_notification(user, email_dict):
'''Email `email_dict` to `user`.'''
import ckan.lib.mailer

if not user.get('email'):
# FIXME: Raise an exception.
Expand Down
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@
trans = ckan.lib.cli:TranslationsCommand
minify = ckan.lib.cli:MinifyCommand
datastore = ckanext.datastore.commands:SetupDatastoreCommand
send-email-notifications = ckan.lib.cli:EmailNotificationsCommand
[console_scripts]
ckan-admin = bin.ckan_admin:Command
Expand Down

0 comments on commit 0d9e627

Please sign in to comment.