Example #1
0
 def THREADRender( self ):
     
     num_frames = self._media.GetNumFrames()
     
     while True:
         
         time.sleep( 0.00001 ) # thread yield
         
         with self._render_lock:
             
             if not self._rendered_first_frame or self._next_render_index != ( self._render_to_index + 1 ) % num_frames:
                 
                 self._rendered_first_frame = True
                 
                 frame_index = self._next_render_index # keep this before the get call, as it increments in a clock arithmetic way afterwards
                 
                 try: numpy_image = self._renderer.read_frame()
                 except Exception as e:
                     
                     HC.ShowException( e )
                     
                     break
                     
                 finally: self._next_render_index = ( self._next_render_index + 1 ) % num_frames
                 
                 frame = HydrusImageHandling.GenerateHydrusBitmapFromNumPyImage( numpy_image )
                 
                 wx.CallAfter( self.AddFrame, frame_index, frame )
                 
             else: break
Example #2
0
 def updateValuesForCycle(self, actual_resources_values,
                          actual_resources_incomes,
                          actual_resources_consumption, resources_balance,
                          needed_dwellers, available_dwellers):
     wx.CallAfter(
         self.viewSetter.getView('Map').update_values_for_cycle,
         actual_resources_values, actual_resources_incomes,
         actual_resources_consumption, resources_balance, needed_dwellers,
         available_dwellers)
Example #3
0
def printAll(msg):
    """
    打印到界面、日志、调试窗口
    :param msg: msg
    :return: None
    """
    try:
        main_window = wx.FindWindowByName('Main')
        wx.CallAfter(main_window.PrintLogInfoAuto, msg)
    except (AttributeError, Exception) as e:
        printResError('[异常]打印到日志调试窗口和屏幕的时候遭遇异常,异常信息如下 {}'.format(e))
Example #4
0
 def init(self, resources, domestic_buildings, industrial_buildings,
          dwellers, texture_one, texture_two, panelTexture, mp3,
          initial_resources_values, initial_resources_incomes,
          initial_resources_consumption, initial_resources_balance,
          available_dwellers):
     logging.warning("initializing map")
     wx.CallAfter(
         self.viewSetter.getView('Map').init, resources, domestic_buildings,
         industrial_buildings, dwellers, texture_one, texture_two,
         panelTexture, mp3, initial_resources_values,
         initial_resources_incomes, initial_resources_consumption,
         initial_resources_balance, available_dwellers)
Example #5
0
def printResInfo(msg):
    """
    打印到日志、调试窗口
    :param msg: msg
    :return: None
    """
    try:
        window = wx.FindWindowById(553)
        logger = wx.FindWindowById(10).logger
        msg = str(msg)
        if window and hasattr(window, 'WriteToText'):
            wx.CallAfter(window.WriteToText, msg + '\n')
        else:
            print(msg)
        if logger:
            for _msg in msg.split('\n'):
                logger.info(str(_msg, encoding='utf-8'))  # 此处是为了使得html日志回车换行
    except (AttributeError, Exception):
        print(msg)
    time.sleep(0.05)
Example #6
0
def printResError(msg):
    """
    打印错误信息,如果有Dauto有logger(console log),则按照error级别记录log信息
    :param msg: msg
    :return: None
    """
    try:
        window = wx.FindWindowById(553)
        logger = wx.FindWindowById(10).logger
        msg = str(msg)
        if window and hasattr(window, 'WriteToText'):
            wx.CallAfter(window.WriteToText, msg + '\n')
        else:
            print(msg)
        if logger:
            for _msg in msg.split('\n'):
                logger.error(str(_msg, encoding='utf-8'))  # 此处是为了使得html日志回车换行
    except (AttributeError, Exception):
        print(msg)
    time.sleep(0.05)
Example #7
0
 def set_waffirm_end(self):
     """
     更新testlink服务器上面执行状态,标记为完成
     :return: {'Status': 1 or 0, 'Message': 'XXX'}
     """
     try:
         job_type = self.tl.getJobInfo(
             self.tl.__args__['job_id'])['job_type']
         if self.tl.__args__['notes'] != 'end':
             # 如果只执行一个模块,直接将任务进度更新为完成状态
             if job_type == 'waffirm' or job_type == 'waffirm_X86':
                 self.tl.updateJobInfo(self.tl.__args__['job_id'], 2)
                 print('全部测试用例执行完毕,即将关闭确认测试用例平台')
                 main_window = wx.FindWindowById(10)
                 wx.CallAfter(main_window.OnAutoCloseWindow)
                 del self.tl.__args__['job_id']
                 return {'Status': 1, 'Message': 'Waffirm Test End'}
             else:
                 return {'Status': 0, 'Message': 'job type is not waffirm'}
         else:
             return {'Status': 0, 'Message': 'notes is end'}
     except Exception as ex:
         print('error %s' % ex)
Example #8
0
 def resumeGame(self):
     logging.warning("resuming map")
     wx.CallAfter(self.viewSetter.getView('Map').resume_game)
Example #9
0
 def sendTutorialHints(self, hints):
     wx.CallAfter(self.viewSetter.getView('Map').handle_hints, hints)
Example #10
0
 def displayMsg(self, msg):
     wx.CallAfter(
         self.viewSetter.getView("Creator").views["main_panel"].displayMsg,
         msg)
Example #11
0
 def displayDependenciesGraph(self, jsonGraph):
     wx.CallAfter(
         self.viewSetter.getView(
             "Creator").views["main_panel"].displayDependenciesGraph,
         json.loads(jsonGraph.toString()))
Example #12
0
 def displayDependenciesGraph(self, jsonGraph):
     wx.CallAfter(
         self.viewSetter.getView("Loader").displayDependenciesGraph,
         json.loads(jsonGraph.toString()))
Example #13
0
 def displayPossibleDependenciesSets(self, possibleSets):
     wx.CallAfter(
         self.viewSetter.getView("Loader").displayPossibleDependenciesSets,
         Converter(self.viewSetter.gateway).convertPyCollectionToJavaList(
             possibleSets))
Example #14
0
 def displayLoader(self):
     wx.CallAfter(self.viewSetter.setView, "Loader")
Example #15
0
 def displayCreator(self):
     wx.CallAfter(
         self.viewSetter.getView("Creator").views["main_panel"].clean, None,
         WELCOME_MSG)
     wx.CallAfter(self.viewSetter.setView, "Creator")
Example #16
0
 def displayMap(self):
     wx.CallAfter(self.viewSetter.setView, 'Map')
Example #17
0
 def animateCurrentPrices(self, currentPricesJavaMap):
     wx.CallAfter(
         self.viewSetter.getView("GameMenu").animateCurrentPrices,
         Converter(self.viewSetter.gateway).convertJavaMapToDict(
             currentPricesJavaMap))
Example #18
0
 def displayGameMenu(self):
     wx.CallAfter(self.viewSetter.setView, "GameMenu")
Example #19
0
 def displayMainMenu(self):
     wx.CallAfter(self.viewSetter.setView, "MainMenu")
 def send_image_to_wx(params):
     img = params[0]
     image_data = base64.b64decode(img)
     sbuf = StringIO.StringIO(image_data)
     wx.CallAfter(Publisher.sendMessage, "update", sbuf)
     return True