Package caldavclientlibrary :: Package protocol :: Package webdav :: Module put
[hide private]
[frames] | no frames]

Source Code for Module caldavclientlibrary.protocol.webdav.put

 1  ## 
 2  # Copyright (c) 2007-2016 Apple Inc. All rights reserved. 
 3  # 
 4  # Licensed under the Apache License, Version 2.0 (the "License"); 
 5  # you may not use this file except in compliance with the License. 
 6  # You may obtain a copy of the License at 
 7  # 
 8  # http://www.apache.org/licenses/LICENSE-2.0 
 9  # 
10  # Unless required by applicable law or agreed to in writing, software 
11  # distributed under the License is distributed on an "AS IS" BASIS, 
12  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
13  # See the License for the specific language governing permissions and 
14  # limitations under the License. 
15  ## 
16   
17  from caldavclientlibrary.protocol.webdav.requestresponse import RequestResponse 
18  from caldavclientlibrary.protocol.webdav.definitions import methods 
19  from caldavclientlibrary.protocol.webdav.definitions import headers 
20   
21 -class Put(RequestResponse):
22
23 - def __init__(self, session, url, lock=None):
25
26 - def setData(self, request_data, response_data, etag=None, new_item=False):
27 assert(not (etag and new_item)) 28 self.request_data = request_data 29 self.response_data = response_data 30 31 # Must have matching ETag 32 if etag: 33 self.etag = etag 34 self.etag_match = True 35 36 # ETag should be '*' and we add If-None-Match header to ensure we do not overwrite something already there 37 if new_item: 38 self.etag = "*" 39 self.etag_match = False
40
41 - def getNewETag(self):
42 # Get the ETag header from response headers 43 if self.hasResponseHeader(headers.ETag): 44 return self.getResponseHeader(headers.ETag) 45 else: 46 return None
47