class NavigatorPreferencesComposer:
    def __init__(self):

        self.response = Response(outgoing.NavigatorPreferencesComposer)
        self.response.write_int(50)
        self.response.write_int(50)
        self.response.write_int(580)
        self.response.write_int(600)
        self.response.write_bool_int(True)
        self.response.write_int(1)
Пример #2
0
class SearchResultSetComposer:
    def __init__(self, session, tab, search_query):

        categories = game.navigator_manager.get_navigator_categories()

        self.response = Response(outgoing.SearchResultSetComposer)
        self.response.write_string(tab.tab_name)
        self.response.write_string(search_query)

        # If empty search query
        if len(search_query) == 0:

            tabs = []
            room_limit = True

            if tab.child_id != -1:
                tabs.append(tab)
                room_limit = False
            else:
                tabs += (tab.get_child_tabs())

            if tab.show_categories:
                self.response.write_int(len(tabs) + len(categories))
            else:
                self.response.write_int(len(tabs))

            for navigator_tab in tabs:
                self.response.write_string(navigator_tab.tab_name)
                self.response.write_string(navigator_tab.title)

                if room_limit:
                    self.response.write_int(navigator_tab.button_type)
                    self.response.write_bool(navigator_tab.thumbnail)
                else:
                    self.response.write_int(2)
                    self.response.write_bool(False)

                self.response.write_bool_int(navigator_tab.thumbnail)

                _rooms = navigator_tab.populator.generate_listing(
                    room_limit, session)

                self.response.write_int(len(_rooms))  # room_dao count

                for room in _rooms:
                    room.data.serialise(self.response, False)

            if tab.show_categories:
                for category in categories:
                    self.response.write_string(category.name.lower().replace(
                        " ", "_").replace(",",
                                          "").replace("&",
                                                      "").replace("__", "_"))
                    self.response.write_string("")
                    self.response.write_int(2)
                    self.response.write_bool(False)
                    self.response.write_int(0)

                    _rooms = []
                    self.response.write_int(len(_rooms))  # room_dao count

                    for room in _rooms:
                        room.data.serialise(self.response, False)

        else:
            self.response.write_int(0)