X-Git-Url: http://git.kaliko.me/?p=mpd-goodies.git;a=blobdiff_plain;f=crop;h=2b255f18aa3f4095bf8c4888fe2d2c7fc726804e;hp=4a77bbbdcdccc2a3ff006b8d95b9ec1807d082b6;hb=fb86eb100710617fea5b6d0e4a7bc452fd016732;hpb=1cb3b44761a6b51dd8ac5a0c8279e46e41b91847 diff --git a/crop b/crop index 4a77bbb..2b255f1 100755 --- a/crop +++ b/crop @@ -26,41 +26,45 @@ from lib.startop import StartOpt NAME = 'crop' VERSION = '0.1' - -CROP_OPTS = list([ - { - 'sw': ['-n', '--nbtracks'], - 'type': 'int', - 'dest': 'nb_tracks', - 'default': 60, - 'metavar': '', - 'help': 'keep tracks before currently played.'}, - ]) +USAGE = 'USAGE: %prog [--help] | [ ]' class Crop(StartOpt, MPDClass): """ """ script_info = dict({ 'version': VERSION, - 'prog_name': 'crop', - 'description': 'Keep tracks before currently played, removed others.', + 'prog_name': NAME, + 'description': 'Keep tracks before currently played, removed others. Default is to keep 6 tracks.', + 'usage': USAGE, }) def __init__(self): """""" - StartOpt.__init__(self, Crop.script_info, CROP_OPTS) + StartOpt.__init__(self, self.__class__.script_info, []) MPDClass.__init__(self) + self.nb_tracks = 6 + self._get_arg() self._run() + def _get_arg(self): + """""" + if not self.cli_args: + return True + try: + self.nb_tracks = int(self.cli_args[0]) + except ValueError, err: + self.parser.error('invalid argument, not a natural number? (%s)' % err) + def _run(self): """""" print 'Connecting %s:%i' % (self.cli_options.host, self.cli_options.port) - self.mpdConnect({'host':self.cli_options.host, 'port':self.cli_options.port}) + print 'Keeping %i tracks' % self.nb_tracks + self.mpdConnect() current_pos = int(self.client.currentsong().get('pos')) - if current_pos <= self.cli_options.nb_tracks: + if current_pos <= self.nb_tracks: self.client.disconnect() sys.exit(0) - while current_pos > self.cli_options.nb_tracks: + while current_pos > self.nb_tracks: self.client.delete(0) current_pos = int(self.client.currentsong().get('pos')) self.client.disconnect()