示例#1
0
    def test_cloneDirectory(self):
        from plone.resource.directory import PersistentResourceDirectory
        from plone.resource.utils import cloneResourceDirectory

        root = BTreeFolder2('portal_resources')
        root._setOb('demo', BTreeFolder2('demo'))
        root['demo']._setOb('foo', BTreeFolder2('foo'))
        root['demo']._setOb('bar', BTreeFolder2('bar'))

        source = PersistentResourceDirectory(root['demo']['foo'])
        target = PersistentResourceDirectory(root['demo']['bar'])

        source.writeFile('file1.txt', 'file1')
        source.writeFile('subdir1/file2.txt', 'file2')
        source.makeDirectory('subdir2')

        cloneResourceDirectory(source, target)

        self.assertEqual(source.listDirectory(), target.listDirectory())
        self.assertEqual(source['subdir1'].listDirectory(),
                         target['subdir1'].listDirectory())
        self.assertEqual(source['subdir2'].listDirectory(),
                         target['subdir2'].listDirectory())
        self.assertEqual(source.readFile('file1.txt'),
                         target.readFile('file1.txt'))
        self.assertEqual(source.readFile('subdir1/file2.txt'),
                         target.readFile('subdir1/file2.txt'))
示例#2
0
    def __call__(self):
        filedata = self.request.form.get("file", None)

        if filedata is None:
            return json.dumps({'failure':'error'})
        
        directory = PersistentResourceDirectory(self.context)
        name = filedata.filename.encode('utf-8')
        data = filedata.read()

        try:
            directory.writeFile(name, data)
            self.request.response.setHeader('Content-Type', 'application/json')
        except:
            return json.dumps({'failure':'error'})

        return json.dumps({'success':'create'})
示例#3
0
    def __call__(self):
        filedata = self.request.form.get("file", None)

        if filedata is None:
            return json.dumps({'failure': 'error'})

        directory = PersistentResourceDirectory(self.context)
        name = filedata.filename.encode('utf-8')
        data = filedata.read()

        try:
            directory.writeFile(name, data)
            self.request.response.setHeader('Content-Type', 'application/json')
        except:
            return json.dumps({'failure': 'error'})

        return json.dumps({'success': 'create'})
示例#4
0
    def test_cloneDirectory(self):
        from plone.resource.directory import PersistentResourceDirectory
        from plone.resource.utils import cloneResourceDirectory

        root = BTreeFolder2('portal_resources')
        root._setOb('demo', BTreeFolder2('demo'))
        root['demo']._setOb('foo', BTreeFolder2('foo'))
        root['demo']._setOb('bar', BTreeFolder2('bar'))

        source = PersistentResourceDirectory(root['demo']['foo'])
        target = PersistentResourceDirectory(root['demo']['bar'])

        source.writeFile('file1.txt', 'file1')
        source.writeFile('subdir1/file2.txt', 'file2')
        source.makeDirectory('subdir2')

        cloneResourceDirectory(source, target)

        self.assertEqual(source.listDirectory(), target.listDirectory())
        self.assertEqual(source['subdir1'].listDirectory(), target['subdir1'].listDirectory())
        self.assertEqual(source['subdir2'].listDirectory(), target['subdir2'].listDirectory())
        self.assertEqual(source.readFile('file1.txt'), target.readFile('file1.txt'))
        self.assertEqual(source.readFile('subdir1/file2.txt'), target.readFile('subdir1/file2.txt'))