{ "info": { "author": "WangWei", "author_email": "2317073226@qq.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.7" ], "description": "### \u57fa\u4e8e\u4ee3\u7801\u751f\u6210\u7684\u7b80\u5355\u6a21\u677f\u5f15\u64ce\n\n### install\n\n```sh\npip3 install simpletemplate\n```\n\n```python\nfrom simpletemplate import Template\n\nTemplate(\"Hello, {{name}}!\").render({'name': 'world'})\n```\n\n#### \u6a21\u677f\u8bed\u6cd5 \n\n```sh\n\n%{fields = jclass.fields}%\n\nprivate {{jclass.name}}(Builder builder) {\n %{for field in fields:}%\n this.{{field.name}} = builder.{{field.name}};\n %{end}%\n}\n\npublic static class Builder {\n\n %{for field in fields:}%\n private {{field.jtype}} {{field.name}} = null;\n %{end}%\n\n %{for field in fields:}%\n %{if field.comment:}%\n /**\n * {{field.comment}}\n */\n %{end}%\n public Builder set{{field.name.title()}}({{field.jtype}} {{field.name}}) {\n this.{{field.name}} = {{field.name}};\n return this;\n }\n\n %{end}%\n public {{jclass.name}} build() {\n return new {{jclass.name}}(this);\n }\n}\n```\n\n#### \u6d4b\u8bd5\u4ee3\u7801\n\n```python\n'''\ninterface \n'''\n\ndef test_template():\n class Obj:\n pass\n\n def jfield(jtype: str, name: str, *, modifier: str = '', init_value: str = '', comment: str = ''):\n field = Obj()\n field.modifier = modifier\n field.jtype = jtype\n field.name = name\n field.initial_value = init_value\n field.comment = comment\n\n return field\n\n data = Obj()\n data.name = 'ShareConfig'\n data.fields = []\n data.fields.append(jfield('Tencent', 'tencent', modifier='private final'))\n data.fields.append(\n jfield('IWXApi', 'wxApi', modifier='private final', comment='wechat share'))\n\n print(Template(TMPL_BUILDER).render({'jclass': data}))\n\n\nif __name__ == '__main__':\n test_template()\n```\n\n#### generated Java Code\n\n```java\n\nprivate ShareConfig(Builder builder) {\n this.tencent = builder.tencent;\n this.wxApi = builder.wxApi;\n}\n\npublic static class Builder {\n\n private Tencent tencent = null;\n private IWXApi wxApi = null;\n\n public Builder setTencent(Tencent tencent) {\n this.tencent = tencent;\n return this;\n }\n\n /**\n * wechat share\n */\n public Builder setWxapi(IWXApi wxApi) {\n this.wxApi = wxApi;\n return this;\n }\n\n public ShareConfig build() {\n return new ShareConfig(this);\n }\n}\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/weixinfree/template", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "simpletemplate", "package_url": "https://pypi.org/project/simpletemplate/", "platform": "", "project_url": "https://pypi.org/project/simpletemplate/", "project_urls": { "Homepage": "https://github.com/weixinfree/template" }, "release_url": "https://pypi.org/project/simpletemplate/0.0.1b1/", "requires_dist": null, "requires_python": "", "summary": "\u7b80\u5355\u7075\u6d3b\u7684\u4ee3\u7801\u751f\u6210\u6a21\u677f\u5f15\u64ce", "version": "0.0.1b1" }, "last_serial": 4631053, "releases": { "0.0.1b1": [ { "comment_text": "", "digests": { "md5": "ed5dfd24bf9f1fad800df33179fdd81e", "sha256": "26034edd5ad1b28c0549648917ed46f674dba7beb98778a094f33e66199a74e0" }, "downloads": -1, "filename": "simpletemplate-0.0.1b1-py3-none-any.whl", "has_sig": false, "md5_digest": "ed5dfd24bf9f1fad800df33179fdd81e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3332, "upload_time": "2018-12-24T09:32:10", "url": "https://files.pythonhosted.org/packages/30/b3/5b98360e86d16a836ff1d9a520629d419276da8ff621bba92f11f61e3b23/simpletemplate-0.0.1b1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "51f1b2f664625a6bbe1a6d768d43ea2d", "sha256": "b16048435cf77102405892c20b13f112606de0de30f810c3b1fa89a26bc01263" }, "downloads": -1, "filename": "simpletemplate-0.0.1b1.tar.gz", "has_sig": false, "md5_digest": "51f1b2f664625a6bbe1a6d768d43ea2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3329, "upload_time": "2018-12-24T09:32:13", "url": "https://files.pythonhosted.org/packages/b5/52/c3551999d5c3ec2ef656ac4c67b171f84d79d1cb4fb47aefc005e2dd286c/simpletemplate-0.0.1b1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ed5dfd24bf9f1fad800df33179fdd81e", "sha256": "26034edd5ad1b28c0549648917ed46f674dba7beb98778a094f33e66199a74e0" }, "downloads": -1, "filename": "simpletemplate-0.0.1b1-py3-none-any.whl", "has_sig": false, "md5_digest": "ed5dfd24bf9f1fad800df33179fdd81e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3332, "upload_time": "2018-12-24T09:32:10", "url": "https://files.pythonhosted.org/packages/30/b3/5b98360e86d16a836ff1d9a520629d419276da8ff621bba92f11f61e3b23/simpletemplate-0.0.1b1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "51f1b2f664625a6bbe1a6d768d43ea2d", "sha256": "b16048435cf77102405892c20b13f112606de0de30f810c3b1fa89a26bc01263" }, "downloads": -1, "filename": "simpletemplate-0.0.1b1.tar.gz", "has_sig": false, "md5_digest": "51f1b2f664625a6bbe1a6d768d43ea2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3329, "upload_time": "2018-12-24T09:32:13", "url": "https://files.pythonhosted.org/packages/b5/52/c3551999d5c3ec2ef656ac4c67b171f84d79d1cb4fb47aefc005e2dd286c/simpletemplate-0.0.1b1.tar.gz" } ] }