def setUp(self):
        self.logger = logging.getLogger()
        self.client = SmartsheetClient(api_token, logger=self.logger)

        time_str = str(datetime.datetime.utcnow())
        self.new_sheet_name = 'TestRowAddDelete-%s' % time_str

        col_1 = Column("Col 1 - TextNumber",
                       type=CellTypes.TextNumber,
                       primary=True)
        col_2 = Column("Col 2 - Date", type=CellTypes.Date)
        col_3 = Column("Col 3 - Picklist",
                       type=CellTypes.Picklist,
                       options=['Yes', 'No', 'Maybe'])
        col_4 = Column("Col 4 - Checkbox", type=CellTypes.Checkbox)
        col_5 = Column("Col 5 - ContactList", type=CellTypes.ContactList)
        self.columns = [col_1, col_2, col_3, col_4, col_5]

        self.sheet_info = self.client.createSheet(self.new_sheet_name,
                                                  self.columns,
                                                  location='')
        if self.sheet_info is None:
            err = "Failed (probably) to create sheet: %s" % self.new_sheet_name
            self.logger.error(err)
            raise Exception(err)
        self.sheet = self.sheet_info.loadSheet()
        if self.sheet is None:
            err = "Unable to load newly created sheet: %s" % self.new_sheet_name
            self.logger.error(err)
            raise Exception(err)
        self.logger.info("########### Test %s uses Sheet: %s ############",
                         self.__class__.__name__, self.new_sheet_name)
    def test_add_column_to_empty_sheet(self):
        '''Add Columns to an empty Sheet.'''
        # Make sure we can add Rows and set Cells afterwards
        col_2 = Column('Col 2 - Date', type=CellTypes.Date)
        col_3 = Column("Col 3 - Picklist",
                       type=CellTypes.Picklist,
                       options=['Yes', 'No', 'Maybe'])
        # col_4 = Column("Col 4 - Checkbox", type=CellTypes.Checkbox)
        # col_5 = Column("Col 5 - ContactList", type=CellTypes.ContactList)

        self.logger.debug('Before: Columns: %r', self.sheet.columns)
        self.sheet.insertColumn(col_3)
        self.logger.debug('After Append: Columns: %r', self.sheet.columns)
        self.sheet.insertColumn(col_2, index=1)
        self.logger.debug('After Insert @ idx 1: Columns: %r',
                          self.sheet.columns)

        self.assertTrue(
            self.sheet.getColumnByIndex(0).title == "Col 1 - TextNumber")
        self.assertTrue(
            self.sheet.getColumnByIndex(0).type == CellTypes.TextNumber)
        self.assertTrue(self.sheet.getColumnByIndex(1).title == "Col 2 - Date")
        self.assertTrue(self.sheet.getColumnByIndex(1).type == CellTypes.Date)
        self.assertTrue(
            self.sheet.getColumnByIndex(2).title == "Col 3 - Picklist")
        self.assertTrue(
            self.sheet.getColumnByIndex(2).type == CellTypes.Picklist)
        self.assertTrue(
            self.sheet.getColumnByIndex(-1).title == "Col 3 - Picklist")
        self.assertTrue(
            self.sheet.getColumnByIndex(-1).type == CellTypes.Picklist)

        with self.assertRaises(IndexError):
            self.sheet.getColumnByIndex(3)
    def test_add_column_with_numeric_title(self):
        col = Column(17, type=CellTypes.TextNumber)
        self.sheet.insertColumn(col)

        self.assertTrue(self.sheet.getColumnByIndex(1).title == "17")
        self.assertTrue(
            self.sheet.getColumnByIndex(1).type == CellTypes.TextNumber)
    def setUp(self):
        self.logger = logging.getLogger()
        self.client = SmartsheetClient(api_token, logger=self.logger)

        time_str = str(datetime.datetime.utcnow())
        self.new_sheet_name = 'testSheetCreateDelete-%s' % time_str

        col_1 = Column("Col 1 - TextNumber",
                       type=CellTypes.TextNumber,
                       primary=True)
        col_2 = Column("Col 2 - Date", type=CellTypes.Date)
        col_3 = Column("Col 3 - Picklist",
                       type=CellTypes.Picklist,
                       options=['Yes', 'No', 'Maybe'])
        col_4 = Column("Col 4 - Checkbox", type=CellTypes.Checkbox)
        col_5 = Column("Col 5 - ContactList", type=CellTypes.ContactList)
        self.columns = [col_1, col_2, col_3, col_4, col_5]
        # TODO: Add some system or autonumber columns.
        self.logger.info("########### Test uses Sheet: %s ############",
                         self.new_sheet_name)
Ejemplo n.º 5
0
    def setUp(self):
        self.logger = logging.getLogger()
        self.client = SmartsheetClient(api_token, logger=self.logger)

        time_str = str(datetime.datetime.utcnow())
        self.new_sheet_name = 'TestCellAccess-%s' % time_str

        col_1 = Column("Col 1 - TextNumber",
                       type=CellTypes.TextNumber,
                       primary=True)
        col_2 = Column("Col 2 - Date", type=CellTypes.Date)
        col_3 = Column("Col 3 - Picklist",
                       type=CellTypes.Picklist,
                       options=['Yes', 'No', 'Maybe'])
        col_4 = Column("Col 4 - Checkbox", type=CellTypes.Checkbox)
        col_5 = Column("Col 5 - ContactList", type=CellTypes.ContactList)
        col_6 = Column("Col 6 - TextNumber", type=CellTypes.TextNumber)
        self.columns = [col_1, col_2, col_3, col_4, col_5, col_6]

        self.sheet_info = self.client.createSheet(self.new_sheet_name,
                                                  self.columns,
                                                  location='')
        if self.sheet_info is None:
            err = "Failed (probably) to create sheet: %s" % self.new_sheet_name
            self.logger.error(err)
            raise Exception(err)
        self.sheet = self.sheet_info.loadSheet()
        if self.sheet is None:
            err = "Unable to load newly created sheet: %s" % self.new_sheet_name
            self.logger.error(err)
            raise Exception(err)

        self.logger.info("######### Adding Rows to new Sheet ############")

        rw = self.sheet.makeRowWrapper()
        r = rw.makeRow()
        r[0] = "one"
        r[1] = '2014-12-25'
        r[5] = "one.five"
        rw.addRow(r)

        r = rw.makeRow()
        r[0] = "two"
        r[2] = "Yes"
        r[5] = "two.five"
        rw.addRow(r)

        r = rw.makeRow()
        r[0] = "three"
        r[3] = True
        r[5] = "three.five"
        rw.addRow(r)

        self.sheet.addRows(rw)

        self.logger.info("########### Test %s uses Sheet: %s ############",
                         self.__class__.__name__, self.new_sheet_name)