oioioi.zeus.backends

Module Contents

Classes

Base64String

String that needs to be encoded using base64 when serializing to JSON.

EagerHTTPBasicAuthHandler

ZeusServer

ZeusTestServer

Useful for manual debugging

Functions

get_zeus_server(zeus_id)

Returns ZeusServer instance for zeus_id.

_json_base64_encode(o)

_json_base64_decode(o[, wrap])

_get_key(dictionary, key)

Attributes

oioioi.zeus.backends.logger[source]
oioioi.zeus.backends.zeus_language_map[source]
exception oioioi.zeus.backends.ZeusError[source]

Bases: Exception

Common base class for all non-exit exceptions.

exception oioioi.zeus.backends.ZeusKeyError[source]

Bases: ZeusError, KeyError

Common base class for all non-exit exceptions.

oioioi.zeus.backends.get_zeus_server(zeus_id)[source]

Returns ZeusServer instance for zeus_id.

class oioioi.zeus.backends.Base64String(string)[source]

Bases: object

String that needs to be encoded using base64 when serializing to JSON.

__str__()[source]

Return str(self).

__unicode__()[source]
__repr__()[source]

Return repr(self).

__eq__(other)[source]

Return self==value.

oioioi.zeus.backends._json_base64_encode(o)[source]
oioioi.zeus.backends._json_base64_decode(o, wrap=False)[source]
oioioi.zeus.backends._get_key(dictionary, key)[source]
class oioioi.zeus.backends.EagerHTTPBasicAuthHandler(user, passwd)[source]

Bases: urllib.request.BaseHandler

http_open(req)[source]
https_open(req)[source]
class oioioi.zeus.backends.ZeusServer(zeus_id, server_info)[source]

Bases: object

_send(url, data=None, retries=None, **kwargs)[source]

Send the encoded data to given URL.

_encode_and_send(url, data=None, **kwargs)[source]

Encodes the data dictionary and sends it to the given URL.

send_regular(zeus_problem_id, kind, source_code, language, submission_id, return_url)[source]
class oioioi.zeus.backends.ZeusTestServer(zeus_id, server_info)[source]

Bases: ZeusServer

Useful for manual debugging In order to use it, add:

‘mock_server’: (‘__use_object__’,

‘oioioi.zeus.backends.ZeusTestServer’, (‘’, ‘’, ‘’)),

to your ZEUS_INSTANCES dict in settings.py and make sure that your ZEUS_PUSH_GRADE_CALLBACK_URL is correctly set.

_send(url, data=None, retries=None, **kwargs)[source]

Send the encoded data to given URL.