示例#1
0
def save_org(vals):
    e = get_field(vals, 'E').strip()
    d = get_field(vals, 'D').strip()

    if d:
        name = '{} - {}'.format(e, d)
    else:
        name = e

    if not name:
        return

    distrito = get_field(vals, 'M').strip()
    if distrito:
        desc = """
#### Localização

{C} fica {M} {N}, {O} do município {Q}, {R}.
""".format(**format_fields(vals, 'C', 'M', 'N', 'O', 'Q', 'R'))
    else:
        desc = """
#### Localização

{C} fica no bairro {L} do município {Q}, {R}.
""".format(**format_fields(vals, 'C', 'L', 'Q', 'R'))
    desc += """

#### Serviços e Programas

{AM} {AN}

#### Funcionamento

* Horário: {BG}
* Situação: {BJ}

#### Área de abrangência

{BF}

#### Registros e certificações

""".format(**format_fields(vals, 'AM', 'AN', 'BG', 'BJ', 'BF'))

    g = get_field(vals, 'G')
    bm = get_field(vals, 'BM')
    h = get_field(vals, 'H')
    bh = get_field(vals, 'BH')
    z = get_field(vals, 'Z')

    if g:
        desc += """
- Código da Escola (INEP): {G}
""".format(G=g)

    if bm:
        desc += """
- Código Municipal da Escola: {BM}
""".format(BM=bm)

    if h:
        desc += """
- Cadastro Nacional de Estabelecimentos de Saúde (CNES): {H}
""".format(H=h)

    if bh:
        desc += """
- Código do Conselho Tutelar: {BH}
""".format(BH=bh)

    if z:
        desc += """
- CNPJ: {Z}
""".format(Z=z)

    desc += """
#### Órgão superior

- {BO}

#### Pessoas de contato

{W}, {X}

#### Outros contatos

Fax: ({S}) {U}

#### Referências

- [{AE}]({AF} "{AG}"), consultado em {AH}
""".format(**format_fields(vals, 'BO', 'W', 'X', 'S', 'U', 'AE', 'AF', 'AG',
                           'AH'))

    k = get_field(vals, 'K').strip()
    if k:
        k = ', ' + k

    contact = """
Endereço: {I}, {J} {K} | {L}, {P} | {Q}-{R}

Telefone: ({S}) {T}

E-mail: {V}
    """.format(K=k,
               **format_fields(vals, 'I', 'J', 'L', 'P', 'Q', 'R', 'S', 'T',
                               'V'))

    link = get_field(vals, 'Y')

    tags = [
        get_field(vals, f) for f in [
            'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'BN',
            'BO', 'BP', 'BQ'
        ]
    ]
    tags = filter(bool, tags)

    # Público-Alvo
    public = [get_field(vals, f) for f in ['AY', 'AZ', 'BA', 'BB', 'BC', 'BD']]
    public = filter(bool, public)

    now = datetime.now()
    user_id = get_field(vals, 'B').split('/')[-1]
    creator = User.objects.get(pk=user_id)

    categories = [
        get_field(vals, column) for column in ['AA', 'AB', 'AC', 'AD']
    ]
    categories = filter(bool, categories)

    categorias = []
    for cat in categories:
        c = OrganizationCategoryTranslation.objects.filter(name__icontains=cat)
        if c.count():
            categorias.append(c[0].category)

    longitude, latitude = get_field(vals, 'BL'), get_field(vals, 'BK')
    if longitude and latitude:
        x, y = map(float, [
            c.replace(',', '.').replace(' ', '') for c in (longitude, latitude)
        ])
        geom = []
        geom.append('%s,%s' % (x + 0.0005, y + 0.0005))
        geom.append('%s,%s' % (x + 0.0005, y - 0.0005))
        geom.append('%s,%s' % (x - 0.0005, y - 0.0005))
        geom.append('%s,%s' % (x - 0.0005, y + 0.0005))
        geom.append('%s,%s' % (x + 0.0005, y + 0.0005))
        coords = ''
        for i, coord in enumerate(geom):
            coord = coord.split(',')
            coords += '%s %s' % (coord[1], coord[0])
            if not i == len(geom) - 1:
                coords += ', '
        geometry = "GEOMETRYCOLLECTION( POLYGON (( %s )))" % coords
    else:
        geometry = ''

    o = Organization()
    while Organization.objects.filter(name=name).count():
        name += ' '
    o.name = name
    o.description = desc
    o.contact = contact
    o.link = link
    o.creation_date = now
    o.creator = creator
    o.save()
    if geometry:
        OrganizationBranch.objects.create(name='sede',
                                          geometry=geometry,
                                          organization=o)
    for t in tags:
        o.tags.add(t)
    for p in public:
        p, c = TargetAudience.objects.get_or_create(name=p)
        o.target_audiences.add(p)
    for cat in categorias:
        o.categories.add(cat)

    proj_slug = get_field(vals, 'BE').split('/')[-1]
    if proj_slug:
        proj = Project.objects.get(slug=proj_slug)
        ProjectRelatedObject.objects.get_or_create(
            project=proj, content_type=ct_organization, object_id=o.id)

    print 'OK  -  ', name
示例#2
0
def save_org(vals):
    name = "{} {}".format(
            get_field(vals, 'D'), get_field(vals, 'E'))

    desc = """
####Localização

{C} fica no distrito {K} da Subprefeitura {L} da capital paulista.

####Horário de Atendimento

{Y}

""".format(
        C=get_field(vals, 'C'),
        K=get_field(vals, 'K'),
        L=get_field(vals, 'L'),
        Y=get_field(vals, 'Y'),
    )

    if get_field(vals, 'G') or get_field(vals, 'S'):
        desc += """
####Registros e Certificações

"""
        if get_field(vals, 'G'):
            desc += """
- Código INEP da Instituição de Ensino: {G}""".format(G=get_field(vals, 'G'))
        if get_field(vals, 'S'):
            desc += """
- Cadastro Nacional de Pessoa Jurídica (CNPJ): {S}""".format(S=get_field(
                                                                vals, 'S'))

    desc += """

####Referência

- [{U}]({V} "{W}"), {X}
    """.format(
        U=get_field(vals, 'U'),
        V=get_field(vals, 'V'),
        W=get_field(vals, 'W'),
        X=get_field(vals, 'X'),
    )

    contact = """
{H}, {I} | {J}
CEP: {M}, São Paulo-SP

Fone: {O} {P}

Email: {Q}
    """.format(
        H=get_field(vals, 'H'),
        I=get_field(vals, 'I'),
        J=get_field(vals, 'J'),
        M=get_field(vals, 'M'),
        O=get_field(vals, 'O'),
        P=get_field(vals, 'P'),
        Q=get_field(vals, 'Q'),
    )

    link = get_field(vals, 'R')

    cat = get_field(vals, 'T')
    if cat == 'Cultura': cat = 'Cultura e Arte'
    categoria = ''
    if cat:
        cat = OrganizationCategoryTranslation.objects.filter(name__icontains=cat)
        if cat.count():
            categoria =cat[0].category


    # Palavras-Chave
    tags = [get_field(vals, f) for f in [ 'Z', 'AA', 'AB', 'AC', 'AD', 'AE'] ]

    # Público-Alvo
    public = [get_field(vals, f) for f in [
        'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP']]

    now = datetime.now()

    o = Organization()
    o.name = name
    o.description = desc
    o.contact = contact
    o.link = link
    o.category = categoria
    o.creation_date = now
    o.creator = mariarita
    o.save()
    for t in tags:
        o.tags.add(t)
    for p in public:
        p, c = TargetAudience.objects.get_or_create(name=p)
        o.target_audiences.add(p)
    print 'OK'
示例#3
0
def save_org(vals):
    name = "{} {}".format(get_field(vals, 'D'), get_field(vals, 'E'))

    desc = """
####Localização

{C} fica no distrito {K} da Subprefeitura {L} da capital paulista.

####Horário de Atendimento

{Y}

""".format(
        C=get_field(vals, 'C'),
        K=get_field(vals, 'K'),
        L=get_field(vals, 'L'),
        Y=get_field(vals, 'Y'),
    )

    if get_field(vals, 'G') or get_field(vals, 'S'):
        desc += """
####Registros e Certificações

"""
        if get_field(vals, 'G'):
            desc += """
- Código INEP da Instituição de Ensino: {G}""".format(G=get_field(vals, 'G'))
        if get_field(vals, 'S'):
            desc += """
- Cadastro Nacional de Pessoa Jurídica (CNPJ): {S}""".format(
                S=get_field(vals, 'S'))

    desc += """

####Referência

- [{U}]({V} "{W}"), {X}
    """.format(
        U=get_field(vals, 'U'),
        V=get_field(vals, 'V'),
        W=get_field(vals, 'W'),
        X=get_field(vals, 'X'),
    )

    contact = """
{H}, {I} | {J}
CEP: {M}, São Paulo-SP

Fone: {O} {P}

Email: {Q}
    """.format(
        H=get_field(vals, 'H'),
        I=get_field(vals, 'I'),
        J=get_field(vals, 'J'),
        M=get_field(vals, 'M'),
        O=get_field(vals, 'O'),
        P=get_field(vals, 'P'),
        Q=get_field(vals, 'Q'),
    )

    link = get_field(vals, 'R')

    cat = get_field(vals, 'T')
    if cat == 'Cultura': cat = 'Cultura e Arte'
    categoria = ''
    if cat:
        cat = OrganizationCategoryTranslation.objects.filter(
            name__icontains=cat)
        if cat.count():
            categoria = cat[0].category

    # Palavras-Chave
    tags = [get_field(vals, f) for f in ['Z', 'AA', 'AB', 'AC', 'AD', 'AE']]

    # Público-Alvo
    public = [
        get_field(vals, f) for f in
        ['AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP']
    ]

    now = datetime.now()

    o = Organization()
    o.name = name
    o.description = desc
    o.contact = contact
    o.link = link
    o.category = categoria
    o.creation_date = now
    o.creator = mariarita
    o.save()
    for t in tags:
        o.tags.add(t)
    for p in public:
        p, c = TargetAudience.objects.get_or_create(name=p)
        o.target_audiences.add(p)
    print 'OK'
示例#4
0
def save_org(vals):
    e = get_field(vals, 'E').strip()
    d = get_field(vals, 'D').strip()

    if d:
        name = '{} - {}'.format(e, d)
    else:
        name = e

    if not name:
        return

    distrito = get_field(vals, 'M').strip()
    if distrito:
        desc = """
#### Localização

{C} fica {M} {N}, {O} do município {Q}, {R}.
""".format(**format_fields(vals, 'C', 'M', 'N', 'O', 'Q', 'R'))
    else:
        desc = """
#### Localização

{C} fica no bairro {L} do município {Q}, {R}.
""".format(**format_fields(vals, 'C', 'L', 'Q', 'R'))
    desc += """

#### Serviços e Programas

{AM} {AN}

#### Funcionamento

* Horário: {BG}
* Situação: {BJ}

#### Área de abrangência

{BF}

#### Registros e certificações

""".format(**format_fields(vals, 'AM', 'AN', 'BG', 'BJ', 'BF'))

    g = get_field(vals, 'G')
    bm = get_field(vals, 'BM')
    h = get_field(vals, 'H')
    bh = get_field(vals, 'BH')
    z = get_field(vals, 'Z')

    if g:
        desc += """
- Código da Escola (INEP): {G}
""".format(G=g)

    if bm:
        desc += """
- Código Municipal da Escola: {BM}
""".format(BM=bm)

    if h:
        desc += """
- Cadastro Nacional de Estabelecimentos de Saúde (CNES): {H}
""".format(H=h)

    if bh:
        desc += """
- Código do Conselho Tutelar: {BH}
""".format(BH=bh)

    if z:
        desc += """
- CNPJ: {Z}
""".format(Z=z)

    desc += """
#### Órgão superior

- {BO}

#### Pessoas de contato

{W}, {X}

#### Outros contatos

Fax: ({S}) {U}

#### Referências

- [{AE}]({AF} "{AG}"), consultado em {AH}
""".format(**format_fields(vals, 'BO', 'W', 'X', 'S', 'U', 'AE', 'AF', 'AG',
           'AH'))

    k = get_field(vals, 'K').strip()
    if k:
        k = ', ' + k

    contact = """
Endereço: {I}, {J} {K} | {L}, {P} | {Q}-{R}

Telefone: ({S}) {T}

E-mail: {V}
    """.format(K=k, **format_fields(vals, 'I', 'J', 'L', 'P', 'Q', 'R', 'S',
                'T', 'V'))

    link = get_field(vals, 'Y')

    tags = [get_field(vals, f) for f in
               ['AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX',
                'BN', 'BO', 'BP', 'BQ']]
    tags = filter(bool, tags)

    # Público-Alvo
    public = [get_field(vals, f) for f in ['AY', 'AZ', 'BA', 'BB', 'BC', 'BD']]
    public = filter(bool, public)

    now = datetime.now()
    user_id = get_field(vals, 'B').split('/')[-1]
    creator = User.objects.get(pk=user_id)

    categories = [get_field(vals, column) for column in
                        ['AA', 'AB', 'AC', 'AD']]
    categories = filter(bool, categories)

    categorias = []
    for cat in categories:
        c = OrganizationCategoryTranslation.objects.filter(name__icontains=cat)
        if c.count():
            categorias.append(c[0].category)

    longitude, latitude = get_field(vals, 'BL'), get_field(vals, 'BK')
    if longitude and latitude:
        x, y = map(float, [c.replace(',', '.').replace(' ', '')
                    for c in (longitude, latitude)])
        geom = []
        geom.append('%s,%s' % (x + 0.0005, y + 0.0005))
        geom.append('%s,%s' % (x + 0.0005, y - 0.0005))
        geom.append('%s,%s' % (x - 0.0005, y - 0.0005))
        geom.append('%s,%s' % (x - 0.0005, y + 0.0005))
        geom.append('%s,%s' % (x + 0.0005, y + 0.0005))
        coords = ''
        for i, coord in enumerate(geom):
            coord = coord.split(',')
            coords += '%s %s' % (coord[1], coord[0])
            if not i == len(geom) - 1:
                coords += ', '
        geometry = "GEOMETRYCOLLECTION( POLYGON (( %s )))" % coords
    else:
        geometry = ''

    o = Organization()
    while Organization.objects.filter(name=name).count():
        name += ' '
    o.name = name
    o.description = desc
    o.contact = contact
    o.link = link
    o.creation_date = now
    o.creator = creator
    o.save()
    if geometry:
        OrganizationBranch.objects.create(name='sede', geometry=geometry,
                organization=o)
    for t in tags:
        o.tags.add(t)
    for p in public:
        p, c = TargetAudience.objects.get_or_create(name=p)
        o.target_audiences.add(p)
    for cat in categorias:
        o.categories.add(cat)

    proj_slug = get_field(vals, 'BE').split('/')[-1]
    if proj_slug:
        proj = Project.objects.get(slug=proj_slug)
        ProjectRelatedObject.objects.get_or_create(project=proj,
                content_type=ct_organization, object_id=o.id)

    print 'OK  -  ', name
示例#5
0
def save_org(vals):
    if not get_field(vals, 'A') and not get_field(vals, 'B'):
        return

    name = "{} - {}".format(get_field(vals, 'B').title(), get_field(vals, 'A'))
    name = name.strip()

    desc = """
####Atuação

####Localização

A {B} fica localizada em {AJ}, {AW}.


####Estrutura e Dirigentes

- {AZ}


####Registro e Certificações

**CNPJ:** {AX}


####Comunicação

- **Facebook:** [{BD}] ({BE} "{B} no Facebook")
- **Blogue:** [{B}] ({BF} "Blogue da {B}")


####Participações e Representações

""".format(
        **format_fields(vals, 'B', 'AJ', 'AW', 'AZ', 'AX', 'BD', 'BE', 'BF'))

    if get_field(vals, 'P'):
        desc += """
- [{P}] (http://maps.mootiro.org/organization/comite-nacional-de-enfrentamento-a-violencia-sexual-contra-criancas-e-adolescentes "Comitê Nacional no Mootiro Maps"): {BA}, {BB}
""".format(**format_fields(vals, 'P', 'BA', 'BB'))

    if get_field(vals, 'K'):
        desc += """
- [{K}] (http://maps.mootiro.org/organization/rede-andi-brasil "Rede ANDI Brasil no MootiroMaps")
""".format(**format_fields(vals, 'K'))

    if get_field(vals, 'L'):
        desc += """
- [{L}] (http://maps.mootiro.org/organization/rnpi-rede-nacional-primeira-infancia "Rede Nacional Primeira Infância no MootiroMaps")
""".format(**format_fields(vals, 'L'))

    desc += """

#### Referências

- [{BM}] ({BL} "Arquivo no GoogleDocs"), {BN}
- [Site institucional da {B}] ({Y} "")

    """.format(**format_fields(vals, 'BM', 'BN', 'BL', 'B', 'Y'))

    link = get_field(vals, 'Y')

    contact = """
{AE}, {AF}, {AG}
{AH}, CEP: {AI}
{AJ} - {AK}

**Fone:** ({AB}) {AC} - {AA}

**E-mail:** {Z}

    """.format(**format_fields(vals, 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK',
                               'AB', 'AC', 'AA', 'Z'))

    cat = "Promoção de direitos humanos"
    cat = OrganizationCategoryTranslation.objects.filter(name__icontains=cat)
    if cat.count():
        categoria = cat[0].category

    tags = [
        get_field(vals, f) for f in ['AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW']
    ]

    # Público-Alvo
    public = [get_field(vals, f) for f in ['AM', 'AN', 'AO', 'AP']]

    now = datetime.now()

    o = Organization()
    o.name = name
    o.description = desc
    o.contact = contact
    o.link = link
    o.category = categoria
    o.creation_date = now
    o.creator = users[get_field(vals, 'C')]
    o.save()
    for t in tags:
        o.tags.add(t)
    for p in public:
        p, c = TargetAudience.objects.get_or_create(name=p)
        o.target_audiences.add(p)

    ProjectRelatedObject.objects.create(project=projeto, content_object=o)
    print 'OK  -  ', name
示例#6
0
def save_org(vals):
    if not get_field(vals, 'A') and not get_field(vals, 'B'):
        return

    name = "{} - {}".format(
            get_field(vals, 'B').title(), get_field(vals, 'A'))
    name = name.strip()

    desc = """
####Atuação

####Localização

A {B} fica localizada em {AJ}, {AW}.


####Estrutura e Dirigentes

- {AZ}


####Registro e Certificações

**CNPJ:** {AX}


####Comunicação

- **Facebook:** [{BD}] ({BE} "{B} no Facebook")
- **Blogue:** [{B}] ({BF} "Blogue da {B}")


####Participações e Representações

""".format(**format_fields(vals, 'B', 'AJ', 'AW', 'AZ', 'AX', 'BD', 'BE', 'BF'))

    if get_field(vals, 'P'):
        desc += """
- [{P}] (http://maps.mootiro.org/organization/comite-nacional-de-enfrentamento-a-violencia-sexual-contra-criancas-e-adolescentes "Comitê Nacional no Mootiro Maps"): {BA}, {BB}
""".format(**format_fields(vals, 'P', 'BA', 'BB'))

    if get_field(vals, 'K'):
        desc += """
- [{K}] (http://maps.mootiro.org/organization/rede-andi-brasil "Rede ANDI Brasil no MootiroMaps")
""".format(**format_fields(vals, 'K'))

    if get_field(vals, 'L'):
        desc += """
- [{L}] (http://maps.mootiro.org/organization/rnpi-rede-nacional-primeira-infancia "Rede Nacional Primeira Infância no MootiroMaps")
""".format(**format_fields(vals, 'L'))

    desc += """

#### Referências

- [{BM}] ({BL} "Arquivo no GoogleDocs"), {BN}
- [Site institucional da {B}] ({Y} "")

    """.format(**format_fields(vals, 'BM', 'BN', 'BL', 'B', 'Y'))

    link = get_field(vals, 'Y')

    contact = """
{AE}, {AF}, {AG}
{AH}, CEP: {AI}
{AJ} - {AK}

**Fone:** ({AB}) {AC} - {AA}

**E-mail:** {Z}

    """.format(**format_fields(vals, 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK',
                             'AB', 'AC', 'AA', 'Z'))

    cat = "Promoção de direitos humanos"
    cat = OrganizationCategoryTranslation.objects.filter(name__icontains=cat)
    if cat.count():
        categoria = cat[0].category

    tags = [get_field(vals, f) for f in
            ['AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW']]

    # Público-Alvo
    public = [get_field(vals, f) for f in ['AM', 'AN', 'AO', 'AP']]

    now = datetime.now()

    o = Organization()
    o.name = name
    o.description = desc
    o.contact = contact
    o.link = link
    o.category = categoria
    o.creation_date = now
    o.creator = users[get_field(vals, 'C')]
    o.save()
    for t in tags:
        o.tags.add(t)
    for p in public:
        p, c = TargetAudience.objects.get_or_create(name=p)
        o.target_audiences.add(p)

    ProjectRelatedObject.objects.create(project=projeto, content_object=o)
    print 'OK  -  ', name