Imported core, m, ag and serial for refactoring
This commit is contained in:
parent
6f28ac0382
commit
5baa9b75d0
25 changed files with 918 additions and 4 deletions
49
ag/ag.header.pyx
Normal file
49
ag/ag.header.pyx
Normal file
|
@ -0,0 +1,49 @@
|
|||
"""
|
||||
Overwatch Aggregate Object type
|
||||
|
||||
TODO Method overrides: _common gets renamed to _call_all and we add _call_last.
|
||||
"""
|
||||
|
||||
class ModuleCollision(Exception):
|
||||
def __init__(self, colliding_module_name, resident_module_names, item_type, items):
|
||||
self.colliding_module_name = colliding_module_name
|
||||
self.resident_module_names = resident_module_names
|
||||
self.item_type = item_type
|
||||
self.items = items
|
||||
|
||||
def __str__(self):
|
||||
if self.item_type == "name":
|
||||
return "Unable to link module '%s': name already present in Aggregate." %(self.colliding_module_name)
|
||||
else:
|
||||
return "Unable to link module '%s': %s(s) '%s' already provided by module(s) '%s'." %(self.colliding_module_name,
|
||||
self.item_type, "', '".join(self.items), "', '".join(self.resident_module_names))
|
||||
|
||||
class ModuleDependencyError(Exception):
|
||||
def __init__(self, module_name, dependencies, unlink=False):
|
||||
self.module_name = module_name
|
||||
self.dependencies = dependencies
|
||||
self.unlink = unlink
|
||||
|
||||
def __str__(self):
|
||||
if self.unlink:
|
||||
return "Unable to unlink module '%s': Aggregate depends on its export(s) '%s'." %(self.module_name,
|
||||
"', '".join(self.dependencies))
|
||||
else:
|
||||
return "Unable to link module '%s': requirement '%s' unsatisfied by Aggregate." %(self.module_name,
|
||||
"', '".join(self.dependencies))
|
||||
|
||||
class CommonMethodMissing(Exception):
|
||||
def __init__(self, method_name, module_name):
|
||||
self.method_name = method_name
|
||||
self.module_name = module_name
|
||||
|
||||
def __str__(self):
|
||||
return "Unable to link module '%s': method '%s' (declared as common) does not exist in module." %(
|
||||
self.module_name, self.method_name)
|
||||
|
||||
class ModuleDoesntExist(Exception):
|
||||
def __init__(self, module_name):
|
||||
self.module_name = module_name
|
||||
|
||||
def __str__(self):
|
||||
return "Unable to unlink module '%s': not linked to Aggregate." %(self.module_name)
|
Loading…
Add table
Add a link
Reference in a new issue