{ "info": { "author": "FiftysixTimes7(PTJ)", "author_email": "pangtj26@163.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3 :: Only", "Topic :: Utilities" ], "description": "\ufeff# diapy\n>Version 3.1.1\n\nA minimal diary manager based on python.\n\nDiapy uses `cryptography.fernet` to encrypt your top secret.\n\n## Installation\nSimple, crude.\n\n pip install diapy\n\t\n## Usage\nFirstly, you need to create a new diary file. Or you can open an exist file. There isn't much difference.\n\n >>> from diapy import Diary\n >>> d = Diary('new.diary')\n Please input the main password: # Enter your password here! No one will see it.\n >>>\nYou can keep your today's diary without inputing dates.\n\n >>> d.new('Today is a good day!')\n 2018-08-12 18:37:02 Sunday\n Today is a good day!\n >>>\nIf you have written a diary on the same day, you will be asked to choose.\n\n >>> d.new('I forget writing diary or not.')\n You have written a diary today:\n 2018-08-12 18:37:02 Sunday\n Today is a good day!\n\n Do you want to overwrite, discard changes or merge them together?\n (overwrite/discard/merge) Default: discard\n merge # If you input merge, diapy will keep your diary after the previous one. The time will use the current one.\n 2018-08-12 19:18:07 Sunday\n Today is a good day!\n I forget writing diary or not.\nIf you forget to write a diary yesterday, you can give a datetime object to the function.\n\n >>> from datetime import datetime\n >>> yesterday = datetime(2018, 8, 11, 19, 34)\n >>> d.new('OOPS, I forgot to write my diary yesterday!', yesterday)\n 2018-08-11 19:34:00 Saturday\n OOPS, I forgot to write my diary yesterday!\n >>>\nYou can access your diary by a 8 digit key.\n\n >>> d[20180812]\n 2018-08-12 18:37:02 Sunday\n Today is a good day!\n >>>\nActually, it returns an `Entry` object.\n\n >>> e = d[20180812]\n >>> e.timestamp\n 1534072687\n >>> e.content\n 'Today is a good day!\\nI forget writing diary or not.'\n >>>\nIf you wonders how many diaries you have written, you can use the `key` function.\n\n >>> d.key()\n [20180812, 20180811]\n >>>\nYou can change your password.\n(Not working if you forget your password. 2333)\n\n >>> d.change_pwd()\n Please input the new password: \n >>>\nTo get a random diary entry.\n\n >>> d.random()\n 2018-08-12 19:18:07 Sunday\n Today is a good day!\n I forget writing diary or not.\n >>>\nSearch text in your diaries.\n\n >>> d.search('day')\n 2018-08-12 19:18:07 Sunday\n Today is a good day!\n I forget writing diary or not.\n\n 2018-08-11 19:34:00 Saturday\n OOPS, I forgot to write my diary yesterday!\n\n >>>\nExporting and importing diaries. It is often used when you wanted to do something directly to your diary. It is **not recommended** in most cases.\n\n**Notice! It will expose your secrets! Import operation will overwrite your current diary!**\n\n >>> d._content\n {1534072687: 'Today is a good day!\\nI forget writing diary or not.', 1533987240: 'OOPS, I forgot to write my diary yesterday!'}\n >>> d._content = {1534072687: 'Today is a bad day!\\nI forget writing diary or not.', \\\n ... 1533987240: 'OOPS, I forgot to write my diary yesterday!'}\n >>>\nWhen all done, save changes by the close function.\n\n**Don't exit without the close function! Or your changes will not be saved.**\n\n >>> d.close()\n >>>\n## About\nI am a secondary school student in China, and **I know my English is not very good**. So if someone wants to **improve this** I will thank a lot!\n\n## Contributing\nI know, my code is bad too... You can improve it any time you want. I will wait for your pull requests!\n\n## Donating\n...OK. That's unbeleavable that you will donate to my rough code...\n\nI don't even have an account for donating 233. If you want to encourage me, you can choose to give me some advice.~", "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/FiftysixTimes7/diapy", "keywords": "diary", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "diapy", "package_url": "https://pypi.org/project/diapy/", "platform": "", "project_url": "https://pypi.org/project/diapy/", "project_urls": { "Homepage": "https://github.com/FiftysixTimes7/diapy" }, "release_url": "https://pypi.org/project/diapy/3.1.1/", "requires_dist": null, "requires_python": ">=3.5.0", "summary": "A minimal diary manager based on python.", "version": "3.1.1" }, "last_serial": 4331787, "releases": { "2.5.0": [ { "comment_text": "", "digests": { "md5": "cf2c53a5162f8451f42f67600a7f5bc5", "sha256": "e39fd717b49fd5444788fb958c94c68546f296376397bebbf44a7e0510677622" }, "downloads": -1, "filename": "diapy-2.5.0.tar.gz", "has_sig": false, "md5_digest": "cf2c53a5162f8451f42f67600a7f5bc5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 6952, "upload_time": "2018-02-15T04:17:41", "url": "https://files.pythonhosted.org/packages/a2/9e/cc66ed777f35555325e14babe1688f97b56c82b115403fe3f0e31f28877c/diapy-2.5.0.tar.gz" } ], "2.5.1": [ { "comment_text": "", "digests": { "md5": "56862b92692ef6b7187019d17a66021c", "sha256": "ff577bbf46b18265c0b9830025b35bb41791cab10e2670a0326918b69161ca48" }, "downloads": -1, "filename": "diapy-2.5.1.tar.gz", "has_sig": false, "md5_digest": "56862b92692ef6b7187019d17a66021c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 6866, "upload_time": "2018-02-25T07:12:01", "url": "https://files.pythonhosted.org/packages/eb/44/71d120d6f948659f82d3fc7fe2d2610f91aba36c94386803690555aff8b3/diapy-2.5.1.tar.gz" } ], "2.5.2": [ { "comment_text": "", "digests": { "md5": "6019b0a81690bc09a001ff620921813c", "sha256": "8265bcb1281c16411109f6fac47ee7fa3de34af7c54f5e42073dc1066263da9b" }, "downloads": -1, "filename": "diapy-2.5.2.tar.gz", "has_sig": false, "md5_digest": "6019b0a81690bc09a001ff620921813c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 6717, "upload_time": "2018-03-03T03:05:36", "url": "https://files.pythonhosted.org/packages/1b/63/d8c38a4406fbe8e22354b8fb61ca213b0fa50f3a651f7e5c5c159b0ab9e6/diapy-2.5.2.tar.gz" } ], "2.6.0": [ { "comment_text": "", "digests": { "md5": "cf7ea55604a02ccdc456937fc37f772c", "sha256": "47b82272cb3389e761bb1cb68dad4da1d41389ca0e582ed22513d28565918a1d" }, "downloads": -1, "filename": "diapy-2.6.0.tar.gz", "has_sig": false, "md5_digest": "cf7ea55604a02ccdc456937fc37f772c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 6363, "upload_time": "2018-04-29T08:31:56", "url": "https://files.pythonhosted.org/packages/1b/08/f4da2d2330f87d9b499745b13580573f792181f079b6e3ca8fa753b8865b/diapy-2.6.0.tar.gz" } ], "2.6.1": [ { "comment_text": "", "digests": { "md5": "88a2226bff106ee3b9ad07dc93dfb7f1", "sha256": "f59c2b4844919a36055690e3839ae8af3f8ac5565b1dc2d3588bf71e46e2da3d" }, "downloads": -1, "filename": "diapy-2.6.1.tar.gz", "has_sig": false, "md5_digest": "88a2226bff106ee3b9ad07dc93dfb7f1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 6274, "upload_time": "2018-06-27T13:34:07", "url": "https://files.pythonhosted.org/packages/e9/39/6295b2cb9577a0b66d4037660a58013f8c7a34af747b5bbd4edfa7a96c49/diapy-2.6.1.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "0306a35ac2b652e0e437924bfcc3d8c3", "sha256": "0641a6f3227789844c87ede6c36a5bf635395f1c28eb8e8df927f900e0159223" }, "downloads": -1, "filename": "diapy-3.0.0.tar.gz", "has_sig": false, "md5_digest": "0306a35ac2b652e0e437924bfcc3d8c3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.0", "size": 3818, "upload_time": "2018-08-13T06:55:45", "url": "https://files.pythonhosted.org/packages/ef/73/3b9a7bc0f813463ef4bacec4923f2fcd0abc8e29642e65e39d7f72fa6775/diapy-3.0.0.tar.gz" } ], "3.0.2": [ { "comment_text": "", "digests": { "md5": "774239671bdeca2a65f89c07daa69b17", "sha256": "85a55e951ae90254c401f164a9349d300edf992ddd80fdcb1582dd137cd2caf1" }, "downloads": -1, "filename": "diapy-3.0.2.tar.gz", "has_sig": false, "md5_digest": "774239671bdeca2a65f89c07daa69b17", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.0", "size": 4109, "upload_time": "2018-08-13T07:03:18", "url": "https://files.pythonhosted.org/packages/ba/70/493fbf1cfc571deef61238a71cc696370a8363b66e8579e77c99abf3f939/diapy-3.0.2.tar.gz" } ], "3.1.1": [ { "comment_text": "", "digests": { "md5": "5a4f269cb140c73b68fadf43b66217be", "sha256": "939b791bfb0abd05ee5f0d555cadb78c18de3000feba4a478ee4824ebfb1febd" }, "downloads": -1, "filename": "diapy-3.1.1.tar.gz", "has_sig": false, "md5_digest": "5a4f269cb140c73b68fadf43b66217be", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.0", "size": 4156, "upload_time": "2018-10-02T08:56:51", "url": "https://files.pythonhosted.org/packages/bf/47/15aabd783448cec1b8e1f182dfe5f855a862f13945cf0a2083a59414455e/diapy-3.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5a4f269cb140c73b68fadf43b66217be", "sha256": "939b791bfb0abd05ee5f0d555cadb78c18de3000feba4a478ee4824ebfb1febd" }, "downloads": -1, "filename": "diapy-3.1.1.tar.gz", "has_sig": false, "md5_digest": "5a4f269cb140c73b68fadf43b66217be", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.0", "size": 4156, "upload_time": "2018-10-02T08:56:51", "url": "https://files.pythonhosted.org/packages/bf/47/15aabd783448cec1b8e1f182dfe5f855a862f13945cf0a2083a59414455e/diapy-3.1.1.tar.gz" } ] }