{ "info": { "author": "Funkbit", "author_email": "post@funkbit.no", "bugtrack_url": null, "classifiers": [], "description": "# Django Groove\n\ndjango-groove is a Django app with various utilities, such as a template\ncontext processor that adds the current Django Site object and an utility\nmethod for sending HTML mail.\n\n\n## Installation\n\nInstall `django-groove` (available on PyPi):\n\n\tpip install django-groove\n\n\n## Components\n\n### `groove.auth.decorators`\n\nTwo decorators that limits a view with Django User permissions, includes checks\nfor staff or super users. Raises a 404 if user does not have sufficient\npermission, security through obscurity.\n\nAvailable decorators: `staff_required` and `superuser_required`.\n\nExample usage in views:\n\n @superuser_required\n def index(request):\n ...\n\nExample usage in URL config:\n\n url(r'^$', superuser_required('views.index'), name='index'),\n\n\n### `groove.context_processors.site.current_site`\n\nA template context processor that adds the current Django Site object to the\ntemplate context. Uses `RequestSite` as fallback.\n\nAdd this to your settings.py:\n\n from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS\n TEMPLATE_CONTEXT_PROCESSORS += (\n 'groove.context_processors.site.current_site',\n )\n\nYou can now use `{{ site.name }}` and `{{ site.domain }}` in all your templates.\n\n\n### `groove.email.html.send_html_email`\n\nA shortcut to ease sending of HTML enabled email. Adds current site, media and\nstatic URLs to template context, if not present.\n\nUsage:\n\n from groove.email.html import send_html_email\n email_sent = send_html_email('foo@example.com', 'account/welcome', {'user': user})\n\nWith `template_prefix` as `'account/welcome'`, the following templates\nare rendered with `user` variable available:\n* account/welcome.txt (plain text version)\n* account/welcome.html (HTML version)\n* account/welcome_subject.txt (plain text subject, one line only)\n\n\n### `groove.http.JsonResponse`\n\nAn HTTP response class with JSON mime type, optionally dumps given object\nto JSON. Also converts datetime and Decimal objects properly.\n\n\n### `groove.models.abstract.TimestampedModel`\n\nAbstract Django class that automatically timestamps object instances upon\ncreation and modification.\n\nInherit from `TimestampedModel` instead of `models.Model` to automatically add\n`creation_time` and `modification_time` fields to model.\n\n\n### `groove.storage.s3`\n\nDefines two `s3boto` storage classes to ease the separation of static and\nmedia files when using Amazon S3.\n\n\n### `groove.views.generic.LimitedTemplateView`\n\nWrapper around TemplateView generic view with a login required decorator.\n\nExample usage in URL config:\n\n url(r'^secret/$', LimitedTemplateView.as_view(\n\t\ttemplate_name='secret.html'), name='secret'),\n\n\n### `groove.views.generic.ExtraContextTemplateView`\n\nExtends TemplateView to accept a dictionary of additional context.\n\nExample usage in URL config:\n\n\turl(r'^foo/$', ExtraContextTemplateView.as_view(\n\t\ttemplate_name='foo.html', extra_context={'foo': 'bar'})),", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/funkbit/django-groove", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "django-groove", "package_url": "https://pypi.org/project/django-groove/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-groove/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/funkbit/django-groove" }, "release_url": "https://pypi.org/project/django-groove/0.4.6/", "requires_dist": null, "requires_python": null, "summary": "Various utilities for Django projects.", "version": "0.4.6" }, "last_serial": 2861692, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "31888926eb109a6792409ed68dcb63e2", "sha256": "28325ab7719e6e01d269f67f5141984d2e5e39cb2798a55d438f186da871be39" }, "downloads": -1, "filename": "django-groove-0.1.0.tar.gz", "has_sig": false, "md5_digest": "31888926eb109a6792409ed68dcb63e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3520, "upload_time": "2012-09-24T12:24:31", "url": "https://files.pythonhosted.org/packages/02/60/9583b0c5ef7c1a8b8919aa55bc00c80a6c654de7252b8f9476ee93aa6faf/django-groove-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "42c6b7f95ce1f1bbe72e32cfdd581916", "sha256": "20013822a3e39c16aedec57603ed89a1dbdf5ac68e860b4814368a874b9784f8" }, "downloads": -1, "filename": "django-groove-0.1.1.tar.gz", "has_sig": false, "md5_digest": "42c6b7f95ce1f1bbe72e32cfdd581916", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4086, "upload_time": "2012-09-25T22:52:28", "url": "https://files.pythonhosted.org/packages/f4/f6/d82b282a5d6243fa3834e5ac6d1255923a95f993046af93ee457b6b9daa4/django-groove-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "2e92269c475e1c2c03bb64db048e2be0", "sha256": "1b972cf7809741aaed5452eac17e111144e48d32a608d3a405e672e4f045db3d" }, "downloads": -1, "filename": "django-groove-0.2.0.tar.gz", "has_sig": false, "md5_digest": "2e92269c475e1c2c03bb64db048e2be0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4458, "upload_time": "2012-09-27T13:07:42", "url": "https://files.pythonhosted.org/packages/0a/0d/e65e644589893fce2471eab2d8351de18ab3d8cd5706aecd7d38ff236b4d/django-groove-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "9c702287b23ef01d03a3e953ff569891", "sha256": "f3dd474e263b7698b60426fbe0f7da7bbfebe05ef7e7ccb57a312a99111e244d" }, "downloads": -1, "filename": "django-groove-0.2.1.tar.gz", "has_sig": false, "md5_digest": "9c702287b23ef01d03a3e953ff569891", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4611, "upload_time": "2012-10-04T16:01:10", "url": "https://files.pythonhosted.org/packages/35/f4/8a26a42bfb24d6d8c6b497fd4f5b87f827cf38f58c3c3868f4c8e09a190a/django-groove-0.2.1.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "2a9f5a76261d106b8cb1a0423a9653d6", "sha256": "7a1e60456cdd79c23a761985dc69bc570a6b453c57443f4b614f3f2637a01586" }, "downloads": -1, "filename": "django-groove-0.2.3.tar.gz", "has_sig": false, "md5_digest": "2a9f5a76261d106b8cb1a0423a9653d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4878, "upload_time": "2012-10-19T11:46:34", "url": "https://files.pythonhosted.org/packages/a6/ab/576ee95229b4ca3c04a3481b4eaeabc1a690bdd552f8e6b72f107d48270d/django-groove-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "0ad35c414e8186f764036e7ed830eaf1", "sha256": "e037e658c4c36b556bf7f02f44db3b0b83d5b5e651e7f76ccb1e64789b821615" }, "downloads": -1, "filename": "django-groove-0.2.4.tar.gz", "has_sig": false, "md5_digest": "0ad35c414e8186f764036e7ed830eaf1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4962, "upload_time": "2012-10-19T14:01:20", "url": "https://files.pythonhosted.org/packages/fe/8a/7abd729fbb15eb763c13a445a338a5c1fb0b57d64984dfb5817f39f6a2bf/django-groove-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "73291f41c285bb101222810478c88fc8", "sha256": "20b3ed9bddec8daf7cdfd1e4ade52521f18b8285a98e7d9f798afc433b22fa2a" }, "downloads": -1, "filename": "django-groove-0.2.5.tar.gz", "has_sig": false, "md5_digest": "73291f41c285bb101222810478c88fc8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4967, "upload_time": "2012-11-29T12:48:49", "url": "https://files.pythonhosted.org/packages/0f/a6/e7ddd0ae5116d924d416b305c3394612ebaf1b0e782e2d4b4c17bea6803b/django-groove-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "54683c9b73507eb47e6b6f2b59e40b51", "sha256": "f761e65f4ba842f07bb32f7be80b18be04705cb501b08b1ec4e0295a9be185be" }, "downloads": -1, "filename": "django-groove-0.2.6.tar.gz", "has_sig": false, "md5_digest": "54683c9b73507eb47e6b6f2b59e40b51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5874, "upload_time": "2013-01-30T11:34:57", "url": "https://files.pythonhosted.org/packages/4e/05/807c5c1e0610740dfdbec772a22d984bd65f3b987bf67ed28ed4d98fb4b6/django-groove-0.2.6.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "f3ffed3d4fef935d7ab77f03d8bface0", "sha256": "d14295c6486851b856bbf9969284687544b683b60f02b149fa55b142e43f9323" }, "downloads": -1, "filename": "django-groove-0.3.0.tar.gz", "has_sig": false, "md5_digest": "f3ffed3d4fef935d7ab77f03d8bface0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6143, "upload_time": "2013-08-21T13:38:23", "url": "https://files.pythonhosted.org/packages/91/c8/7c7d1324e9b7cb044b09acd04b2a12f0f6c1dcc831d02b1b1a31e1d24922/django-groove-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "4503aafe656f4d57a83b170fa6612a49", "sha256": "371e0b80f7e413c8944bbcaed9fade711425c740934e08bd15848c1e0f7b3c20" }, "downloads": -1, "filename": "django-groove-0.3.1.tar.gz", "has_sig": false, "md5_digest": "4503aafe656f4d57a83b170fa6612a49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6144, "upload_time": "2013-08-21T13:45:05", "url": "https://files.pythonhosted.org/packages/80/26/eec04746b88f188a6c7295f73f3a09f5324c096b63a56268b5904c5b6f2c/django-groove-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "21ea051bfc33ebb370d3be856f7bf65d", "sha256": "f3598a605ec177265cf1f6571ecbd248e892041e5f6bb5b473f98c5c05e97e17" }, "downloads": -1, "filename": "django-groove-0.3.2.tar.gz", "has_sig": false, "md5_digest": "21ea051bfc33ebb370d3be856f7bf65d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7307, "upload_time": "2014-03-06T11:15:43", "url": "https://files.pythonhosted.org/packages/5c/30/58323808ab98a8774462ec5abf822a5092701699f251c03e23b61958f69a/django-groove-0.3.2.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "24f8f67b8a8389552bbcb9378c9e7462", "sha256": "0279b6ee1978e3170248b74070ba8e51edbca5d0cf7eb4f70b48a7a6b52c9443" }, "downloads": -1, "filename": "django-groove-0.3.5.tar.gz", "has_sig": false, "md5_digest": "24f8f67b8a8389552bbcb9378c9e7462", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7305, "upload_time": "2014-03-18T16:43:19", "url": "https://files.pythonhosted.org/packages/98/e0/5032d2b26face13e53d4e166a923bed869ab53d9064c9dc80037f86e92d0/django-groove-0.3.5.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "a75c7ca233689e60b11748a3ddd91d90", "sha256": "a997316caac11d993926bbeb6e280f53108a6d59c72dcc5705db385ebc820a3e" }, "downloads": -1, "filename": "django-groove-0.4.0.tar.gz", "has_sig": false, "md5_digest": "a75c7ca233689e60b11748a3ddd91d90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7548, "upload_time": "2014-06-18T06:14:41", "url": "https://files.pythonhosted.org/packages/74/80/53e5e28fe4b3ef9b429efbc05255c913bb1920409a34419ccd9aa67c723f/django-groove-0.4.0.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "fcde7d0908709e9af01644acbd85d20f", "sha256": "7a4eaa6ab9add93d0a3c7df29b9a4b2a205ad941d717c3105d6b934fb3b15c69" }, "downloads": -1, "filename": "django-groove-0.4.5.tar.gz", "has_sig": false, "md5_digest": "fcde7d0908709e9af01644acbd85d20f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7510, "upload_time": "2015-05-29T12:57:16", "url": "https://files.pythonhosted.org/packages/83/03/bddfa865825dc9bf2d206597a07396e97514a59c5dbfacf5e441b0d6a133/django-groove-0.4.5.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "46ccb14d81bc2071bba5db50c2a76908", "sha256": "9c537bd0a6b0c45225b02d6f7a12d29e0bf4a0f0d94d657e436fbe6d18ff417b" }, "downloads": -1, "filename": "django-groove-0.4.6.tar.gz", "has_sig": false, "md5_digest": "46ccb14d81bc2071bba5db50c2a76908", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7608, "upload_time": "2016-06-10T11:22:33", "url": "https://files.pythonhosted.org/packages/a6/71/5565660c02666920e93ceddf6ea706fc4e38906c7e9395cfc0bbd0e7f03a/django-groove-0.4.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "46ccb14d81bc2071bba5db50c2a76908", "sha256": "9c537bd0a6b0c45225b02d6f7a12d29e0bf4a0f0d94d657e436fbe6d18ff417b" }, "downloads": -1, "filename": "django-groove-0.4.6.tar.gz", "has_sig": false, "md5_digest": "46ccb14d81bc2071bba5db50c2a76908", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7608, "upload_time": "2016-06-10T11:22:33", "url": "https://files.pythonhosted.org/packages/a6/71/5565660c02666920e93ceddf6ea706fc4e38906c7e9395cfc0bbd0e7f03a/django-groove-0.4.6.tar.gz" } ] }