def csv_Send_To_House(csvfile='demo-dataz.csv', messagefile="noCispaMessage.txt", statfile='csv_Send_To_House.log', dryrun=False, onedistrict=None):
    '''
    Parse from the csv file

    '''
    writeYourRep = WriteYourRep()
    reader = csv.DictReader(open(csvfile, 'rb'))
    genderassigner = GenderLookup()

    (subject, message) = parseMessageFile(messagefile)
    for row in reader:
        state='unknown'
        status = ""
        try:
            i = csv_To_Data(row, writeYourRep, genderassigner, subject, message)
            if onedistrict!=None:
                print "Feature of specifying one district is not supported yet"
                return
            if dryrun:
            	distListStr=' '.join(writeYourRep.getWyrDistricts(i.zip5))
            	status += distListStr + " " + ": Not attempted with "+ i.__str__()+"\n"
            else:
                q = writeYourRep.writerep(i)
                status += writeYourRep.getStatus(q) +", "
        except Exception, e:
            import traceback; traceback.print_exc()
            status=status + ' failed: ' + e.__str__()
        file(statfile, 'a').write('%s %s, %s, "%s"\n' % (i.fname, i.lname, i.state, status))
def csv_Send_To_House_With_Exclusions(csvfile='demo-dataz.csv', messagefile="noCispaMessage.txt", statfile='csv_Send_To_House.log', dryrun=False, excludedDists=[]):
    '''
    Parse from the csv file

    '''
    writeYourRep = WriteYourRep()
    reader = csv.DictReader(open(csvfile, 'rb'), delimiter='\t')
    genderassigner = GenderLookup()

    (subject, message) = parseMessageFile(messagefile)
    for row in reader:
        state='unknown'
        status = ""
        try:
            i = csv_To_Data(row, writeYourRep, genderassigner, subject, message)
            alldists = writeYourRep.getWyrDistricts(i.zip5)
            culleddists = [dist for dist in alldists if dist not in excludedDists]
            distListStr=' '.join(alldists)
            if dryrun or len(culleddists)==0:           	
            	status += distListStr + " " + ": Not attempted with "+ i.__str__()+"\n"
            else:
                (dist, q) = writeYourRep.write_reps_in_dists(i, culleddists)
                status += dist + " " + writeYourRep.getStatus(q) +", "
        except Exception, e:
            import traceback; traceback.print_exc()
            status=status + ' failed: ' + e.__str__()
        file(statfile, 'a').write('%s %s, %s, "%s"\n' % (i.fname, i.lname, i.state, status))
def csv_Send_To_House_With_Exclusions(csvfile='demo-dataz.csv',
                                      messagefile="noCispaMessage.txt",
                                      statfile='csv_Send_To_House.log',
                                      dryrun=False,
                                      excludedDists=[]):
    '''
    Parse from the csv file

    '''
    writeYourRep = WriteYourRep()
    reader = csv.DictReader(open(csvfile, 'rb'), delimiter='\t')
    genderassigner = GenderLookup()

    (subject, message) = parseMessageFile(messagefile)
    for row in reader:
        state = 'unknown'
        status = ""
        try:
            i = csv_To_Data(row, writeYourRep, genderassigner, subject,
                            message)
            alldists = writeYourRep.getWyrDistricts(i.zip5)
            culleddists = [
                dist for dist in alldists if dist not in excludedDists
            ]
            distListStr = ' '.join(alldists)
            if dryrun or len(culleddists) == 0:
                status += distListStr + " " + ": Not attempted with " + i.__str__(
                ) + "\n"
            else:
                (dist, q) = writeYourRep.write_reps_in_dists(i, culleddists)
                status += dist + " " + writeYourRep.getStatus(q) + ", "
        except Exception, e:
            import traceback
            traceback.print_exc()
            status = status + ' failed: ' + e.__str__()
        file(statfile, 'a').write('%s %s, %s, "%s"\n' %
                                  (i.fname, i.lname, i.state, status))
Ejemplo n.º 4
0
def csv_Send_To_House(csvfile='demo-dataz.csv', messagefile="noCispaMessage.txt", statfile='csv_Send_To_House.log', dryrun=False, onedistrict=None, jsoninput=False):
    '''
    Parse from the csv file

    '''
    writeYourRep = WriteYourRep()
    if not jsoninput:  # default is csv    
        reader = csv.DictReader(open(csvfile, 'rb'), delimiter='\t')
    else:
        try:
            reader = json.load(open(csvfile, 'r'))
        except:
            reader = load_json(csvfile)
    genderassigner = GenderLookup()
    (subject, message) = parseMessageFile(messagefile)

    for row in reader:
        i = None
        state='unknown'
        status = ""
        try:
            i = row_dict_to_data(row, writeYourRep, genderassigner, subject, message)
            if onedistrict!=None:
                if DEBUG: print "Feature of specifying one district is not supported yet"
                return
            if dryrun:
            	distListStr=' '.join(writeYourRep.getWyrDistricts(i.zip5))
            	status += distListStr + " " + ": Not attempted with "+ i.__str__()+"\n"
            else:
                q = writeYourRep.writerep(i)
                status += i.dist + ": "
                status += writeYourRep.getStatus(q)
        except Exception, e:
            traceback.print_exc()
            status=status + ' failed: ' + e.__str__()
        if i is not None:
            file(statfile, 'a').write('%s %s, %s, "%s"\n' % (i.fname.encode('utf-8', 'ignore'), i.lname.encode('utf-8', 'ignore'), i.state, status))
def csv_Send_To_House(csvfile='demo-dataz.csv',
                      messagefile="noCispaMessage.txt",
                      statfile='csv_Send_To_House.log',
                      dryrun=False,
                      onedistrict=None):
    '''
    Parse from the csv file

    '''
    writeYourRep = WriteYourRep()
    reader = csv.DictReader(open(csvfile, 'rb'))
    genderassigner = GenderLookup()

    (subject, message) = parseMessageFile(messagefile)
    for row in reader:
        state = 'unknown'
        status = ""
        try:
            i = csv_To_Data(row, writeYourRep, genderassigner, subject,
                            message)
            if onedistrict != None:
                print "Feature of specifying one district is not supported yet"
                return
            if dryrun:
                distListStr = ' '.join(writeYourRep.getWyrDistricts(i.zip5))
                status += distListStr + " " + ": Not attempted with " + i.__str__(
                ) + "\n"
            else:
                q = writeYourRep.writerep(i)
                status += writeYourRep.getStatus(q) + ", "
        except Exception, e:
            import traceback
            traceback.print_exc()
            status = status + ' failed: ' + e.__str__()
        file(statfile, 'a').write('%s %s, %s, "%s"\n' %
                                  (i.fname, i.lname, i.state, status))