From 5743f29ed6cf8ff61affc79c047832185b5e30d0 Mon Sep 17 00:00:00 2001 From: Avery Pennarun Date: Sun, 1 Jul 2012 15:32:34 -0400 Subject: [PATCH] server.py: slightly rearrange previous commit. Add some documentation about the int() vs long() and the reason behind _shl(). Instead of "from __future__ import generators", just don't use generators. --- server.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/server.py b/server.py index 6b64b20..5f2e5e4 100644 --- a/server.py +++ b/server.py @@ -1,4 +1,3 @@ -from __future__ import generators # add yield for python2.2 import re, struct, socket, select, traceback, time if not globals().get('skip_imports'): import ssnet, helpers, hostwatch @@ -44,6 +43,11 @@ def _maskbits(netmask): def _shl(n, bits): + # we use our own implementation of left-shift because + # results may be different between older and newer versions + # of python for numbers like 1<<32. We use long() because + # int(2**32) doesn't work in older python, which has limited + # int sizes. return n * long(2**bits) @@ -69,9 +73,11 @@ def _list_routes(): def list_routes(): + l = [] for (ip,width) in _list_routes(): if not ip.startswith('0.') and not ip.startswith('127.'): - yield (ip,width) + l.append((ip,width)) + return l def _exc_dump():