Public | Automated Build

Last pushed: 2 years ago
Short Description
HELPeR is an IFTTT-Clone forked from dschep/HELPeRFrom:
Full Description


HELPeR is a personal IFTTT clone because who wants to give a corporation access
to ALL your online accounts?!



HELPeR consists of Agents. Agents should be a python module. For the purposes
of this README we'll be discussing a hypothetical Agent called foobar.

Agent Configs

If an agent needs it, a config can be created for it in the DB.

Agent Config Views

An agent can define a views if it as a config in foobar.view. They will be
loaded at /agent_config/<AGENT_CONFIG_ID>/<AGENT_VIEW>. They must be
specified in foobar.ACTION_CONFIG_KEYS

ex: /agent/1/Foo will call foobar.views.Foo.as_view(request, agent_config)

The main purpose of this is to allow for building of extra view for things like
oauth. See helper.agents.facebook.views.FBLogin for an example


Agents' tasks live in foobar.tasks. These should be celery tasks. Tasks are
either a 'cause' and output a list of events (flat dicts) or an
'effect' which accepts a list of events do do with as it pleases.

Cause & effect tasks are paired as TaskPair objects. Each TaskPair has 2 tasks
defined, one cause and one effect, and a set options for both.

Task execution

Tasks get called with a union of the a AgentConfig options and the relevant
options in TaskPair (eg: cause tasks get called with cause_options).

Task views

Tasks can have a view at foobar.views.TaskView. They are dispatched through a
TaskPair. POSTs going to the cause view and GETs going to the effect view. Both
require a secret in the task's options to match the URL segment with the

ex: POST to /task/6/SECRET calls TaskPair(id=6)'s cause view

This is best combined with the Event model to accumulate events and a scheduled
cause task that loads events from the DB.

Docker Pull Command
Source Repository