当前位置: 首页>>代码示例>>Python>>正文


Python Utilities.longest_common_prefix方法代码示例

本文整理汇总了Python中utilities.Utilities.longest_common_prefix方法的典型用法代码示例。如果您正苦于以下问题:Python Utilities.longest_common_prefix方法的具体用法?Python Utilities.longest_common_prefix怎么用?Python Utilities.longest_common_prefix使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在utilities.Utilities的用法示例。


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

示例1: complete

# 需要导入模块: from utilities import Utilities [as 别名]
# 或者: from utilities.Utilities import longest_common_prefix [as 别名]
  def complete(self, input):
    l = re.split('\s+', input)

    matches = [m for m in self.shell.builtins.commands() if re.match(l[0], m)]
    matches_length = len(matches)

    # matches found
    if matches_length > 0:

      # partial or exact match
      if not l[1:]: # only on first word

        # many matches found
        if matches_length > 1:
          command = Utilities.longest_common_prefix(matches)
          completion = Utilities.format(matches)

        # one match found
        elif matches_length == 1:
          command = matches[0]
          completion = ''

      # exact match with space added for sub completion
      elif re.match('{0}\s+'.format(l[0]), input):

        try:
          submatches = \
            [m for m in eval('self.shell.builtins._{0}_completion()'.format(l[0])) if \
              re.match(' '.join(l[1:]).strip(), m)]
          submatches_length = len(submatches)

          # many submatches found
          if submatches_length > 1:
            command = '{0} {1}'.format(l[0], Utilities.longest_common_prefix(submatches))
            completion = Utilities.format(submatches)

          # one submatch found
          elif submatches_length == 1:
            command = '{0} {1}'.format(l[0], submatches[0])
            completion = ''

          # no submatch found
          else:
            command = input
            completion = ''

        # _xxx_completion() does not exist
        except AttributeError:
          command = input
          completion = ''

      # no match
      else:
        command = input
        completion = ''

    # no match found
    else:
      command = input
      completion = ''

    return json.dumps({'command': command,
                       'completion': completion})
开发者ID:Desintegr,项目名称:websh,代码行数:65,代码来源:completion.py


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