Blame src/python-problem/problem/tools.py
|
Packit |
8ea169 |
import problem
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
def problemify(probdir, proxy):
|
|
Packit |
8ea169 |
by_typ = dict(zip(problem.PROBLEM_TYPES.values(),
|
|
Packit |
8ea169 |
problem.PROBLEM_TYPES.keys()))
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
typ = proxy.get_item(probdir, 'type')
|
|
Packit |
8ea169 |
reason = proxy.get_item(probdir, 'reason')
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
if typ not in by_typ:
|
|
Packit |
8ea169 |
class_name = 'Unknown'
|
|
Packit |
8ea169 |
else:
|
|
Packit |
8ea169 |
class_name = by_typ[typ].lower().capitalize()
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
prob = getattr(problem, class_name)(reason)
|
|
Packit |
8ea169 |
prob._probdir = probdir
|
|
Packit |
8ea169 |
prob._persisted = True
|
|
Packit |
8ea169 |
prob._proxy = proxy
|
|
Packit |
8ea169 |
|
|
Packit |
8ea169 |
return prob
|