2 # -*- coding: utf-8 -*-
3 # SPDX-FileCopyrightText: 2009,2010,2012,2019 kaliko <kaliko@azylum.org>
4 # SPDX-License-Identifier: GPL-3.0-or-later
9 from os.path import basename
16 class Crop(musicpd.MPDClient):
18 'prog': basename(__file__),
19 'description': 'Keep <n> tracks before currently played, removed others. Default is to keep 6 tracks.',
20 'epilog': 'Set MPD host/port in env. var'
25 musicpd.MPDClient.__init__(self)
32 parser = argparse.ArgumentParser(**self.__class__.script_info)
33 parser.add_argument('--version', action='version',
34 version='v%s' % VERSION)
35 parser.add_argument('n', type=int, nargs='?',
36 help='how many titles to crop')
37 args = parser.parse_args()
39 self.nb_tracks = args.n
44 current_pos = int(self.currentsong().get('pos', 0))
45 if current_pos <= self.nb_tracks:
48 print('Keeping %i tracks' % self.nb_tracks)
49 while current_pos > self.nb_tracks:
51 current_pos = int(self.currentsong().get('pos', 0))
57 if __name__ == '__main__':
60 except KeyboardInterrupt:
61 sys.stdout.write('exit')
64 # vim: ai ts=4 sw=4 sts=4 expandtab