def validate_info(ui, errors): """ Validates the fields for errors :param ui: The GUI containing the fields :param errors: The list of errors that have occurred so far :return: None """ # check credentials is_info_good = True if is_field_empty(ui.username): is_info_good = False errors.append("No username provided.") if is_field_empty(ui.password): is_info_good = False errors.append("No password provided.") # validate credentials by hitting monocle-3 if is_info_good: query = VectorQuery(username=ui.username.text(), password=ui.password.text(), client_id=ui.client_id.text(), client_secret=ui.client_secret.text()) query.log_in() if not query.is_login_successful: errors.append( "Unable to verify credentials. See logs for more details.")
def generate_csv(self): # dates now = datetime.now() self.end_date = now self.begin_date = now - timedelta(days=self.days_to_query) current_x = self.left current_y = self.bottom serial_no = 1 # get header dict vector_query = VectorQuery(username=self.username, password=self.password, client_id=self.client_id, client_secret=self.client_secret) vector_query.log_in() vector_params = InfoCubeVectorParams(top=self.top, bottom=self.bottom, left=self.left, right=self.right, time_begin=self.begin_date, time_end=self.end_date) header_result = vector_query.get_vector_result(vector_params) self.vector_header_dict = vector_query.get_vector_data(header_result) for next_x in drange(self.left + INCREMENTAL_INTERVAL, self.right, INCREMENTAL_INTERVAL): for next_y in drange(self.bottom + INCREMENTAL_INTERVAL, self.top, INCREMENTAL_INTERVAL): username = self.username password = self.password client_id = self.client_id client_secret = self.client_secret csv_runnable = CSVRunnable(username, password, client_id, client_secret, serial_no, next_y, current_x, next_x, current_y, self.begin_date, self.end_date, self.vector_header_dict) csv_runnable.csv_object.new_csv_element.connect( self.csv_generator_object.callback) self.pool.start(csv_runnable) serial_no += 1 current_y = next_y current_y = self.bottom current_x = next_x self.finished_submissions = True
def run(self): gbd_params = GBDOrderParams(top=self.top, bottom=self.bottom, left=self.left, right=self.right, time_begin=self.time_begin, time_end=self.time_end) vector_params = InfoCubeVectorParams(top=self.top, bottom=self.bottom, left=self.left, right=self.right, time_begin=self.time_begin, time_end=self.time_end) csv_element = CSVOutput(serial_no=self.serial_no, top=self.top, left=self.left, right=self.right, bottom=self.bottom, polygon=gbd_params.polygon, vector_header_dict=self.vector_header_dict) gbd_query = GBDQuery(username=self.username, password=self.password, client_id=self.client_id, client_secret=self.client_secret) log.info("Starting GBD Query with params: " + str(gbd_params.__dict__)) gbd_query.log_in() # build vectory query vector_query = VectorQuery(username=self.username, password=self.password, client_id=self.client_id, client_secret=self.client_secret) log.info("Starting queries with params: " + str(vector_params.__dict__)) vector_query.log_in() gbd_query.do_aoi_search(gbd_params, csv_element) log.info("GBD Query complete for args: " + str(gbd_params.__dict__)) vector_query.query_vector(vector_params, csv_element) log.info("Vector Query complete for args: " + str(vector_params.__dict__)) self.csv_object.new_csv_element.emit(csv_element)
def generate_csv(self): # dates now = datetime.now() self.end_date = now self.begin_date = now - timedelta(days=self.days_to_query) current_x = self.left current_y = self.bottom serial_no = 1 # get header dict vector_query = VectorQuery(username=self.username, password=self.password, client_id=self.client_id, client_secret=self.client_secret) vector_query.log_in() vector_params = InfoCubeVectorParams(top=self.top, bottom=self.bottom, left=self.left, right=self.right, time_begin=self.begin_date, time_end=self.end_date) header_result = vector_query.get_vector_result(vector_params) self.vector_header_dict = vector_query.get_vector_data(header_result) for next_x in drange(self.left + INCREMENTAL_INTERVAL, self.right, INCREMENTAL_INTERVAL): for next_y in drange(self.bottom + INCREMENTAL_INTERVAL, self.top, INCREMENTAL_INTERVAL): username = self.username password = self.password client_id = self.client_id client_secret = self.client_secret csv_runnable = CSVRunnable(username, password, client_id, client_secret, serial_no, next_y, current_x, next_x, current_y, self.begin_date, self.end_date, self.vector_header_dict) csv_runnable.csv_object.new_csv_element.connect(self.csv_generator_object.callback) self.pool.start(csv_runnable) serial_no += 1 current_y = next_y current_y = self.bottom current_x = next_x self.finished_submissions = True
def validate_info(ui, errors): """ Validates the fields for errors :param ui: The GUI containing the fields :param errors: The list of errors that have occurred so far :return: None """ # check credentials is_info_good = True if is_field_empty(ui.username): is_info_good = False errors.append("No username provided.") if is_field_empty(ui.password): is_info_good = False errors.append("No password provided.") # validate credentials by hitting monocle-3 if is_info_good: query = VectorQuery(username=ui.username.text(), password=ui.password.text(), client_id=ui.client_id.text(), client_secret=ui.client_secret.text()) query.log_in() if not query.is_login_successful: errors.append("Unable to verify credentials. See logs for more details.")