[27280] in Source-Commits

home help back first fref pref prev next nref lref last post

discuss-ng commit: Implement the refresh command

daemon@ATHENA.MIT.EDU (Victor Vasiliev)
Mon Sep 16 02:30:52 2013

Date: Mon, 16 Sep 2013 02:30:45 -0400
From: Victor Vasiliev <vasilvv@MIT.EDU>
Message-Id: <201309160630.r8G6UjEe014803@drugstore.mit.edu>
To: source-commits@MIT.EDU

https://github.com/mit-athena/discuss-ng/commit/991d79bdc1601431bf81cbfa22565728b110677d
commit 991d79bdc1601431bf81cbfa22565728b110677d
Author: Victor Vasiliev <vasilvv@mit.edu>
Date:   Mon Sep 16 02:05:32 2013 -0400

    Implement the refresh command
    
    This command fetches the new transactions from the discuss server.

 ndsc |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/ndsc b/ndsc
index 319c6b8..fbfb1e7 100755
--- a/ndsc
+++ b/ndsc
@@ -231,6 +231,27 @@ def handle_transaction_undelete():
         transactions.insert(new_pos, trn)
         transaction_numbers.insert(new_pos, trn.number)
 
+def handle_refresh():
+    global transactions, transaction_numbers
+    global max_number, max_sender_len
+
+    meeting.load_info(force = True)
+    old_end = transactions[-1].number
+    new_end = meeting.last
+
+    if old_end >= new_end:
+        return
+
+    new_transactions = meeting.transactions(old_end + 1, new_end)
+    if not new_transactions:
+        return
+
+    transactions += new_transactions
+
+    transaction_numbers += [trn.number for trn in transactions]
+    max_number = new_transactions[-1].number
+    max_sender_len = max(max_sender_len, max(len(trn.signature) for trn in new_transactions))
+
 def reset_multiplier():
     global status_bar, multiplier_acc
 
@@ -288,6 +309,8 @@ def main_loop():
                     handle_transaction_undelete()
                 if ch == ord('g'):
                     pos_cur = bisect.bisect_left(transaction_numbers, multiplier)
+                if ch == ord('r'):
+                    handle_refresh()
 
                 if ch >= ord('0') and ch <= ord('9'):
                     multiplier_acc = multiplier_acc + chr(ch)

home help back first fref pref prev next nref lref last post