Error 500, continue

CircuitPython on hardware including Adafruit's boards, and CircuitPython libraries using Blinka on host computers.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
User avatar
Saketaram
 
Posts: 17
Joined: Fri May 27, 2022 4:51 pm

Error 500, continue

Post by Saketaram »

Running next train on portal M4 with 64 x 32 LED matrix. Works for few times, and then we get
example of outcome
example of outcome
Next Train Paris.jpeg (149.89 KiB) Viewed 250 times
Retrieving data...Traceback (most recent call last):
File "code.py", line 110, in <module>
File "code.py", line 28, in next_trains
File "adafruit_portalbase/network.py", line 587, in fetch_data
File "adafruit_portalbase/network.py", line 598, in _parse_data
File "adafruit_portalbase/network.py", line 553, in check_response
HttpError: Code 500: Internal Server Error

Code done running.
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.


How to delay and continue when Error 500 occur?
I do the request every 65 seconds only, not more frequent.

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: Error 500, continue

Post by mikeysklar »

The check_response() function in the adafruit_portalbase library will error out if the server is not available. You could modify your library to behave different with a retry/continue or request it as a new issue on the github repo.

https://github.com/adafruit/Adafruit_Ci ... rk.py#L529

https://github.com/adafruit/Adafruit_Ci ... ase/issues

Code: Select all

    def check_response(self, response):
        """
        Check the response object status code, change the lights, and return content type
        :param response: The response object from a network call
        """
        headers = self._get_headers(response)

        if self._debug:
            print("Headers:", headers)
        if response.status_code == 200:
            print("Reply is OK!")
            self.neo_status(STATUS_DATA_RECEIVED)  # green = got data
            content_type = self._detect_content_type(headers)
        else:
            if self._debug:
                if "content-length" in headers:
                    print("Content-Length: {}".format(int(headers["content-length"])))
                if "date" in headers:
                    print("Date: {}".format(headers["date"]))
            self.neo_status((100, 0, 0))  # red = http error
            raise HttpError(
                "Code {}: {}".format(
                    response.status_code, response.reason.decode("utf-8")
                )
            )

        return content_type

User avatar
Saketaram
 
Posts: 17
Joined: Fri May 27, 2022 4:51 pm

Re: Error 500, continue

Post by Saketaram »

Looks good.
I would modify the adafruit_portalbase library for my needs and show the changes in this post once done.
But I only see .mpy file, no .py
network_mpy.png
network_mpy.png (69.96 KiB) Viewed 232 times
How can I access network.py and save it as mpy in that folder?

User avatar
tannewt
 
Posts: 3304
Joined: Thu Oct 06, 2016 8:48 pm

Re: Error 500, continue

Post by tannewt »

The source for it is here: https://github.com/adafruit/Adafruit_Ci ... network.py

You can also download a bundle with py instead of mpy files. You won't need to re-mpy it unless you have a memoryerror when importing. You can use the .py file directly in its place.

User avatar
Saketaram
 
Posts: 17
Joined: Fri May 27, 2022 4:51 pm

Re: Error 500, continue

Post by Saketaram »

Hi,
I modified the check_response() function in the adafruit_portalbase library as

Code: Select all

   def check_response(self, response):
        """
        Check the response object status code, change the lights, and return content type

        :param response: The response object from a network call

        """
        headers = self._get_headers(response)

        if self._debug:
            print("Headers:", headers)
        if response.status_code == 200:
            print("Reply is OK!")
            self.neo_status(STATUS_DATA_RECEIVED)  # green = got data
            content_type = self._detect_content_type(headers)
		elif response.status_code == 500:
			print("No reply err 500")
            self.neo_status(STATUS_DATA_RECEIVED)  # green = got data
            time.sleep(15)
        else:
            if self._debug:
                if "content-length" in headers:
                    print("Content-Length: {}".format(int(headers["content-length"])))
                if "date" in headers:
                    print("Date: {}".format(headers["date"]))
            self.neo_status((100, 0, 0))  # red = http error
            raise HttpError(
                "Code {}: {}".format(
                    response.status_code, response.reason.decode("utf-8")
                )
            )

but the LED board doesn't even light up as the log show this error:

Code: Select all

soft reboot

Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
code.py output:
Traceback (most recent call last):
  File "code.py", line 11, in <module>
  File "adafruit_matrixportal/network.py", line 31, in <module>
  File "/lib/adafruit_portalbase/network.py", line 544
IndentationError: unexpected indent

Code done running.

Press any key to enter the REPL. Use CTRL-D to reload.

I can't open network.py in adafruit_matrixportal.
And I don't see the indentation issue (line 544 that I added) in network.py of adafruit portalbase.

Knowing that in adafruit_matrixportal folder, there is only a network.mpy, not a network.py
Image

Could you help please?

Thanks

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: Error 500, continue

Post by mikeysklar »

It has been two months so lets make sure you are using the right bundle and replacing the contents of /lib on your controller with the current source.

This is the the link Python source bundle:

https://github.com/adafruit/Adafruit_Ci ... 220905.zip

When I check it I do see the *.py files (not MPY) as expected.

Code: Select all

$ ls
__init__.py         graphics.py         network.py          wifi_coprocessor.py wifi_esp32s2.py
If you are not already running the current 7.3.3 release of CircuitPython please update to that.

https://circuitpython.org/board/matrixportal_m4/

User avatar
Saketaram
 
Posts: 17
Joined: Fri May 27, 2022 4:51 pm

Re: Error 500, continue

Post by Saketaram »

Hi Mikeysklar,
The /lib provided is 6MB when the portal M4 only has 2 MB. I can't copy /lib from the bundle.
How to choose the right files?

Thanks

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: Error 500, continue

Post by mikeysklar »

We know that you need the adafruit_portalbase.

Can you paste in the code you are running or a link to the Adafruit Learn guide you are following and I can tell you exactly which libraries need to be included in your M4 Portal lib/ folder.

User avatar
Saketaram
 
Posts: 17
Joined: Fri May 27, 2022 4:51 pm

Re: Error 500, continue

Post by Saketaram »

Here the code.py that I run
Attachments
code.py
(4.17 KiB) Downloaded 5 times

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: Error 500, continue

Post by mikeysklar »

You will need to clear out the lib/ folder on your Matrix Portal m4 and install these folder / libraries.

adafruit_display_text/
adafruit_bitmap_font/
adafruit_matrixportal/
neopixel.mpy

This code does not feel famliar. I take it is not based on Adafruit guide?

User avatar
Saketaram
 
Posts: 17
Joined: Fri May 27, 2022 4:51 pm

Re: Error 500, continue

Post by Saketaram »

This is mix between MTA portal code (https://github.com/alejandrorascovan/mta-portal/) linked from Adafruit blog and my own needs for retrieving the next train on the French train system.

I updated to 7.3.3 and I set up the librairies based on the error logs.


After few minutes, I get the same error as before

Code: Select all

Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.

Press any key to enter the REPL. Use CTRL-D to reload.
soft reboot

Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
code.py output:
Connecting to AP Ayotee
Getting time for timezone Europe/Paris
Now:  22 : 39
Retrieving data...Reply is OK!
ZUMO 22:48 Saint-Germain-en-Laye
ZUMO 23:00 Saint-Germain-en-Laye
ZUMO 23:14 Saint-Germain-en-Laye
ZUMO 23:28 Saint-Germain-en-Laye
ZUMO 23:44 Saint-Germain-en-Laye
ZUMO 23:59 Saint-Germain-en-Laye
QIKI 22:51 Marne-la-Vallee Chessy
QIKI 23:06 Marne-la-Vallee Chessy
9 21 12 27
Getting time for timezone Europe/Paris
Now:  22 : 40
Retrieving data...Reply is OK!
ZUMO 22:48 Saint-Germain-en-Laye
ZUMO 23:01 Saint-Germain-en-Laye
ZUMO 23:15 Saint-Germain-en-Laye
ZUMO 23:29 Saint-Germain-en-Laye
ZUMO 23:44 Saint-Germain-en-Laye
ZUMO 23:59 Saint-Germain-en-Laye
QIKI 22:51 Marne-la-Vallee Chessy
QIKI 23:06 Marne-la-Vallee Chessy
8 21 11 26
Getting time for timezone Europe/Paris
Now:  22 : 41
Retrieving data...Traceback (most recent call last):
  File "code.py", line 115, in <module>
  File "code.py", line 25, in next_trains
  File "adafruit_portalbase/network.py", line 587, in fetch_data
  File "adafruit_portalbase/network.py", line 598, in _parse_data
  File "adafruit_portalbase/network.py", line 553, in check_response
HttpError: Code 500: Internal Server Error

Code done running.

Press any key to enter the REPL. Use CTRL-D to reload.

Adafruit CircuitPython 7.3.3 on 2022-08-29; Adafruit Matrix Portal M4 with samd51j19
>>> 

And I have modified the code of network.py in adafruit_portalbase as follows:

Code: Select all

    def check_response(self, response):
        """
        Check the response object status code, change the lights, and return content type

        :param response: The response object from a network call

        """
        headers = self._get_headers(response)

        if self._debug:
            print("Headers:", headers)
        if response.status_code == 200:
            print("Reply is OK!")
            self.neo_status(STATUS_DATA_RECEIVED)  # green = got data
            content_type = self._detect_content_type(headers)
        else:
            if self._debug:
                if "content-length" in headers:
                    print("Content-Length: {}".format(int(headers["content-length"])))
                if "date" in headers:
                    print("Date: {}".format(headers["date"]))
            print("HttpError again, yes")
			self.neo_status((100, 0, 0))  # red = http error
			print("HttpError again")
			time.sleep(15)
			break;
 #           raise HttpError(
 #               "Code {}: {}".format(
 #                  response.status_code, response.reason.decode("utf-8")
 #               )
 #           )

        return content_type
Would there be a cache for network.py? I rebooted the board and I still get this error message, as it shouldn't go through the raise HttpError sequence, right?

User avatar
Saketaram
 
Posts: 17
Joined: Fri May 27, 2022 4:51 pm

Re: Error 500, continue

Post by Saketaram »

Saketaram wrote: Wed Sep 14, 2022 5:10 pm This is mix between MTA portal code (https://github.com/alejandrorascovan/mta-portal/) linked from Adafruit blog and my own needs for retrieving the next train on the French train system.

I updated to 7.3.3 and I set up the librairies based on the error logs.


After few minutes, I get the same error as before

Code: Select all

Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.

Press any key to enter the REPL. Use CTRL-D to reload.
soft reboot

Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
code.py output:
Connecting to AP Ayotee
Getting time for timezone Europe/Paris
Now:  22 : 39
Retrieving data...Reply is OK!
ZUMO 22:48 Saint-Germain-en-Laye
ZUMO 23:00 Saint-Germain-en-Laye
ZUMO 23:14 Saint-Germain-en-Laye
ZUMO 23:28 Saint-Germain-en-Laye
ZUMO 23:44 Saint-Germain-en-Laye
ZUMO 23:59 Saint-Germain-en-Laye
QIKI 22:51 Marne-la-Vallee Chessy
QIKI 23:06 Marne-la-Vallee Chessy
9 21 12 27
Getting time for timezone Europe/Paris
Now:  22 : 40
Retrieving data...Reply is OK!
ZUMO 22:48 Saint-Germain-en-Laye
ZUMO 23:01 Saint-Germain-en-Laye
ZUMO 23:15 Saint-Germain-en-Laye
ZUMO 23:29 Saint-Germain-en-Laye
ZUMO 23:44 Saint-Germain-en-Laye
ZUMO 23:59 Saint-Germain-en-Laye
QIKI 22:51 Marne-la-Vallee Chessy
QIKI 23:06 Marne-la-Vallee Chessy
8 21 11 26
Getting time for timezone Europe/Paris
Now:  22 : 41
Retrieving data...Traceback (most recent call last):
  File "code.py", line 115, in <module>
  File "code.py", line 25, in next_trains
  File "adafruit_portalbase/network.py", line 587, in fetch_data
  File "adafruit_portalbase/network.py", line 598, in _parse_data
  File "adafruit_portalbase/network.py", line 553, in check_response
HttpError: Code 500: Internal Server Error

Code done running.

Press any key to enter the REPL. Use CTRL-D to reload.

Adafruit CircuitPython 7.3.3 on 2022-08-29; Adafruit Matrix Portal M4 with samd51j19
>>> 

And I have modified the code of network.py in adafruit_portalbase as follows:

Code: Select all

    def check_response(self, response):
        """
        Check the response object status code, change the lights, and return content type

        :param response: The response object from a network call

        """
        headers = self._get_headers(response)

        if self._debug:
            print("Headers:", headers)
        if response.status_code == 200:
            print("Reply is OK!")
            self.neo_status(STATUS_DATA_RECEIVED)  # green = got data
            content_type = self._detect_content_type(headers)
        else:
            if self._debug:
                if "content-length" in headers:
                    print("Content-Length: {}".format(int(headers["content-length"])))
                if "date" in headers:
                    print("Date: {}".format(headers["date"]))
            print("HttpError again, yes")
			self.neo_status((100, 0, 0))  # red = http error
			print("HttpError again")
			time.sleep(15)
			break;
 #           raise HttpError(
 #               "Code {}: {}".format(
 #                  response.status_code, response.reason.decode("utf-8")
 #               )
 #           )

        return content_type
Would there be a cache for network.py? I rebooted the board and I still get this error message, as it shouldn't go through the raise HttpError sequence, right?
I even replaced "Reply is OK!" by "Reply is 200". It still showed "Reply is OK!" in the log
I am wondering if there is a caching on network.py. Even after reboot, I have that.
Or is it using a network.py that is not in adafruit_portalbase?

User avatar
Saketaram
 
Posts: 17
Joined: Fri May 27, 2022 4:51 pm

Re: Error 500, continue

Post by Saketaram »

I tried to reset factory the portal M4 with double reset and drag and drop uf2 file but the next time I reboot it, it shows the previous files and my network.py modification for handling error 500 are not considered as I can see in the log of MU

How can I reset the portal M4 so it can take the new network.py?
Saketaram wrote: Thu Sep 15, 2022 9:32 am
Saketaram wrote: Wed Sep 14, 2022 5:10 pm This is mix between MTA portal code (https://github.com/alejandrorascovan/mta-portal/) linked from Adafruit blog and my own needs for retrieving the next train on the French train system.

I updated to 7.3.3 and I set up the librairies based on the error logs.


After few minutes, I get the same error as before

Code: Select all

Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.

Press any key to enter the REPL. Use CTRL-D to reload.
soft reboot

Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
code.py output:
Connecting to AP Ayotee
Getting time for timezone Europe/Paris
Now:  22 : 39
Retrieving data...Reply is OK!
ZUMO 22:48 Saint-Germain-en-Laye
ZUMO 23:00 Saint-Germain-en-Laye
ZUMO 23:14 Saint-Germain-en-Laye
ZUMO 23:28 Saint-Germain-en-Laye
ZUMO 23:44 Saint-Germain-en-Laye
ZUMO 23:59 Saint-Germain-en-Laye
QIKI 22:51 Marne-la-Vallee Chessy
QIKI 23:06 Marne-la-Vallee Chessy
9 21 12 27
Getting time for timezone Europe/Paris
Now:  22 : 40
Retrieving data...Reply is OK!
ZUMO 22:48 Saint-Germain-en-Laye
ZUMO 23:01 Saint-Germain-en-Laye
ZUMO 23:15 Saint-Germain-en-Laye
ZUMO 23:29 Saint-Germain-en-Laye
ZUMO 23:44 Saint-Germain-en-Laye
ZUMO 23:59 Saint-Germain-en-Laye
QIKI 22:51 Marne-la-Vallee Chessy
QIKI 23:06 Marne-la-Vallee Chessy
8 21 11 26
Getting time for timezone Europe/Paris
Now:  22 : 41
Retrieving data...Traceback (most recent call last):
  File "code.py", line 115, in <module>
  File "code.py", line 25, in next_trains
  File "adafruit_portalbase/network.py", line 587, in fetch_data
  File "adafruit_portalbase/network.py", line 598, in _parse_data
  File "adafruit_portalbase/network.py", line 553, in check_response
HttpError: Code 500: Internal Server Error

Code done running.

Press any key to enter the REPL. Use CTRL-D to reload.

Adafruit CircuitPython 7.3.3 on 2022-08-29; Adafruit Matrix Portal M4 with samd51j19
>>> 

And I have modified the code of network.py in adafruit_portalbase as follows:

Code: Select all

    def check_response(self, response):
        """
        Check the response object status code, change the lights, and return content type

        :param response: The response object from a network call

        """
        headers = self._get_headers(response)

        if self._debug:
            print("Headers:", headers)
        if response.status_code == 200:
            print("Reply is OK!")
            self.neo_status(STATUS_DATA_RECEIVED)  # green = got data
            content_type = self._detect_content_type(headers)
        else:
            if self._debug:
                if "content-length" in headers:
                    print("Content-Length: {}".format(int(headers["content-length"])))
                if "date" in headers:
                    print("Date: {}".format(headers["date"]))
            print("HttpError again, yes")
			self.neo_status((100, 0, 0))  # red = http error
			print("HttpError again")
			time.sleep(15)
			break;
 #           raise HttpError(
 #               "Code {}: {}".format(
 #                  response.status_code, response.reason.decode("utf-8")
 #               )
 #           )

        return content_type
Would there be a cache for network.py? I rebooted the board and I still get this error message, as it shouldn't go through the raise HttpError sequence, right?
I even replaced "Reply is OK!" by "Reply is 200". It still showed "Reply is OK!" in the log
I am wondering if there is a caching on network.py. Even after reboot, I have that.
Or is it using a network.py that is not in adafruit_portalbase?

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: Error 500, continue

Post by mikeysklar »

The changes you make to network.py should be saved assuming you are writing out the file and unmounting the board before disconnecting the USB cable.

If you really want to wipe the contents and start fresh you could use the Simpletest UF2 image for 64x32 which will most likely wipe your MatrixPortal code and libraries out so save your work first. I was looking for a NUKE image, but did not find one for the MatrixPortal M4.

https://cdn-learn.adafruit.com/assets/a ... 1620663420

https://learn.adafruit.com/adafruit-mat ... es-3072892

User avatar
Saketaram
 
Posts: 17
Joined: Fri May 27, 2022 4:51 pm

Re: Error 500, continue

Post by Saketaram »

Hi Mikeysklar,

When I connect the USB cable to Portal M4 connected to the LED panel, I see the folder CircuitPY in my File Explorer. Checking the lib/adafruit_portalbase, the file network.py shows:

Code: Select all

    def check_response(self, response):
        """
        Check the response object status code, change the lights, and return content type

        :param response: The response object from a network call

        """
        headers = self._get_headers(response)

        if self._debug:
            print("Headers:", headers)
        if response.status_code == 200:
            print("Reply is OK. Yes Ok!")
            self.neo_status(STATUS_DATA_RECEIVED)  # green = got data
            content_type = self._detect_content_type(headers)
        else:
            print("HttpError again, yes yes") 
			if self._debug:
                if "content-length" in headers:
                    print("Content-Length: {}".format(int(headers["content-length"])))
                if "date" in headers:
                    print("Date: {}".format(headers["date"]))
            print("HttpError again, yes")
			self.neo_status((100, 0, 0))  # red = http error
			print("HttpError again")
			time.sleep(15)
			break;
 #           raise HttpError(
 #               "Code {}: {}".format(
 #                  response.status_code, response.reason.decode("utf-8")
 #               )
 #           )

        return content_type
I disconnected the Matrix Portal M4 from the LED panel with USB plugged in on Matrix Portal. I then removed the USB. Then, I plugged Matrix Portal to the LED before connecting USB to Matrix Portal again.

And this is the result, which doesn't use the messages I expect

Code: Select all

Getting time for timezone Europe/Paris
Now:  11 : 31
Retrieving data...Reply is OK!
ZUPE 11:43 Saint-Germain-en-Laye
ZUPE 12:01 Saint-Germain-en-Laye
ZUPE 12:05 Saint-Germain-en-Laye
ZUPE 12:10 Saint-Germain-en-Laye
ZUPE 12:18 Saint-Germain-en-Laye
ZUPE 12:30 Saint-Germain-en-Laye
QIWI 11:34 Marne-la-Vallee Chessy
QIWI 11:41 Marne-la-Vallee Chessy
12 30 3 10
Getting time for timezone Europe/Paris
Now:  11 : 32
Retrieving data...Reply is OK!
ZUPE 11:43 Saint-Germain-en-Laye
ZUPE 11:59 Saint-Germain-en-Laye
ZUPE 12:05 Saint-Germain-en-Laye
ZUPE 12:10 Saint-Germain-en-Laye
ZUPE 12:17 Saint-Germain-en-Laye
ZUPE 12:31 Saint-Germain-en-Laye
QIWI 11:33 Marne-la-Vallee Chessy
QIWI 11:41 Marne-la-Vallee Chessy
QIWI 11:53 Marne-la-Vallee Chessy
11 27 9 21
Getting time for timezone Europe/Paris
Now:  11 : 33
Retrieving data...Reply is OK!
ZUPE 11:43 Saint-Germain-en-Laye
ZUPE 12:00 Saint-Germain-en-Laye
ZUPE 12:04 Saint-Germain-en-Laye
ZUPE 12:10 Saint-Germain-en-Laye
ZUPE 12:17 Saint-Germain-en-Laye
ZUPE 12:30 Saint-Germain-en-Laye
QIWI 11:41 Marne-la-Vallee Chessy
QIWI 11:53 Marne-la-Vallee Chessy
10 27 8 20
Getting time for timezone Europe/Paris
Now:  11 : 34
Retrieving data...Reply is OK!
ZUPE 11:43 Saint-Germain-en-Laye
ZUPE 11:59 Saint-Germain-en-Laye
ZUPE 12:05 Saint-Germain-en-Laye
ZUPE 12:11 Saint-Germain-en-Laye
ZUPE 12:17 Saint-Germain-en-Laye
ZUPE 12:30 Saint-Germain-en-Laye
QIWI 11:41 Marne-la-Vallee Chessy
QIWI 11:53 Marne-la-Vallee Chessy
9 25 7 19
Getting time for timezone Europe/Paris
Now:  11 : 35
Retrieving data...Reply is OK!
ZUPE 11:42 Saint-Germain-en-Laye
ZUPE 11:59 Saint-Germain-en-Laye
ZUPE 12:05 Saint-Germain-en-Laye
ZUPE 12:10 Saint-Germain-en-Laye
ZUPE 12:17 Saint-Germain-en-Laye
ZUPE 12:30 Saint-Germain-en-Laye
QIWI 11:42 Marne-la-Vallee Chessy
QIWI 11:53 Marne-la-Vallee Chessy
7 24 7 18
Getting time for timezone Europe/Paris
Now:  11 : 36
Retrieving data...Reply is OK!
ZUPE 11:43 Saint-Germain-en-Laye
ZUPE 12:00 Saint-Germain-en-Laye
ZUPE 12:04 Saint-Germain-en-Laye
ZUPE 12:11 Saint-Germain-en-Laye
ZUPE 12:17 Saint-Germain-en-Laye
ZUPE 12:30 Saint-Germain-en-Laye
QIWI 11:41 Marne-la-Vallee Chessy
QIWI 11:53 Marne-la-Vallee Chessy
7 24 5 17
Getting time for timezone Europe/Paris
Now:  11 : 38
Retrieving data...Reply is OK!
ZUPE 11:42 Saint-Germain-en-Laye
ZUPE 11:59 Saint-Germain-en-Laye
ZUPE 12:05 Saint-Germain-en-Laye
ZUPE 12:11 Saint-Germain-en-Laye
ZUPE 12:17 Saint-Germain-en-Laye
ZUPE 12:29 Saint-Germain-en-Laye
QIWI 11:41 Marne-la-Vallee Chessy
QIWI 11:53 Marne-la-Vallee Chessy
4 21 3 15
Getting time for timezone Europe/Paris
Now:  11 : 38
Retrieving data...Reply is OK!
ZUPE 11:42 Saint-Germain-en-Laye
ZUPE 11:59 Saint-Germain-en-Laye
ZUPE 12:04 Saint-Germain-en-Laye
ZUPE 12:11 Saint-Germain-en-Laye
ZUPE 12:17 Saint-Germain-en-Laye
ZUPE 12:30 Saint-Germain-en-Laye
QIWI 11:41 Marne-la-Vallee Chessy
QIWI 11:53 Marne-la-Vallee Chessy
4 21 3 15
Getting time for timezone Europe/Paris
Now:  11 : 39
Retrieving data...Traceback (most recent call last):
  File "code.py", line 115, in <module>
  File "code.py", line 25, in next_trains
  File "adafruit_portalbase/network.py", line 587, in fetch_data
  File "adafruit_portalbase/network.py", line 598, in _parse_data
  File "adafruit_portalbase/network.py", line 553, in check_response
HttpError: Code 500: Internal Server Error

Code done running.

Locked
Please be positive and constructive with your questions and comments.

Return to “Adafruit CircuitPython”