Example #1
0
p.add_argument('-v', '--verbose', action='store_true', default=False)
args = p.parse_args()
if not pycon_bot.mongo.connect(args.dsn):
    sys.stderr.write("Need to pass --dsn or set env[MONGO_DSN].")
    sys.exit(1)

if args.clear:
    TalkProposal.objects.delete()

for r in csv.DictReader(open(args.csvfile)):
    # We're not using get_or_create so that we can support --dry-run.
    try:
        talk = TalkProposal.objects.get(talk_id=int(r['#']))
        created = False
    except TalkProposal.DoesNotExist:
        talk = TalkProposal(talk_id=int(r['#']), status='unreviewed')
        created = True

    talk.category = r['Category']
    talk.speaker, talk.title = re.split(r'\s{4,}', r['Speaker / Title'], 1)

    talk.site_votes = SiteVotes(plus_1=r['+1'],
                                plus_0=r['+0'],
                                minus_0=r['-0'],
                                minus_1=r['-1'])

    if not args.dry_run:
        talk.save()

    if args.verbose:
        print "%s #%s - %s" % ("Created" if created else "Updated",