Exemple #1
0
 def get_info(self, path, buffer, file_info):
     if file_info.context:
         if path in self.files.keys():
             buffer[0].dwFileAttributes = FILE_ATTRIBUTE_NORMAL
             win_size = SizeConvert(len(self.files[path])).convert()
             buffer[0].nFileSizeHigh = win_size[0]
             buffer[0].nFileSizeLow = win_size[1]
             buffer[0].nNumberOfLinks = 1
             win_index = SizeConvert(2).convert()
             buffer[0].nFileIndexHigh = win_index[0]
             buffer[0].nFileIndexLow = win_index[1]
         elif path == '\\':
             buffer[0].dwFileAttributes = FILE_ATTRIBUTE_DIRECTORY
             buffer[0].nFileSizeHigh = 0
             buffer[0].nFileSizeLow = 0
             buffer[0].nNumberOfLinks = 1
             win_index = SizeConvert(1).convert()
             buffer[0].nFileIndexHigh = win_index[0]
             buffer[0].nFileIndexLow = win_index[1]
         dt_converter = DateTimeConvertor(datetime.today())
         dc = dt_converter.convert()
         buffer[0].ftCreationTime = dc
         buffer[0].ftLastAccessTime = dc
         buffer[0].ftLastWriteTime = dc
         buffer[0].dwVolumeSerialNumber = self.serial_number
         return 0
     else:
         return -ERROR_INVALID_HANDLE
Exemple #2
0
 def find_files_with_pattern(self, path, pattern, func, file_info):
     file_info_raw = file_info.raw()
     if file_info.context:
         if path == '\\':
             dc = DateTimeConvertor(datetime.today()).convert()
             for i in self.files.keys():
                 if self.name_in_expression(pattern, i, False):
                     win_size = SizeConvert(len(self.files[i])).convert()
                     info = WIN32_FIND_DATAW(FILE_ATTRIBUTE_NORMAL, dc, dc,
                                             dc, win_size[0], win_size[1],
                                             0, 0, i[1:], '')
                     func(PWIN32_FIND_DATAW(info), file_info_raw)
         return 0
     else:
         return -ERROR_INVALID_HANDLE