Setting tag plcapi-5.4-2
[plcapi.git] / PLC / Leases.py
index 2f7d493..c1b2235 100644 (file)
@@ -1,8 +1,6 @@
 #
 # Functions for interacting with the leases table in the database
 #
-# $Id$
-# $URL$
 # Thierry Parmentelat -- INRIA
 #
 
@@ -46,27 +44,25 @@ class Lease(Row):
 
     related_fields = { }
 
-    # leases do not have arbitrary boundaries
-    # f_from and t_until are rounded to this period of time
-    # initial model is 15 minutes
-#    granularity = 15*60    granularity = 5*60
-
     def validate_time (self, timestamp, round_up):
         # convert to long
         timestamp = Timestamp.cast_long(timestamp)
+        # retrieve configured granularity
+        granularity = self.api.config.PLC_RESERVATION_GRANULARITY
         # the trick for rounding up rather than down
-        if round_up: timestamp += (Lease.granularity-1)
+        if round_up:
+            timestamp += (granularity-1)
         # round down
-        timestamp = (timestamp/Lease.granularity) * Lease.granularity
+        timestamp = (timestamp/granularity) * granularity
         # return a SQL string
         return Timestamp.sql_validate_utc(timestamp)
 
-    # round UP 
-    def validate_t_from(self,timestamp):
-        return self.validate_time (timestamp, round_up=True)
-    # round DOWN 
+    # round UP
+    def validate_t_from(self, timestamp):
+        return self.validate_time(timestamp, round_up=True)
+    # round DOWN
     def validate_t_until (self, timestamp):
-        return self.validate_time (timestamp, round_up=False)
+        return self.validate_time(timestamp, round_up=False)
 
 class Leases(Table):
     """
@@ -83,10 +79,7 @@ class Leases(Table):
 
 
         if lease_filter is not None:
-
-            if isinstance (lease_filter, int):
-                lease_filter = Filter (Lease.fields, {'lease_id': lease_filter})
-            elif isinstance(lease_filter, (list, tuple, set)):
+            if isinstance(lease_filter, (list, tuple, set, int, long)):
                 lease_filter = Filter(Lease.fields, {'lease_id': lease_filter})
             elif isinstance(lease_filter, dict):
                 lease_filter = LeaseFilter(Lease.fields, lease_filter)