def handle(self, *args, **options): if options['list_campaigns']: campaigns = Campaign.objects.all() sys.stdout.write("Available campaigns:\n") for c in campaigns: sys.stdout.write("%s\t%s\n" % (c.pk, c.title)) else: if len(args) > 0 and options['campaign']: raise CommandError('You may specify only one of campaign id argument or -n option') if len(args) == 0 and not options['campaign']: raise CommandError('You must specify a campaign id argument or -n option. Use --campaigns to see a list of available campaigns.') if options['campaign']: campaign = Campaign.objects.create( title=options['campaign'], slug=slugify(options['campaign']) ) else: try: campaign = Campaign.objects.get(pk=args[0]) except Campaign.DoesNotExist: raise CommandError("Campaign %s not found. Use --campaigns to see a list of available campaigns." % campaign_id) if options['drop']: Contact.objects.filter(campaign=campaign).delete() kwargs = {} if options['party']: party = options['party'].upper() if not party in PARTIES: raise CommandError('Party option must be one of D, R, or I. You entered %s.' % party) kwargs['party'] = PARTIES[party] if options['state']: kwargs['state'] = options['state'] if options['chamber']: chamber = options['chamber'].upper() if not chamber in CHAMBERS: raise CommandError('Chamber option must be one of H or S. You entered %s.' % chamber) kwargs['chamber'] = CHAMBERS[chamber] if options['bioguide']: kwargs['bioguide_ids'] = options['bioguide'].split(',') load_sunlightapi(campaign, **kwargs)
def handle(self, *args, **options): if options['list_campaigns']: campaigns = Campaign.objects.all() sys.stdout.write("Available campaigns:\n") for c in campaigns: sys.stdout.write("%s\t%s\n" % (c.pk, c.title)) else: if len(args) > 0 and options['campaign']: raise CommandError( 'You may specify only one of campaign id argument or -n option' ) if len(args) == 0 and not options['campaign']: raise CommandError( 'You must specify a campaign id argument or -n option. Use --campaigns to see a list of available campaigns.' ) if options['campaign']: campaign = Campaign.objects.create(title=options['campaign'], slug=slugify( options['campaign'])) else: try: campaign = Campaign.objects.get(pk=args[0]) except Campaign.DoesNotExist: raise CommandError( "Campaign %s not found. Use --campaigns to see a list of available campaigns." % campaign_id) if options['drop']: Contact.objects.filter(campaign=campaign).delete() kwargs = {} if options['party']: party = options['party'].upper() if not party in PARTIES: raise CommandError( 'Party option must be one of D, R, or I. You entered %s.' % party) kwargs['party'] = PARTIES[party] if options['state']: kwargs['state'] = options['state'] if options['chamber']: chamber = options['chamber'].upper() if not chamber in CHAMBERS: raise CommandError( 'Chamber option must be one of H or S. You entered %s.' % chamber) kwargs['chamber'] = CHAMBERS[chamber] if options['bioguide']: kwargs['bioguide_ids'] = options['bioguide'].split(',') load_sunlightapi(campaign, **kwargs)
def campaignsave_callback(sender, **kwargs): from citizendialer3000.loading import load_sunlightapi if kwargs.get('created', False): load_sunlightapi(kwargs['instance'])