(bucket, amount)
| 75 | |
| 76 | print("Example 3") |
| 77 | def deduct(bucket, amount): |
| 78 | now = datetime.now() |
| 79 | if (now - bucket.reset_time) > bucket.period_delta: |
| 80 | return False # Bucket hasn't been filled this period |
| 81 | if bucket.quota - amount < 0: |
| 82 | return False # Bucket was filled, but not enough |
| 83 | bucket.quota -= amount |
| 84 | return True # Bucket had enough, quota consumed |
| 85 | |
| 86 | |
| 87 | print("Example 4") |