[CalendarServer-changes] [1447] CalendarServer/trunk/twistedcaldav

source_changes at macosforge.org source_changes at macosforge.org
Wed Apr 4 10:55:18 PDT 2007


Revision: 1447
          http://trac.macosforge.org/projects/calendarserver/changeset/1447
Author:   cdaboo at apple.com
Date:     2007-04-04 10:55:18 -0700 (Wed, 04 Apr 2007)

Log Message:
-----------
Fix some bare except:'s that do not re-raise - make sure that catch explicit exceptions. A bug in calendar query logic was uncovered
by this and also fixed.

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/ical.py
    CalendarServer/trunk/twistedcaldav/itip.py
    CalendarServer/trunk/twistedcaldav/method/mkcalendar.py
    CalendarServer/trunk/twistedcaldav/method/report_common.py
    CalendarServer/trunk/twistedcaldav/method/report_multiget.py
    CalendarServer/trunk/twistedcaldav/query/calendarquery.py
    CalendarServer/trunk/twistedcaldav/schedule.py
    CalendarServer/trunk/twistedcaldav/static.py

Modified: CalendarServer/trunk/twistedcaldav/ical.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/ical.py	2007-04-04 14:46:26 UTC (rev 1446)
+++ CalendarServer/trunk/twistedcaldav/ical.py	2007-04-04 17:55:18 UTC (rev 1447)
@@ -851,7 +851,7 @@
             method = self.propertyValue("METHOD")
             if method not in ("PUBLISH", "REQUEST", "REPLY", "ADD", "CANCEL", "REFRESH", "COUNTER", "DECLINECOUNTER"):
                 return False
-        except:
+        except ValueError:
             return False
         
         return True
@@ -882,7 +882,7 @@
                 if len([c for c in self.subcomponents()]) != 1:
                     return False
 
-        except:
+        except ValueError:
             return False
         
         return True
@@ -903,7 +903,7 @@
             try:
                 # Find the primary subcomponent
                 return self.propertyValue("ORGANIZER")
-            except:
+            except ValueError:
                 pass
 
         return None
@@ -924,7 +924,7 @@
             try:
                 # Find the primary subcomponent
                 return self.getProperty("ORGANIZER")
-            except:
+            except ValueError:
                 pass
 
         return None
@@ -943,11 +943,8 @@
                 if component.name() != "VTIMEZONE":
                     return component.getAttendees()
         else:
-            try:
-                # Find the property values
-                return [p.value() for p in self.properties("ATTENDEE")]
-            except:
-                pass
+            # Find the property values
+            return [p.value() for p in self.properties("ATTENDEE")]
 
         return None
 
@@ -978,13 +975,10 @@
                 if component.name() != "VTIMEZONE":
                     return component.getAttendeeProperty(match)
         else:
-            try:
-                # Find the primary subcomponent
-                for p in self.properties("ATTENDEE"):
-                    if _normalizeCUAddress(p.value()) in test:
-                        return p
-            except:
-                pass
+            # Find the primary subcomponent
+            for p in self.properties("ATTENDEE"):
+                if _normalizeCUAddress(p.value()) in test:
+                    return p
 
         return None
 
@@ -1004,7 +998,7 @@
             try:
                 # Find the primary subcomponent
                 return self.propertyValue("X-CALENDARSERVER-MASK-UID")
-            except:
+            except ValueError:
                 pass
 
         return None

Modified: CalendarServer/trunk/twistedcaldav/itip.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/itip.py	2007-04-04 14:46:26 UTC (rev 1446)
+++ CalendarServer/trunk/twistedcaldav/itip.py	2007-04-04 17:55:18 UTC (rev 1447)
@@ -43,6 +43,8 @@
 from twisted.web2.dav.method.report import NumberOfMatchesWithinLimits
 from twisted.web2.dav.util import joinURL
 from twisted.web2.dav.fileop import delete
+from twisted.web2.dav.resource import AccessDeniedError
+
 from twistedcaldav import caldavxml
 from twistedcaldav.ical import Property, iCalendarProductID
 from twistedcaldav.method import report_common
@@ -561,7 +563,7 @@
         d = waitForDeferred(inbox.checkPrivileges(request, (caldavxml.Schedule(),), principal=davxml.Principal(davxml.HRef.fromString(principal.principalURL()))))
         yield d
         d.getResult()
-    except:
+    except AccessDeniedError:
         logging.info("[ITIP]: could not send reply as %s does not have CALDAV:schedule permission on %s Inbox." % (principal.principalURL(), organizer))
         yield None
         return
@@ -682,7 +684,7 @@
             return False
         if calendar.mainType() not in ("VEVENT"):
             return False
-    except:
+    except ValueError:
         return False
     
     return True
@@ -711,7 +713,7 @@
         # Remove the one we want to ignore
         if ignore is not None:
             result = [name for name in result if name != ignore.fp.basename()]
-    except:
+    except ValueError:
         return []
     
     return result
@@ -741,7 +743,7 @@
         # Remove the one we want to ignore
         if ignore is not None:
             names = [name for name in names if name != ignore.fp.basename()]
-    except:
+    except ValueError:
         return []
     
     # Now get info for each name
@@ -767,7 +769,7 @@
         dtstamp = comp.propertyValue("DTSTAMP")
         rid = comp.propertyValue("RECURRENCE-ID")
         
-    except:
+    except ValueError:
         return (name, None, None, None, None)
     
     return (name, uid, seq, dtstamp, rid)

Modified: CalendarServer/trunk/twistedcaldav/method/mkcalendar.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/method/mkcalendar.py	2007-04-04 14:46:26 UTC (rev 1446)
+++ CalendarServer/trunk/twistedcaldav/method/mkcalendar.py	2007-04-04 17:55:18 UTC (rev 1447)
@@ -106,7 +106,7 @@
                         p = waitForDeferred(self.writeProperty(property, request))
                         yield p
                         p.getResult()
-                except:
+                except HTTPError:
                     errors.add(Failure(), property)
                     got_an_error = True
                 else:

Modified: CalendarServer/trunk/twistedcaldav/method/report_common.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/method/report_common.py	2007-04-04 14:46:26 UTC (rev 1446)
+++ CalendarServer/trunk/twistedcaldav/method/report_common.py	2007-04-04 17:55:18 UTC (rev 1447)
@@ -38,6 +38,8 @@
 from twisted.web2.dav.method.propfind import propertyName
 from twisted.web2.dav.method.report import NumberOfMatchesWithinLimits
 from twisted.web2.dav.method.report import max_number_of_matches
+from twisted.web2.dav.resource import AccessDeniedError
+from twisted.web2.http import HTTPError
 
 from twistedcaldav import caldavxml
 from twistedcaldav.caldavxml import caldav_namespace
@@ -71,7 +73,7 @@
         d = waitForDeferred(resource.checkPrivileges(request, privileges))
         yield d
         d.getResult()
-    except:
+    except AccessDeniedError:
         yield None
         return
 
@@ -246,7 +248,7 @@
                 yield prop
                 prop = prop.getResult()
                 properties_by_status[responsecode.OK].append(prop)
-            except:
+            except HTTPError:
                 f = Failure()
     
                 log.err("Error reading property %r for resource %s: %s" % (qname, request.uri, f.value))
@@ -281,7 +283,7 @@
         d = waitForDeferred(calresource.checkPrivileges(request, (caldavxml.ReadFreeBusy(),)))
         yield d
         d.getResult()
-    except:
+    except AccessDeniedError:
         yield matchtotal
         return
 
@@ -332,7 +334,7 @@
             d = waitForDeferred(child.checkPrivileges(request, (caldavxml.ReadFreeBusy(),), inherited_aces=filteredaces))
             yield d
             d.getResult()
-        except:
+        except AccessDeniedError:
             continue
 
         calendar = calresource.iCalendar(name)

Modified: CalendarServer/trunk/twistedcaldav/method/report_multiget.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/method/report_multiget.py	2007-04-04 14:46:26 UTC (rev 1446)
+++ CalendarServer/trunk/twistedcaldav/method/report_multiget.py	2007-04-04 17:55:18 UTC (rev 1447)
@@ -28,6 +28,7 @@
 from twisted.web2.dav import davxml
 from twisted.web2.dav.element.base import dav_namespace
 from twisted.web2.dav.http import ErrorResponse, MultiStatusResponse
+from twisted.web2.dav.resource import AccessDeniedError
 from twisted.web2.dav.util import joinURL
 from twisted.web2.http import HTTPError, StatusResponse
 
@@ -218,7 +219,7 @@
                         d = waitForDeferred(parent.checkPrivileges(request, (davxml.Read(),)))
                         yield d
                         d.getResult()
-                    except:
+                    except AccessDeniedError:
                         responses.append(davxml.StatusResponse(href, davxml.Status.fromResponseCode(responsecode.NOT_ALLOWED)))
                         continue
                     
@@ -258,7 +259,7 @@
                     d = waitForDeferred(child.checkPrivileges(request, (davxml.Read(),), inherited_aces=filteredaces))
                     yield d
                     d.getResult()
-                except:
+                except AccessDeniedError:
                     responses.append(davxml.StatusResponse(href, davxml.Status.fromResponseCode(responsecode.NOT_ALLOWED)))
                     continue
         

Modified: CalendarServer/trunk/twistedcaldav/query/calendarquery.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/query/calendarquery.py	2007-04-04 14:46:26 UTC (rev 1446)
+++ CalendarServer/trunk/twistedcaldav/query/calendarquery.py	2007-04-04 17:55:18 UTC (rev 1447)
@@ -123,7 +123,7 @@
         compsExpression = None
 
     # Now build compound expression
-    if ((propsExpression is not None) or (compsExpression is not None)):
+    if ((propsExpression is not None) and (compsExpression is not None)):
         expressions.append(expression.orExpression([propsExpression, compsExpression]))
     elif propsExpression is not None:
         expressions.append(propsExpression)
@@ -218,7 +218,7 @@
         expression = calendarquery(filter)
         sql = sqlgenerator.sqlgenerator(expression)
         return sql.generate()
-    except:
+    except ValueError:
         return None
 
 

Modified: CalendarServer/trunk/twistedcaldav/schedule.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/schedule.py	2007-04-04 14:46:26 UTC (rev 1446)
+++ CalendarServer/trunk/twistedcaldav/schedule.py	2007-04-04 17:55:18 UTC (rev 1447)
@@ -34,6 +34,7 @@
 from twisted.web2.http_headers import MimeType
 from twisted.web2.dav import davxml
 from twisted.web2.dav.http import ErrorResponse, errorForFailure, messageForFailure, statusForFailure
+from twisted.web2.dav.resource import AccessDeniedError
 from twisted.web2.dav.util import joinURL, parentForURL
 
 from twistedcaldav import caldavxml
@@ -333,7 +334,7 @@
                     d = waitForDeferred(inbox.checkPrivileges(request, (caldavxml.Schedule(),), principal=davxml.Principal(davxml.HRef(oprincipal.principalURL()))))
                     yield d
                     d.getResult()
-                except:
+                except AccessDeniedError:
                     log.err("Could not access Inbox for recipient: %s" % (recipient,))
                     err = HTTPError(ErrorResponse(responsecode.NOT_FOUND, (caldav_namespace, "recipient-permisions")))
                     responses.add(recipient, Failure(exc_value=err), reqstatus="3.8;No authority")

Modified: CalendarServer/trunk/twistedcaldav/static.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/static.py	2007-04-04 14:46:26 UTC (rev 1446)
+++ CalendarServer/trunk/twistedcaldav/static.py	2007-04-04 17:55:18 UTC (rev 1447)
@@ -48,6 +48,7 @@
 from twisted.web2.dav.http import ErrorResponse
 from twisted.web2.dav.idav import IDAVResource
 from twisted.web2.dav.method import put_common as put_common_base
+from twisted.web2.dav.resource import AccessDeniedError
 from twisted.web2.dav.resource import davPrivilegeSet
 from twisted.web2.dav.util import parentForURL, bindMethods
 
@@ -189,7 +190,7 @@
                         d = waitForDeferred(child.checkPrivileges(request, (davxml.Read(),), inherited_aces=filteredaces))
                         yield d
                         d.getResult()
-                    except:
+                    except AccessDeniedError:
                         continue
                     subcalendar = self.iCalendar(name)
                     assert subcalendar.name() == "VCALENDAR"

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070404/6c69ab67/attachment.html


More information about the calendarserver-changes mailing list