
Untitled
By: a guest on
Jul 4th, 2012 | syntax:
None | size: 1.14 KB | hits: 12 | expires: Never
import argparse
import sys
import pymongo
import tablib
def make_tablib_data(item):
rv = (
item.get('url', ''),
item.get('title', ''),
item.get('description', ''),
item.get('keywords', ''),
item.get('h1', ''),
item.get('h2', ''),
item.get('canonical', ''),
)
return rv
def main():
parser = argparse.ArgumentParser()
parser.add_argument('-c', '--client', dest='client', default=None)
parser.add_argument('-d', '--db', dest='db', default='urls')
parser.add_argument('-f', '--file', dest='output', default='output.csv')
args = parser.parse_args()
if args.client is None:
print('Please specify a client')
sys.exit(1)
conn = pymongo.Connection()
db = conn[args.client]
col = db[args.db]
headers = ('url', 'title', 'description', 'h1', 'h2', 'canonical',)
dataset = tablib.Dataset()
urls = col.find()
for record in urls:
record_ = make_tablib_data(record)
dataset.append(record_)
conn.close()
with open(args.output, 'wb') as f:
f.write(dataset.csv)
if __name__ == '__main__':
main()