def _getStringStream(self, filename, prefer='unicode', prefix=True): """ Gets a string representation of the requested filename. Checks for both ASCII and Unicode representations and returns a value if possible. If there are both ASCII and Unicode versions, then :param prefer: specifies which will be returned. """ if isinstance(filename, list): # Join with slashes to make it easier to append the type filename = '/'.join(filename) asciiVersion = self._getStream(filename + '001E', prefix) unicodeVersion = windowsUnicode(self._getStream(filename + '001F', prefix)) if debug: # DEBUG print('DEBUG: _getStringSteam called for {}. Ascii version found: {}. Unicode version found: {}.'.format( filename, asciiVersion != None, unicodeVersion != None)) if asciiVersion is None: return unicodeVersion elif unicodeVersion is None: return asciiVersion else: if prefer == 'unicode': return unicodeVersion else: return asciiVersion
def _getStringStream(self, filename, prefer='unicode', prefix=True): """ Gets a string representation of the requested filename. Checks for both ASCII and Unicode representations and returns a value if possible. If there are both ASCII and Unicode versions, then :param prefer: specifies which will be returned. """ if isinstance(filename, list): # Join with slashes to make it easier to append the type filename = '/'.join(filename) asciiVersion = self._getStream(filename + '001E', prefix) unicodeVersion = windowsUnicode(self._getStream(filename + '001F', prefix)) logger.log(5, '_getStringStream called for {}. Ascii version found: {}. Unicode version found: {}.'.format( filename, asciiVersion is not None, unicodeVersion is not None)) if asciiVersion is None: return unicodeVersion elif unicodeVersion is None: return asciiVersion else: if prefer == 'unicode': return unicodeVersion else: return asciiVersion
def _getStringStream(self, filename, prefer='unicode', prefix=True): """ Gets a string representation of the requested filename. Checks for both ASCII and Unicode representations and returns a value if possible. If there are both ASCII and Unicode versions, then :param prefer: specifies which will be returned. """ filename = self.fix_path(filename, prefix) asciiVersion = self._getStream(filename + '001E', prefix=False) unicodeVersion = windowsUnicode( self._getStream(filename + '001F', prefix=False)) logger.debug( '_getStringStream called for {}. Ascii version found: {}. Unicode version found: {}.' .format(filename, asciiVersion is not None, unicodeVersion is not None)) if asciiVersion is None: return unicodeVersion elif unicodeVersion is None: return asciiVersion else: if prefer == 'unicode': return unicodeVersion else: return asciiVersion
def _getStringStream(self, filename, prefer='unicode', prefix=True): """ Gets a string representation of the requested filename. This should ALWAYS return a string (Unicode in python 2) """ filename = self.fix_path(filename, prefix) if self.areStringsUnicode: return windowsUnicode(self._getStream(filename + '001F', prefix = False)) else: tmp = self._getStream(filename + '001E', prefix = False) return None if tmp is None else tmp.decode(self.stringEncoding)
def _getStringStream(self, filename, prefix=True): """ Gets a string representation of the requested filename. This should ALWAYS return a string (Unicode in python 2) """ filename = self.fix_path(filename, prefix) if self.areStringsUnicode: return windowsUnicode(self._getStream(filename + '001F', prefix = False)) else: tmp = self._getStream(filename + '001E', prefix = False) return None if tmp is None else tmp.decode(self.stringEncoding)
def _getStringStream(self, filename, prefix=True): """ Gets a string representation of the requested filename. Rather than the full filename, you should only feed this function the filename sans the type. So if the full name is "__substg1.0_001A001F", the filename this function should receive should be "__substg1.0_001A". This should ALWAYS return a string (Unicode in python 2) """ filename = self.fix_path(filename, prefix) if self.areStringsUnicode: return windowsUnicode( self._getStream(filename + '001F', prefix=False)) else: tmp = self._getStream(filename + '001E', prefix=False) return None if tmp is None else tmp.decode(self.stringEncoding)