Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as Plain Text by db ( 13 years ago )
class RootFactory(object):
    __parent__ = None
    __name__ = None

    def __init__(self, request):
        self.request = request

    def __getitem__(self, key):
        if key == "api":
            dispatch = APIDispatcher(self.request)
            dispatch.__name__ = key
            dispatch.__parent__ = self
            return dispatch
        raise KeyError


class APIDispatcher(object):
    __parent__ = None
    __name__ = None

    def __init__(self, request):
        self.request = request

    def __getitem__(self, key):
        if key == "companies":
            dispatch = CompanySelector(self.request)
            dispatch.__name__ = key
            dispatch.__parent__ = self
            return dispatch
        raise KeyError


class CompanySelector(object):
    __parent__ = None
    __name__ = None

    def __init__(self, request):
        self.request = request

    def __getitem__(self, key):
        company = get_db_session().query(Company)
        company = company.get(key)
        if not company:
            raise KeyError
        self.request.company = company
        dispatcher = CompanyDispatcher(self.request)
        dispatcher.__name__ = key
        dispatcher.__parent__ = self
        return dispatcher


class CompanyDispatcher(object):
    __parent__ = None
    __name__ = None

    def __init__(self, request):
        self.request = request

    def __getitem__(self, key):
        if key == "documents":
            dispatch = DocumentDispatcher(self.request)
            dispatch.__name__ = key
            dispatch.__parent__ = self
            return dispatch
        elif key == "invites":
            dispatch = InviteDispatcher(self.request)
            dispatch.__name__ = key
            dispatch.__parent__ = self
            return dispatch
        elif key == "employees":
            dispatch = EmployeeDispatcher(self.request)
            dispatch.__name__ = key
            dispatch.__parent__ = self
            return dispatch
        raise KeyError

 

Revise this Paste

Your Name: Code Language: