Electrification.collect_ohns_codes

Electrification.collect_ohns_codes(confirmation_required=True, verbose=False, raise_error=False)[source]

Collects codes for overhead line electrification neutral sections (OHNS) from the source web page.

Parameters:
  • confirmation_required (bool) – Whether user confirmation is required; if confirmation_required=True (default), prompts the user for confirmation before proceeding with data collection.

  • verbose (bool | int) – Whether to print relevant information to the console; defaults to False.

  • raise_error (bool) – Whether to raise the provided exception; if raise_error=False (default), the error will be suppressed.

Returns:

A dictionary of OHNS codes, or None if not applicable.

Return type:

dict | None

Examples:

>>> from pyrcs.line_data import Electrification  # from pyrcs import Electrification
>>> elec = Electrification()
>>> ohl_ns_codes = elec.collect_ohns_codes(verbose=True)
To collect section codes for OLE installations: National network neutral sections
? [No]|Yes: yes
Collecting the data ... Done.
>>> type(ohl_ns_codes)
dict
>>> list(ohl_ns_codes.keys())
['National network neutral sections', 'Last updated date']
>>> elec.KEY_TO_OHNS
'National network neutral sections'
>>> ohl_ns_codes_dat = ohl_ns_codes[elec.KEY_TO_OHNS]
>>> type(ohl_ns_codes_dat)
dict
>>> list(ohl_ns_codes_dat.keys())
['Codes', 'Notes']
>>> ohl_ns_codes_dat['Codes'].head()
    ELR         OHNS Name  Mileage    Tracks Dates
0  ARG1        Rutherglen  0m 03ch
1  ARG2   Finnieston East  4m 23ch      Down
2  ARG2   Finnieston West  4m 57ch        Up
3  AYR1  Shields Junction  0m 68ch    Up Ayr
4  AYR1  Shields Junction  0m 69ch  Down Ayr