Module shiratsu_naming::naming::tosec [−][src]
Parsers for the TOSEC naming convention.
Defined by the TOSEC Naming Convention (2015-03-23), with support for violations present in TOSEC 2021-02-14.
The TOSEC parser will parse invalid file names beginning with ZZZ-UNK-
, while emitting
warnings that indicate they are violations.
The TOSEC parser API also includes methods to help repair those names to conform with the TOSEC naming convention.
Usage
use shiratsu_naming::naming::tosec::TOSECName; use shiratsu_naming::naming::{NameError, TokenizedName}; fn parse() -> Result<(), NameError> { let name = TOSECName::try_parse("Escape from the Mindmaster (1982)(Starpath)(PAL)(Part 3 of 4)[Supercharger Cassette]")?; assert_eq!(Some("Escape from the Mindmaster"), name.title()); Ok(()) }
TOSEC names implement a into_strict
API that will try to make non-conforming names
into TNC conforming names.
use shiratsu_naming::naming::tosec::TOSECName; use shiratsu_naming::naming::{NameError, TokenizedName}; fn repair() -> Result<(), NameError> { let name = TOSECName::try_parse("ZZZ-UNK-Clicks! (test) by Domin, Matthias (2001) (PD)")?; assert_eq!(Some("Clicks! (test)"), name.title()); let repaired = name.into_strict(); assert_eq!("Clicks! (test) (Domin, Mathias)(2001)(PD)", &repaired.to_string()); Ok(()) }
Structs
TOSECMultiSetName | A TOSEC format file name representing a multi-image set. |
TOSECName | A TOSEC format file name. |
Enums
TOSECLanguage | A language flag parsed from a TOSEC Naming Convention file name. |
TOSECToken | A token constituent within a |
TOSECWarn | A token that represents a warning or inconsistency in a TOSEC Naming Convention file name. |