LINUX.ORG.RU

История изменений

Исправление Int64, (текущая версия) :

def next_track(self):
    if self.np in self.quene_tracks:
        i = 0
        for _ in self.quene_tracks:
            if self.np == _:
                try:
                    self._play(self.quene_tracks[i + 1], self._get_np_button())
                    return
                except Exception as e:
                    return
            i = i + 1

слишком большая вложенность и Exception as e слишком обобщенное исключение, self.np == _, нижнее подчеркивание обычно используют как указатель того, что переменная не исопльзуется, переменная счетчика не нужна, можно использовать enumerate, название переменной np ничего не говорит о том что это такое.
Смысл условия self.np in self.quene_tracks сомнительный, мне кажется операция in со списком будет O(n), ты таким образом сделал только медленнее, можно можно было бы переписать хотя бы как-то так:

def next_track(self):
    for index, track in enumerate(self.quene_tracks):
        if self.np != track:
            continue
        
        try:
            self._play(self.quene_tracks[index + 1], self._get_np_button())
        finally:
            return
хотя я уверен, что тут вообще try finally не нужно, но мне лень смотреть код, это просто первое попавшееся на глаза )

Исходная версия Int64, :

def next_track(self):
    if self.np in self.quene_tracks:
        i = 0
        for _ in self.quene_tracks:
            if self.np == _:
                try:
                    self._play(self.quene_tracks[i + 1], self._get_np_button())
                    return
                except Exception as e:
                    return
            i = i + 1

слишком большая вложенность и Exception as e слишком обобщенное исключение, self.np == _, нижнее подчеркивание обычно используют как указатель того, что переменная не исопльзуется, переменная счетчика не нужна, можно использовать enumerate, название переменной np ничего не говорит о том что это такое.
Смысл условия self.np in self.quene_tracks сомнительный, мне кажется операция in со списком будет O(n), ты таким образом сделал только медленнее, можно можно было бы переписать хотя бы как-то так:

def next_track(self):
    for index, track in enumerate(self.quene_tracks):
        if self.np != track:
            continue
        
        try:
            self._play(self.quene_tracks[index + 1], self._get_np_button())
        finally:
            return