Exemplo n.º 1
0
  def cmd_rehash(self, args):
    try:
      c = coll.coll_parse(args)
    except ValueError:
      raise commands.CommandError, 'bad pattern'

    ids = self.xs.coll_query_ids(c)

    for i in ids:
      self.xs.medialib_rehash(i, sync=False)
Exemplo n.º 2
0
  def cmd_save(self, args):
    # TODO: playlists and playlist types/options
    args = args.strip()
    if not args:
      raise commands.CommandError, 'need some args'

    name = args
    q = self.input.edit_text
    if q and not coll_parser_pattern_rx.search(q):
      q = ' '.join(['~'+s for s in q.split()])

    try:
      c = coll.coll_parse(q)
    except ValueError:
      raise commands.CommandError, 'invalid collection'

    self.xs.coll_save(c, name, 'Collections', sync=False)
    signals.emit('show-message',
                 "saved collection %s with pattern %s" % (name, q))
Exemplo n.º 3
0
    def cmd_save(self, args):
        # TODO: playlists and playlist types/options
        args = args.strip()
        if not args:
            raise commands.CommandError, 'need some args'

        name = args
        q = self.input.edit_text
        if q and not coll_parser_pattern_rx.search(q):
            q = ' '.join(['~' + s for s in q.split()])

        try:
            c = coll.coll_parse(q)
        except ValueError:
            raise commands.CommandError, 'invalid collection'

        self.xs.coll_save(c, name, 'Collections', sync=False)
        signals.emit('show-message',
                     "saved collection %s with pattern %s" % (name, q))
Exemplo n.º 4
0
    def search(self, event):
        query = self.searchbox.get()
        if query == "":
            return

        try:
            coll = xcoll.coll_parse(query)
        except ValueError as e:
            return

        sl = self.songlists.get("search", None)
        if sl is not None:
            sl.new_search(coll)
        else:
            sl = SongList(self.notebook, self, collection=coll, is_searchlist=True)
            self.songlists["search"] = sl
            tabid = self.notebook.index('end')
            self.notebook.insert('end', sl, text="search")
            self.notebook.select(tabid)
Exemplo n.º 5
0
  def process_query(self, q):
    try:
      self.lock.acquire()
      caption = 'quick search: '
      if q:
        if coll_parser_pattern_rx.search(q):
          caption = 'pattern search: '
        else:
          q = ' '.join(['~'+s for s in q.split()])
      else:
        self.lb.walker.clear_cache()

      try:
        self.lb.collection = coll.coll_parse(q)
      except ValueError:
        signals.emit('show-message', "bad pattern", 'error')

      self.input.set_caption(caption)
      signals.emit('need-redraw')
      self.app.notify()
    finally:
      self.lock.release()
Exemplo n.º 6
0
    def process_query(self, q):
        try:
            self.lock.acquire()
            caption = 'quick search: '
            if q:
                if coll_parser_pattern_rx.search(q):
                    caption = 'pattern search: '
                else:
                    q = ' '.join(['~' + s for s in q.split()])
            else:
                self.lb.walker.clear_cache()

            try:
                self.lb.collection = coll.coll_parse(q)
            except ValueError:
                signals.emit('show-message', "bad pattern", 'error')

            self.input.set_caption(caption)
            signals.emit('need-redraw')
            self.app.notify()
        finally:
            self.lock.release()