{ "info": { "author": "Alexander Gusarin", "author_email": "alex.gusarin@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "SerializableClass\n=================\n\nPurpose\n-------\nThis small class is made for ease and standardize saving and loading procedures in classes with inheritance in the case when pickle is not applicable.\n\nUsage\n------------------\nAfter you declare a new root class with name ClassName of inheritance you should write following string\n\nClassName.initNewRootOfInheritance()\n\nWARNING: do not define __init__ functions with more than one parameter in root class or its descendants.\n\nAfter that type:\n\nClassName.registerClass(\"someString\")\n\nYou can leave the parameter of registerClass function empty in this case string would be generated automatically.\n\nWARNING: do not use equal string parameters in descendants of one root class!\n\nAlso, each class should have two functions defined:\n\ndef saveThisObjectDataOnly_(self, folder):\n pass\n\ndef loadThisObjectDataOnly_(self, folder):\n pass\n\nThis functions should save and load fields of class where they defined, not parent classes fields.\n\nInstallation\n------------------\npip install serialazableClass\n\nExample\n------------------\n\nfrom serializableClass import SerializableClass\n\nclass rootClass(SerializableClass):\n def saveThisObjectDataOnly_(self, folder):\n print(\"save root\")\n\n def loadThisObjectDataOnly_(self, folder):\n print(\"load root\")\n\nrootClass.initNewRootOfInheritance()\nrootClass.registerClass(\"root\")\n\nclass d1(rootClass):\n def saveThisObjectDataOnly_(self, folder):\n print(\"save d1\")\n\n def loadThisObjectDataOnly_(self, folder):\n print(\"load d1\")\n\nd1.registerClass(\"d1\")\n\nclass d2(rootClass):\n def saveThisObjectDataOnly_(self, folder):\n print(\"save d2\")\n\n def loadThisObjectDataOnly_(self, folder):\n print(\"load d2\")\n\nd2.registerClass(\"d2\")\n\nclass d3(d1, d2):\n def saveThisObjectDataOnly_(self, folder):\n print(\"save d3\")\n\n def loadThisObjectDataOnly_(self, folder):\n print(\"load d3\")\n\nd3.registerClass(\"d3\")\n\nobj = d3()\n\nobj.save(\"test\")\n\n#output is\n#save d3\n#save d1\n#save root\n#save d2\n\nobj.load(\"test\")\n\n#output is\n#load root\n#load d1\n#load d2\n#load d3\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/Valtonis/serializableClass.git", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "serializableClass", "package_url": "https://pypi.org/project/serializableClass/", "platform": "", "project_url": "https://pypi.org/project/serializableClass/", "project_urls": { "Homepage": "https://github.com/Valtonis/serializableClass.git" }, "release_url": "https://pypi.org/project/serializableClass/1.0.2/", "requires_dist": null, "requires_python": "", "summary": "This project makes saving/loading procedure easier for classes with inheritance.", "version": "1.0.2" }, "last_serial": 4849817, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "9ecb954d2171f053ab2644c0463219a7", "sha256": "8d915885041121c36dbad9df071c8c2104ab52e0104c1a8a78a1a6dfce2fc989" }, "downloads": -1, "filename": "serializableClass-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9ecb954d2171f053ab2644c0463219a7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5470, "upload_time": "2019-01-22T12:20:00", "url": "https://files.pythonhosted.org/packages/84/1e/2d5ee842e623b393223c48c309955e917589ae165165424d606c6ccfbb86/serializableClass-1.0.1-py3-none-any.whl" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "dade351a14de33ade8c02bb3d83193df", "sha256": "dda297e421c8b9d13fa420b832b509a94009bffbf172e94b1fa0b7a52cf8de21" }, "downloads": -1, "filename": "serializableClass-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "dade351a14de33ade8c02bb3d83193df", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4049, "upload_time": "2019-02-21T11:26:43", "url": "https://files.pythonhosted.org/packages/6b/3f/fe729a453b9e7e05a686557c2f2cbc26b5803735ccd5ea9cd4a1abe10c75/serializableClass-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fdf4f4307ebee9c42d4652f1c748b787", "sha256": "f146d703d15af80ed95bebda4d123d80b7fc4a194c3c16588fdd562fb23577c3" }, "downloads": -1, "filename": "serializableClass-1.0.2.tar.gz", "has_sig": false, "md5_digest": "fdf4f4307ebee9c42d4652f1c748b787", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3068, "upload_time": "2019-02-21T11:26:44", "url": "https://files.pythonhosted.org/packages/f7/05/4654eb7f95d6779d570333ffaa93712b1abeb0a8ed1eaf781625e6d0b6b5/serializableClass-1.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dade351a14de33ade8c02bb3d83193df", "sha256": "dda297e421c8b9d13fa420b832b509a94009bffbf172e94b1fa0b7a52cf8de21" }, "downloads": -1, "filename": "serializableClass-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "dade351a14de33ade8c02bb3d83193df", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4049, "upload_time": "2019-02-21T11:26:43", "url": "https://files.pythonhosted.org/packages/6b/3f/fe729a453b9e7e05a686557c2f2cbc26b5803735ccd5ea9cd4a1abe10c75/serializableClass-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fdf4f4307ebee9c42d4652f1c748b787", "sha256": "f146d703d15af80ed95bebda4d123d80b7fc4a194c3c16588fdd562fb23577c3" }, "downloads": -1, "filename": "serializableClass-1.0.2.tar.gz", "has_sig": false, "md5_digest": "fdf4f4307ebee9c42d4652f1c748b787", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3068, "upload_time": "2019-02-21T11:26:44", "url": "https://files.pythonhosted.org/packages/f7/05/4654eb7f95d6779d570333ffaa93712b1abeb0a8ed1eaf781625e6d0b6b5/serializableClass-1.0.2.tar.gz" } ] }