Skip to content

Commit 19528ac

Browse files
committed
support for parsing schemes without advisor info
1 parent 7e7ee3f commit 19528ac

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

casparser/cli.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,10 @@ def print_summary(parsed_data: CASData, output_filename=None, include_zero_folio
117117

118118
if not (is_summary or folio_header_added):
119119
console_rows.append(
120-
{k: current_amc if k == "scheme" else "" for k in console_header.keys()}
120+
{
121+
k: f"[bold]{current_amc}[/]" if k == "scheme" else ""
122+
for k in console_header.keys()
123+
}
121124
)
122125
folio_header_added = True
123126

casparser/process/cas_detailed.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ def process_detailed_text(text):
176176
raise CASParseError("Layout Error! Scheme found before folio entry.")
177177
scheme = re.sub(r"\(formerly.+?\)", "", m.group("name"), flags=re.I | re.DOTALL).strip()
178178
scheme = re.sub(r"\s+", " ", scheme).strip()
179+
scheme = re.sub(r"\W+$", "", scheme).strip()
179180
if curr_scheme_data is None or curr_scheme_data.scheme != scheme:
180181
if curr_scheme_data:
181182
folios[current_folio].schemes.append(curr_scheme_data)

casparser/process/regex.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
)
2424

2525
SCHEME_RE = (
26-
r"(?P<code>[\s\w]+-*[gdp]?)-\s*\d*\s*(?P<name>.+?)\(.+?\s+Registrar\s*:\s*(?P<rta>.*)\s*$"
26+
r"(?P<code>[\s\w]+-*[gdp]?)-\s*\d*\s*(?P<name>.+?)(?:\t\t|\(|ISIN).*?"
27+
r"Registrar\s*:\s*(?P<rta>.*)\s*$"
2728
)
2829
SCHEME_KV_RE = r"""(\w+)\s*:\s*(\w+)"""
2930

0 commit comments

Comments
 (0)