summaryrefslogtreecommitdiff
path: root/vdv-server/Example452.hs
diff options
context:
space:
mode:
Diffstat (limited to 'vdv-server/Example452.hs')
-rw-r--r--vdv-server/Example452.hs44
1 files changed, 29 insertions, 15 deletions
diff --git a/vdv-server/Example452.hs b/vdv-server/Example452.hs
index 51d4a46..41bee99 100644
--- a/vdv-server/Example452.hs
+++ b/vdv-server/Example452.hs
@@ -7,11 +7,20 @@ import VDV451 (Latitude(..), Longitude(..), ÖPNVOptions(..), ÖPNVTable(..), ö
import VDV452
import Data.Vector (Vector)
import Data.Time (Day, fromGregorian, getCurrentTime, utctDay)
-import Codec.Archive.Zip (Archive)
+import Codec.Archive.Zip (Archive, fromArchive)
+import qualified Data.ByteString.Lazy as LB
-- TODO: RecHp, MengeFztTyp, OrtHztf, RecUeb, UebFzt, RecUmlauf
+-- we only have one of these.
+-- TODO: add newtypes for the other relations?
+bereich :: BereichNr
+bereich = BereichNr 1
+livar = LineVariant "itb"
+
+pa1 = OrtNr (OrtRefOrt 10) (SteigNr 1)
+fr1 = OrtNr (OrtRefOrt 11) (SteigNr 1)
t993 :: Day -> Vector BasisVerGueltigkeit
t993 day = [ BasisVerGueltigkeit day 1 ]
@@ -28,13 +37,13 @@ t997 :: Vector MengeOrtTyp
t997 = [ MengeOrtTyp 1 OrtHaltestelle "Haltestelle" ]
t253 :: Vector RecOrt
-t253 = [ RecOrt 1 OnrHaltepunkt 10 "Passau Hbf" 10 8000298 "de:09262:156" 0 OrtHaltestelle Nothing "PA" "Passau Hbf" Nothing (Just $ Longitude 13.450776) (Just $ Latitude 48.573632) Nothing Nothing
- , RecOrt 1 OnrHaltepunkt 11 "Freyung Bf" 11 8002094 "de:09272:4851" 1 OrtHaltestelle Nothing "FR" "Freyung" Nothing (Just $ Longitude 13.548351) (Just $ Latitude 48.802843) Nothing Nothing
+t253 = [ RecOrt 1 OnrHaltepunkt pa1 "Passau Hbf" 10 8000298 (DHID "de:09262:156:0" (steigNr pa1)) (ortRef pa1) OrtHaltestelle Nothing "PA" "Passau Hbf" Nothing (Just $ Longitude 13.450776) (Just $ Latitude 48.573632) Nothing Nothing
+ , RecOrt 1 OnrHaltepunkt fr1 "Freyung Bf" 11 8002094 (DHID "de:09272:4851:0" (steigNr fr1)) (ortRef fr1) OrtHaltestelle Nothing "FR" "Freyung" Nothing (Just $ Longitude 13.548351) (Just $ Latitude 48.802843) Nothing Nothing
]
t229 :: Vector RecHp
-t229 = [ RecHp 1 OrtHaltestelle 10 10 "Passau Hbf"
- , RecHp 1 OrtHaltestelle 11 11 "Freyung Bf"]
+t229 = [ RecHp 1 OrtHaltestelle pa1 (steigNr pa1) "Passau Hbf"
+ , RecHp 1 OrtHaltestelle fr1 (steigNr fr1) "Freyung Bf"]
t293 :: Vector MengeFzgTyp
t293 = [ MengeFzgTyp 1 1 0 0 0 0 80 30 "irgendein Fahrzeug" 1 "dings" Nothing Nothing Nothing ]
@@ -50,7 +59,7 @@ t290 = [ MengeTagesart 1 1 "normaler Betriebstag"
, MengeTagesart 1 2 "Sonderfahrt Dezember"]
t348 :: Vector Firmenkalender
-t348 = [ Firmenkalender 1 (fromGregorian 3 12 2022) "Sonderfahrt Dezember" 2 ]
+t348 = [ Firmenkalender 1 (fromGregorian 2022 12 3) "Sonderfahrt Dezember" 2 ]
t222 :: Vector MengeFgr
t222 = [ MengeFgr 1 1 "gibt nur eine" ]
@@ -59,36 +68,36 @@ t332 :: Vector MengeFahrtart
t332 = [ MengeFahrtart 1 Normalfahrt "Normal"]
t333 :: Vector MengeBereich
-t333 = [ MengeBereich 1 1 "bahn" "die ilztalbahn fährt bahn, sonst nix" ]
+t333 = [ MengeBereich 1 bereich "bahn" "die ilztalbahn fährt bahn, sonst nix" ]
-- let's just say there's 30km between the stations
t299 :: Vector RecSel
-t299 = [ RecSel 1 1 OnrHaltepunkt 10 11 OrtHaltestelle 30000 ]
+t299 = [ RecSel 1 bereich OnrHaltepunkt pa1 fr1 OrtHaltestelle 30000 ]
-- let's just say there's an hour between the two stations
t282 :: Vector SelFztFeld
-t282 = [ SelFztFeld 1 1 1 OrtHaltestelle 10 11 OrtHaltestelle 3600 ]
+t282 = [ SelFztFeld 1 bereich 1 OrtHaltestelle pa1 fr1 OrtHaltestelle 3600 ]
t999 :: Vector OrtHztf
-t999 = [ OrtHztf 1 1 OrtHaltestelle 10 60
- , OrtHztf 1 1 OrtHaltestelle 11 60
+t999 = [ OrtHztf 1 1 OrtHaltestelle pa1 60
+ , OrtHztf 1 1 OrtHaltestelle fr1 60
]
-- zwei halte für eine fahrt auf linie 13
t246 :: Vector LidVerlauf
-t246 = [ LidVerlauf 1 1 56446 "" OrtHaltestelle 10 1 Nothing 0 True True False False False False
- , LidVerlauf 1 2 56446 "" OrtHaltestelle 11 2 Nothing 0 True True False False False False]
+t246 = [ LidVerlauf 1 1 56446 livar OrtHaltestelle pa1 1 Nothing 0 True True False False False False
+ , LidVerlauf 1 2 56446 livar OrtHaltestelle fr1 2 Nothing 0 True True False False False False]
-- keine ahnung was die routennummer soll, steht jetzt auf 0
t226 :: Vector RecLid
-t226 = [ RecLid 1 56446 "itb" 1 0 0 "itb" "Ilztalbahn" Normalfahrt Nothing "Ilztalbahn" ]
+t226 = [ RecLid 1 56446 livar 1 1 bereich "itb" "Ilztalbahn" Normalfahrt Nothing "Ilztalbahn" ]
t715 :: Vector RecFrt
-t715 = [ RecFrt 1 1 28800 56446 2 Nothing Normalfahrt 1 "" Nothing 56446 False False "P 56446" 0 ]
+t715 = [ RecFrt 1 1 28800 56446 2 Nothing Normalfahrt 1 livar Nothing 56446 False False "P 56446" 0 ]
mkArchive :: IO Archive
@@ -120,3 +129,8 @@ mkArchive = do
, ÖPNVTable t226
, ÖPNVTable t715
]
+
+writeArchive :: IO ()
+writeArchive = do
+ archive <- mkArchive
+ LB.writeFile "example.zip" (fromArchive archive)