conveyor submitter crashes on python3
Motivation
----------
The submitter crashed when run with python3 with the following message. This doesn't happen in python2.


```
CRITICAL        Thread [0/73] :  Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/rucio/daemons/conveyor/submitter.py", line 170, in submitter
    retry_other_fts=retry_other_fts)
  File "/usr/local/lib/python3.6/site-packages/rucio/daemons/conveyor/submitter.py", line 337, in __get_transfers
    failover_schemes=failover_schemes)
  File "/usr/local/lib/python3.6/site-packages/rucio/db/sqla/session.py", line 377, in new_funct
    result = function(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/rucio/core/transfer.py", line 723, in get_transfer_requests_and_source_replicas
    session=session)
  File "/usr/local/lib/python3.6/site-packages/rucio/db/sqla/session.py", line 393, in new_funct
    result = function(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/rucio/core/transfer.py", line 582, in get_hops
    scheme=limit_dest_schemes if out_v == dest_rse_id and limit_dest_schemes else None)
  File "/usr/local/lib/python3.6/site-packages/rucio/rse/rsemanager.py", line 712, in find_matching_scheme
    dest_candidates = sorted(dest_candidates, key=lambda k: k['domains'][domain][operation_dest])
TypeError: '<' not supported between instances of 'NoneType' and 'int'
```



diff --git a/lib/rucio/rse/rsemanager.py b/lib/rucio/rse/rsemanager.py
index e6f3c804c..61cc82f30 100644
--- a/lib/rucio/rse/rsemanager.py
+++ b/lib/rucio/rse/rsemanager.py
@@ -17,7 +17,7 @@
 # - Ralph Vigne <ralph.vigne@cern.ch>, 2012-2015
 # - Vincent Garonne <vincent.garonne@cern.ch>, 2012-2018
 # - Mario Lassnig <mario.lassnig@cern.ch>, 2012-2020
-# - Cedric Serfon <cedric.serfon@cern.ch>, 2012-2019
+# - Cedric Serfon <cedric.serfon@cern.ch>, 2012-2020
 # - Yun-Pin Sun <winter0128@gmail.com>, 2013
 # - Wen Guan <wen.guan@cern.ch>, 2014-2017
 # - Martin Barisits <martin.barisits@cern.ch>, 2017-2020
@@ -681,7 +681,8 @@ def find_matching_scheme(rse_settings_dest, rse_settings_src, operation_src, ope
             if protocol['scheme'] not in scheme:
                 tbr.append(protocol)
                 continue
-        if protocol['domains'].get(domain, {}).get(operation_src, 1) == 0:
+        prot = protocol['domains'].get(domain, {}).get(operation_src, 1)
+        if prot is None or prot == 0:
             tbr.append(protocol)
     for r in tbr:
         src_candidates.remove(r)
@@ -696,7 +697,8 @@ def find_matching_scheme(rse_settings_dest, rse_settings_src, operation_src, ope
             if protocol['scheme'] not in scheme:
                 tbr.append(protocol)
                 continue
-        if protocol['domains'].get(domain, {}).get(operation_dest, 1) == 0:
+        prot = protocol['domains'].get(domain, {}).get(operation_dest, 1)
+        if prot is None or prot == 0:
             tbr.append(protocol)
     for r in tbr:
         dest_candidates.remove(r)
['lib/rucio/rse/rsemanager.py']