summaryrefslogtreecommitdiff
blob: 707e54d1ce05eb81b00a43ba052d630547a8ec07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Display transfer message as INFO and not as DEBUG.
# Display kbps as human readable speed.

--- src/eyefiserver.orig	2012-10-17 15:44:55.000000000 +0200
+++ src/eyefiserver			2013-01-29 16:46:50.315732000 +0100
@@ -81,6 +81,19 @@
 eyeFiLogger = logging.Logger("eyeFiLogger", logging.DEBUG)
 
 
+def human_bps(bps):
+    """
+    human-readable bytes per second, e.g. 13 KB/s, 4.1 MB/s, 102 bytes/s, etc.
+    """
+    bps = float(bps)
+    if bps < 1024:
+        return "%d Byte%s/s" % (bps, bps != 1 and "s" or "")
+    if bps < 1024 * 1024:
+        return "%.1f KB/s" % (bps / 1024)
+    if bps < 1024 * 1024 * 1024:
+        return "%.1f MB/s" % (bps / (1024 * 1024))
+    return "%.1f GB/s" % (bps / (1024 * 1024 * 1024))
+
 
 class IntegrityDigestFile(file):
     """
@@ -610,13 +623,14 @@
                                 + elapsed_time.seconds \
                                 + elapsed_time.microseconds / 1000000.
 
-                speed = (received_length-speedtest_startsize)/elapsed_seconds*8
-                eyeFiLogger.debug("%s: Read %s / %s bytes (%02.02f%%) %d kbps",
+                speed = (received_length - speedtest_startsize) / elapsed_seconds * 8
+                human_speed = human_bps(speed)
+                eyeFiLogger.info("%s: Read %s / %s bytes (%02.02f%%) %s",
                     soapdata['filename'],
                     received_length,
                     content_length,
                     received_length * 100. / content_length,
-                    speed/1000
+                    human_speed
                     )
 
                 speedtest_starttime = datetime.utcnow()
@@ -629,7 +643,7 @@
                     execute_cmd = [execute_cmd,
                                    tarpath,
                                    str(tarfinalsize),
-                                   str(speed)]
+                                   human_speed]
                     eyeFiLogger.debug('Executing command "%s"',
                                       ' '.join(execute_cmd))
                     subprocess.Popen(execute_cmd)