X-Git-Url: https://gitweb.michael.orlitzky.com/?p=dead%2Fhtsn-import.git;a=blobdiff_plain;f=src%2FTSN%2FXML%2FAutoRacingResults.hs;h=9acbe01f258e6a69f5074cc127c86e05afbe50ca;hp=40e199f5464e6ea6f84e655925ebe8f10089d6eb;hb=56975146edfa660670d29531b6a368ba29fe384c;hpb=1f04fd8786215141dad63099dc6f48d17b7ac96c diff --git a/src/TSN/XML/AutoRacingResults.hs b/src/TSN/XML/AutoRacingResults.hs index 40e199f..9acbe01 100644 --- a/src/TSN/XML/AutoRacingResults.hs +++ b/src/TSN/XML/AutoRacingResults.hs @@ -61,7 +61,7 @@ import Text.XML.HXT.Core ( xpWrap ) -- Local imports. -import Generics ( Generic(..), to_tuple ) +import Generics ( Generic(..), prepend, to_tuple ) import TSN.Codegen ( tsn_codegen_config ) import TSN.DbImport ( DbImport(..), ImportResult(..), run_dbmigrate ) import TSN.Picklers ( @@ -193,7 +193,11 @@ data AutoRacingResultsListing = db_dnf :: Maybe Bool, db_nc :: Maybe Bool, db_earnings :: Maybe Int } + deriving ( GHC.Generic ) +-- | For 'Generics.prepend'. +-- +instance Generic AutoRacingResultsListing -- | XML representation of a \ contained within a -- \. @@ -238,22 +242,7 @@ instance FromXmlFk AutoRacingResultsListingXml where -- 'AutoRacingResultsListing', we add the foreign key and copy -- everything else verbatim. -- - from_xml_fk fk AutoRacingResultsListingXml{..} = - AutoRacingResultsListing { - db_auto_racing_results_id = fk, - db_finish_position = xml_finish_position, - db_starting_position = xml_starting_position, - db_car_number = xml_car_number, - db_driver_id = xml_driver_id, - db_driver = xml_driver, - db_car_make = xml_car_make, - db_points = xml_points, - db_laps_completed = xml_laps_completed, - db_laps_leading = xml_laps_leading, - db_status = xml_status, - db_dnf = xml_dnf, - db_nc = xml_nc, - db_earnings = xml_earnings } + from_xml_fk = prepend -- | This allows us to insert the XML representation @@ -351,7 +340,7 @@ instance Child AutoRacingResultsRaceInformationXml where instance FromXmlFk AutoRacingResultsRaceInformationXml where -- | To convert an 'AutoRacingResultsRaceInformationXml' to an -- 'AutoRacingResultsRaceInformartion', we add the foreign key and - -- copy everything else verbatim. + -- massage the 'MostLapsLeading' embedded type, -- from_xml_fk fk AutoRacingResultsRaceInformationXml{..} = AutoRacingResultsRaceInformation {