Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Basic metro models for Django 1.7+, plus the parser that fills models with actual data (lines numbers, lines titles, lines colors, the names of the lines, the station names) from various data sources (primary - Wikipedia).

Project description

django-metro

Metro models for Django (for 2+, for django 1.x support use 0.4.2 version), plus the parser that fills models with actual data from various data providers (primary - Wikipedia). This is renamed django-russian-metro package (!).

All russian and cis parsers (like kiev or minsk) respects locale, that’s why for en locale they returns transliterated version of names. Parsers for other cities takes only english names.

Parser downloads the following data:

  • MetroLine: number, color and title
  • Metro: line binding, title

Also you can run django command sometimes to get always actual data, or use celery task load_metro.

Installing

  1. For install django-metro, run on terminal:

    $ pip install django-metro
    
  2. Then add this app to INSTALLED_APPS:

    INSTALLED_APPS = (
        ...
        'metro',
        ...
    )
    
  3. Apply migrations:

    ./manage.py migrate
    
  4. Choose and specify data provider in settings.py:

    METRO_PROVIDER = 'moscow'
    
  5. Finally, fill models with data:

    ./manage.py load_metro
    
  6. Or:

    from metro.parser import provider
    provider.download_all()
    
  7. Or use celery task load_metro (shared task in tasks.py)

Current available data providers

(list updated)

Assign METRO_PROVIDER (in settings.py) one of the values below (source indicated in brackets):

Russia

  • 'moscow' – Moscow (Wiki)
  • 'spb' – Saint Petersburg (Wiki)
  • 'novgorod' – Nizhny Novgorod (Wiki)
  • 'novosib' – Novosibirsk (Wiki)
  • 'ekat' – Yekaterinburg (Wiki/self)
  • 'kazan' – Kazan (Wiki)
  • 'samara' – Samara (Wiki)
  • 'omsk' – Omsk (self) :)

CIS

  • 'kiev' – Kiev (Wiki)
  • 'minsk' – Minsk (Wiki)

World

  • 'tokyo' – Tokyo (Wiki)
  • 'london' – London (Wiki), very basic (without zones and branches)

Other stuff

You can rename application title with METRO_APP_TITLE in your settings.py:

METRO_APP_TITLE = u'Saint Petersrburg Metro'

Adopted for django-suit (SortableStackedInline).

License

MIT probably.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-metro, version 0.4.5
Filename, size File type Python version Upload date Hashes
Filename, size django_metro-0.4.5-py2-none-any.whl (20.4 kB) File type Wheel Python version py2 Upload date Hashes View hashes
Filename, size django_metro-0.4.5-py3-none-any.whl (18.7 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size django-metro-0.4.5.tar.gz (10.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page