Add support for the Caldav-Sync Android client
This commit is contained in:
		 Marten Gajda
					Marten Gajda
				
			
				
					committed by
					
						 Guillaume Ayoub
						Guillaume Ayoub
					
				
			
			
				
	
			
			
			 Guillaume Ayoub
						Guillaume Ayoub
					
				
			
						parent
						
							3356d3235f
						
					
				
				
					commit
					380acebd71
				
			| @@ -39,11 +39,11 @@ import wsgiref.simple_server | ||||
| # pylint: disable=F0401 | ||||
| try: | ||||
|     from http import client, server | ||||
|     from urllib.parse import unquote, urlparse | ||||
|     from urllib.parse import quote, unquote, urlparse | ||||
| except ImportError: | ||||
|     import httplib as client | ||||
|     import BaseHTTPServer as server | ||||
|     from urllib import unquote | ||||
|     from urllib import quote, unquote | ||||
|     from urlparse import urlparse | ||||
| # pylint: enable=F0401 | ||||
|  | ||||
| @@ -221,6 +221,14 @@ class Application(object): | ||||
|             if calendars: | ||||
|                 status, headers, answer = function( | ||||
|                     environ, calendars, content, user) | ||||
|             elif user and self.acl.has_right(user, user, password): | ||||
|                 # Check if the user/password couple matches, | ||||
|                 # redirect user to his principal home in this case | ||||
|                 location = "/%s/" % str(quote(user)) | ||||
|                 log.LOGGER.info("redirecting to %s" % location) | ||||
|                 status = client.FOUND | ||||
|                 headers = {"Location": location} | ||||
|                 answer = "Redirecting to %s" % location | ||||
|             else: | ||||
|                 status = client.UNAUTHORIZED | ||||
|                 headers = { | ||||
|   | ||||
| @@ -171,7 +171,10 @@ class Calendar(object): | ||||
|         """ | ||||
|         self.encoding = "utf-8" | ||||
|         split_path = path.split("/") | ||||
|         self.owner = split_path[0] if len(split_path) > 1 else None | ||||
|         if (principal and split_path) or len(split_path) > 1: | ||||
|             self.owner = split_path[0] | ||||
|         else: | ||||
|             self.owner = None | ||||
|         self.path = os.path.join(FOLDER, path.replace("/", os.sep)) | ||||
|         self.local_path = path if path != '.' else '' | ||||
|         self.is_principal = principal | ||||
|   | ||||
		Reference in New Issue
	
	Block a user