PingPong

Django library that makes triggering emails easier
Download

PingPong Ranking & Summary

Advertisement

  • Rating:
  • License:
  • MIT/X Consortium Lic...
  • Price:
  • FREE
  • Publisher Name:
  • James Robert
  • Publisher web site:
  • http://shpaml.com

PingPong Tags


PingPong Description

pingpong is a Python library to aimed at simplifying things thing that should be easy in Django.Installation 1. Install lib with pip:pip install pingpong- OR -Put the "pingpong" directory somewhere in your python path2. Add "pingpong" to your installed apps (in the settings.py file)A better way to fire off emails from pingpong.email import render_to_email def some_function(): template = "emails/muffins.email" context = { "your_mom": "Betty Crocker", "muffin_type": "blueberry" } recipients = # send an email! render_to_email(template, context, recipients)And the template, `emails/my_email_template.email` would be in your main templates folder: Delicious muffins thanks to {{ your_mom }} Hi friend, I'm writing to let you know that {{ your_mom }} made some superb {{ muffin_type }} muffins. Please tell her thank you! Thanks, A RobotThe first non-blank line is the subject, everything following is the message.Subject: Delicious muffins thanks to Betty CrockerMessage: I'm writing to let you know that Betty Crocker made some superb blueberry muffins. Please tell her thank you! Thanks, A RobotWhitespace is stripped from the beginning and end of the message.Passing system events to your appset up listeners: # listeners.py from pingpong.utils import pong @pong("dailycron") def email_admins_about_daily_activity(ping_name, args, kwargs, **kw): ... # models.py ... your models... import listenersThen you trigger all functions listening to "dailycron" like so:python manage.py pong dailycronIf you pass extra args to the management command they will get passed along...python manage.py pong cachecleared memcache:38174In this case we're letting the app know that memcache on port 38174 just got cleared. from pingpong.utils import pong @pong("cachecleared") def warm_up_cache(ping_name, args, kwargs, **kw): assert ping_name == "cachecleared" assert args == "memcache:38174" cache_type, port = args.split(":") ...Product's homepage


PingPong Related Software