def tracking_loop(self): active_window = None start_time = datetime.datetime.now() save_time = start_time while not self.kill_now: time.sleep(self.polling_time) window_name = self.get_active_window() if active_window != window_name: end_time = datetime.datetime.now() delta = end_time - start_time if active_window is not None: if active_window in self.tracked_applications: # update AppInfo self.tracked_applications[active_window].use_time += delta.seconds self.tracked_applications[active_window].last = end_time else: # create AppInfo instance, add it to tracked apps name = active_window.split(".")[0] info = AppInfo(name, delta.seconds, start_time, end_time) self.tracked_applications[active_window] = info # check save interval if (end_time - save_time).seconds >= self.save_interval: Tracker.write_times(self.tracked_applications) save_time = end_time start_time = end_time active_window = window_name
def GetVersion(self, cur_version, package, appid): # print(request.url) # appinfo = AppInfo() # appinfo.appid= "100270155" # appinfo.package= "com.moonma.caicaile" # appinfo.version= "2.1.0" db = DBApp() db.OpenDB("DBApp.db") version = db.GetVersionByPackage(package) print(" dbversion = ", version) if version < cur_version: version = mainAppVersionHuawei.ParseVersion(appid) appinfo = AppInfo() appinfo.appid = appid appinfo.package = package appinfo.version = version if db.IsItemExist(appinfo.package) == True: db.UpdateItem(appinfo) else: # AddItem db.AddItem(appinfo) return self.GetJson(version)
def __init__(self, mode: ApplicationMode, taskFilePath: str): super().__init__() self.mode = mode self.taskFilePath = taskFilePath self.initLogging() self.logger.info(f"Initializing application with mode: {mode}") SETTINGS = QtCore.QSettings(asset_manager.getMainSettingsPath(), QtCore.QSettings.IniFormat) self.appInfo = AppInfo() self.appInfo.company = SETTINGS.value("company") self.appInfo.appName = SETTINGS.value("app_name") self.mongodbHost = SETTINGS.value("mongodb_host") self.dbName = SETTINGS.value("db_name") self.hostProcessController = None self.serviceManager = None self.dbManager = None self.serviceRegistry = ServiceRegistry() dbInitTimeout = None if self.mode == ApplicationMode.GUI: self.app = QApplication([]) self.loaderWindow = LoaderWindow(self.app, self.appInfo, self.logger, self) elif self.mode == ApplicationMode.Console: dbInitTimeout = 60.0 self.consoleApp = ConsoleApp(self.appInfo, self.serviceRegistry, taskFilePath=self.taskFilePath, initTimeout=120.0) QThreadPool.globalInstance().start( qt_util.LambdaTask(self.initDataBaseManager, dbInitTimeout))