本文整理汇总了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;未经允许,请勿转载。 |
请发表评论