瀏覽代碼

Factor out _report_status in ReceivePackHandler.

Change-Id: Ib0829d6a8817518625a1a3f06392d77f04862c2d
Dave Borowitz 15 年之前
父節點
當前提交
1ca9fc6760
共有 2 個文件被更改,包括 13 次插入8 次删除
  1. 2 0
      NEWS
  2. 11 8
      dulwich/server.py

+ 2 - 0
NEWS

@@ -87,6 +87,8 @@
 
   * Move reference WSGI handler to web.py. (Dave Borowitz)
 
+  * Factor out _report_status in ReceivePackHandler. (Dave Borowitz)
+
 
 0.6.0	2010-05-22
 

+ 11 - 8
dulwich/server.py

@@ -614,6 +614,16 @@ class ReceivePackHandler(Handler):
 
         return status
 
+    def _report_status(self, status):
+        for name, msg in status:
+            if name == 'unpack':
+                self.proto.write_pkt_line('unpack %s\n' % msg)
+            elif msg == 'ok':
+                self.proto.write_pkt_line('ok %s\n' % name)
+            else:
+                self.proto.write_pkt_line('ng %s %s\n' % (name, msg))
+        self.proto.write_pkt_line(None)
+
     def handle(self):
         refs = self.repo.get_refs().items()
 
@@ -654,14 +664,7 @@ class ReceivePackHandler(Handler):
         # when we have read all the pack from the client, send a status report
         # if the client asked for it
         if self.has_capability('report-status'):
-            for name, msg in status:
-                if name == 'unpack':
-                    self.proto.write_pkt_line('unpack %s\n' % msg)
-                elif msg == 'ok':
-                    self.proto.write_pkt_line('ok %s\n' % name)
-                else:
-                    self.proto.write_pkt_line('ng %s %s\n' % (name, msg))
-            self.proto.write_pkt_line(None)
+            self._report_status(status)
 
 
 # Default handler classes for git services.