def test_writer_one_list_item():
    out = io.StringIO()
    writer = Writer(out, fieldnames=["name"])
    item = Item(name=["one", "two", "three"])
    writer.write(item)
    writer.close()

    string = out.getvalue()
    assert string == 'name\none;two;three\n'
def test_writer_one_item():
    out = io.StringIO()
    writer = Writer(out, fieldnames=["name"])
    item = Item(name="one")
    writer.write(item)
    writer.close()

    string = out.getvalue()
    assert string == 'name\none\n'
def test_writer_sparse_items():
    out = io.StringIO()
    writer = Writer(out, fieldnames=["name", "text", "address", "z"])
    for name in ['one', 'two', 'three']:
        item = Item(name=name, text="hello world")
        writer.write(item)
    writer.close()

    string = out.getvalue()
    assert string == ('name\ttext\taddress\tz\n'
                      'one\thello world\t\t\n'
                      'two\thello world\t\t\n'
                      'three\thello world\t\t\n')
Exemple #4
0
def test_writer_many_items():
    out = io.StringIO()
    writer = Writer(out, fieldnames=["name", "text"])
    for name in ["one", "two", "three"]:
        item = Item(name=name, text="hello world")
        writer.write(item)
    writer.close()

    string = out.getvalue()
    assert string == ("name\ttext\n"
                      "one\thello world\n"
                      "two\thello world\n"
                      "three\thello world\n")
Exemple #5
0
#!/usr/bin/env python3

import sys
import json
from openregister import Item
from openregister.representations.tsv import Writer

fields = ['police-force', 'name', 'start-date', 'end-date']

writer = Writer(sys.stdout, fieldnames=fields)

for row in json.load(sys.stdin):

    force = Item()
    force['police-force'] = row['id']
    force['name'] = row['name']
    writer.write(force)

writer.close()
# Country,Competent Authority,Approval Number,Trading name,Address 1,Address 2,Adress 3,Town/Region,Postcode,Section 0,Section I,Section II,Section III,Section IV,Section V,Section VI,Section VII,Section VIII,Section IX,Section X,Section XI,Section XII,Section XIII,Section XIV,Section XV,Section XVI,Species,Remarks,Address withheld,uprn,lat,lng,match_score,match_description

fields = ["food-premises", "premises", "name", "business", "start-date", "end-date"]

writer = Writer(sys.stdout, fields)

reader = csv.DictReader(sys.stdin)
for num, row in enumerate(reader):
    uprn = row["uprn"]
    name = row["Trading name"]

    if uprn and row["Address withheld"] != "Y":

        item = Item()
        item.__dict__["food-premises"] = uprn

        if uprn in uprns:
            item.premises = uprns[uprn]

        if name in companies:
            if companies[name]:
                item.business = "company:" + companies[name]

        item.__dict__["end-date"] = ""
        item.name = row["Trading name"]

        writer.write(item)

writer.close()