Tools for parsing hungarian legal documents

badicsalex, updated 🕥 2022-09-28 13:28:32

| :warning: WARNING | | --- | | This project has been deprecated in favor of the Rust version, and is currently unmaintained. |

Hun-Law

A small project for parsing Hungarian Law. It does the following thigs:

  • Parse PDF files into lines using pdfminer. It does so much more accurately than other pdf2txt implementations.
  • Parse "Magyar Közlöny" PDFs into individual Acts
  • Separate Acts into structural elements (Articles, subpoints, etc.)
  • Parse internal and external references in legal text
  • Parse special phrases like amendments and repeals into easy-to-use objects
  • Generate simple TXT, JSON and HTML version of the parsed documents

Usage

After cloning the repository, simply run ./generate_output.py:

./generate_output.py txt 2013/31 ./generate_output.py json 2018/123 --output-dir /tmp/acts_as_json

Interesting Magyar Közlöny issues can be found in act_to_mk_issue.csv

To be able to actually use html output, you will have to copy or symlink the style.css: ./generate_output.py html 2014/91 2014/92 2014/93 --output-dir /var/www/hun_law cp style.css /var/www/hun_law

Things planned:

  • Export into Akoma Ntoso format
  • Export into epub or mobi format

Contribution

Feel free to open issues for feature reqests or found bugs. Merge Requests are more than welcome too, as long as all tests and static analysis passes.

Issues

Debug html output

opened on 2021-09-08 09:28:46 by badicsalex

There should be a new output format, called debug_html in generate_output.py

It should be the same (with the same backend, really) as the "generic" html output, but with added coloring and stuff to show parsing results.

The following code changes are necessary: A new choice here: https://github.com/badicsalex/hun_law/blob/master/hun_law/cli.py#L51 A new classmethod named output_debug_html() (since it is automagically called by https://github.com/badicsalex/hun_law/blob/master/hun_law/cli.py#L100 ), that also just calls generate_html_for_act, but with a new debug=True parameter

From this point, it gets harder, since propagating this variable through all of the generators sounds like pain. For now maybe it would be easier to conditionally link a new stylesheet ( https://github.com/badicsalex/hun_law/blob/master/hun_law/output/html.py#L231 ) called style_debug.css, and use some special definitions for CSS classes (like .has_metadata) , and then we would unconditionally use these classes during generation. This way the non-debug version would look the same, but with the debug version, things would be colored and styled differently.

MNB Tv. abbreviation

opened on 2020-07-11 17:53:10 by badicsalex None

EUTv. abbreviation

opened on 2020-01-01 22:29:04 by badicsalex

"Az Európai Unió tagállamaival folytatott bűnügyi együttműködésről szóló 2012. évi CLXXX. törvény (a továbbiakban: EUtv.) 3. §-a a következő (6) bekezdéssel egészül ki:",

Create a permanent archive of available MK issues

opened on 2020-01-01 22:22:02 by badicsalex

In case they decide to make it harder to get, or outright unavailable.

Amendment when only intro is amended

opened on 2019-12-25 16:19:37 by badicsalex

The following is not parsed correctly as an amendment: Az adózás rendjéről szóló 2003. évi XCII. törvény (a továbbiakban: Art.) 31. § (2) bekezdés bevezető szövegrésze helyébe a következő rendelkezés lép:

(in 2013. évi XLI. törvény, article 4, paragraph 1)

Parse all of Btk and its amendments

opened on 2019-12-25 15:59:19 by badicsalex

The following should be parsed without remaining raw Indented Lines. Text part amendments should also be all parsed into metadata.

  • [x] 2012/92 -- 2012. évi C. törvény,A Büntető Törvénykönyvről

Block Amendments: - [x] 2012/181 -- 2012. évi CCXXIII. törvény,A Büntető Törvénykönyvről szóló 2012. évi C. törvényhatálybalépéséhez kapcsolódó átmeneti rendelkezésekről és egyes törvények módosításáról - [x] 2013/66 -- 2013. évi XXXVI. törvény,A választási eljárásról - [x] 2013/67 -- 2013. évi XLV. törvény,A közveszély színhelyén elkövetett lopás szigorúbb büntetőjogi szankcionálásáról - [x] 2013/69 -- 2013. évi XLVIII. törvény,Az önkényuralmi jelképek használatának büntetőjogi szankcionálásáról - [x] 2013/96 -- 2013. évi LXXVIII. törvény,Egyes büntető tárgyú törvények módosításáról - [x] 2013/102 -- 2013. évi XCVIII. törvény,Egyes pénzügyi tárgyú törvények módosításáról - [x] 2013/120 -- 2013. évi CXXXIII. törvény,A vallási közösségek jogállásával és működésével kapcsolatos törvényeknek az Alaptörvénynegyedik módosításával összefüggő módosításáról - [x] 2013/185 -- 2013. évi CLXXVIII. törvény,Az emberi méltóság védelme és a bizonyítékok meghamisításának megakadályozása érdekében a Büntető Törvénykönyvről szóló 2012. évi C. törvénymódosításáról - [x] 2013/190 -- 2013. évi CLXXXVI. törvény,Egyes büntetőjogi tárgyú és ehhez kapcsolódó más törvények módosításáról - [x] 2013/218 -- 2013. évi CCXLV. törvény,Egyes törvényeknek a gyermekek védelme érdekében történőmódosításáról - [x] 2013/218 -- 2013. évi CCXXXVIII. törvény,"A népszavazás kezdeményezéséről, az európai polgári kezdeményezésről, valamint a népszavazási eljárásról" - [x] 2013/222 -- 2013. évi CCLII. törvény,Egyes törvényeknek az új Polgári Törvénykönyv hatálybalépésével összefüggő módosításáról - [x] 2014/18 -- 2014. évi VII. törvény,A termőföld tulajdonjogának megszerzését vagy használatát korlátozó jogszabályi rendelkezések kijátszására irányuló jogügyletek feltárásáról és megakadályozásáról - [x] 2014/159 -- 2014. évi LXV. törvény,A Büntető Törvénykönyvről szóló 2012. évi C. törvénynek a gyermekek fokozottabb védelme érdekében szükséges módosításáról - [x] 2014/160 -- 2014. évi LXXII. törvény,"A büntetések, az intézkedések, egyes kényszerintézkedések és a szabálysértési elzárás végrehajtásáról szóló 2013. évi CCXL. törvényés ehhez kapcsolódóan más törvények módosításáról" - [x] 2015/84 -- 2015. évi LXXVI. törvény,Egyes büntetőjogi tárgyú törvények módosításáról - [x] 2015/124 -- 2015. évi CXL. törvény,Egyes törvényeknek a tömeges bevándorlás kezelésével összefüggő módosításáról - [x] 2016/49 -- 2016. évi XIII. törvény,Az uniós vámjog végrehajtásáról - [x] 2016/88 -- 2016. évi LXIX. törvény,A terrorizmus elleni fellépéssel összefüggő egyes törvények módosításáról - [x] 2016/88 -- 2016. évi LXVIII. törvény,A jövedéki adóról - [x] 2016/159 -- 2016. évi CIII. törvény,"Az európai uniós és a nemzetközi bűnügyi együttműködést szabályozó törvények, valamint egyes büntetőjogi tárgyú törvények jogharmonizációs célú módosításáról" - [x] 2016/170 -- 2016. évi CX. törvény,"A büntetések, az intézkedések, egyes kényszerintézkedések és a szabálysértési elzárás végrehajtásáról szóló 2013. évi CCXL. törvényés ehhez kapcsolódóan más törvények módosításáról" - [x] 2017/69 -- 2017. évi XXXIX. törvény,"Az európai uniós és a nemzetközi bűnügyi együttműködést szabályozó törvények, és ehhez kapcsolódóan más törvények jogharmonizációs célú módosításáról" - [x] 2017/156 -- 2017. évi CVI. törvény,A Büntető Törvénykönyvről szóló 2012. évi C. törvénymódosítása a korrupciós bűncselekmények elévülési idejének emelése érdekében - [x] 2017/184 -- 2017. évi CXLIV. törvény,"A büntetőeljárásról szóló 1998. évi XIX. törvény, egyes büntető tárgyú törvények, valamint az európai uniós és a nemzetközi bűnügyi együttműködést szabályozó törvények módosításáról" - [x] 2017/192 -- 2017. évi CXLIX. törvény,Egyes törvényeknek a gyermekek fokozottabb védelme érdekében szükséges módosításáról - [x] 2017/207 -- 2017. évi CLXXVII. törvény,A tizenkettedik életévüket be nem töltött gyermekek sérelmére elkövetett szexuális erőszakkal szembeni fokozottabb büntetőjogi védelemről - [x] 2017/216 -- 2017. évi CXCVII. törvény,A büntetőeljárásról szóló 2017. évi XC. törvényhatálybalépésével összefüggő egyes törvények módosításáról - [x] 2018/97 -- 2018. évi VI. törvény,Egyes törvényeknek a jogellenes bevándorlás elleni intézkedésekkel kapcsolatos módosításáról - [x] 2018/122 -- 2018. évi XLIII. törvény,A Büntető Törvénykönyvről szóló 2012. évi C. törvény módosításáról - [x] 2018/123 -- 2018. évi LV. törvény,A gyülekezési jogról - [x] 2018/207 -- 2018. évi CXVIII. törvény,"Egyes egészségügyi és egészségbiztosítási tárgyú, valamint az egészségüggyel összefüggő egyes törvények módosításáról" - [x] 2018/207 -- 2018. évi CXXII. törvény,Egyes büntetőjogi tárgyú és más kapcsolódó törvények módosításáról - [x] 2019/120 -- 2019. évi LXVI. törvény,Magyarország 2020. évi központi költségvetésének megalapozásáról

Textual amendments: - [x] 2012/181 -- 2012. évi CCXXIII. törvény,A Büntető Törvénykönyvről szóló 2012. évi C. törvényhatálybalépéséhez kapcsolódó átmeneti rendelkezésekről és egyes törvények módosításáról - [ ] 2013/69 -- 2013. évi XLVIII. törvény,Az önkényuralmi jelképek használatának büntetőjogi szankcionálásáról - [ ] 2013/120 -- 2013. évi CXXXIII. törvény,A vallási közösségek jogállásával és működésével kapcsolatos törvényeknek az Alaptörvénynegyedik módosításával összefüggő módosításáról - [x] 2013/218 -- 2013. évi CCXLV. törvény,Egyes törvényeknek a gyermekek védelme érdekében történő módosításáról - [ ] 2014/160 -- 2014. évi LXXII. törvény,"A büntetések, az intézkedések, egyes kényszerintézkedések és a szabálysértési elzárás végrehajtásáról szóló 2013. évi CCXL. törvényés ehhez kapcsolódóan más törvények módosításáról" - [ ] 2015/84 -- 2015. évi LXXVI. törvény,Egyes büntetőjogi tárgyú törvények módosításáról - [ ] 2016/159 -- 2016. évi CIII. törvény,"Az európai uniós és a nemzetközi bűnügyi együttműködést szabályozó törvények, valamint egyes büntetőjogi tárgyú törvények jogharmonizációs célú módosításáról" - [ ] 2017/69 -- 2017. évi XXXIX. törvény,"Az európai uniós és a nemzetközi bűnügyi együttműködést szabályozó törvények, és ehhez kapcsolódóan más törvények jogharmonizációs célú módosításáról" - [ ] 2017/74 -- 2017. évi L. törvény,Az általános közigazgatási rendtartásról szóló törvényés a közigazgatási perrendtartásról szóló törvényhatálybalépésével összefüggő egyes törvények módosításáról - [ ] 2017/184 -- 2017. évi CXLIV. törvény,"A büntetőeljárásról szóló 1998. évi XIX. törvény, egyes büntető tárgyú törvények, valamint az európai uniós és a nemzetközi bűnügyi együttműködést szabályozó törvények módosításáról" - [ ] 2017/216 -- 2017. évi CXCVII. törvény,A büntetőeljárásról szóló 2017. évi XC. törvényhatálybalépésével összefüggő egyes törvények módosításáról - [ ] 2018/123 -- 2018. évi LV. törvény,A gyülekezési jogról - [ ] 2018/207 -- 2018. évi CXVIII. törvény,"Egyes egészségügyi és egészségbiztosítási tárgyú, valamint az egészségüggyel összefüggő egyes törvények módosításáról" - [ ] 2018/208 -- 2018. évi CXXV. törvény,A kormányzati igazgatásról - [ ] 2019/63 -- 2019. évi XXXVI. törvény,"A lelkiismereti és vallásszabadság jogáról, valamint az egyházak, vallásfelekezetek és vallási közösségek jogállásáról szóló 2011. évi CCVI. törvény módosításához kapcsolódóan egyes törvények módosításáról"

Repeals: együttműködést szabályozó törvények, és ehhez kapcsolódóan más törvények jogharmonizációs célú módosításáról" - [ ] 2013/101 -- 2013. évi LXXXIX. törvény,A választási eljárásról szóló 2013. évi XXXVI. törvénymódosításáról - [x] 2013/218 -- 2013. évi CCXLV. törvény,Egyes törvényeknek a gyermekek védelme érdekében történőmódosításáról - [ ] 2015/84 -- 2015. évi LXXVI. törvény,Egyes büntetőjogi tárgyú törvények módosításáról - [ ] 2016/159 -- 2016. évi CIII. törvény,"Az európai uniós és a nemzetközi bűnügyi együttműködést szabályozó törvények, valamint egyes büntetőjogi tárgyú törvények jogharmonizációs célú módosításáról" - [ ] 2017/69 -- 2017. évi XXXIX. törvény,"Az európai uniós és a nemzetközi bűnügyi - [ ] 2017/166 -- 2017. évi CXX. törvény,A használati minták oltalmára vonatkozó szabályozás módosításáról" - [ ] 2017/216 -- 2017. évi CXCVII. törvény,A büntetőeljárásról szóló 2017. évi XC. törvényhatálybalépésével összefüggő egyes törvények módosításáról - [ ] 2018/207 -- 2018. évi CXVIII. törvény,"Egyes egészségügyi és egészségbiztosítási tárgyú, valamint az egészségüggyel összefüggő egyes törvények módosításáról" - [ ] 2018/207 -- 2018. évi CXXII. törvény,Egyes büntetőjogi tárgyú és más kapcsolódó törvények módosításáról

Alex Badics

Product Owner/Developer. I love parsing and code generation. Friendship ended with python, now rust is my best friend.

GitHub Repository