You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by lm...@apache.org on 2018/07/29 16:57:38 UTC
svn commit: r1836996 [2/3] - in /chemistry/cmislib/branches/py3_compat: ./
src/cmislib/ src/cmislib/atompub/ src/cmislib/browser/ src/tests/
Modified: chemistry/cmislib/branches/py3_compat/src/cmislib/browser/binding.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/branches/py3_compat/src/cmislib/browser/binding.py?rev=1836996&r1=1836995&r2=1836996&view=diff
==============================================================================
--- chemistry/cmislib/branches/py3_compat/src/cmislib/browser/binding.py (original)
+++ chemistry/cmislib/branches/py3_compat/src/cmislib/browser/binding.py Sun Jul 29 16:57:38 2018
@@ -41,7 +41,6 @@ moduleLogger = logging.getLogger('cmisli
class BrowserBinding(Binding):
-
"""
Implements the Browser Binding to communicate with the CMIS server. The
Browser Binding uses only GET and POST. It sends JSON and HTML forms and
@@ -84,13 +83,13 @@ class BrowserBinding(Binding):
"""
response = super(BrowserBinding, self).post(
url, session, payload, contentType, **kwargs)
- if response.content and 'application/json' in response.headers.get('content-type'):
+ if response.content and 'application/json' in response.headers.get(
+ 'content-type'):
return response.json()
return None
class RepositoryService(RepositoryServiceIfc):
-
"""
Defines the repository service for the Browser Binding.
"""
@@ -101,7 +100,8 @@ class RepositoryService(RepositoryServic
Gets the repository for the specified repository ID.
"""
- result = client.binding.get(client.repositoryUrl, client.session, **client.extArgs)
+ result = client.binding.get(
+ client.repositoryUrl, client.session, **client.extArgs)
if repositoryId in result:
return BrowserRepository(client, result[repositoryId])
@@ -114,7 +114,8 @@ class RepositoryService(RepositoryServic
Gets all of the repositories for this client.
"""
- result = client.binding.get(client.repositoryUrl, client.session, **client.extArgs)
+ result = client.binding.get(
+ client.repositoryUrl, client.session, **client.extArgs)
repositories = []
for repo in itervalues(result):
@@ -130,7 +131,8 @@ class RepositoryService(RepositoryServic
list.
"""
- result = client.binding.get(client.repositoryUrl, client.session, **client.extArgs)
+ result = client.binding.get(
+ client.repositoryUrl, client.session, **client.extArgs)
# instantiate a Repository object with the first workspace
# element we find
repository = None
@@ -140,13 +142,13 @@ class RepositoryService(RepositoryServic
class BrowserCmisObject(object):
-
"""
Common ancestor class for other CMIS domain objects such as
:class:`Document` and :class:`Folder`.
"""
- def __init__(self, cmisClient, repository, objectId=None, data=None, **kwargs):
+ def __init__(self, cmisClient, repository, objectId=None, data=None,
+ **kwargs):
""" Constructor """
self._cmisClient = cmisClient
self._repository = repository
@@ -155,7 +157,8 @@ class BrowserCmisObject(object):
self._allowableActions = {}
self.data = data
self._extArgs = kwargs
- self.logger = logging.getLogger('cmislib.browser.binding.BrowserCmisObject')
+ self.logger = logging.getLogger(
+ 'cmislib.browser.binding.BrowserCmisObject')
self.logger.debug('Creating an instance of BrowserCmisObject')
def __str__(self):
@@ -195,9 +198,8 @@ class BrowserCmisObject(object):
}
params.update(self._extArgs)
url = self._repository.getRootFolderUrl()
- self.data = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
+ self.data = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
self._initData()
# if a returnVersion arg was passed in, it is possible we got back
@@ -218,7 +220,8 @@ class BrowserCmisObject(object):
if self._objectId is None:
if self.data is None:
- self.logger.debug('Both objectId and data were None, reloading')
+ self.logger.debug(
+ 'Both objectId and data were None, reloading')
self.reload()
props = self.getProperties()
self._objectId = CmisId(props['cmis:objectId'])
@@ -237,7 +240,8 @@ class BrowserCmisObject(object):
"""
if not self.getAllowableActions()['canGetObjectParents']:
- raise NotSupportedException('Object does not support getObjectParents')
+ raise NotSupportedException(
+ 'Object does not support getObjectParents')
url = self._repository.getRootFolderUrl()
params = {
@@ -245,11 +249,12 @@ class BrowserCmisObject(object):
'cmisselector': 'parents',
}
params.update(kwargs)
- result = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
# return the result set
- return BrowserResultSet(self._cmisClient, self._repository, {'objects': result}, serializer=ChildrenSerializer())
+ return BrowserResultSet(self._cmisClient, self._repository,
+ {'objects': result},
+ serializer=ChildrenSerializer())
def getPaths(self):
"""
@@ -261,7 +266,8 @@ class BrowserCmisObject(object):
def getAllowableActions(self):
"""
- Returns a dictionary of allowable actions, keyed off of the action name.
+ Returns a dictionary of allowable actions, keyed off of the action
+ name.
>>> actions = doc.getAllowableActions()
>>> for a in actions:
@@ -280,7 +286,8 @@ class BrowserCmisObject(object):
if self._allowableActions == {}:
self.reload(includeAllowableActions=True)
- assert 'allowableActions' in self.data, "Expected object data to have an allowableActions key"
+ assert 'allowableActions' in self.data,\
+ "Expected object data to have an allowableActions key"
allowableActions = self.data['allowableActions']
self._allowableActions = allowableActions
@@ -303,7 +310,8 @@ class BrowserCmisObject(object):
cmis:isLatestMajorVersion: false
cmis:isImmutable: false
cmis:isMajorVersion: false
- cmis:objectId: workspace://SpacesStore/dc26102b-e312-471b-b2af-91bfb0225339
+ cmis:objectId:
+ workspace://SpacesStore/dc26102b-e312-471b-b2af-91bfb0225339
The optional filter argument is not yet implemented.
"""
@@ -319,7 +327,8 @@ class BrowserCmisObject(object):
propVal.append(parsePropValueByType(val, prop['type']))
self._properties[prop['id']] = propVal
else:
- self._properties[prop['id']] = parsePropValueByType(prop['value'], prop['type'])
+ self._properties[prop['id']] = parsePropValueByType(
+ prop['value'], prop['type'])
return self._properties
@@ -361,10 +370,8 @@ class BrowserCmisObject(object):
setProps(properties, props, initialIndex=0)
data = encode_multipart_formdata(props, None, None)
# invoke the URL
- result = self._cmisClient.binding.post(url,
- self._cmisClient.session,
- data,
- data.content_type)
+ result = self._cmisClient.binding.post(
+ url, self._cmisClient.session, data, data.content_type)
self.data = result
self._initData()
@@ -389,11 +396,8 @@ class BrowserCmisObject(object):
"targetFolderId": targetFolder.id}
data = encode_multipart_formdata(props, None, None)
# invoke the URL
- self._cmisClient.binding.post(url,
- self._cmisClient.session,
- data,
- data.content_type)
-
+ self._cmisClient.binding.post(
+ url, self._cmisClient.session, data, data.content_type)
return
def delete(self, **kwargs):
@@ -416,12 +420,8 @@ class BrowserCmisObject(object):
"cmisaction": "delete"}
data = encode_multipart_formdata(props, None, None)
# invoke the URL
- self._cmisClient.binding.post(url,
- self._cmisClient.session,
- data,
- data.content_type,
- **kwargs)
-
+ self._cmisClient.binding.post(
+ url, self._cmisClient.session, data, data.content_type, **kwargs)
return
def applyPolicy(self, policyId):
@@ -441,7 +441,19 @@ class BrowserCmisObject(object):
>>> rel = tstDoc1.createRelationship(tstDoc2, 'R:cmiscustom:assoc')
>>> rel.getProperties()
- {u'cmis:objectId': u'workspace://SpacesStore/271c48dd-6548-4771-a8f5-0de69b7cdc25', u'cmis:creationDate': None, u'cmis:objectTypeId': u'R:cmiscustom:assoc', u'cmis:lastModificationDate': None, u'cmis:targetId': u'workspace://SpacesStore/0ca1aa08-cb49-42e2-8881-53aa8496a1c1', u'cmis:lastModifiedBy': None, u'cmis:baseTypeId': u'cmis:relationship', u'cmis:sourceId': u'workspace://SpacesStore/271c48dd-6548-4771-a8f5-0de69b7cdc25', u'cmis:changeToken': None, u'cmis:createdBy': None}
+ {u'cmis:objectId':
+ u'workspace://SpacesStore/271c48dd-6548-4771-a8f5-0de69b7cdc25',
+ u'cmis:creationDate': None,
+ u'cmis:objectTypeId': u'R:cmiscustom:assoc',
+ u'cmis:lastModificationDate': None,
+ u'cmis:targetId':
+ u'workspace://SpacesStore/0ca1aa08-cb49-42e2-8881-53aa8496a1c1',
+ u'cmis:lastModifiedBy': None,
+ u'cmis:baseTypeId': u'cmis:relationship',
+ u'cmis:sourceId':
+ u'workspace://SpacesStore/271c48dd-6548-4771-a8f5-0de69b7cdc25',
+ u'cmis:changeToken': None,
+ u'cmis:createdBy': None}
"""
@@ -459,11 +471,10 @@ class BrowserCmisObject(object):
}, props)
data = encode_multipart_formdata(props, None, None)
# invoke the URL
- result = self._cmisClient.binding.post(url,
- self._cmisClient.session,
- data,
- data.content_type)
- return getSpecializedObject(BrowserCmisObject(self._cmisClient, self._repository, data=result))
+ result = self._cmisClient.binding.post(
+ url, self._cmisClient.session, data, data.content_type)
+ return getSpecializedObject(
+ BrowserCmisObject(self._cmisClient, self._repository, data=result))
def getRelationships(self, **kwargs):
@@ -476,7 +487,19 @@ class BrowserCmisObject(object):
1
>>> rel = rels.getResults().values()[0]
>>> rel.getProperties()
- {u'cmis:objectId': u'workspace://SpacesStore/271c48dd-6548-4771-a8f5-0de69b7cdc25', u'cmis:creationDate': None, u'cmis:objectTypeId': u'R:cmiscustom:assoc', u'cmis:lastModificationDate': None, u'cmis:targetId': u'workspace://SpacesStore/0ca1aa08-cb49-42e2-8881-53aa8496a1c1', u'cmis:lastModifiedBy': None, u'cmis:baseTypeId': u'cmis:relationship', u'cmis:sourceId': u'workspace://SpacesStore/271c48dd-6548-4771-a8f5-0de69b7cdc25', u'cmis:changeToken': None, u'cmis:createdBy': None}
+ {u'cmis:objectId':
+ u'workspace://SpacesStore/271c48dd-6548-4771-a8f5-0de69b7cdc25',
+ u'cmis:creationDate': None,
+ u'cmis:objectTypeId': u'R:cmiscustom:assoc',
+ u'cmis:lastModificationDate': None,
+ u'cmis:targetId':
+ u'workspace://SpacesStore/0ca1aa08-cb49-42e2-8881-53aa8496a1c1',
+ u'cmis:lastModifiedBy': None,
+ u'cmis:baseTypeId': u'cmis:relationship',
+ u'cmis:sourceId':
+ u'workspace://SpacesStore/271c48dd-6548-4771-a8f5-0de69b7cdc25',
+ u'cmis:changeToken': None,
+ u'cmis:createdBy': None}
The following optional arguments are supported:
- includeSubRelationshipTypes
@@ -494,11 +517,11 @@ class BrowserCmisObject(object):
'cmisselector': 'relationships',
}
params.update(kwargs)
- result = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
# return the result set
- return BrowserResultSet(self._cmisClient, self._repository, result, serializer=RelationShipsSerializer())
+ return BrowserResultSet(self._cmisClient, self._repository, result,
+ serializer=RelationShipsSerializer())
def removePolicy(self, policyId):
@@ -523,7 +546,8 @@ class BrowserCmisObject(object):
>>> acl = folder.getACL()
>>> acl.getEntries()
- {u'GROUP_EVERYONE': <cmislib.model.ACE object at 0x10071a8d0>, 'jdoe': <cmislib.model.ACE object at 0x10071a590>}
+ {u'GROUP_EVERYONE': <cmislib.model.ACE object at 0x10071a8d0>,
+ 'jdoe': <cmislib.model.ACE object at 0x10071a590>}
The optional onlyBasicPermissions argument is currently not supported.
"""
@@ -537,9 +561,8 @@ class BrowserCmisObject(object):
'cmisselector': 'object',
'includeACL': True
}
- result = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
return BrowserACL(data=result['acl'])
else:
raise NotSupportedException
@@ -554,7 +577,8 @@ class BrowserCmisObject(object):
>>> acl = folder.getACL()
>>> acl.addEntry(ACE('jdoe', 'cmis:write', 'true'))
>>> acl.getEntries()
- {u'GROUP_EVERYONE': <cmislib.model.ACE object at 0x10071a8d0>, 'jdoe': <cmislib.model.ACE object at 0x10071a590>}
+ {u'GROUP_EVERYONE': <cmislib.model.ACE object at 0x10071a8d0>,
+ 'jdoe': <cmislib.model.ACE object at 0x10071a590>}
"""
if self._repository.getCapabilities()['ACL'] == 'manage':
# if the ACL capability is manage, this must be
@@ -562,7 +586,8 @@ class BrowserCmisObject(object):
# but it also depends on the canApplyACL allowable action
# for this object
if not isinstance(acl, ACL):
- raise CmisException('The ACL to apply must be an instance of the ACL class.')
+ raise CmisException(
+ 'The ACL to apply must be an instance of the ACL class.')
# get the root folder URL
url = self._repository.getRootFolderUrl()
@@ -582,10 +607,8 @@ class BrowserCmisObject(object):
data = encode_multipart_formdata(props, None, None)
# invoke the URL
- result = self._cmisClient.binding.post(url,
- self._cmisClient.session,
- data,
- data.content_type)
+ result = self._cmisClient.binding.post(
+ url, self._cmisClient.session, data, data.content_type)
# return the result set
return BrowserACL(data=result)
@@ -629,7 +652,8 @@ class BrowserRepository(object):
self._permMap = {}
self._permissions = None
self._propagation = None
- self.logger = logging.getLogger('cmislib.browser.binding.BrowserRepository')
+ self.logger = logging.getLogger(
+ 'cmislib.browser.binding.BrowserRepository')
self.logger.debug('Creating an instance of BrowserRepository')
def __str__(self):
@@ -699,7 +723,7 @@ class BrowserRepository(object):
u'Main Repository'
>>> info = repo.getRepositoryInfo()
>>> for k,v in info.items():
- ... print "%s:%s" % (k,v)
+ ... print("%s:%s") % (k,v)
...
cmisSpecificationTitle:Version 1.0 Committee Draft 04
cmisVersionSupported:1.0
@@ -715,16 +739,21 @@ class BrowserRepository(object):
if not self._repositoryInfo:
if self.data is None:
self.reload()
- repoInfo = {'repositoryId': self.data['repositoryId'], 'repositoryName': self.data['repositoryName'],
- 'repositoryDescription': self.data['repositoryDescription'],
- 'vendorName': self.data['vendorName'], 'productName': self.data['productName'],
- 'productVersion': self.data['productVersion'], 'rootFolderId': self.data['rootFolderId'],
- 'latestChangeLogToken': self.data['latestChangeLogToken'],
- 'cmisVersionSupported': self.data['cmisVersionSupported'],
- 'changesIncomplete': self.data['changesIncomplete'],
- 'changesOnType': self.data['changesOnType'],
- 'principalIdAnonymous': self.data['principalIdAnonymous'],
- 'principalIdAnyone': self.data['principalIdAnyone']}
+ repoInfo = {
+ 'repositoryId': self.data['repositoryId'],
+ 'repositoryName': self.data['repositoryName'],
+ 'repositoryDescription': self.data['repositoryDescription'],
+ 'vendorName': self.data['vendorName'],
+ 'productName': self.data['productName'],
+ 'productVersion': self.data['productVersion'],
+ 'rootFolderId': self.data['rootFolderId'],
+ 'latestChangeLogToken': self.data['latestChangeLogToken'],
+ 'cmisVersionSupported': self.data['cmisVersionSupported'],
+ 'changesIncomplete': self.data['changesIncomplete'],
+ 'changesOnType': self.data['changesOnType'],
+ 'principalIdAnonymous': self.data['principalIdAnonymous'],
+ 'principalIdAnyone': self.data['principalIdAnyone']
+ }
if 'thinClientURI' in self.data:
repoInfo['thinClientURI'] = self.data['thinClientURI']
if 'extendedFeatures' in self.data:
@@ -767,10 +796,11 @@ class BrowserRepository(object):
'cmisselector': 'object',
}
params.update(kwargs)
- result = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
- return getSpecializedObject(BrowserCmisObject(self._cmisClient, self, data=result, **kwargs), **kwargs)
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
+ return getSpecializedObject(
+ BrowserCmisObject(self._cmisClient, self, data=result, **kwargs),
+ **kwargs)
def getSupportedPermissions(self):
"""
@@ -778,8 +808,10 @@ class BrowserRepository(object):
values are:
- basic: indicates that the CMIS Basic permissions are supported
- - repository: indicates that repository specific permissions are supported
- - both: indicates that both CMIS basic permissions and repository specific permissions are supported
+ - repository: indicates that repository specific permissions are
+ supported
+ - both: indicates that both CMIS basic permissions and repository
+ specific permissions are supported
>>> repo.supportedPermissions
u'both'
@@ -793,7 +825,8 @@ class BrowserRepository(object):
self.reload()
if 'aclCapabilities' in self.data:
if 'supportedPermissions' in self.data['aclCapabilities']:
- self._permissions = self.data['aclCapabilities']['supportedPermissions']
+ self._permissions = self.data['aclCapabilities'][
+ 'supportedPermissions']
return self._permissions
def getPermissionDefinitions(self):
@@ -939,7 +972,8 @@ class BrowserRepository(object):
"""
Returns a :class:`Folder` object for a specified folderId
- >>> someFolder = repo.getFolder('workspace://SpacesStore/aa1ecedf-9551-49c5-831a-0502bb43f348')
+ >>> someFolder = repo.getFolder(
+ ... 'workspace://SpacesStore/aa1ecedf-9551-49c5-831a-0502bb43f348')
>>> someFolder.getObjectId()
u'workspace://SpacesStore/aa1ecedf-9551-49c5-831a-0502bb43f348'
"""
@@ -980,14 +1014,12 @@ class BrowserRepository(object):
if typeId is not None:
params["typeId"] = typeId
params.update(kwargs)
- result = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
types = []
for res in result['types']:
- objectType = BrowserObjectType(self._cmisClient,
- self,
- data=res)
+ objectType = BrowserObjectType(
+ self._cmisClient, self, data=res)
types.append(objectType)
# return the result
return types
@@ -1044,9 +1076,8 @@ class BrowserRepository(object):
params['depth'] = depth
params.update(kwargs)
- result = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
serializer = TreeSerializer(treeType='type')
types = serializer.getEntries(self._cmisClient, self, result)
return types
@@ -1072,14 +1103,12 @@ class BrowserRepository(object):
'cmisselector': 'typeChildren',
}
params.update(kwargs)
- result = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
types = []
for res in result['types']:
- objectType = BrowserObjectType(self._cmisClient,
- self,
- data=res)
+ objectType = BrowserObjectType(
+ self._cmisClient, self, data=res)
types.append(objectType)
# return the result
return types
@@ -1091,19 +1120,15 @@ class BrowserRepository(object):
>>> folderType = repo.getTypeDefinition('cmis:folder')
"""
- # localhost:8080/chemistry/browser/A1?cmisselector=typeDefinition&typeId=cmis:folder
url = self.getRepositoryUrl()
params = {
'cmisselector': 'typeDefinition',
'typeId': typeId
}
- result = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
-
- return BrowserObjectType(self._cmisClient,
- self,
- data=result)
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
+ return BrowserObjectType(
+ self._cmisClient, self, data=result)
def getCheckedOutDocs(self, **kwargs):
@@ -1136,13 +1161,11 @@ class BrowserRepository(object):
'cmisselector': 'checkedOut',
}
params.update(kwargs)
- result = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
-
- return BrowserResultSet(self._cmisClient,
- self,
- data=result)
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
+
+ return BrowserResultSet(
+ self._cmisClient, self, data=result)
def getObject(self,
objectId,
@@ -1151,7 +1174,8 @@ class BrowserRepository(object):
"""
Returns an object given the specified object ID.
- >>> doc = repo.getObject('workspace://SpacesStore/f0c8b90f-bec0-4405-8b9c-2ab570589808')
+ >>> doc = repo.getObject(
+ ... 'workspace://SpacesStore/f0c8b90f-bec0-4405-8b9c-2ab570589808')
>>> doc.getTitle()
u'sample-b.pdf'
@@ -1165,7 +1189,11 @@ class BrowserRepository(object):
- includeAllowableActions
"""
- return getSpecializedObject(BrowserCmisObject(self._cmisClient, self, CmisId(objectId), **kwargs), **kwargs)
+ return getSpecializedObject(
+ BrowserCmisObject(
+ self._cmisClient, self, CmisId(objectId), **kwargs),
+ **kwargs
+ )
def query(self, statement, **kwargs):
@@ -1217,14 +1245,13 @@ class BrowserRepository(object):
}
data = encode_multipart_formdata(props, None, None)
# do the POST
- result = self._cmisClient.binding.post(self.getRepositoryUrl(),
- self._cmisClient.session,
- data,
- data.content_type,
- **kwargs)
+ result = self._cmisClient.binding.post(
+ self.getRepositoryUrl(), self._cmisClient.session, data,
+ data.content_type, **kwargs)
# return the result set
- return BrowserResultSet(self._cmisClient, self, result, serializer=ResultsSerializer())
+ return BrowserResultSet(self._cmisClient, self, result,
+ serializer=ResultsSerializer())
def getContentChanges(self, **kwargs):
@@ -1279,18 +1306,16 @@ class BrowserRepository(object):
'cmisselector': 'contentChanges',
}
params.update(kwargs)
- result = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
-
- return BrowserResultSet(self._cmisClient,
- self,
- data=result,
- serializer=ChangeEntrySerializer())
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
+
+ return BrowserResultSet(
+ self._cmisClient, self, data=result,
+ serializer=ChangeEntrySerializer())
def createDocumentFromString(self,
name,
- properties={},
+ properties=None,
parentFolder=None,
contentString=None,
contentType=None,
@@ -1301,10 +1326,12 @@ class BrowserRepository(object):
the repository supports unfiled objects, you do not have to pass in
a parent :class:`Folder` otherwise it is required.
- >>> repo.createDocumentFromString('testdoc5', parentFolder=testFolder, contentString='Hello, World!', contentType='text/plain')
+ >>> repo.createDocumentFromString(
+ ... 'testdoc5', parentFolder=testFolder,
+ ... contentString='Hello, World!', contentType='text/plain')
<cmislib.model.Document object at 0x101352ed0>
"""
-
+ properties = properties or {}
# if you didn't pass in a parent folder
if parentFolder is None:
# if the repository doesn't require fileable objects to be filed
@@ -1321,7 +1348,7 @@ class BrowserRepository(object):
def createDocument(self,
name,
- properties={},
+ properties=None,
parentFolder=None,
contentFile=None,
contentType=None,
@@ -1350,6 +1377,7 @@ class BrowserRepository(object):
- addACEs
- removeACEs
"""
+ properties = properties or {}
# if you didn't pass in a parent folder
if parentFolder is None:
# if the repository doesn't require fileable objects to be filed
@@ -1363,12 +1391,14 @@ class BrowserRepository(object):
# get the root folder URL
url = self.getRootFolderUrl()
- props = {"objectId": parentFolder.id,
- "cmisaction": "createDocument",
- "propertyId[0]": "cmis:name",
- "propertyValue[0]": name}
+ props = {
+ "objectId": parentFolder.id,
+ "cmisaction": "createDocument",
+ "propertyId[0]": "cmis:name",
+ "propertyValue[0]": name,
+ "propertyId[1]": "cmis:objectTypeId"
+ }
- props["propertyId[1]"] = "cmis:objectTypeId"
if 'cmis:objectTypeId' in properties:
props["propertyValue[1]"] = properties['cmis:objectTypeId']
del properties['cmis:objectTypeId']
@@ -1383,9 +1413,7 @@ class BrowserRepository(object):
url, self._cmisClient.session, data, data.content_type)
return BrowserDocument(self._cmisClient, self, data=result)
- def createDocumentFromSource(self,
- sourceId,
- properties={},
+ def createDocumentFromSource(self, sourceId, properties=None,
parentFolder=None):
"""
This is not yet implemented.
@@ -1399,11 +1427,7 @@ class BrowserRepository(object):
pass
- def createFolder(self,
- parentFolder,
- name,
- properties={},
- **kwargs):
+ def createFolder(self, parentFolder, name, properties=None, **kwargs):
"""
Creates a new :class:`Folder` object in the specified parentFolder.
@@ -1420,7 +1444,7 @@ class BrowserRepository(object):
- addACEs
- removeACEs
"""
-
+ properties = properties or {}
return parentFolder.createFolder(name, properties, **kwargs)
def createRelationship(self, sourceObj, targetObj, relType):
@@ -1461,7 +1485,6 @@ class BrowserRepository(object):
class BrowserResultSet(object):
-
"""
Represents a paged result set.
"""
@@ -1473,7 +1496,8 @@ class BrowserResultSet(object):
self._data = data
self._serializer = serializer
self._results = []
- self.logger = logging.getLogger('cmislib.browser.binding.BrowserResultSet')
+ self.logger = logging.getLogger(
+ 'cmislib.browser.binding.BrowserResultSet')
self.logger.debug('Creating an instance of BrowserResultSet')
def __iter__(self):
@@ -1518,7 +1542,8 @@ class BrowserResultSet(object):
return self._results
if self._data:
- self._results = self._serializer.fromJSON(self._cmisClient, self._repository, self._data)
+ self._results = self._serializer.fromJSON(
+ self._cmisClient, self._repository, self._data)
return self._results
@@ -1664,7 +1689,6 @@ class BrowserResultSet(object):
class BrowserDocument(BrowserCmisObject):
-
"""
An object typically associated with file content.
"""
@@ -1691,12 +1715,11 @@ class BrowserDocument(BrowserCmisObject)
"cmisaction": "checkOut"}
data = encode_multipart_formdata(props, None, None)
# invoke the URL
- result = self._cmisClient.binding.post(url,
- self._cmisClient.session,
- data,
- data.content_type)
+ result = self._cmisClient.binding.post(
+ url, self._cmisClient.session, data, data.content_type)
- return getSpecializedObject(BrowserCmisObject(self._cmisClient, self._repository, data=result))
+ return getSpecializedObject(
+ BrowserCmisObject(self._cmisClient, self._repository, data=result))
def cancelCheckout(self):
"""
@@ -1717,10 +1740,8 @@ class BrowserDocument(BrowserCmisObject)
"cmisaction": "cancelCheckOut"}
data = encode_multipart_formdata(props, None, None)
# invoke the URL
- self._cmisClient.binding.post(url,
- self._cmisClient.session,
- data,
- data.content_type)
+ self._cmisClient.binding.post(
+ url, self._cmisClient.session, data, data.content_type)
return
@@ -1801,7 +1822,8 @@ class BrowserDocument(BrowserCmisObject)
- removeACEs
"""
# TODO implement optional arguments
- # major = true is supposed to be the default but inmemory 0.9 is throwing an error 500 without it
+ # major = true is supposed to be the default but inmemory 0.9
+ # is throwing an error 500 without it
if 'major' not in kwargs:
kwargs['major'] = 'true'
else:
@@ -1825,12 +1847,11 @@ class BrowserDocument(BrowserCmisObject)
data = encode_multipart_formdata(props, contentFile, contentType)
# invoke the URL
- result = self._cmisClient.binding.post(url,
- self._cmisClient.session,
- data,
- data.content_type)
+ result = self._cmisClient.binding.post(
+ url, self._cmisClient.session, data, data.content_type)
- return getSpecializedObject(BrowserCmisObject(self._cmisClient, self._repository, data=result))
+ return getSpecializedObject(
+ BrowserCmisObject(self._cmisClient, self._repository, data=result))
def getLatestVersion(self, **kwargs):
@@ -1858,11 +1879,12 @@ class BrowserDocument(BrowserCmisObject)
u'2.0'
"""
- doc = None
if kwargs.get('major') == 'true':
- doc = self._repository.getObject(self.getObjectId(), returnVersion='latestmajor')
+ doc = self._repository.getObject(
+ self.getObjectId(), returnVersion='latestmajor')
else:
- doc = self._repository.getObject(self.getObjectId(), returnVersion='latest')
+ doc = self._repository.getObject(
+ self.getObjectId(), returnVersion='latest')
return doc
@@ -1876,7 +1898,6 @@ class BrowserDocument(BrowserCmisObject)
"""
latestDoc = self.getLatestVersion(**kwargs)
-
return latestDoc.getProperties()
def getAllVersions(self, **kwargs):
@@ -1897,12 +1918,13 @@ class BrowserDocument(BrowserCmisObject)
}
params.update(kwargs)
# invoke the URL
- result = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
# return the result set
- return BrowserResultSet(self._cmisClient, self._repository, data={'objects': result}, serializer=VersionsSerializer())
+ return BrowserResultSet(
+ self._cmisClient, self._repository, data={'objects': result},
+ serializer=VersionsSerializer())
def getContentStream(self):
@@ -1931,9 +1953,8 @@ class BrowserDocument(BrowserCmisObject)
'objectId': self.getObjectId(),
'cmisselector': 'content',
}
- result = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
return BytesIO(result.content)
def setContentStream(self, contentFile, contentType=None):
@@ -1954,10 +1975,8 @@ class BrowserDocument(BrowserCmisObject)
data = encode_multipart_formdata(params, contentFile, contentType)
# invoke the URL
- result = self._cmisClient.binding.post(url,
- self._cmisClient.session,
- data,
- data.content_type)
+ result = self._cmisClient.binding.post(
+ url, self._cmisClient.session, data, data.content_type)
# return the result set
return BrowserDocument(self._cmisClient, self._repository, data=result)
@@ -1980,11 +1999,8 @@ class BrowserDocument(BrowserCmisObject)
props["changeToken"] = self.properties['cmis:changeToken']
data = encode_multipart_formdata(props, None, None)
# invoke the URL
- self._cmisClient.binding.post(url,
- self._cmisClient.session,
- data,
- data.content_type)
-
+ self._cmisClient.binding.post(
+ url, self._cmisClient.session, data, data.content_type)
return
def getRenditions(self):
@@ -2035,9 +2051,8 @@ class BrowserDocument(BrowserCmisObject)
'cmisselector': 'parents',
'includerelativepathsegment': True
}
- result = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
paths = []
@@ -2054,7 +2069,6 @@ class BrowserDocument(BrowserCmisObject)
class BrowserFolder(BrowserCmisObject):
-
"""
A container object that can hold other :class:`CmisObject` objects
"""
@@ -2086,12 +2100,14 @@ class BrowserFolder(BrowserCmisObject):
# get the root folder URL
url = self._repository.getRootFolderUrl()
- props = {"objectId": self.id,
- "cmisaction": "createFolder",
- "propertyId[0]": "cmis:name",
- "propertyValue[0]": name}
+ props = {
+ "objectId": self.id,
+ "cmisaction": "createFolder",
+ "propertyId[0]": "cmis:name",
+ "propertyValue[0]": name,
+ "propertyId[1]": "cmis:objectTypeId"
+ }
- props["propertyId[1]"] = "cmis:objectTypeId"
if 'cmis:objectTypeId' in properties:
props["propertyValue[1]"] = properties['cmis:objectTypeId']
del properties['cmis:objectTypeId']
@@ -2102,11 +2118,8 @@ class BrowserFolder(BrowserCmisObject):
data = encode_multipart_formdata(props, None, None)
# invoke the URL
- result = self._cmisClient.binding.post(url,
- self._cmisClient.session,
- data,
- data.content_type,
- **kwargs)
+ result = self._cmisClient.binding.post(
+ url, self._cmisClient.session, data, data.content_type, **kwargs)
# return the result set
return BrowserFolder(self._cmisClient, self._repository, data=result)
@@ -2123,15 +2136,13 @@ class BrowserFolder(BrowserCmisObject):
the repository supports unfiled objects, you do not have to pass in
a parent :class:`Folder` otherwise it is required.
- >>> testFolder.createDocumentFromString('testdoc3', contentString='hello, world', contentType='text/plain')
+ >>> testFolder.createDocumentFromString(
+ ... 'testdoc3', contentString='hello, world', contentType='text/plain')
"""
- return self._repository.createDocumentFromString(name,
- properties,
- self,
- contentString,
- contentType,
- contentEncoding)
+ return self._repository.createDocumentFromString(
+ name, properties, self, contentString, contentType,
+ contentEncoding)
def createDocument(self, name, properties={}, contentFile=None,
contentType=None, contentEncoding=None):
@@ -2174,12 +2185,8 @@ class BrowserFolder(BrowserCmisObject):
- removeACEs
"""
- return self._repository.createDocument(name,
- properties,
- self,
- contentFile,
- contentType,
- contentEncoding)
+ return self._repository.createDocument(
+ name, properties, self, contentFile, contentType, contentEncoding)
def getChildren(self, **kwargs):
@@ -2211,11 +2218,11 @@ class BrowserFolder(BrowserCmisObject):
}
params.update(kwargs)
- result = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
# return the result set
- return BrowserResultSet(self._cmisClient, self._repository, result, serializer=ChildrenSerializer())
+ return BrowserResultSet(self._cmisClient, self._repository, result,
+ serializer=ChildrenSerializer())
def getDescendants(self, **kwargs):
@@ -2255,11 +2262,11 @@ class BrowserFolder(BrowserCmisObject):
'cmisselector': 'descendants',
}
params.update(kwargs)
- result = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
# return the result set
- return BrowserResultSet(self._cmisClient, self._repository, result, serializer=TreeSerializer())
+ return BrowserResultSet(self._cmisClient, self._repository, result,
+ serializer=TreeSerializer())
def getTree(self, **kwargs):
@@ -2294,11 +2301,12 @@ class BrowserFolder(BrowserCmisObject):
}
params.update(kwargs)
- result = self._cmisClient.binding.get(url,
- self._cmisClient.session,
- **params)
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **params)
# return the result set
- return BrowserResultSet(self._cmisClient, self._repository, result, serializer=TreeSerializer())
+ return BrowserResultSet(
+ self._cmisClient, self._repository, result,
+ serializer=TreeSerializer())
def getParent(self):
@@ -2306,7 +2314,9 @@ class BrowserFolder(BrowserCmisObject):
The optional filter argument is not yet supported.
"""
if self.properties.get('cmis:parentId') is not None:
- return BrowserFolder(self._cmisClient, self._repository, objectId=self.properties['cmis:parentId'])
+ return BrowserFolder(
+ self._cmisClient, self._repository,
+ objectId=self.properties['cmis:parentId'])
def deleteTree(self, **kwargs):
@@ -2330,12 +2340,8 @@ class BrowserFolder(BrowserCmisObject):
"cmisaction": "deleteTree"}
data = encode_multipart_formdata(props, None, None)
# invoke the URL
- self._cmisClient.binding.post(url,
- self._cmisClient.session,
- data,
- data.content_type,
- **kwargs)
-
+ self._cmisClient.binding.post(
+ url, self._cmisClient.session, data, data.content_type, **kwargs)
return
def addObject(self, cmisObject, **kwargs):
@@ -2369,13 +2375,11 @@ class BrowserFolder(BrowserCmisObject):
"objectId": cmisObject.id}
data = encode_multipart_formdata(props, None, None)
# invoke the URL
- result = self._cmisClient.binding.post(url,
- self._cmisClient.session,
- data,
- data.content_type,
- **kwargs)
+ result = self._cmisClient.binding.post(
+ url, self._cmisClient.session, data, data.content_type, **kwargs)
- return getSpecializedObject(BrowserCmisObject(self._cmisClient, self._repository, data=result))
+ return getSpecializedObject(
+ BrowserCmisObject(self._cmisClient, self._repository, data=result))
def removeObject(self, cmisObject):
@@ -2391,12 +2395,11 @@ class BrowserFolder(BrowserCmisObject):
"objectId": cmisObject.id}
data = encode_multipart_formdata(props, None, None)
# invoke the URL
- result = self._cmisClient.binding.post(url,
- self._cmisClient.session,
- data,
- data.content_type)
+ result = self._cmisClient.binding.post(
+ url, self._cmisClient.session, data, data.content_type)
- return getSpecializedObject(BrowserCmisObject(self._cmisClient, self._repository, data=result))
+ return getSpecializedObject(
+ BrowserCmisObject(self._cmisClient, self._repository, data=result))
def getPaths(self):
"""
@@ -2409,13 +2412,11 @@ class BrowserFolder(BrowserCmisObject):
class BrowserRelationship(BrowserCmisObject):
-
"""
Defines a relationship object between two :class:`CmisObjects` objects
"""
def getSourceId(self):
-
"""
Returns the :class:`CmisId` on the source side of the relationship.
"""
@@ -2423,7 +2424,6 @@ class BrowserRelationship(BrowserCmisObj
return BrowserCmisId(self.properties['cmis:sourceId'])
def getTargetId(self):
-
"""
Returns the :class:`CmisId` on the target side of the relationship.
"""
@@ -2431,9 +2431,9 @@ class BrowserRelationship(BrowserCmisObj
return BrowserCmisId(self.properties['cmis:targetId'])
def getSource(self):
-
"""
- Returns an instance of the appropriate child-type of :class:`CmisObject`
+ Returns an instance of the appropriate child-type of
+ :class:`CmisObject`
for the source side of the relationship.
"""
@@ -2441,9 +2441,9 @@ class BrowserRelationship(BrowserCmisObj
return getSpecializedObject(self._repository.getObject(sourceId))
def getTarget(self):
-
"""
- Returns an instance of the appropriate child-type of :class:`CmisObject`
+ Returns an instance of the appropriate child-type of
+ :class:`CmisObject`
for the target side of the relationship.
"""
@@ -2457,7 +2457,6 @@ class BrowserRelationship(BrowserCmisObj
class BrowserPolicy(CmisObject):
-
"""
An arbirary object that can 'applied' to objects that the
repository identifies as being 'controllable'.
@@ -2467,7 +2466,6 @@ class BrowserPolicy(CmisObject):
class BrowserObjectType(ObjectType):
-
"""
Represents the CMIS object type such as 'cmis:document' or 'cmis:folder'.
Contains metadata about the type.
@@ -2480,7 +2478,8 @@ class BrowserObjectType(ObjectType):
self._extArgs = None
self._typeId = typeId
self.data = data
- self.logger = logging.getLogger('cmislib.browser.binding.BrowserObjectType')
+ self.logger = logging.getLogger(
+ 'cmislib.browser.binding.BrowserObjectType')
self.logger.debug('Creating an instance of BrowserObjectType')
def __str__(self):
@@ -2615,7 +2614,8 @@ class BrowserObjectType(ObjectType):
self.reload()
props = {}
for prop in self.data['propertyDefinitions'].keys():
- props[prop] = BrowserProperty(self.data['propertyDefinitions'][prop])
+ props[prop] = BrowserProperty(
+ self.data['propertyDefinitions'][prop])
return props
def reload(self, **kwargs):
@@ -2626,12 +2626,11 @@ class BrowserObjectType(ObjectType):
if self._extArgs:
self._extArgs.update(kwargs)
- typesUrl = self._repository.getRepositoryUrl()
+ url = self._repository.getRepositoryUrl()
kwargs['cmisselector'] = 'typeDefinition'
kwargs['typeId'] = self.getTypeId()
- result = self._cmisClient.binding.get(typesUrl,
- self._cmisClient.session,
- **kwargs)
+ result = self._cmisClient.binding.get(
+ url, self._cmisClient.session, **kwargs)
self.data = result
id = property(getTypeId)
@@ -2652,7 +2651,6 @@ class BrowserObjectType(ObjectType):
class BrowserProperty(object):
-
"""
This class represents an attribute or property definition of an object
type.
@@ -2661,7 +2659,8 @@ class BrowserProperty(object):
def __init__(self, data):
"""Constructor"""
self.data = data
- self.logger = logging.getLogger('cmislib.browser.binding.BrowserProperty')
+ self.logger = logging.getLogger(
+ 'cmislib.browser.binding.BrowserProperty')
self.logger.debug('Creating an instance of BrowserProperty')
def __str__(self):
@@ -2741,7 +2740,6 @@ class BrowserProperty(object):
class BrowserACL(ACL):
-
"""
Represents the Access Control List for an object.
"""
@@ -2758,7 +2756,9 @@ class BrowserACL(ACL):
if aceList:
for ace in aceList:
if not isinstance(ace, BrowserACE):
- raise CmisException('Items into the aceList must be an instance of the BrowserACEclass.')
+ raise CmisException(
+ 'Items into the aceList must be an instance of the '
+ 'BrowserACEclass.')
self._entries[ace.principalId] = ace
if data:
@@ -2812,7 +2812,10 @@ class BrowserACL(ACL):
>>> acl.addEntry(ACE('jpotts', 'cmis:read', 'true'))
>>> acl.addEntry(ACE('jsmith', 'cmis:write', 'true'))
>>> acl.getEntries()
- {u'GROUP_EVERYONE': <cmislib.model.ACE object at 0x100731410>, u'jdoe': <cmislib.model.ACE object at 0x100731150>, 'jpotts': <cmislib.model.ACE object at 0x1005a22d0>, 'jsmith': <cmislib.model.ACE object at 0x1005a2210>}
+ {u'GROUP_EVERYONE': <cmislib.model.ACE object at 0x100731410>,
+ u'jdoe': <cmislib.model.ACE object at 0x100731150>,
+ 'jpotts': <cmislib.model.ACE object at 0x1005a22d0>,
+ 'jsmith': <cmislib.model.ACE object at 0x1005a2210>}
"""
ace = BrowserACE(principalId, access, direct)
@@ -2824,10 +2827,15 @@ class BrowserACL(ACL):
Removes the :class:`ACE` entry given a specific principalId.
>>> acl.getEntries()
- {u'GROUP_EVERYONE': <cmislib.model.ACE object at 0x100731410>, u'jdoe': <cmislib.model.ACE object at 0x100731150>, 'jpotts': <cmislib.model.ACE object at 0x1005a22d0>, 'jsmith': <cmislib.model.ACE object at 0x1005a2210>}
+ {u'GROUP_EVERYONE': <cmislib.model.ACE object at 0x100731410>,
+ u'jdoe': <cmislib.model.ACE object at 0x100731150>,
+ 'jpotts': <cmislib.model.ACE object at 0x1005a22d0>,
+ 'jsmith': <cmislib.model.ACE object at 0x1005a2210>}
>>> acl.removeEntry('jsmith')
>>> acl.getEntries()
- {u'GROUP_EVERYONE': <cmislib.model.ACE object at 0x100731410>, u'jdoe': <cmislib.model.ACE object at 0x100731150>, 'jpotts': <cmislib.model.ACE object at 0x1005a22d0>}
+ {u'GROUP_EVERYONE': <cmislib.model.ACE object at 0x100731410>,
+ u'jdoe': <cmislib.model.ACE object at 0x100731150>,
+ 'jpotts': <cmislib.model.ACE object at 0x1005a22d0>}
"""
if principalId in self._entries:
@@ -2843,7 +2851,8 @@ class BrowserACL(ACL):
>>> acl.addEntry(ACE('jsmith', 'cmis:write', 'true'))
>>> acl.addEntry(ACE('jpotts', 'cmis:write', 'true'))
>>> acl.entries
- {'jpotts': <cmislib.model.ACE object at 0x1012c7310>, 'jsmith': <cmislib.model.ACE object at 0x100528490>}
+ {'jpotts': <cmislib.model.ACE object at 0x1012c7310>,
+ 'jsmith': <cmislib.model.ACE object at 0x100528490>}
>>> acl.clearEntries()
>>> acl.entries
"""
@@ -2861,7 +2870,8 @@ class BrowserACL(ACL):
>>> acl.addEntry(ACE('jsmith', 'cmis:write', 'true'))
>>> acl.addEntry(ACE('jpotts', 'cmis:write', 'true'))
>>> for ace in acl.entries.values():
- ... print 'principal:%s has the following permissions...' % ace.principalId
+ ... print('principal:%s has the following permissions...'
+ ... ''% ace.principalId)
... for perm in ace.permissions:
... print perm
...
@@ -2952,7 +2962,6 @@ class BrowserACL(ACL):
class BrowserACE(ACE):
-
"""
Represents an ACE retrieved with the Browser Binding.
"""
@@ -2961,7 +2970,6 @@ class BrowserACE(ACE):
class BrowserChangeEntry(ChangeEntry):
-
"""
Represents a change log entry. Retrieve a list of change entries via
:meth:`Repository.getContentChanges`.
@@ -2995,14 +3003,15 @@ class BrowserChangeEntry(ChangeEntry):
self._changeEntryId = None
self._changeType = None
self._changeTime = None
- self.logger = logging.getLogger('cmislib.browser.binding.BrowserChangeEntry')
+ self.logger = logging.getLogger(
+ 'cmislib.browser.binding.BrowserChangeEntry')
self.logger.debug('Creating an instance of BrowserChangeEntry')
def getId(self):
"""
- Returns the unique ID of the change entry. This is not actually required
- by the spec and is absent in the browser binding for the Apache chemistry
- in-memory repository.
+ Returns the unique ID of the change entry. This is not actually
+ required by the spec and is absent in the browser binding for the
+ Apache chemistry in-memory repository.
"""
if self._changeEntryId is None:
if 'id' in self._data.keys():
@@ -3015,7 +3024,8 @@ class BrowserChangeEntry(ChangeEntry):
"""
if self._objectId is None:
if 'cmis:objectId' in self._data.get('properties').keys():
- self._objectId = self._data.get('properties').get('cmis:objectId').get('value')
+ self._objectId = self._data.get('properties').get(
+ 'cmis:objectId').get('value')
return self._objectId
def getChangeType(self):
@@ -3030,7 +3040,8 @@ class BrowserChangeEntry(ChangeEntry):
- security
"""
if self._changeType is None:
- self._changeType = self._data.get('changeEventInfo').get('changeType')
+ self._changeType = self._data.get('changeEventInfo').get(
+ 'changeType')
return self._changeType
@@ -3049,7 +3060,8 @@ class BrowserChangeEntry(ChangeEntry):
"""
if self._changeTime is None:
if 'changeTime' in self._data.get('changeEventInfo').keys():
- self._changeTime = self._data.get('changeEventInfo').get('changeTime')
+ self._changeTime = self._data.get('changeEventInfo').get(
+ 'changeTime')
return parseDateTimeValue(self._changeTime)
@@ -3070,7 +3082,8 @@ class BrowserChangeEntry(ChangeEntry):
propVal.append(parsePropValueByType(val, prop['type']))
self._properties[prop['id']] = propVal
else:
- self._properties[prop['id']] = parsePropValueByType(prop['value'], prop['type'])
+ self._properties[prop['id']] = parsePropValueByType(
+ prop['value'], prop['type'])
return self._properties
@@ -3082,7 +3095,6 @@ class BrowserChangeEntry(ChangeEntry):
class BrowserChangeEntryResultSet(BrowserResultSet):
-
"""
A specialized type of :class:`ResultSet` that knows how to instantiate
:class:`ChangeEntry` objects. The parent class assumes children of
@@ -3124,7 +3136,8 @@ class BrowserChangeEntryResultSet(Browse
if self._data:
entries = []
for entry in self._data:
- changeEntry = BrowserChangeEntry(self._cmisClient, self._repository, entry)
+ changeEntry = BrowserChangeEntry(self._cmisClient,
+ self._repository, entry)
entries.append(changeEntry)
self._results = entries
@@ -3133,7 +3146,6 @@ class BrowserChangeEntryResultSet(Browse
class BrowserRendition(object):
-
"""
This class represents a Rendition.
"""
@@ -3141,7 +3153,8 @@ class BrowserRendition(object):
def __init__(self, data):
"""Constructor"""
self.data = data
- self.logger = logging.getLogger('cmislib.browser.binding.BrowserRendition')
+ self.logger = logging.getLogger(
+ 'cmislib.browser.binding.BrowserRendition')
self.logger.debug('Creating an instance of BrowserRendition')
def __str__(self):
@@ -3196,7 +3209,6 @@ class BrowserRendition(object):
class BrowserCmisId(str):
-
"""
This is a marker class to be used for Strings that are used as CMIS ID's.
Making the objects instances of this class makes it easier to create the
@@ -3208,7 +3220,6 @@ class BrowserCmisId(str):
def setProps(properties, props, initialIndex=0):
-
"""
Transform key, value from properties into props list items in the format
expected by the HTTP POST request
@@ -3217,7 +3228,7 @@ def setProps(properties, props, initialI
i = initialIndex
for key, val in properties.items():
props["propertyId[%s]" % i] = key
- if isinstance(val, (list, tuple) ):
+ if isinstance(val, (list, tuple)):
j = 0
for v in val:
props["propertyValue[%s][%s]" % (i, j)] = v
@@ -3228,7 +3239,6 @@ def setProps(properties, props, initialI
def getSpecializedObject(obj, **kwargs):
-
"""
Returns an instance of the appropriate :class:`CmisObject` class or one
of its child types depending on the specified baseType.
@@ -3239,13 +3249,17 @@ def getSpecializedObject(obj, **kwargs):
if 'cmis:baseTypeId' in obj.getProperties():
baseType = obj.getProperties()['cmis:baseTypeId']
if baseType == 'cmis:folder':
- return BrowserFolder(obj._cmisClient, obj._repository, obj.getObjectId(), obj.data, **kwargs)
+ return BrowserFolder(obj._cmisClient, obj._repository,
+ obj.getObjectId(), obj.data, **kwargs)
if baseType == 'cmis:document':
- return BrowserDocument(obj._cmisClient, obj._repository, obj.getObjectId(), obj.data, **kwargs)
+ return BrowserDocument(obj._cmisClient, obj._repository,
+ obj.getObjectId(), obj.data, **kwargs)
if baseType == 'cmis:relationship':
- return BrowserRelationship(obj._cmisClient, obj._repository, obj.getObjectId(), obj.data, **kwargs)
+ return BrowserRelationship(obj._cmisClient, obj._repository,
+ obj.getObjectId(), obj.data, **kwargs)
if baseType == 'cmis:policy':
- return BrowserPolicy(obj._cmisClient, obj._repository, obj.getObjectId(), obj.data, **kwargs)
+ return BrowserPolicy(obj._cmisClient, obj._repository,
+ obj.getObjectId(), obj.data, **kwargs)
# if the base type ID wasn't found in the props (this can happen when
# someone runs a query that doesn't select * or doesn't individually
@@ -3255,22 +3269,22 @@ def getSpecializedObject(obj, **kwargs):
def encode_multipart_formdata(fields, contentFile, contentType):
-
"""
fields is a sequence of (name, value) elements for regular form fields.
- files is a sequence of (name, filename, value) elements for data to be uploaded as files
+ files is a sequence of (name, filename, value) elements for data to be
+ uploaded as files
Return MultipartEncoder for requests.post method
"""
_fields = OrderedDict()
- fileName = None
+ file_name = None
if fields:
for (key, value) in iteritems(fields):
if contentFile and value == 'cmis:name':
- fileName = fields['propertyValue' + key[-3:]]
+ file_name = fields['propertyValue' + key[-3:]]
_fields[key] = (None, value, 'text/plain;charset=utf-8')
if contentFile:
- _fields['content'] = (fileName or '', contentFile, contentType or 'application/binary')
-
+ _fields['content'] = (
+ file_name or '', contentFile, contentType or 'application/binary')
m = MultipartEncoder(
fields=_fields
)
@@ -3278,7 +3292,6 @@ def encode_multipart_formdata(fields, co
class ResultsSerializer(object):
-
"""
Responsible for serializing :class:`BrowserResultSet` objects.
"""
@@ -3287,16 +3300,13 @@ class ResultsSerializer(object):
"""Transforms from JSON to the object."""
entries = []
for obj in jsonObj['results']:
- cmisObject = getSpecializedObject(BrowserCmisObject(client,
- repo,
- data=obj))
+ cmisObject = getSpecializedObject(
+ BrowserCmisObject(client, repo, data=obj))
entries.append(cmisObject)
-
return entries
class ChildrenSerializer(object):
-
"""
Responsible for serializing lists of children.
"""
@@ -3306,16 +3316,14 @@ class ChildrenSerializer(object):
entries = []
for obj in jsonObj['objects']:
dataObj = obj['object']
- cmisObject = getSpecializedObject(BrowserCmisObject(client,
- repo,
- data=dataObj))
+ cmisObject = getSpecializedObject(
+ BrowserCmisObject(client, repo, data=dataObj))
entries.append(cmisObject)
return entries
class RelationShipsSerializer(object):
-
"""
Responsible for serializing lists of relationships.
"""
@@ -3324,16 +3332,14 @@ class RelationShipsSerializer(object):
"""Transforms from JSON to the object."""
entries = []
for obj in jsonObj['objects']:
- cmisObject = getSpecializedObject(BrowserCmisObject(client,
- repo,
- data=obj))
+ cmisObject = getSpecializedObject(
+ BrowserCmisObject(client, repo, data=obj))
entries.append(cmisObject)
return entries
class VersionsSerializer(object):
-
"""
Responsible for serializing a list of versions.
"""
@@ -3342,9 +3348,8 @@ class VersionsSerializer(object):
"""Transforms from JSON to the object."""
entries = []
for obj in jsonObj['objects']:
- cmisObject = getSpecializedObject(BrowserCmisObject(client,
- repo,
- data=obj))
+ cmisObject = getSpecializedObject(
+ BrowserCmisObject(client, repo, data=obj))
entries.append(cmisObject)
return entries
@@ -3352,10 +3357,11 @@ class VersionsSerializer(object):
# TODO Preserve tree hierarchy
class TreeSerializer(object):
-
"""
- The AtomPubBinding may be returning descendants and trees as a flat list of results.
- We should probably implement a Tree result set and return that here instead.
+ The AtomPubBinding may be returning descendants and trees as a flat list
+ of results.
+ We should probably implement a Tree result set and return that here
+ instead.
"""
def __init__(self, treeType='object'):
@@ -3373,9 +3379,8 @@ class TreeSerializer(object):
for obj in jsonObj:
if self.treeType == 'object':
dataObj = obj['object']['object']
- cmisThing = getSpecializedObject(BrowserCmisObject(client,
- repo,
- data=dataObj))
+ cmisThing = getSpecializedObject(
+ BrowserCmisObject(client, repo, data=dataObj))
elif self.treeType == 'type':
dataObj = obj['type']
cmisThing = BrowserObjectType(client, repo, data=dataObj)
@@ -3396,7 +3401,6 @@ class TreeSerializer(object):
class FolderSerializer(object):
-
"""
Responsible for serializing :class:`Folder` objects.
"""
@@ -3405,12 +3409,12 @@ class FolderSerializer(object):
"""Transforms the folder from JSON to an object."""
obj = json.loads(jsonString)
objectId = obj['succinctProperties']['cmis:objectId']
- folder = BrowserFolder(client, repo, objectId, properties=obj['succinctProperties'])
+ folder = BrowserFolder(client, repo, objectId,
+ properties=obj['succinctProperties'])
return folder
class ACLSerializer(object):
-
"""
Responsible for serializing :class:`BrowserACL` objects.
"""
@@ -3430,21 +3434,21 @@ class ACLSerializer(object):
class ChangeEntrySerializer(object):
-
"""
Responsible for serializing lists of change entries.
"""
def fromJSON(self, client, repo, jsonObj):
"""Transforms from JSON to the object."""
- self.logger = logging.getLogger('cmislib.browser.binding.ChangeEntrySerializer')
+ logger = logging.getLogger(
+ 'cmislib.browser.binding.ChangeEntrySerializer')
entries = []
for obj in jsonObj['objects']:
- self.logger.debug("Parsing a change entry object")
+ logger.debug("Parsing a change entry object")
cmisObject = BrowserChangeEntry(client,
repo,
data=obj)
- self.logger.debug("Parsed a change entry object, appending")
+ logger.debug("Parsed a change entry object, appending")
entries.append(cmisObject)
return entries
Modified: chemistry/cmislib/branches/py3_compat/src/cmislib/cmis_services.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/branches/py3_compat/src/cmislib/cmis_services.py?rev=1836996&r1=1836995&r2=1836996&view=diff
==============================================================================
--- chemistry/cmislib/branches/py3_compat/src/cmislib/cmis_services.py (original)
+++ chemistry/cmislib/branches/py3_compat/src/cmislib/cmis_services.py Sun Jul 29 16:57:38 2018
@@ -28,7 +28,6 @@ from cmislib.exceptions import CmisExcep
class Binding(object):
-
"""
Represents the binding used to communicate with the CMIS server.
"""
@@ -130,7 +129,6 @@ class Binding(object):
headers['Content-Type'] = contentType
return session.put(url, data=payload, params=kwargs, headers=headers)
-
def _processCommonErrors(self, response):
"""
@@ -159,13 +157,11 @@ class Binding(object):
class RepositoryServiceIfc(object):
-
"""
Defines the interface for the repository service.
"""
def getRepositories(self, client):
-
"""
Returns a list of repositories for this server.
"""
@@ -173,7 +169,6 @@ class RepositoryServiceIfc(object):
pass
def getRepositoryInfo(self):
-
"""
Returns the repository information for this server.
"""
Modified: chemistry/cmislib/branches/py3_compat/src/cmislib/domain.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/branches/py3_compat/src/cmislib/domain.py?rev=1836996&r1=1836995&r2=1836996&view=diff
==============================================================================
--- chemistry/cmislib/branches/py3_compat/src/cmislib/domain.py (original)
+++ chemistry/cmislib/branches/py3_compat/src/cmislib/domain.py Sun Jul 29 16:57:38 2018
@@ -86,7 +86,8 @@ class CmisObject(object):
def getAllowableActions(self):
"""
- Returns a dictionary of allowable actions, keyed off of the action name.
+ Returns a dictionary of allowable actions, keyed off of the action
+ name.
>>> actions = doc.getAllowableActions()
>>> for a in actions:
@@ -130,7 +131,8 @@ class CmisObject(object):
cmis:isLatestMajorVersion: false
cmis:isImmutable: false
cmis:isMajorVersion: false
- cmis:objectId: workspace://SpacesStore/dc26102b-e312-471b-b2af-91bfb0225339
+ cmis:objectId:
+ workspace://SpacesStore/dc26102b-e312-471b-b2af-91bfb0225339
The optional filter argument is not yet implemented.
"""
@@ -215,7 +217,19 @@ class CmisObject(object):
>>> rel = tstDoc1.createRelationship(tstDoc2, 'R:cmiscustom:assoc')
>>> rel.getProperties()
- {u'cmis:objectId': u'workspace://SpacesStore/271c48dd-6548-4771-a8f5-0de69b7cdc25', u'cmis:creationDate': None, u'cmis:objectTypeId': u'R:cmiscustom:assoc', u'cmis:lastModificationDate': None, u'cmis:targetId': u'workspace://SpacesStore/0ca1aa08-cb49-42e2-8881-53aa8496a1c1', u'cmis:lastModifiedBy': None, u'cmis:baseTypeId': u'cmis:relationship', u'cmis:sourceId': u'workspace://SpacesStore/271c48dd-6548-4771-a8f5-0de69b7cdc25', u'cmis:changeToken': None, u'cmis:createdBy': None}
+ {u'cmis:objectId':
+ u'workspace://SpacesStore/271c48dd-6548-4771-a8f5-0de69b7cdc25',
+ u'cmis:creationDate': None,
+ u'cmis:objectTypeId': u'R:cmiscustom:assoc',
+ u'cmis:lastModificationDate': None,
+ u'cmis:targetId':
+ u'workspace://SpacesStore/0ca1aa08-cb49-42e2-8881-53aa8496a1c1',
+ u'cmis:lastModifiedBy': None,
+ u'cmis:baseTypeId': u'cmis:relationship',
+ u'cmis:sourceId':
+ u'workspace://SpacesStore/271c48dd-6548-4771-a8f5-0de69b7cdc25',
+ u'cmis:changeToken': None,
+ u'cmis:createdBy': None}
"""
@@ -232,7 +246,19 @@ class CmisObject(object):
1
>>> rel = rels.getResults().values()[0]
>>> rel.getProperties()
- {u'cmis:objectId': u'workspace://SpacesStore/271c48dd-6548-4771-a8f5-0de69b7cdc25', u'cmis:creationDate': None, u'cmis:objectTypeId': u'R:cmiscustom:assoc', u'cmis:lastModificationDate': None, u'cmis:targetId': u'workspace://SpacesStore/0ca1aa08-cb49-42e2-8881-53aa8496a1c1', u'cmis:lastModifiedBy': None, u'cmis:baseTypeId': u'cmis:relationship', u'cmis:sourceId': u'workspace://SpacesStore/271c48dd-6548-4771-a8f5-0de69b7cdc25', u'cmis:changeToken': None, u'cmis:createdBy': None}
+ {u'cmis:objectId':
+ u'workspace://SpacesStore/271c48dd-6548-4771-a8f5-0de69b7cdc25',
+ u'cmis:creationDate': None,
+ u'cmis:objectTypeId': u'R:cmiscustom:assoc',
+ u'cmis:lastModificationDate': None,
+ u'cmis:targetId':
+ u'workspace://SpacesStore/0ca1aa08-cb49-42e2-8881-53aa8496a1c1',
+ u'cmis:lastModifiedBy': None,
+ u'cmis:baseTypeId': u'cmis:relationship',
+ u'cmis:sourceId':
+ u'workspace://SpacesStore/271c48dd-6548-4771-a8f5-0de69b7cdc25',
+ u'cmis:changeToken': None,
+ u'cmis:createdBy': None}
The following optional arguments are supported:
- includeSubRelationshipTypes
@@ -269,7 +295,9 @@ class CmisObject(object):
>>> acl = folder.getACL()
>>> acl.getEntries()
- {u'GROUP_EVERYONE': <cmislib.atompub.binding.AtomPubACE object at 0x10071a8d0>, 'jdoe': <cmislib.atompub.binding.AtomPubACE object at 0x10071a590>}
+ {u'GROUP_EVERYONE':
+ <cmislib.atompub.binding.AtomPubACE object at 0x10071a8d0>,
+ 'jdoe': <cmislib.atompub.binding.AtomPubACE object at 0x10071a590>}
The optional onlyBasicPermissions argument is currently not supported.
"""
@@ -286,7 +314,9 @@ class CmisObject(object):
>>> acl = folder.getACL()
>>> acl.addEntry(ACE('jdoe', 'cmis:write', 'true'))
>>> acl.getEntries()
- {u'GROUP_EVERYONE': <cmislib.atompub.binding.AtomPubACE object at 0x10071a8d0>, 'jdoe': <cmislib.atompub.binding.AtomPubACE object at 0x10071a590>}
+ {u'GROUP_EVERYONE':
+ <cmislib.atompub.binding.AtomPubACE object at 0x10071a8d0>,
+ 'jdoe': <cmislib.atompub.binding.AtomPubACE object at 0x10071a590>}
"""
pass
@@ -398,7 +428,8 @@ class Repository(object):
cmisVersionSupported:1.0
repositoryDescription:None
productVersion:3.2.0 (r2 2440)
- rootFolderId:workspace://SpacesStore/aa1ecedf-9551-49c5-831a-0502bb43f348
+ rootFolderId:
+ workspace://SpacesStore/aa1ecedf-9551-49c5-831a-0502bb43f348
repositoryId:83beb297-a6fa-4ac5-844b-98c871c0eea9
repositoryName:Main Repository
vendorName:Alfresco
@@ -429,8 +460,10 @@ class Repository(object):
values are:
- basic: indicates that the CMIS Basic permissions are supported
- - repository: indicates that repository specific permissions are supported
- - both: indicates that both CMIS basic permissions and repository specific permissions are supported
+ - repository: indicates that repository specific permissions are
+ supported
+ - both: indicates that both CMIS basic permissions and repository
+ specific permissions are supported
>>> repo.supportedPermissions
u'both'
@@ -551,7 +584,8 @@ class Repository(object):
"""
Returns a :class:`Folder` object for a specified folderId
- >>> someFolder = repo.getFolder('workspace://SpacesStore/aa1ecedf-9551-49c5-831a-0502bb43f348')
+ >>> someFolder = repo.getFolder(
+ ... 'workspace://SpacesStore/aa1ecedf-9551-49c5-831a-0502bb43f348')
>>> someFolder.getObjectId()
u'workspace://SpacesStore/aa1ecedf-9551-49c5-831a-0502bb43f348'
"""
@@ -727,7 +761,8 @@ class Repository(object):
"""
Returns an object given the specified object ID.
- >>> doc = repo.getObject('workspace://SpacesStore/f0c8b90f-bec0-4405-8b9c-2ab570589808')
+ >>> doc = repo.getObject(
+ ... 'workspace://SpacesStore/f0c8b90f-bec0-4405-8b9c-2ab570589808')
>>> doc.getTitle()
u'sample-b.pdf'
@@ -852,7 +887,9 @@ class Repository(object):
This method is essentially a convenience method that wraps your string
with a StringIO and then calls createDocument.
- >>> repo.createDocumentFromString('testdoc5', parentFolder=testFolder, contentString='Hello, World!', contentType='text/plain')
+ >>> repo.createDocumentFromString(
+ ... 'testdoc5', parentFolder=testFolder,
+ ... contentString='Hello, World!', contentType='text/plain')
<cmislib.atompub.binding.AtomPubDocument object at 0x101352ed0>
"""
@@ -1441,7 +1478,9 @@ class Folder(CmisObject):
This method is essentially a convenience method that wraps your string
with a StringIO and then calls createDocument.
- >>> testFolder.createDocumentFromString('testdoc3', contentString='hello, world', contentType='text/plain')
+ >>> testFolder.createDocumentFromString(
+ ... 'testdoc3', contentString='hello, world',
+ ... contentType='text/plain')
"""
pass
@@ -1671,8 +1710,8 @@ class Relationship(CmisObject):
def getSource(self):
"""
- Returns an instance of the appropriate child-type of :class:`CmisObject`
- for the source side of the relationship.
+ Returns an instance of the appropriate child-type of
+ :class:`CmisObject` for the source side of the relationship.
"""
pass
@@ -1680,8 +1719,8 @@ class Relationship(CmisObject):
def getTarget(self):
"""
- Returns an instance of the appropriate child-type of :class:`CmisObject`
- for the target side of the relationship.
+ Returns an instance of the appropriate child-type of
+ :class:`CmisObject` for the target side of the relationship.
"""
pass
@@ -1928,7 +1967,11 @@ class ACL(object):
>>> acl.addEntry('jpotts', 'cmis:read', 'true')
>>> acl.addEntry('jsmith', 'cmis:write', 'true')
>>> acl.getEntries()
- {u'GROUP_EVERYONE': <cmislib.atompub.binding.AtomPubACE object at 0x100731410>, u'jdoe': <cmislib.atompub.binding.AtomPubACE object at 0x100731150>, 'jpotts': <cmislib.atompub.binding.AtomPubACE object at 0x1005a22d0>, 'jsmith': <cmislib.atompub.binding.AtomPubACE object at 0x1005a2210>}
+ {u'GROUP_EVERYONE':
+ <cmislib.atompub.binding.AtomPubACE object at 0x100731410>,
+ u'jdoe': <cmislib.atompub.binding.AtomPubACE object at 0x100731150>,
+ 'jpotts': <cmislib.atompub.binding.AtomPubACE object at 0x1005a22d0>,
+ 'jsmith': <cmislib.atompub.binding.AtomPubACE object at 0x1005a2210>}
"""
pass
@@ -1939,10 +1982,17 @@ class ACL(object):
Removes the :class:`ACE` entry given a specific principalId.
>>> acl.getEntries()
- {u'GROUP_EVERYONE': <cmislib.atompub.binding.AtomPubACE object at 0x100731410>, u'jdoe': <cmislib.atompub.binding.AtomPubACE object at 0x100731150>, 'jpotts': <cmislib.atompub.binding.AtomPubACE object at 0x1005a22d0>, 'jsmith': <cmislib.atompub.binding.AtomPubACE object at 0x1005a2210>}
+ {u'GROUP_EVERYONE':
+ <cmislib.atompub.binding.AtomPubACE object at 0x100731410>,
+ u'jdoe': <cmislib.atompub.binding.AtomPubACE object at 0x100731150>,
+ 'jpotts': <cmislib.atompub.binding.AtomPubACE object at 0x1005a22d0>,
+ 'jsmith': <cmislib.atompub.binding.AtomPubACE object at 0x1005a2210>}
>>> acl.removeEntry('jsmith')
>>> acl.getEntries()
- {u'GROUP_EVERYONE': <cmislib.atompub.binding.AtomPubACE object at 0x100731410>, u'jdoe': <cmislib.atompub.binding.AtomPubACE object at 0x100731150>, 'jpotts': <cmislib.atompub.binding.AtomPubACE object at 0x1005a22d0>}
+ {u'GROUP_EVERYONE':
+ <cmislib.atompub.binding.AtomPubACE object at 0x100731410>,
+ u'jdoe': <cmislib.atompub.binding.AtomPubACE object at 0x100731150>,
+ 'jpotts': <cmislib.atompub.binding.AtomPubACE object at 0x1005a22d0>}
"""
pass
@@ -1957,7 +2007,8 @@ class ACL(object):
>>> acl.addEntry(ACE('jsmith', 'cmis:write', 'true'))
>>> acl.addEntry(ACE('jpotts', 'cmis:write', 'true'))
>>> acl.entries
- {'jpotts': <cmislib.atompub.binding.AtomPubACE object at 0x1012c7310>, 'jsmith': <cmislib.atompub.binding.AtomPubACE object at 0x100528490>}
+ {'jpotts': <cmislib.atompub.binding.AtomPubACE object at 0x1012c7310>,
+ 'jsmith': <cmislib.atompub.binding.AtomPubACE object at 0x100528490>}
>>> acl.getXmlDoc()
<xml.dom.minidom.Document instance at 0x1012cbb90>
>>> acl.clearEntries()
@@ -1977,7 +2028,8 @@ class ACL(object):
>>> acl.addEntry(ACE('jsmith', 'cmis:write', 'true'))
>>> acl.addEntry(ACE('jpotts', 'cmis:write', 'true'))
>>> for ace in acl.entries.values():
- ... print 'principal:%s has the following permissions...' % ace.principalId
+ ... print 'principal:%s has the following '\
+ ... 'permissions...' % ace.principalId
... for perm in ace.permissions:
... print perm
...
@@ -2031,7 +2083,7 @@ class ACE(object):
isinstance(other, self.__class__) and
self.principalId == other.principalId and
self.direct == other.direct and
- not(set(self.permissions) ^ set(other.permissions))):
+ not(set(self.permissions) ^ set(other.permissions))):
return True
return False
Modified: chemistry/cmislib/branches/py3_compat/src/cmislib/messages.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/branches/py3_compat/src/cmislib/messages.py?rev=1836996&r1=1836995&r2=1836996&view=diff
==============================================================================
--- chemistry/cmislib/branches/py3_compat/src/cmislib/messages.py (original)
+++ chemistry/cmislib/branches/py3_compat/src/cmislib/messages.py Sun Jul 29 16:57:38 2018
@@ -23,4 +23,5 @@ This module contains common strings.
"""
NO_ACL_SUPPORT = 'This repository does not support ACLs'
NO_CHANGE_LOG_SUPPORT = 'This repository does not support change logs'
-NO_CHANGE_OBJECT_SUPPORT = 'This repository does not support change log entries as objects'
+NO_CHANGE_OBJECT_SUPPORT = \
+ 'This repository does not support change log entries as objects'
Modified: chemistry/cmislib/branches/py3_compat/src/cmislib/model.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/branches/py3_compat/src/cmislib/model.py?rev=1836996&r1=1836995&r2=1836996&view=diff
==============================================================================
--- chemistry/cmislib/branches/py3_compat/src/cmislib/model.py (original)
+++ chemistry/cmislib/branches/py3_compat/src/cmislib/model.py Sun Jul 29 16:57:38 2018
@@ -23,17 +23,16 @@ keeping track of connection information.
really appropriate, but it is kept for backwards compatibility.
"""
import logging
+
import requests
from cmislib.atompub.binding import AtomPubBinding
from cmislib.cmis_services import Binding
-
moduleLogger = logging.getLogger('cmislib.model')
class CmisClient(object):
-
"""
Handles all communication with the CMIS provider.
"""
@@ -46,7 +45,8 @@ class CmisClient(object):
:param username: Username
:param password: Password
- >>> client = CmisClient('http://localhost:8080/alfresco/s/cmis', 'admin', 'admin')
+ >>> client = CmisClient(
+ ... 'http://localhost:8080/alfresco/s/cmis', 'admin', 'admin')
"""
self.repositoryUrl = repositoryUrl
@@ -54,9 +54,9 @@ class CmisClient(object):
self.password = password
self.extArgs = kwargs
self.session = requests.session()
- self.session.auth =(self.username, self.password)
- self.session.hooks = {'response': self._check_response_status }
- if 'binding' in kwargs and (isinstance(kwargs['binding'],Binding)):
+ self.session.auth = (self.username, self.password)
+ self.session.hooks = {'response': self._check_response_status}
+ if 'binding' in kwargs and (isinstance(kwargs['binding'], Binding)):
self.binding = kwargs['binding']
else:
self.binding = AtomPubBinding(**kwargs)
@@ -87,7 +87,8 @@ class CmisClient(object):
'repositoryName'.
>>> client.getRepositories()
- [{'repositoryName': u'Main Repository', 'repositoryId': u'83beb297-a6fa-4ac5-844b-98c871c0eea9'}]
+ [{'repositoryName': u'Main Repository',
+ 'repositoryId': u'83beb297-a6fa-4ac5-844b-98c871c0eea9'}]
"""
return self.binding.getRepositoryService().getRepositories(self)
@@ -101,7 +102,8 @@ class CmisClient(object):
>>> repo.getRepositoryName()
u'Main Repository'
"""
- return self.binding.getRepositoryService().getRepository(self, repositoryId)
+ return self.binding.getRepositoryService().getRepository(
+ self, repositoryId)
def getDefaultRepository(self):