Parser for openmensa.org. The parser runs in a Github action and pushes the XML feeds to this page

🗿 Parser status

stuttgart:
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/urllib3/connection.py", line 204, in _new_conn
    sock = connection.create_connection(
        (self._dns_host, self.port),
    ...<2 lines>...
        socket_options=self.socket_options,
    )
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/urllib3/util/connection.py", line 85, in create_connection
    raise err
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/urllib3/util/connection.py", line 73, in create_connection
    sock.connect(sa)
    ~~~~~~~~~~~~^^^^
TimeoutError: [Errno 110] Connection timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/urllib3/connectionpool.py", line 788, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/urllib3/connectionpool.py", line 488, in _make_request
    raise new_e
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/urllib3/connectionpool.py", line 464, in _make_request
    self._validate_conn(conn)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/urllib3/connectionpool.py", line 1106, in _validate_conn
    conn.connect()
    ~~~~~~~~~~~~^^
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/urllib3/connection.py", line 759, in connect
    self.sock = sock = self._new_conn()
                       ~~~~~~~~~~~~~~^^
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/urllib3/connection.py", line 213, in _new_conn
    raise ConnectTimeoutError(
    ...<2 lines>...
    ) from e
urllib3.exceptions.ConnectTimeoutError: (, 'Connection to sws2.maxmanager.xyz timed out. (connect timeout=None)')

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/requests/adapters.py", line 696, in send
    resp = conn.urlopen(
        method=request.method,
    ...<9 lines>...
        chunked=chunked,
    )
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/urllib3/connectionpool.py", line 842, in urlopen
    retries = retries.increment(
        method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
    )
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/urllib3/util/retry.py", line 543, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='sws2.maxmanager.xyz', port=443): Max retries exceeded with url: /inc/ajax-php_konnektor.inc.php (Caused by ConnectTimeoutError(, 'Connection to sws2.maxmanager.xyz timed out. (connect timeout=None)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/mensahd/mensahd/updateFeeds.py", line 159, in updateFeeds
    raise e
  File "/home/runner/work/mensahd/mensahd/updateFeeds.py", line 145, in updateFeeds
    content = getattr(parser, feedMethod)(
        mensaReference)
  File "/home/runner/work/mensahd/mensahd/stuttgart/__init__.py", line 290, in feed_today
    self.handler(canteen, self.xml2locId[name], today)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/mensahd/mensahd/stuttgart/__init__.py", line 109, in parse_url
    r = requests.post(url, data=data, headers=headers)
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/requests/api.py", line 134, in post
    return request("post", url, data=data, json=json, **kwargs)
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/requests/api.py", line 71, in request
    return session.request(method=method, url=url, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/requests/sessions.py", line 651, in request
    resp = self.send(prep, **send_kwargs)
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/requests/sessions.py", line 784, in send
    r = adapter.send(request, **kwargs)
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/requests/adapters.py", line 717, in send
    raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='sws2.maxmanager.xyz', port=443): Max retries exceeded with url: /inc/ajax-php_konnektor.inc.php (Caused by ConnectTimeoutError(, 'Connection to sws2.maxmanager.xyz timed out. (connect timeout=None)'))
  1. 🐏 eppelheim.json

  2. 🐏 hamburg.json

  3. 🐏 heidelberg.json

  4. 🐏 mannheim.json

  5. 🐏 stuttgart.json

  6. 🐏 ulm.json