opal/task.py
2012-03-20 04:24:12 +00:00

88 lines
2.3 KiB
Python

#-------------------------------------------------------------------------------
# Name: task.py
# Purpose:
#
# Author: Anton Vakhrushev
#
# Created: 14.03.2012
# Copyright: (c) Anton Vakhrushev 2012
# Licence: LGPL
#-------------------------------------------------------------------------------
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
class TaskDescription:
"""
Description of the task. Task runs on server.
"""
def __init__(self, server, execpath, data):
"""
``server`` is owner of task process
``execpath`` - path to task executable
``data`` is parsed data presentation about models, methods
and meta information
"""
self.server = server
self.execpath = execpath
self.data = data
self.models = []
for label, data in self.data['models'].iteritems():
self.models.append(DataDescription(self, label, data))
def GetModelsDescriptions(self):
return self.models
#-------------------------------------------------------------------------------
class Parameter:
def __init__(self, paramdescr):
pass
def DoDataParametrization(objectdata):
data = objectdata['data']
for label in data:
par = Parameter(data[label])
data[label] = par
class DataDescription:
def __init__(self, parentdescr, label, data):
self.parentdescr = parentdescr
self.label = label
self.data = data
def GetLabel(self):
return self.label
def GetTitle(self):
return self.data.get('title', self.label)
def GetAuthor(self):
return self.data.get('author', 'Unknown')
def GetId(self):
return None
#-------------------------------------------------------------------------------
class DataDefinition:
def __init__(self, objectdescr):
self.descr = objectdescr
self.params = {}
self.taskjob = None
def GetParameter(self, label):
pass
def SetParameter(self, label, value):
pass
#-------------------------------------------------------------------------------
def main():
pass
if __name__ == '__main__':
main()