def sources(): while True: option = prompts.prompt_options(get_msg("Choose a Source Option"), [ "new", "edit", "delete", None, "list", "test", None, "back to menu" ], print_options=False, menu_style=True, menu_title=get_title("Sources")) if option == "back to menu": return elif option == "new": source.source_creator(source.Source()) elif option == "edit": source.edit_source() elif option == "delete": source.delete_source() elif option == "list": source.list_sources(pause_after=1) elif option == "test": test_source() else: print(f"'{option}' not implemented.")
def edit_source(source_id): State.load() source = Source.query.get_or_404(source_id) form = SourceForm() if form.validate_on_submit(): if form.test.data: web_url = form.website.data Dict = {1: 'kijiji'} prime_source = prime.Source(module=Dict.get(form.module.data), module_properties={ 'url': web_url, 'botname': "prime" }) try: total_ads = prime.test_webui_source(prime_source).total_new_ads except: message = "Not a valid source" else: message = f"Found {total_ads} new ads" \ if total_ads != 1 else "Found 1 new ad" finally: if web_url == "": message = "Not a valid source" flash(message, "notification") else: source.module = form.module.data source.name = form.name.data source.website = form.website.data source.location = form.location.data source.range = form.range.data # source.subreddit = form.subreddit.data db.session.commit() State.refresh_sources() flash('Your source has been updated!', 'top_flash_success') return redirect(url_for('main.sources', source_id=source.id)) elif request.method == 'GET': form.module.data = source.module form.name.data = source.name form.website.data = source.website form.location.data = source.location form.range.data = source.range # form.subreddit.data = source.subreddit return render_template('create-source.html', title='Update Source', form=form, legend='Update Source')
def to_new_core_source(source_model): s = source_model module = 0 if s.module == 1: module = "kijiji" module_properties = {"url": s.website} return source.Source(id=s.id, name=s.name, module=module, module_properties=module_properties)
def create_source(): State.load() form = SourceForm() if form.validate_on_submit(): if form.test.data: web_url = form.website.data Dict = {1: 'kijiji'} prime_source = prime.Source(module=Dict.get(form.module.data), module_properties={ 'url': web_url, 'botname': "prime" }) try: total_ads = prime.test_webui_source(prime_source).total_new_ads except: message = "Not a valid source" else: message = f"Found {total_ads} new ads" \ if total_ads != 1 else "Found 1 new ad" finally: if web_url == "": message = "Not a valid source" flash(message, "notification") else: source = Source( module=form.module.data, name=form.name.data, website=form.website.data, location=form.location.data, range=form.range.data, # subreddit=form.subreddit.data ) db.session.add(source) db.session.commit() State.refresh_sources() flash('Your source has been saved!', 'top_flash_success') return redirect(url_for('main.sources')) return render_template('create-source.html', title='Create Source', form=form, legend='Create Source')
def test_source_agent(): json = request.json web_url = json['website'] print(web_url) print(json['module']) Dict = {1: 'kijiji'} if not web_url: return "Not a valid source" prime_source = prime.Source(module=Dict.get(int(json['module'])), module_properties={ 'url': web_url, 'botname': "prime" }) try: total_ads = prime.test_webui_source(prime_source).total_new_ads except: return "Not a valid source" else: return f"Found {total_ads} new ads" \ if total_ads != 1 else "Found 1 new ad"