arxiv.submission.domain.compilation module

Data structs related to compilation.

class arxiv.submission.domain.compilation.Compilation(source_id, status, checksum, output_format=<Format.PDF: 'pdf'>, reason=<Reason.NONE: None>, description=None, size_bytes=0, start_time=None, end_time=None)[source]

Bases: object

The state of a compilation attempt from the compiler service.

class Format[source]

Bases: enum.Enum

Supported compilation output formats.

DVI = 'dvi'
PDF = 'pdf'
PS = 'ps'
content_type

Get the MIME type for the compilation product.

class Reason[source]

Bases: enum.Enum

Specific reasons for a (usually failure) outcome.

AUTHORIZATION = 'auth_error'
CANCELLED = 'cancelled'
CORRUPTED = 'corrupted_source'
ERROR = 'compilation_errors'
MISSING = 'missing_source'
NETWORK = 'network_error'
NONE = None
SOURCE_TYPE = 'invalid_source_type'
STORAGE = 'storage'
class Status[source]

Bases: enum.Enum

Acceptable compilation process statuses.

FAILED = 'failed'
IN_PROGRESS = 'in_progress'
SUCCEEDED = 'completed'
class SupportedCompiler[source]

Bases: enum.Enum

Compiler known to be supported by the compiler service.

PDFLATEX = 'pdflatex'
checksum = None

Checksum of the source package that we are compiling.

content_type

Get the MIME type for the compilation product.

description = None

Additional detail about the status.

end_time = None
static get_identifier(source_id, checksum, output_format=<Format.PDF: 'pdf'>)[source]
Return type

str

identifier

Get the task identifier.

output_format = 'pdf'

The requested output format.

reason = None

The specific reason for the status.

size_bytes = 0

The size of the compilation product in bytes.

source_id = None

This is the upload workspace identifier.

start_time = None
status = None

The status of the compilation.

class arxiv.submission.domain.compilation.CompilationLog(stream, status=None, checksum=None, content_type='text/plain')[source]

Bases: object

Content of a compilation log.

checksum = None

The B64-encoded MD5 hash of the log.

content_type = 'text/plain'

MIME-type of the stream.

status = None

Status information about the log.

stream = None

Readable buffer with the product content.

class arxiv.submission.domain.compilation.CompilationProduct(stream, content_type, status=None, checksum=None)[source]

Bases: object

Content of a compilation product itself.

checksum = None

The B64-encoded MD5 hash of the compilation product.

content_type = None

MIME-type of the stream.

status = None

Status information about the product.

stream = None

Readable buffer with the product content.