You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by "Laurent Mignon (JIRA)" <ji...@apache.org> on 2016/03/25 16:33:25 UTC

[jira] [Created] (CMIS-972) Implement contentSream and properties update in BrowserDocument.checkin method

Laurent Mignon created CMIS-972:
-----------------------------------

             Summary: Implement contentSream and properties update in BrowserDocument.checkin method
                 Key: CMIS-972
                 URL: https://issues.apache.org/jira/browse/CMIS-972
             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 <la...@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)