コード例 #1
0
ファイル: actions.py プロジェクト: isislovecruft/arm
def make_view_menu():
  """
  Submenu consisting of...
    [X] <Page 1>
    [ ] <Page 2>
    [ ] etc...
        Color (Submenu)
  """

  view_menu = nyx.menu.item.Submenu('View')
  control = nyx.controller.get_controller()

  if control.get_page_count() > 0:
    page_group = nyx.menu.item.SelectionGroup(control.set_page, control.get_page())

    for i in range(control.get_page_count()):
      page_panels = control.get_display_panels(page_number = i, include_sticky = False)
      label = ' / '.join([str_tools._to_camel_case(panel.get_name()) for panel in page_panels])

      view_menu.add(nyx.menu.item.SelectionMenuItem(label, page_group, i))

  if ui_tools.is_color_supported():
    color_menu = nyx.menu.item.Submenu('Color')
    color_group = nyx.menu.item.SelectionGroup(ui_tools.set_color_override, ui_tools.get_color_override())

    color_menu.add(nyx.menu.item.SelectionMenuItem('All', color_group, None))

    for color in ui_tools.COLOR_LIST:
      color_menu.add(nyx.menu.item.SelectionMenuItem(str_tools._to_camel_case(color), color_group, color))

    view_menu.add(color_menu)

  return view_menu
コード例 #2
0
def make_view_menu():
  """
  Submenu consisting of...
    [X] <Page 1>
    [ ] <Page 2>
    [ ] etc...
        Color (Submenu)
  """

  view_menu = Submenu('View')
  control = nyx.controller.get_controller()

  if control.get_page_count() > 0:
    page_group = SelectionGroup(control.set_page, control.get_page())

    for i in range(control.get_page_count()):
      page_panels = control.get_display_panels(page_number = i)
      label = ' / '.join([type(panel).__name__.replace('Panel', '') for panel in page_panels])

      view_menu.add(SelectionMenuItem(label, page_group, i))

  if nyx.curses.is_color_supported():
    color_menu = Submenu('Color')
    color_group = SelectionGroup(nyx.curses.set_color_override, nyx.curses.get_color_override())

    color_menu.add(SelectionMenuItem('All', color_group, None))

    for color in nyx.curses.Color:
      color_menu.add(SelectionMenuItem(str_tools._to_camel_case(color), color_group, color))

    view_menu.add(color_menu)

  return view_menu
コード例 #3
0
def make_graph_menu(graph_panel):
  """
  Submenu for the graph panel, consisting of...
    [X] <Stat 1>
    [ ] <Stat 2>
    [ ] <Stat 2>
        Resize...
        Interval (Submenu)
        Bounds (Submenu)

  Arguments:
    graph_panel - instance of the graph panel
  """

  graph_menu = Submenu('Graph')

  # stats options

  stat_group = SelectionGroup(functools.partial(setattr, graph_panel, 'displayed_stat'), graph_panel.displayed_stat)
  available_stats = graph_panel.stat_options()
  available_stats.sort()

  for stat_key in ['None'] + available_stats:
    label = str_tools._to_camel_case(stat_key, divider = ' ')
    stat_key = None if stat_key == 'None' else stat_key
    graph_menu.add(SelectionMenuItem(label, stat_group, stat_key))

  # resizing option

  graph_menu.add(MenuItem('Resize...', graph_panel.resize_graph))

  # interval submenu

  interval_menu = Submenu('Interval')
  interval_group = SelectionGroup(functools.partial(setattr, graph_panel, 'update_interval'), graph_panel.update_interval)

  for interval in nyx.panel.graph.Interval:
    interval_menu.add(SelectionMenuItem(interval, interval_group, interval))

  graph_menu.add(interval_menu)

  # bounds submenu

  bounds_menu = Submenu('Bounds')
  bounds_group = SelectionGroup(functools.partial(setattr, graph_panel, 'bounds_type'), graph_panel.bounds_type)

  for bounds_type in nyx.panel.graph.Bounds:
    bounds_menu.add(SelectionMenuItem(bounds_type, bounds_group, bounds_type))

  graph_menu.add(bounds_menu)

  return graph_menu
コード例 #4
0
ファイル: str_tools.py プロジェクト: DigiThinkIT/stem
  def test_to_camel_case(self):
    """
    Checks the _to_camel_case() function.
    """

    # test the pydoc example
    self.assertEquals('I Like Pepperjack!', str_tools._to_camel_case('I_LIKE_PEPPERJACK!'))

    # check a few edge cases
    self.assertEquals('', str_tools._to_camel_case(''))
    self.assertEquals('Hello', str_tools._to_camel_case('hello'))
    self.assertEquals('Hello', str_tools._to_camel_case('HELLO'))
    self.assertEquals('Hello  World', str_tools._to_camel_case('hello__world'))
    self.assertEquals('Hello\tworld', str_tools._to_camel_case('hello\tWORLD'))
    self.assertEquals('Hello\t\tWorld', str_tools._to_camel_case('hello__world', '_', '\t'))
コード例 #5
0
ファイル: str_tools.py プロジェクト: patrickod/stem
  def test_to_camel_case(self):
    """
    Checks the _to_camel_case() function.
    """

    # test the pydoc example
    self.assertEqual('I Like Pepperjack!', str_tools._to_camel_case('I_LIKE_PEPPERJACK!'))

    # check a few edge cases
    self.assertEqual('', str_tools._to_camel_case(''))
    self.assertEqual('Hello', str_tools._to_camel_case('hello'))
    self.assertEqual('Hello', str_tools._to_camel_case('HELLO'))
    self.assertEqual('Hello  World', str_tools._to_camel_case('hello__world'))
    self.assertEqual('Hello\tworld', str_tools._to_camel_case('hello\tWORLD'))
    self.assertEqual('Hello\t\tWorld', str_tools._to_camel_case('hello__world', '_', '\t'))
コード例 #6
0
ファイル: str_tools.py プロジェクト: ankitmodi/Projects
  def test_to_camel_case(self):
    """
    Checks the _to_camel_case() function.
    """

    # test the pydoc example
    self.assertEquals("I Like Pepperjack!", str_tools._to_camel_case("I_LIKE_PEPPERJACK!"))

    # check a few edge cases
    self.assertEquals("", str_tools._to_camel_case(""))
    self.assertEquals("Hello", str_tools._to_camel_case("hello"))
    self.assertEquals("Hello", str_tools._to_camel_case("HELLO"))
    self.assertEquals("Hello  World", str_tools._to_camel_case("hello__world"))
    self.assertEquals("Hello\tworld", str_tools._to_camel_case("hello\tWORLD"))
    self.assertEquals("Hello\t\tWorld", str_tools._to_camel_case("hello__world", "_", "\t"))
コード例 #7
0
    def __init__(self, *args):
        from stem.util.str_tools import _to_camel_case

        # ordered listings of our keys and values
        keys, values = [], []

        for entry in args:
            if isinstance(entry, (bytes, str_type)):
                key, val = entry, _to_camel_case(entry)
            elif isinstance(entry, tuple) and len(entry) == 2:
                key, val = entry
            else:
                raise ValueError('Unrecognized input: %s' % args)

            keys.append(key)
            values.append(val)
            setattr(self, key, val)

        self._keys = tuple(keys)
        self._values = tuple(values)
コード例 #8
0
ファイル: enum.py プロジェクト: 5up3rc/spiderfoot
  def __init__(self, *args):
    from stem.util.str_tools import _to_camel_case

    # ordered listings of our keys and values
    keys, values = [], []

    for entry in args:
      if isinstance(entry, (bytes, str_type)):
        key, val = entry, _to_camel_case(entry)
      elif isinstance(entry, tuple) and len(entry) == 2:
        key, val = entry
      else:
        raise ValueError('Unrecognized input: %s' % args)

      keys.append(key)
      values.append(val)
      setattr(self, key, val)

    self._keys = tuple(keys)
    self._values = tuple(values)
コード例 #9
0
    def __init__(self, *args: Union[str, Tuple[str, Any]]) -> None:
        from stem.util.str_tools import _to_camel_case

        # ordered listings of our keys and values
        keys = []  # type: List[str]
        values = []  # type: List[Any]

        for entry in args:
            if isinstance(entry, str):
                key, val = entry, _to_camel_case(entry)
            elif isinstance(entry, tuple) and len(entry) == 2:
                key, val = entry
            else:
                raise ValueError('Unrecognized input: %s' % args)

            keys.append(key)
            values.append(val)
            setattr(self, key, val)

        self._keys = tuple(keys)
        self._values = tuple(values)
コード例 #10
0
  def submenu(self):
    """
    Submenu consisting of...

      [X] <Stat 1>
      [ ] <Stat 2>
      [ ] <Stat 2>
          Resize...
          Interval (Submenu)
          Bounds (Submenu)
    """

    stat_group = RadioGroup(functools.partial(setattr, self, '_displayed_stat'), self._displayed_stat)
    interval_group = RadioGroup(functools.partial(setattr, self, '_update_interval'), self._update_interval)
    bounds_group = RadioGroup(functools.partial(setattr, self, '_bounds_type'), self._bounds_type)

    return Submenu('Graph', [
      RadioMenuItem('None', stat_group, None),
      [RadioMenuItem(str_tools._to_camel_case(opt, divider = ' '), stat_group, opt) for opt in sorted(self.stat_options())],
      MenuItem('Resize...', self._resize_graph),
      Submenu('Interval', [RadioMenuItem(opt, interval_group, opt) for opt in Interval]),
      Submenu('Bounds', [RadioMenuItem(opt, bounds_group, opt) for opt in Bounds]),
    ])
コード例 #11
0
def _view_menu():
    """
  Submenu consisting of...

    [X] <Page 1>
    [ ] <Page 2>
    [ ] etc...
        Color (Submenu)
  """

    interface = nyx_interface()

    view_menu = Submenu('View')
    page_group = RadioGroup(interface.set_page, interface.get_page())

    for i in range(interface.page_count()):
        page_panels = interface.page_panels(page_number=i)[1:]
        label = ' / '.join([
            type(panel).__name__.replace('Panel', '') for panel in page_panels
        ])
        view_menu.add(RadioMenuItem(label, page_group, i))

    if nyx.curses.is_color_supported():
        color_group = RadioGroup(nyx.curses.set_color_override,
                                 nyx.curses.get_color_override())

        view_menu.add(
            Submenu('Color', [
                RadioMenuItem('All', color_group, None),
                [
                    RadioMenuItem(str_tools._to_camel_case(opt), color_group,
                                  opt) for opt in nyx.curses.Color
                ],
            ]))

    return view_menu