Jmbo Neo Web Services integration app.
Project description
jmbo-neo
========
jmbo-neo provides integration with Neo Web Services for jmbo and jmbo-foundry. It syncs jmbo-foundry's Member objects with consumers
in the Neo data hubs. Syncing refers to the creation, modification and deactivation of Neo consumers as Member objects are created, modified
and deactivated.
Authentication-related actions are also performed via Neo Web Services. These include logging in and out and changing passwords. jmbo-neo also
supports a number of other Neo API calls. These, in addition to the above mentioned, can be invoked as necessary in other jmbo apps.
Requirements
------------
System libraries
****************
- libxml2-dev
- libxslt-dev
Python packages
***************
- python-lxml
- requests
*jmbo-neo uses generateDS.py (http://cutter.rexx.com/~dkuhlman/generateDS.html) to generate Python classes from Neo XML schemas.*
Usage
-----
`neo.api` contains functions for all the supported Neo API calls. Consumer calls require either a consumer ID or consumer object (or both).
If a consumer has been created for a particular Member, a corresponding NeoProfile object will be stored in the database. So to obtain the
consumer ID, use `neo.models.NeoProfile(user=member.id).consumer_id`.
A consumer object is an instance of `neo.xml.Consumer`. Consumer should not be instantiated directly. Internally, jmbo-neo uses `neo.xml.parseString(response.content)`
to create a consumer object from the XML return by Neo Web Services. This object will be returned when calling, for instance, `neo.api.get_consumer`.
To access this consumer object, you should use the wrapper class `neo.utils.ConsumerWrapper`. It has all the necessary getter and setter methods to correctly
manipulate the consumer object, ensuring the resulting XML is valid.
**When using jmbo-neo, all non-required Member fields will be null, or set to their default values. Queries on Member objects
will return incorrect results.**
Settings
********
The following settings must be added to settings.py:
::
NEO = {
'URL': 'neowebservices.com/service/'
'APP_ID': '1',
'VERSION_ID': '1.3',
'PROMO_CODE': 'testPromo', # if there is a single promo code for the website
'BRAND_ID': 35, # if there is a single brand for the website
'PASSWORD': 'password', # http basic auth password
}
AUTHENTICATION_BACKENDS = ('neo.backends.NeoBackend',)Authors
=======
Praekelt Foundation
-------------------
* Rizmari VersfeldChangelog
=========
0.2 (09-11-2012)
----------------
#. Create member if credentials are valid and the member does not exist.
#. Fix bug in logout.
0.1 (18-10-2012)
----------------
#. Initial release
========
jmbo-neo provides integration with Neo Web Services for jmbo and jmbo-foundry. It syncs jmbo-foundry's Member objects with consumers
in the Neo data hubs. Syncing refers to the creation, modification and deactivation of Neo consumers as Member objects are created, modified
and deactivated.
Authentication-related actions are also performed via Neo Web Services. These include logging in and out and changing passwords. jmbo-neo also
supports a number of other Neo API calls. These, in addition to the above mentioned, can be invoked as necessary in other jmbo apps.
Requirements
------------
System libraries
****************
- libxml2-dev
- libxslt-dev
Python packages
***************
- python-lxml
- requests
*jmbo-neo uses generateDS.py (http://cutter.rexx.com/~dkuhlman/generateDS.html) to generate Python classes from Neo XML schemas.*
Usage
-----
`neo.api` contains functions for all the supported Neo API calls. Consumer calls require either a consumer ID or consumer object (or both).
If a consumer has been created for a particular Member, a corresponding NeoProfile object will be stored in the database. So to obtain the
consumer ID, use `neo.models.NeoProfile(user=member.id).consumer_id`.
A consumer object is an instance of `neo.xml.Consumer`. Consumer should not be instantiated directly. Internally, jmbo-neo uses `neo.xml.parseString(response.content)`
to create a consumer object from the XML return by Neo Web Services. This object will be returned when calling, for instance, `neo.api.get_consumer`.
To access this consumer object, you should use the wrapper class `neo.utils.ConsumerWrapper`. It has all the necessary getter and setter methods to correctly
manipulate the consumer object, ensuring the resulting XML is valid.
**When using jmbo-neo, all non-required Member fields will be null, or set to their default values. Queries on Member objects
will return incorrect results.**
Settings
********
The following settings must be added to settings.py:
::
NEO = {
'URL': 'neowebservices.com/service/'
'APP_ID': '1',
'VERSION_ID': '1.3',
'PROMO_CODE': 'testPromo', # if there is a single promo code for the website
'BRAND_ID': 35, # if there is a single brand for the website
'PASSWORD': 'password', # http basic auth password
}
AUTHENTICATION_BACKENDS = ('neo.backends.NeoBackend',)Authors
=======
Praekelt Foundation
-------------------
* Rizmari VersfeldChangelog
=========
0.2 (09-11-2012)
----------------
#. Create member if credentials are valid and the member does not exist.
#. Fix bug in logout.
0.1 (18-10-2012)
----------------
#. Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
jmbo-neo-0.2.tar.gz
(43.4 kB
view details)
Built Distributions
jmbo_neo-0.2-py2.7.egg
(108.3 kB
view details)
jmbo_neo-0.2-py2.6.egg
(107.8 kB
view details)
File details
Details for the file jmbo-neo-0.2.tar.gz
.
File metadata
- Download URL: jmbo-neo-0.2.tar.gz
- Upload date:
- Size: 43.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdc90cf87d21be20449c7df31652afa4b08548f4ed924d23568e162172478d05 |
|
MD5 | b4a23f6f55aad51482cd7d7d62849164 |
|
BLAKE2b-256 | 197c94b9e4e0bbd642f10a418a2b817bc1062425fe5fbb8903ab82fb4830e70a |
File details
Details for the file jmbo_neo-0.2-py2.7.egg
.
File metadata
- Download URL: jmbo_neo-0.2-py2.7.egg
- Upload date:
- Size: 108.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ebacaa0ae0e2aba2a980a280d6b3b4a461bb3a48af396e72fcbde0a8fb86023 |
|
MD5 | c6de0967a28dfa17d928df780c789def |
|
BLAKE2b-256 | 50833b1d60acf10b2be130cbd3d6483967664313741f77b7114a52f510e4ba5b |
File details
Details for the file jmbo_neo-0.2-py2.6.egg
.
File metadata
- Download URL: jmbo_neo-0.2-py2.6.egg
- Upload date:
- Size: 107.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10ddb3b3d6e975d2b3c2d87bdc22ae54c80d2e15aca45b5999757c19844a54b4 |
|
MD5 | 0ba4443a3c15a20b38bc7e50391a1e1b |
|
BLAKE2b-256 | 7a2b4d50647b5b82d067b4ed63e1ad6348db597d4fed36b604d0a1a244230f08 |