database.cursor.execute("SELECT domain, software FROM instances WHERE domain = ?", [args.domain])
elif args.software is not None and args.software != "":
logger.info("Fetching domains for args.software='%s'", args.software)
- database.cursor.execute("SELECT domain, software FROM instances WHERE software = ?", [args.software])
+ database.cursor.execute("SELECT domain, software FROM instances WHERE software = ? AND (last_nodeinfo < ? OR last_nodeinfo IS NULL)", [args.software.lower(), time.time() - config.get("recheck_nodeinfo")])
elif args.mode is not None and args.mode != "":
logger.info("Fetching domains for args.mode='%s'", args.mode.upper())
database.cursor.execute("SELECT domain, software FROM instances WHERE detection_mode = ? AND (last_nodeinfo < ? OR last_nodeinfo IS NULL)", [args.mode.upper(), time.time() - config.get("recheck_nodeinfo")])
logger.debug("Determined software='%s'", software)
if (software != row["software"] and software is not None) or args.force is True:
+ logger.debug("software='%s'", software)
+ if software is None:
+ logger.debug("Setting nodeinfo_url to 'None' for row[domain]='%s' ...", row["domain"])
+ instances.set_nodeinfo_url(row["domain"], None)
+
logger.warning("Software type for row[domain]='%s' has changed from '%s' to '%s'!", row["domain"], row["software"], software)
instances.set_software(row["domain"], software)