| author | Sandro Knauß <knauss@netzguerilla.net> |
| Thu, 27 Sep 2012 14:13:06 +0200 | |
| branch | devel |
| changeset 295 | dc3cc61c7f6f |
| parent 291 | 84eb5a7a715a |
| permissions | -rw-r--r-- |
|
290
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
1 |
Iro is a non blocking server for sending a message to a bunsh of recipients. It can handle different types of message and can be extended easially. |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
2 |
It was initially written for sms backend of http://castorticker.de. There are different backends are supported by Iro. |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
3 |
Iro helps you for these kinds of tasks: You want to send a message to some recipient over a different backend, than for other recipients. |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
4 |
Or you want to define fallback strategies: If one messages can't be send over this backend use another. |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
5 |
Because Iro also knows users, you can create bills for different clients. |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
6 |
|
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
7 |
Installation of Iro |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
8 |
=================== |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
9 |
|
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
10 |
Install the module via ``setup.py install`` und ran ``iro-install``. That will create a sample configuration file named ``iro.conf``. |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
11 |
Update the configuration file and run ``iro-install install`` afterwards. That will create the Database and Offers for you. |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
12 |
After that you have to `adding_user`. Now you are ready to start Iro ``twisted iro``. |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
13 |
|
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
14 |
|
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
15 |
.. _adding_user: |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
16 |
|
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
17 |
Add User and Userrights |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
18 |
----------------------- |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
19 |
|
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
20 |
You'll need user and right to spefific Offers, that a user can send with a specific Offer. Till now, it is the only way to add/modify user/userrights. |
| 88 | 21 |
|
|
290
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
22 |
|
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
23 |
You can add users and userright via SQL:: |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
24 |
|
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
25 |
INSERT INTO user (name,apikey,ng_kunde) VALUES("test","a1b2c3");
|
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
26 |
INSERT INTO userrights (user,offer,default) VALUES ("test",OFFERNAME,NULL);
|
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
27 |
|
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
28 |
or use python/ipython:: |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
29 |
|
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
30 |
>>> import iro.model.schema |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
31 |
>>> from iro.model.schema import * |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
32 |
>>> from sqlalchemy import create_engine |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
33 |
>>> from iro.model.utils import WithSession |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
34 |
>>> engine = create_engine(DBURL) |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
35 |
>>> with WithSession(engine) as session: |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
36 |
... u = User(name="test",apikey="a1a2c3") |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
37 |
... session.add(u) |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
38 |
... o = session.query(Offer).filter_by(name=OFFERNAME).first() |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
39 |
... u.rights.append(Userright(o, default=None)) |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
40 |
... session.commit() |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
41 |
>>> |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
42 |
|
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
43 |
.. note:: |
|
21601a54c44c
doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents:
88
diff
changeset
|
44 |
Please make sure that, the apikey only using *hex digest [0-9a-f]* |