Classes and methods¶
pyHaFAS is built object-orientated with a lot of classes. You may know already the
HafasClient and the profileG classes but there a lot more classes for internal use only.
For example the
BaseProfile class consists among others of
BaseJourneyRequest and very important the
Every class in a profileG has an interface that defines abstract methods that the profile class must implement.
pyHaFAS’s code is split in multiple files. These files are sorted as shown in the structure below.
/pyhafas - base directory of source code
profile - contains the profiles (every subdirectory should have the same structure as base)
interfaces - contains all abstract classes
base - Base profile - contains the default handling classes and methods
__init__.py - contains the Profile
helper - contains helper functions that are used by multiple requests
mappings - contains mapping Enum classes
requests - contains code responsible for requests (there is a file for each request-type containing all methods belonging to it)
PROFILENAME - contains the files for the profile (only files and directories with changes)
types - Base directory of all types valid for all profiles
exceptions.py - exceptions pyHaFAS can raise
fptf.py - most of the types important for pyHaFAS
hafas_response.py - contains the
client.py - contains the