示例#1
0
def raw_load_content(self):
	"""
	The method which is used in a Directory object to load stuff.
	Keep this up to date!
	"""

	from os.path import join, isdir, basename
	from os import listdir
	import ranger.ext.mount_path

	self.loading = True
	self.load_if_outdated()

	try:
		if self.exists and self.runnable:
			# 0.003s:
			self.mount_path = ranger.ext.mount_path.mount_path(self.path)

			# 0.1s:
			filenames = []
			for fname in listdir(self.path):
				if not self.settings.show_hidden:
					hfilter = self.settings.hidden_filter
					if hfilter:
						if isinstance(hfilter, str) and hfilter in fname:
							continue
						if hasattr(hfilter, 'search') and \
							hfilter.search(fname):
							continue
				if isinstance(self.filter, str) and self.filter \
						and self.filter not in fname:
					continue
				filenames.append(join(self.path, fname))
			# ---

			self.load_content_mtime = os.stat(self.path).st_mtime

			marked_paths = [obj.path for obj in self.marked_items]

			# 2.85s:
			files = []
			for name in filenames:
				if isdir(name):
					try:
						item = self.fm.env.get_directory(name)
					except:
						item = Directory(name)
				else:
					item = File(name)
				item.load_if_outdated()
				files.append(item)

			# 0.2s
			self.disk_usage = sum(f.size for f in files if f.is_file)

			self.scroll_offset = 0
			self.filenames = filenames
			self.files = files

			self._clear_marked_items()
			for item in self.files:
				if item.path in marked_paths:
					self.mark_item(item, True)
				else:
					self.mark_item(item, False)

			self.sort()

			if len(self.files) > 0:
				if self.pointed_obj is not None:
					self.sync_index()
				else:
					self.move(to=0)
		else:
			self.filenames = None
			self.files = None

		self.cycle_list = None
		self.content_loaded = True
		self.determine_infostring()
		self.correct_pointer()

	finally:
		self.loading = False
示例#2
0
def raw_load_content(self):
    """
	The method which is used in a Directory object to load stuff.
	Keep this up to date!
	"""

    from os.path import join, isdir, basename
    from os import listdir
    import ranger.ext.mount_path

    self.loading = True
    self.load_if_outdated()

    try:
        if self.exists and self.runnable:
            # 0.003s:
            self.mount_path = ranger.ext.mount_path.mount_path(self.path)

            # 0.1s:
            filenames = []
            for fname in listdir(self.path):
                if not self.settings.show_hidden:
                    hfilter = self.settings.hidden_filter
                    if hfilter:
                        if isinstance(hfilter, str) and hfilter in fname:
                            continue
                        if hasattr(hfilter, 'search') and \
                         hfilter.search(fname):
                            continue
                if isinstance(self.filter, str) and self.filter \
                  and self.filter not in fname:
                    continue
                filenames.append(join(self.path, fname))
            # ---

            self.load_content_mtime = os.stat(self.path).st_mtime

            marked_paths = [obj.path for obj in self.marked_items]

            # 2.85s:
            files = []
            for name in filenames:
                if isdir(name):
                    try:
                        item = self.fm.env.get_directory(name)
                    except:
                        item = Directory(name)
                else:
                    item = File(name)
                item.load_if_outdated()
                files.append(item)

            # 0.2s
            self.disk_usage = sum(f.size for f in files if f.is_file)

            self.scroll_offset = 0
            self.filenames = filenames
            self.files = files

            self._clear_marked_items()
            for item in self.files:
                if item.path in marked_paths:
                    self.mark_item(item, True)
                else:
                    self.mark_item(item, False)

            self.sort()

            if len(self.files) > 0:
                if self.pointed_obj is not None:
                    self.sync_index()
                else:
                    self.move(to=0)
        else:
            self.filenames = None
            self.files = None

        self.cycle_list = None
        self.content_loaded = True
        self.determine_infostring()
        self.correct_pointer()

    finally:
        self.loading = False