Rename project to Trainvel
@ -6,7 +6,7 @@ import sys
|
||||
|
||||
def main():
|
||||
"""Run administrative tasks."""
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "sncf.settings")
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "trainvel.settings")
|
||||
try:
|
||||
from django.core.management import execute_from_command_line
|
||||
except ImportError as exc:
|
||||
|
@ -1,3 +0,0 @@
|
||||
# https://www.robotstxt.org/robotstxt.html
|
||||
User-agent: *
|
||||
Disallow:
|
@ -1,6 +0,0 @@
|
||||
Django>=5.0,<6.0
|
||||
django-cors-headers
|
||||
django-filter
|
||||
djangorestframework
|
||||
protobuf
|
||||
requests
|
@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "sncf-station",
|
||||
"name": "trainvel-front",
|
||||
"version": "0.1.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "sncf-station",
|
||||
"name": "trainvel-front",
|
||||
"version": "0.1.0",
|
||||
"dependencies": {
|
||||
"@emotion/react": "^11.11.3",
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "sncf-station",
|
||||
"name": "trainvel-front",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"dependencies": {
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
@ -7,7 +7,7 @@
|
||||
<meta name="theme-color" content="#000000" />
|
||||
<meta
|
||||
name="description"
|
||||
content="Écrans en gare affichant les horaires des trains des gares SNCF."
|
||||
content="Écrans en gare affichant les horaires des trains des gares."
|
||||
/>
|
||||
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
|
||||
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
@ -18,7 +18,7 @@ function App() {
|
||||
element: <Home />,
|
||||
},
|
||||
{
|
||||
path: "/station/:stopId",
|
||||
path: "/station/:theme/:stopId",
|
||||
element: <Station />
|
||||
}
|
||||
])
|
@ -5,11 +5,11 @@ function Home() {
|
||||
const navigate = useNavigate()
|
||||
|
||||
function onStationSelected(event, stop) {
|
||||
navigate(`/station/${stop.id}/`)
|
||||
navigate(`/station/sncf/${stop.id}/`)
|
||||
}
|
||||
|
||||
return <>
|
||||
<h1>Horaires SNCF</h1>
|
||||
<h1>Horaires des trains</h1>
|
||||
<h2>
|
||||
Choisissez une gare dont vous désirez connaître le tableau des prochains départs et arrivées :
|
||||
</h2>
|
@ -12,7 +12,7 @@ function DateTimeSelector({stop, date, time}) {
|
||||
|
||||
function onStationSelected(event, stop) {
|
||||
if (stop !== null)
|
||||
navigate(`/station/${stop.id}/`)
|
||||
navigate(`/station/sncf/${stop.id}/`)
|
||||
}
|
||||
|
||||
return <>
|
||||
@ -32,7 +32,7 @@ function DateTimeSelector({stop, date, time}) {
|
||||
}
|
||||
|
||||
function Station() {
|
||||
let {stopId} = useParams()
|
||||
let {stopId, theme} = useParams()
|
||||
let [searchParams, _setSearchParams] = useSearchParams()
|
||||
const now = new Date()
|
||||
let dateNow = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')}`
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
@ -3,4 +3,4 @@ from django.apps import AppConfig
|
||||
|
||||
class ApiConfig(AppConfig):
|
||||
default_auto_field = "django.db.models.BigAutoField"
|
||||
name = "sncf.api"
|
||||
name = "trainvel.api"
|
@ -1,6 +1,6 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from sncfgtfs.models import Agency, Stop, Route, Trip, StopTime, Calendar, CalendarDate, \
|
||||
from trainvel.gtfs.models import Agency, Stop, Route, Trip, StopTime, Calendar, CalendarDate, \
|
||||
Transfer, FeedInfo, TripUpdate, StopTimeUpdate
|
||||
|
||||
|
@ -8,10 +8,10 @@ from django_filters.rest_framework import DjangoFilterBackend
|
||||
from rest_framework import viewsets
|
||||
from rest_framework.filters import OrderingFilter, SearchFilter
|
||||
|
||||
from sncf.api.serializers import AgencySerializer, StopSerializer, RouteSerializer, TripSerializer, \
|
||||
from trainvel.api.serializers import AgencySerializer, StopSerializer, RouteSerializer, TripSerializer, \
|
||||
StopTimeSerializer, CalendarSerializer, CalendarDateSerializer, TransferSerializer, \
|
||||
FeedInfoSerializer, TripUpdateSerializer, StopTimeUpdateSerializer
|
||||
from sncfgtfs.models import Agency, Calendar, CalendarDate, FeedInfo, GTFSFeed, Route, Stop, StopTime, StopTimeUpdate, \
|
||||
from trainvel.gtfs.models import Agency, Calendar, CalendarDate, FeedInfo, GTFSFeed, Route, Stop, StopTime, StopTimeUpdate, \
|
||||
Transfer, Trip, TripUpdate
|
||||
|
||||
CACHE_CONTROL = cache_control(max_age=7200)
|
@ -1,5 +1,5 @@
|
||||
"""
|
||||
ASGI config for sncf project.
|
||||
ASGI config for trainvel project.
|
||||
|
||||
It exposes the ASGI callable as a module-level variable named ``application``.
|
||||
|
||||
@ -11,6 +11,6 @@ import os
|
||||
|
||||
from django.core.asgi import get_asgi_application
|
||||
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "sncf.settings")
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "trainvel.settings")
|
||||
|
||||
application = get_asgi_application()
|
@ -1,7 +1,7 @@
|
||||
from django.contrib import admin
|
||||
from django.forms import BaseInlineFormSet
|
||||
|
||||
from sncfgtfs.models import Agency, Calendar, CalendarDate, FeedInfo, GTFSFeed, \
|
||||
from trainvel.gtfs.models import Agency, Calendar, CalendarDate, FeedInfo, GTFSFeed, \
|
||||
Route, Stop, StopTime, StopTimeUpdate, Transfer, Trip, TripUpdate
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class SncfgtfsConfig(AppConfig):
|
||||
class TrainvelGTFSConfig(AppConfig):
|
||||
default_auto_field = "django.db.models.BigAutoField"
|
||||
name = "sncfgtfs"
|
||||
name = "trainvel.gtfs"
|
@ -1,6 +1,6 @@
|
||||
[
|
||||
{
|
||||
"model": "sncfgtfs.gtfsfeed",
|
||||
"model": "gtfs.gtfsfeed",
|
||||
"pk": "FR-SNCF-TGV",
|
||||
"fields": {
|
||||
"name": "SNCF - TGV",
|
||||
@ -10,7 +10,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "sncfgtfs.gtfsfeed",
|
||||
"model": "gtfs.gtfsfeed",
|
||||
"pk": "FR-SNCF-IC",
|
||||
"fields": {
|
||||
"name": "SNCF - Intercités",
|
||||
@ -20,7 +20,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "sncfgtfs.gtfsfeed",
|
||||
"model": "gtfs.gtfsfeed",
|
||||
"pk": "FR-SNCF-TER",
|
||||
"fields": {
|
||||
"name": "SNCF - TER",
|
||||
@ -30,7 +30,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "sncfgtfs.gtfsfeed",
|
||||
"model": "gtfs.gtfsfeed",
|
||||
"pk": "FR-IDF-TN",
|
||||
"fields": {
|
||||
"name": "SNCF - Transilien",
|
||||
@ -40,7 +40,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "sncfgtfs.gtfsfeed",
|
||||
"model": "gtfs.gtfsfeed",
|
||||
"pk": "FR-EUROSTAR",
|
||||
"fields": {
|
||||
"name": "Eurostar",
|
||||
@ -50,7 +50,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "sncfgtfs.gtfsfeed",
|
||||
"model": "gtfs.gtfsfeed",
|
||||
"pk": "IT-FRA-TI",
|
||||
"fields": {
|
||||
"name": "Trenitalia France",
|
||||
@ -60,7 +60,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "sncfgtfs.gtfsfeed",
|
||||
"model": "gtfs.gtfsfeed",
|
||||
"pk": "ES-RENFE",
|
||||
"fields": {
|
||||
"name": "Renfe",
|
||||
@ -70,7 +70,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "sncfgtfs.gtfsfeed",
|
||||
"model": "gtfs.gtfsfeed",
|
||||
"pk": "AT-ÖBB",
|
||||
"fields": {
|
||||
"name": "ÖBB",
|
||||
@ -80,7 +80,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "sncfgtfs.gtfsfeed",
|
||||
"model": "gtfs.gtfsfeed",
|
||||
"pk": "CH-ALL",
|
||||
"fields": {
|
||||
"name": "Transports suisses",
|
@ -2,7 +2,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-05-09 19:27+0200\n"
|
||||
"POT-Creation-Date: 2024-05-09 19:34+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Emmy D'Anello <ynerant@emy.lu>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -12,355 +12,355 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: sncfgtfs/models.py:11
|
||||
#: trainvel/gtfs/models.py:11
|
||||
msgid "Albania"
|
||||
msgstr "Albanie"
|
||||
|
||||
#: sncfgtfs/models.py:12
|
||||
#: trainvel/gtfs/models.py:12
|
||||
msgid "Andorra"
|
||||
msgstr "Andorre"
|
||||
|
||||
#: sncfgtfs/models.py:13
|
||||
#: trainvel/gtfs/models.py:13
|
||||
msgid "Armenia"
|
||||
msgstr "Arménie"
|
||||
|
||||
#: sncfgtfs/models.py:14
|
||||
#: trainvel/gtfs/models.py:14
|
||||
msgid "Austria"
|
||||
msgstr "Autriche"
|
||||
|
||||
#: sncfgtfs/models.py:15
|
||||
#: trainvel/gtfs/models.py:15
|
||||
msgid "Azerbaijan"
|
||||
msgstr "Azerbaijan"
|
||||
|
||||
#: sncfgtfs/models.py:16
|
||||
#: trainvel/gtfs/models.py:16
|
||||
msgid "Belgium"
|
||||
msgstr "Belgique"
|
||||
|
||||
#: sncfgtfs/models.py:17
|
||||
#: trainvel/gtfs/models.py:17
|
||||
msgid "Bosnia and Herzegovina"
|
||||
msgstr " Bosnie-Herzégovine"
|
||||
|
||||
#: sncfgtfs/models.py:18
|
||||
#: trainvel/gtfs/models.py:18
|
||||
msgid "Bulgaria"
|
||||
msgstr "Bulgarie"
|
||||
|
||||
#: sncfgtfs/models.py:19
|
||||
#: trainvel/gtfs/models.py:19
|
||||
msgid "Croatia"
|
||||
msgstr "Croatie"
|
||||
|
||||
#: sncfgtfs/models.py:20
|
||||
#: trainvel/gtfs/models.py:20
|
||||
msgid "Cyprus"
|
||||
msgstr "Chypre"
|
||||
|
||||
#: sncfgtfs/models.py:21
|
||||
#: trainvel/gtfs/models.py:21
|
||||
msgid "Czech Republic"
|
||||
msgstr "République Tchèque"
|
||||
|
||||
#: sncfgtfs/models.py:22
|
||||
#: trainvel/gtfs/models.py:22
|
||||
msgid "Denmark"
|
||||
msgstr "Danemark"
|
||||
|
||||
#: sncfgtfs/models.py:23
|
||||
#: trainvel/gtfs/models.py:23
|
||||
msgid "Estonia"
|
||||
msgstr "Estonie"
|
||||
|
||||
#: sncfgtfs/models.py:24
|
||||
#: trainvel/gtfs/models.py:24
|
||||
msgid "Finland"
|
||||
msgstr "Finlande"
|
||||
|
||||
#: sncfgtfs/models.py:25
|
||||
#: trainvel/gtfs/models.py:25
|
||||
msgid "France"
|
||||
msgstr "France"
|
||||
|
||||
#: sncfgtfs/models.py:26
|
||||
#: trainvel/gtfs/models.py:26
|
||||
msgid "Georgia"
|
||||
msgstr "Géorgie"
|
||||
|
||||
#: sncfgtfs/models.py:27
|
||||
#: trainvel/gtfs/models.py:27
|
||||
msgid "Germany"
|
||||
msgstr "Allemagne"
|
||||
|
||||
#: sncfgtfs/models.py:28
|
||||
#: trainvel/gtfs/models.py:28
|
||||
msgid "Greece"
|
||||
msgstr "Grèce"
|
||||
|
||||
#: sncfgtfs/models.py:29
|
||||
#: trainvel/gtfs/models.py:29
|
||||
msgid "Hungary"
|
||||
msgstr "Hongrie"
|
||||
|
||||
#: sncfgtfs/models.py:30
|
||||
#: trainvel/gtfs/models.py:30
|
||||
msgid "Iceland"
|
||||
msgstr "Islande"
|
||||
|
||||
#: sncfgtfs/models.py:31
|
||||
#: trainvel/gtfs/models.py:31
|
||||
msgid "Ireland"
|
||||
msgstr "Irlande"
|
||||
|
||||
#: sncfgtfs/models.py:32
|
||||
#: trainvel/gtfs/models.py:32
|
||||
msgid "Italy"
|
||||
msgstr "Italie"
|
||||
|
||||
#: sncfgtfs/models.py:33
|
||||
#: trainvel/gtfs/models.py:33
|
||||
msgid "Latvia"
|
||||
msgstr "Lettonie"
|
||||
|
||||
#: sncfgtfs/models.py:34
|
||||
#: trainvel/gtfs/models.py:34
|
||||
msgid "Liechtenstein"
|
||||
msgstr "Liechtenstein"
|
||||
|
||||
#: sncfgtfs/models.py:35
|
||||
#: trainvel/gtfs/models.py:35
|
||||
msgid "Lithuania"
|
||||
msgstr "Lituanie"
|
||||
|
||||
#: sncfgtfs/models.py:36
|
||||
#: trainvel/gtfs/models.py:36
|
||||
msgid "Luxembourg"
|
||||
msgstr "Luxembourg"
|
||||
|
||||
#: sncfgtfs/models.py:37
|
||||
#: trainvel/gtfs/models.py:37
|
||||
msgid "Malta"
|
||||
msgstr "Malte"
|
||||
|
||||
#: sncfgtfs/models.py:38
|
||||
#: trainvel/gtfs/models.py:38
|
||||
msgid "Moldova"
|
||||
msgstr "Moldavie"
|
||||
|
||||
#: sncfgtfs/models.py:39
|
||||
#: trainvel/gtfs/models.py:39
|
||||
msgid "Monaco"
|
||||
msgstr "Monaco"
|
||||
|
||||
#: sncfgtfs/models.py:40
|
||||
#: trainvel/gtfs/models.py:40
|
||||
msgid "Montenegro"
|
||||
msgstr "Monténégro"
|
||||
|
||||
#: sncfgtfs/models.py:41
|
||||
#: trainvel/gtfs/models.py:41
|
||||
msgid "Netherlands"
|
||||
msgstr "Pays-Bas"
|
||||
|
||||
#: sncfgtfs/models.py:42
|
||||
#: trainvel/gtfs/models.py:42
|
||||
msgid "North Macedonia"
|
||||
msgstr "Macédoine du Nord"
|
||||
|
||||
#: sncfgtfs/models.py:43
|
||||
#: trainvel/gtfs/models.py:43
|
||||
msgid "Norway"
|
||||
msgstr "Norvège"
|
||||
|
||||
#: sncfgtfs/models.py:44
|
||||
#: trainvel/gtfs/models.py:44
|
||||
msgid "Poland"
|
||||
msgstr "Pologne"
|
||||
|
||||
#: sncfgtfs/models.py:45
|
||||
#: trainvel/gtfs/models.py:45
|
||||
msgid "Portugal"
|
||||
msgstr "Portugal"
|
||||
|
||||
#: sncfgtfs/models.py:46
|
||||
#: trainvel/gtfs/models.py:46
|
||||
msgid "Romania"
|
||||
msgstr "Roumanie"
|
||||
|
||||
#: sncfgtfs/models.py:47
|
||||
#: trainvel/gtfs/models.py:47
|
||||
msgid "San Marino"
|
||||
msgstr "Saint-Marin"
|
||||
|
||||
#: sncfgtfs/models.py:48
|
||||
#: trainvel/gtfs/models.py:48
|
||||
msgid "Serbia"
|
||||
msgstr "Serbie"
|
||||
|
||||
#: sncfgtfs/models.py:49
|
||||
#: trainvel/gtfs/models.py:49
|
||||
msgid "Slovakia"
|
||||
msgstr "Slovaquie"
|
||||
|
||||
#: sncfgtfs/models.py:50
|
||||
#: trainvel/gtfs/models.py:50
|
||||
msgid "Slovenia"
|
||||
msgstr "Slovénie"
|
||||
|
||||
#: sncfgtfs/models.py:51
|
||||
#: trainvel/gtfs/models.py:51
|
||||
msgid "Spain"
|
||||
msgstr "Espagne"
|
||||
|
||||
#: sncfgtfs/models.py:52
|
||||
#: trainvel/gtfs/models.py:52
|
||||
msgid "Sweden"
|
||||
msgstr "Suède"
|
||||
|
||||
#: sncfgtfs/models.py:53
|
||||
#: trainvel/gtfs/models.py:53
|
||||
msgid "Switzerland"
|
||||
msgstr "Suisse"
|
||||
|
||||
#: sncfgtfs/models.py:54
|
||||
#: trainvel/gtfs/models.py:54
|
||||
msgid "Turkey"
|
||||
msgstr "Turquie"
|
||||
|
||||
#: sncfgtfs/models.py:55
|
||||
#: trainvel/gtfs/models.py:55
|
||||
msgid "United Kingdom"
|
||||
msgstr "Royaume-Uni"
|
||||
|
||||
#: sncfgtfs/models.py:56
|
||||
#: trainvel/gtfs/models.py:56
|
||||
msgid "Ukraine"
|
||||
msgstr "Ukraine"
|
||||
|
||||
#: sncfgtfs/models.py:60
|
||||
#: trainvel/gtfs/models.py:60
|
||||
msgid "Stop/platform"
|
||||
msgstr "Arrêt / quai"
|
||||
|
||||
#: sncfgtfs/models.py:61
|
||||
#: trainvel/gtfs/models.py:61
|
||||
msgid "Station"
|
||||
msgstr "Gare"
|
||||
|
||||
#: sncfgtfs/models.py:62
|
||||
#: trainvel/gtfs/models.py:62
|
||||
msgid "Entrance/exit"
|
||||
msgstr "Entrée / sortie"
|
||||
|
||||
#: sncfgtfs/models.py:63
|
||||
#: trainvel/gtfs/models.py:63
|
||||
msgid "Generic node"
|
||||
msgstr "Nœud générique"
|
||||
|
||||
#: sncfgtfs/models.py:64
|
||||
#: trainvel/gtfs/models.py:64
|
||||
msgid "Boarding area"
|
||||
msgstr "Zone d'embarquement"
|
||||
|
||||
#: sncfgtfs/models.py:68
|
||||
#: trainvel/gtfs/models.py:68
|
||||
msgid "No information"
|
||||
msgstr "Pas d'information"
|
||||
|
||||
#: sncfgtfs/models.py:69
|
||||
#: trainvel/gtfs/models.py:69
|
||||
msgid "Possible"
|
||||
msgstr "Possible"
|
||||
|
||||
#: sncfgtfs/models.py:70 sncfgtfs/models.py:100
|
||||
#: trainvel/gtfs/models.py:70 trainvel/gtfs/models.py:100
|
||||
msgid "Not possible"
|
||||
msgstr "Impossible"
|
||||
|
||||
#: sncfgtfs/models.py:74
|
||||
#: trainvel/gtfs/models.py:74
|
||||
msgid "Regular"
|
||||
msgstr "Régulier"
|
||||
|
||||
#: sncfgtfs/models.py:75
|
||||
#: trainvel/gtfs/models.py:75
|
||||
msgid "None"
|
||||
msgstr "Aucun"
|
||||
|
||||
#: sncfgtfs/models.py:76
|
||||
#: trainvel/gtfs/models.py:76
|
||||
msgid "Must phone agency"
|
||||
msgstr "Doit téléphoner à l'agence"
|
||||
|
||||
#: sncfgtfs/models.py:77
|
||||
#: trainvel/gtfs/models.py:77
|
||||
msgid "Must coordinate with driver"
|
||||
msgstr "Doit se coordonner avec læ conducteurice"
|
||||
|
||||
#: sncfgtfs/models.py:81
|
||||
#: trainvel/gtfs/models.py:81
|
||||
msgid "Tram"
|
||||
msgstr "Tram"
|
||||
|
||||
#: sncfgtfs/models.py:82
|
||||
#: trainvel/gtfs/models.py:82
|
||||
msgid "Metro"
|
||||
msgstr "Métro"
|
||||
|
||||
#: sncfgtfs/models.py:83
|
||||
#: trainvel/gtfs/models.py:83
|
||||
msgid "Rail"
|
||||
msgstr "Rail"
|
||||
|
||||
#: sncfgtfs/models.py:84
|
||||
#: trainvel/gtfs/models.py:84
|
||||
msgid "Bus"
|
||||
msgstr "Bus"
|
||||
|
||||
#: sncfgtfs/models.py:85
|
||||
#: trainvel/gtfs/models.py:85
|
||||
msgid "Ferry"
|
||||
msgstr "Ferry"
|
||||
|
||||
#: sncfgtfs/models.py:86
|
||||
#: trainvel/gtfs/models.py:86
|
||||
msgid "Cable car"
|
||||
msgstr "Câble"
|
||||
|
||||
#: sncfgtfs/models.py:87
|
||||
#: trainvel/gtfs/models.py:87
|
||||
msgid "Gondola"
|
||||
msgstr "Gondole"
|
||||
|
||||
#: sncfgtfs/models.py:88
|
||||
#: trainvel/gtfs/models.py:88
|
||||
msgid "Funicular"
|
||||
msgstr "Funiculaire"
|
||||
|
||||
#: sncfgtfs/models.py:92
|
||||
#: trainvel/gtfs/models.py:92
|
||||
msgid "Outbound"
|
||||
msgstr "Vers l'extérieur"
|
||||
|
||||
#: sncfgtfs/models.py:93
|
||||
#: trainvel/gtfs/models.py:93
|
||||
msgid "Inbound"
|
||||
msgstr "Vers l'intérieur"
|
||||
|
||||
#: sncfgtfs/models.py:97
|
||||
#: trainvel/gtfs/models.py:97
|
||||
msgid "Recommended"
|
||||
msgstr "Recommandé"
|
||||
|
||||
#: sncfgtfs/models.py:98
|
||||
#: trainvel/gtfs/models.py:98
|
||||
msgid "Timed"
|
||||
msgstr "Correspondance programmée"
|
||||
|
||||
#: sncfgtfs/models.py:99
|
||||
#: trainvel/gtfs/models.py:99
|
||||
msgid "Minimum time"
|
||||
msgstr "Temps de correspondance minimum requis"
|
||||
|
||||
#: sncfgtfs/models.py:104 sncfgtfs/models.py:110
|
||||
#: trainvel/gtfs/models.py:104 trainvel/gtfs/models.py:110
|
||||
msgid "Added"
|
||||
msgstr "Ajouté"
|
||||
|
||||
#: sncfgtfs/models.py:105
|
||||
#: trainvel/gtfs/models.py:105
|
||||
msgid "Removed"
|
||||
msgstr "Supprimé"
|
||||
|
||||
#: sncfgtfs/models.py:109 sncfgtfs/models.py:119
|
||||
#: trainvel/gtfs/models.py:109 trainvel/gtfs/models.py:119
|
||||
msgid "Scheduled"
|
||||
msgstr "Planifié"
|
||||
|
||||
#: sncfgtfs/models.py:111 sncfgtfs/models.py:122
|
||||
#: trainvel/gtfs/models.py:111 trainvel/gtfs/models.py:122
|
||||
msgid "Unscheduled"
|
||||
msgstr "Non planifié"
|
||||
|
||||
#: sncfgtfs/models.py:112
|
||||
#: trainvel/gtfs/models.py:112
|
||||
msgid "Canceled"
|
||||
msgstr "Annulé"
|
||||
|
||||
#: sncfgtfs/models.py:113
|
||||
#: trainvel/gtfs/models.py:113
|
||||
msgid "Replacement"
|
||||
msgstr "Remplacé"
|
||||
|
||||
#: sncfgtfs/models.py:114
|
||||
#: trainvel/gtfs/models.py:114
|
||||
msgid "Duplicated"
|
||||
msgstr "Dupliqué"
|
||||
|
||||
#: sncfgtfs/models.py:115
|
||||
#: trainvel/gtfs/models.py:115
|
||||
msgid "Deleted"
|
||||
msgstr "Supprimé"
|
||||
|
||||
#: sncfgtfs/models.py:120
|
||||
#: trainvel/gtfs/models.py:120
|
||||
msgid "Skipped"
|
||||
msgstr "Sauté"
|
||||
|
||||
#: sncfgtfs/models.py:121
|
||||
#: trainvel/gtfs/models.py:121
|
||||
msgid "No data"
|
||||
msgstr "Pas de données"
|
||||
|
||||
#: sncfgtfs/models.py:129
|
||||
#: trainvel/gtfs/models.py:129
|
||||
msgid "code"
|
||||
msgstr "code"
|
||||
|
||||
#: sncfgtfs/models.py:130
|
||||
#: trainvel/gtfs/models.py:130
|
||||
msgid "Unique code of the feed."
|
||||
msgstr "Code unique du flux."
|
||||
|
||||
#: sncfgtfs/models.py:135
|
||||
#: trainvel/gtfs/models.py:135
|
||||
msgid "name"
|
||||
msgstr "nom"
|
||||
|
||||
#: sncfgtfs/models.py:137
|
||||
#: trainvel/gtfs/models.py:137
|
||||
msgid "Full name that describes the feed."
|
||||
msgstr "Nom complet qui décrit le flux."
|
||||
|
||||
#: sncfgtfs/models.py:142
|
||||
#: trainvel/gtfs/models.py:142
|
||||
msgid "country"
|
||||
msgstr "pays"
|
||||
|
||||
#: sncfgtfs/models.py:147
|
||||
#: trainvel/gtfs/models.py:147
|
||||
msgid "feed URL"
|
||||
msgstr "URL du flux"
|
||||
|
||||
#: sncfgtfs/models.py:148
|
||||
#: trainvel/gtfs/models.py:148
|
||||
msgid ""
|
||||
"URL to download the GTFS feed. Must point to a ZIP archive. See https://gtfs."
|
||||
"org/schedule/ for more information."
|
||||
@ -368,11 +368,11 @@ msgstr ""
|
||||
"URL où télécharger le flux GTFS. Doit pointer vers une archive ZIP. Voir "
|
||||
"https://gtfs.org/fr/schedule/ pour plus d'informations."
|
||||
|
||||
#: sncfgtfs/models.py:153
|
||||
#: trainvel/gtfs/models.py:153
|
||||
msgid "realtime feed URL"
|
||||
msgstr "URL du flux temps réel"
|
||||
|
||||
#: sncfgtfs/models.py:156
|
||||
#: trainvel/gtfs/models.py:156
|
||||
msgid ""
|
||||
"URL to download the GTFS-Realtime feed, in the GTFS-RT format. See https://"
|
||||
"gtfs.org/realtime/ for more information."
|
||||
@ -380,15 +380,15 @@ msgstr ""
|
||||
"URL où télécharger le flux GTFS-Temps réel, au format GTFS-RT. Voir https://"
|
||||
"gtfs.org/fr/realtime/ pour plus d'informations."
|
||||
|
||||
#: sncfgtfs/models.py:161
|
||||
#: trainvel/gtfs/models.py:161
|
||||
msgid "last modified date"
|
||||
msgstr "Date de dernière modification"
|
||||
|
||||
#: sncfgtfs/models.py:168
|
||||
#: trainvel/gtfs/models.py:168
|
||||
msgid "ETag"
|
||||
msgstr "ETag"
|
||||
|
||||
#: sncfgtfs/models.py:171
|
||||
#: trainvel/gtfs/models.py:171
|
||||
msgid ""
|
||||
"If applicable, corresponds to the tag of the last downloaded file. If it is "
|
||||
"not modified, the file is the same."
|
||||
@ -396,395 +396,397 @@ msgstr ""
|
||||
"Si applicable, correspond au tag du dernier fichier téléchargé. S'il n'est "
|
||||
"pas modifié, le fichier est considéré comme identique."
|
||||
|
||||
#: sncfgtfs/models.py:179 sncfgtfs/models.py:226 sncfgtfs/models.py:326
|
||||
#: sncfgtfs/models.py:405 sncfgtfs/models.py:486 sncfgtfs/models.py:696
|
||||
#: sncfgtfs/models.py:811
|
||||
#: trainvel/gtfs/models.py:179 trainvel/gtfs/models.py:226
|
||||
#: trainvel/gtfs/models.py:326 trainvel/gtfs/models.py:405
|
||||
#: trainvel/gtfs/models.py:486 trainvel/gtfs/models.py:696
|
||||
#: trainvel/gtfs/models.py:811
|
||||
msgid "GTFS feed"
|
||||
msgstr "flux GTFS"
|
||||
|
||||
#: sncfgtfs/models.py:180
|
||||
#: trainvel/gtfs/models.py:180
|
||||
msgid "GTFS feeds"
|
||||
msgstr "flux GTFS"
|
||||
|
||||
#: sncfgtfs/models.py:189
|
||||
#: trainvel/gtfs/models.py:189
|
||||
msgid "Agency ID"
|
||||
msgstr "ID de l'agence"
|
||||
|
||||
#: sncfgtfs/models.py:194
|
||||
#: trainvel/gtfs/models.py:194
|
||||
msgid "Agency name"
|
||||
msgstr "Nom de l'agence"
|
||||
|
||||
#: sncfgtfs/models.py:198
|
||||
#: trainvel/gtfs/models.py:198
|
||||
msgid "Agency URL"
|
||||
msgstr "URL de l'agence"
|
||||
|
||||
#: sncfgtfs/models.py:203
|
||||
#: trainvel/gtfs/models.py:203
|
||||
msgid "Agency timezone"
|
||||
msgstr "Fuseau horaire de l'agence"
|
||||
|
||||
#: sncfgtfs/models.py:208
|
||||
#: trainvel/gtfs/models.py:208
|
||||
msgid "Agency language"
|
||||
msgstr "Langue de l'agence"
|
||||
|
||||
#: sncfgtfs/models.py:214
|
||||
#: trainvel/gtfs/models.py:214
|
||||
msgid "Agency phone"
|
||||
msgstr "Téléphone de l'agence"
|
||||
|
||||
#: sncfgtfs/models.py:219
|
||||
#: trainvel/gtfs/models.py:219
|
||||
msgid "Agency email"
|
||||
msgstr "Adresse email de l'agence"
|
||||
|
||||
#: sncfgtfs/models.py:233 sncfgtfs/models.py:356
|
||||
#: trainvel/gtfs/models.py:233 trainvel/gtfs/models.py:356
|
||||
msgid "Agency"
|
||||
msgstr "Agence"
|
||||
|
||||
#: sncfgtfs/models.py:234
|
||||
#: trainvel/gtfs/models.py:234
|
||||
msgid "Agencies"
|
||||
msgstr "Agences"
|
||||
|
||||
#: sncfgtfs/models.py:243 sncfgtfs/models.py:593
|
||||
#: trainvel/gtfs/models.py:243 trainvel/gtfs/models.py:593
|
||||
msgid "Stop ID"
|
||||
msgstr "ID de l'arrêt"
|
||||
|
||||
#: sncfgtfs/models.py:248
|
||||
#: trainvel/gtfs/models.py:248
|
||||
msgid "Stop code"
|
||||
msgstr "Code de l'arrêt"
|
||||
|
||||
#: sncfgtfs/models.py:254
|
||||
#: trainvel/gtfs/models.py:254
|
||||
msgid "Stop name"
|
||||
msgstr "Nom de l'arrêt"
|
||||
|
||||
#: sncfgtfs/models.py:259
|
||||
#: trainvel/gtfs/models.py:259
|
||||
msgid "Stop description"
|
||||
msgstr "Description de l'arrêt"
|
||||
|
||||
#: sncfgtfs/models.py:264
|
||||
#: trainvel/gtfs/models.py:264
|
||||
msgid "Stop longitude"
|
||||
msgstr "Longitude de l'arrêt"
|
||||
|
||||
#: sncfgtfs/models.py:268
|
||||
#: trainvel/gtfs/models.py:268
|
||||
msgid "Stop latitude"
|
||||
msgstr "Latitude de l'arrêt"
|
||||
|
||||
#: sncfgtfs/models.py:273
|
||||
#: trainvel/gtfs/models.py:273
|
||||
msgid "Zone ID"
|
||||
msgstr "ID de la zone"
|
||||
|
||||
#: sncfgtfs/models.py:278
|
||||
#: trainvel/gtfs/models.py:278
|
||||
msgid "Stop URL"
|
||||
msgstr "URL de l'arrêt"
|
||||
|
||||
#: sncfgtfs/models.py:283
|
||||
#: trainvel/gtfs/models.py:283
|
||||
msgid "Location type"
|
||||
msgstr "Type de localisation"
|
||||
|
||||
#: sncfgtfs/models.py:292
|
||||
#: trainvel/gtfs/models.py:292
|
||||
msgid "Parent station"
|
||||
msgstr "Gare parente"
|
||||
|
||||
#: sncfgtfs/models.py:300
|
||||
#: trainvel/gtfs/models.py:300
|
||||
msgid "Stop timezone"
|
||||
msgstr "Fuseau horaire de l'arrêt"
|
||||
|
||||
#: sncfgtfs/models.py:306
|
||||
#: trainvel/gtfs/models.py:306
|
||||
msgid "Level ID"
|
||||
msgstr "ID du niveau"
|
||||
|
||||
#: sncfgtfs/models.py:311
|
||||
#: trainvel/gtfs/models.py:311
|
||||
msgid "Wheelchair boarding"
|
||||
msgstr "Embarquement en fauteuil roulant"
|
||||
|
||||
#: sncfgtfs/models.py:319
|
||||
#: trainvel/gtfs/models.py:319
|
||||
msgid "Platform code"
|
||||
msgstr "Code du quai"
|
||||
|
||||
#: sncfgtfs/models.py:338
|
||||
#: trainvel/gtfs/models.py:338
|
||||
msgid "Stop"
|
||||
msgstr "Arrêt"
|
||||
|
||||
#: sncfgtfs/models.py:339
|
||||
#: trainvel/gtfs/models.py:339
|
||||
msgid "Stops"
|
||||
msgstr "Arrêts"
|
||||
|
||||
#: sncfgtfs/models.py:350 sncfgtfs/models.py:572 sncfgtfs/models.py:713
|
||||
#: sncfgtfs/models.py:746
|
||||
#: trainvel/gtfs/models.py:350 trainvel/gtfs/models.py:572
|
||||
#: trainvel/gtfs/models.py:713 trainvel/gtfs/models.py:746
|
||||
msgid "ID"
|
||||
msgstr "Identifiant"
|
||||
|
||||
#: sncfgtfs/models.py:365
|
||||
#: trainvel/gtfs/models.py:365
|
||||
msgid "Route short name"
|
||||
msgstr "Nom court de la ligne"
|
||||
|
||||
#: sncfgtfs/models.py:370
|
||||
#: trainvel/gtfs/models.py:370
|
||||
msgid "Route long name"
|
||||
msgstr "Nom long de la ligne"
|
||||
|
||||
#: sncfgtfs/models.py:376
|
||||
#: trainvel/gtfs/models.py:376
|
||||
msgid "Route description"
|
||||
msgstr "Description de la ligne"
|
||||
|
||||
#: sncfgtfs/models.py:381
|
||||
#: trainvel/gtfs/models.py:381
|
||||
msgid "Route type"
|
||||
msgstr "Type de ligne"
|
||||
|
||||
#: sncfgtfs/models.py:386
|
||||
#: trainvel/gtfs/models.py:386
|
||||
msgid "Route URL"
|
||||
msgstr "URL de la ligne"
|
||||
|
||||
#: sncfgtfs/models.py:392
|
||||
#: trainvel/gtfs/models.py:392
|
||||
msgid "Route color"
|
||||
msgstr "Couleur de la ligne"
|
||||
|
||||
#: sncfgtfs/models.py:398
|
||||
#: trainvel/gtfs/models.py:398
|
||||
msgid "Route text color"
|
||||
msgstr "Couleur du texte de la ligne"
|
||||
|
||||
#: sncfgtfs/models.py:412 sncfgtfs/models.py:428
|
||||
#: trainvel/gtfs/models.py:412 trainvel/gtfs/models.py:428
|
||||
msgid "Route"
|
||||
msgstr "Ligne"
|
||||
|
||||
#: sncfgtfs/models.py:413
|
||||
#: trainvel/gtfs/models.py:413
|
||||
msgid "Routes"
|
||||
msgstr "Lignes"
|
||||
|
||||
#: sncfgtfs/models.py:422
|
||||
#: trainvel/gtfs/models.py:422
|
||||
msgid "Trip ID"
|
||||
msgstr "ID du trajet"
|
||||
|
||||
#: sncfgtfs/models.py:435 sncfgtfs/models.py:719
|
||||
#: trainvel/gtfs/models.py:435 trainvel/gtfs/models.py:719
|
||||
msgid "Service"
|
||||
msgstr "Service"
|
||||
|
||||
#: sncfgtfs/models.py:441
|
||||
#: trainvel/gtfs/models.py:441
|
||||
msgid "Trip headsign"
|
||||
msgstr "Destination du trajet"
|
||||
|
||||
#: sncfgtfs/models.py:447
|
||||
#: trainvel/gtfs/models.py:447
|
||||
msgid "Trip short name"
|
||||
msgstr "Nom court du trajet"
|
||||
|
||||
#: sncfgtfs/models.py:452
|
||||
#: trainvel/gtfs/models.py:452
|
||||
msgid "Direction"
|
||||
msgstr "Direction"
|
||||
|
||||
#: sncfgtfs/models.py:459
|
||||
#: trainvel/gtfs/models.py:459
|
||||
msgid "Block ID"
|
||||
msgstr "ID du bloc"
|
||||
|
||||
#: sncfgtfs/models.py:465
|
||||
#: trainvel/gtfs/models.py:465
|
||||
msgid "Shape ID"
|
||||
msgstr "ID de la forme"
|
||||
|
||||
#: sncfgtfs/models.py:470
|
||||
#: trainvel/gtfs/models.py:470
|
||||
msgid "Wheelchair accessible"
|
||||
msgstr "Accessible en fauteuil roulant"
|
||||
|
||||
#: sncfgtfs/models.py:477
|
||||
#: trainvel/gtfs/models.py:477
|
||||
msgid "Bikes allowed"
|
||||
msgstr "Vélos autorisés"
|
||||
|
||||
#: sncfgtfs/models.py:500 sncfgtfs/models.py:509 sncfgtfs/models.py:552
|
||||
#: sncfgtfs/models.py:554
|
||||
#: trainvel/gtfs/models.py:500 trainvel/gtfs/models.py:509
|
||||
#: trainvel/gtfs/models.py:552 trainvel/gtfs/models.py:554
|
||||
msgid "Unknown"
|
||||
msgstr "Inconnu"
|
||||
|
||||
#: sncfgtfs/models.py:557
|
||||
#: trainvel/gtfs/models.py:557
|
||||
msgid "Origin → Destination"
|
||||
msgstr "Origine → Destination"
|
||||
|
||||
#: sncfgtfs/models.py:563 sncfgtfs/models.py:578 sncfgtfs/models.py:825
|
||||
#: trainvel/gtfs/models.py:563 trainvel/gtfs/models.py:578
|
||||
#: trainvel/gtfs/models.py:825
|
||||
msgid "Trip"
|
||||
msgstr "Trajet"
|
||||
|
||||
#: sncfgtfs/models.py:564
|
||||
#: trainvel/gtfs/models.py:564
|
||||
msgid "Trips"
|
||||
msgstr "Trajets"
|
||||
|
||||
#: sncfgtfs/models.py:583 sncfgtfs/models.py:876
|
||||
#: trainvel/gtfs/models.py:583 trainvel/gtfs/models.py:876
|
||||
msgid "Arrival time"
|
||||
msgstr "Heure d'arrivée"
|
||||
|
||||
#: sncfgtfs/models.py:587 sncfgtfs/models.py:884
|
||||
#: trainvel/gtfs/models.py:587 trainvel/gtfs/models.py:884
|
||||
msgid "Departure time"
|
||||
msgstr "Heure de départ"
|
||||
|
||||
#: sncfgtfs/models.py:598
|
||||
#: trainvel/gtfs/models.py:598
|
||||
msgid "Stop sequence"
|
||||
msgstr "Séquence de l'arrêt"
|
||||
|
||||
#: sncfgtfs/models.py:603
|
||||
#: trainvel/gtfs/models.py:603
|
||||
msgid "Stop headsign"
|
||||
msgstr "Destination de l'arrêt"
|
||||
|
||||
#: sncfgtfs/models.py:608
|
||||
#: trainvel/gtfs/models.py:608
|
||||
msgid "Pickup type"
|
||||
msgstr "Type de prise en charge"
|
||||
|
||||
#: sncfgtfs/models.py:615
|
||||
#: trainvel/gtfs/models.py:615
|
||||
msgid "Drop off type"
|
||||
msgstr "Type de dépose"
|
||||
|
||||
#: sncfgtfs/models.py:622
|
||||
#: trainvel/gtfs/models.py:622
|
||||
msgid "Timepoint"
|
||||
msgstr "Ponctualité"
|
||||
|
||||
#: sncfgtfs/models.py:645 sncfgtfs/models.py:866
|
||||
#: trainvel/gtfs/models.py:645 trainvel/gtfs/models.py:866
|
||||
msgid "Stop time"
|
||||
msgstr "Heure d'arrêt"
|
||||
|
||||
#: sncfgtfs/models.py:646
|
||||
#: trainvel/gtfs/models.py:646
|
||||
msgid "Stop times"
|
||||
msgstr "Heures d'arrêt"
|
||||
|
||||
#: sncfgtfs/models.py:654
|
||||
#: trainvel/gtfs/models.py:654
|
||||
msgid "Service ID"
|
||||
msgstr "ID du service"
|
||||
|
||||
#: sncfgtfs/models.py:658
|
||||
#: trainvel/gtfs/models.py:658
|
||||
msgid "Monday"
|
||||
msgstr "Lundi"
|
||||
|
||||
#: sncfgtfs/models.py:662
|
||||
#: trainvel/gtfs/models.py:662
|
||||
msgid "Tuesday"
|
||||
msgstr "Mardi"
|
||||
|
||||
#: sncfgtfs/models.py:666
|
||||
#: trainvel/gtfs/models.py:666
|
||||
msgid "Wednesday"
|
||||
msgstr "Mercredi"
|
||||
|
||||
#: sncfgtfs/models.py:670
|
||||
#: trainvel/gtfs/models.py:670
|
||||
msgid "Thursday"
|
||||
msgstr "Jeudi"
|
||||
|
||||
#: sncfgtfs/models.py:674
|
||||
#: trainvel/gtfs/models.py:674
|
||||
msgid "Friday"
|
||||
msgstr "Vendredi"
|
||||
|
||||
#: sncfgtfs/models.py:678
|
||||
#: trainvel/gtfs/models.py:678
|
||||
msgid "Saturday"
|
||||
msgstr "Samedi"
|
||||
|
||||
#: sncfgtfs/models.py:682
|
||||
#: trainvel/gtfs/models.py:682
|
||||
msgid "Sunday"
|
||||
msgstr "Dimanche"
|
||||
|
||||
#: sncfgtfs/models.py:686 sncfgtfs/models.py:831
|
||||
#: trainvel/gtfs/models.py:686 trainvel/gtfs/models.py:831
|
||||
msgid "Start date"
|
||||
msgstr "Date de début"
|
||||
|
||||
#: sncfgtfs/models.py:690
|
||||
#: trainvel/gtfs/models.py:690
|
||||
msgid "End date"
|
||||
msgstr "Date de fin"
|
||||
|
||||
#: sncfgtfs/models.py:703
|
||||
#: trainvel/gtfs/models.py:703
|
||||
msgid "Calendar"
|
||||
msgstr "Calendrier"
|
||||
|
||||
#: sncfgtfs/models.py:704
|
||||
#: trainvel/gtfs/models.py:704
|
||||
msgid "Calendars"
|
||||
msgstr "Calendriers"
|
||||
|
||||
#: sncfgtfs/models.py:724
|
||||
#: trainvel/gtfs/models.py:724
|
||||
msgid "Date"
|
||||
msgstr "Date"
|
||||
|
||||
#: sncfgtfs/models.py:728
|
||||
#: trainvel/gtfs/models.py:728
|
||||
msgid "Exception type"
|
||||
msgstr "Type d'exception"
|
||||
|
||||
#: sncfgtfs/models.py:736
|
||||
#: trainvel/gtfs/models.py:736
|
||||
msgid "Calendar date"
|
||||
msgstr "Date du calendrier"
|
||||
|
||||
#: sncfgtfs/models.py:737
|
||||
#: trainvel/gtfs/models.py:737
|
||||
msgid "Calendar dates"
|
||||
msgstr "Dates du calendrier"
|
||||
|
||||
#: sncfgtfs/models.py:752
|
||||
#: trainvel/gtfs/models.py:752
|
||||
msgid "From stop"
|
||||
msgstr "Depuis l'arrêt"
|
||||
|
||||
#: sncfgtfs/models.py:759
|
||||
#: trainvel/gtfs/models.py:759
|
||||
msgid "To stop"
|
||||
msgstr "Jusqu'à l'arrêt"
|
||||
|
||||
#: sncfgtfs/models.py:764
|
||||
#: trainvel/gtfs/models.py:764
|
||||
msgid "Transfer type"
|
||||
msgstr "Type de correspondance"
|
||||
|
||||
#: sncfgtfs/models.py:770
|
||||
#: trainvel/gtfs/models.py:770
|
||||
msgid "Minimum transfer time"
|
||||
msgstr "Temps de correspondance minimum"
|
||||
|
||||
#: sncfgtfs/models.py:775
|
||||
#: trainvel/gtfs/models.py:775
|
||||
msgid "Transfer"
|
||||
msgstr "Correspondance"
|
||||
|
||||
#: sncfgtfs/models.py:776
|
||||
#: trainvel/gtfs/models.py:776
|
||||
msgid "Transfers"
|
||||
msgstr "Correspondances"
|
||||
|
||||
#: sncfgtfs/models.py:783
|
||||
#: trainvel/gtfs/models.py:783
|
||||
msgid "Feed publisher name"
|
||||
msgstr "Nom de l'éditeur du flux"
|
||||
|
||||
#: sncfgtfs/models.py:787
|
||||
#: trainvel/gtfs/models.py:787
|
||||
msgid "Feed publisher URL"
|
||||
msgstr "URL de l'éditeur du flux"
|
||||
|
||||
#: sncfgtfs/models.py:792
|
||||
#: trainvel/gtfs/models.py:792
|
||||
msgid "Feed language"
|
||||
msgstr "Langue du flux"
|
||||
|
||||
#: sncfgtfs/models.py:796
|
||||
#: trainvel/gtfs/models.py:796
|
||||
msgid "Feed start date"
|
||||
msgstr "Date de début du flux"
|
||||
|
||||
#: sncfgtfs/models.py:800
|
||||
#: trainvel/gtfs/models.py:800
|
||||
msgid "Feed end date"
|
||||
msgstr "Date de fin du flux"
|
||||
|
||||
#: sncfgtfs/models.py:805
|
||||
#: trainvel/gtfs/models.py:805
|
||||
msgid "Feed version"
|
||||
msgstr "Version du flux"
|
||||
|
||||
#: sncfgtfs/models.py:815
|
||||
#: trainvel/gtfs/models.py:815
|
||||
msgid "Feed info"
|
||||
msgstr "Information du flux"
|
||||
|
||||
#: sncfgtfs/models.py:816
|
||||
#: trainvel/gtfs/models.py:816
|
||||
msgid "Feed infos"
|
||||
msgstr "Informations du flux"
|
||||
|
||||
#: sncfgtfs/models.py:835
|
||||
#: trainvel/gtfs/models.py:835
|
||||
msgid "Start time"
|
||||
msgstr "Heure de début"
|
||||
|
||||
#: sncfgtfs/models.py:839 sncfgtfs/models.py:888
|
||||
#: trainvel/gtfs/models.py:839 trainvel/gtfs/models.py:888
|
||||
msgid "Schedule relationship"
|
||||
msgstr "Relation de la planification"
|
||||
|
||||
#: sncfgtfs/models.py:848 sncfgtfs/models.py:859
|
||||
#: trainvel/gtfs/models.py:848 trainvel/gtfs/models.py:859
|
||||
msgid "Trip update"
|
||||
msgstr "Mise à jour du trajet"
|
||||
|
||||
#: sncfgtfs/models.py:849
|
||||
#: trainvel/gtfs/models.py:849
|
||||
msgid "Trip updates"
|
||||
msgstr "Mises à jour des trajets"
|
||||
|
||||
#: sncfgtfs/models.py:872
|
||||
#: trainvel/gtfs/models.py:872
|
||||
msgid "Arrival delay"
|
||||
msgstr "Retard à l'arrivée"
|
||||
|
||||
#: sncfgtfs/models.py:880
|
||||
#: trainvel/gtfs/models.py:880
|
||||
msgid "Departure delay"
|
||||
msgstr "Retard au départ"
|
||||
|
||||
#: sncfgtfs/models.py:897
|
||||
#: trainvel/gtfs/models.py:897
|
||||
msgid "Stop time update"
|
||||
msgstr "Mise à jour du temps d'arrêt"
|
||||
|
||||
#: sncfgtfs/models.py:898
|
||||
#: trainvel/gtfs/models.py:898
|
||||
msgid "Stop time updates"
|
||||
msgstr "Mises à jour des temps d'arrêt"
|
||||
|
0
trainvel/gtfs/management/commands/__init__.py
Normal file
@ -7,12 +7,12 @@ from zoneinfo import ZoneInfo
|
||||
import requests
|
||||
from django.core.management import BaseCommand
|
||||
|
||||
from sncfgtfs.models import Agency, Calendar, CalendarDate, FeedInfo, GTFSFeed, Route, Stop, StopTime, Transfer, Trip, \
|
||||
from trainvel.gtfs.models import Agency, Calendar, CalendarDate, FeedInfo, GTFSFeed, Route, Stop, StopTime, Transfer, Trip, \
|
||||
PickupType
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = "Update the SNCF GTFS database."
|
||||
help = "Update the Trainvel GTFS database."
|
||||
|
||||
def add_arguments(self, parser):
|
||||
parser.add_argument('--debug', '-d', action='store_true', help="Activate debug mode")
|
@ -3,16 +3,15 @@ from zoneinfo import ZoneInfo
|
||||
|
||||
import requests
|
||||
from django.core.management import BaseCommand
|
||||
from django.db.models import Q
|
||||
|
||||
from sncfgtfs.gtfs_realtime_pb2 import FeedMessage, TripUpdate as GTFSTripUpdate
|
||||
from sncfgtfs.models import Agency, Calendar, CalendarDate, ExceptionType, GTFSFeed, LocationType, PickupType, \
|
||||
from trainvel.gtfs.gtfs_realtime_pb2 import FeedMessage, TripUpdate as GTFSTripUpdate
|
||||
from trainvel.gtfs.models import Agency, Calendar, CalendarDate, ExceptionType, GTFSFeed, PickupType, \
|
||||
Route, RouteType, Stop, StopScheduleRelationship, StopTime, StopTimeUpdate, \
|
||||
Trip, TripUpdate, TripScheduleRelationship
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = "Update the SNCF GTFS Realtime database."
|
||||
help = "Update the Trainvel GTFS Realtime database."
|
||||
|
||||
def add_arguments(self, parser):
|
||||
parser.add_argument('--debug', '-d', action='store_true', help="Activate debug mode")
|
@ -1,4 +1,4 @@
|
||||
# Generated by Django 5.0.1 on 2024-05-09 17:16
|
||||
# Generated by Django 5.0.1 on 2024-05-09 17:34
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
@ -263,7 +263,7 @@ class Migration(migrations.Migration):
|
||||
"verbose_name_plural": "GTFS feeds",
|
||||
"ordering": ("country", "name"),
|
||||
"indexes": [
|
||||
models.Index(fields=["name"], name="sncfgtfs_gt_name_43c613_idx")
|
||||
models.Index(fields=["name"], name="gtfs_gtfsfe_name_aabd02_idx")
|
||||
],
|
||||
},
|
||||
),
|
||||
@ -292,7 +292,7 @@ class Migration(migrations.Migration):
|
||||
"gtfs_feed",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to="sncfgtfs.gtfsfeed",
|
||||
to="gtfs.gtfsfeed",
|
||||
verbose_name="GTFS feed",
|
||||
),
|
||||
),
|
||||
@ -343,7 +343,7 @@ class Migration(migrations.Migration):
|
||||
"gtfs_feed",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to="sncfgtfs.gtfsfeed",
|
||||
to="gtfs.gtfsfeed",
|
||||
verbose_name="GTFS feed",
|
||||
),
|
||||
),
|
||||
@ -419,7 +419,7 @@ class Migration(migrations.Migration):
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="routes",
|
||||
to="sncfgtfs.agency",
|
||||
to="gtfs.agency",
|
||||
verbose_name="Agency",
|
||||
),
|
||||
),
|
||||
@ -427,7 +427,7 @@ class Migration(migrations.Migration):
|
||||
"gtfs_feed",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to="sncfgtfs.gtfsfeed",
|
||||
to="gtfs.gtfsfeed",
|
||||
verbose_name="GTFS feed",
|
||||
),
|
||||
),
|
||||
@ -522,7 +522,7 @@ class Migration(migrations.Migration):
|
||||
"gtfs_feed",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to="sncfgtfs.gtfsfeed",
|
||||
to="gtfs.gtfsfeed",
|
||||
verbose_name="GTFS feed",
|
||||
),
|
||||
),
|
||||
@ -533,7 +533,7 @@ class Migration(migrations.Migration):
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.PROTECT,
|
||||
related_name="children",
|
||||
to="sncfgtfs.stop",
|
||||
to="gtfs.stop",
|
||||
verbose_name="Parent station",
|
||||
),
|
||||
),
|
||||
@ -554,7 +554,7 @@ class Migration(migrations.Migration):
|
||||
primary_key=True,
|
||||
related_name="update",
|
||||
serialize=False,
|
||||
to="sncfgtfs.stoptime",
|
||||
to="gtfs.stoptime",
|
||||
verbose_name="Stop time",
|
||||
),
|
||||
),
|
||||
@ -591,7 +591,7 @@ class Migration(migrations.Migration):
|
||||
field=models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="stop_times",
|
||||
to="sncfgtfs.stop",
|
||||
to="gtfs.stop",
|
||||
verbose_name="Stop ID",
|
||||
),
|
||||
),
|
||||
@ -631,7 +631,7 @@ class Migration(migrations.Migration):
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="transfers_from",
|
||||
to="sncfgtfs.stop",
|
||||
to="gtfs.stop",
|
||||
verbose_name="From stop",
|
||||
),
|
||||
),
|
||||
@ -640,7 +640,7 @@ class Migration(migrations.Migration):
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="transfers_to",
|
||||
to="sncfgtfs.stop",
|
||||
to="gtfs.stop",
|
||||
verbose_name="To stop",
|
||||
),
|
||||
),
|
||||
@ -661,7 +661,7 @@ class Migration(migrations.Migration):
|
||||
primary_key=True,
|
||||
related_name="update",
|
||||
serialize=False,
|
||||
to="sncfgtfs.trip",
|
||||
to="gtfs.trip",
|
||||
verbose_name="Trip",
|
||||
),
|
||||
),
|
||||
@ -695,7 +695,7 @@ class Migration(migrations.Migration):
|
||||
name="gtfs_feed",
|
||||
field=models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to="sncfgtfs.gtfsfeed",
|
||||
to="gtfs.gtfsfeed",
|
||||
verbose_name="GTFS feed",
|
||||
),
|
||||
),
|
||||
@ -705,7 +705,7 @@ class Migration(migrations.Migration):
|
||||
field=models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="trips",
|
||||
to="sncfgtfs.route",
|
||||
to="gtfs.route",
|
||||
verbose_name="Route",
|
||||
),
|
||||
),
|
||||
@ -715,7 +715,7 @@ class Migration(migrations.Migration):
|
||||
field=models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="trips",
|
||||
to="sncfgtfs.calendar",
|
||||
to="gtfs.calendar",
|
||||
verbose_name="Service",
|
||||
),
|
||||
),
|
||||
@ -725,7 +725,7 @@ class Migration(migrations.Migration):
|
||||
field=models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="stop_times",
|
||||
to="sncfgtfs.trip",
|
||||
to="gtfs.trip",
|
||||
verbose_name="Trip",
|
||||
),
|
||||
),
|
||||
@ -754,7 +754,7 @@ class Migration(migrations.Migration):
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="dates",
|
||||
to="sncfgtfs.calendar",
|
||||
to="gtfs.calendar",
|
||||
verbose_name="Service",
|
||||
),
|
||||
),
|
||||
@ -765,9 +765,9 @@ class Migration(migrations.Migration):
|
||||
"ordering": ("id",),
|
||||
"indexes": [
|
||||
models.Index(
|
||||
fields=["service"], name="sncfgtfs_ca_service_837ec3_idx"
|
||||
fields=["service"], name="gtfs_calend_service_211472_idx"
|
||||
),
|
||||
models.Index(fields=["date"], name="sncfgtfs_ca_date_6c4732_idx"),
|
||||
models.Index(fields=["date"], name="gtfs_calend_date_e90040_idx"),
|
||||
],
|
||||
},
|
||||
),
|
||||
@ -804,7 +804,7 @@ class Migration(migrations.Migration):
|
||||
"gtfs_feed",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to="sncfgtfs.gtfsfeed",
|
||||
to="gtfs.gtfsfeed",
|
||||
verbose_name="GTFS feed",
|
||||
),
|
||||
),
|
||||
@ -815,7 +815,7 @@ class Migration(migrations.Migration):
|
||||
"ordering": ("publisher_name",),
|
||||
"indexes": [
|
||||
models.Index(
|
||||
fields=["gtfs_feed"], name="sncfgtfs_fe_gtfs_fe_b5e3d7_idx"
|
||||
fields=["gtfs_feed"], name="gtfs_feedin_gtfs_fe_73554b_idx"
|
||||
)
|
||||
],
|
||||
},
|
||||
@ -823,42 +823,42 @@ class Migration(migrations.Migration):
|
||||
migrations.AddIndex(
|
||||
model_name="calendar",
|
||||
index=models.Index(
|
||||
fields=["gtfs_feed"], name="sncfgtfs_ca_gtfs_fe_061858_idx"
|
||||
fields=["gtfs_feed"], name="gtfs_calend_gtfs_fe_ff03d1_idx"
|
||||
),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name="agency",
|
||||
index=models.Index(fields=["name"], name="sncfgtfs_ag_name_fe3bcd_idx"),
|
||||
index=models.Index(fields=["name"], name="gtfs_agency_name_a6dd2b_idx"),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name="agency",
|
||||
index=models.Index(
|
||||
fields=["gtfs_feed"], name="sncfgtfs_ag_gtfs_fe_588658_idx"
|
||||
fields=["gtfs_feed"], name="gtfs_agency_gtfs_fe_86414c_idx"
|
||||
),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name="route",
|
||||
index=models.Index(
|
||||
fields=["gtfs_feed"], name="sncfgtfs_ro_gtfs_fe_818b6e_idx"
|
||||
fields=["gtfs_feed"], name="gtfs_route_gtfs_fe_c6ac59_idx"
|
||||
),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name="stop",
|
||||
index=models.Index(fields=["name"], name="sncfgtfs_st_name_63b266_idx"),
|
||||
index=models.Index(fields=["name"], name="gtfs_stop_name_1c87d7_idx"),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name="stop",
|
||||
index=models.Index(fields=["code"], name="sncfgtfs_st_code_5b6ba9_idx"),
|
||||
index=models.Index(fields=["code"], name="gtfs_stop_code_5f4ebc_idx"),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name="stop",
|
||||
index=models.Index(
|
||||
fields=["gtfs_feed"], name="sncfgtfs_st_gtfs_fe_a59997_idx"
|
||||
fields=["gtfs_feed"], name="gtfs_stop_gtfs_fe_0e17d6_idx"
|
||||
),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name="tripupdate",
|
||||
index=models.Index(fields=["trip"], name="sncfgtfs_tr_trip_id_56a7e3_idx"),
|
||||
index=models.Index(fields=["trip"], name="gtfs_tripup_trip_id_b3ee0e_idx"),
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name="tripupdate",
|
||||
@ -870,38 +870,38 @@ class Migration(migrations.Migration):
|
||||
field=models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="stop_time_updates",
|
||||
to="sncfgtfs.tripupdate",
|
||||
to="gtfs.tripupdate",
|
||||
verbose_name="Trip update",
|
||||
),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name="trip",
|
||||
index=models.Index(fields=["route"], name="sncfgtfs_tr_route_i_003721_idx"),
|
||||
index=models.Index(fields=["route"], name="gtfs_trip_route_i_6d85d9_idx"),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name="trip",
|
||||
index=models.Index(
|
||||
fields=["gtfs_feed"], name="sncfgtfs_tr_gtfs_fe_55db7e_idx"
|
||||
fields=["gtfs_feed"], name="gtfs_trip_gtfs_fe_e63eac_idx"
|
||||
),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name="stoptime",
|
||||
index=models.Index(fields=["stop"], name="sncfgtfs_st_stop_id_e3012f_idx"),
|
||||
index=models.Index(fields=["stop"], name="gtfs_stopti_stop_id_64a4e3_idx"),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name="stoptime",
|
||||
index=models.Index(fields=["trip"], name="sncfgtfs_st_trip_id_751dca_idx"),
|
||||
index=models.Index(fields=["trip"], name="gtfs_stopti_trip_id_bec7fe_idx"),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name="stoptimeupdate",
|
||||
index=models.Index(
|
||||
fields=["trip_update"], name="sncfgtfs_st_trip_up_a7fabf_idx"
|
||||
fields=["trip_update"], name="gtfs_stopti_trip_up_ffe901_idx"
|
||||
),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name="stoptimeupdate",
|
||||
index=models.Index(
|
||||
fields=["stop_time"], name="sncfgtfs_st_stop_ti_96270f_idx"
|
||||
fields=["stop_time"], name="gtfs_stopti_stop_ti_4f2c63_idx"
|
||||
),
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
0
trainvel/gtfs/migrations/__init__.py
Normal file
@ -1,5 +1,5 @@
|
||||
"""
|
||||
Django settings for sncf project.
|
||||
Django settings for trainvel project.
|
||||
|
||||
Generated by 'django-admin startproject' using Django 5.0.1.
|
||||
|
||||
@ -44,8 +44,8 @@ INSTALLED_APPS = [
|
||||
"django_filters",
|
||||
"rest_framework",
|
||||
|
||||
"sncf.api",
|
||||
"sncfgtfs",
|
||||
"trainvel.api",
|
||||
"trainvel.gtfs",
|
||||
]
|
||||
|
||||
MIDDLEWARE = [
|
||||
@ -69,7 +69,7 @@ CORS_ALLOW_HEADERS = (
|
||||
'Cache-Control',
|
||||
)
|
||||
|
||||
ROOT_URLCONF = "sncf.urls"
|
||||
ROOT_URLCONF = "trainvel.urls"
|
||||
|
||||
TEMPLATES = [
|
||||
{
|
||||
@ -87,7 +87,7 @@ TEMPLATES = [
|
||||
},
|
||||
]
|
||||
|
||||
WSGI_APPLICATION = "sncf.wsgi.application"
|
||||
WSGI_APPLICATION = "trainvel.wsgi.application"
|
||||
|
||||
|
||||
# Database
|
@ -11,8 +11,8 @@ CORS_ALLOWED_ORIGINS = [
|
||||
DATABASES = {
|
||||
"default": {
|
||||
"ENGINE": "django.db.backends.postgresql",
|
||||
"NAME": "sncf",
|
||||
"USER": "sncf",
|
||||
"NAME": "trainvel",
|
||||
"USER": "trainvel",
|
||||
"PASSWORD": "CHANGE ME",
|
||||
"HOST": "localhost",
|
||||
"PORT": "5432",
|
@ -1,5 +1,5 @@
|
||||
"""
|
||||
URL configuration for sncf project.
|
||||
URL configuration for trainvel project.
|
||||
|
||||
The `urlpatterns` list routes URLs to views. For more information please see:
|
||||
https://docs.djangoproject.com/en/5.0/topics/http/urls/
|
||||
@ -18,7 +18,7 @@ from django.contrib import admin
|
||||
from django.urls import path, include
|
||||
from rest_framework import routers
|
||||
|
||||
from sncf.api.views import AgencyViewSet, StopViewSet, RouteViewSet, TripViewSet, StopTimeViewSet, \
|
||||
from trainvel.api.views import AgencyViewSet, StopViewSet, RouteViewSet, TripViewSet, StopTimeViewSet, \
|
||||
CalendarViewSet, CalendarDateViewSet, TransferViewSet, FeedInfoViewSet, NextDeparturesViewSet, NextArrivalsViewSet, \
|
||||
TripUpdateViewSet, StopTimeUpdateViewSet
|
||||
|
@ -1,5 +1,5 @@
|
||||
"""
|
||||
WSGI config for sncf project.
|
||||
WSGI config for trainvel project.
|
||||
|
||||
It exposes the WSGI callable as a module-level variable named ``application``.
|
||||
|
||||
@ -11,6 +11,6 @@ import os
|
||||
|
||||
from django.core.wsgi import get_wsgi_application
|
||||
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "sncf.settings")
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "trainvel.settings")
|
||||
|
||||
application = get_wsgi_application()
|