Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More case references (BVerwG, Sozialgerichte), resolved false positives, small improvements #6

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 35 additions & 29 deletions refex/data/file_number_codes.csv
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
A,Aufsichtsrechts
I,Beurkundungen (AG)
II,Sonstiges in der freiwilligen Gerichtsbarkeit (AG)
III,Standesamtssachen (AG)
Expand All @@ -16,26 +15,30 @@ XVI,Adoptionssachen (AG)
XV,Landwirtschaftssachen (AG)
XVI,Adoptionssachen (AG)
XVII,Betreuungssachen (AG)
A,Berufungen etc. (OVG)
ABR,Rechtsbeschwerden (BAG)
AGH,Berufsrechtliche und verwaltungsrechtliche Verfahren (Anwaltsgerichtshof)
AK,Aktenkontrolle für Haftprüfungsverfahren (BGH-Strafsachen)
AktE,Anträge auf gerichtliche Entscheidung nach dem AktG, dem EGAktG und verwandten Gesetzen (LG)
AktG,Freigabeverfahren nach dem Aktien- und Umwandlungsgesetz (OLG)
AnwG, Berufsrechtliche Vefahren (Anwaltsgerich)
AnwSt,Anträge auf Einleitung des anwaltsgerichtlichen Verfahrens und Beschwerden in Ordnungsmittelverfahren gegen Rechtsanwälte beim Bundesgerichtshof (BGH, GenBAnw.)
AnwSt(B),Beschwerden gegen die Nichtzulassung der Revision und Beschwerden gegen Entscheidungen eines Anwaltsgerichtshofes (BGH, GenBAnw.)
AnwSt(R),Revisionen gegen Urteile eines Anwaltsgerichtshofes (BGH, GenBAnw.)
AnwSt (B),Beschwerden gegen die Nichtzulassung der Revision und Beschwerden gegen Entscheidungen eines Anwaltsgerichtshofes (BGH, GenBAnw.)
AnwSt (R),Revisionen gegen Urteile eines Anwaltsgerichtshofes (BGH, GenBAnw.)
AnwZ,Klagen über Entscheidungen in Zulassungssachen oder gegen sonstige Verwaltungsakte betreffend Rechtsanwälte beim Bundesgerichtshof (BGH)
AnwZ(B),Beschwerden gegen Entscheidungen eines Anwaltsgerichtshofes (BGH)
AnwZ(Brfg),Berufungen und Anträge auf Zulassung der Berufung gegen Entscheidungen eines Anwaltsgerichtshofes (BGH)
AnwZ(P),Klagen über die Anfechtung von Wahlen und Beschlüssen der Rechtsanwaltskammer beim BGH und der Bundesrechtsanwaltskammer (BGH)
AnwZ (B),Beschwerden gegen Entscheidungen eines Anwaltsgerichtshofes (BGH)
AnwZ (Brfg),Berufungen und Anträge auf Zulassung der Berufung gegen Entscheidungen eines Anwaltsgerichtshofes (BGH)
AnwZ (P),Klagen über die Anfechtung von Wahlen und Beschlüssen der Rechtsanwaltskammer beim BGH und der Bundesrechtsanwaltskammer (BGH)
AR,Allgemeines Register (GenBAnw.)
AR(Kart),Rechtsbeschwerden in Kartellbußgeldverfahren (GenBAnw.)
AR(Ri),Allgemeines Register beim Dienstgericht des Bundes (BGH)
AR (Kart),Rechtsbeschwerden in Kartellbußgeldverfahren (GenBAnw.)
AR (Ri),Allgemeines Register beim Dienstgericht des Bundes (BGH)
ARP,Allgemeines Register für Staatsschutzstrafsachen (GenBAnw.)
AR(Enw),Rechtsbeschwerden in Bußgeldverfahren nach dem EnWG (GenBAnw.)
AR (Enw),Rechtsbeschwerden in Bußgeldverfahren nach dem EnWG (GenBAnw.)
ARs,Allgemeine Register und Gerichtsstandsbestimmungen (BGH-Strafsachen)
ARV,Vorlagen nach §§ 80, 86 BetrVG (BAG)
AR(Vollz),Vorlegungssachen in Strafvollzugssachen (BGH-Strafsachen)
AR(VS),Entscheidungen über Justizverwaltungsakte (BGH-Strafsachen)
AR(VZ),Entscheidungen über Justizverwaltungsakte (BGH-Zivilsachen)
AR (Vollz),Vorlegungssachen in Strafvollzugssachen (BGH-Strafsachen)
AR (VS),Entscheidungen über Justizverwaltungsakte (BGH-Strafsachen)
AR (VZ),Entscheidungen über Justizverwaltungsakte (BGH-Zivilsachen)
ARZ,Allgemeine Register und Gerichtsstandsbestimmungen (BGH-Zivilsachen)
Ausl,Auslieferungssachen, Durchlieferungssachen (GenStA)
AZA,Prozesskostenhilfeanträge außerhalb anhängiger Verfahren (BAG)
Expand All @@ -44,6 +47,7 @@ AZR,Revisionen (BAG)
B,Mahnsachen (AG)
Ba,Arbeitsgerichtliche Mahnsachen (ArbG)
BAusl,Auslieferungssachen (GenBAnw.)
BewÜberwR,Bewährungsüberwachung und Führungsaufsichtsüberwachung (Amtsgericht)
BGns,Gnadensachen (GenBAnw.)
BGs,Einzelne richterliche Anordnungen des Ermittlungsrichters (BGH-Strafsachen)
BJs,Ermittlungsverfahren des Generalbundesanwalts beim Bundesgerichtshof (GenBAnw.)
Expand Down Expand Up @@ -77,6 +81,7 @@ C,Allgemeine Zivilsachen (AG)
C,Rechtssache (EuGH) Beispiel: C-150/12: 150. Rechtssache (Rs.) im Jahr 2012
Ca,Allgemeine Zivilsachen am Arbeitsgericht (ArbG)
Cs,Strafbefehle (AG)
D,Hauptsacheverfahren (OVG)
DG,Dienstgericht für Richter (LG, OLG)
DGH,Dienstgerichtshof für Richter (OLG)
DR,Aufträge an Gerichtsvollzieher (GV)
Expand Down Expand Up @@ -120,6 +125,7 @@ JL,Aufträge der Justizbehörden an Gerichtsvollzieher (GV)
Js,Ermittlungsverfahren (StA)
K,Zwangsversteigerungssachen (AG)
KLs,Zusatz bei Strafsachen vor der Großen Strafkammer (LG)
KN,Bebauungspläne (OVG Schleswig)
KRB,Rechtsbeschwerden in Kartellbußgeldverfahren (BGH)
Ks,Zusatz bei Schwurgerichtssachen (LG)
KVR,Rechtsbeschwerden in Kartellverwaltungssachen (BGH)
Expand All @@ -146,10 +152,10 @@ LwZR,Revisionen, Beschwerden gegen die Nichtzulassung der Revision und Anträge
M,Allgemeine Zwangsvollstreckungssachen (AG)
MR,Musterregister (AG)
Ni,Patentnichtigkeitsverfahren (BPatG)
NotSt(B),Beschwerden gegen Beschlüsse der Oberlandesgerichte in Disziplinarsachen gegen Notare (BGH)
NotSt(Brfg),Berufungen und Anträge auf Zulassung der Berufung gegen Urteile der Oberlandesgerichte in Disziplinarsachen gegen Notare (BGH)
NotSt (B),Beschwerden gegen Beschlüsse der Oberlandesgerichte in Disziplinarsachen gegen Notare (BGH)
NotSt (Brfg),Berufungen und Anträge auf Zulassung der Berufung gegen Urteile der Oberlandesgerichte in Disziplinarsachen gegen Notare (BGH)
NotZ,Verwaltungsstreitverfahren in Notarsachen und Beschwerden gegen Entscheidungen der Oberlandesgerichte (BGH)
NotZ(Brfg),Berufungen und Anträge auf Zulassung der Berufung gegen Entscheidungen der Oberlandesgerichte in Notarsachen (BGH)
NotZ (Brfg),Berufungen und Anträge auf Zulassung der Berufung gegen Entscheidungen der Oberlandesgerichte in Notarsachen (BGH)
Ns,Berufungen in Strafsachen (LG)
O,Allgemeine Zivilsachen 1. Instanz (LG)
ObJs,Strafsachen 1. Instanz (GenStA)
Expand All @@ -158,21 +164,21 @@ OH,Anträge außerhalb anhängiger Verfahren der 1. Instanz (LG)
OJs,Erstinstanzliche Strafsachen (GenStA)
OWi,Bußgeldverfahren (AG)
PatAnwZ,Verwaltungsstreitverfahren in Patentanwaltssachen; Berufungen und Anträge auf Zulassung der Berufung und Beschwerden gegen Entscheidungen der Oberlandesgerichte (BGH)
PatAnwSt(B),Beschwerden gegen die Nichtzulassung der Revision und Beschwerden nach der PatAO (BGH, GenBAnw.)
PatAnwSt(R),Revisionen nach der PatAO (BGH, GenBAnw.)
PatAnwSt (B),Beschwerden gegen die Nichtzulassung der Revision und Beschwerden nach der PatAO (BGH, GenBAnw.)
PatAnwSt (R),Revisionen nach der PatAO (BGH, GenBAnw.)
PBvU,Plenarentscheidungen, § 16 BVerfGG (BVerfG)
PK,Pachtkreditregister (AG)
PLs,Strafprozessliste (Amtsanwalt)
PR,Partnerschaftsregistersachen (AG)
Ps,Berufungen in Privatklagesachen (LG)
Qs,Beschwerden in Straf- und Bußgeldsachen (LG)
RE-Miet,Rechtsentscheide in Mietsachen (OLG)
REMiet,Rechtsentscheide in Mietsachen (OLG)
RiSt,Disziplinarsachen und Anträge auf Einleitung oder Einstellung des förmlichen Disziplinarverfahrens, auf vorläufige Dienstenthebung, auf Einbehaltung von Dienstbezügen sowie auf Aufhebung dieser Maßnahmen gegen Richter und Staatsanwälte im Bundesdienst sowie Mitglieder des Bundesrechnungshofes (BGH)
RiSt(B),Beschwerden gegen die Nichtzulassung der Revision und Beschwerden der Richter, Staatsanwälte und Mitglieder des Bundesrechnungshofes gegen Disziplinarverfügungen (BGH)
RiSt(R),Revisionen in Disziplinarsachen nach dem Deutschen Richtergesetz (BGH)
RiSt (B),Beschwerden gegen die Nichtzulassung der Revision und Beschwerden der Richter, Staatsanwälte und Mitglieder des Bundesrechnungshofes gegen Disziplinarverfügungen (BGH)
RiSt (R),Revisionen in Disziplinarsachen nach dem Deutschen Richtergesetz (BGH)
RiZ,Anträge betreffend Richter im Bundesdienst und Mitglieder des Bundesrechnungshofes auf gerichtliche Entscheidung im Versetzungs- und Prüfungsverfahren sowie auf vorläufige Untersagung der Amtsgeschäfte (BGH)
RiZ(B),Beschwerden gegen die Nichtzulassung der Revision nach dem Deutschen Richtergesetz (BGH)
RiZ(R),Revisionen in Versetzungs- und Prüfungsverfahren nach dem Deutschen Richtergesetz (BGH)
RiZ (B),Beschwerden gegen die Nichtzulassung der Revision nach dem Deutschen Richtergesetz (BGH)
RiZ (R),Revisionen in Versetzungs- und Prüfungsverfahren nach dem Deutschen Richtergesetz (BGH)
RS,Zivilsachen (GenStA)
S,Berufungen in Zivilsachen (LG)
Sa,Berufungssachen (LArbG)
Expand All @@ -184,8 +190,8 @@ Ss (B),Rechtsbeschwerden in Bußgeldsachen (OLG)
Ss (OWi),Rechtsbeschwerden in Bußgeldsachen (OLG)
SSR,Seeschiffsregister (AG)
StB,Beschwerden (BGH-Strafsachen)
StbSt(B),Beschwerden gegen die Nichtzulassung der Revision und Beschwerden in berufsgerichtlichen Verfahren in Steuerberater- und Steuerbevollmächtigtensachen (BGH, GenBAnw.)
StbSt(R),Revisionen in berufsgerichtlichen Verfahren in Steuerberater- und Steuerbevollmächtigtensachen (BGH, GenBAnw.)
StbSt (B),Beschwerden gegen die Nichtzulassung der Revision und Beschwerden in berufsgerichtlichen Verfahren in Steuerberater- und Steuerbevollmächtigtensachen (BGH, GenBAnw.)
StbSt (R),Revisionen in berufsgerichtlichen Verfahren in Steuerberater- und Steuerbevollmächtigtensachen (BGH, GenBAnw.)
StE,Strafsachen vor den Oberlandesgerichten, in denen der Generalbundesanwalt beim Bundesgerichtshof Anklage erhoben hat (GenBAnw.)
StR,Revisionen und Vorlegungssachen (BGH-Strafsachen, GenBAnw.)
StrEs,Register für Entschädigungssachen nach dem StrEG (GenStA)
Expand Down Expand Up @@ -214,16 +220,16 @@ VRJs,Vollstreckungsregister für Jugendgerichtssachen (AG)
VRs,Strafvollstreckungssachen (StA)
Vs,Revisionen in Privatklagesachen (OLG)
W,Beschwerden in Zivilsachen (OLG)
W-(pat),Beschwerden in Patent-, Gebrauchsmuster-, Sortenschutz- und Warenzeichensachen (BPatG)
W (pat),Beschwerden in Patent-, Gebrauchsmuster-, Sortenschutz- und Warenzeichensachen (BPatG)
WF,Sonstige Beschwerden in Familiensachen (OLG)
WpSt(B),Beschwerden gegen die Nichtzulassung der Revision und Beschwerden in berufsgerichtlichen Verfahren in Wirtschaftsprüfersachen (BGH, GenBAnw.)
WpSt(R),Revisionen in berufsgerichtlichen Verfahren in Wirtschaftsprüfersachen (BGH, GenBAnw.)
WpSt (B),Beschwerden gegen die Nichtzulassung der Revision und Beschwerden in berufsgerichtlichen Verfahren in Wirtschaftsprüfersachen (BGH, GenBAnw.)
WpSt (R),Revisionen in berufsgerichtlichen Verfahren in Wirtschaftsprüfersachen (BGH, GenBAnw.)
Ws,Beschwerden in Straf- und Bußgeldsachen (OLG)
Ww,Beschwerden in Landwirtschaftssachen (OLG)
Wx,Weitere Beschwerden in freiwilliger Gerichtsbarkeit (OLG)
ZA,Anträge außerhalb eines in der Rechtsmittelinstanz anhängigen Verfahrens (BGH-Zivilsachen)
ZA-(Pat),Anträge außerhalb anhängiger Patentsachen (BPatG)
ZA (pat),Anträge außerhalb anhängiger Patentsachen (BPatG)
ZB,Beschwerden, Rechtsbeschwerden, weitere Beschwerden, Beschwerden gegen die Nichtzulassung der Revision nach dem BEG (BGH-Zivilsachen)
ZR,Revisionen, Beschwerden gegen die Nichtzulassung der Revision, Anträge auf Zulassung der Sprungrevision, Berufungen in Patentsachen (BGH-Zivilsachen)
ZR(Ü),Erstinstanzliche Klagen auf Entschädigung wegen überlanger Gerichtsverfahren und strafrechtlicher Ermittlungsverfahren (BGH-Zivilsachen)
ZR (Ü),Erstinstanzliche Klagen auf Entschädigung wegen überlanger Gerichtsverfahren und strafrechtlicher Ermittlungsverfahren (BGH-Zivilsachen)
Zs,Beschwerden gegen Amts- und Staatsanwälte (GenStA)
1 change: 0 additions & 1 deletion refex/errors.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

class RefExError(ValueError):
pass

Expand Down
46 changes: 31 additions & 15 deletions refex/extractor.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import logging
import re
from typing import List
from typing import List, Tuple

from refex.errors import RefExError
from refex.extractors.case import CaseRefExtractorMixin
Expand All @@ -10,13 +10,15 @@
logger = logging.getLogger(__name__)


class RefExtractor(DivideAndConquerLawRefExtractorMixin, CaseRefExtractorMixin): # LawRefExtractorMixin
class RefExtractor(
DivideAndConquerLawRefExtractorMixin, CaseRefExtractorMixin
): # LawRefExtractorMixin
"""

Reference marker format: [ref=UUID]...[/ref]

"""

do_law_refs = True
do_case_refs = True

Expand All @@ -30,23 +32,37 @@ def replace_content(self, content, reference_markers):
"""
marker_offset = 0
content_with_markers = content
sorted_markers = sorted(reference_markers, key=lambda k: k.get_start_position()) # order by occurrence in text
sorted_markers = sorted(
reference_markers, key=lambda k: k.get_start_position()
) # order by occurrence in text

for i, marker in enumerate(sorted_markers):
# Check on overlaps
if i > 0 and sorted_markers[i - 1].get_end_position() >= marker.get_start_position():
raise RefExError('Marker overlaps with previous marker: %s' % marker)
elif i + 1 < len(sorted_markers) and sorted_markers[i + 1].get_start_position() <= marker.get_end_position():
raise RefExError('Marker overlaps with next marker: %s' % marker)
if (
i > 0
and sorted_markers[i - 1].get_end_position()
>= marker.get_start_position()
):
raise RefExError("Marker overlaps with previous marker: %s" % marker)
elif (
i + 1 < len(sorted_markers)
and sorted_markers[i + 1].get_start_position()
<= marker.get_end_position()
):
raise RefExError("Marker overlaps with next marker: %s" % marker)
else:
# Everything fine, replace content
content_with_markers, marker_offset = marker.replace_content(content_with_markers, marker_offset)
content_with_markers, marker_offset = marker.replace_content(
content_with_markers, marker_offset
)

return content_with_markers

def extract(self, content_html: str, is_html: bool=False):
def extract(
self, content_html: str, is_html: bool = False
) -> Tuple[str, List[RefMarker]]:

reference_markers = [] # type: List[RefMarker]
reference_markers: List[RefMarker] = []

# Remove all reference markers (HTML or MarkDown)
content = self.remove_markers(content_html)
Expand All @@ -55,19 +71,19 @@ def extract(self, content_html: str, is_html: bool=False):
markers = self.extract_law_ref_markers(content, is_html)
reference_markers.extend(markers)

logger.debug('Extracted law ref markers: %i' % len(markers))
logger.debug("Extracted law ref markers: %i" % len(markers))

if self.do_case_refs:
markers = self.extract_case_ref_markers(content)
reference_markers.extend(markers)

logger.debug('Extracted case ref markers: %i' % len(markers))
logger.debug("Extracted case ref markers: %i" % len(markers))

# Add markers to content
content_with_markers = self.replace_content(content, reference_markers)

return content_with_markers, reference_markers

@staticmethod
def remove_markers(value):
return re.sub(r'\[ref=([-a-z0-9]+)\](.*?)\[\/ref\]', r'\2', value)
def remove_markers(value: str) -> str:
return re.sub(r"\[ref=([-a-z0-9]+)\](.*?)\[\/ref\]", r"\2", value)
Loading