47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
|
# Copyright 2017 The Chromium Authors. All rights reserved.
|
||
|
# Use of this source code is governed by a BSD-style license that can be
|
||
|
# found in the LICENSE file.
|
||
|
|
||
|
|
||
|
# TODO(borenet): This module was copied from build.git and heavily modified to
|
||
|
# remove dependencies on other modules in build.git. It belongs in a different
|
||
|
# repo. Remove this once it has been moved.
|
||
|
|
||
|
|
||
|
class State(object):
|
||
|
"""Copied from appengine/swarming/server/task_result.py.
|
||
|
|
||
|
KEEP IN SYNC.
|
||
|
|
||
|
Used to parse the 'state' value in task result.
|
||
|
"""
|
||
|
RUNNING = 0x10 # 16
|
||
|
PENDING = 0x20 # 32
|
||
|
EXPIRED = 0x30 # 48
|
||
|
TIMED_OUT = 0x40 # 64
|
||
|
BOT_DIED = 0x50 # 80
|
||
|
CANCELED = 0x60 # 96
|
||
|
COMPLETED = 0x70 # 112
|
||
|
|
||
|
STATES = (
|
||
|
RUNNING, PENDING, EXPIRED, TIMED_OUT, BOT_DIED, CANCELED, COMPLETED)
|
||
|
STATES_RUNNING = (RUNNING, PENDING)
|
||
|
STATES_NOT_RUNNING = (EXPIRED, TIMED_OUT, BOT_DIED, CANCELED, COMPLETED)
|
||
|
STATES_DONE = (TIMED_OUT, COMPLETED)
|
||
|
STATES_ABANDONED = (EXPIRED, BOT_DIED, CANCELED)
|
||
|
|
||
|
_NAMES = {
|
||
|
RUNNING: 'Running',
|
||
|
PENDING: 'Pending',
|
||
|
EXPIRED: 'Expired',
|
||
|
TIMED_OUT: 'Execution timed out',
|
||
|
BOT_DIED: 'Bot died',
|
||
|
CANCELED: 'User canceled',
|
||
|
COMPLETED: 'Completed',
|
||
|
}
|
||
|
|
||
|
@classmethod
|
||
|
def to_string(cls, state):
|
||
|
"""Returns a user-readable string representing a State."""
|
||
|
return cls._NAMES[state]
|