|
|
@@ -56,8 +56,9 @@ import os
|
|
|
import re
|
|
|
import sys
|
|
|
import time
|
|
|
+import datetime
|
|
|
|
|
|
-rate_limit_ms = 1500.0
|
|
|
+RATE_LIMIT_MS = 1500.0
|
|
|
|
|
|
def convert_tagid(s):
|
|
|
binstr = ""
|
|
|
@@ -69,10 +70,6 @@ def convert_tagid(s):
|
|
|
__b = "0"*(4-len(_b)) + _b
|
|
|
binstr = binstr + __b
|
|
|
|
|
|
- #print("c:", c, "v:", v, "_b:", _b, "binstr:", binstr)
|
|
|
-
|
|
|
- #print("binstr:", binstr)
|
|
|
-
|
|
|
f, s, = -1, -1
|
|
|
for idx, b in enumerate(binstr):
|
|
|
if (b == '1') and (f < 0):
|
|
|
@@ -81,8 +78,6 @@ def convert_tagid(s):
|
|
|
s = idx
|
|
|
break
|
|
|
|
|
|
- #print("first:", f, "second:", s)
|
|
|
-
|
|
|
filt_binstr = binstr[s+1:]
|
|
|
n = len(filt_binstr)
|
|
|
bitlen = n
|
|
|
@@ -91,20 +86,11 @@ def convert_tagid(s):
|
|
|
|
|
|
_b = filt_binstr[n-4:n]
|
|
|
fin_hex = hex(int(_b, 2))[2:] + fin_hex
|
|
|
-
|
|
|
- #print("n:", n, "_b:", _b, "fin_hex:", fin_hex)
|
|
|
-
|
|
|
n -= 4
|
|
|
if n>0:
|
|
|
_b = filt_binstr[0:n]
|
|
|
fin_hex = hex(int(_b, 2))[2:] + fin_hex
|
|
|
|
|
|
- #print("n:", n, "_b:", _b, "fin_hex:", fin_hex)
|
|
|
-
|
|
|
-
|
|
|
- #print("bitlen:", bitlen)
|
|
|
- #print("binstr:", binstr)
|
|
|
- #print("fin_hex:", fin_hex)
|
|
|
|
|
|
return hex(bitlen)[2:] + "|" + fin_hex
|
|
|
|
|
|
@@ -112,7 +98,7 @@ def convert_tagid(s):
|
|
|
t_prv = time.time()*1000.0
|
|
|
t_now = t_prv
|
|
|
|
|
|
-last_tok = ""
|
|
|
+LAST_TOK = ""
|
|
|
|
|
|
while True:
|
|
|
line = sys.stdin.readline()
|
|
|
@@ -120,23 +106,23 @@ while True:
|
|
|
|
|
|
m = re.match("#db# TAG ID: ([^ ]*)", line)
|
|
|
if m:
|
|
|
- #print("match:", m.group(1))
|
|
|
|
|
|
t_now = time.time()*1000.0
|
|
|
|
|
|
tok = convert_tagid(m.group(1)).upper()
|
|
|
- if last_tok != tok:
|
|
|
- print(tok)
|
|
|
+ if LAST_TOK != tok:
|
|
|
+ #sys.stdout.write( str(datetime.datetime.now()) + ": " + str(tok) + "\n")
|
|
|
+ sys.stdout.write( str(int(time.time())) + ": " + str(tok) + "\n")
|
|
|
sys.stdout.flush()
|
|
|
t_prv = t_now
|
|
|
- last_tok = tok
|
|
|
- elif (t_now - t_prv) >= rate_limit_ms:
|
|
|
- print(tok)
|
|
|
+ LAST_TOK = tok
|
|
|
+ elif (t_now - t_prv) >= RATE_LIMIT_MS:
|
|
|
+ #sys.stdout.write( str(datetime.datetime.now()) + ": " + str(tok) + "\n")
|
|
|
+ sys.stdout.write( str(int(time.time())) + ": " + str(tok) + "\n")
|
|
|
sys.stdout.flush()
|
|
|
t_prv = t_now
|
|
|
- last_tok = tok
|
|
|
+ LAST_TOK = tok
|
|
|
else:
|
|
|
- #print("#ignore")
|
|
|
pass
|
|
|
|
|
|
|