{ "info": { "author": "Juntos Somos Mais", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 2.1", "Intended Audience :: Developers", "Natural Language :: Portuguese (Brazilian)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.7" ], "description": "# Jsmsgr\n\nAn easy way to publish transactional messages (SMS, EMAIL, etc.) to Semaphore for their publication!\n\n# Requirements\n\nThis app requires two other apps to work properly:\n\n* jsm-user-services;\n* django-stomp.\n\nBoth apps must have been configured properly. Their configs are as follows, including `jsmsgr` lib:\n\n```python\n########################\n# Django settings file #\n########################\nimport os\n\nINSTALLED_APPS = [\n \"...\",\n \"django_stomp\",\n \"jsm_user_services\",\n \"jsmsgr\", # add this lib to the INSTALLED_APPS\n]\n\n# django-stomp config\nSTOMP_SERVER_HOST = os.getenv(\"STOMP_SERVER_HOST\")\nSTOMP_SERVER_PORT = os.getenv(\"STOMP_SERVER_PORT\")\nSTOMP_SERVER_USER = os.getenv(\"STOMP_SERVER_USER\")\nSTOMP_SERVER_PASSWORD = os.getenv(\"STOMP_SERVER_PASSWORD\")\nSTOMP_USE_SSL = os.getenv(\"STOMP_USE_SSL\", \"True\")\nLISTENER_CLIENT_ID = os.getenv(\"STOMP_CONSUMPTION_QUEUE\")\n\n# jsm-user-services config\nUSER_API_HOST = os.environ.get(\"USER_API_HOST\")\n```\n\n# Installing\n\n```\npip install jsmsgr \n```\n\n# Setup\n\nIn order to use the lib, add the following env variable which sets the final semaphore destination name:\n\n```python\nimport os\n\nJSMSGR_DESTINATION=os.getenv(\"JSMSGR_DESTINATION\")\n```\n\n# Using the lib\n\n## Publishing a single message\n\n\n```python\nfrom jsmsgr.api import send_msg_to_user\n\nmsg_dict = {\n \"msg\": \"Hello, there, ###_USER_NAME_###\",\n \"type\": \"sms\",\n \"external_id\": \"external123\",\n \"callback_mo_destination\": \"/queue/mo\",\n \"to_user_id\": \"a58c4853-2fa5-4891-80c7-f48287dbf403\", # user_id to send the msg to\n}\n\nsend_msg_to_user(msg_dict) # creates a publisher internally\nsend_msg_to_user(msg_dict, semaphore_publisher=your_publisher) # user your publisher\n```\n\n\n## Publishing a list of messages\n\n```python\nfrom jsmsgr.api import send_msgs_to_user\n\nmsgs_dict = {\n \"msgs\": [\n {\n \"msg\": \"Hello, there, ###_USER_NAME_###\",\n \"type\": \"sms\",\n \"external_id\": \"external123\",\n \"callback_mo_destination\": \"/queue/mo\",\n \"to_user_id\": \"a58c4853-2fa5-4891-80c7-f48287dbf403\", # user_id to send the msg to\n },\n {\n \"msg\": \"Hello world there, ###_USER_NAME_###\",\n \"subject\": \"sub1\",\n \"type\": \"email\",\n \"to_user_id\": \"a58c4853-2fa5-4891-80c7-f48287dbf403\",\n },\n {\n \"msg\": \"Hello world there once again, ###_USER_NAME_###\",\n \"subject\": \"sub1\",\n \"type\": \"email\",\n \"to_user_id\": \"a58c4853-2fa5-4891-80c7-f48287dbf403\",\n } \n ]\n}\n\nsend_msgs_to_user(msgs_dict) # creates a publisher internally\nsend_msgs_to_user(msgs_dict, semaphore_publisher=your_publisher) # user your publisher\n```\n\n## Replacing tags in the original message\n\nSome tags are used to perform string replacements, such as the user name, in the original message. Some tags\nare the following:\n\n\n`###_USER_NAME_###`: Replaced by user name (name of the user with the given `to_user_id` parameter value).\n\nExample:\n\n```\n\"Hello there, ###_USER_NAME### !\"\n```\n\nIs sent as:\n\n```\n\"Hello there, Igor !\"\n```\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/juntossomosmais/jsmsgr", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "jsmsgr", "package_url": "https://pypi.org/project/jsmsgr/", "platform": "", "project_url": "https://pypi.org/project/jsmsgr/", "project_urls": { "Homepage": "https://github.com/juntossomosmais/jsmsgr" }, "release_url": "https://pypi.org/project/jsmsgr/0.0.6/", "requires_dist": [ "jsm-user-services (>=0.2.0)", "django (>=1.11)", "django-stomp (>=0.0.19)" ], "requires_python": "", "summary": "Django app to make sending transactional messages to Semaphore a breeze!", "version": "0.0.6" }, "last_serial": 5712107, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "df3faf3227d98562b6f6636ceb247889", "sha256": "b4f08a7b473929a9d2cadfb7cce6f95828b2cc5473f3ef6cbb6f6cd4700e2f0d" }, "downloads": -1, "filename": "jsmsgr-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "df3faf3227d98562b6f6636ceb247889", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4543, "upload_time": "2019-08-10T19:03:28", "url": "https://files.pythonhosted.org/packages/fc/6d/65aeabd592ea4c40d4f310ef77cac6478d349f72eb0bbc8a1c00dbc69f23/jsmsgr-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1784d01beb36ba21cb3a45e8bb7a7cde", "sha256": "1a6dca0648dbbde725bfeffd6f048e40357d0d97c46f53437049c726e1f47ce0" }, "downloads": -1, "filename": "jsmsgr-0.0.1.tar.gz", "has_sig": false, "md5_digest": "1784d01beb36ba21cb3a45e8bb7a7cde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3853, "upload_time": "2019-08-10T19:03:30", "url": "https://files.pythonhosted.org/packages/62/80/186ca3c24a7ddb307230e3b2704dee9a2179d29edd4f51847a70a3cb51f3/jsmsgr-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "a7becf543cb56cf98e047735c3a03e3f", "sha256": "cf0bea8a338a1b050163ce37cf7bae5619a343e552b953f0c746d047e5cb23fc" }, "downloads": -1, "filename": "jsmsgr-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a7becf543cb56cf98e047735c3a03e3f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4566, "upload_time": "2019-08-12T12:55:02", "url": "https://files.pythonhosted.org/packages/a3/bf/bdc26ba75d21f8457ae4452e180e2e0b11fea2da4c8b68ceab1a7562d166/jsmsgr-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb756c84b73cb06d6bf184956a5e4bc6", "sha256": "460d1cf597b03d11e3b13c644ff0c3df86fe4431d0a95eead21272227ee2043a" }, "downloads": -1, "filename": "jsmsgr-0.0.2.tar.gz", "has_sig": false, "md5_digest": "eb756c84b73cb06d6bf184956a5e4bc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3896, "upload_time": "2019-08-12T12:55:05", "url": "https://files.pythonhosted.org/packages/a3/5d/2d0fa2e7321a18a8592f5e3709ddce396fb64610292d9e52ae1487b53cbe/jsmsgr-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "3832c41b232318ad377943924e46a914", "sha256": "030b9f1b109da52994ccb87c3ce0e95d786521658f4d4e2c4da604a442136e55" }, "downloads": -1, "filename": "jsmsgr-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "3832c41b232318ad377943924e46a914", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4570, "upload_time": "2019-08-12T13:01:00", "url": "https://files.pythonhosted.org/packages/d3/79/4bfa3d3c0477042e5fbf4e27018501c5311e8c607113c9137861bd07f291/jsmsgr-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e58988d6f5127947e98f1c13836a3b18", "sha256": "d511a266e6d9029b0a8677cf3c60873ce9f1558eef036480906f5172e1587ff5" }, "downloads": -1, "filename": "jsmsgr-0.0.3.tar.gz", "has_sig": false, "md5_digest": "e58988d6f5127947e98f1c13836a3b18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3903, "upload_time": "2019-08-12T13:01:03", "url": "https://files.pythonhosted.org/packages/34/08/62772831a723d303d0fb2cd4a7d675911a76f7f201f3e01e55c0e2fab78e/jsmsgr-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "59fcff08106a7a1e816e6d0fdb157cac", "sha256": "b420a9ef4aeb8f7ce0598bede33891aa2981e1e1f65bc808fe6bc2cf05eb338d" }, "downloads": -1, "filename": "jsmsgr-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "59fcff08106a7a1e816e6d0fdb157cac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7930, "upload_time": "2019-08-12T13:45:49", "url": "https://files.pythonhosted.org/packages/3c/41/75e4e1cd99f34fdcf2601b8e193ff482bc449039508c8c3354dfd959f18c/jsmsgr-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c5e79ed03eb783b473e07bc22f4b8cc7", "sha256": "5181a40dc21f7dea28c89880d89674f549fa13eeaa7f7e8b68602d2a849c5d0c" }, "downloads": -1, "filename": "jsmsgr-0.0.4.tar.gz", "has_sig": false, "md5_digest": "c5e79ed03eb783b473e07bc22f4b8cc7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5438, "upload_time": "2019-08-12T13:45:52", "url": "https://files.pythonhosted.org/packages/dd/fa/c5b1057aaa68d014c3b3ed5236523cbc3f992ab2eed09ec7047e915b7361/jsmsgr-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "85f146228b7bf2c9aeac2c5086c5434a", "sha256": "50c3930b5fb49034e59948a7cd4e36eeb919755195199fb97d03be9619183c66" }, "downloads": -1, "filename": "jsmsgr-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "85f146228b7bf2c9aeac2c5086c5434a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7941, "upload_time": "2019-08-12T16:38:27", "url": "https://files.pythonhosted.org/packages/29/26/7b54c4e2c8fa661b8839fc3725caca389e6495a6d9995927f744c60a8595/jsmsgr-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5fa43bf0ccb6a38843ca991a176a694f", "sha256": "f39652148bbcba5cf5709dc3b88690dcf0088756c21e0c1dfd812ae13bd68f58" }, "downloads": -1, "filename": "jsmsgr-0.0.5.tar.gz", "has_sig": false, "md5_digest": "5fa43bf0ccb6a38843ca991a176a694f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5437, "upload_time": "2019-08-12T16:38:28", "url": "https://files.pythonhosted.org/packages/29/5b/fa4b4060df2d1ef48c1ec1ef240a56c5d07b5a5ab099a7ba15cefe6ae0d5/jsmsgr-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "9fff6991f0701e8bf23abdd0e6af993a", "sha256": "687e8d7f18eac29ac9227b4e606feade74cbbd2c417251b64e0048558a00d45f" }, "downloads": -1, "filename": "jsmsgr-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "9fff6991f0701e8bf23abdd0e6af993a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8006, "upload_time": "2019-08-21T22:44:43", "url": "https://files.pythonhosted.org/packages/5f/17/ce4198ec155c6384ce883601c8f444cd160e705ebd58c81ad19a06add32b/jsmsgr-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c9b7e9c02750115677180caa1b5633a7", "sha256": "4151965ebadd8f12ddf010d7088402590548e2e6d4ece2e2a84ba86bfc82469c" }, "downloads": -1, "filename": "jsmsgr-0.0.6.tar.gz", "has_sig": false, "md5_digest": "c9b7e9c02750115677180caa1b5633a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5490, "upload_time": "2019-08-21T22:44:45", "url": "https://files.pythonhosted.org/packages/d7/ee/86a697e965141e16b009c266bb6553500db30abea54258a2c51219dffcad/jsmsgr-0.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9fff6991f0701e8bf23abdd0e6af993a", "sha256": "687e8d7f18eac29ac9227b4e606feade74cbbd2c417251b64e0048558a00d45f" }, "downloads": -1, "filename": "jsmsgr-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "9fff6991f0701e8bf23abdd0e6af993a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8006, "upload_time": "2019-08-21T22:44:43", "url": "https://files.pythonhosted.org/packages/5f/17/ce4198ec155c6384ce883601c8f444cd160e705ebd58c81ad19a06add32b/jsmsgr-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c9b7e9c02750115677180caa1b5633a7", "sha256": "4151965ebadd8f12ddf010d7088402590548e2e6d4ece2e2a84ba86bfc82469c" }, "downloads": -1, "filename": "jsmsgr-0.0.6.tar.gz", "has_sig": false, "md5_digest": "c9b7e9c02750115677180caa1b5633a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5490, "upload_time": "2019-08-21T22:44:45", "url": "https://files.pythonhosted.org/packages/d7/ee/86a697e965141e16b009c266bb6553500db30abea54258a2c51219dffcad/jsmsgr-0.0.6.tar.gz" } ] }