learningequality / kolibri-installer-android

Android wrapper for Kolibri.
MIT License
26 stars 22 forks source link

Channel import does not work. #16

Closed christianmemije closed 5 years ago

christianmemije commented 7 years ago

Attempting to import a channel results in a Internal server error.

Tested using: Kolibri Develop branch $10 phone

rtibbles commented 7 years ago

Is there a log file on the device that might have more traceback?

christianmemije commented 7 years ago

@rtibbles

ERROR 1970-03-04 00:21:35,063 base Internal Server Error: /api/tasks/startremoteimport/
Traceback (most recent call last):
  File "kolibri/dist/django/core/handlers/base.py", line 149, in get_response
    response = self.process_exception_by_middleware(e, request)
  File "kolibri/dist/django/core/handlers/base.py", line 147, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "kolibri/dist/django/views/decorators/csrf.py", line 58, in wrapped_view
    return view_func(*args, **kwargs)
  File "kolibri/dist/rest_framework/viewsets.py", line 87, in view
    return self.dispatch(request, *args, **kwargs)
  File "kolibri/dist/rest_framework/views.py", line 466, in dispatch
    response = self.handle_exception(exc)
  File "kolibri/dist/rest_framework/views.py", line 463, in dispatch
    response = handler(request, *args, **kwargs)
  File "/data/data/org.le.kolibri/files/kolibri/tasks/api.py", line 102, in startremoteimport
    get_content_database_file_url(channel_id)).status_code
  File "kolibri/dist/requests/api.py", line 97, in head
    return request('head', url, **kwargs)
  File "kolibri/dist/requests/api.py", line 57, in request
    return session.request(method=method, url=url, **kwargs)
  File "kolibri/dist/requests/sessions.py", line 475, in request
    resp = self.send(prep, **send_kwargs)
  File "kolibri/dist/requests/sessions.py", line 585, in send
    r = adapter.send(request, **kwargs)
  File "kolibri/dist/requests/adapters.py", line 467, in send
    raise ConnectionError(e, request=request)
ConnectionError: HTTPConnectionPool(host='studio.learningequality.org', port=80): Max retries exceeded with url: /content/databases/8b4d3e6d3d4842ba8ea658335b5dd252.sqlite3 (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x5f0d56f0>: Failed to establish a new connection: [Errno 4] non-recoverable failure in name resolution.',))
jamalex commented 7 years ago

Is the phone connected to the Internet?

christianmemije commented 7 years ago

So much for being offline... :rage4:

jamalex commented 7 years ago

So it does work for you if it's online?

If so, would then be good to test David Ally's custom APK with it "offline", but connected to a local network with content on a server at the appropriate IP.

christianmemije commented 7 years ago

So it does work for you if it's online?

Surprisingly, it does. :mind-blown:

Okay will try to test that scenario!

jamalex commented 7 years ago

Note that you may need to build a custom APK with the address modified to point to your own server's IP, unless the subnet is the same and you can get that same IP for yourself.