что значит abnormal_exit
я выполняю задание, которое проверяеться на удаленном сервере и он присылает мне ошибку
Completion status: ABNORMAL_EXIT
Term sig: null
Error code: 1
и я не представляю, что это значит, если кто-то знает, что это значит, подскажите плз(код на питоне)
Код
import json
class User:
def __init__(self, index: str, triggers: list, shipment: list):
self._index = int(index)
self._triggers = self._listToDict(triggers)
self._shipments = self._listToDict(shipment)
@staticmethod
def _listToDict(obj: list):
result = {}
for key in obj:
result[key] = key
return result
@property
def index(self):
return self._index
@property
def triggers(self) -> dict:
return self._triggers
@property
def shipments(self) -> dict:
return self._shipments
class Offer:
_offer: dict = {'price': None, 'stock_count': None, 'partner_content': None}
_isChange: dict = {'price': False, 'stock_count': False, 'partner_content': False}
def __init__(self, index: str):
self._index = index
@property
def index(self):
return self._index
@property
def isChangePrice(self):
return self._isChange['price']
@property
def isChangeStockCount(self):
return self._isChange['stock_count']
@property
def isChangePartnerContent(self):
return self._isChange['partner_content']
# setters
def set_price(self, obj: int):
self._isChange['price'] = False
if obj is not None and self._offer['price'] != obj:
self._offer['price'] = obj
self._isChange['price'] = True
def set_stock_count(self, obj: int):
self._isChange['stock_count'] = False
if obj is not None and self._offer['stock_count'] != obj:
self._offer['stock_count'] = obj
self._isChange['stock_count'] = True
def set_partner_content(self, obj: dict):
self._isChange['partner_content'] = False
if obj is not None:
if type(self._offer['partner_content']) != dict:
self._offer['partner_content'] = {}
for key in ['title', 'description']:
value = obj.get(key)
if value is not None and self._offer['partner_content'].get(key) != value:
self._offer['partner_content'][key] = value
self._isChange['partner_content'] = True
# helpers
def get_offer(self, fields: list):
result = {'id': self.index}
for field in fields:
value = self._offer[field]
if value is not None:
result[field] = value
return result
if __name__ == '__main__':
n, m = [int(i) for i in input().split()]
# users
users_price = []
users_stock_count = []
users_partner_content = []
# offers
offers = {}
for i in range(n):
a, b, *services = input().split()
temp_index = str(i + 1)
user = User(temp_index, services[:int(a)], services[int(a):int(a)+int(b)])
price = user.triggers.get('price')
stock_count = user.triggers.get('stock_count')
partner_content = user.triggers.get('partner_content')
if price:
users_price.append(user)
if stock_count:
users_stock_count.append(user)
if partner_content:
users_partner_content.append(user)
for i in range(m):
users = {}
data = json.loads(input())
trace_id = data['trace_id'] # trace_id
temp_offer = data['offer']
offer_id = temp_offer['id'] # index offer
offer = offers.get(offer_id)
if offer is None:
offer = Offer(offer_id)
offers[offer_id] = offer
offer.set_price(temp_offer.get('price'))
offer.set_stock_count(temp_offer.get('stock_count'))
offer.set_partner_content(temp_offer.get('partner_content'))
# 1
if offer.isChangePrice:
for user in users_price:
users[user.index] = user
if offer.isChangeStockCount:
for user in users_stock_count:
users[user.index] = user
if offer.isChangePartnerContent:
for user in users_partner_content:
users[user.index] = user
for key in sorted(users.keys()):
user = users[key]
user_fields = [*user.triggers, *user.shipments]
notification = {
'trace_id': trace_id,
'offer': offer.get_offer(user_fields)
}
print(json.dumps(notification))
Источник: Stack Overflow на русском