Uploaded image for project: 'Chemistry (Retired)'
  1. Chemistry (Retired)
  2. CMIS-971

Error when calling createFolder with properties parameter

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • cmislib 0.6.0
    • python-cmislib
    • None
    • Linux, python 2.7.x, Alfresco 5.0.x

    • Patch

    Description

      With the dev version of cmislib when using the browser binding. If you provide a properties dict to the createFolder method, the following error will raise

        File "../local/lib/python2.7/site-packages/cmislib/browser/binding.py", line 1387, in createFolder
          return parentFolder.createFolder(name, properties, **kwargs)
        File ".../local/lib/python2.7/site-packages/cmislib/browser/binding.py", line 2051, in createFolder
          props["propertyId[%s]" % propCount] = prop.key
      AttributeError: 'str' object has no attribute 'key'
      

      Moreover, the code seems to be not actively developed and the git mirror is outdated. How can I contribute efficiently. I'll provide a patch as soon as I've finished to mirror your svn repo to github?

      From 203330f499a508427a6b3ae7b7b0f402797ecc01 Mon Sep 17 00:00:00 2001
      From: Laurent Mignon <laurent.mignon@acsone.eu>
      Date: Fri, 18 Mar 2016 18:17:00 +0100
      Subject: [PATCH] In createFolder 'properties' param is a dict Fixes CMIS-971
       See https://issues.apache.org/jira/browse/CMIS-971
      
      ---
       src/cmislib/browser/binding.py | 7 ++++---
       1 file changed, 4 insertions(+), 3 deletions(-)
      
      diff --git a/src/cmislib/browser/binding.py b/src/cmislib/browser/binding.py
      index 79ae297..c9cc8a3 100644
      --- a/src/cmislib/browser/binding.py
      +++ b/src/cmislib/browser/binding.py
      @@ -2043,13 +2043,14 @@ def createFolder(self, name, properties={}, **kwargs):
               props["propertyId[1]"] = "cmis:objectTypeId"
               if properties.has_key('cmis:objectTypeId'):
                   props["propertyValue[1]"] = properties['cmis:objectTypeId']
      +            del properties['cmis:objectTypeId']
               else:
                   props["propertyValue[1]"] = "cmis:folder"
       
               propCount = 2
      -        for prop in properties:
      -            props["propertyId[%s]" % propCount] = prop.key
      -            props["propertyValue[%s]" % propCount] = prop
      +        for key, val in properties.items():
      +            props["propertyId[%s]" % propCount] = key
      +            props["propertyValue[%s]" % propCount] = val
                   propCount += 1
       
               # invoke the URL
      

      see https://github.com/lmignon/python-cmislib/commit/203330f499a508427a6b3ae7b7b0f402797ecc01?diff=unified

      Attachments

        Activity

          People

            jpotts Jeffrey Taylor Potts
            lmi Laurent Mignon
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: