معرفی شرکت ها


ftw.jsondump-1.1.0


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

JSON representation for plone content
ویژگی مقدار
سیستم عامل -
نام فایل ftw.jsondump-1.1.0
نام ftw.jsondump
نسخه کتابخانه 1.1.0
نگهدارنده []
ایمیل نگهدارنده []
نویسنده 4teamwork AG
ایمیل نویسنده mailto:info@4teamwork.ch
آدرس صفحه اصلی https://github.com/4teamwork/ftw.jsondump
آدرس اینترنتی https://pypi.org/project/ftw.jsondump/
مجوز GPL2
``ftw.jsondump`` provides JSON representations for Plone objects. By using adapters the JSON representation can easily be customized. .. contents:: Table of Contents Installation ============ Add the package as dependency to your setup.py: .. code:: python setup(... install_requires=[ ... 'ftw.jsondump', ]) or to your buildout configuration: .. code:: ini [instance] eggs += ftw.jsondump and rerun buildout. Usage ===== For extracting the JSON of an object, use the ``IJSONRepresentation`` adapter: .. code:: python from ftw.jsondump.interfaces import IJSONRepresentation from zope.component import getMultiAdapter json_representation = getMultiAdapter((context, request), IJSONRepresentation) print json_representation.json() Partials -------- The JSON is built using "partials", which are merged into one ``dict``. There are various default partials: - ``metadata`` partial, providing infos such as ``_type`` and ``_class`` - ``fields`` partial extracting Archetypes and Dexterity field data - ``uid`` partial, providing the UID in ``_uid`` - ``localroles`` partial, extracting the local roles - ``workflow`` partial, providing the ``_workflow_chain`` and the ``_workflow_history`` - ``properties`` partial, providing local properties in ``_properties`` - ``interfaces`` partial, extracting the directly provided interfaces in ``_directly_provided`` **Selecting partials** The desired partials can be selected when extracting the JSON: .. code:: python from ftw.jsondump.interfaces import IJSONRepresentation from zope.component import getMultiAdapter json_representation = getMultiAdapter((context, request), IJSONRepresentation) print json_representation.json(only=['fields', 'metadata']) print json_representation.json(exclude=['localroles']) **File blob data** The file data is extracted by default as base64 encoded string and embedded in the JSON document. This fieldata can be excluded with the ``filedata`` configuration: .. code:: python from ftw.jsondump.interfaces import IJSONRepresentation from zope.component import getMultiAdapter json_representation = getMultiAdapter((context, request), IJSONRepresentation) print json_representation.json(filedata=False) For doing custom things with the filedata, a callback can be used: .. code:: python from ftw.jsondump.interfaces import IJSONRepresentation from zope.component import getMultiAdapter def file_callback(context, key, fieldname, data, filename, mimetype, jsondata): with open('./tmp/' + filename, 'w+b') as target: target.write(data) json_representation = getMultiAdapter((context, request), IJSONRepresentation) print json_representation.json(file_callback=file_callback) Creating custom partials ------------------------ Custom partials can easily be registered as adapter: *configure.zcml:* .. code:: xml <adapter factory=".partial.CustomAnnotations" name="custom_annotations" /> *partial.py:* .. code:: python from ftw.jsondump.interfaces import IPartial from my.package.interfaces import ICustomContent from zope.annotation import IAnnotations from zope.component import adapts from zope.interface import Interface from zope.interface import implements class CustomAnnotations(object): implements(IPartial) adapts(ICustomContent, Interface) def __init__(self, context, request): self.context = context self.request = request def __call__(self, config): annotations = IAnnotations(self.context) return {'_custom_annotations': dict(annotations.get('custom_config'))} Field data extractors --------------------- The Archetypes and Dexterity partial use field data extractor adapters for extracting the field data and converting it to a JSON serializable value. Custom extractors can easily be registered for custom fields: *configure.zcml:* .. code:: xml <adapter factory=".extractor.CustomFieldExtractor" /> *extractor.py:* .. code:: python from ftw.jsondump.interfaces import IFieldExtractor from my.package import ICustomField from zope.component import adapts from zope.interface import implements from zope.interface import Interface class CustomFieldExtractor(object): implements(IFieldExtractor) adapts(Interface, Interface, ICustomField) def __init__(self, context, request, field): self.context = context self.request = request self.field = field def extract(self, name, data, config): value = self.field.get(self.context) value = value.prepare_for_serialization() data.update({name: value}) Links ===== - Github: https://github.com/4teamwork/ftw.jsondump - Issues: https://github.com/4teamwork/ftw.jsondump/issues - Pypi: http://pypi.python.org/pypi/ftw.jsondump - Continuous integration: https://jenkins.4teamwork.ch/search?q=ftw.jsondump Copyright ========= This package is copyright by `4teamwork <http://www.4teamwork.ch/>`_. ``ftw.jsondump`` is licensed under GNU General Public License, version 2. Changelog ========= 1.1.0 (2015-10-11) ------------------ - Change file_callback signature to also include the key used in the dict. For dexterity content, the key is different than the fieldname because it is prefixed with the interface dottedname. - Old: ``file_callback(context, fieldname, data, filename, mimetype, jsondata)`` - New: ``file_callback(context, key, fieldname, data, filename, mimetype, jsondata)`` [jone] - Dexterity: support exporting RichTextValue objects. [jone] 1.0.0 (2015-05-05) ------------------ - Initial implementation [maethu, jone]


نحوه نصب


نصب پکیج whl ftw.jsondump-1.1.0:

    pip install ftw.jsondump-1.1.0.whl


نصب پکیج tar.gz ftw.jsondump-1.1.0:

    pip install ftw.jsondump-1.1.0.tar.gz