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)
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))
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))
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)
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()
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()