X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FLeases.py;h=c1b2235a1af7c37bda2146ce5d52f0d158553c0f;hb=19d4a01ccf66af9e00914351b3eacd5fc880f988;hp=2f7d49302de3703ac6e29c1e2c13ef1e21debf8f;hpb=b3136dfd5c09b0b7e411df27458d731f726bea44;p=plcapi.git diff --git a/PLC/Leases.py b/PLC/Leases.py index 2f7d4930..c1b2235a 100644 --- a/PLC/Leases.py +++ b/PLC/Leases.py @@ -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)