Open antitoxic opened 10 years ago
:+1: за употребата на gif-чета за илюстрация :)
Би било много хубаво ако позволявахме на хората да видят diff между стария и новия закон. Дали ще бъде възможно да го имплементираме на някакъв по-късен етап?
:+1: за diff-овете. Ако имаме пълните текстове на законите, може да стане, но не съм сигурен как стоят нещата там. Трябва да поразпитам някой по-грамотен юридически от мен.
@Glamdring се заема с тази задача. Йей. Ние ще използваме неговото API за да си напълним базата.
Така, API-то вече връща цялата информация от мойта база + линк към XML-а с метаданни за всеки законопроект, откъдето много лесно може да се вземе информация. А като еднократна операция в някакъв бъдещ момент, когато сметнете за добре, ще scrape-на и export-на всички минали документи (в мойта база има само от август 2013).
@Glamdring това с метаданнитее имплементирано или още не? Пробваме с @jsibelius : http://alerts.obshtestvo.bg/api/list?since=1395588822713&token=token&sources=ParliamentLawProjects
но additionalMetaData
винаги е null
, a ID-то изглежда да е от базата на alerts, та не може да го свържем с линк към парламента.
PS: да разбираме че с Петко от този линк към XML-а ще го parse-ваме и извкличам допълнителните детайли от там?
да, additionalMetaData не я връщам, защото XML-ът е достатъчен. П.П. Изтрий token-а от коментара :)
Token done. Извинявай, може би тъпея, но как да стигна до xml-a?
А, забравих да кажа, да - metaDataUrl
Нормално ли е metaDataUrl
винаги да е null?
Не би трябвало..ама виждам, че е :) ще проверя довечера
Мда, ако бях деплойнал новата конфингурация, щеше да има metaDataUrl :) ще почне да се появява за новите законопроекти (а всички предишни ще ги "извлачим" наведнъж в близко бъдеще, и си напълните базата с тях еднократно)
Работи ли вече както трябва?
Работи! Няма нужда да „извлачваш“ все още. :) Приоритизирали сме към момента да визуализираме гласуванията и присъствието на депутатите.
Начин на извличане
Списък с закони
На следния адрес има списък с приети закони: http://www.parliament.bg/bg/laws/
Всеки закон преди да е приет е "Законопроект"
Не гледаме "последни закони". Вместо това отдолу има нещо календар с годините. Трябва да обходим всяка година и всеки месец и да видим законите приети този месец.![gif_screencast_2](https://f.cloud.github.com/assets/261500/1712449/1a9705c0-6174-11e3-9f0f-17b72abf6faf.gif)
И така в страницата на всеки месец ще обходим всеки закон, за да извлечем информация от него.
Примерен закон
http://www.parliament.bg/bg/laws/ID/14656/
Събираме си от тук инфото за да го запазим в нашата база данни. Специално внимание обръщаме към датата на приемане.
Взаимовръзка закон<>гласуване
Със "датата на приемане" правим проверка в нашата база данни за пленарното заседание на същата дата. Търсим по темата на гласуваното. Може да има няколко съвпадения, тоест няколко гласувания. Така вече знаем как са гласували партиите и депутатите по този закон.
Ако нямахме база данни, ето пример как изглежда ръчното търсене в excel-ските документи:
Поддържане на актуален списък със закони
Първият път когато събираме закони ще минем през всичките години и месеци. Оттогава ще минаваме само за последния месец и последния ден, за който нямаме информация. И така ще обновяваме базата данни.
Неприети закони
Водят се отхвърлени или оттеглени законопроекти. Ето примери:
Тях няма да ги намерим в списъка със закони по-горе, понеже те не са официално са закони, а _законопроекти_.
За да можем да съберем неприетите закони и тези чакащи решение трябва отново да правим обхождане по година и месец, но вместо страницата със закони, тази на законопроекти: http://www.parliament.bg/bg/bills
Отново отдолу има календар и отново под същата форма Година - Месец.
За да разберем дали 1 законопроект е станал закон или не, трябва да проверяваме хронологията му:
Поддържане на актуален списък със неприети закони
Това е малко по-"занимавка" отколкото със приетите. Както и при приетите, правим едно начално обхождане на всички години и месеци. След което ще проверяваме единствено последния месец и датите за които нямаме информация.
Допълнението е че трябва да проверяваме и за законопроекти за които още не знаем дали са отхвърлени или чакат решение. Като този: http://www.parliament.bg/bg/bills/ID/13270![gif_screencast_6](https://f.cloud.github.com/assets/261500/1712847/a242e0f2-617e-11e3-9a23-4ab7a0ad4fe2.gif)
_Пояснение_: Някои законопроекти точно като горния пример, който е от 2011г изглежда не се решават или не се обновява сайта на парламента с решението им. За тях няма как да знаем дали е грешка или не и ще е трябва да си ги проверяваме всеки ден.
Визуализация в сайта
Това е само за да си представим как може да се визуализира. С оглед естетика и улеснен достъп търпи промени
На страницата на закона ще се появяват малки диаграми за всяко гласуване на този закон. Диаграмите ще са bar chart с 2 колонки за ДА и НЕ. Самите колонки ще са изградени от гласовете на всеки депутат и затова ще са шарени включващи цветовете на партията на всеки депутат.
Пример: http://fiddle.jshell.net/W628k/1/show/![temp_snapshot](https://f.cloud.github.com/assets/261500/1712670/2f8a1b88-617a-11e3-9f6b-65130fbd9281.png)
Под диаграмата ще може да се показва и скрива списък със депутатите и тяхното поименно гласуване за закона.