Mercurial > templog
comparison py/utils.py @ 293:d15dda1b1f76
merge
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Sat, 06 Jul 2019 18:29:45 +0800 |
parents | 26eee8591f61 |
children | 78c542f03030 |
comparison
equal
deleted
inserted
replaced
292:28eb733cb803 | 293:d15dda1b1f76 |
---|---|
2 import sys | 2 import sys |
3 #import ctypes | 3 #import ctypes |
4 import time | 4 import time |
5 import select | 5 import select |
6 import logging | 6 import logging |
7 import binascii | |
8 import json | |
7 | 9 |
8 D = logging.debug | 10 D = logging.debug |
9 L = logging.info | 11 L = logging.info |
10 W = logging.warning | 12 W = logging.warning |
11 E = logging.error | 13 E = logging.error |
58 if d is not None: | 60 if d is not None: |
59 return d | 61 return d |
60 time.sleep(try_time) | 62 time.sleep(try_time) |
61 return None | 63 return None |
62 | 64 |
63 new_f.func_name = func.func_name | 65 new_f.__name__ = func.__name__ |
64 return new_f | 66 return new_f |
65 return inner | 67 return inner |
66 | 68 |
67 def readline(sock): | 69 def readline(sock): |
68 timeout = READLINE_SELECT_TIMEOUT | 70 timeout = READLINE_SELECT_TIMEOUT |
111 | 113 |
112 try: | 114 try: |
113 pid = os.fork() | 115 pid = os.fork() |
114 if pid > 0: | 116 if pid > 0: |
115 sys.exit(0) | 117 sys.exit(0) |
116 except OSError, e: | 118 except OSError as e: |
117 E("Bad fork()") | 119 E("Bad fork()") |
118 sys.exit(1) | 120 sys.exit(1) |
119 | 121 |
120 os.setsid() | 122 os.setsid() |
121 | 123 |
122 try: | 124 try: |
123 pid = os.fork() | 125 pid = os.fork() |
124 if pid > 0: | 126 if pid > 0: |
125 sys.exit(0) | 127 sys.exit(0) |
126 except OSError, e: | 128 except OSError as e: |
127 E("Bad fork()") | 129 E("Bad fork()") |
128 sys.exit(1) | 130 sys.exit(1) |
129 | 131 |
130 def uptime(): | 132 def uptime(): |
131 try: | 133 try: |
132 return float(open('/proc/uptime', 'r').read().split(' ', 1)[0]) | 134 return float(open('/proc/uptime', 'r').read().split(' ', 1)[0]) |
133 except Exception, e: | 135 except Exception as e: |
134 return -1 | 136 return -1 |
135 | 137 |
138 | |
139 def json_load_round_float(s, **args): | |
140 return json.loads(s,parse_float = lambda f: round(float(f), 2), **args) |