Exemple #1
0
    def initMemory(self, pageSize=None):
        if pageSize is None:
            pageSize = default["pageSize"]

        if pageSize <= 0:
            raise ValueError("UniTable pageSize must be positive (not %d)" % pageSize)

        self.pageSize = pageSize
        page = UniPage(self.fields, self.types)
        page.initMemory(self.pageSize)
        self.pages = [page]
        self.starts = [0]
        self.length = 0
Exemple #2
0
    def initMemory(self, pageSize=None):
        if pageSize is None:
            pageSize = default["pageSize"]

        if pageSize <= 0:
            raise ValueError("UniTable pageSize must be positive (not %d)" %
                             pageSize)

        self.pageSize = pageSize
        page = UniPage(self.fields, self.types)
        page.initMemory(self.pageSize)
        self.pages = [page]
        self.starts = [0]
        self.length = 0
Exemple #3
0
    def fill(self, values):
        try:
            self.pages[-1].fill(values)
            self.length += 1

        except BeyondPageException:
            self.starts.append(self.starts[-1] + self.pages[-1].allocation)

            self._writing()

            page = UniPage(self.fields, self.types)
            page.initMemory(self.pageSize)
            page.categories = self.pages[-1].categories
            self.pages.append(page)
            self.pages[-1].fill(values)
            self.length += 1

            self._cullPages()

        except AttributeError:
            raise UninitializedError("UniTable initMemory or initExisting must be called before fill")
Exemple #4
0
    def fill(self, values):
        try:
            self.pages[-1].fill(values)
            self.length += 1

        except BeyondPageException:
            self.starts.append(self.starts[-1] + self.pages[-1].allocation)

            self._writing()

            page = UniPage(self.fields, self.types)
            page.initMemory(self.pageSize)
            page.categories = self.pages[-1].categories
            self.pages.append(page)
            self.pages[-1].fill(values)
            self.length += 1

            self._cullPages()

        except AttributeError:
            raise UninitializedError(
                "UniTable initMemory or initExisting must be called before fill"
            )