// sattool - visual satellite tracking and prediction tool.
// Copyright 2000 Tom Rothamel <tom-idbg@onegeek.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  

#include "sattool.h"
#include "filter.h"

// This implements the filter command.
int filter(int argc, char **argv) {
	Options *o;
	List *l;
	List *nl;
	Step *s;
	Thing *t;
	int optoff;
	
	o = ParseGlobalOptions(argc, argv, &optoff);
	l = ReadInput(o);

	if (optoff == argc) {
		error("filter takes a filter expression.\n");
		return -1;
	}


	s = filter_setup(argc, optoff, argv);
	if (!s) return -1;
	
	nl = new List;

	while (t = l->next()) {
		if (s->eval(t))
			nl->add(t);
	}

	WriteOutput(o, nl);
}
	
