URI: 
       tAllow requests that never expire - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit f08796fe68955e7d2c6381b30a64873e74a3f464
   DIR parent daef1a8359cc16acd34c8faad7bd91a1061b5b6a
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Tue, 10 Dec 2019 14:45:29 +0100
       
       Allow requests that never expire
       
       Diffstat:
         M electrum/gui/qt/request_list.py     |       2 +-
         M electrum/util.py                    |       8 +++++---
         M electrum/wallet.py                  |       6 ++----
       
       3 files changed, 8 insertions(+), 8 deletions(-)
       ---
   DIR diff --git a/electrum/gui/qt/request_list.py b/electrum/gui/qt/request_list.py
       t@@ -117,7 +117,7 @@ class RequestList(MyTreeView):
                        continue
                    request_type = req['type']
                    timestamp = req.get('time', 0)
       -            expiration = req.get('exp', None)
       +            expiration = req.get('exp', 0)
                    amount = req.get('amount')
                    message = req.get('message') or req.get('memo')
                    date = format_time(timestamp)
   DIR diff --git a/electrum/util.py b/electrum/util.py
       t@@ -104,6 +104,7 @@ pr_tooltips = {
        }
        
        pr_expiration_values = {
       +    0: _('Never'),
            10*60: _('10 minutes'),
            60*60: _('1 hour'),
            24*60*60: _('1 day'),
       t@@ -112,12 +113,13 @@ pr_expiration_values = {
        
        def get_request_status(req):
            status = req['status']
       -    if req['status'] == PR_UNPAID and 'exp' in req and req['time'] + req['exp'] < time.time():
       +    exp = req.get('exp', 0)
       +    if req['status'] == PR_UNPAID and exp > 0 and req['time'] + req['exp'] < time.time():
                status = PR_EXPIRED
            status_str = pr_tooltips[status]
            if status == PR_UNPAID:
       -        if req.get('exp'):
       -            expiration = req['exp'] + req['time']
       +        if exp > 0:
       +            expiration = exp + req['time']
                    status_str = _('Expires') + ' ' + age(expiration, include_seconds=True)
                else:
                    status_str = _('Pending')
   DIR diff --git a/electrum/wallet.py b/electrum/wallet.py
       t@@ -1527,12 +1527,10 @@ class Abstract_Wallet(AddressSynchronizer):
                timestamp = r.get('time', 0)
                if timestamp and type(timestamp) != int:
                    timestamp = 0
       -        expiration = r.get('exp')
       -        if expiration and type(expiration) != int:
       -            expiration = 0
       +        exp = r.get('exp', 0)
                paid, conf = self.get_payment_status(address, amount)
                if not paid:
       -            if expiration is not None and time.time() > timestamp + expiration:
       +            if exp > 0 and time.time() > timestamp + exp:
                        status = PR_EXPIRED
                    else:
                        status = PR_UNPAID