def _paginated_search_generator(paginated_search: PaginatedSearch):
        if paginated_search.num_records == 0:
            return

        num_pages = paginated_search.total_pages
        logger.debug('total pages = %d, records in page = %d',
                     paginated_search.total_pages,
                     paginated_search.num_records)
        logger.debug(f'current page index {paginated_search.page_index}')
        logger.debug('going to page %d', 0)

        for p in range(1, num_pages + 1):
            logger.debug('going to page %d', p)
            paginated_search.goto_page(p)
            logger.debug(f'current page index {paginated_search.page_index}')
            yield paginated_search.records
Exemple #2
0
def test_search_all(ns, type_name):
    paginated_search = PaginatedSearch(client=ns,
                                       type_name=type_name,
                                       pageSize=20)
    assert len(paginated_search.records
               ) > 0, 'There are no records of type {}'.format(type_name)
    logger.debug('record = %s', str(paginated_search.records[0]))
Exemple #3
0
    def netsuite_search(
        self,
        type_name: str,
        search_value: str,
        operator: str = "contains",
        page_size: int = 5,
    ) -> PaginatedSearch:
        """Search Netsuite for value from a type. Default operator is
        `contains`.

        :param type_name: search target type name
        :param search_value: what to search for within type
        :param operator: name of the operation, defaults to "contains"
        :param page_size: result items within one page, defaults to 5
        :return: paginated search object
        """
        # pylint: disable=E1101
        record_type_search_field = self.client.SearchStringField(
            searchValue=search_value, operator=operator)
        basic_search = self.client.basic_search_factory(
            type_name, recordType=record_type_search_field)
        paginated_search = PaginatedSearch(
            client=self.client,
            type_name=type_name,
            basic_search=basic_search,
            pageSize=page_size,
        )
        return paginated_search
Exemple #4
0
 def get_all_generator(self):
     record_type_search_field = self.ns_client.SearchStringField(searchValue='VendorBill', operator='contains')
     basic_search = self.ns_client.basic_search_factory('Transaction', recordType=record_type_search_field)
     paginated_search = PaginatedSearch(client=self.ns_client,
                                        type_name='Transaction',
                                        basic_search=basic_search,
                                        pageSize=20)
     return self._paginated_search_to_generator(paginated_search=paginated_search)
 def get_all_by_id(self, internalId):
     cr_type = self.ns_client.CustomRecordSearchBasic(
         recType=self.ns_client.CustomRecordType(
             internalId=internalId
         )
     )
     ps = PaginatedSearch(client=self.ns_client, type_name='CustomRecordType', search_record=cr_type, pageSize=20)
     return list(self._paginated_search_to_generator(paginated_search=ps))
 def get_all_generator(self, page_size=100, last_modified_date=None):
     search_record = self.ns_client.basic_search_factory(
         type_name="Customer", lastModifiedDate=last_modified_date)
     ps = PaginatedSearch(client=self.ns_client,
                          type_name='Customer',
                          pageSize=page_size,
                          search_record=search_record)
     return self._paginated_search_to_generator(ps)
 def get_all_generator(self):
     record_type_search_field = self.ns_client.SearchStringField(
         searchValue='ExpenseReport', operator='contains')
     basic_search = self.ns_client.basic_search_factory(
         'Employee', recordType=record_type_search_field)
     paginated_search = PaginatedSearch(client=self.ns_client,
                                        type_name='Employee',
                                        basic_search=basic_search,
                                        pageSize=20)
     return self._paginated_search_to_generator(
         paginated_search=paginated_search)
Exemple #8
0
def test_search_vendor_bills(ns):
    record_type_search_field = ns.SearchStringField(searchValue='VendorBill',
                                                    operator='contains')
    basic_search = ns.basic_search_factory('Transaction',
                                           recordType=record_type_search_field)
    paginated_search = PaginatedSearch(client=ns,
                                       type_name='Transaction',
                                       basic_search=basic_search,
                                       pageSize=5)
    assert len(paginated_search.records) > 0, 'There are no vendor bills'
    logger.debug('record = %s', str(paginated_search.records[0]))
Exemple #9
0
    def netsuite_search_all(self,
                            type_name: str,
                            page_size: int = 20) -> PaginatedSearch:
        """Search Netsuite for a type results.

        :param type_name: search target type name
        :param page_size: result items within one page, defaults to 5
        :return: paginated search object
        """
        paginated_search = PaginatedSearch(client=self.client,
                                           type_name=type_name,
                                           pageSize=page_size)
        return paginated_search
 def get_all_generator(self, page_size=100, last_modified_date=None):
     record_type_search_field = self.ns_client.SearchStringField(
         searchValue='SalesOrder', operator='contains')
     basic_search = self.ns_client.basic_search_factory(
         'Transaction',
         lastModifiedDate=last_modified_date,
         recordType=record_type_search_field)
     paginated_search = PaginatedSearch(client=self.ns_client,
                                        basic_search=basic_search,
                                        type_name='Transaction',
                                        pageSize=page_size)
     return self._paginated_search_to_generator(
         paginated_search=paginated_search)
 def count(self):
     ps = PaginatedSearch(client=self.ns_client,
                          type_name=self.type_name,
                          pageSize=10,
                          perform_search=True)
     return ps.total_records
 def _search_all_generator(self, page_size):
     ps = PaginatedSearch(client=self.ns_client,
                          type_name=self.type_name,
                          pageSize=page_size)
     return self._paginated_search_to_generator(paginated_search=ps)
def get_record(ns, type_name):
    paginated_search = PaginatedSearch(client=ns, type_name=type_name, pageSize=20)
    return paginated_search.records[0]