• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python direction.Direction类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中ranger.ext.direction.Direction的典型用法代码示例。如果您正苦于以下问题:Python Direction类的具体用法?Python Direction怎么用?Python Direction使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Direction类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: copy

    def copy(self, mode='set', narg=None, dirarg=None):
        """:copy [mode=set]

        Copy the selected items.
        Modes are: 'set', 'add', 'remove'.
        """
        assert mode in ('set', 'add', 'remove')
        cwd = self.thisdir
        if not narg and not dirarg:
            selected = (f for f in self.thistab.get_selection() if f in cwd.files)
        else:
            if not dirarg and narg:
                direction = Direction(down=1)
                offset = 0
            else:
                direction = Direction(dirarg)
                offset = 1
            pos, selected = direction.select(
                    override=narg, lst=cwd.files, current=cwd.pointer,
                    pagesize=self.ui.termsize[0], offset=offset)
            cwd.pointer = pos
            cwd.correct_pointer()
        if mode == 'set':
            self.copy_buffer = set(selected)
        elif mode == 'add':
            self.copy_buffer.update(set(selected))
        elif mode == 'remove':
            self.copy_buffer.difference_update(set(selected))
        self.do_cut = False
        self.ui.browser.main_column.request_redraw()
开发者ID:9M2PJU,项目名称:ranger,代码行数:30,代码来源:actions.py


示例2: mark_in_direction

 def mark_in_direction(self, val=True, dirarg=None):
     cwd = self.thisdir
     direction = Direction(dirarg)
     pos, selected = direction.select(lst=cwd.files, current=cwd.pointer, pagesize=self.ui.termsize[0])
     cwd.pointer = pos
     cwd.correct_pointer()
     for item in selected:
         cwd.mark_item(item, val)
开发者ID:Enzime,项目名称:ranger,代码行数:8,代码来源:actions.py


示例3: move

	def move(self, **keywords):
		direction = Direction(keywords)
		if direction.horizontal():
			# Ensure that the pointer is moved utf-char-wise
			uc = uchars(self.line)
			upos = len(uchars(self.line[:self.pos]))
			newupos = direction.move(
					direction=direction.right(),
					minimum=0,
					maximum=len(uc) + 1,
					current=upos)
			self.pos = len(''.join(uc[:newupos]))
开发者ID:dbarnett,项目名称:ranger,代码行数:12,代码来源:console.py


示例4: move

	def move(self, narg=None, **keywords):
		direction = Direction(keywords)
		lst = self.get_list()
		if not lst:
			return self.pointer
		pointer = direction.move(
				direction=direction.down(),
				maximum=len(lst),
				override=narg,
				pagesize=self.get_height(),
				current=self.pointer)
		self.pointer = pointer
		self.correct_pointer()
		return pointer
开发者ID:Youwotma,项目名称:ranger,代码行数:14,代码来源:accumulator.py


示例5: test_move

	def test_move(self):
		d = Direction(pages=True)
		self.assertEqual(3, d.move(direction=3))
		self.assertEqual(5, d.move(direction=3, current=2))
		self.assertEqual(15, d.move(direction=3, pagesize=5))
		self.assertEqual(9, d.move(direction=3, pagesize=5, maximum=10))
		self.assertEqual(18, d.move(direction=9, override=2))
		d2 = Direction(absolute=True)
		self.assertEqual(5, d2.move(direction=9, override=5))
开发者ID:Dieterbe,项目名称:ranger,代码行数:9,代码来源:tc_direction.py


示例6: move

 def move(self, **keywords):
     direction = Direction(keywords)
     if direction.horizontal():
         # Ensure that the pointer is moved utf-char-wise
         if self.fm.py3:
             if self.question_queue:
                 umax = len(self.question_queue[0][0]) + 1 - self.wid
             else:
                 umax = len(self.line) + 1
             self.pos = direction.move(
                 direction=direction.right(),
                 minimum=0,
                 maximum=umax,
                 current=self.pos)
         else:
             if self.question_queue:
                 uchar = list(self.question_queue[0][0].decode('utf-8', 'ignore'))
                 upos = len(self.question_queue[0][0][:self.pos].decode('utf-8', 'ignore'))
                 umax = len(uchar) + 1 - self.wid
             else:
                 uchar = list(self.line.decode('utf-8', 'ignore'))
                 upos = len(self.line[:self.pos].decode('utf-8', 'ignore'))
                 umax = len(uchar) + 1
             newupos = direction.move(
                 direction=direction.right(),
                 minimum=0,
                 maximum=umax,
                 current=upos)
             self.pos = len(''.join(uchar[:newupos]).encode('utf-8', 'ignore'))
开发者ID:ajtluser,项目名称:ranger,代码行数:29,代码来源:console.py


示例7: test_copy

	def test_copy(self):
		d = Direction(right=5)
		c = d.copy()
		self.assertEqual(c.right(), d.right())
		d['right'] += 3
		self.assertNotEqual(c.right(), d.right())
		c['right'] += 3
		self.assertEqual(c.right(), d.right())

		self.assertFalse(d.vertical())
		self.assertTrue(d.horizontal())
开发者ID:Dieterbe,项目名称:ranger,代码行数:11,代码来源:tc_direction.py


示例8: move

	def move(self, narg=None, **kw):
		direction = Direction(kw)
		if direction.horizontal():
			self.startx = direction.move(
					direction=direction.right(),
					override=narg,
					maximum=self.max_width,
					current=self.startx,
					pagesize=self.wid,
					offset=-self.wid + 1)
		if direction.vertical():
			if self.source_is_stream:
				self._get_line(self.scroll_begin + self.hei * 2)
			self.scroll_begin = direction.move(
					direction=direction.down(),
					override=narg,
					maximum=len(self.lines),
					current=self.scroll_begin,
					pagesize=self.hei,
					offset=-self.hei + 1)
开发者ID:aspidites,项目名称:ranger,代码行数:20,代码来源:pager.py


示例9: move

 def move(self, **keywords):
     direction = Direction(keywords)
     if direction.horizontal():
         # Ensure that the pointer is moved utf-char-wise
         if self.fm.py3:
             self.pos = direction.move(
                 direction=direction.right(), minimum=0, maximum=len(self.line) + 1, current=self.pos
             )
         else:
             if self.fm.py3:
                 uc = list(self.line)
                 upos = len(self.line[: self.pos])
             else:
                 uc = list(self.line.decode("utf-8", "ignore"))
                 upos = len(self.line[: self.pos].decode("utf-8", "ignore"))
             newupos = direction.move(direction=direction.right(), minimum=0, maximum=len(uc) + 1, current=upos)
             self.pos = len("".join(uc[:newupos]).encode("utf-8", "ignore"))
开发者ID:benemal,项目名称:ranger,代码行数:17,代码来源:console.py


示例10: move

	def move(self, narg=None, **kw):
		"""
		A universal movement method.

		Accepts these parameters:
		(int) down, (int) up, (int) left, (int) right, (int) to,
		(bool) absolute, (bool) relative, (bool) pages,
		(bool) percentage

		to=X is translated to down=X, absolute=True

		Example:
		self.move(down=4, pages=True)  # moves down by 4 pages.
		self.move(to=2, pages=True)  # moves to page 2.
		self.move(to=1, percentage=True)  # moves to 80%
		"""
		cwd = self.env.cwd
		direction = Direction(kw)
		if 'left' in direction or direction.left() > 0:
			steps = direction.left()
			if narg is not None:
				steps *= narg
			try:
				directory = os.path.join(*(['..'] * steps))
			except:
				return
			self.env.enter_dir(directory)
		if cwd and cwd.accessible and cwd.content_loaded:
			if 'right' in direction:
				mode = 0
				if narg is not None:
					mode = narg
				cf = self.env.cf
				selection = self.env.get_selection()
				if not self.env.enter_dir(cf) and selection:
					if self.execute_file(selection, mode=mode) is False:
						self.open_console('open_with ')
			elif direction.vertical() and cwd.files:
				newpos = direction.move(
						direction=direction.down(),
						override=narg,
						maximum=len(cwd),
						current=cwd.pointer,
						pagesize=self.ui.browser.hei)
				cwd.move(to=newpos)
开发者ID:tonttu,项目名称:ranger,代码行数:45,代码来源:actions.py


示例11: move

    def move(self, narg=None, **kw):
        """A universal movement method.

        Accepts these parameters:
        (int) down, (int) up, (int) left, (int) right, (int) to,
        (bool) absolute, (bool) relative, (bool) pages,
        (bool) percentage

        to=X is translated to down=X, absolute=True

        Example:
        self.move(down=4, pages=True)  # moves down by 4 pages.
        self.move(to=2, pages=True)  # moves to page 2.
        self.move(to=1, percentage=True)  # moves to 80%
        """
        cwd = self.thisdir
        direction = Direction(kw)
        if 'left' in direction or direction.left() > 0:
            steps = direction.left()
            if narg is not None:
                steps *= narg
            try:
                directory = os.path.join(*(['..'] * steps))
            except:
                return
            self.thistab.enter_dir(directory)
            self.change_mode('normal')
        if cwd and cwd.accessible and cwd.content_loaded:
            if 'right' in direction:
                mode = 0
                if narg is not None:
                    mode = narg
                cf = self.thisfile
                selection = self.thistab.get_selection()
                if not self.thistab.enter_dir(cf) and selection:
                    result = self.execute_file(selection, mode=mode)
                    if result in (False, ASK_COMMAND):
                        self.open_console('open_with ')
            elif direction.vertical() and cwd.files:
                newpos = direction.move(
                        direction=direction.down(),
                        override=narg,
                        maximum=len(cwd),
                        current=cwd.pointer,
                        pagesize=self.ui.browser.hei)
                cwd.move(to=newpos)
                if self.mode == 'visual':
                    try:
                        startpos = cwd.index(self._visual_start)
                    except:
                        self._visual_start = None
                        startpos = min(self._visual_start_pos, len(cwd))
                    # The files between here and _visual_start_pos
                    targets = set(cwd.files[min(startpos, newpos):\
                            max(startpos, newpos) + 1])
                    # The selection before activating visual mode
                    old = self._previous_selection
                    # The current selection
                    current = set(cwd.marked_items)

                    # Set theory anyone?
                    if not self._visual_reverse:
                        for f in targets - current:
                            cwd.mark_item(f, True)
                        for f in current - old - targets:
                            cwd.mark_item(f, False)
                    else:
                        for f in targets & current:
                            cwd.mark_item(f, False)
                        for f in old - current - targets:
                            cwd.mark_item(f, True)
                if self.ui.pager.visible:
                    self.display_file()
开发者ID:9M2PJU,项目名称:ranger,代码行数:73,代码来源:actions.py


示例12: move_word

 def move_word(self, **keywords):
     direction = Direction(keywords)
     if direction.horizontal():
         self.pos = self.move_by_word(self.line, self.pos, direction.right())
         self.on_line_change()
开发者ID:ajtluser,项目名称:ranger,代码行数:5,代码来源:console.py


示例13: test_select

	def test_select(self):
		d = Direction(down=3)
		lst = list(range(100))
		self.assertEqual((6, [3,4,5,6]), d.select(current=3, pagesize=10, override=None, lst=lst))
		d = Direction(down=3, pages=True)
		self.assertEqual((9, [3,4,5,6,7,8,9]), d.select(current=3, pagesize=2, override=None, lst=lst))
开发者ID:Dieterbe,项目名称:ranger,代码行数:6,代码来源:tc_direction.py


示例14: test_conflicts

	def test_conflicts(self):
		d3 = Direction(right=5, left=2, up=3, down=6,
				absolute=True, relative=True)
		self.assertEqual(d3.right(), -d3.left())
		self.assertEqual(d3.left(), -d3.right())
		self.assertEqual(d3.up(), -d3.down())
		self.assertEqual(d3.down(), -d3.up())
		self.assertEqual(d3.absolute(), not d3.relative())
		self.assertEqual(d3.relative(), not d3.absolute())
开发者ID:Dieterbe,项目名称:ranger,代码行数:9,代码来源:tc_direction.py



注:本文中的ranger.ext.direction.Direction类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python get_executables.get_executables函数代码示例发布时间:2022-05-26
下一篇:
Python accumulator.Accumulator类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap