Ejemplo n.º 1
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)
Ejemplo n.º 2
0
 def parserApp(self, html, app_url):
     try:
         appParser = AppParser(html)
         appInfo = AppInfo()
         appInfo.yjs_url = app_url
         res = appParser.getInfo(appInfo)
         if res == -1 or res == -2: #res <= 0:
             return None ## -1 and -2
         return appInfo
     except Exception, data:
         print Exception, ":", data
         return None
Ejemplo n.º 3
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
Ejemplo n.º 4
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))
Ejemplo n.º 5
0
    def get_app_info(self, uri):
        res = self.br.open(uri)
        data = res.get_data() 
        soup = BeautifulSoup(data, "html5lib")
        info = AppInfo()
        info.name = soup.find(id="desktopContentBlockId").h1.text
        info.category = ""
        info.version = ""
        info.size = ""
        info.updated = ""
        info.price = ""
        info.os = "iOS"
        developer = soup.find(id="desktopContentBlockId").h2.text
        info.developer = developer.split(":")[1] if ":" in developer else developer
        info.language = ""
        desc = soup.find('div', attrs={"class" : "product-review"}).p.prettify()
        info.description = desc
		
        artwork = soup.find(id="left-stack").div.img["src"]
        info.artwork = artwork
		
        div_images = soup.find('div', attrs={"class" : "screenshots"})
        images = div_images.find_all('img')
        info.images = [img["src"] for img in images]

        info.debug()
        return info
Ejemplo n.º 6
0
	def get_app_info(self, uri):
		res = self.br.open(uri)
		data = res.get_data() 
		soup = BeautifulSoup(data, "html5lib")

		info = AppInfo()
		div_viewbox = soup.find('div', attrs={"class" : "viewbox"})
		info.name = div_viewbox.h2.renderContents()
		info.category = ""
		info.version = ""
		info.size = ""
		info.updated = ""
		info.price = ""
		info.os = "iOS"
		info.developer = ""
		info.language = ""
		desc = soup.find('div', attrs={"class" : "content"}).prettify()
		info.description = desc

		artwork = soup.find('div', attrs={"class" : "picview"}).img["src"]
		info.artwork = artwork
	
		div_images = soup.find('div', attrs={"class" : "content"})
		images = div_images.find_all('img')
		info.images = [img["src"] for img in images]
	
		info.debug()
		return info
Ejemplo n.º 7
0
    def get_app_info(self, uri):
        res = self.br.open(uri)
        data = res.get_data() 
        soup = BeautifulSoup(data, "html5lib", from_encoding="utf-8")
        info = AppInfo()
        # info.name = soup.find('h1', attrs={"class" : "doc-banner-title"}).text
        info.name = soup.find('div', attrs={"class" : "document-title"}).text
        info.category = ""
        info.version = ""
        info.size = ""
        info.updated = ""
        info.price = ""
        info.os = "Android"
        # info.developer = soup.find('a', attrs={"class" : "doc-header-link"}).text
        info.developer = soup.find('a', attrs={"class" : "document-subtitle"}).text
        info.language = ""
        # desc = soup.find(id="doc-original-text").prettify()
        desc = soup.find('div', attrs={"class" : "show-more-content"}).prettify()
        
        info.description = desc

        # artwork = soup.find('div', attrs={"class" : "doc-banner-icon"}).img["src"]
        artwork = soup.find('div', attrs={"class" : "cover-container"}).img["src"]
        info.artwork = artwork

        # div_images = soup.find('div', attrs={"class" : "screenshot-carousel-content-container"})
        div_images = soup.find('div', attrs={"class" : "thumbnails"})
        images = div_images.find_all('img')
        info.images = [img["src"] for img in images]

        info.debug()
        return info
Ejemplo n.º 8
0
	def get_wp_app_info(self, uri):
		res = self.br.open(uri)
		data = res.get_data() 
		soup = BeautifulSoup(data, "html5lib")

		info = AppInfo()
		div_viewbox = soup.find('div', attrs={"class" : "info"})
		info.name = div_viewbox.h1.text.strip()
		info.category = ""
		info.version = ""
		info.size = ""
		info.updated = ""
		info.price = ""
		info.os = "iOS"
		info.developer = ""
		info.language = ""
		desc = soup.find(id="discription").prettify() # not description
		info.description = desc

		artwork = soup.find('div', attrs={"class" : "deinfo"}).img["src"]
		info.artwork = self.get_url(uri, artwork)
		
		div_images = soup.find('div', attrs={"class" : "screenshots-container"})
		images = div_images.find_all('img')
		info.images = [self.get_url(uri, img["src"]) for img in images]

		info.debug()
		return info
Ejemplo n.º 9
0
	def get_android_app_info(self, uri):
		res = self.br.open(uri)
		data = res.get_data() 
		soup = BeautifulSoup(data, "html5lib")

		info = AppInfo()
		div_viewbox = soup.find('div', attrs={"class" : "info_title"})
		info.name = div_viewbox.text
		info.category = ""
		info.version = ""
		info.size = ""
		info.updated = ""
		info.price = ""
		info.os = "Android"
		info.developer = ""
		info.language = ""
		desc = soup.find('div', attrs={"class" : "rom_introductioncon yingyong_intro"}).prettify()
		info.description = desc

		artwork = soup.find('div', attrs={"class" : "yingyong_img"}).img["src"]
		info.artwork = artwork
		
		div_images = soup.find('div', attrs={"class" : "snapshot_list"})
		images = div_images.find_all('img')
		info.images = [img["src"] for img in images]

		info.debug()
		return info
Ejemplo n.º 10
0
	def get_ios_app_info(self, uri):
		res = self.br.open(uri)
		data = res.get_data() 
		soup = BeautifulSoup(data, "html5lib")

		info = AppInfo()
		info.name = soup.find(id="appTitle").text.strip()
		info.category = ""
		info.version = ""
		info.size = ""
		info.updated = ""
		info.price = ""
		info.os = "iOS"
		info.developer = ""
		info.language = ""
		desc = soup.find(id="tab2Content").prettify()
		info.description = desc

		artwork = soup.find('img', attrs={"class" : "img175"})["src"]
		info.artwork = self.get_url(uri, artwork)
		
		div_images = soup.find('div', attrs={"class" : "yyxq_yyjt"})
		images = div_images.find_all('img')
		info.images = [self.get_url(uri, img["src"]) for img in images]

		info.debug()
		return info
Ejemplo n.º 11
0
	def new_app_info(self):
		info = AppInfo()
		info.name = "Motion Math Zoom"
		info.category = "Education"
		info.version = "2.1"
		info.size = "19.1MB"
		info.updated = "2011-12-30"
		info.price = "Free"
		info.developer = "Motion Math"
		info.language = "English"
		info.os = "iOS"
		info.description = "<p>An animal adventure through the world of numbers! Give your child a chance to play with numbers - they'll have a blast zooming through the number line as they master place value.</p>"
		info.artwork = "https://lh3.ggpht.com/LDtlOWSOvxXBDhx4XqcBBGkANPlusko8WgB80n62bpnyTUgz34gl9OlOpmflckVNBA=h230"
		return info
Ejemplo n.º 12
0
	def get_app_info(self, uri):
		res = self.br.open(uri)
		data = res.get_data() 
		soup = BeautifulSoup(data, "html5lib")

		info = AppInfo()
		div_viewbox = soup.find(id="application")
		info.name = div_viewbox.h1.renderContents()
		info.category = ""
		info.version = ""
		info.size = ""
		info.updated = ""
		info.price = ""
		info.os = "Windows Phone"
		info.developer = ""
		info.language = ""
		desc = soup.find(id="appDetails").pre.prettify()
		info.description = desc

		artwork = soup.find(id="appSummary").img["src"]
		info.artwork = artwork
		
		div_images = soup.find(id="screenshots")
		images = div_images.find_all('a')
		info.images = [img["href"] for img in images]
		
		info.debug()
		return info