Пример #1
0
 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
Пример #2
0
    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)
Пример #3
0
    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))