{ "info": { "author": "Raghu Rajagopalan", "author_email": "raghu.nospam@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP :: Site Management", "Topic :: Utilities" ], "description": "EasyBlogger\n===========\n\n|Build Status| |Coverage Status|\n\nBlog to blogger from the command line.\n\nWhy not googlecl?\n-----------------\n\nI tried. Didn\u00e2\u20ac\u2122t work. ``googlecl`` is just too rough and isn\u00e2\u20ac\u2122t easy to\nscript. For ex:\n\n1. No way to update a post\n2. Doesn\u00e2\u20ac\u2122t work with blog and post ids.\n3. and others\u00e2\u20ac\u00a6\n\nSo what does this do?\n---------------------\n\n1. Provides a command line tool and create, update or delete posts on\n Blogger hosted blogs.\n2. Post content can be piped in - so you can use your favourite way to\n generate html markup\n3. Pandoc goodness - so that you can write your doc in any of the input\n formats that Pandoc supports\n4. More Pandoc goodness - supports pandoc filters so you can do nice\n things like create diagrams with\n ```mermaid-filter`` `__\n5. AsciiDoc support - Supports asciidoc as a source format as well using\n ``asciidoctor`` & ``asciidoctor-diagram``\n6. You can also export your existing posts to your favourite lightweight\n markup format like markdown etc as individual files. Then edit them\n in a real editor, and publish them back! All pandoc output formats!\n7. Understands specially marked comments - so you can just hand it a\n file and it\u00e2\u20ac\u2122ll figure out what to do - great for posting from vim\n etc.\n\nInstallation, Configuration and Usage\n=====================================\n\nInstallation\n------------\n\n.. code:: bash\n\n # Now live on PyPI\n sudo pip install EasyBlogger\n\nThis installs EasyBlogger and its dependencies. It also installs the\n``easyblogger`` script\n\nPandoc\n~~~~~~\n\nInstall `pandoc `__ If\nyou\u00e2\u20ac\u2122re on cygwin, you can just install the windows dl and put\n``pandoc.exe`` somewhere on path\n\nOAuth2 API Authentication and Authorization\n-------------------------------------------\n\nThe tool needs to be granted access to manage the blog. Google APIs use\nOAuth2.\n\n1. First, get your blog id. You can find the blog id by viewing the\n source. For ex. on my blog, I have the following lines near the top:\n\n .. code:: html\n\n \n \n \n\n On the last link, the number ``7642453`` is the blogId\n\n2. Authorize\n\n **On Linux**\n\n .. code:: bash\n\n # run through OAuth2 hoops... following needs to be run as root\n # First find your blog Id\n\n easyblogger --blogid get\n\n # This will first open a browser and ask you to sign in and\n # approve access to your blog\n\n This will open a browser. You may see a chrome warning that it can\u00e2\u20ac\u2122t\n be run as root - but you can ignore that. Once you authorize,\n ``~/.easyblogger.credentials`` is created with your OAuth2 token\n\n **On Windows**\n\n If your ``PATH`` variable has the python Scripts folder, then you\n should just be able to run ``easyblogger --blogid get`` in a\n command window. If not, then open a ``cmd`` window and navigate to\n ``\\Scripts`` and run\n ``python easyblogger --blogid get``\n\n3. All set!\n\n That\u00e2\u20ac\u2122s it - you\u00e2\u20ac\u2122re all set!\n\n You will need to repeat the OAuth2 authorization process if you ever\n change the blog, or revoke permissions or if the auth token expires.\n\nVIM Configuration\n-----------------\n\n1. Stick the following in your ``~/.vimrc``\n\n .. code:: vim\n\n func! s:systemwrapper(cmd)\n echom a:cmd\n let output=system(a:cmd)\n return output\n endfunction\n func! BlogSave(file)\n \" to debug, replace with\n \" exec \"!easyblogger file \" . a:file\n let output=s:systemwrapper(\"easyblogger file \". a:file)\n echom output\n endfunction\n command! BlogSave call BlogSave(expand(\"%:p\"))\n\n2. Start writing a post - create a markdown file (.md) with frontmatter\n in a comment\n\n .. code:: markdown\n\n \n\n Note that as of Easyblogger 3.0, the preferred frontmatter format is\n borrowed from Hugo. The original frontmatter header in earlier\n versions is deprecated. However, if ``easyblogger`` finds header\n using the older keys, then it will use them. While there should be no\n reason to prefer the old format, if you need that for whatever\n reason, you must specify ``--legacy-frontmatter`` flag in the ``get``\n subcommand. For more details, refer to the Frontmatter section\n\n*LEGACY FRONTMATTER FORMAT* **still supported but you\u00e2\u20ac\u2122re encouraged to\nuse the new format**\n\n::\n\n \n\n2. If you prefer using ``asciidoc``, then use the following comment\n header:\n\n .. code:: asciidoc\n\n +++\n id:\n title : title\n labels : [any, comma, separated, labels]\n format : asciidoc\n published: true\n +++\n\n*LEGACY FRONTMATTER FORMAT* **still supported but you\u00e2\u20ac\u2122re encouraged to\nuse the new format**\n\n.. code:: asciidoc\n\n ////\n PostId:\n Title : title\n Labels : any, comma, separated, labels\n Format : asciidoc\n Published: true\n ////\n\nAsciidoc does not require filters - it has a better system of plugins.\nJust ensure that you have installed ``asciidoctor`` and\n``asciidoctor-diagram`` gems\n\n1. When done, call ``:BlogSave`` and your blog will be published\n\nUsage\n-----\n\nGetting posts\n~~~~~~~~~~~~~\n\n1. Get a list of posts post Id, title and url are output by default.\n\n .. code:: bash\n\n # get a list of posts\n # param : Blog Id - look at your blog's atom pub url - its the number in the url.\n easyblogger --blogid 7642453 get\n\n 4424091495287409038,Moving from Wordpress.com to Blogger,http://blog.rraghur.in/2013/08/moving-from-wordpresscom-to-blogger.html\n ...\n ...\n # 10 rows shown\n\n2. Filter by labels or search; specify ``max`` results to be returned.\n\n .. code:: bash\n\n # get only the last 5 with tag 'vim'\n # you can specify multiple tags - separate them with commas\n easyblogger --blogid 7642453 get -l vim -c 5\n\n # search for all posts with 'vim'\n easyblogger --blogid 7642453 get -q vim -c 5\n\n3. Get a specific post by its id\n\n .. code:: bash\n\n # get a specific post by id\n easyblogger --blogid 7642453 get -p 3728334747597998671\n\n4. Get a specific post by its url\n\n .. code:: bash\n\n # get a specific post by url\n easyblogger --blogid 7642453 get -u https://blog.rraghur.in/2015/06/js-development-2015.html\n\n5. Control which fields are printed out.\n\n .. code:: bash\n\n # output field control\n easyblogger get -p 3728334747597998671 -f \"id,title,url,labels\"\n 3728334747597998671,Rewriting history with Git,http://blog.rraghur.in/2012/12/rewriting-history-with-git.html,[u'git', u'HOWTO', u'Tips']\n\n6. Output in (lightweight) markup - very good for updates.\n\n - If its a single post, then its printed to console.\n\n .. code:: bash\n\n easyblogger --blogid 7642453 get -p 3728334747597998671 -d markdown\n\n It also includes a header that will allow you to edit the file and\n update the post back with the file subcommand below\n\n - if more than one post, then each post is written to a file (name\n derived from the title)\n\n .. code:: bash\n\n easyblogger --blogid 7642453 get -l vim -d markdown\n\n - If you\u00e2\u20ac\u2122d like to get a single post as a file, specific ``-w`` or\n ``--write-files``\n\n .. code:: bash\n\n easyblogger --blogid 7642453 get -p 3728334747597998671 -d markdown --write-files\n\n - Supports all mark up formats supported by ``pandoc``\n\n .. code:: bash\n\n # Output formats: native, json, docx, odt, epub, epub3, fb2, html, html5, s5,\n slidy, slideous, dzslides, docbook, opendocument, latex, beamer,\n context, texinfo, man, markdown, markdown_strict,\n markdown_phpextra, markdown_github, markdown_mmd, plain, rst,\n mediawiki, textile, rtf, org, asciidoc\n\nDefault Args file\n~~~~~~~~~~~~~~~~~\n\nSpecifying \u00e2\u20ac\u201cblogid each time is just painful. You can set a default\nblogId by creating a default args file ``~/.easyblogger`` as follows:\n\n.. code:: bash\n\n cat > ~/.easyblogger\n --blogid\n 234567\n\nAnd now you can type the command as:\n\n.. code:: bash\n\n easyblogger get\n\nYou can override the args from file by providing the argument on the\ncommand line\n\nCreate a new blog post\n~~~~~~~~~~~~~~~~~~~~~~\n\nNote: [STRIKEOUT:Blogger API v3 does not support/expose API for creating\nposts as drafts. Please ask for this feature on Google\u00e2\u20ac\u2122s blogger dev\ngroup - I\u00e2\u20ac\u2122ll add that capability once/if it becomes available.]\n\nBlogs are created as drafts by default now. You can override this with\nthe ``--publish`` flag which will post the blog directly (current\nbehavior)\n\n.. code:: bash\n\n # create a post from stdin with title and labels\n\n\n easyblogger post -t \"Hello World\" -l \"python,hello\" -c \"Hello world!!!\"\n\nPipe out from any HTML generation mechanism\n\n.. code:: bash\n\n pandoc -f markdown - | easyblogger --blogid 6136696198547817747 post -t 'Hello from Pandoc' -f -\n # Hello from Pandoc\n this is a nice long post\n\n 3295765957555899963\n\nOr just tell easyblogger to convert from ``markdown`` with the \u00e2\u20ac\u201cformat\narg\n\n.. code:: bash\n\n # --format supports\n # native,json,markdown,\n # markdown_strict,markdown_phpextra,\n # markdown_mmd,rst,mediawiki,\n # docbook,textile,html,latex\n\n easyblogger post -t 'Hello from Pandoc' --format markdown -c \"##heading2\"\n\n 2342323423423423423\n\nUpdate posts\n~~~~~~~~~~~~\n\nUpdate works with a patch request - only specify what you need changed\nBlogger API does not allow the blog permalink to be updated - so in case\nyou want to change that you\u00e2\u20ac\u2122ll need to delete and create another post\n(though you will probably lose comments etc - so only viable if you\u00e2\u20ac\u2122ve\njust published it)\n\n.. code:: bash\n\n easyblogger update -t 'A new title' -l \"new,labels\" 3295765957555899963\n\nYou can also update the contents by passing in the ``--file`` argument.\nPiping it in works too - use ``--file -``; like so\n\n.. code:: bash\n\n pandoc -f markdown - | easyblogger update -t 'Hello from Pandoc' --file - 3295765957555899963\n # This is h1\n ## this is h2\n\n Some para text\n [EOF]\n\nPosting or Updating from a file\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nI wrote ``easyblogger`` script primarily so I can blog from Vim. If your\nfile has properly formatted comments, then ``EasyBlogger`` will figure\nout what to do (insert or update) based on the metadata.\n\nSo, you can author a post like so:\n\n.. code:: bash\n\n cat MyBlogPost.md\n \n # This is my content\n\nThe example above uses legacy frontmatter format. You\u00e2\u20ac\u2122re encouraged to\nuse the new format which allows for additional metadata.\n\nAnd post it to your blog like so:\n\n.. code:: bash\n\n easyblogger file MyBlogPost.md\n\nAnd ``easyblogger`` will update your post doc back with the ``postId``\nof the generated post. Now, if you edit the doc and publish again with\nthe same command, your post will be updated.\n\nDeleting posts\n~~~~~~~~~~~~~~\n\nTo delete posts, you need to specify the post id\n\n.. code:: bash\n\n easyblogger delete 234546720561632959\n\nFrontmatter\n===========\n\nAs you\u00e2\u20ac\u2122ve seen, easyblogger relies on a comment header with specific\nkeys for metadata about the post as well as to drive the behavior of the\nprogram. When ``EasyBlogger`` started, I had come up with my own set of\n(minimal) keys. Somewhere in the 2.x days, I built support for the\nfrontmatter format as defined in Hugo project(along with some specific\nkeys used for Blogger) - this is especially useful if you want to\nmigrate off Blogger to Hugo.\n\nThe header format can be either TOML or YAML. The new frontmatter keys\nare the default both for input and output.\n\nOutput Rules\n------------\n\nWhen writing to output files with ``get``, easyblogger will write the\nheader in 1. Document format - asciidoc: Header in TOML enclosed by\n``+++`` 2. Legacy header keys - only if the command line specifies the\n``--legacy-frontmatter`` flag\n\nInput Rules\n-----------\n\n1. Header enclosed with ``+++`` - parse as TOML\n2. Header encosed with HTML comment or ``////`` - parse as YAML\n3. If doc is TOML, then default format is supposed to be \u00e2\u20ac\u02dcasciidoc\u00e2\u20ac\u2122 if\n not specified.\n4. If doc is YAML, then default format is supposed to be \u00e2\u20ac\u02dcmarkdown\u00e2\u20ac\u2122 if\n not specified.\n\nIf any of the legacy frontmatter keys (``Title``, ``PostId`` etc) are\npresent, then the legacy keys are expected. Otherwise the new style Hugo\ncompliant headers are expected.\n\nFrontmatter keys\n~~~~~~~~~~~~~~~~\n\n- New style (Hugo)\n\n .. code:: toml\n\n +++\n title = \"Proxy PAC file for work\"\n id = \"293493242234\"\n tags = [ \"Rants\", \"Tips\", \"Utilities\",]\n aliases = [ \"http://niftybytes.blogspot.com/2018/04/proxy-pac-file-for-work_30.html\",]\n publishdate = \"2018-04-30T12:42:00+05:30\"\n draft = false\n date = \"2018-04-30T12:42:00+05:30\"\n lastmod = \"2018-04-30T12:47:37+05:30\"\n +++\n\n- Old style (Easyblogger)\n\n ::\n\n \n\nUsing EasyBlogger as a library\n==============================\n\nUsing EasyBlogger class\n-----------------------\n\nFeel free to use the EasyBlogger class in your own tool/utility whatever\nelse. Just remember:\n\n1. Use your own API client id (see below)\n2. Include an attribution and a link to EasyBlogger - not mandatory -but\n just be nice:)\n\nClient API ids\n~~~~~~~~~~~~~~\n\nIf you\u00e2\u20ac\u2122re using EasyBlogger class in your tool/utility, please then\nregister for API access at `Google\u00e2\u20ac\u2122s API\nconsole `__. Create a client id\nand secret key at the API access page and request for Blogger API\naccess. Once you have API access authorized, you\u00e2\u20ac\u2122re good to get started.\nJust create the ``EasyBlogger`` constructor with your client id and\nsecret\n\nIf you\u00e2\u20ac\u2122re integrating by shelling out, then stick the API key and client\nid in the command line with ``--clientid`` and ``--secret`` args. You\ncan also stick them in the ``~/.easyblogger`` file to avoid specifying\nthem each time\n\nDev Guide\n=========\n\n1. Clone the repo\n2. Start a virtualenv - ``virtualenv .dev``\n3. Activate it - ``.dev\\Scripts\\activate``\n4. Install dependencies - ``pip install -r requirements.txt``\n5. ``pip install -e .``\n\nRunning tests\n~~~~~~~~~~~~~\n\n1. Exit out of any virtualenvs\n2. Run ``tox``\n\n.. |Build Status| image:: https://travis-ci.org/raghur/easyblogger.svg?branch=master\n :target: https://travis-ci.org/raghur/easyblogger\n.. |Coverage Status| image:: https://coveralls.io/repos/github/raghur/easyblogger/badge.svg?branch=master\n :target: https://coveralls.io/github/raghur/easyblogger?branch=master\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/raghur/easyblogger", "keywords": "blogger,cli,markdown,asciidoc", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "EasyBlogger", "package_url": "https://pypi.org/project/EasyBlogger/", "platform": "", "project_url": "https://pypi.org/project/EasyBlogger/", "project_urls": { "Homepage": "https://github.com/raghur/easyblogger" }, "release_url": "https://pypi.org/project/EasyBlogger/3.1.3/", "requires_dist": [ "pypandoc", "google-api-python-client", "oauth2client", "python-gflags", "httplib2", "toml", "gevent", "coloredlogs", "pyyaml", "chardet" ], "requires_python": "", "summary": "A (very) easy CLI interface to Blogger blogs", "version": "3.1.3" }, "last_serial": 4263393, "releases": { "0.0.4": [], "0.9.0": [ { "comment_text": "", "digests": { "md5": "421b5fb9fbe9a081d11b264b1f72b04d", "sha256": "cfe72593c79c494473b373c2d56b32e720ec30ee867692158a5a8ff1ae45ec17" }, "downloads": -1, "filename": "EasyBlogger-0.9.0.zip", "has_sig": false, "md5_digest": "421b5fb9fbe9a081d11b264b1f72b04d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8387, "upload_time": "2013-09-05T10:24:00", "url": "https://files.pythonhosted.org/packages/96/de/b0c01574c2b2fa6193a43cb0cd0321c4f0030f6ee8b3410ffd42337a66f7/EasyBlogger-0.9.0.zip" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "423fd272a8d5614d5ef08ae3e7c20744", "sha256": "9f1e2471a0e493c45f521c4aaf23dd367ffb4938b2d37fada086ae6c9d336dee" }, "downloads": -1, "filename": "EasyBlogger-0.9.1.tar.gz", "has_sig": false, "md5_digest": "423fd272a8d5614d5ef08ae3e7c20744", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6458, "upload_time": "2017-01-24T12:22:49", "url": "https://files.pythonhosted.org/packages/b8/0a/7f73b616f275af0b95ad4af917039d7b16f891c6a02daad1bf82c39d0382/EasyBlogger-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "c8cbe5df1367ef364abef53a2193d306", "sha256": "be9ed285be0dad1bc0956a6b3db6682ae915a9876d5ec48366915729a69208bf" }, "downloads": -1, "filename": "EasyBlogger-0.9.2.tar.gz", "has_sig": false, "md5_digest": "c8cbe5df1367ef364abef53a2193d306", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6449, "upload_time": "2017-01-24T15:30:58", "url": "https://files.pythonhosted.org/packages/93/fc/ac5bba76cb0a8c0c7080af36cafd1f7d24d12640b19548df60c8e705f7dc/EasyBlogger-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "44181d1f0473c6ee52111c8c2b6ae28a", "sha256": "5f9ad88a4f92b57b35da7d093cfb4fdf95bc171c6f330884c643cd0df5eb94cd" }, "downloads": -1, "filename": "EasyBlogger-0.9.3.tar.gz", "has_sig": false, "md5_digest": "44181d1f0473c6ee52111c8c2b6ae28a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10279, "upload_time": "2017-01-25T04:15:04", "url": "https://files.pythonhosted.org/packages/10/07/336545c558199ea51a2fa68b9e958fae931573733cd9dffc3f325fca8a98/EasyBlogger-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "d360287efd026641fe87edaa41d2537f", "sha256": "3f5a28954c68e0e8da7d603135ea998a42ca1dda24d33cd2efc2f495347522c4" }, "downloads": -1, "filename": "EasyBlogger-0.9.4.tar.gz", "has_sig": false, "md5_digest": "d360287efd026641fe87edaa41d2537f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11389, "upload_time": "2017-01-25T04:19:39", "url": "https://files.pythonhosted.org/packages/87/2a/6d470a445ee11984af15921924558f1d8f1570abe7f154551c2629076814/EasyBlogger-0.9.4.tar.gz" } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "c0a9b3c30d1e30fd08bbee7f5b9b112f", "sha256": "dde0465a2cc7e61f78c4590fd80d4a73ff3b91be031014f89acf18ea81b87cef" }, "downloads": -1, "filename": "EasyBlogger-0.9.5.zip", "has_sig": false, "md5_digest": "c0a9b3c30d1e30fd08bbee7f5b9b112f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20853, "upload_time": "2017-01-30T13:27:46", "url": "https://files.pythonhosted.org/packages/93/4c/bbd1e5c7212f37a12dcf2ad71ca9604d609595c9554625d4b3745ca73abd/EasyBlogger-0.9.5.zip" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "4ad29ed8d263215cbdaeaf96c0a055d1", "sha256": "19a02cbf0b1993384441a29e47cc0198ca8de0804efe34d353767700593fa137" }, "downloads": -1, "filename": "EasyBlogger-1.0.0.zip", "has_sig": false, "md5_digest": "4ad29ed8d263215cbdaeaf96c0a055d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22119, "upload_time": "2017-02-04T06:03:44", "url": "https://files.pythonhosted.org/packages/49/91/f55ce814e93e74db3583ac36f85427be47bc147f156dc0119641c38324fd/EasyBlogger-1.0.0.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "8e9ff0128c03ff2094aee9a6d6672d7b", "sha256": "467ede061cb63a3db214ce07268ef7076c7885f8dd3333c325d2766007e16408" }, "downloads": -1, "filename": "EasyBlogger-1.0.1.zip", "has_sig": false, "md5_digest": "8e9ff0128c03ff2094aee9a6d6672d7b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22111, "upload_time": "2017-02-04T06:23:54", "url": "https://files.pythonhosted.org/packages/4c/0e/ec7375d61d4c010b728a3086b80d97d9abb8010fe4d65bb4ed09b1ecc5fe/EasyBlogger-1.0.1.zip" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "389ee6a9f425ff140fd77c5169fc84e0", "sha256": "b21065e16afa2539fe0a6e3d7da02f3767af2a4bb403f0cb9cce108b1f90fa12" }, "downloads": -1, "filename": "EasyBlogger-1.0.2.zip", "has_sig": false, "md5_digest": "389ee6a9f425ff140fd77c5169fc84e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22133, "upload_time": "2017-02-08T08:21:51", "url": "https://files.pythonhosted.org/packages/f4/72/9be3362b2afbad64c525c834f41f6fd00c3b3aa3d1d1ef9acf2e8fb82755/EasyBlogger-1.0.2.zip" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "91a8d825227683cdb75641e1c91b48d6", "sha256": "a0487fda95bcb6d00c79506a94e1f1460d03730139de9ffd1cc7e5172757c426" }, "downloads": -1, "filename": "EasyBlogger-1.1.0.tar.gz", "has_sig": false, "md5_digest": "91a8d825227683cdb75641e1c91b48d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12927, "upload_time": "2017-02-20T16:04:56", "url": "https://files.pythonhosted.org/packages/20/03/ad9b24f0b5a24419312d4784c4ed4affdc2bcce46368c517c1681186dcc8/EasyBlogger-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "a5573335cfcdd96218b364239bc7d50c", "sha256": "159f7c2fdb8c3f76f1e7a40633861e45f14afb4d065959126e472fae7de0807e" }, "downloads": -1, "filename": "EasyBlogger-1.1.1.tar.gz", "has_sig": false, "md5_digest": "a5573335cfcdd96218b364239bc7d50c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12933, "upload_time": "2017-02-21T05:17:02", "url": "https://files.pythonhosted.org/packages/84/a1/856b4310da7a947dd53612a9b4c512b379557ebc6179da84e64f5e027ee3/EasyBlogger-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "5a4cc4343b0b2a456cde784b66f65ae9", "sha256": "54a8dba3ce7447456b1476ec8021d451ca064654b88e96be3c90e7bdbe9cb17f" }, "downloads": -1, "filename": "EasyBlogger-1.2.0.tar.gz", "has_sig": false, "md5_digest": "5a4cc4343b0b2a456cde784b66f65ae9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13512, "upload_time": "2017-02-26T11:32:38", "url": "https://files.pythonhosted.org/packages/55/d5/db1010855dd6a75bb3340030e16f5f4e1ecca23f5ef3d54afd972cd603a5/EasyBlogger-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "be45bbddb287a16f0c281933df3ae47b", "sha256": "4b57b0ba816f675a70ea3dbeae8ef807cd480542e29c2e43feba5aeb2c3ee482" }, "downloads": -1, "filename": "EasyBlogger-1.2.1.tar.gz", "has_sig": false, "md5_digest": "be45bbddb287a16f0c281933df3ae47b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13605, "upload_time": "2017-02-26T15:55:09", "url": "https://files.pythonhosted.org/packages/a8/53/904adc7c729df3125b83d41343f387eab85aed715995881811a1fde55835/EasyBlogger-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "bb64b37da637930309effba21e2f2355", "sha256": "81ea7b5c7455b8314b68cbacd1bedf6c80cc975a217b25349b720b3d45dcdcd3" }, "downloads": -1, "filename": "EasyBlogger-1.2.2.tar.gz", "has_sig": false, "md5_digest": "bb64b37da637930309effba21e2f2355", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13638, "upload_time": "2017-02-27T15:17:26", "url": "https://files.pythonhosted.org/packages/54/90/6ee2c5662c87f248b5b7dcdd03aa367d17616789a55744993d9be7a54bbd/EasyBlogger-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "b730f77758716ffe1a80abd15d464006", "sha256": "14974e7f5a99806b54ba3738f463a0a3ad369f346cfb98136b221911e19c713c" }, "downloads": -1, "filename": "EasyBlogger-1.2.3.tar.gz", "has_sig": false, "md5_digest": "b730f77758716ffe1a80abd15d464006", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13760, "upload_time": "2017-03-01T09:53:59", "url": "https://files.pythonhosted.org/packages/b3/83/a7e7adae576663cd3faa58e0879ba148a031ebf0db03b7be0bca341af955/EasyBlogger-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "3a73a10fcf3f612971b724bd7b71aa78", "sha256": "755b7e1c414dc1ac4e83189d95c18091cd7b8bc281efea099fc958fd5e4d99cb" }, "downloads": -1, "filename": "EasyBlogger-1.2.4.tar.gz", "has_sig": false, "md5_digest": "3a73a10fcf3f612971b724bd7b71aa78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13837, "upload_time": "2017-03-01T09:57:17", "url": "https://files.pythonhosted.org/packages/85/67/850a3f8392a0ce23cdaef460b7671d0c922ee6a9ecf4f748108063205177/EasyBlogger-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "4be43d779bf3a398beba1f79526158fc", "sha256": "4ff1d8ea1c969051ce80ff3820cc7bd33d4fad900475c8c86108e3ec6aebd8c8" }, "downloads": -1, "filename": "EasyBlogger-1.2.5.tar.gz", "has_sig": false, "md5_digest": "4be43d779bf3a398beba1f79526158fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13774, "upload_time": "2017-04-01T08:12:29", "url": "https://files.pythonhosted.org/packages/de/c2/673a9e09a4f8d1d63b719098a74456b11c19822e36acb5770036e6078ef9/EasyBlogger-1.2.5.tar.gz" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "ccc6fa075b355c64fd6955e4e90b8143", "sha256": "429605a0c4049b26aa3f3201d8b1554667d12aa46afaa414c95ef6e36df877da" }, "downloads": -1, "filename": "EasyBlogger-1.2.6.tar.gz", "has_sig": false, "md5_digest": "ccc6fa075b355c64fd6955e4e90b8143", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13683, "upload_time": "2017-04-08T06:00:23", "url": "https://files.pythonhosted.org/packages/fa/8e/d9cdd52c44ae1489b674868a5312a5863e127baa4d018018d182c32a88d8/EasyBlogger-1.2.6.tar.gz" } ], "1.2.7": [ { "comment_text": "", "digests": { "md5": "9036a5f2d35895a977b38803202bce89", "sha256": "2aa0c37e1aeb5394eaf508e11e6802e66cf704cf3c57e822557fbb32ceec8446" }, "downloads": -1, "filename": "EasyBlogger-1.2.7.tar.gz", "has_sig": false, "md5_digest": "9036a5f2d35895a977b38803202bce89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13833, "upload_time": "2017-05-21T02:26:48", "url": "https://files.pythonhosted.org/packages/e9/74/33cd2ec3bd72e608b2efc741d69e24e2054e9f9033acde73a61b5baaed34/EasyBlogger-1.2.7.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "039b5641b655af736e7f30dcda680cf8", "sha256": "9d77ee23f26b471210bc124e887d5684d5bd175121a2b361eb0ddf50aef30342" }, "downloads": -1, "filename": "EasyBlogger-2.0.0.tar.gz", "has_sig": false, "md5_digest": "039b5641b655af736e7f30dcda680cf8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14359, "upload_time": "2017-06-04T13:51:47", "url": "https://files.pythonhosted.org/packages/88/e7/d378d71e946a4720ebe29e61a2eb1aef8324e0739ac706f7ce2af64c0b4b/EasyBlogger-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "0105a79d09b497ce10820ccdf2d2e219", "sha256": "2ecc832f86fc18e635d2a7197e2b51c0e271d58ca28791a51c3b120b366ac49c" }, "downloads": -1, "filename": "EasyBlogger-2.0.1.tar.gz", "has_sig": false, "md5_digest": "0105a79d09b497ce10820ccdf2d2e219", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14371, "upload_time": "2018-03-10T05:07:14", "url": "https://files.pythonhosted.org/packages/ba/12/0b84d3f4e046fb92d441c1bdf603c515de81fff432b415926915071384f3/EasyBlogger-2.0.1.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "71aa9f7f59336e71f0f945bacf4e5854", "sha256": "d6f40ede8dc181a061bad75e94f754061a39cccd965ffbab02f6f7c32b045106" }, "downloads": -1, "filename": "EasyBlogger-2.1.0.tar.gz", "has_sig": false, "md5_digest": "71aa9f7f59336e71f0f945bacf4e5854", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14483, "upload_time": "2018-04-03T13:21:55", "url": "https://files.pythonhosted.org/packages/80/86/2fa59bb551ac6d013c488d517ae75fce5d1aa1bbf718af0bfee978c9e68b/EasyBlogger-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "3688fed51dcd2fc41822396ea113af61", "sha256": "b9f316616f606ddfadc79918238542ff5c012f176c2c558ad7a467cb9c2b612d" }, "downloads": -1, "filename": "EasyBlogger-2.1.1.tar.gz", "has_sig": false, "md5_digest": "3688fed51dcd2fc41822396ea113af61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14494, "upload_time": "2018-04-29T04:41:29", "url": "https://files.pythonhosted.org/packages/9d/c3/5298587ae1adc192740b2e5ab037e0e5ea32286750e16ed24870ba34d96c/EasyBlogger-2.1.1.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "021120a30dc5e0a20e1804646c798997", "sha256": "f6a059456ecfb3c1870a75878eaad423a0aaf380f0e1523a039fa3489dd98d92" }, "downloads": -1, "filename": "EasyBlogger-2.1.2.tar.gz", "has_sig": false, "md5_digest": "021120a30dc5e0a20e1804646c798997", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14533, "upload_time": "2018-04-29T09:32:11", "url": "https://files.pythonhosted.org/packages/ba/7f/a29f5902e70fe80fba7fd829a974a31a2003d859036b26ebab7a371e9f06/EasyBlogger-2.1.2.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "2f7aa0d3504a0f4e2424514583921a14", "sha256": "203c03a8591d88b5dfade36e2cdecfdcbdf18ac738b897e752e45cea840151ae" }, "downloads": -1, "filename": "EasyBlogger-3.0.0.tar.gz", "has_sig": false, "md5_digest": "2f7aa0d3504a0f4e2424514583921a14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16792, "upload_time": "2018-04-30T10:21:51", "url": "https://files.pythonhosted.org/packages/de/68/a0ad475eba5c3f6673911d79a414cfdd77a9abbb6b23d3b399c0ef6cfa51/EasyBlogger-3.0.0.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "0f6b7f3e228f48bf65aee42eb293e849", "sha256": "2a9c1381c33f2d7559b5fbb4cf2da48186ec091db981b18ca8698c502f1855fd" }, "downloads": -1, "filename": "EasyBlogger-3.0.1.tar.gz", "has_sig": false, "md5_digest": "0f6b7f3e228f48bf65aee42eb293e849", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16829, "upload_time": "2018-04-30T10:37:03", "url": "https://files.pythonhosted.org/packages/67/67/3c8c7edd34cace4aee4bb68449a259268cfc4b7268ce748f07858fb6ad38/EasyBlogger-3.0.1.tar.gz" } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "0da8c3494f3894aadab80823bac2442a", "sha256": "4a4f9f934a29326af537c789ece847fbf4cd735e4d0d14d7e371d0e31f425a56" }, "downloads": -1, "filename": "EasyBlogger-3.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0da8c3494f3894aadab80823bac2442a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22991, "upload_time": "2018-08-03T04:29:05", "url": "https://files.pythonhosted.org/packages/4a/fb/2b3b606fd5426ca9a6e252a0704943342a96ea16142205b6bbf9471a1d28/EasyBlogger-3.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f442fb19708a8b9a0d1f08fee14dc1cf", "sha256": "cde7433dc3565707dca82417ed600e52f9a1b61444e18629d19f99527e400836" }, "downloads": -1, "filename": "EasyBlogger-3.1.0.tar.gz", "has_sig": false, "md5_digest": "f442fb19708a8b9a0d1f08fee14dc1cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17014, "upload_time": "2018-08-03T04:29:07", "url": "https://files.pythonhosted.org/packages/0c/79/2470d07115741aef9c467fbcecfeda3759986d63495cc065cdd53bedb353/EasyBlogger-3.1.0.tar.gz" } ], "3.1.1": [ { "comment_text": "", "digests": { "md5": "c79f6e2f33b5f4ff17802043fc332235", "sha256": "95455a612702239c8c1dce3ee93c31b4d43303e443e6942d8bf4930f037f91dc" }, "downloads": -1, "filename": "EasyBlogger-3.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c79f6e2f33b5f4ff17802043fc332235", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23115, "upload_time": "2018-09-10T07:02:21", "url": "https://files.pythonhosted.org/packages/da/94/49bd88c18c750ecf5539e5a083d4a1b3b31ede4e8ab0b27f68c7330ebfb7/EasyBlogger-3.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "48ed8620c1b840bb78cbb705b7dead03", "sha256": "c689ee7578a2c65b7ea2f57c22c719a05c78e11d30b38c2a35f3ffeb92771307" }, "downloads": -1, "filename": "EasyBlogger-3.1.1.tar.gz", "has_sig": false, "md5_digest": "48ed8620c1b840bb78cbb705b7dead03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17138, "upload_time": "2018-09-10T07:02:24", "url": "https://files.pythonhosted.org/packages/c0/14/78156a5e3cc9b8472dc7222e68d20f41ce54c4fac0508bdf0d5208e63342/EasyBlogger-3.1.1.tar.gz" } ], "3.1.2": [ { "comment_text": "", "digests": { "md5": "3ef6f051ca3a7015af69ab2aa8d82214", "sha256": "5631df8dbde5da4a482ca3211e16fcc32a0887eb9d59f72b2464e3b90b7b98f8" }, "downloads": -1, "filename": "EasyBlogger-3.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3ef6f051ca3a7015af69ab2aa8d82214", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23162, "upload_time": "2018-09-11T05:57:11", "url": "https://files.pythonhosted.org/packages/98/48/a361f02f29754e98f2c3d1949a5444a49af658c7cf8f6483eadb99961d78/EasyBlogger-3.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "06dee1e09973b538bb8653ac9555343a", "sha256": "d55fdbe86d5eaefdcfabd9e41060e7ae59938c4a387b673e81e8310d809d61b2" }, "downloads": -1, "filename": "EasyBlogger-3.1.2.tar.gz", "has_sig": false, "md5_digest": "06dee1e09973b538bb8653ac9555343a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17158, "upload_time": "2018-09-11T05:57:12", "url": "https://files.pythonhosted.org/packages/75/72/b8be6ca82bf593391101ce99b7e71a614d892f89bd8b14cfd7af292feafd/EasyBlogger-3.1.2.tar.gz" } ], "3.1.3": [ { "comment_text": "", "digests": { "md5": "34afbd8b9772e5399cf26e1e405b2eba", "sha256": "759665fe7bf11a75194e40232b28771ec56d45f9272b889a294613e55d516863" }, "downloads": -1, "filename": "EasyBlogger-3.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "34afbd8b9772e5399cf26e1e405b2eba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23157, "upload_time": "2018-09-12T03:30:45", "url": "https://files.pythonhosted.org/packages/5d/bb/de517037bfa1dc6869465671591571180f09b7639969df0b84eb1552b948/EasyBlogger-3.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d254902d603aabf7282ebbd2391c0637", "sha256": "37acd2395c8a817130df50ea88b4e5f322be0d1827a9c6ed06f658e3ea6e23ba" }, "downloads": -1, "filename": "EasyBlogger-3.1.3.tar.gz", "has_sig": false, "md5_digest": "d254902d603aabf7282ebbd2391c0637", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17156, "upload_time": "2018-09-12T03:30:46", "url": "https://files.pythonhosted.org/packages/c8/fc/56e58e1f77149eda05b36f6e5126a09e88b5f736c316a7d298eaebfdb4e1/EasyBlogger-3.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "34afbd8b9772e5399cf26e1e405b2eba", "sha256": "759665fe7bf11a75194e40232b28771ec56d45f9272b889a294613e55d516863" }, "downloads": -1, "filename": "EasyBlogger-3.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "34afbd8b9772e5399cf26e1e405b2eba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23157, "upload_time": "2018-09-12T03:30:45", "url": "https://files.pythonhosted.org/packages/5d/bb/de517037bfa1dc6869465671591571180f09b7639969df0b84eb1552b948/EasyBlogger-3.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d254902d603aabf7282ebbd2391c0637", "sha256": "37acd2395c8a817130df50ea88b4e5f322be0d1827a9c6ed06f658e3ea6e23ba" }, "downloads": -1, "filename": "EasyBlogger-3.1.3.tar.gz", "has_sig": false, "md5_digest": "d254902d603aabf7282ebbd2391c0637", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17156, "upload_time": "2018-09-12T03:30:46", "url": "https://files.pythonhosted.org/packages/c8/fc/56e58e1f77149eda05b36f6e5126a09e88b5f736c316a7d298eaebfdb4e1/EasyBlogger-3.1.3.tar.gz" } ] }