def __init__(self, url, configuration=Configuration(), debug=False): # Set debugging settings if debug: self.debug = debug # Find site settings supported_sites = configuration.get_supported_sites().items() _, settings = ( ( (site, settings) for (site, settings) in supported_sites if site in url ).__next__()) # Attempt to retrieve page try: page = requests.get( url, headers={"User-Agent": UserAgent().random}) except: raise HTTPStatusException(page.status_code) else: print("Retrieved [%s](%s) Length: %d" % (settings["site"], url, len(page.text))) # Get domain name parsed_uri = urlparse(url) self.domain = '{uri.scheme}://{uri.netloc}'.format(uri=parsed_uri) # Save url self.url = url # Process article page_soup = BeautifulSoup(page.text, "html.parser") article_soup = page_soup.select_one(settings["content_selector"]) if article_soup is None: return # Convert all URLs to static global URLs article_soup = self.replace_url(article_soup) # Modify specified selectors article_html = self.modify_selectors( article_soup, settings["modifications"]) # Replace local regex article_html = self.replace_local( article_html, settings["replacements"]) self.article_html = article_html # Replace html with markdown article_text = self.replace_markdown(article_html) # Replace global regex article_text = self.replace_global(article_text) # Save article text to object-scope variable self.article_text = article_text if debug: print(article_html)
def on_state_changed(self): sbm_normalised = self.sbm_check_box.isChecked() background_method = self.background_button_group.checkedButton().method excluded_spots = self.calculate_current_excluded_spots() self.current_config = Configuration(sbm_normalised, background_method, excluded_spots) self.state_changed.emit()
def process_samples(self): self.clear_previous_calculations() samples = list(self.samples_by_name.values()) equilibrium_standards = self.view.ask_user_for_equilibrium_standards( samples, []) if equilibrium_standards is None: return for sample in samples: if sample in equilibrium_standards: sample.is_standard = True # age_standard_info = self.view.ask_user_for_age_standard(samples, equilibrium_standards) # if age_standard_info is None: # return # self.manual_whole_rock_values(samples) self.view.ask_user_for_WR_activity_ratios(samples) self.standardise_all_sbm_and_calculate_time_series(samples) default_config = Configuration( normalise_by_sbm=True, background_method=BackgroundCorrection.EXP, excluded_spots=frozenset()) self.view.show_user_results(samples, default_config, self.ensure_config_calculated, self.data, self.export_results)
def update_configuration(): if request.is_json: try: json_data = request.get_data() active_charity = json_data['active_charity'] configuration_json = configurationRepository.read() configuration = Configuration.build_from_json(configuration_json) if configuration is None: configuration = Configuration(last_donation_value=0.0, active_charity=active_charity) configurationRepository.create(configuration) else: configuration.active_charity = active_charity configurationRepository.update(configuration) except KeyError as e: raise Exception("Key not found in json_data: {}".format(e.message)) configuration = Configuration.build_from_json( configurationRepository.read()) return dumps(configuration.get_as_json())
def initialize(self): try: with open(self.fileName, 'r') as json_file: json_array = json.load(json_file) configurations = [] for item in json_array: url = item['url'] user = User(item['user']['username'], item['user']['password']) testCase = item['test_case'] configuration = Configuration(url) configuration.user = user configuration.testCase = testCase configurations.append(configuration) return configurations except FileNotFoundError: print( f'ConfigurationManager - Error: file {self.fileName} is not found!' )
def __init__(self): print("RNPB started in", "debug" if self.debug else "standard", "mode") # Don't print stacktrace on ctrl-c signal.signal(signal.SIGINT, lambda x, y: sys.exit(0)) self.configuration = Configuration() self.reddit = Reddit(self.configuration)