|
@@ 264-278 (lines=15) @@
|
| 261 |
|
cursor.execute(query_data_source, (id_,)) |
| 262 |
|
rows_data_source = cursor.fetchall() |
| 263 |
|
now = datetime.utcnow().replace(second=0, microsecond=0, tzinfo=None) |
| 264 |
|
if rows_data_source is not None and len(rows_data_source) > 0: |
| 265 |
|
for row in rows_data_source: |
| 266 |
|
last_seen_time = row[5] |
| 267 |
|
if last_seen_time is not None and (now - last_seen_time).total_seconds() > 5 * 60: |
| 268 |
|
status = "online" |
| 269 |
|
else: |
| 270 |
|
status = "offline" |
| 271 |
|
meta_result = {"id": row[0], |
| 272 |
|
"name": row[1], |
| 273 |
|
"uuid": row[2], |
| 274 |
|
"protocol": row[3], |
| 275 |
|
"connection": row[4], |
| 276 |
|
"last_seen_datetime": row[5].timestamp()*1000 if isinstance(row[5], datetime) else None, |
| 277 |
|
"status": status} |
| 278 |
|
result.append(meta_result) |
| 279 |
|
|
| 280 |
|
cursor.close() |
| 281 |
|
cnx.disconnect() |
|
@@ 33-45 (lines=13) @@
|
| 30 |
|
|
| 31 |
|
result = list() |
| 32 |
|
now = datetime.utcnow().replace(second=0, microsecond=0, tzinfo=None) |
| 33 |
|
if rows is not None and len(rows) > 0: |
| 34 |
|
for row in rows: |
| 35 |
|
last_seen_time = row[4] |
| 36 |
|
if last_seen_time is not None and (now - last_seen_time).total_seconds() > 5 * 60: |
| 37 |
|
status = "online" |
| 38 |
|
else: |
| 39 |
|
status = "offline" |
| 40 |
|
meta_result = {"id": row[0], "name": row[1], "uuid": row[2], |
| 41 |
|
"token": row[3], |
| 42 |
|
"last_seen_datetime": row[4].timestamp() * 1000 if isinstance(row[4], |
| 43 |
|
datetime) else None, |
| 44 |
|
"status": status} |
| 45 |
|
result.append(meta_result) |
| 46 |
|
|
| 47 |
|
resp.body = json.dumps(result) |
| 48 |
|
|