cplay-ng

simple curses audio player
git clone https://git.ce9e.org/cplay-ng.git

commit
94749edd6bd5c994ac650edc71676004b3385779
parent
2d2fee5265b9dd4fa90701cfc722164fff9dcb01
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2020-09-03 16:55
multi-substring matching

Diffstat

M cplay.py 8 ++++++--

1 files changed, 6 insertions, 2 deletions


diff --git a/cplay.py b/cplay.py

@@ -68,6 +68,10 @@ def format_time(total):
   68    68     return '%02d:%02d:%02d' % (h, m, s)
   69    69 
   70    70 
   -1    71 def str_match(query, s):
   -1    72     return all(q in s.lower() for q in query.lower().split())
   -1    73 
   -1    74 
   71    75 def set_volume(vol):
   72    76     subprocess.check_call([
   73    77         'pactl', '--', 'set-sink-volume', '0', '%i%%' % int(vol * 100)
@@ -239,7 +243,7 @@ class List:
  239   243     def search(self, q, diff=1, offset=0):
  240   244         for i in range(len(self.items)):
  241   245             pos = (self.cursor + (i + offset) * diff) % len(self.items)
  242    -1             if q.lower() in self.format_item(self.items[pos]).lower():
   -1   246             if str_match(q, self.format_item(self.items[pos])):
  243   247                 self.set_cursor(pos)
  244   248                 return True
  245   249         return False
@@ -338,7 +342,7 @@ class Filelist(List):
  338   342         if query:
  339   343             self.items = []
  340   344             for path in self.all_items:
  341    -1                 if query.lowwer() in self.format_item(path).lower():
   -1   345                 if str_match(query, self.format_item(path)):
  342   346                     self.items.append(path)
  343   347         else:
  344   348             self.items = self.all_items