{ "info": { "author": "Fr\u00e9d\u00e9ric Aoustin", "author_email": "fraoustin@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Documentation" ], "description": "ablog_api\r\n=========\r\n\r\nablog_api is a web server (use Flask) for manage ablog site\r\n\r\nInstallation\r\n------------\r\n\r\n.. warning::\r\n\r\n use Python 3\r\n\r\n::\r\n\r\n pip install ablog_api\r\n \r\nOr\r\n\r\n::\r\n\r\n git clone https://github.com/fraoustin/ablog_api.git\r\n cd ablog_api\r\n python setup.py install\r\n\r\nUsage\r\n-----\r\n\r\ncreate a ablog\r\n\r\n::\r\n\r\n cd\r\n mkdir blog\r\n cd blog\r\n ablog create\r\n ablog build\r\n\r\nfor run ablog_api\r\n\r\n::\r\n\r\n cd\r\n ablog-api --help\r\n \r\n Usage: ablog-api [options] args\r\n\r\n run a api server for ablog\r\n\r\n Options:\r\n --version show program's version number and exit\r\n -h, --help show this help message and exit\r\n -H HOST, --host=HOST the hostname to listen on\r\n -p PORT, --port=PORT the port of the webserver\r\n -c CONF, --conf=CONF file configuration\r\n -d DIR_ABLOG, --dir=DIR_ABLOG\r\n dir of conf ablog\r\n -l LEVEL, --log=LEVEL\r\n level of log: DEBUG,INFO,WARNING,CRITICAL,ERROR\r\n \r\n by Frederic Aoustin\r\n \r\n ablog-api -d ./blog\r\n\r\n=============== =================================\r\nURL explain\r\n=============== =================================\r\n/api/doc documentation of Api\r\n/api/login log a user in\r\n/api/logout logout\r\n/api/version get version\r\n/api/ls list of posts\r\n/api/rm del post\r\n/api/edit update post\r\n/api/build load ablog build\r\n/api/clean load ablog clean\r\n/api/get get value of post\r\n/api/conf get value of conf\r\n/api/upload upload file\r\n/api/download download file\r\n=============== =================================\r\n\r\nConfiguration\r\n-------------\r\n\r\nlist of parameters\r\n\r\n- ABLOG_HOST (default 0.0.0.0)\r\n- ABLOG_PORT (default 5000)\r\n- ABLOG_CONF_DIR (default .)\r\n- ABLOG_DOCTREES (from conf of ablog if null)\r\n- ABLOG_SRC_DIR (default ABLOG_CONF_DIR)\r\n- ABLOG_BUILDER (from conf of ablog if null)\r\n- ABLOG_WEBSITE (from conf of ablog if null)\r\n- ABLOG_LEVEL_LOG (default logging.DEBUG)\r\n- ABLOG_USER_XX OR USERS (default guest/guest) \r\n- ABLOG_ALLOWED_EXTENSIONS (default ['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif']) \r\n\r\nload configuration from 3 ways (in order) \r\n\r\n- from ~/.ablog/conf.py, sample\r\n\r\n::\r\n\r\n USERS = [{'id':0, 'username':'tutu','password':'toto'},\r\n {'id':1, 'username':'tyty','password':'titi'},\r\n ]\r\n ABLOG_PORT=80\r\n\r\n\r\n- from env\r\n\r\n::\r\n\r\n export ABLOG_PORT=80\r\n export ABLOG_USER_0='tutu:toto'\r\n export ABLOG_USER_1='tyty:titi'\r\n\r\n- from command line for ABLOG\r\n\r\n::\r\n\r\n ablog-api -p 80\r\n\r\nTest\r\n----\r\n\r\n.. warning::\r\n\r\n use Python 3\r\n\r\n::\r\n\r\n\r\n git clone https://github.com/fraoustin/ablog_api.git\r\n cd ablog_api\r\n python setup.py install\r\n cd test/blog\r\n ablog build\r\n cd ../../\r\n python -m unittest discover -s test/\r\n\r\nwith requests module\r\n\r\n::\r\n\r\n import requests, json\r\n r = requests.post('http://127.0.0.1:5000/api/login', data=json.dumps({\"username\":\"guest\", \"password\":\"guest\"}))\r\n r = requests.post('http://127.0.0.1:5000/api/version') \r\n\r\n\n\nV. 0.7.1\n========\n\ncorrection of title\n\nV. 0.7.0\n========\n\noptimize, remove pickle\n\nV. 0.6.2\n========\n\noptimize pickle\n\nV. 0.6.1\n========\n\nadd try except\nchange format date\n\nV. 0.6.0\n========\n\nadd optimize\n\nV. 0.5.1\n========\n\ncorrection of python version\n\nV. 0.5.0\n========\n\nadd python version\n\nV. 0.4.0\n========\n\nchange manage get (by data)\n\nV. 0.3.0\n========\n\nchange manage edit (by data)\n\nV. 0.2.0\n========\n\ncorrection from dev ablog_cli\n\nV. 0.1.0\n========\n\nfirst version cf readme\n\n\nV. 0.0.1\n========\n\n- init", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fraoustin/ablog_api.git", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "ablog_api", "package_url": "https://pypi.org/project/ablog_api/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ablog_api/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/fraoustin/ablog_api.git" }, "release_url": "https://pypi.org/project/ablog_api/0.7.1/", "requires_dist": null, "requires_python": null, "summary": "ablog_api description", "version": "0.7.1" }, "last_serial": 2319112, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "ebb8cf37d0edd555ff48caef5fa44fba", "sha256": "dc7af630e03593dc533045653e19724374c70b19efc231fd513d18607d5505b7" }, "downloads": -1, "filename": "ablog_api-0.2.0.tar.gz", "has_sig": false, "md5_digest": "ebb8cf37d0edd555ff48caef5fa44fba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17002, "upload_time": "2016-08-18T17:05:11", "url": "https://files.pythonhosted.org/packages/6c/4d/b91127cd4a08fffdda3e7ce1d722fffbba3d435b5b5255d0d88d4c7c553a/ablog_api-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "de08144c9971d16a2ad204dc7f5d6a4c", "sha256": "9debe48ad7353fe26210af7917ef0f52e8c89843b1fb93b74fa47f156e5c7c35" }, "downloads": -1, "filename": "ablog_api-0.3.0.tar.gz", "has_sig": false, "md5_digest": "de08144c9971d16a2ad204dc7f5d6a4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28382, "upload_time": "2016-08-24T18:51:32", "url": "https://files.pythonhosted.org/packages/6f/b7/15bae1820c403b8c04a5c02348b3140b7ddd3cbb6adce26dec96061b7b41/ablog_api-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "2fb5361c9d6fd438dfc4855ecd392237", "sha256": "a1d9330f9c71ea9b9403daa94f91b757a830db42970691d6697b5a4c237ac43d" }, "downloads": -1, "filename": "ablog_api-0.4.0.tar.gz", "has_sig": false, "md5_digest": "2fb5361c9d6fd438dfc4855ecd392237", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28168, "upload_time": "2016-08-25T16:53:14", "url": "https://files.pythonhosted.org/packages/92/56/a96090896a6884939f5ba064363d616070f1761050c6b4b655575641d1c2/ablog_api-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "fb08fd47008c9519a248e7c4389ae1ad", "sha256": "1bbd931976c9f83dfa741a7db82a76cba41f2b777495e4c403f4d73b8d76eec9" }, "downloads": -1, "filename": "ablog_api-0.5.0.tar.gz", "has_sig": false, "md5_digest": "fb08fd47008c9519a248e7c4389ae1ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28217, "upload_time": "2016-08-25T17:41:16", "url": "https://files.pythonhosted.org/packages/46/d4/357d164f9e26aba3571841a294b1dd83cae9b948ced2208a5ef8563a449d/ablog_api-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "207982086441c8b74acc3afa1b0f18a7", "sha256": "f10dc291aa4747e19450c7a568a368ea3b07b25509031ff8fd1c118c638c5e1a" }, "downloads": -1, "filename": "ablog_api-0.5.1.tar.gz", "has_sig": false, "md5_digest": "207982086441c8b74acc3afa1b0f18a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28250, "upload_time": "2016-08-26T15:30:48", "url": "https://files.pythonhosted.org/packages/b4/24/e962b54d967021218dff762689e1dadc9035f06f18d57e50ab6f0f4a43b8/ablog_api-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "08f743f53b0fe5989962e405842697cc", "sha256": "7a8d1f81b01a0ec1e78dfa184d7523cd0f1ac3786918ea285e4509991d321211" }, "downloads": -1, "filename": "ablog_api-0.6.0.tar.gz", "has_sig": false, "md5_digest": "08f743f53b0fe5989962e405842697cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28699, "upload_time": "2016-08-29T18:31:27", "url": "https://files.pythonhosted.org/packages/aa/d1/2aefaf36abcf40e4f247180fb493782915a6643412208cb2f4a4088e04af/ablog_api-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "dbc6e12ec644a14d30697b12b30868fd", "sha256": "e9493441a477b4e76dcd01458479e41f0c8d51d1e2641b470c48a93ceaca966d" }, "downloads": -1, "filename": "ablog_api-0.6.1.tar.gz", "has_sig": false, "md5_digest": "dbc6e12ec644a14d30697b12b30868fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28949, "upload_time": "2016-08-30T17:27:39", "url": "https://files.pythonhosted.org/packages/bb/7b/daf1294648f7ab59081585f94aac5afc12c0b64c2ae17bc978a7cd1680ec/ablog_api-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "8dbe25db6ad510f4b1d59cc4f777e46d", "sha256": "6613995108216364139c6180318422c625ebde46744e3e9dfe6121386a47bec5" }, "downloads": -1, "filename": "ablog_api-0.6.2.tar.gz", "has_sig": false, "md5_digest": "8dbe25db6ad510f4b1d59cc4f777e46d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29082, "upload_time": "2016-08-31T05:34:21", "url": "https://files.pythonhosted.org/packages/67/3a/ed2015debaff54343b99d7ccad3284e2971ed7b4c56fbdcfb7189fdd21d0/ablog_api-0.6.2.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "a79f3a73fd7561ad01ae56f7330fe11a", "sha256": "88f7e10d52287dbbc3a03ced39f988a75acd653d3b65bacefaac941b716df3b9" }, "downloads": -1, "filename": "ablog_api-0.7.0.tar.gz", "has_sig": false, "md5_digest": "a79f3a73fd7561ad01ae56f7330fe11a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29818, "upload_time": "2016-08-31T19:19:57", "url": "https://files.pythonhosted.org/packages/93/6f/ceaad0c319e9c81cf962ba4d33fb242f7ebd03e34e1b32c5565795fb5736/ablog_api-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "c93830937525228914aaac4e3f771308", "sha256": "0277eb9d3ddb5be4d3e10fee8813faeedd757a5db6a4580c3d2f1e4ab1243431" }, "downloads": -1, "filename": "ablog_api-0.7.1.tar.gz", "has_sig": false, "md5_digest": "c93830937525228914aaac4e3f771308", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29893, "upload_time": "2016-09-01T17:35:05", "url": "https://files.pythonhosted.org/packages/f8/ef/4e93b51d23f3a4898ee0d2b33d0f4e60630f49f3a1d6cf4c8052546eea51/ablog_api-0.7.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c93830937525228914aaac4e3f771308", "sha256": "0277eb9d3ddb5be4d3e10fee8813faeedd757a5db6a4580c3d2f1e4ab1243431" }, "downloads": -1, "filename": "ablog_api-0.7.1.tar.gz", "has_sig": false, "md5_digest": "c93830937525228914aaac4e3f771308", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29893, "upload_time": "2016-09-01T17:35:05", "url": "https://files.pythonhosted.org/packages/f8/ef/4e93b51d23f3a4898ee0d2b33d0f4e60630f49f3a1d6cf4c8052546eea51/ablog_api-0.7.1.tar.gz" } ] }