コード例 #1
0
ファイル: views.py プロジェクト: mschenck/django-devel
def search_form(request):
    if request.method == 'GET':
        form = SearchForm()
        return render_to_response('geo_locator/search_form.html', { 'form': form, })

    elif request.method == 'POST':
        form = SearchForm(request.POST)
        if form.is_valid():
            entered_zip = form.cleaned_data['zip_code']

            my_dma = None
            my_dma_name = None

            try:
                my_dma = zipdma.objects.get(zip=entered_zip).dma
            except:
                pass

            try:
                my_dma_name = dmalist.objects.get(dma=my_dma)
            except:
                pass

            my_coord = addr2coord(entered_zip)

            store_list = []
            try:
                store_list = store.objects.all()
            except:
                pass

            results = []
            msg = ""

            for store in store_list:
                store_addr = "%s %s, %s %s" % ( store.Address, store.City, store.State, store.Zip)
                ( store_lat, store_lng ) = addr2coord( store_addr )
                try:
                    store_dma = zipdma.objects.get(zip=store.Zip).dma
                    logging.info( "User in DMA %s" % my_dma_name )
                    if my_dma == store_dma:
                        test_coord = (store_lat, store_lng)
                        if closeEnough(my_coord, test_coord):
                            results.append( (store.StoreName, store.Address, "%s, %s %s" % (store.City, store.State, store.Zip), store.Phone) )
                except:
                   test_coord = (store_lat, store_lng)
                   if closeEnough(my_coord, test_coord):
                       results.append( (store.StoreName, store.Address, "%s, %s %s" % (store.City, store.State, store.Zip), store.Phone) )

            if len(results) == 0:
                msg = "There are no stores in your area."

            return render_to_response('geo_locator/search_results.html', { 'results': results, 'msg': msg, 'dma_name': my_dma_name})
    else:
        return search_form(request)
コード例 #2
0
def get_search_form():
    request_content = get_websoc_request()
    parsed_html = BeautifulSoup(request_content, "lxml")
    # Remove default selected quarter
    selected_quarter = parsed_html.find("select", {"name": "YearTerm"}).find_all(attrs={"selected": "selected"})[0]
    # Parses for term info
    raw_terms = parsed_html.find("select", {"name": "YearTerm"}).find_all("option")
    # Pick the first quarter if it's not Summer, otherwise use default selection
    if "Summer" not in raw_terms[0].text:
        if selected_quarter:
            del selected_quarter.attrs["selected"]
        raw_terms[0].attrs["selected"] = "selected"
    clean_terms = [line["value"] for line in raw_terms]
    terms = [str(line).replace("\xa0", "") for line in raw_terms]
    # Parses for GE info
    raw_general_ed = parsed_html.find("select", {"name": "Breadth"}).find_all("option")
    clean_general_eds = [line["value"] for line in raw_general_ed]
    general_eds = [str(line).replace("\xa0", "") for line in raw_general_ed]
    # Parses for department info
    raw_departments = parsed_html.find("select", {"name": "Dept"}).find_all("option")
    clean_departments = [line["value"] for line in raw_departments]
    departments = [str(line).replace("\xa0", "") for line in raw_departments]
    return SearchForm(
        terms=terms,
        clean_terms=clean_terms,
        general_eds=general_eds,
        clean_general_eds=clean_general_eds,
        departments=departments,
        clean_departments=clean_departments,
    )
コード例 #3
0
ファイル: main.py プロジェクト: jogplus/zotcourse
def get_search_form():
    request_content = get_websoc_request()
    parsed_html = BeautifulSoup(request_content, "lxml")
    # Parses for term info
    raw_terms = parsed_html.find("select", {
        "name": "YearTerm"
    }).find_all("option")
    clean_terms = [line["value"] for line in raw_terms]
    terms = [str(line).replace("\xa0", "") for line in raw_terms]
    # Parses for GE info
    raw_general_ed = parsed_html.find("select", {
        "name": "Breadth"
    }).find_all("option")
    clean_general_eds = [line["value"] for line in raw_general_ed]
    general_eds = [str(line).replace("\xa0", "") for line in raw_general_ed]
    # Parses for department info
    raw_departments = parsed_html.find("select", {
        "name": "Dept"
    }).find_all("option")
    clean_departments = [line["value"] for line in raw_departments]
    departments = [str(line).replace("\xa0", "") for line in raw_departments]
    return SearchForm(terms=terms,
                      clean_terms=clean_terms,
                      general_eds=general_eds,
                      clean_general_eds=clean_general_eds,
                      departments=departments,
                      clean_departments=clean_departments)
コード例 #4
0
    def get(self):
        list_template = jinja_env.get_template('templates/list.html')
        id = self.request.get('id')
        key = ndb.Key(urlsafe=id)
        temp_name = key.get()
        if not temp_name:
            self.error(404)
            self.response.out.write('Page not found')
            return

        tutors = SearchForm.query(SearchForm.user_type != temp_name.user_type,
                                  SearchForm.sub == temp_name.sub,
                                  SearchForm.avb == temp_name.avb).fetch()

        user = check_user()
        if not user:
            variables = {
                'login_button': 'show',
                'logout_button': 'hide',
                'url': users.create_login_url('/create'),
                'clients': tutors,
            }
        else:
            variables = {
                'login_button': 'hide',
                'logout_button': 'show',
                'url': users.create_logout_url('/'),
                'clients': tutors,
            }
        self.response.write(list_template.render(variables))
コード例 #5
0
ファイル: main.py プロジェクト: jogplus/zotcourse
def update_listing_cache(request):
    form_info = datastore_get("Form", "form", FORM_EXPIRE_TIME)
    if not form_info:
        form_info = get_search_form()
        datastore_set("Form", "form", form_info.json())
    form_info_cache = SearchForm.parse_raw(form_info.get('data'))

    # Splits hour into 10 possible indexes
    mn_idx = datetime.now(timezone.utc).minute // 6
    # Multiply by the total possible indexes of mn_idx
    hr_idx = datetime.now(timezone.utc).hour * 10
    hash_index = ((mn_idx + hr_idx) % len(form_info_cache.clean_departments))
    # Skip over ALL department
    if hash_index == 0:
        return
    params = {
        'YearTerm': form_info_cache.clean_terms[0],
        'Dept': form_info_cache.clean_departments[hash_index],
        'force': True
    }
    try:
        requests.get(f'{ZOTCOURSE_BASE_URL}/search',
                     params=params,
                     timeout=0.001)
    except Exception:
        return
コード例 #6
0
ファイル: main.py プロジェクト: nischithp/Cloud_Computing
def home():
    form = SearchForm(request.form)
    if request.method == "POST":
        searchString = form.searchBar.data
        params = {"data": {"searchString": searchString
                            },
              "request": "search"}
        # res = requests.post(userDataCloudURL, json=params)

    params = {"data": {"searchString": ""
                            },
              "request": "search"}
    # res = requests.post(userDataCloudURL, json=params)

    # linking storage
    # storage_client = storage.Client.from_service_account_json(
    #                 'C:/Users/nisch/Downloads/cloudcomputinglab-291822-bf0774247e88.json')
    # bucket_name = "videos_360"
    # videoNames = storage_client.list_blobs(bucket_name)

    # bucket_name="videos_thumbnail"
    # thumbnails = storage_client.list_blobs(bucket_name)

    # for blob in blobs:
    #     print(blob.name)    
    return render_template(indexURL, form=form)
コード例 #7
0
def form(request):
    if request.method == "POST":  # 当提交表单时

        form = SearchForm(request.POST)  # form 包含提交的数据

        if form.is_valid():  # 如果提交的数据合法
            location = form.cleaned_data["location"]
            language = form.cleaned_data["language"]

            Dict = {"filename": location + language}
            if GetSearchInfo(location, language):
                return render(request, "search_result.html", {"Dict": json.dumps(Dict)})
            else:
                return HttpResponse(str("查找结果不存在,请重新输入!"))

    else:  # 当正常访问时
        form = SearchForm()
    return render(request, "search.html", {"form": form})
コード例 #8
0
def index():
    form = SearchForm()

    if form.validate_on_submit():
        real_name = steam.check_game(form.name.data)
        if real_name is not None:
            return redirect(
                url_for('words', name=real_name),
                code=307)  # POST request to check if the name comes from form.
        else:
            form.name.data = ''
            return render_template('search-error.html', form=form)

    if steam.failed:
        steam.failed = False
        form.name.data = ''
        return render_template('search-warning.html', form=form)
    else:
        return render_template('search.html', form=form)
コード例 #9
0
ファイル: views.py プロジェクト: mnolae/adtv-django
def index(request):
    if request.method == 'POST':  # If the form has been submitted...
        form = SearchForm(request.POST)  # A form bound to the POST data
        if form.is_valid():  # All validation rules pass

            valor = Search()

            valor.sdata = request.POST['sdata']
            valor.sdate = request.POST['sdate']

            valor.save()

            return render(request, 'form.html', {
                'form': form,
            })
    else:
        form = SearchForm()  # An unbound form

    return render(request, 'form.html', {
        'form': form,
    })
コード例 #10
0
    def post(self):
        print("boi")
        search_template = jinja_env.get_template('templates/create.html')

        user_type = self.request.get('userclass')
        sub = self.request.get('subject')
        availability = self.request.get('avb')
        user = users.get_current_user()
        user_id = user.user_id()
        name = user.nickname()
        email = user.email()

        variables = {
            'name': name,
            'user_type': user_type,
            'sub': sub,
            'availability': availability,
            'user_id': user_id,
            'email': email,
        }
        print(variables)
        info = SearchForm(name=name,
                          user_type=user_type,
                          sub=sub,
                          avb=availability,
                          id=user_id,
                          email=email)
        existing_info = SearchForm.query(
            SearchForm.name == name, SearchForm.email == email,
            SearchForm.sub == sub, SearchForm.id == user_id,
            SearchForm.avb == availability,
            SearchForm.user_type == user_type).fetch(limit=1)
        if len(existing_info) > 0:
            self.redirect('/list?id=%s' % existing_info[0].key.urlsafe())
        else:
            info.put()
            self.redirect('/list?id=%s' % info.key.urlsafe())
コード例 #11
0
ファイル: main.py プロジェクト: jogplus/zotcourse
def update_listing_cache_alt(request):
    form_info = datastore_get("Form", "form", FORM_EXPIRE_TIME)
    if not form_info:
        form_info = get_search_form()
        datastore_set("Form", "form", form_info.json())
    form_info_cache = SearchForm.parse_raw(form_info.get('data'))

    for department in form_info_cache.clean_departments:
        if department.strip() == 'ALL':
            continue
        params = {
            'YearTerm': form_info_cache.clean_terms[0],
            'Dept': department,
            'force': True
        }
        try:
            requests.get(f'{ZOTCOURSE_BASE_URL}/search',
                         params=params,
                         timeout=0.001)
        except Exception:
            continue
コード例 #12
0
def before_request():
    g.post = Post.query.order_by("time_created").first()
    g.search_form = SearchForm()