From: Michael Orlitzky Date: Thu, 6 Nov 2014 20:47:41 +0000 (-0500) Subject: Create a stub for TSN.XML.AutoRacingDriverList. X-Git-Tag: 0.2.1~66 X-Git-Url: http://gitweb.michael.orlitzky.com/?p=dead%2Fhtsn-import.git;a=commitdiff_plain;h=e88453d996ef8c94d581122309669c5c2aa87c9d Create a stub for TSN.XML.AutoRacingDriverList. --- diff --git a/schema/AutoRacingDriverList.dtd b/schema/AutoRacingDriverList.dtd new file mode 100644 index 0000000..74696c0 --- /dev/null +++ b/schema/AutoRacingDriverList.dtd @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/schemagen/AutoRacingDriverList/21161328.xml b/schemagen/AutoRacingDriverList/21161328.xml new file mode 100644 index 0000000..01c9cbb --- /dev/null +++ b/schemagen/AutoRacingDriverList/21161328.xml @@ -0,0 +1 @@ + 21161328 ASB%BUSCH-DRIVERS Statistics NASCAR-B NASCAR Nationwide Drivers 1088 Kelly Admiraal 0 4/27/1995 Slave Lake, Canada Canadian 29 Toyota 986 Nur Ali 0 10/12/1974 Karachi, Pakistan Pakistani 75 Ford 1348 Tim Andrews 6`5 150 1/15/1983 Concord, NC American 92 Ford 1041 Dakoda Armstrong 0 7/16/1991 New Castle, IN American 43 Ford 1352 Tim Bainey Jr. 0 4/24/1978 Philipsburg, PA American 24 Chevrolet 189 Stanton Barrett 6`1 185 12/1/1972 Bishop, CA American 15 Ford 1343 Trevor Bayne 5`11" 170 2/19/1991 Knoxville, TN American 6 Ford 1046 Matthew Bell 0 8/31/1985 Los Altos, CA American 39 Ford 1047 Tanner Berryhill 0 11/29/1993 Bixby, OK American 17 Dodge 989 John Blankenship 0 7/3/1981 Williamson, WV American 44 Chevrolet 99 Mike Bliss 6`1 180 4/5/1965 Milwaukie, OR American 19 Toyota 1011 Juan Carlos Blum 0 6/7/1994 Guadalajra, Mexico Mexican 23 Ford 1495 Chad Boat 0 4/30/1992 Phoenix, AZ American 84 Chevrolet 100 Todd Bodine 5`7 190 2/27/1964 Chemung, NY American 55 Chevrolet 1388 Jason Bowles 0 11/4/1982 Ontario, CA American 46 Chevrolet 1292 James Buescher 5`8 145 3/26/1990 Plano, TX American 99 Toyota 653 Chris Buescher 0 10/29/1992 Prosper, TX American 60 Ford 1346 Brett Butler 0 4/10/1985 Lilburn, GA American 24 Toyota 1247 Ken Butler 5`9 170 5/2/1982 Lilburn, GA American 24 Toyota 652 Sean Caisse 0 1/30/1986 Pelham, NH American 39 Ford 415 Matt Carter 0 5/13/1981 Denver, NC American 13 Toyota 1256 Landon Cassill 5`7 145 7/7/1989 Fairfax, IA American 01 Chevrolet 350 Jeremy Clements 5`6 130 1/16/1985 Spartanburg, SC American 51 Chevrolet 1498 Cale Conley 0 5/13/1992 Vienna, WV American 33 Chevrolet 1056 Tim Connolly 0 1/15/1961 Endicott, NY American 24 Chevrolet 102 Carlos Contreras 5`10 175 6/8/1970 Mexico City, Mexico Mexican 23 Chevrolet 530 Chris Cook 0 12/23/1971 Phoenix, AZ American 15 Chevrolet 1458 Amber Cope 0 8/18/1983 Puyallup, WA American 24 Chevrolet 1459 Angela Cope 0 8/18/1983 Puyallup, WA American 00 Toyota 188 Derrike Cope 5`7 180 11/3/1958 Spanaway, WA American 70 Chevrolet 1230 Tim Cowen 0 8/18/1958 Ashland, OH American 86 Ford 987 Alx Danielsson 0 4/1/1981 Ostersund, Sweden Swedish 73 Chevrolet 475 Erik Darnell 6`0 145 12/2/1982 Beach Park, FL American 40 Chevrolet 1320 Marc Davis 5`8 185 6/23/1990 Silver Spring, MD American 03 Chevrolet 1385 Matt DiBenedetto 0 7/27/1991 Grass Valley, CA American 40 Chevrolet 1376 Jamie Dick 6`2" 195 2/5/1989 El Paso, TX American 55 Chevrolet 1061 Ty Dillon 0 2/27/1992 Lexington, NC American 3 Chevrolet 976 Noel Dowler 0 2/17/1993 Sherwood Park, Canada Canadian 41 Ford 1067 Maryeve Dufault 0 6/21/1982 Sorel, Canada Canadian 79 Ford 1063 T.J. Duke 0 9/21/1993 Southwest Ranches, FL American 79 Ford 1374 Jean Francois Dumoulin 0 6/5/1976 Trois-Rivieres, Canada Canadian 03 Chevrolet 995 Louis Philippe Dumoulin 0 2/21/1979 Trois-Rivieres, Canada Canadian 08 Ford 1353 Jeffrey Earnhardt 0 6/22/1989 Mooresville, NC American 4 Chevrolet 1251 Danny Efland 0 10/4/1988 Irmo, SC American 50 Chevrolet 960 Chase Elliott 0 11/28/1995 Dawsonville, GA American 9 Chevrolet 996 Ryan Ellis 0 11/29/1989 Torrance, CA American 46 Chevrolet 1485 Kyle Fowler 0 6/27/1992 Smyrna, GA American 86 Chevrolet 1068 Matt Frahm 0 3/16/1990 North Salem, NH American 42 Chevrolet 944 Anthony Gandon 0 1/1/1979 Bayonne, France French 23 Ford 1069 Joey Gase 0 2/8/1993 Cedar Rapids, IA American 52 Toyota 128 Brendan Gaughan 5`9 180 7/10/1975 Las Vegas, NV American 62 Chevrolet 260 Bobby Gerhart 5`10 185 7/21/1958 Lebanon, PA American 85 Chevrolet 1071 Ryan Gifford 0 3/10/1989 Winchester, VA American 98 Ford 1250 Benny Gordon 0 11/29/1970 DuBois, PA American 24 Toyota 24 Jeff Green 5`8 190 9/6/1962 Owensboro, KY American 10 Toyota 52 David Green 5`11 165 9/20/1967 Owensboro, KY American 00 Toyota 1412 Clay Greenfield 0 6/3/1984 Clarksville, TN American 67 Dodge 1422 Michael Guerity 0 10/21/1977 Rochester Hills, MI American 71 Chevrolet 170 Mike Harmon 5`9 200 1/24/1958 Birmingport, AL American 74 Dodge 1349 Daryl Harr 6`1 180 5/5/1982 St. Albert, Alberta, Canada Canadian 87 Chevrolet 1451 Paulie Harraka 0 9/15/1989 Fair Lawn, NJ American 79 Ford 1365 Richard Harriman 0 9/29/1987 Snohomish, WA American 23 Ford 1076 Doug Harrington 0 1/1/1970 Kemah, TX American 41 Ford 1442 Drew Herring 0 5/5/1987 Benson, NC American 20 Toyota 78 Sam Hornish Jr. 5`11 165 7/2/1979 Defiance, OH American 54 Toyota 401 Shelby Howard 5`8 160 7/25/1985 Greenwood, IN American 70 Chevrolet 1351 John Jackson 0 2/13/1964 Ellenton, FL American 72 Toyota 1443 Billy Johnson 6`0" 160 10/10/1986 Torrance, CA American 16 Ford 1427 Kyle Kelley 0 6/28/1985 Huntington Beach, CA American 87 Chevrolet 1428 Owen Kelly 0 3/12/1977 Tasmania, Australia Australian 54 Toyota 1345 Mikey Kile 0 2/6/1983 Westlake, LA American 30 Chevrolet 1452 Will Kimmel 0 5/11/1988 Sellersburg, IN American 44 Toyota 1387 Blake Koch 0 8/7/1975 West Palm Beach, FL American 10 Toyota 1493 Dylan Kwasniewski 0 5/31/1995 Las Vegas, NV American 31 Chevrolet 551 Scott Lagasse Jr. 6`1 190 1/31/1981 St. Augustine, FL American 29 Toyota 938 Corey LaJoie 0 9/25/1991 Concord, FL American 9 Ford 1368 Chris Lawson 0 11/6/1985 Troutman, NC American 79 Ford 112 Kevin Lepage 5`10 187 6/26/1962 Shelbourne, VT American 74 Dodge 51 Carl Long 5`10 175 9/20/1967 Roxboro, NC American 93 Dodge 1439 Johanna Long 0 5/26/1992 Pensacola, FL American 70 Chevrolet 1358 Hal Martin 5`10" 175 12/29/1985 Galliano, LA American 44 Toyota 684 Luis Martinez Jr. 0 2/15/1990 Baldwin Park, CA American 39 Chevrolet 1366 Tommy Joe Martins 0 12/7/1986 Como, MS American 76 Ford 1496 Ruben Garcia Mateos 0 11/21/1995 Mexico City, Mexico Mexican 24 Toyota 422 Eric McClure 5`10 175 12/11/1978 Chilhowie, VA American 14 Toyota 1404 Chase Miller 0 1/28/1987 Canton, GA American 15 Chevrolet 316 Jamie Mosley 0 11/29/1970 DuBois, PA American 24 Chevrolet 35 Joe Nemechek 5`9 185 9/26/1963 Lakeland, FL American 87 Toyota 192 Donnie Neuenberger 6`3 197 8/10/1962 Brandywine, MD American 23 Ford 1296 Kevin OConnell 0 4/29/1967 Newport Beach, CA American 74 Chevrolet 1026 Johnny OConnell 0 7/24/1962 Poughkeepsie, NY American 5 Chevrolet 251 Max Papis 6`0 170 10/3/1969 Como, Italy Italian 33 Chevrolet 1476 Travis Pastrana 6`2 200 10/8/1983 Annapolis, MD 60 Ford 1220 Antonio Perez 6`0 165 3/20/1986 Guadalajara, Mexico Mexican 35 Chevrolet 1282 Nelson Piquet Jr. 5`8 155 7/25/1985 Brasilia, Brazil Brazilian 30 Chevrolet 1104 Alex Popow 0 11/9/1975 Lecheria, Venezuela Venezuelian 19 Toyota 615 Ryan Preece 0 10/25/1990 Berlin, CT American 8 Chevrolet 972 Bill Prietzel 0 9/8/1952 Plymouth, WI American 23 Chevrolet 53 Tony Raines 6`2 210 4/14/1964 LaPorte, IN American 70 Toyota 543 Andrew Ranger 5`9" 135 11/20/1986 Roxton Pond, Canada Canadian 53 Dodge 1084 Josh Reaume 0 10/11/1990 Redlands, CA American 23 Chevrolet 940 Ryan Reed 0 8/12/1993 Bakersfield, CA American 16 Ford 1029 Harrison Rhodes 0 7/15/1993 High Point, NC 24 Toyota 608 Josh Richards 0 3/22/1988 Shinnston, WV American 39 Ford 597 Robert Richardson Jr. 0 4/4/1982 McKinney, TX American 23 Chevrolet 1107 Casey Roderick 0 8/8/1992 Lawrenceville, GA 24 Toyota 656 Brett Rowe 0 5/6/1967 Barboursville, WV American 55 Chevrolet 1108 Martin Roy 0 2/1/1974 Napierville, Canada Canadian 90 Chevrolet 39 Elliott Sadler 6`2 195 4/30/1975 Emporia, VA American 11 Toyota 1240 Bobby Santos 0 10/3/1985 Franklin, MA American 36 Chevrolet 1111 Travis Sauter 0 8/1/1982 Necedah, WI American 87 Toyota 477 Tim Schendel 0 5/10/1979 Sparta, WI American 87 Chevrolet 1269 Brian Scott 6`3" 190 1/12/1988 Boise, ID American 2 Chevrolet 54 Morgan Shepherd 5`9 170 10/21/1941 Conover, NC American 89 Chevrolet 1116 Fain Skinner 0 10/10/1970 Live Oak, FL American 41 Ford 207 Regan Smith 5`9 160 9/23/1983 Cato, NY American 7 Chevrolet 548 Dexter Stacey 0 11/9/1992 Kahnawake, QB, Canada Canadian 92 Ford 140 David Starr 5`9 150 10/11/1967 Houston, TX American 44 Toyota 1510 Daniel Suarez 0 1/7/1992 Monterrey, Mexico Mexican 20 Toyota 1391 Brad Sweet 0 12/31/1985 Grass Valley, CA American 5 Chevrolet 1433 Kevin Swindell 0 2/21/1989 Germantown, TN American 98 Ford 177 Brad Teague 5`10" 170 12/9/1947 Buladean, NC American 70 Toyota 1511 Austin Theriault 0 1/23/1994 Caribou, ME American 5 Chevrolet 1120 Derek Thorn 0 4/25/1986 Lakeport, CA American 52 Toyota 56 Mike Wallace 6`0 220 3/10/1959 St.Louis, MO American 93 Dodge 44 Kenny Wallace 5`11 180 8/23/1963 St.Louis, MO American 29 Toyota 599 Steve Wallace 6-2 190 8/18/1987 Mooresville, NC American 66 Ford 1289 Chrissy Wallace 5`4 125 5/15/1988 St. Louis, MO American 0 Chevrolet 234 Jason White 0 6/5/1979 Richmond, VA American 24 Toyota 1383 Derek White 0 12/9/1970 Kahnawake, QB, Canada Canadian 13 Toyota 439 J.J. Yeley 5`8 160 10/5/1976 Phoenix, AZ American 28 Dodge 628 John Young 0 10/19/1968 Discovery Bay, CA American 26 Dodge May 24, 2014, at 12:52 PM ET \ No newline at end of file diff --git a/src/Main.hs b/src/Main.hs index 0682f8e..e7f9e9c 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -46,6 +46,9 @@ import Network.Services.TSN.Report ( report_error ) import TSN.DbImport ( DbImport(..), ImportResult(..) ) import TSN.Parse ( format_parse_error ) +import qualified TSN.XML.AutoRacingDriverList as AutoRacingDriverList ( + dtd, + pickle_message ) import qualified TSN.XML.AutoRacingResults as AutoRacingResults ( dtd, pickle_message ) @@ -195,6 +198,9 @@ import_file cfg path = do (unpickleDoc f xml) importer + | dtd == AutoRacingDriverList.dtd = + go AutoRacingDriverList.pickle_message + | dtd == AutoRacingResults.dtd = go AutoRacingResults.pickle_message diff --git a/src/TSN/XML/AutoRacingDriverList.hs b/src/TSN/XML/AutoRacingDriverList.hs new file mode 100644 index 0000000..d2c8358 --- /dev/null +++ b/src/TSN/XML/AutoRacingDriverList.hs @@ -0,0 +1,169 @@ +{-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE TypeFamilies #-} + + +-- | Parse TSN XML for the DTD \"AutoRacingDriverList.dtd\". Each +-- \ element contains a bunch of \s, each of +-- which describes a driver/car. +-- +module TSN.XML.AutoRacingDriverList ( + dtd, + pickle_message ) +where + +-- System imports. +import Data.Time ( UTCTime(..) ) +import Database.Groundhog.Core ( DefaultKey ) +import Text.XML.HXT.Core ( PU ) + +-- Local imports. +import TSN.DbImport ( DbImport(..) ) +import TSN.XmlImport ( XmlImport(..), XmlImportFk(..) ) +import Xml ( + Child(..), + FromXml(..), + FromXmlFk(..), + ToDb(..) ) + +-- | The DTD to which this module corresponds. Used to invoke dbimport. +-- +dtd :: String +dtd = "AutoRacingDriverList.dtd" + +-- +-- DB/XML data types +-- + +-- * AutoRacingDriverList/Message + +-- | Database representation of a 'Message'. Comparatively, it lacks +-- only the listings. +-- +data AutoRacingDriverList = + AutoRacingDriverList { + db_xml_file_id :: Int, + db_heading :: String, + db_category :: String, + db_sport :: String, + db_title :: String, + db_time_stamp :: UTCTime } + deriving (Eq, Show) + + + +-- | XML Representation of an 'AutoRacingDriverList'. It has the same +-- fields, but in addition contains the 'xml_listings'. +-- +data Message = + Message { + xml_xml_file_id :: Int, + xml_heading :: String, + xml_category :: String, + xml_sport :: String, + xml_title :: String, + xml_listings :: [AutoRacingDriverListListingXml], + xml_time_stamp :: UTCTime } + deriving (Eq, Show) + + +instance ToDb Message where + -- | The database analogue of a 'Message' is a 'AutoRacingDriverList'. + -- + type Db Message = AutoRacingDriverList + + +-- | The 'FromXml' instance for 'Message' is required for the +-- 'XmlImport' instance. +-- +instance FromXml Message where + -- | To convert a 'Message' to an 'AutoRacingDriverList', we just drop + -- the 'xml_listings'. + -- + from_xml Message{..} = + AutoRacingDriverList { + db_xml_file_id = xml_xml_file_id, + db_heading = xml_heading, + db_category = xml_category, + db_sport = xml_sport, + db_title = xml_title, + db_time_stamp = xml_time_stamp } + + +-- | This allows us to insert the XML representation 'Message' +-- directly. +-- +instance XmlImport Message + + +-- * AutoRacingDriverListListing / AutoRacingDriverListListingXml + +-- | Database representation of a \ contained within a +-- \. +-- +data AutoRacingDriverListListing = + AutoRacingDriverListListing { + db_auto_racing_driver_list_id :: DefaultKey AutoRacingDriverList, + db_driver_id :: Int, + db_driver :: String, + db_height :: Maybe String, + db_weight :: Int, + db_date_of_birth :: UTCTime, + db_hometown :: String, + db_nationality :: String, + db_car_number :: Int, + db_car :: String } + +-- | XML representation of a \ contained within a +-- \. +-- +data AutoRacingDriverListListingXml = + AutoRacingDriverListListingXml { + xml_driver_id :: Int, + xml_driver :: String, + xml_height :: Maybe String, + xml_weight :: Int, + xml_date_of_birth :: UTCTime, + xml_hometown :: String, + xml_nationality :: String, + xml_car_number :: Int, + xml_car :: String } + deriving (Eq, Show) + + +instance ToDb AutoRacingDriverListListingXml where + -- | The database analogue of an 'AutoRacingDriverListListingXml' is + -- an 'AutoRacingDriverListListing'. + -- + type Db AutoRacingDriverListListingXml = AutoRacingDriverListListing + + +instance Child AutoRacingDriverListListingXml where + -- | Each 'AutoRacingDriverListListingXml' is contained in (i.e. has a + -- foreign key to) a 'AutoRacingDriverList'. + -- + type Parent AutoRacingDriverListListingXml = AutoRacingDriverList + + +instance FromXmlFk AutoRacingDriverListListingXml where + -- | To convert an 'AutoRacingDriverListListingXml' to an + -- 'AutoRacingDriverListListing', we add the foreign key and copy + -- everything else verbatim. + -- + from_xml_fk fk AutoRacingDriverListListingXml{..} = + AutoRacingDriverListListing { + db_auto_racing_driver_list_id = fk, + db_driver_id = xml_driver_id, + db_driver = xml_driver, + db_height = xml_height, + db_weight = xml_weight, + db_date_of_birth = xml_date_of_birth, + db_hometown = xml_hometown, + db_nationality = xml_nationality, + db_car_number = xml_car_number, + db_car = xml_car } + + +-- | This allows us to insert the XML representation +-- 'AutoRacingDriverListListingXml' directly. +-- +instance XmlImportFk AutoRacingDriverListListingXml diff --git a/test/xml/AutoRacingDriverList.dtd b/test/xml/AutoRacingDriverList.dtd new file mode 100644 index 0000000..74696c0 --- /dev/null +++ b/test/xml/AutoRacingDriverList.dtd @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/test/xml/AutoRacingDriverList.xml b/test/xml/AutoRacingDriverList.xml new file mode 100644 index 0000000..01c9cbb --- /dev/null +++ b/test/xml/AutoRacingDriverList.xml @@ -0,0 +1 @@ + 21161328 ASB%BUSCH-DRIVERS Statistics NASCAR-B NASCAR Nationwide Drivers 1088 Kelly Admiraal 0 4/27/1995 Slave Lake, Canada Canadian 29 Toyota 986 Nur Ali 0 10/12/1974 Karachi, Pakistan Pakistani 75 Ford 1348 Tim Andrews 6`5 150 1/15/1983 Concord, NC American 92 Ford 1041 Dakoda Armstrong 0 7/16/1991 New Castle, IN American 43 Ford 1352 Tim Bainey Jr. 0 4/24/1978 Philipsburg, PA American 24 Chevrolet 189 Stanton Barrett 6`1 185 12/1/1972 Bishop, CA American 15 Ford 1343 Trevor Bayne 5`11" 170 2/19/1991 Knoxville, TN American 6 Ford 1046 Matthew Bell 0 8/31/1985 Los Altos, CA American 39 Ford 1047 Tanner Berryhill 0 11/29/1993 Bixby, OK American 17 Dodge 989 John Blankenship 0 7/3/1981 Williamson, WV American 44 Chevrolet 99 Mike Bliss 6`1 180 4/5/1965 Milwaukie, OR American 19 Toyota 1011 Juan Carlos Blum 0 6/7/1994 Guadalajra, Mexico Mexican 23 Ford 1495 Chad Boat 0 4/30/1992 Phoenix, AZ American 84 Chevrolet 100 Todd Bodine 5`7 190 2/27/1964 Chemung, NY American 55 Chevrolet 1388 Jason Bowles 0 11/4/1982 Ontario, CA American 46 Chevrolet 1292 James Buescher 5`8 145 3/26/1990 Plano, TX American 99 Toyota 653 Chris Buescher 0 10/29/1992 Prosper, TX American 60 Ford 1346 Brett Butler 0 4/10/1985 Lilburn, GA American 24 Toyota 1247 Ken Butler 5`9 170 5/2/1982 Lilburn, GA American 24 Toyota 652 Sean Caisse 0 1/30/1986 Pelham, NH American 39 Ford 415 Matt Carter 0 5/13/1981 Denver, NC American 13 Toyota 1256 Landon Cassill 5`7 145 7/7/1989 Fairfax, IA American 01 Chevrolet 350 Jeremy Clements 5`6 130 1/16/1985 Spartanburg, SC American 51 Chevrolet 1498 Cale Conley 0 5/13/1992 Vienna, WV American 33 Chevrolet 1056 Tim Connolly 0 1/15/1961 Endicott, NY American 24 Chevrolet 102 Carlos Contreras 5`10 175 6/8/1970 Mexico City, Mexico Mexican 23 Chevrolet 530 Chris Cook 0 12/23/1971 Phoenix, AZ American 15 Chevrolet 1458 Amber Cope 0 8/18/1983 Puyallup, WA American 24 Chevrolet 1459 Angela Cope 0 8/18/1983 Puyallup, WA American 00 Toyota 188 Derrike Cope 5`7 180 11/3/1958 Spanaway, WA American 70 Chevrolet 1230 Tim Cowen 0 8/18/1958 Ashland, OH American 86 Ford 987 Alx Danielsson 0 4/1/1981 Ostersund, Sweden Swedish 73 Chevrolet 475 Erik Darnell 6`0 145 12/2/1982 Beach Park, FL American 40 Chevrolet 1320 Marc Davis 5`8 185 6/23/1990 Silver Spring, MD American 03 Chevrolet 1385 Matt DiBenedetto 0 7/27/1991 Grass Valley, CA American 40 Chevrolet 1376 Jamie Dick 6`2" 195 2/5/1989 El Paso, TX American 55 Chevrolet 1061 Ty Dillon 0 2/27/1992 Lexington, NC American 3 Chevrolet 976 Noel Dowler 0 2/17/1993 Sherwood Park, Canada Canadian 41 Ford 1067 Maryeve Dufault 0 6/21/1982 Sorel, Canada Canadian 79 Ford 1063 T.J. Duke 0 9/21/1993 Southwest Ranches, FL American 79 Ford 1374 Jean Francois Dumoulin 0 6/5/1976 Trois-Rivieres, Canada Canadian 03 Chevrolet 995 Louis Philippe Dumoulin 0 2/21/1979 Trois-Rivieres, Canada Canadian 08 Ford 1353 Jeffrey Earnhardt 0 6/22/1989 Mooresville, NC American 4 Chevrolet 1251 Danny Efland 0 10/4/1988 Irmo, SC American 50 Chevrolet 960 Chase Elliott 0 11/28/1995 Dawsonville, GA American 9 Chevrolet 996 Ryan Ellis 0 11/29/1989 Torrance, CA American 46 Chevrolet 1485 Kyle Fowler 0 6/27/1992 Smyrna, GA American 86 Chevrolet 1068 Matt Frahm 0 3/16/1990 North Salem, NH American 42 Chevrolet 944 Anthony Gandon 0 1/1/1979 Bayonne, France French 23 Ford 1069 Joey Gase 0 2/8/1993 Cedar Rapids, IA American 52 Toyota 128 Brendan Gaughan 5`9 180 7/10/1975 Las Vegas, NV American 62 Chevrolet 260 Bobby Gerhart 5`10 185 7/21/1958 Lebanon, PA American 85 Chevrolet 1071 Ryan Gifford 0 3/10/1989 Winchester, VA American 98 Ford 1250 Benny Gordon 0 11/29/1970 DuBois, PA American 24 Toyota 24 Jeff Green 5`8 190 9/6/1962 Owensboro, KY American 10 Toyota 52 David Green 5`11 165 9/20/1967 Owensboro, KY American 00 Toyota 1412 Clay Greenfield 0 6/3/1984 Clarksville, TN American 67 Dodge 1422 Michael Guerity 0 10/21/1977 Rochester Hills, MI American 71 Chevrolet 170 Mike Harmon 5`9 200 1/24/1958 Birmingport, AL American 74 Dodge 1349 Daryl Harr 6`1 180 5/5/1982 St. Albert, Alberta, Canada Canadian 87 Chevrolet 1451 Paulie Harraka 0 9/15/1989 Fair Lawn, NJ American 79 Ford 1365 Richard Harriman 0 9/29/1987 Snohomish, WA American 23 Ford 1076 Doug Harrington 0 1/1/1970 Kemah, TX American 41 Ford 1442 Drew Herring 0 5/5/1987 Benson, NC American 20 Toyota 78 Sam Hornish Jr. 5`11 165 7/2/1979 Defiance, OH American 54 Toyota 401 Shelby Howard 5`8 160 7/25/1985 Greenwood, IN American 70 Chevrolet 1351 John Jackson 0 2/13/1964 Ellenton, FL American 72 Toyota 1443 Billy Johnson 6`0" 160 10/10/1986 Torrance, CA American 16 Ford 1427 Kyle Kelley 0 6/28/1985 Huntington Beach, CA American 87 Chevrolet 1428 Owen Kelly 0 3/12/1977 Tasmania, Australia Australian 54 Toyota 1345 Mikey Kile 0 2/6/1983 Westlake, LA American 30 Chevrolet 1452 Will Kimmel 0 5/11/1988 Sellersburg, IN American 44 Toyota 1387 Blake Koch 0 8/7/1975 West Palm Beach, FL American 10 Toyota 1493 Dylan Kwasniewski 0 5/31/1995 Las Vegas, NV American 31 Chevrolet 551 Scott Lagasse Jr. 6`1 190 1/31/1981 St. Augustine, FL American 29 Toyota 938 Corey LaJoie 0 9/25/1991 Concord, FL American 9 Ford 1368 Chris Lawson 0 11/6/1985 Troutman, NC American 79 Ford 112 Kevin Lepage 5`10 187 6/26/1962 Shelbourne, VT American 74 Dodge 51 Carl Long 5`10 175 9/20/1967 Roxboro, NC American 93 Dodge 1439 Johanna Long 0 5/26/1992 Pensacola, FL American 70 Chevrolet 1358 Hal Martin 5`10" 175 12/29/1985 Galliano, LA American 44 Toyota 684 Luis Martinez Jr. 0 2/15/1990 Baldwin Park, CA American 39 Chevrolet 1366 Tommy Joe Martins 0 12/7/1986 Como, MS American 76 Ford 1496 Ruben Garcia Mateos 0 11/21/1995 Mexico City, Mexico Mexican 24 Toyota 422 Eric McClure 5`10 175 12/11/1978 Chilhowie, VA American 14 Toyota 1404 Chase Miller 0 1/28/1987 Canton, GA American 15 Chevrolet 316 Jamie Mosley 0 11/29/1970 DuBois, PA American 24 Chevrolet 35 Joe Nemechek 5`9 185 9/26/1963 Lakeland, FL American 87 Toyota 192 Donnie Neuenberger 6`3 197 8/10/1962 Brandywine, MD American 23 Ford 1296 Kevin OConnell 0 4/29/1967 Newport Beach, CA American 74 Chevrolet 1026 Johnny OConnell 0 7/24/1962 Poughkeepsie, NY American 5 Chevrolet 251 Max Papis 6`0 170 10/3/1969 Como, Italy Italian 33 Chevrolet 1476 Travis Pastrana 6`2 200 10/8/1983 Annapolis, MD 60 Ford 1220 Antonio Perez 6`0 165 3/20/1986 Guadalajara, Mexico Mexican 35 Chevrolet 1282 Nelson Piquet Jr. 5`8 155 7/25/1985 Brasilia, Brazil Brazilian 30 Chevrolet 1104 Alex Popow 0 11/9/1975 Lecheria, Venezuela Venezuelian 19 Toyota 615 Ryan Preece 0 10/25/1990 Berlin, CT American 8 Chevrolet 972 Bill Prietzel 0 9/8/1952 Plymouth, WI American 23 Chevrolet 53 Tony Raines 6`2 210 4/14/1964 LaPorte, IN American 70 Toyota 543 Andrew Ranger 5`9" 135 11/20/1986 Roxton Pond, Canada Canadian 53 Dodge 1084 Josh Reaume 0 10/11/1990 Redlands, CA American 23 Chevrolet 940 Ryan Reed 0 8/12/1993 Bakersfield, CA American 16 Ford 1029 Harrison Rhodes 0 7/15/1993 High Point, NC 24 Toyota 608 Josh Richards 0 3/22/1988 Shinnston, WV American 39 Ford 597 Robert Richardson Jr. 0 4/4/1982 McKinney, TX American 23 Chevrolet 1107 Casey Roderick 0 8/8/1992 Lawrenceville, GA 24 Toyota 656 Brett Rowe 0 5/6/1967 Barboursville, WV American 55 Chevrolet 1108 Martin Roy 0 2/1/1974 Napierville, Canada Canadian 90 Chevrolet 39 Elliott Sadler 6`2 195 4/30/1975 Emporia, VA American 11 Toyota 1240 Bobby Santos 0 10/3/1985 Franklin, MA American 36 Chevrolet 1111 Travis Sauter 0 8/1/1982 Necedah, WI American 87 Toyota 477 Tim Schendel 0 5/10/1979 Sparta, WI American 87 Chevrolet 1269 Brian Scott 6`3" 190 1/12/1988 Boise, ID American 2 Chevrolet 54 Morgan Shepherd 5`9 170 10/21/1941 Conover, NC American 89 Chevrolet 1116 Fain Skinner 0 10/10/1970 Live Oak, FL American 41 Ford 207 Regan Smith 5`9 160 9/23/1983 Cato, NY American 7 Chevrolet 548 Dexter Stacey 0 11/9/1992 Kahnawake, QB, Canada Canadian 92 Ford 140 David Starr 5`9 150 10/11/1967 Houston, TX American 44 Toyota 1510 Daniel Suarez 0 1/7/1992 Monterrey, Mexico Mexican 20 Toyota 1391 Brad Sweet 0 12/31/1985 Grass Valley, CA American 5 Chevrolet 1433 Kevin Swindell 0 2/21/1989 Germantown, TN American 98 Ford 177 Brad Teague 5`10" 170 12/9/1947 Buladean, NC American 70 Toyota 1511 Austin Theriault 0 1/23/1994 Caribou, ME American 5 Chevrolet 1120 Derek Thorn 0 4/25/1986 Lakeport, CA American 52 Toyota 56 Mike Wallace 6`0 220 3/10/1959 St.Louis, MO American 93 Dodge 44 Kenny Wallace 5`11 180 8/23/1963 St.Louis, MO American 29 Toyota 599 Steve Wallace 6-2 190 8/18/1987 Mooresville, NC American 66 Ford 1289 Chrissy Wallace 5`4 125 5/15/1988 St. Louis, MO American 0 Chevrolet 234 Jason White 0 6/5/1979 Richmond, VA American 24 Toyota 1383 Derek White 0 12/9/1970 Kahnawake, QB, Canada Canadian 13 Toyota 439 J.J. Yeley 5`8 160 10/5/1976 Phoenix, AZ American 28 Dodge 628 John Young 0 10/19/1968 Discovery Bay, CA American 26 Dodge May 24, 2014, at 12:52 PM ET \ No newline at end of file