浏览代码

Minor cleanup of remote code

Jonas Borgström 12 年之前
父节点
当前提交
ae4ddac2ef
共有 2 个文件被更改,包括 11 次插入15 次删除
  1. 10 13
      attic/archive.py
  2. 1 2
      attic/remote.py

+ 10 - 13
attic/archive.py

@@ -8,9 +8,9 @@ import stat
 import sys
 import time
 from io import BytesIO
-from . import xattr
-from .chunker import chunkify
-from .helpers import uid2user, user2uid, gid2group, group2gid, \
+from attic import xattr
+from attic.chunker import chunkify
+from attic.helpers import uid2user, user2uid, gid2group, group2gid, \
     Statistics, decode_dict, st_mtime_ns, make_path_safe
 
 ITEMS_BUFFER = 1024 * 1024
@@ -30,10 +30,7 @@ class ItemIter(object):
         self.filter = filter
         self.stack = []
         self.peeks = 0
-        self._peek = None
         self._peek_iter = None
-        global foo
-        foo = self
 
     def __iter__(self):
         return self
@@ -42,7 +39,7 @@ class ItemIter(object):
         if self.stack:
             item = self.stack.pop(0)
         else:
-            self._peek = None
+            self._peek_iter = None
             item = self.get_next()
         self.peeks = max(0, self.peeks - len(item.get(b'chunks', [])))
         return item
@@ -56,13 +53,13 @@ class ItemIter(object):
 
     def peek(self):
         while True:
-            while not self._peek or not self._peek_iter:
+            while not self._peek_iter:
                 if self.peeks > 100:
                     raise StopIteration
-                self._peek = self.get_next()
-                self.stack.append(self._peek)
-                if b'chunks' in self._peek:
-                    self._peek_iter = iter(self._peek[b'chunks'])
+                _peek = self.get_next()
+                self.stack.append(_peek)
+                if b'chunks' in _peek:
+                    self._peek_iter = iter(_peek[b'chunks'])
                 else:
                     self._peek_iter = None
             try:
@@ -70,7 +67,7 @@ class ItemIter(object):
                 self.peeks += 1
                 return item
             except StopIteration:
-                self._peek = None
+                self._peek_iter = None
 
 
 class Archive(object):

+ 1 - 2
attic/remote.py

@@ -121,7 +121,6 @@ class RemoteRepository(object):
                 self.unpacker.feed(data)
                 for type, msgid, error, res in self.unpacker:
                     if msgid == self.msgid:
-                        assert msgid == self.msgid
                         self.received_msgid = msgid
                         if error:
                             raise self.RPCError(error)
@@ -136,7 +135,7 @@ class RemoteRepository(object):
                     n = os.write(self.stdin_fd, to_send)
                     assert n > 0
                     to_send = memoryview(to_send)[n:]
-                else:
+                if not to_send:
                     w_fds = []
 
     def _read(self):