예제 #1
0
파일: bus.py 프로젝트: rmed/pyemtmad
    def get_timetable_lines(self, **kwargs):
        """Obtain information on lines for a travel.

        Args:
            day (int): Day of the month in format DD.
                The number is automatically padded if it only has one digit.
            month (int): Month number in format MM.
                The number is automatically padded if it only has one digit.
            year (int): Year number in format YYYY.
            lines (list[int] | int): Lines to query, may be empty to get
                all the lines.

        Returns:
            Status boolean and parsed response (list[TimetableLinesItem]),
            or message string in case of error.
        """
        # Endpoint parameters
        select_date = util.date_string(
            kwargs.get('day', '01'),
            kwargs.get('month', '01'),
            kwargs.get('year', '1970')
        )

        lines = util.ints_to_string(kwargs.get('lines', []))

        # Request
        params = {'SelectDate': select_date, 'Lines': lines}
        result = self.make_request('bus', 'get_timetable_lines', **params)

        if not util.check_result(result):
            return False, result.get('resultDescription', 'UNKNOWN ERROR')

        # Parse
        values = util.response_list(result, 'resultValues')
        return True, [emtype.TimetableLinesItem(**a) for a in values]
예제 #2
0
    def get_timetable_lines(self, **kwargs):
        """Obtain information on lines for a travel.

        Args:
            day (int): Day of the month in format DD.
                The number is automatically padded if it only has one digit.
            month (int): Month number in format MM.
                The number is automatically padded if it only has one digit.
            year (int): Year number in format YYYY.
            lines (list[int] | int): Lines to query, may be empty to get
                all the lines.

        Returns:
            Status boolean and parsed response (list[TimetableLinesItem]),
            or message string in case of error.
        """
        # Endpoint parameters
        select_date = util.date_string(
            kwargs.get('day', '01'),
            kwargs.get('month', '01'),
            kwargs.get('year', '1970')
        )

        lines = util.ints_to_string(kwargs.get('lines', []))

        # Request
        params = {'SelectDate': select_date, 'Lines': lines}
        result = self.make_request('bus', 'get_timetable_lines', **params)

        if not util.check_result(result):
            return False, result.get('resultDescription', 'UNKNOWN ERROR')

        # Parse
        values = util.response_list(result, 'resultValues')
        return True, [emtype.TimetableLinesItem(**a) for a in values]
예제 #3
0
파일: bus.py 프로젝트: rmed/pyemtmad
    def get_calendar(self, **kwargs):
        """Obtain EMT calendar for a range of dates.

        Args:
            start_day (int): Starting day of the month in format DD.
                The number is automatically padded if it only has one digit.
            start_month (int): Starting month number in format MM.
                The number is automatically padded if it only has one digit.
            start_year (int): Starting year number in format YYYY.
            end_day (int): Ending day of the month in format DD.
                The number is automatically padded if it only has one digit.
            end_month (int): Ending month number in format MM.
                The number is automatically padded if it only has one digit.
            end_year (int): Ending year number in format YYYY.

        Returns:
            Status boolean and parsed response (list[CalendarItem]), or message
            string in case of error.
        """
        # Endpoint parameters
        start_date = util.date_string(
            kwargs.get('start_day', '01'),
            kwargs.get('start_month', '01'),
            kwargs.get('start_year', '1970')
        )

        end_date = util.date_string(
            kwargs.get('end_day', '01'),
            kwargs.get('end_month', '01'),
            kwargs.get('end_year', '1970')
        )

        params = {'SelectDateBegin': start_date, 'SelectDateEnd': end_date}

        # Request
        result = self.make_request('bus', 'get_calendar', **params)

        if not util.check_result(result):
            return False, result.get('resultDescription', 'UNKNOWN ERROR')

        # Parse
        values = util.response_list(result, 'resultValues')
        return True, [emtype.CalendarItem(**a) for a in values]
예제 #4
0
    def get_calendar(self, **kwargs):
        """Obtain EMT calendar for a range of dates.

        Args:
            start_day (int): Starting day of the month in format DD.
                The number is automatically padded if it only has one digit.
            start_month (int): Starting month number in format MM.
                The number is automatically padded if it only has one digit.
            start_year (int): Starting year number in format YYYY.
            end_day (int): Ending day of the month in format DD.
                The number is automatically padded if it only has one digit.
            end_month (int): Ending month number in format MM.
                The number is automatically padded if it only has one digit.
            end_year (int): Ending year number in format YYYY.

        Returns:
            Status boolean and parsed response (list[CalendarItem]), or message
            string in case of error.
        """
        # Endpoint parameters
        start_date = util.date_string(
            kwargs.get('start_day', '01'),
            kwargs.get('start_month', '01'),
            kwargs.get('start_year', '1970')
        )

        end_date = util.date_string(
            kwargs.get('end_day', '01'),
            kwargs.get('end_month', '01'),
            kwargs.get('end_year', '1970')
        )

        params = {'SelectDateBegin': start_date, 'SelectDateEnd': end_date}

        # Request
        result = self.make_request('bus', 'get_calendar', **params)

        if not util.check_result(result):
            return False, result.get('resultDescription', 'UNKNOWN ERROR')

        # Parse
        values = util.response_list(result, 'resultValues')
        return True, [emtype.CalendarItem(**a) for a in values]