{ "info": { "author": "Fred Lin", "author_email": "gasolin+tg@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: TurboGears", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "tgcrud is an TurboGears command extension,\nwhich could generate a sqlobject/sqlalchemy backend \neditor/crud (create, read, update, delete) interface based \non your Model with kid template. \nIt could be plugged into any projects even if you don't use kid template.\n\nThe generated codes are fully customizable.\ntgcrud heavily use form widgets and show you many\nTG 1.0 features in it's controllers/templates.\n\nPlease refer to http://docs.turbogears.org/1.0/CRUDTemplate for detail\n\nThe command follow the TurboGears quickstart template style, you could easily add\nidentity, form validation, paginate in your crud interface. \n\nIf you are a TG beginer, tgcrud help you create a general\nadmin skeleton based on your model.\n\nIf you are an experienced TG developer, you could get it in minutes\nsince it just done the basic procedure that every time you write a\nmanagement interface of your model.\n\nFeatures\n----------------------\n\nFully customizable admin interface (the create, read, update, delete functions) with easy to extend(form validation, identity, paginate) templates.\n\nNo Magic\n\n * The generated codes are normal TG source.\n * No extra magic encapsulation. No need to rewrite the interface when you need extra flexibility (not the same as Rails'scaffold)\n * Separate Form definition from Model (not the same as Django admin)\n * Use standard TurboGears syntax and code organization.\n * It's a good crud implementation reference by TG.\n\nTurboGears\n\n * Bundles a TurboGears \"tg-admin crud\" command.\n * Support SQLObject and SQLAlchemy models\n * tgcrud kid interface works for you no matter whatever template engine you currently choose for your project.\n * You could customize the model relationship by widgets(document shows how to customize 1-to-1, 1-to-many, many-to-many relationship with widgets. Or you could do it in your way)\n * Takes advantage of TurboGears form widgets and validation. you'd hardly need to modify the HTML.\n\n \nInstall\n----------\n\nThe 'tgcrud' command extension is available in Python CheeseShop and\nTurboGears svn.\n\nYou can use setuptools to install tgcrud with following command::\n\n $ easy_install tgcrud\n\nor download the source code and install tgcrud manually.\n\nScreencast\n--------------\n\nYes, there's a 'Make a Book Site with TurboGears' screencast with tgcrud.\n\nIf you are an experienced TG developer, you could skip to the third.\n\nIf you are new to TG, you may want to watch all of them to get familiar with TurboGears.\n\n\t- Quickstart TurboGears project, 6.5MB\n\t\n\t http://files.turbogears.org/video/openbook1.swf\n\t\n\t- Design model with toolbox utilities, 7.7MB\n\t\n\t http://files.turbogears.org/video/openbook2.swf\n\t\n\t- tgcrud, the TG's scaffold, 5.2 MB\n\t\n\t http://files.turbogears.org/video/openbook3.swf\n\nWith tgcrud you could easily generate a Rails scaffold\nstyle CRUD interface. The difference is all code in tgcrud is\nimplicit, which leads to more easy customization.\n\nUsage\n----------\n\n\t1. Define your model in model.py\n\t\n\t2. Once you've defined your model,\n\t you could use \"tg-admin crud\" command to generate the crud pack.\n\t The syntax is::\n\t\n\t $ tg-admin crud [model class name] [package name]\n\t\n\t e.x if the model name is BookMark,\n\t and the package name we want is BookMarkController, the command is::\n\t\n\t $ tg-admin crud BookMark BookMarkController\n\t\n\t Then the 'admin' package is generated.\n \n\t You just need take several minutes to customize the formfield to\n\t have a proper crud interface.\n\t\n\t ..note:: you could estimate the result by passing \"--dry-run\" to the command, such as::\n\t\n\t $ tg-admin crud BookMark BookMarkController --dry-run\n\t\n\t With this argument the command will not effect your physical directories. \n\t\n\t\n\t3. Import the package to your controllers.py with a line:\n\t\n\t from BookMarkController import BookMarkController\n\t\n\t and add a branch on your Root()::\n\t\n\t foo = BookMarkController()\n\t\n\t4. Customize the form filed in admin/controllers.py\n\t\n\t5. Open the http://localhost:8080/foo to use the customizable interface.\n\nPlease check http://docs.turbogears.org/1.0/CRUDTemplate for detail instructions.\n\nChangeLog\n-------------------------\n\n1.0.2\n * Expand compatibility to all TurboGears 1 version\n\n1.0.1\n * Minor template updates\n\n1.0\n * Fully SQLAlchemy support with\n * SQLObject/SQLAlchemy auto detection \n * Able to specify the primary id\n * Minor template updates", "description_content_type": null, "docs_url": null, "download_url": "http://www.python.org/pypi/tgcrud/", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://docs.turbogears.org/1.0/CRUDTemplate", "keywords": "turbogears.command", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "tgcrud", "package_url": "https://pypi.org/project/tgcrud/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/tgcrud/", "project_urls": { "Download": "http://www.python.org/pypi/tgcrud/", "Homepage": "http://docs.turbogears.org/1.0/CRUDTemplate" }, "release_url": "https://pypi.org/project/tgcrud/1.0.2/", "requires_dist": null, "requires_python": null, "summary": "Genrate CRUD interface in TurboGears", "version": "1.0.2" }, "last_serial": 800522, "releases": { "0.8": [ { "comment_text": "", "digests": { "md5": "b71c0d8c620e15e26e8dbf858cb122de", "sha256": "2e41954f91e21624120f038c517cdaf9565c8a7271abe43a9cd8570ae79c92e3" }, "downloads": -1, "filename": "tgcrud-0.8-py2.4.egg", "has_sig": false, "md5_digest": "b71c0d8c620e15e26e8dbf858cb122de", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 12302, "upload_time": "2007-01-29T02:16:37", "url": "https://files.pythonhosted.org/packages/8b/a4/8957af69a63b9501d6b17c4ce44779f86231abf645fa028250018a4e7c82/tgcrud-0.8-py2.4.egg" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "430f9e31e92e42a8872629ff07774531", "sha256": "2ba054747299bd5d6242c61695a10ad1d2d72de8af19142d31e3801a52a14a9c" }, "downloads": -1, "filename": "tgcrud-0.9-py2.4.egg", "has_sig": false, "md5_digest": "430f9e31e92e42a8872629ff07774531", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 13904, "upload_time": "2007-02-24T17:46:33", "url": "https://files.pythonhosted.org/packages/1a/1f/8fe6d545018e014838a85f8d9340013f27546f924a2067d864262005b7ef/tgcrud-0.9-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "1b7e0ca93b4e7b1cb65634eee8773007", "sha256": "e84a71c12a88bddd74e25ba0fef5a9d211f25945c0d8a2c7c2d6e4567714622e" }, "downloads": -1, "filename": "tgcrud-0.9-py2.5.egg", "has_sig": false, "md5_digest": "1b7e0ca93b4e7b1cb65634eee8773007", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 13873, "upload_time": "2007-02-24T17:40:48", "url": "https://files.pythonhosted.org/packages/67/e2/692f5eae037a1070f688d871754f58c3890a3cea1175a7a2b0da96b39ff2/tgcrud-0.9-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "39c4d4bcafd091ae7383a55ca376cfd5", "sha256": "1d0a44c561bd2f09c55c94a644d559127b6303e2f683b7492f69c4b3b1d1a19f" }, "downloads": -1, "filename": "tgcrud-0.9.zip", "has_sig": false, "md5_digest": "39c4d4bcafd091ae7383a55ca376cfd5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15908, "upload_time": "2007-02-24T17:48:54", "url": "https://files.pythonhosted.org/packages/bc/60/52008095f12969d71954669fcb2f29f7debd92a382fb39f76c917c398f3c/tgcrud-0.9.zip" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "3b25d0ca9b694f652f297f9543384b72", "sha256": "6f4a28dd7aecfa51f3b8667d6fe7e8b90660027fd38b96f6880db891c3d99704" }, "downloads": -1, "filename": "tgcrud-1.0-py2.4.egg", "has_sig": false, "md5_digest": "3b25d0ca9b694f652f297f9543384b72", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 23214, "upload_time": "2007-06-20T09:33:47", "url": "https://files.pythonhosted.org/packages/14/b2/eeff3631bbb684b034cb4b8550a88ce5252bd81347bec127de75c985c5d8/tgcrud-1.0-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "945f3808d88f51a4e20b20cd750ac58d", "sha256": "a9b0788295de5b9ebac6b248c304d864c8413b66fa2757b8ea2201eac767b944" }, "downloads": -1, "filename": "tgcrud-1.0-py2.5.egg", "has_sig": false, "md5_digest": "945f3808d88f51a4e20b20cd750ac58d", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 20767, "upload_time": "2007-06-20T09:26:52", "url": "https://files.pythonhosted.org/packages/0a/94/4e6bc274a778da7389a340270764734f67f785fa96a8f3965b4a231ea4c4/tgcrud-1.0-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "17f0068d2fddda068790cec2ad60cafc", "sha256": "329821abb341b70ec0e8f1b33afe1b6cc543369799ac6528a6faa7e93c826b76" }, "downloads": -1, "filename": "tgcrud-1.0.zip", "has_sig": false, "md5_digest": "17f0068d2fddda068790cec2ad60cafc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22809, "upload_time": "2007-06-23T02:29:19", "url": "https://files.pythonhosted.org/packages/dc/d9/f2b8416881f5fe94adbccf00a59147fc01cb4c105891664fadbba794f375/tgcrud-1.0.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "a5ade3fe4cd322b3e136938f804712b8", "sha256": "f7ad8e059538b91df90bfde280dee3fa2299b6bf48d772f5eed8ba0b8d74427f" }, "downloads": -1, "filename": "tgcrud-1.0.1-py2.5.egg", "has_sig": false, "md5_digest": "a5ade3fe4cd322b3e136938f804712b8", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 18720, "upload_time": "2008-05-29T02:26:36", "url": "https://files.pythonhosted.org/packages/3b/a3/78b083d619fbf00d76acf5bec1154bb0528ac2e5c118af288a18c36a08d5/tgcrud-1.0.1-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "e4db2ce97497b6c5197283a2c7a4e918", "sha256": "2574ad5c4ecf1f9afbb9dccc37510188e1c02ae2f7d6a7ab78f19bd9c6f1d3f2" }, "downloads": -1, "filename": "tgcrud-1.0.1.zip", "has_sig": false, "md5_digest": "e4db2ce97497b6c5197283a2c7a4e918", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24189, "upload_time": "2008-05-29T02:26:38", "url": "https://files.pythonhosted.org/packages/a5/8d/5bf95858588017c021e8c74aed541d2176846c4850d1d31b34accccde8ff/tgcrud-1.0.1.zip" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "f764e9f9161da2b84851e08445541a1e", "sha256": "cf457545f2af3748622a7954434ae0ee25a596902c3dbfc01562a266fef12f8c" }, "downloads": -1, "filename": "tgcrud-1.0.2-py2.5.egg", "has_sig": false, "md5_digest": "f764e9f9161da2b84851e08445541a1e", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 18800, "upload_time": "2008-07-14T04:23:37", "url": "https://files.pythonhosted.org/packages/2b/45/951eab3ce4bcb5e434345000db2db96c4bd0c5b1576b40c0fefa3607605f/tgcrud-1.0.2-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "8b20e48459ff5ce2e0443a7c99d4f5ed", "sha256": "c0c18df680757bb731929c1d968f713a5cd43a7e03a089fffa3f128624ba585a" }, "downloads": -1, "filename": "tgcrud-1.0.2.zip", "has_sig": false, "md5_digest": "8b20e48459ff5ce2e0443a7c99d4f5ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24276, "upload_time": "2008-07-14T04:23:40", "url": "https://files.pythonhosted.org/packages/22/bd/d91391ff0ddae6750e411a19ad7c5beb35f73ef69ec211407cbadd41e46e/tgcrud-1.0.2.zip" } ], "1.0Beta": [ { "comment_text": "", "digests": { "md5": "b37add72d8702a1a46be7b63d5597f2f", "sha256": "ad9600dd9573dd9163219fe074153f41afcc0ce410e10cf4d0d799eb39430ce0" }, "downloads": -1, "filename": "tgcrud-1.0Beta-py2.4.egg", "has_sig": false, "md5_digest": "b37add72d8702a1a46be7b63d5597f2f", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 18760, "upload_time": "2007-04-03T02:59:05", "url": "https://files.pythonhosted.org/packages/11/5b/4cbb3479b837d112355fba8c7b73542b5b44f6ccb57b7b204e7fae2e269c/tgcrud-1.0Beta-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "fae370af5b0461cf7286d28f206a341b", "sha256": "93de9a1131f7480bf660dde2e4fcdc9823f7c254da391417c7cd5cab16be9859" }, "downloads": -1, "filename": "tgcrud-1.0Beta-py2.5.egg", "has_sig": false, "md5_digest": "fae370af5b0461cf7286d28f206a341b", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 18729, "upload_time": "2007-04-03T02:59:17", "url": "https://files.pythonhosted.org/packages/9c/69/ae47fadb2688ca317f888859c4c6bc0610321f34c73baa15c855a40bd463/tgcrud-1.0Beta-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "1f199ebd75ae39a1f0d98d94b17096cb", "sha256": "07fe6b17c1ce00232c6b7b11ff971234ae165fe12b680e5149cfabe8d051f2ca" }, "downloads": -1, "filename": "tgcrud-1.0Beta.zip", "has_sig": false, "md5_digest": "1f199ebd75ae39a1f0d98d94b17096cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23224, "upload_time": "2007-04-03T02:58:53", "url": "https://files.pythonhosted.org/packages/6c/fb/16cc26ebc32f18e8345a28b19eb8a27ebd8be4b9d4269c32fd132b4355d1/tgcrud-1.0Beta.zip" } ], "1.0Beta2": [ { "comment_text": "", "digests": { "md5": "0f74f38b76adca63aa785fa29b14c5b7", "sha256": "3efb9fd73d525a31ff3f67ab55de9bd625eb63ffe7cd74fd780f46ca4e4656dd" }, "downloads": -1, "filename": "tgcrud-1.0Beta2-py2.4.egg", "has_sig": false, "md5_digest": "0f74f38b76adca63aa785fa29b14c5b7", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 18610, "upload_time": "2007-04-11T03:02:08", "url": "https://files.pythonhosted.org/packages/7d/05/8b79371e58c86fa2ee0a713f62a70ddf7b444773147d9ac97ecd2d3bd549/tgcrud-1.0Beta2-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "9136dcd86378645e63230a1ec54e9c91", "sha256": "24e307cd08ef17ee1e10d22bef84e0cf1e14bf43b9316f6d2fc7d89892486d36" }, "downloads": -1, "filename": "tgcrud-1.0Beta2-py2.5.egg", "has_sig": false, "md5_digest": "9136dcd86378645e63230a1ec54e9c91", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 18577, "upload_time": "2007-04-11T03:02:26", "url": "https://files.pythonhosted.org/packages/17/0d/0004a5ea9edc1cd3b196cff261f8e05beb9ce454d2ffabc469779e755c46/tgcrud-1.0Beta2-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "b4957b55ce3a0f4110706e54ae4de711", "sha256": "40671248e2830dfec148573fd2adb9284839387cc0e8125de1748f37b243288f" }, "downloads": -1, "filename": "tgcrud-1.0Beta2.zip", "has_sig": false, "md5_digest": "b4957b55ce3a0f4110706e54ae4de711", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23211, "upload_time": "2007-04-11T03:01:54", "url": "https://files.pythonhosted.org/packages/8f/ad/432706ff9130a2c1b3620e2de628b6a88f87a14162700374fa5f0958ded3/tgcrud-1.0Beta2.zip" } ], "1.0Beta3": [ { "comment_text": "", "digests": { "md5": "c6ca44d7c496cf6c1727cdd8c0c30c2e", "sha256": "9fd173fa5fd3a927bd8a49b3a085c8dff35e079a41c04b00a42c00118a7717ba" }, "downloads": -1, "filename": "tgcrud-1.0Beta3-py2.4.egg", "has_sig": false, "md5_digest": "c6ca44d7c496cf6c1727cdd8c0c30c2e", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 20689, "upload_time": "2007-06-04T04:00:49", "url": "https://files.pythonhosted.org/packages/6f/61/cde7c136a9a7c0f108606635ca68244f7902176a5acd41ab61f51ee356b7/tgcrud-1.0Beta3-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "542b150f03a6c1235288ac76b4fb43be", "sha256": "69ca73c5c1e523564d3c310db126983effaff6ba989b0216c79babba2fe0d014" }, "downloads": -1, "filename": "tgcrud-1.0Beta3-py2.5.egg", "has_sig": false, "md5_digest": "542b150f03a6c1235288ac76b4fb43be", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 20663, "upload_time": "2007-06-04T07:08:19", "url": "https://files.pythonhosted.org/packages/73/8f/e2bb79c93988582ef66579556845dddd535a0242925cc9c94076ef54c313/tgcrud-1.0Beta3-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "2ced3bcc6c7e9e0eeac702c2aa092037", "sha256": "e182d10c26a5de772ebb73212b63824f296c522f1de9ad167091987ec1ad463c" }, "downloads": -1, "filename": "tgcrud-1.0Beta3.win32.zip", "has_sig": false, "md5_digest": "2ced3bcc6c7e9e0eeac702c2aa092037", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22587, "upload_time": "2007-06-04T07:08:07", "url": "https://files.pythonhosted.org/packages/07/f7/6233e34e6d5eef60422dd44c7ce162928799f7697ccb28542a06bfda1f4d/tgcrud-1.0Beta3.win32.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f764e9f9161da2b84851e08445541a1e", "sha256": "cf457545f2af3748622a7954434ae0ee25a596902c3dbfc01562a266fef12f8c" }, "downloads": -1, "filename": "tgcrud-1.0.2-py2.5.egg", "has_sig": false, "md5_digest": "f764e9f9161da2b84851e08445541a1e", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 18800, "upload_time": "2008-07-14T04:23:37", "url": "https://files.pythonhosted.org/packages/2b/45/951eab3ce4bcb5e434345000db2db96c4bd0c5b1576b40c0fefa3607605f/tgcrud-1.0.2-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "8b20e48459ff5ce2e0443a7c99d4f5ed", "sha256": "c0c18df680757bb731929c1d968f713a5cd43a7e03a089fffa3f128624ba585a" }, "downloads": -1, "filename": "tgcrud-1.0.2.zip", "has_sig": false, "md5_digest": "8b20e48459ff5ce2e0443a7c99d4f5ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24276, "upload_time": "2008-07-14T04:23:40", "url": "https://files.pythonhosted.org/packages/22/bd/d91391ff0ddae6750e411a19ad7c5beb35f73ef69ec211407cbadd41e46e/tgcrud-1.0.2.zip" } ] }