Example #1
0
	def __init__( self, local_service_url, lists_url, sharepoint_url, user, password ):
		self.service = SharePointServiceLocator().getSharePointServiceSoap(URL(local_service_url))
		self.contextURL = sharepoint_url
		self.user = user
		self.password = password
Example #2
0
class VamosaService:
	def __init__( self, local_service_url, lists_url, sharepoint_url, user, password ):
		self.service = SharePointServiceLocator().getSharePointServiceSoap(URL(local_service_url))
		self.contextURL = sharepoint_url
		self.user = user
		self.password = password
		
	#---------------------------------------#
	############     SETs      ##############
	#---------------------------------------#
	
	# Creates Item in List
	# String listName - name of List
	# String[] fieldNames - list of fields for item
	# String[] fieldValues - list of values for fields (must be in corresponding order as fieldNames)
	# return created item's ID or error message
	def vCreateItem( self, listName, fieldNames, fieldValues ):
		return self.service.createItem(listName,fieldNames,fieldValues,self.contextURL,self.user,self.password)
		
	# Creates nested list of folders under list
	#       e.g. ['a','b','d','e'] --> a/b/c/d
	# String listName - name of List
	# String[] folders - names of nested folders
	# returns string response
	def vCreateFolders( self, listName, folders ):
		return self.service.createFolders(listName,folders,self.contextURL,self.user,self.password)
		
	# Creates discussion thread
	# String listName - name of List
	# String discussionTitle - title for discussion thread
	# String[] fieldNames - list of fields for item
	# String[] fieldValues - list of values for fields (must be in corresponding order as fieldNames)
	# returns discussion's ID or error message
	def vCreateDiscussion( self, listName, discussionTitle, fieldNames, fieldValues ):
		return self.service.createDiscussion(listName,discussionTitle,fieldNames,fieldValues,self.contextURL,self.user,self.password)
		
	# Creates reply to discussion thread
	# String listName - name of List
	# int parentID - ID of parent discussion thread
	# String[] fieldNames - list of fields for item
	# String[] fieldValues - list of values for fields (must be in corresponding order as fieldNames)
	# returns reply's ID or error message
	def vCreateReply( self, listName, parentID, fieldNames, fieldValues ):
		return self.service.createReply(listName,parentID,fieldNames,fieldValues,self.contextURL,self.user,self.password)
		
	# Adds attachment to item
	# byte[] bytes - byte array of attachment
	# String listName - name of List
	# int itemID - ID of item for attachment
	# String filename - filename of attachment
	# returns string that contains the URL for the attachment, which can subsequently be used to reference the attachment
	def vAddAttachment( self, bytes, listName, itemID, filename ):
		return self.service.addAttachment(bytes,listName,itemID,filename,self.contextURL,self.user,self.password)
		
	# Uploads asset to List
	# byte[] bytes - byte array of asset
	# String listName - name of List
	# String filename - filename of asset
	# returns success/error message
	def vUploadAsset( self, bytes, listName, filename ):
		return self.service.uploadAsset(bytes,listName,filename,self.contextURL,self.user,self.password)
		
	# Updates fields of previously created
	# String listName - name of List
	# String[] fieldNames - list of fields for item
	# String[] fieldValues - list of values for fields (must be in corresponding order as fieldNames)
	# returns success/error message
	def vUpdateItemFields( self, listName, itemID, fieldNames, fieldValues ):
		return self.service.updateItemFields(listName,itemID,fieldNames,fieldValues,self.contextURL,self.user,self.password)
		
	# Deletes item from MOSS
	# String listName - name of List
	# int itemID - ID of item to be deleted
	def vDeleteItem( self, listName, itemID ):
		return self.service.deleteItem(listName,itemID,self.contextURL,self.user,self.password)
		
	# GETs
	def vGetListsInfo( self ):
		listsString =  self.service.getListsInfo(self.contextURL,self.user,self.password)
		listsMap = {}
		for list in listsString.split('\n'):
			try:
				listName, listGUID = list.split(" : ")
				listsMap[listName] = listGUID
			except:
				continue
		return listsMap
		
	def vGetListItemsInfo( self, listName ):
		itemsString = self.service.getListItemsInfo(listName,self.contextURL,self.user,self.password)
		itemsMap = {}
		for item in itemsString.split('\n'):
			try:
				itemName, itemID = item.split(" : ")
				itemsMap[itemName] = int(itemID)
			except:
				continue
		return itemsMap
		
	def vGetListFoldersInfo( self, listName ):
		itemsString = self.service.getListFoldersInfo(listName,self.contextURL,self.user,self.password)
		itemsMap = {}
		for item in itemsString.split('\n'):
			try:
				itemName, itemID = item.split(" : ")
				itemsMap[itemName] = int(itemID)
			except:
				continue
		return itemsMap
		
	def vGetItemFields( self, listName, itemID ):
		itemFieldsString = self.service.getItemFields(listName,itemID,self.contextURL,self.user,self.password)
		itemFields = {}
		for itemField in itemFieldsString.split('\n'):
			matcher = re.match(r"\[(?P<name>[\w]+), (?P<value>.*?)\]",itemField)
			if matcher:
				name = matcher.group("name")
				value = matcher.group("value")
				itemFields[name] = value;
		return itemFields