for opt, arg in opts: if opt in ['-a', '--add']: if not arg.startswith('http'): arg = 'http://' + arg query = Domain(name=arg) session.add(query) session.commit() print('%s added' % arg) if opt in ['-g', '--get']: with open(arg, 'w') as f: writer = csv.writer(f) writer.writerow(('domain_name', 'subdomain_name')) query = session.query(Domain.domain_name, Subdomain.subdomain_name) query = query.join(Subdomain) for q in query: writer.writerow(q) query = session.query(Domain.domain_name) for q in query: row = (q.domain_name, None) writer.writerow(row) elif opt in ['-r', '--remove']: # Delete from Titles query = session.query(Title) try: query = query.filter(Title.domain_id == arg).one() session.delete(query) session.commit()