{ "info": { "author": "4teamwork AG", "author_email": "mailto:info@4teamwork.ch", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Framework :: Plone :: 4.2", "Framework :: Plone :: 4.3", "Intended Audience :: Developers", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "ftw.avatar\n==========\n\n``ftw.avatar`` generates a personal default avatar for new Plone users.\n\n\n\nInstallation\n------------\n\nSimply install the ``ftw.avatar`` egg by adding it to the dependencies in your package\nor by adding it to your buildout configuration::\n\n [instance]\n eggs +=\n ftw.avatar\n\nThere is no need to install the addon in the Plone site, it automatically hooks in.\n\n\nDependencies\n------------\n\nGenerating avatars requires a `Pillow`_ (or PIL) installation with `freetype`_ support.\n\n``freetype`` can easily be installed on OS X with `homebrew`_::\n\n $ brew install freetype\n\nAfter installing ``freetype`` Pillow may need to be rebuilt.\n\n\n\n\nDefault avatar generation\n-------------------------\n\n``ftw.avatar`` generates default avatars for users which have not yet defined\nan avatar (Personal portrait) in the personal preferences.\nThe avatar is generated with a random background color and two characters of\ntheir name.\n\n**Examples:**\n\n.. image:: https://raw.github.com/4teamwork/ftw.avatar/master/docs/examples/an.png\n\n.. image:: https://raw.github.com/4teamwork/ftw.avatar/master/docs/examples/ct.png\n\n.. image:: https://raw.github.com/4teamwork/ftw.avatar/master/docs/examples/pi.png\n\n\n\nPlone patches\n-------------\n\n**Maximum user portait scale**\n\n``Products.PlonePAS`` limits the maximum size of user portraits\n(a.k.a. avatars) to 75x100.\n``ftw.avatar`` increases the size to a maximum of 300x300, allowing to\nbuild pages with bigger avatars such as user pages.\n\n\n**Default user portrait patch**\n\n``ftw.avatar`` patches ``Products.PlonePAS`` to generate a default avatar\nwhen the user portrait is retrieved the first time and the user has not yet\nset an avatar.\n``membership_tool.getPersonalPortrait()`` is patched.\n\n\n\nAvatar scaling\n--------------\n\n``ftw.avatar`` extends the avatar default view to accept a scaling parameter.\nThe ``size`` parameter is used as maximum width and maximum height for\nthe scale.\n\nExample URL: ``http://localhost:8080/Plone/portal_memberdata/portraits/admin?size=26``\n\n\n\nFont licensing\n--------------\n\nFor generating the avatar the font ``Fantasque Sans Mono`` is used.\nThe font is licensed under the SIL Open Font License, see the\n`License File `_\n\n\n\nLinks\n-----\n\n- github project: https://github.com/4teamwork/ftw.avatar\n- Issues: https://github.com/4teamwork/ftw.avatar/issues\n- Pypi: http://pypi.python.org/pypi/ftw.avatar\n- Continuous integration: https://jenkins.4teamwork.ch/search?q=ftw.avatar\n\n\nCopyright\n---------\n\nThis package is copyright by `4teamwork `_.\n\n``ftw.avatar`` is licensed under GNU General Public License, version 2.\n\n.. _Pillow: http://pillow.readthedocs.org/\n.. _freetype: http://www.freetype.org/\n.. _homebrew: http://brew.sh/\n\nChangelog\n=========\n\n\n2.1.0 (2019-06-17)\n------------------\n\n- Avoid writes on read - create default avatar on login instead of on portrait\n access. [phgross]\n\n\n2.0.1 (2016-08-12)\n------------------\n\n- Fix aggressive caching of the portrait image by not considering the modified\n date because the OFS image does not have one (is acquired instead).\n [mbaechtold]\n\n\n2.0.0 (2016-06-01)\n------------------\n\n- Changed utility method IAvatarGenerator.generate to take userid instead of full name.\n This makes the utility more flexible while overwriting because the user can now\n be identified accurately.\n [lknoepfel]\n\n\n1.0.7 (2015-09-02)\n------------------\n\n- Fix error when fullname has leading spaces.\n [jone]\n\n\n1.0.6 (2015-03-09)\n------------------\n\n- Fix error when portrait is stored as Pdata object.\n [jone]\n\n\n1.0.5 (2015-01-09)\n------------------\n\n- Fix user fullname lookup when user does not exist.\n [jone]\n\n\n1.0.4 (2015-01-08)\n------------------\n\n- Fix userid lookup when user does not exist.\n [jone]\n\n\n1.0.3 (2014-09-15)\n------------------\n\n- BugFix: Do not break if username (loginname) is passed as userid.\n Like plone.app.discussion does until 2.3.2\n [mathias.leimgruber]\n\n\n1.0.2 (2014-05-03)\n------------------\n\n- Fix _imagingft check to support Pillow >= 2.1.0, where imports have changed.\n [jone]\n\n\n1.0.1 (2014-02-07)\n------------------\n\n- Do not try to generate the image if _imagingft is not installed.\n Log an error instead.\n [Julian Infanger]\n\n\n1.0.0 (2014-02-06)\n------------------\n\n- Initial implementation.\n [jone]", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/4teamwork/ftw.avatar", "keywords": "ftw avatar personal user portrait plone", "license": "GPL2", "maintainer": "", "maintainer_email": "", "name": "ftw.avatar", "package_url": "https://pypi.org/project/ftw.avatar/", "platform": "", "project_url": "https://pypi.org/project/ftw.avatar/", "project_urls": { "Homepage": "https://github.com/4teamwork/ftw.avatar" }, "release_url": "https://pypi.org/project/ftw.avatar/2.1.0/", "requires_dist": null, "requires_python": "", "summary": "Generates a personal default avatar for new Plone users", "version": "2.1.0" }, "last_serial": 5823400, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "618f69e8ff556e4e8059c6c1808de750", "sha256": "1e8a2f63c15ff4000019eb0e3718218918c591f2bc3351eadc995f88d0774557" }, "downloads": -1, "filename": "ftw.avatar-1.0.0.zip", "has_sig": false, "md5_digest": "618f69e8ff556e4e8059c6c1808de750", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83054, "upload_time": "2014-02-06T09:02:29", "url": "https://files.pythonhosted.org/packages/47/56/d737851de426d451a487d84c76a100adbeaeff4f28ba5312953823282054/ftw.avatar-1.0.0.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "84ec9fce596f9c967e1caa2499da215a", "sha256": "82340e58b541384f74ca7f56a5b2d9ebe44444ba5c47d555ad8afec9a18fba9e" }, "downloads": -1, "filename": "ftw.avatar-1.0.1.zip", "has_sig": false, "md5_digest": "84ec9fce596f9c967e1caa2499da215a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83385, "upload_time": "2014-02-07T13:00:19", "url": "https://files.pythonhosted.org/packages/6a/0d/b4e81ecf634362bbb278870b6060e63aedde698c309345e8a76d29a7dc15/ftw.avatar-1.0.1.zip" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "cefb985a9afbee35bf18371d879e0b9f", "sha256": "2deb434295df2cc348678fcb098ab03a80e33363a7da1e5d9cd564eb5197b10c" }, "downloads": -1, "filename": "ftw.avatar-1.0.2.zip", "has_sig": false, "md5_digest": "cefb985a9afbee35bf18371d879e0b9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84134, "upload_time": "2014-05-03T16:50:52", "url": "https://files.pythonhosted.org/packages/d7/ca/49d9963b3576787cb9171d507a6b0974abe40926c2f33d9d9f03efad8cfc/ftw.avatar-1.0.2.zip" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "93dae352148b7911ea936c55a7980412", "sha256": "9eb8776fea9180545d5bb13933669bffac80d962b51621ce1d3fe23830cf6aea" }, "downloads": -1, "filename": "ftw.avatar-1.0.3.zip", "has_sig": false, "md5_digest": "93dae352148b7911ea936c55a7980412", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84671, "upload_time": "2014-09-15T11:53:44", "url": "https://files.pythonhosted.org/packages/ef/34/c53ecd4e7c093b65118b1d208f75f4dfab0624d13c9729db3dc7a77c4e59/ftw.avatar-1.0.3.zip" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "f777eee8476842a15323a844bf11355e", "sha256": "70a4a4bdc104a85b90cc3f32f4c7b68edad57ecedc414a3a6b1a42c8b8565a7c" }, "downloads": -1, "filename": "ftw.avatar-1.0.4.zip", "has_sig": false, "md5_digest": "f777eee8476842a15323a844bf11355e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84783, "upload_time": "2015-01-08T17:35:05", "url": "https://files.pythonhosted.org/packages/ac/e6/12c84f07ca9f7ef4cd05ed8f0d109ebedc272928f61213f7066e85c4c8f8/ftw.avatar-1.0.4.zip" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "5cb6b5d72ac0e407cb7b8d8b9c3530c4", "sha256": "6acc82752af67007962a039d4ca9908f22e0ad9bb59782bc02dccb9ec2cef6da" }, "downloads": -1, "filename": "ftw.avatar-1.0.5.zip", "has_sig": false, "md5_digest": "5cb6b5d72ac0e407cb7b8d8b9c3530c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84857, "upload_time": "2015-01-09T10:17:45", "url": "https://files.pythonhosted.org/packages/6d/94/54e68ffee508bcdc11fbd5917495d65015ec5f28a871ee97d2783927886b/ftw.avatar-1.0.5.zip" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "9e105b1e9c2b36dceafe452c2c3cc429", "sha256": "5d74b79e8428adf2cba665295fa2a2af1d2df9be07e4dafa1a5a20412fa5db48" }, "downloads": -1, "filename": "ftw.avatar-1.0.6.zip", "has_sig": false, "md5_digest": "9e105b1e9c2b36dceafe452c2c3cc429", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85111, "upload_time": "2015-03-09T11:09:13", "url": "https://files.pythonhosted.org/packages/af/aa/129490843995850743c8fbc52ca7d1c1ef946b57ee2312bee36829de1b5f/ftw.avatar-1.0.6.zip" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "b19b4fb64e3e12d828404f42db909e2c", "sha256": "f246b18b921b3721f09b4a8f4fa8f73309b8475e67d749b5c61e228995f9ce47" }, "downloads": -1, "filename": "ftw.avatar-1.0.7.tar.gz", "has_sig": false, "md5_digest": "b19b4fb64e3e12d828404f42db909e2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73417, "upload_time": "2015-09-02T13:22:54", "url": "https://files.pythonhosted.org/packages/cd/a1/25472c11ba616c55bb0ff0a29c8c77faa225697250edd46df761fbebd2dd/ftw.avatar-1.0.7.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "1ac3ad5164330ad6d8a76da8e7901af7", "sha256": "6165ef059a8f9e0271574ce9496991224beb78bdc787551f640fa90891706556" }, "downloads": -1, "filename": "ftw.avatar-2.0.0.zip", "has_sig": false, "md5_digest": "1ac3ad5164330ad6d8a76da8e7901af7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85750, "upload_time": "2016-05-31T09:22:28", "url": "https://files.pythonhosted.org/packages/0d/7a/01b5474265f5f43c2174da8a42d3203022d5f4a8ca0e4a0c6c0bb221c1e3/ftw.avatar-2.0.0.zip" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "466a99f5c4666c3399d0ae5a8b4e34eb", "sha256": "9567e011c1a7f0a4c680a038f081ac49b184615ef5f5e49ff94215eb65ca7858" }, "downloads": -1, "filename": "ftw.avatar-2.0.1.zip", "has_sig": false, "md5_digest": "466a99f5c4666c3399d0ae5a8b4e34eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85996, "upload_time": "2016-08-12T08:47:19", "url": "https://files.pythonhosted.org/packages/43/22/5c414c84492b087459661f1664f2965076c86d9e353c5620800f1a2b3bd8/ftw.avatar-2.0.1.zip" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "9ab6b2a26ab34ccb12c8b57c4ea5fbec", "sha256": "c6a6e1da310192eb70061d5ccdfb125d897bddbccddae0b1f9c7030318f08b13" }, "downloads": -1, "filename": "ftw.avatar-2.1.0.tar.gz", "has_sig": false, "md5_digest": "9ab6b2a26ab34ccb12c8b57c4ea5fbec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75705, "upload_time": "2019-06-17T12:37:54", "url": "https://files.pythonhosted.org/packages/86/96/30b05ba682f75049dd041540c8a1372b37903784a35c093a7b35b44ec5a6/ftw.avatar-2.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9ab6b2a26ab34ccb12c8b57c4ea5fbec", "sha256": "c6a6e1da310192eb70061d5ccdfb125d897bddbccddae0b1f9c7030318f08b13" }, "downloads": -1, "filename": "ftw.avatar-2.1.0.tar.gz", "has_sig": false, "md5_digest": "9ab6b2a26ab34ccb12c8b57c4ea5fbec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75705, "upload_time": "2019-06-17T12:37:54", "url": "https://files.pythonhosted.org/packages/86/96/30b05ba682f75049dd041540c8a1372b37903784a35c093a7b35b44ec5a6/ftw.avatar-2.1.0.tar.gz" } ] }