{ "info": { "author": "Alexandre Varas", "author_email": "alej0varas@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.10", "Framework :: Django :: 1.8", "Framework :: Django :: 1.9", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "Generic application to handle https://ejabberd-saas.com/ Remote Data API calls\n\n==========\n djabberd\n==========\n\nFor each specific tasks a handler function must be implemented.\n\nInstall\n-------\n::\n\n pip install djabberd\n\nQuick start\n-----------\n\n1. Include the django-ejabberd URLconf in your project urls.py like this::\n::\n\n url(r'', include('djabberd.urls'),\n\n::\n\n # For Django==1.8\n url(r'', include('djabberd.urls'), namespace='djabberd')\n\n2. Setup the handler in your Django settings::\n::\n\n DJABBERD_API_HANDLERS='your.module.path'\n\nBased on ejabberd-saas's documentation those endpoints are required(01-Feb-2016):\n\n1. User management:\n\n 1. Authentication ('/auth')\n 2. User exists ('/user')\n\n2. Roster management:\n\n 1. Retrieve user roster ('/roster')\n\n3. Archive:\n\n 1. Store ('/archive')\n 2. Get ('/archive')\n\nThere must be one function for each endpoint that should be implemented like this:\n\n* user_authentication(username, password):\n\n - Returns `True` if authentication is valid\n - Returns `False` if authentication is *not* valid\n\n* user_exists(username):\n\n - Returns `True` if user exists\n - Returns `False` if not(or if it is not active)\n\n* retrieve_user_roster(username):\n\n - Returns the roster in JSON format\n - Returns `False` if user does not exist\n\n* archive_store(payload)\n\n - Returns `True` if message has been stored\n - Returns a string containing an error message if message has *not* been stored\n\n* archive_get(username[, peer, after, before, limit, chat_type])\n\n - Returns the message history in JSON format\n - Returns `False` in any other case\n\nFormats\n-------\n\n* retrieve_user_roster::\n\n {\"roster\": [\n {\"username\": \"CONTACT\", \n \"subscription\": \"both\", \n \"nick\": \"NICK\"}, \n ...\n ]}\n\n* archive_store::\n\n {\"username\": \"USERNAME1\",\n \"peer\": \"USERNAME2\",\n \"xml\": \"MESSAGE_STANZA\",\n \"body\": \"TEXT\",\n \"timestamp\": \"TIMESTAMP\",\n \"direction\": \"DIRECTION\"}\n\n* archive_get::\n\n {\"archive\": [{\"username\": \"USERNAME1\", \n \"peer\": \"USERNAME2\", \n \"xml\": \"MESAGE_STANZA\", \n \"body\": \"TEXT\", \n \"timestamp\": \"TIMESTAMP\", \n \"direction\": \"DIRECTION\"}, ...]\n \"count\" : MESSAGES_NUMBER\n }\n\n\nConsiderations\n--------------\n\nBased on ejabberd-saas's documentation:\n\n- If XMPP JID is \"userid@xmppdomain\", just pass \"userid\"\n- If XMPP JID of USER is \"userid@xmppdomain\", just pass \"xmppdomain\"\n- If an exception is raised from your handler it would be treated as a server error\n- Return HTTP 200 for the successful case\n- Return HTTP 401 if authentication fails\n- Return HTTP 401 if it's not the successful case\n- Return HTTP 500 for server errors, this is the Django's default behavior\n\nRunning Tests\n=============\n::\n\n python setup.py develop\n python runtests.py [tests.[.[.]]]\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/alej0varas/djabberd", "keywords": "", "license": "GPL v3", "maintainer": "", "maintainer_email": "", "name": "djabberd", "package_url": "https://pypi.org/project/djabberd/", "platform": "", "project_url": "https://pypi.org/project/djabberd/", "project_urls": { "Homepage": "https://github.com/alej0varas/djabberd" }, "release_url": "https://pypi.org/project/djabberd/0.9.6/", "requires_dist": [ "Django (>=1.8,<2)", "djangorestframework (<4,>=3.2)" ], "requires_python": "", "summary": "Generic application to handle https://ejabberd-saas.com/ Remote Data API calls", "version": "0.9.6" }, "last_serial": 4104005, "releases": { "0.9": [ { "comment_text": "", "digests": { "md5": "94fe7144c5da3aff1c0d5adfb31df8b1", "sha256": "3814263c810cc6d9aebce144509775918fc63a1467c2233eaee0d4517a14c3cc" }, "downloads": -1, "filename": "djabberd-0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "94fe7144c5da3aff1c0d5adfb31df8b1", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 4532, "upload_time": "2016-12-30T11:28:12", "url": "https://files.pythonhosted.org/packages/a9/51/ca0cf38644cd4a1100a160ff335905783bff26cc47d284d33405cea10be3/djabberd-0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "058a99cf6a1c43eedf43d34a0c1ae1f8", "sha256": "d36f36619752794c7a85407b079ff5b28cca600f5281bacba44eab4b2a65fe6b" }, "downloads": -1, "filename": "djabberd-0.9.tar.gz", "has_sig": false, "md5_digest": "058a99cf6a1c43eedf43d34a0c1ae1f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3725, "upload_time": "2016-12-30T11:28:10", "url": "https://files.pythonhosted.org/packages/b0/47/9ca64be7583354c2eb7cf35b14415ed2c76bf64270f8f53f0532a2f7f8d1/djabberd-0.9.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "766b6ec6a337b53fdd365e9787ee1bce", "sha256": "48c1e9acdb44a097494b0ce83e83502951e5e0568784172d890d19d797c1ed77" }, "downloads": -1, "filename": "djabberd-0.9.1-py3-none-any.whl", "has_sig": false, "md5_digest": "766b6ec6a337b53fdd365e9787ee1bce", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 9489, "upload_time": "2016-12-30T13:15:55", "url": "https://files.pythonhosted.org/packages/a2/49/e3c803fc968e820edddc09c5126e30a22fd0fa8c6181333e80cfe47c3c4f/djabberd-0.9.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "87d021a148ecb5eafac0f38b78a0c4ab", "sha256": "9bffce415f327bdfc851d391b5bc6662b87200b1d1c72bc7887bd67047669781" }, "downloads": -1, "filename": "djabberd-0.9.1.tar.gz", "has_sig": false, "md5_digest": "87d021a148ecb5eafac0f38b78a0c4ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5240, "upload_time": "2016-12-30T13:15:53", "url": "https://files.pythonhosted.org/packages/0b/8b/08697d0d495cbbcf9acd9a6f8177e6995e8b23770bb84a477ddc3359db2a/djabberd-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "648c6865e7bd8eb9f69aca6ea507e8d4", "sha256": "bed876bcc0e360679e5ecdc7333a92d0148c24d99ac6c186b192c577ba9f2fc2" }, "downloads": -1, "filename": "djabberd-0.9.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "648c6865e7bd8eb9f69aca6ea507e8d4", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 9539, "upload_time": "2017-07-05T11:28:57", "url": "https://files.pythonhosted.org/packages/86/48/bde6ad8839fc346febe8694320c4ce102fff8eedeb6b0b79d3bd606613dc/djabberd-0.9.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "37c64ffe7f74506d4ee53bc6a556e699", "sha256": "f8a089e4e0d97f80ac206b84c3911e5ccc6ed10ceda7a4238b03ab4d54c34d4c" }, "downloads": -1, "filename": "djabberd-0.9.2.tar.gz", "has_sig": false, "md5_digest": "37c64ffe7f74506d4ee53bc6a556e699", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5574, "upload_time": "2017-07-05T11:28:54", "url": "https://files.pythonhosted.org/packages/17/39/08250e2864a2890aa1a9474b24cf19514be000fd195c6a66ee8736719227/djabberd-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "c369ded7da1d59a7d1fe25258f5d673e", "sha256": "4e78919e7f965cb5b7bede3ce075a0d7410bed503e1adcaf53417787d5989b41" }, "downloads": -1, "filename": "djabberd-0.9.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c369ded7da1d59a7d1fe25258f5d673e", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 21904, "upload_time": "2018-02-13T11:07:19", "url": "https://files.pythonhosted.org/packages/bd/e5/6adafd05f07a8e6b5ad98d302056f0b694e206dd0cd89cd5b70d8503ab9f/djabberd-0.9.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "55b0466224fafe544672fcde45b28209", "sha256": "8b8253cf3a8a411eee9dde47dc34841bc27f866ae0c03456798e3b7cb6f6d5c9" }, "downloads": -1, "filename": "djabberd-0.9.3.tar.gz", "has_sig": false, "md5_digest": "55b0466224fafe544672fcde45b28209", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5661, "upload_time": "2018-02-13T11:07:16", "url": "https://files.pythonhosted.org/packages/e9/53/0c3c6f9db4c56dab86b7ad1b530eb4b10bb55c290db90f14580b2502a3e7/djabberd-0.9.3.tar.gz" } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "738aa8edda1d144e11fc97f2f5d3971b", "sha256": "ed895f6c49ae1fe70dcf6121207912044a4fe6fa7bba9ca62ca3075050fc1249" }, "downloads": -1, "filename": "djabberd-0.9.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "738aa8edda1d144e11fc97f2f5d3971b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21941, "upload_time": "2018-02-16T13:36:17", "url": "https://files.pythonhosted.org/packages/28/2a/7426f2530e31b3fe0d9792bfbae01b1bf96b3ae114ffae0d6c36982f2426/djabberd-0.9.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e170948c27e1f4c41930264e2cacc3cb", "sha256": "9cecb39d99265a1faaf7505e4741aa4787975b6ca9cec4a61ede88cfa163cbc1" }, "downloads": -1, "filename": "djabberd-0.9.5.tar.gz", "has_sig": false, "md5_digest": "e170948c27e1f4c41930264e2cacc3cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5638, "upload_time": "2018-02-16T13:36:20", "url": "https://files.pythonhosted.org/packages/9d/62/a2d88e531214d330560da2dc36dae4f1ecd44daf7173ac142e6dbaede57d/djabberd-0.9.5.tar.gz" } ], "0.9.6": [ { "comment_text": "", "digests": { "md5": "ac5ecad7c583c7fb343cc1af6d78bf01", "sha256": "0c443b30f302799aef21cf954e5a989f335a4d9e13905cefb762f89b8fd7c5fc" }, "downloads": -1, "filename": "djabberd-0.9.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ac5ecad7c583c7fb343cc1af6d78bf01", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21944, "upload_time": "2018-07-26T11:06:26", "url": "https://files.pythonhosted.org/packages/61/72/552d4adde14e5914f8cb760f57ab9541e6282a148f721a5c57422365a18f/djabberd-0.9.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d8924c5c93c471aa08a0417bb6c6ba9", "sha256": "284806662cc5afc3e79b6e3cc03895e282ea672616fd2e6a96b2abfbab1af603" }, "downloads": -1, "filename": "djabberd-0.9.6.tar.gz", "has_sig": false, "md5_digest": "3d8924c5c93c471aa08a0417bb6c6ba9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5645, "upload_time": "2018-07-26T11:06:28", "url": "https://files.pythonhosted.org/packages/db/2d/c7594621cd67f6a87d43438711899ded3f1846c8e7b22162e16308215e49/djabberd-0.9.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ac5ecad7c583c7fb343cc1af6d78bf01", "sha256": "0c443b30f302799aef21cf954e5a989f335a4d9e13905cefb762f89b8fd7c5fc" }, "downloads": -1, "filename": "djabberd-0.9.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ac5ecad7c583c7fb343cc1af6d78bf01", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21944, "upload_time": "2018-07-26T11:06:26", "url": "https://files.pythonhosted.org/packages/61/72/552d4adde14e5914f8cb760f57ab9541e6282a148f721a5c57422365a18f/djabberd-0.9.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d8924c5c93c471aa08a0417bb6c6ba9", "sha256": "284806662cc5afc3e79b6e3cc03895e282ea672616fd2e6a96b2abfbab1af603" }, "downloads": -1, "filename": "djabberd-0.9.6.tar.gz", "has_sig": false, "md5_digest": "3d8924c5c93c471aa08a0417bb6c6ba9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5645, "upload_time": "2018-07-26T11:06:28", "url": "https://files.pythonhosted.org/packages/db/2d/c7594621cd67f6a87d43438711899ded3f1846c8e7b22162e16308215e49/djabberd-0.9.6.tar.gz" } ] }