[ 
https://issues.apache.org/jira/browse/CMIS-971?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Laurent Mignon updated CMIS-971:
--------------------------------
    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
{code}
  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'
{code}

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?

{code}
>From 203330f499a508427a6b3ae7b7b0f402797ecc01 Mon Sep 17 00:00:00 2001
From: Laurent Mignon <laurent.mig...@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
{code}
see 
https://github.com/lmignon/python-cmislib/commit/203330f499a508427a6b3ae7b7b0f402797ecc01?diff=unified


  was:
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
{code}
  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'
{code}

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?

{code}
>From 203330f499a508427a6b3ae7b7b0f402797ecc01 Mon Sep 17 00:00:00 2001
From: Laurent Mignon <laurent.mig...@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
{code}
see 
https://github.com/lmignon/chemistry-cmislib/commit/203330f499a508427a6b3ae7b7b0f402797ecc01?diff=unified



> Error when calling createFolder with properties parameter
> ---------------------------------------------------------
>
>                 Key: CMIS-971
>                 URL: https://issues.apache.org/jira/browse/CMIS-971
>             Project: Chemistry
>          Issue Type: Bug
>          Components: python-cmislib
>         Environment: Linux, python 2.7.x, Alfresco 5.0.x
>            Reporter: Laurent Mignon
>            Assignee: Jeff Potts
>
> 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
> {code}
>   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'
> {code}
> 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?
> {code}
> From 203330f499a508427a6b3ae7b7b0f402797ecc01 Mon Sep 17 00:00:00 2001
> From: Laurent Mignon <laurent.mig...@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
> {code}
> see 
> https://github.com/lmignon/python-cmislib/commit/203330f499a508427a6b3ae7b7b0f402797ecc01?diff=unified



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to