def Unzip(self, oPath): """ Unzips a zip file to a path If the output location does not yet exist, it creates it :rtype: bool :param cPath oPath: :return: True if successful """ oZip = None try: Logger.debug(u'Extracting file [%s] to path [%s]' % (self.string, oPath.string)) oZip = ZipFile(self.string, 'r') if not oPath.IsDir(): oPath.Create() for each in oZip.namelist(): each=ToUnicode(each) Logger.debug(u'Extracting ' + ToUnicode(basename(each)) + ' ...') # Check to see if the item was written to the zip file with an # archive name that includes a parent directory. If it does, create # the parent folder in the output workspace and then write the file, # otherwise, just write the file to the workspace. # if not each.endswith('/'): root, name = split(each) oFolder = cPath(oPath) + root if not oFolder.IsDir(): oFolder.Create() oFn = cFileName(oFolder) + name uFn = oFn.string Logger.debug(u'... Writing to ' + uFn) oFile = open(uFn, 'wb') oFile.write(oZip.read(each)) oFile.close() oZip.close() return True except Exception as e: LogError(u'Unzip: Fatal Error unzipping file', e) try: oZip.close() except Exception: pass return False
def SetPageEffect(self,uEffect): ''' Sets the page effect for showing a page ''' self.uCurrentEffect=uEffect try: if uEffect==u'': return True uType=ToUnicode(type(self.oRootSM.transition)) if uEffect==u'no': self.oRootSM.transition = NoTransition() if uEffect==u'fade': if uType.endswith(u'FadeTransition\'>'): return True self.oRootSM.transition = FadeTransition() elif uEffect==u'slide': if uType.endswith(u'SlideTransition\'>'): return True self.oRootSM.transition = SlideTransition() elif uEffect==u'wipe': if uType.endswith(u'WipeTransition\'>'): return True self.oRootSM.transition = WipeTransition() elif uEffect==u'swap': if uType.endswith(u'SwapTransition\'>'): return True self.oRootSM.transition = SwapTransition() elif uEffect==u'fallout': if uType.endswith(u'FallOutTransition\'>'): return True self.oRootSM.transition = FallOutTransition() elif uEffect==u'risein': if uType.endswith(u'RiseInTransition\'>'): return True self.oRootSM.transition = RiseInTransition() self.oRootSM.transition.bind(on_complete=self.On_Transition_Complete) self.oRootSM.transition.bind(on_progress=self.On_Transition_Started) return True except Exception as e: uMsg=LogError(u'TheScreen: Can not set page effect:' + uEffect,e) ShowErrorPopUp(uMessage=uMsg) return False uMsg=u'TheScreen: Can not set page effect, wrong page effect:' + uEffect Logger.warning (uMsg) ShowErrorPopUp(uTitle='Warning',uMessage=uMsg) return False
def SetPageEffect(self,*,uEffect:str) -> bool: """ Sets the page effect for showing a page """ self.uCurrentEffect = uEffect try: if uEffect==u'': return True uType=ToUnicode(type(self.oRootSM.transition)) if uEffect==u'no': self.oRootSM.transition = NoTransition() if uEffect==u'fade': if uType.endswith(u'FadeTransition\'>'): return True self.oRootSM.transition = FadeTransition() elif uEffect==u'slide': if uType.endswith(u'SlideTransition\'>'): return True self.oRootSM.transition = SlideTransition() elif uEffect==u'wipe': if uType.endswith(u'WipeTransition\'>'): return True self.oRootSM.transition = WipeTransition() elif uEffect==u'swap': if uType.endswith(u'SwapTransition\'>'): return True self.oRootSM.transition = SwapTransition() elif uEffect==u'fallout': if uType.endswith(u'FallOutTransition\'>'): return True self.oRootSM.transition = FallOutTransition() elif uEffect==u'risein': if uType.endswith(u'RiseInTransition\'>'): return True self.oRootSM.transition = RiseInTransition() # noinspection PyArgumentList self.oRootSM.transition.bind(on_complete=self.On_Transition_Complete) # noinspection PyArgumentList self.oRootSM.transition.bind(on_progress=self.On_Transition_Started) return True except Exception as e: ShowErrorPopUp(uMessage=LogError(uMsg=u'TheScreen: Can not set page effect:' + uEffect,oException=e)) return False