governmentbg / opendata

Това хранилище е извадено от употреба. Актуално хранилище:
https://github.com/governmentbg/data-gov-bg
MIT License
27 stars 6 forks source link

Проблем с обработка на файлове на кирилица #3

Open antitoxic opened 9 years ago

antitoxic commented 9 years ago

Оригинална грешка: Job "push_to_datastore" raised an exception

Опитах се да force-на parse-ването (иначе казано да "кача в DataStore") на 1 CSV в таблицата на postgre чрез уеб интерфейса на портала и получих:

Грешка: CKAN DataStore bad response. Status code: 409 Conflict. At: http://opendata.government.bg/api/3/action/datastore_create. 
HTTP status code: 409 
Response: {"help": "http://opendata.government.bg/api/3/action/help_show?name=datastore_create", "success": false, "error": {"records": ["row \"1\" has extra keys \"\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0... 
Requested URL: http://opendata.government.bg/api/3/action/datastore_create

Това е същата грешка, която получаваме по мейл като:

Job "push_to_datastore (trigger: RunTriggerNow, run = True, next run at: None)" raised an exception
Traceback (most recent call last):
  File "/var/www/ckan/virtualenv/lib/python2.7/site-packages/apscheduler/scheduler.py", line 512, in _run_job
    retval = job.func(*job.args, **job.kwargs)
  File "/var/www/ckan/virtualenv/src/datapusher/datapusher/jobs.py", line 387, in push_to_datastore
    records, api_key, ckan_url)
  File "/var/www/ckan/virtualenv/src/datapusher/datapusher/jobs.py", line 203, in send_resource_to_datastore
    check_response(r, url, 'CKAN DataStore')
  File "/var/www/ckan/virtualenv/src/datapusher/datapusher/jobs.py", line 137, in check_response
    request_url=request_url, response=response.text)

HTTPError
antitoxic commented 9 years ago

Не е от encoding-a . Туко що пробвах с https://github.com/obshtestvo/opendata/blob/master/tests/postcodesutf8.csv . Отново има грешка. Може би трябва да rebuild-нем цялата Datastore база данни

antitoxic commented 9 years ago

btw file -i <file> ми върна грешен encoding

antitoxic commented 9 years ago

потенциална причина защо CSV-то е реално разделено с точка и запетая: ref: http://stackoverflow.com/questions/10140999/csv-with-comma-or-semicolon

mitio commented 9 years ago

GitHub също се оплаква, че не е разделено със запетая, но си мисля, че datapusher-ът би трябвало да се оправя и с ;. От друга страна, много лесно може да се тества.

Направих още малко тестови файлове. Ако искаш/можеш, пробвай и с тях.

antitoxic commented 9 years ago

С тестовете до момента смятам че проблема идва от това че в CKAN datastore има таблица за тоя файл но е създадена с по-малко на брой колони, отколкото в момента засича. Още тествам

antitoxic commented 9 years ago

omg... изцяло и само зарарди non-ascii-то е.

Тествах:

Ползвах файла, който @mitio даде със съдържание на латиница - сработи.

Разочарован съм.

mitio commented 9 years ago

Трябва да го дебъгнем по-добре това и да видим дали ще можем да го оправим. Голям проблем е.

antitoxic commented 8 years ago

Ето проблема като issue в главното репо на CKAN: https://github.com/ckan/datapusher/issues/69

antitoxic commented 8 years ago

@peperon това изглежда достса relevant, ако случайно не си го видял.

peperon commented 8 years ago

Да, видях го. Като цяло май ще е най-добре да ъпдейтнем до последната версия на ckan за по-добри съобщения от DataStore.