Esempio n. 1
0
    def set(self, value):
        """See z3c.form.interfaces.IDataManager"""

        handle = zope.component.getUtility(IConnectorHandle).get_handle()
        storage_key = self.storage_key

        if not value:
            for name in (self.storage_key, self.storage_key + '.metadata.xml'):
                if handle.exists(name):
                    handle.remove(name)
            return

        dirname = os.path.dirname(storage_key)
        if not handle.exists(dirname):
            handle.makedir(dirname, True, True)
        metadata = dict(sha256=hashlib.sha256(value.data).hexdigest(),
                        filename=value.filename,
                        contenttype=value.contentType)
        with handle.open(storage_key, 'wb') as fp:
            with handle.open(storage_key + '.metadata.xml',
                             'wb') as fp_metadata:
                fp.write(value.data)
                fp_metadata.write(
                    util.metadata_to_xml(context=self.context,
                                         metadata=metadata))
Esempio n. 2
0
    def set(self, value):
        """See z3c.form.interfaces.IDataManager"""

        handle = zope.component.getUtility(IWebdavHandle).webdav_handle()
        storage_key = self.storage_key
        dirname = os.path.dirname(storage_key)

        if not value:
            for name in (storage_key, storage_key + 'metadata.xml'):
                if handle.exists(name):
                    handle.remove(name)
            return

        if not handle.exists(dirname):
            handle.makedir(dirname, True, True)
        value_utf8 = normalize_xml(value)
        value_sha256 = xml_hash(value_utf8)
        with handle.open(storage_key, 'wb') as fp:
            with handle.open(storage_key + '.metadata.xml',
                             'wb') as fp_metadata_xml:
                fp.write(value_utf8)
                metadata = dict(sha256=value_sha256)
                fp_metadata_xml.write(
                    util.metadata_to_xml(context=self.context,
                                         metadata=metadata))
    def test_metadata_to_xml_plone_root(self):

        from xmldirector.plonecore.dx import util

        xml = util.metadata_to_xml(self.portal)
        metadata = util.xml_to_metadata(xml)
        self.assertEqual(metadata['plone-path'], '/plone')
        self.assertEqual(metadata['plone-uid'], None)
    def test_metadata_to_xml_plone_root(self):

        from xmldirector.plonecore.dx import util

        xml = util.metadata_to_xml(self.portal)
        metadata = util.xml_to_metadata(xml)
        self.assertEqual(metadata['plone-path'], '/plone')
        self.assertEqual(metadata['plone-uid'], None)
    def set(self, value):
        """See z3c.form.interfaces.IDataManager"""

        handle = zope.component.getUtility(IWebdavHandle).webdav_handle()
        storage_key = self.storage_key
        dirname = os.path.dirname(storage_key)

        if not value:
            for name in (storage_key, storage_key + 'metadata.xml'):
                if handle.exists(name):
                    handle.remove(name)
            return

        if not handle.exists(dirname):
            handle.makedir(dirname, True, True)
        value_utf8 = normalize_xml(value)
        value_sha256 = xml_hash(value_utf8)
        with handle.open(storage_key, 'wb') as fp:
            with handle.open(storage_key + '.metadata.xml', 'wb') as fp_metadata_xml:
                fp.write(value_utf8)
                metadata = dict(sha256=value_sha256)
                fp_metadata_xml.write(
                    util.metadata_to_xml(context=self.context, metadata=metadata))
    def set(self, value):
        """See z3c.form.interfaces.IDataManager"""

        handle = zope.component.getUtility(IWebdavHandle).webdav_handle()
        storage_key = self.storage_key

        if not value:
            for name in (self.storage_key, self.storage_key + '.metadata.xml'):
                if handle.exists(name):
                    handle.remove(name)
            return

        dirname = os.path.dirname(storage_key)
        if not handle.exists(dirname):
            handle.makedir(dirname, True, True)
        metadata = dict(sha256=hashlib.sha256(value.data).hexdigest(),
                        filename=value.filename,
                        contenttype=value.contentType)
        with handle.open(storage_key, 'wb') as fp:
            with handle.open(storage_key + '.metadata.xml', 'wb') as fp_metadata:
                fp.write(value.data)
                fp_metadata.write(
                    util.metadata_to_xml(context=self.context, metadata=metadata))