def search(): form = SearchForm() if form.validate_on_submit(): results = wiki.search(form.term.data) return render_template('search.html', form=form, results=results, search=form.term.data) return render_template('search.html', form=form, search=None)
def show_stock(): form = SearchForm() page = request.args.get(get_page_parameter(), type=int, default=1) if request.method == 'POST': modelQuery = form.data.get('model') queried_stock = UsedStock.query.filter_by(model=modelQuery).all() pagination = UsedStock.paginate_stock_queries(request, queried_stock, page, per_page) flash("Invalid Search Parameter") return render_template("stock/all_used_stock.html", queried_stock=queried_stock, form=form, pagination=pagination) queried_stock = UsedStock.get_all_used_stock() offset = UsedStock.pagination_offset(page, per_page) pagination_results = UsedStock.query.limit(per_page).offset(offset).all() pagination = UsedStock.paginate_stock_queries(request, queried_stock, page, per_page) return render_template("stock/all_used_stock.html", queried_stock=pagination_results, form=form, pagination=pagination)
def index(request): kwargs = {} from form import SearchForm if 'csrfmiddlewaretoken' in request.GET: initials = request.GET else: start_date = date.today() end_date = date.today() + timedelta(days=1) initials = {'offices': [o.id for o in Office.objects.filter(is_active=True)], 'start_date': start_date, 'end_date': end_date} form = SearchForm(initials) if form.is_valid(): brand_type=form.cleaned_data['brand_type'] class_type=form.cleaned_data['class_type'] start_date=form.cleaned_data['start_date'] end_date=form.cleaned_data['end_date'] if brand_type != "": kwargs['brand_type'] = brand_type if class_type != "": kwargs['class_type'] = class_type brand_type=form.cleaned_data['brand_type'] class_type=form.cleaned_data['class_type'] office_ids=form.cleaned_data['offices'] or [] offices = Office.objects.filter(is_active=True, pk__in=office_ids) sort_by=form.cleaned_data['sort_by'] else: offices = Office.objects.filter(is_active=True) request.session['start_date'] = start_date.strftime("%Y-%m-%d") request.session['end_date'] = end_date.strftime("%Y-%m-%d") car_list = [] errors = form._errors.setdefault("offices", ErrorList()) for office in offices: try: rpc_srv = conn.TimeoutServerProxy(office.xmlrpc, timeout=2) for car in rpc_srv.get_cars(kwargs, start_date.strftime("%Y-%m-%d"), end_date.strftime("%Y-%m-%d")): car['office'] = office.name; car_list.append(car) except Exception, exc: errors.append(u"Офис %s не ответил." % office.name ) office.de_activate() pass
def hello(): form = SearchForm() username = '' subreddit = '' num_of_records = '' choice = '' query = '' data = '' if request.method == 'POST': username = request.form['username'] subreddit = request.form['subreddit'] num_of_records = request.form['num_of_records'] choice = request.form['choice'] query = request.form['query'] print(username) print(subreddit) print(num_of_records) print(choice) print(query) print(type(num_of_records)) if choice == 'post': url = f'https://api.pushshift.io/reddit/search/submission/?q={query}&author={username}&subreddit={subreddit}&size={num_of_records}' else: url = f'https://api.pushshift.io/reddit/search/comment/?q={query}&author={username}&subreddit={subreddit}&size={num_of_records}' print(url) response = requests.get(url) response = response.text data = json.loads(response) data = data['data'] # if choice == 'post': # url = f'https://api.pushshift.io/reddit/search/submission/?q={query}&author={username}&subreddit={subreddit}&size={num_of_records}' # response = requests.get(url) # response = response.text # data = json.loads(response) # data = data['data'] # else: # url = f'https://api.pushshift.io/reddit/search/comment/?q={query}&author={username}&subreddit={subreddit}&size={num_of_records}' # response = requests.get(url) # response = response.text # data = json.loads(response) # data = data['data'] return render_template('index.html', form=form, username=username, subreddit=subreddit, num_of_records=num_of_records, choice=choice, query=query, data=data)
def result(request): if request.method == 'POST': form = SearchForm(request.POST) if form.is_valid(): title = request.POST.get('title') form1 = ArticleForm title1 = title if Article.objects.all().filter(title=title): content1 = Article.objects.get(title=title).content user1 = Article.objects.get(title=title).user return render_to_response('result.html', { 'title1': title1, 'user1': user1, 'content1': content1 }) else: return HttpResponseRedirect('/article/default/')
def create_event(): searchform = SearchForm() form = EventForm() if user.number: form = EventForm2() if form.validate_on_submit(): number = user.number if not user.number: number = form.number.data last_id = sql_query( "INSERT INTO Events VALUES(?,?,?,?,?,?,?,?,?,?)", (None, form.header.data, form.sport.data, form.place.data, form.city.data, form.time.data, form.description.data, form.limit.data, 1, number), commit=True, get_id=True) sql_query("INSERT INTO PartIn VALUES(?,?)", (number, last_id), commit=True) if user.number == None: ans = sql_query("SELECT * FROM PLayers WHERE number=?", (form.number.data, )) if ans: return redirect(url_for('login')) else: user.number = form.number.data return redirect(url_for('create_account')) return redirect(url_for('home_page')) if searchform.is_submitted(): data = search_for_events(searchform) return home_page() return render_template("create_event.html", title='Create an event', form=form, user=user, searchform=searchform)
def change_accountinfo(): searchform = SearchForm() if (user.number == None): flash('You have to be logged in to enter that page', 'danger') return redirect('login') form = AccountInfoForm() if form.validate_on_submit(): if bcrypt.check_password_hash(user.password, form.password.data): picture_file = user.photo if form.photo.data: picture_file = save_picture(form.photo.data) user.photo = picture_file ree = sql_query( "UPDATE Players SET name=?, age=?, sex=?, photo=?, bio=? WHERE number=?;", (form.name.data, form.age.data, form.sex.data, picture_file, form.bio.data, user.number), commit=True) user.login(user.number) return redirect(url_for('account')) else: flash('Wrong password', 'danger') elif request.method == 'GET': form.name.data = user.name form.age.data = user.age form.sex.data = user.sex form.bio.data = user.bio if searchform.is_submitted(): data = search_for_events(searchform) return home_page() return render_template("account_info.html", title='Account info', user=user, form=form, searchform=searchform)
def main(): form = SearchForm() if form.validate_on_submit(): isbn = form.isbn.data title = form.title.data.lower() author = form.author.data.lower() pub_year = form.pub_year.data form.isbn.data = "" form.title.data = "" form.author.data = "" form.pub_year.data = "" books = Book.query.filter( or_(Book.isbn.like("%" + isbn + "%"), func.lower(Book.author).like("%" + author + "%"), func.lower(Book.title).like("%" + title + "%"), Book.pub_year == pub_year)).all() if books: return render_template('index.html', form=form, books=books) flash('There is no such a book in our records') return redirect(url_for('main')) books = Book.query[:20] return render_template('index.html', form=form, books=books)
def index(): city_name = "" search_form = SearchForm() city_name = search_form.city_name.data print(city_name) r = requests.get(url.format(city_name)).json() weather = { 'icon': r['weather'][0]['icon'], 'city_name': r['name'], 'tempareture': round((r['main']['temp'])-273.15), 'description': r['weather'][0]['description'] } print(weather) return render_template('index.html', search_form=search_form, weather=weather)
def create_account(): searchform = SearchForm() form = AccountForm() if form.validate_on_submit(): kuva = 'default.png' if form.sex.data == 'Female': kuva = 'default2.png' if form.photo.data: picture_file = save_picture(form.photo.data) kuva = picture_file hashed = None if form.password.data: hashed = bcrypt.generate_password_hash( form.password.data).decode('utf-8') sql_query("INSERT INTO Players VALUES(?,?,?,?,?,?,?)", (form.age.data, form.sex.data, form.name.data, form.bio.data, hashed, form.number.data, kuva), commit=True) user.login(form.number.data) flash('Account created, logged in!', 'primary') return redirect(url_for('home_page')) elif request.method == 'GET' and user.number: form.number.data = user.number if searchform.is_submitted(): data = search_for_events(searchform) return home_page() return render_template("create_account.html", title='Create an account', form=form, user=user, searchform=searchform)
def auteur(request): #on initialise une dictionnaire vide c = {} c.update(csrf(request)) # charge le formulaire dans le fichier form.py form = SearchForm() c = ({'form': form}) if request.method == 'POST': name = request.POST['nom'] last_name = request.POST['prenom'] try: autor = Photo.objects.filter(photographe__nom=name, photographe__prenom=last_name) info = autor[0] c.update({'autor': autor, 'info': info}) except: error = "ce photographe n est pas dans la base de donnee" c.update({'error': error, 'form': form}) c.update(csrf(request)) return render_to_response('auteur.html', c)
def deleteaccount(): if (user.number == None): flash('You have to be logged in to enter that page', 'danger') return redirect('login') form = DeleteAccountForm() searchform = SearchForm() if form.validate_on_submit(): if bcrypt.check_password_hash(user.password, form.password.data): sql_query("DELETE FROM Players WHERE number=?", (user.number, ), commit=True) flash('Account deleted', 'warning') logout() return redirect(url_for('home_page')) else: flash('Password is wrong!', 'danger') return render_template('deleteaccount.html', title='Delete account', user=user, form=form, searchform=searchform)
def before_request(): g.user = current_user g.search_form = SearchForm()
def dispatch_request(self): """ This form is plugeable. That means that all what you need to do is to install the package and run the url :: /ponywhoosh/ (You may change it in the config) and get the results. Returns: Results: The results are sent to the template using bootstrap. They are renderized using whether a grid or a table, depending on what models did you register. By default the first field registered is considered the one that will be contained in the tittle of each searh result. """ ctx = {'form' : SearchForm()} except_field = None query, fields = None, None wildcards = True form = SearchForm() if self.debug: print 'form:' pprint(form.data) if form.validate_on_submit(): add_wildcards = form.add_wildcards.data except_fields = re.split('\W+', form.except_field.data, flags=re.UNICODE) fields = re.split('\W+', form.fields.data, flags=re.UNICODE) models = re.split('\W+', form.models.data, flags=re.UNICODE) query = form.query.data something = form.something.data results = self._pw.search( query , add_wildcards=add_wildcards , something=something , include_entity=True , fields=fields , models=models , except_fields=except_fields , use_dict=False ) if self.debug: print 'form = ', pprint({ 'query': query , 'add_wildcards': add_wildcards , 'something': something , 'include_entity': True , 'fields': fields , 'models': models , 'except_fields': except_fields }) print "results = " pprint(results) return render_template( 'ponywhoosh/results.html' , entidades=list(self._pw._entities.keys()) , action_url_form=self.action_url_form , form=form , results=results , n=results['cant_results'] , labels=results['results'].keys() ) return render_template( 'ponywhoosh/index.html' , form=form , action_url_form=self.action_url_form , query=query )
def search(request): print request.path refined_form = RefinedSearchForm(request.GET) form = SearchForm(request.GET) if refined_form.is_valid(): print "I'M MORE REFINED THAN YOU BITCHES!!" context = { 'results': "refined", } template = loader.get_template("results.html") return HttpResponse(template.render(context)) elif form.is_valid(): session = BaseXClient.Session("localhost", 1984, "admin", "admin") print form.data['search'] search_obj = Search.objects.create( ip_address=request.META['REMOTE_ADDR'], search=form.data['search'] ) search_obj.save() if form.data['search'] == "test_case_1": results = [ { 'element': ( '<name type="person" ' + 'key="http://wtap.vuw.ac.nz/eats/entity/70546/">' + 'McLean</name>' ), 'doc': encrypt( "Colenso/McLean/private_letters/PrLMcL-0021.xml"), 'title': "1868 August 6: McLean to Colenso", "author": "McLean" }, { 'element': ( '<name type="person" ' + 'key="http://wtap.vuw.ac.nz/eats/entity/70546/">' + 'McLean</name>' ), 'doc': encrypt( "Colenso/McLean/private_letters/PrLMcL-0023.xml"), 'title': "1868 October 16: McLean to Colenso", "author": "McLean" }, { 'element': ( '<name type="person" ' + 'key="http://wtap.vuw.ac.nz/eats/entity/70546/">' + 'McLean</name>' ), 'doc': encrypt( "Colenso/McLean/private_letters/PrLMcL-0024.xml"), 'title': "1868 November 6: McLean to Colenso", "author": "McLean" } ] context = { 'search': form.data["search"], 'results': results, 'clean': True, } search_obj.successful = True search_obj.save() template = loader.get_template("results.html") return HttpResponse(template.render(context)) # first lets try doing a text search: try: if form.data['search'][0] == '"': print "Trying logical search" cleaned = [] cleaning = '' term = False op = '' for char in form.data["search"]: if char == '"': if term: term = False cleaning = cleaning + char cleaned.append(cleaning + " ") cleaning = '' else: term = True cleaning = cleaning + char if op: op = op.replace("and", "ftand") op = op.replace("or", "ftor") op = op.replace("not", "ftnot") cleaned.append(op + " ") elif term: cleaning = cleaning + char else: op = op + char query = '' print query for value in cleaned: query = query + value input = ( 'XQUERY declare namespace tei= "http://www.tei-c.org/ns/1.0"; ' + 'ft:mark(db:open("Colenso")[. contains text ' + query + ' using wildcards])' ) results = session.execute(input) else: print "Trying raw text search" input = ( "XQUERY declare namespace tei= 'http://www.tei-c.org/ns/1.0'; " + "ft:mark(db:open('Colenso')[. contains text '" + form.data['search'] + "'])" ) results = session.execute(input) if results: split_results = [] last = 0 for i, char in enumerate(results): if char == "/": if results[i+1:i+5] == "TEI>": print results[i+1:i+5] result = results[last:i+5] parsed = etree.fromstring(result) result = etree.tostring( parsed, pretty_print=True ) split_results.append(result) last = i+5 context = { 'search': form.data["search"], 'results': split_results, 'clean': False, 'split': True, } search_obj.successful = True search_obj.save() template = loader.get_template("results.html") return HttpResponse(template.render(context)) except IOError: print "ERROR!!!" pass # now since text search has failed, try an xquery search print "Trying xquery search" input = ( "XQUERY declare namespace tei= 'http://www.tei-c.org/ns/1.0'; " + "db:open('Colenso') " + form.data['search']) try: results = session.execute(input) context = { 'search': form.data["search"], 'results': results, } search_obj.successful = True search_obj.save() except IOError: print "ERROR!!!" context = { 'results': False, } template = loader.get_template("results.html") return HttpResponse(template.render(context)) else: return redirect("/")
def dispatch_request(self): """ This form is plugeable. That means that all what you need to do is to install the package and run the url :: /ponywhoosh/ (You may change it in the config) and get the results. Returns: Results: The results are sent to the template using bootstrap. They are renderized using whether a grid or a table, depending on what models did you register. By default the first field registered is considered the one that will be contained in the tittle of each searh result. """ ctx = {"form": SearchForm()} query, fields = None, None wildcards = True except_field = None form = SearchForm() if self.debug: print "form:" pprint(form.data) if form.validate_on_submit(): query = form.query.data models = re.split("\W+", form.models.data, flags=re.UNICODE) fields = re.split("\W+", form.fields.data, flags=re.UNICODE) except_fields = re.split("\W+", form.except_field.data, flags=re.UNICODE) add_wildcards = form.add_wildcards.data something = form.something.data results = self._pw.search( query, add_wildcards=add_wildcards, something=something, include_entity=True, fields=fields, models=models, except_fields=except_fields, use_dict=False, ) if self.debug: print "form = ", pprint( { "query": query, "add_wildcards": add_wildcards, "something": something, "include_entity": True, "fields": fields, "models": models, "except_fields": except_fields, } ) print "results = " pprint(results) return render_template( "ponywhoosh/results.html", entidades=list(self._pw._entities.keys()), form=form, results=results, n=results["cant_results"], labels=results["results"].keys(), ) return render_template("ponywhoosh/index.html", form=form, query=query)
def whois(): if request.method == 'GET': return render_template("admin.html",r=1,data="请输入网站域名",isactive1="active") form = SearchForm(request.form) if request.method == 'POST' and form.validate(): return render_template("whois.html",success=1,data=form.search.data,r=1,reverses=getreversewhois(form.search.data))
def search_view(request): if request.method == 'POST': form_in = request.POST # 字典型態{'a':[1,2],'b':[5,6],'c':[]} # ======定義使用者本身性別====== try: my_biological_sex = Member.objects.get(user=str(request.user)).biological_sex except: my_biological_sex = None # ======定義使用者本身性別====== # =========分析找男女========== # 輸出 test_biological_sex 1:男女都選或都不選 2:女 3:男 test_girl = 0 test_boy = 0 try: if len(form_in['find_girl']) > 0: test_girl = 1 except: pass try: if len(form_in['find_boy']) > 0: test_boy = 1 except: pass if test_girl == 1: if test_boy == 1: test_biological_sex = 1 else: test_biological_sex = 2 else: if test_boy == 1: test_biological_sex = 3 else: test_biological_sex = 1 del test_girl, test_boy # =========分析找男女========== # ======生成搜索用queryset====== # 已轉換為清單內含字典格式(純PY) ex : [{'id': 1, 'level_id': 2, 'job_id': 2, 'n..... q_set = None if my_biological_sex == '男': if test_biological_sex == 1: # 男女都撈(只撈性向 q_set = filters_view.find_q_set(Member, 2, 3, 4, 6) if test_biological_sex == 2: # 撈女生 q_set = filters_view.find_q_set(Member, 4, 6) if test_biological_sex == 3: # 撈男生 q_set = filters_view.find_q_set(Member, 2, 3) elif my_biological_sex == '女': if test_biological_sex == 1: # 男女都撈(只撈性向 q_set = filters_view.find_q_set(Member, 1, 3, 5, 6) if test_biological_sex == 2: # 撈女生 q_set = filters_view.find_q_set(Member, 5, 6) if test_biological_sex == 3: # 撈男生 q_set = filters_view.find_q_set(Member, 1, 3) else: if test_biological_sex == 1: # 男女都撈(只撈性向 q_set = filters_view.find_q_set(Member, 1, 4, 2, 5, 3, 6) if test_biological_sex == 2: # 撈女生 q_set = filters_view.find_q_set(Member, 4, 6) if test_biological_sex == 3: # 撈男生 q_set = filters_view.find_q_set(Member, 1, 3) # ======生成搜索用queryset====== # ====生成年齡範圍丟入filter===== # 生成 age_range = [10,11,12,13,14,15] 若無設定則生成 0 到 100 if len(form_in['age_min']) != 0 or len(form_in['age_max']) != 0: # 如果有輸入條件才開始進入過濾器 if len(form_in['age_min']) == 0: age_min = 0 # 如果年齡最小值未輸入 則設為0 else: age_min = int(form_in['age_min']) # 如果年齡最小值有輸入 讀進來 if len(form_in['age_max']) == 0: age_max = 300 # 如果年齡最大值未輸入 則設為300 else: age_max = int(form_in['age_max']) # 如果年齡最小值有輸入 讀進來 q_set = filters_view.filter_age(Member, q_set, age_min, age_max) # 過濾器參數 ( 資料庫 , 字典 , 最小值 , 最大值 ) # ====生成年齡範圍丟入filter===== # ====生成身高範圍丟入filter===== if len(form_in['height_min']) != 0 or len(form_in['height_max']) != 0: if len(form_in['height_min']) == 0: height_min = 0 else: height_min = int(form_in['height_min']) if len(form_in['height_max']) == 0: height_max = 300 else: height_max = int(form_in['height_max']) q_set = filters_view.filter_height(Member, q_set, height_min, height_max) # ====生成身高範圍丟入filter===== # ====生成體重範圍丟入filter===== if len(form_in['weight_min']) != 0 or len(form_in['weight_max']) != 0: if len(form_in['weight_min']) == 0: weight_min = 0 else: weight_min = int(form_in['weight_min']) if len(form_in['weight_max']) == 0: weight_max = 300 else: weight_max = int(form_in['weight_max']) q_set = filters_view.filter_weight(Member,q_set,weight_min,weight_max) # ====生成體重範圍丟入filter===== # ==========過濾血型========== blood_type_list = request.POST.getlist('blood_type') # 搜尋者要求的血型 為一清單型態 紀錄方式為 blood_type_id if len(blood_type_list) != 0: # 如果清單內有東西(有搜尋條件) 才開始過濾 q_set = filters_view.filter_blood_type(Member, q_set, blood_type_list) # ==========過濾血型========== # ==========過濾地點========== location_list = request.POST.getlist('location') if len(location_list) != 0: q_set = filters_view.filter_location(Member, q_set, location_list) # ==========過濾地點========== # ==========過濾信仰========== religion_list = request.POST.getlist('religion') if len(religion_list) != 0: q_set = filters_view.filter_religion(Member, q_set, religion_list) # ==========過濾信仰========== # ==========過濾關係========== relationship_list = request.POST.getlist('relationship') if len(relationship_list) != 0: q_set = filters_view.filter_relationship(Member, q_set, relationship_list) # ==========過濾關係========== # ========過濾感情狀態======== relationship_status_list = request.POST.getlist('relationship_status') if len(relationship_status_list) != 0: q_set = filters_view.filter_relationship_status(Member, q_set, relationship_status_list) # ========過濾感情狀態======== # ========過濾照片有無======== # 待決議 # ========過濾照片有無======== # ========輸出優先名單======== q_set_list = [] for c1 in q_set: q_set_list.append([c1,int(q_set[c1])]) q_set_list = sorted(q_set_list, key=lambda x: x[1], reverse=True) # ========輸出優先名單======== end = q_set_list end1 = Member.objects.get(id=9).blood_type_id return render(request,'match/end.html',{'end': end,'end1':end1}) else: form = SearchForm() ver1 = 'ver_view = %s' % (9131207,) return render(request,'match/test.html',{'test': form,'ver1':ver1})
def md5(): if request.method == 'GET': return render_template("admin.html",r=2,data="请输入MD5",isactive2="active") form = SearchForm(request.form) if request.method == 'POST' and form.validate(): return render_template("md5.html",r=2,data=form.search.data,items=crack(form.search.data))
import tkinter as tk from form import SearchForm from controls import UsersControl root = tk.Tk() # root.title = ("SEARCH FORM") root.geometry("300x400") control = UsersControl("test_db.db") search_form = SearchForm(root, control) root.mainloop() #нужно создать форму, куда сами добавляем пользователя # добавить пользователя в БД