Esempio n. 1
0
def list_page():
    """
    Using the data layer, Jinja2, and the list.html template this function
    EITHER returns the default list page (containing all the projects) OR
    if it has been requested using a POST it instead returns the list page
    containing a list of projects that fit the search parameters contained
    in the POST.

    This function is called when the URL '/list' is requested.

    :return: The list page of our portfolio(containing all or some projects from
            the data layer).
    """
    db = data.load("data.json")
    full_list = data.search(db)
    techniques = data.get_technique_stats(db)

    if request.method == "POST":
        requested_technique_list = request.form.getlist("technique")
        requested_search_fields_list = request.form.getlist("search_fields")
        if not requested_search_fields_list:
            requested_search_fields_list = None
        requested_order = request.form["sort_order"]
        requested_sort_field = request.form["sort_field"]
        requested_text_search = request.form["text_search"]
        if requested_text_search == "":
            requested_text_search = None
        search_results = data.search(
            full_list,
            techniques=requested_technique_list,
            search_fields=requested_search_fields_list,
            sort_order=requested_order,
            sort_by=requested_sort_field,
            search=requested_text_search,
        )

        return render_template(
            "list.html",
            page_name="List Page",
            sortable_fields=sortable_fields,
            searchable_fields=searchable_fields,
            project_list=search_results,
            previous_search_fields=requested_search_fields_list or [],
            previous_text_search=requested_text_search or "",
            previous_techniques=requested_technique_list,
            previous_sort_field=requested_sort_field,
            techniques=sorted(techniques.keys()),
            stylesheets=["list.css", "project-item.css", "search-box.css"],
        )

    else:
        return render_template(
            "list.html",
            page_name="List Page",
            sortable_fields=sortable_fields,
            searchable_fields=searchable_fields or [],
            project_list=full_list,
            techniques=sorted(techniques.keys()),
            stylesheets=["list.css", "project-item.css", "search-box.css"],
        )
Esempio n. 2
0
def search():
    if request.method == 'POST':                                            # if we are in a post requst:
        searchfor= request.form['searchfor']
        if searchfor== '':                                                  # if user just pressed enter
            searchfor_db= None
        else:
            searchfor_db = searchfor
        sel_techniques = request.form.getlist("techniques")
        app.logger.info('sökte efter: "%s" med "%s"', searchfor, sel_techniques)
        return render_template('search.html', 
                config= config_load(), 
                all_techniques= data.get_techniques(data_load()), 
                sel_techniques= sel_techniques,
                searchfor= searchfor,
                data= data.search(data_load(), 
                    sort_by='start_date', 
                    sort_order='desc',
                    techniques=sel_techniques, 
                    search=searchfor_db, 
                    search_fields=None))                                    # after logging send the page to the user
    else:                                                                   # we are in a post; first page view, non enter press. 
    # render default page
        return render_template('search.html', 
                config= config_load(), 
                all_techniques= data.get_techniques(data_load())) 
Esempio n. 3
0
def projects():
    projects = data.load("data.json")
    if request.method == "GET":
        return render_template('list.html', projectlist=projects, listlength=len(projects))
    elif request.method == "POST":
        searchedlist = data.search(projects, search=request.form["searchstr"])
        return render_template('list.html', projectlist=searchedlist, listlength=len(searchedlist))
Esempio n. 4
0
 def get(self, query):
     print "searching"
     data.createNewMathOut()
     book = data.readBook()
     results = data.search(query,book)
     print "here"
     self.write(json.dumps(results))
Esempio n. 5
0
 def search(self):
     t = self.t1.get()
     info = dt.search([t])
     lst = info
     if len(lst) > 9:
         lst = lst[0:9]
     self.showImg(lst)
Esempio n. 6
0
def search_results():
    """Both the result page for searches and the page for advanced searches. The global quicksearch-form leads here with a simple search performed. The "Avancerad sökning"-link also leads here (with an empty search resulting in a list of all projects performed)"""
    available_fields = []
    available_techniques = data.get_techniques(db)
    args = {}
    #Get all keys from the first project in db, so the page can list all available fields.
    for key in db[0].keys():
        available_fields.append(key)

    for argument in ['sort_by', 'sort_order', 'search']:
        try:
            val = request.args[argument].encode('utf-8')
        except:
            if argument == 'sort_by':
                val = 'start_date'
            elif argument == 'sort_order':
                val = 'desc'
            else:
                val = None
        args.update({argument: val})
    #The for-loops above and below this comment parses all search arguments from the url and saves them to the args-dict.
    for argument in ['techniques', 'search_fields']:
        try:
            val = request.args.getlist(argument)
        except:
            val = None
        if val == [] and argument == 'search_fields':
            val = None
        args.update({argument: val})
    #Makes a search with the given parameters and saves the resulting list to results
    results = data.search(db, args['sort_by'], args['sort_order'], args['techniques'], args['search'], args['search_fields'])
    
    return render_template("search.html", title = u"Portfolio - sökning", projects = results, fields=available_fields, techniques=available_techniques)
Esempio n. 7
0
def list():
    """ Renders list.html based on a set of GET-arguments """
    #Call load() in the data layer to load the database and store it's contents in the variable db
    db = data.load('data.json')
    #If there are GET-arguments:
    #Call search() in the data layer with the arguments and store the results in the variable project_lst
    if request.args:
        sort_by = request.args.get('sort_by', 'project_id')
        sort_order = request.args.get('sort_order', 'desc')
        techniques = request.args.getlist('techniques')
        if not techniques:
            techniques = None
        search = request.args.get('search', None)
        search_fields = request.args.getlist('search_fields')
        if not search_fields:
            search_fields = None
        project_lst = data.search(db,
                                  sort_by=sort_by,
                                  sort_order=sort_order,
                                  techniques=techniques,
                                  search=search,
                                  search_fields=search_fields)
    #Else:
    #Store all data in the database, i.e. all projects, in the variable project_lst,
    else:
        project_lst = db
    #Call get_techniques() in the datalayer and store the results in the variable technique_lst
    technique_lst = data.get_techniques(db)
    #Render list.html with:
    #project_lst --> used to display a list of projects
    #technique_lst --> used to display techniques available to filter by in the search-form on the webpage
    return render_template('list.html',
                           project_lst=project_lst,
                           technique_lst=technique_lst)
Esempio n. 8
0
def fun(fnum,time1,time2):

    if fnum == "反馈统计":
        result = fun1(data.search(time1,time2))
    elif fnum == "社区事件统计":
        result = fun2(data.search(time1, time2))
    elif fnum == "热点社区":
        result = fun3(data.search(time1, time2))
    elif fnum == "事件及处理":
        result = fun4(data.search(time1, time2))
    elif fnum == 5:
        import datetime
        time2=str(datetime.datetime.now().replace(year=2018,month=10,day=30,microsecond=0))
        time1='2018-10-30 00:00:00'
        result = fun5(data.search(time1, time2))
    return result
Esempio n. 9
0
def edit():
    """Edit view

    Returns a view of the edit page. The edit page is a list of
    all the currently existing projects in the database.

    Returns
    -------
    render_template

    """
    db = data.load("data.json")
    # Delete project
    if request.method == "POST":
        p_id = request.form["delete"]
        data.remove_project(db, int(p_id))
        data.save(db, "data.json")

        # Remove file
        if os.path.isdir(app.config["PROJECT_IMAGE_DIR"] + p_id + "/"):
            rmtree(app.config["PROJECT_IMAGE_DIR"] + p_id + "/")

        flash("Project deleted.", "success")

    all_projects = data.search(db, search="")
    table_fields = [
        "project_id", "project_name", "short_description", "course_id"
    ]
    return render_template("add.html", **locals())
Esempio n. 10
0
def search1():

    print(Style.DIM + "inside GET")
    print(Style.RESET_ALL)
    pn = request.args.get('pn')
    print(Fore.RED + "Provider : " + pn)
    print(Style.RESET_ALL)
    rn = request.args.get('rn')
    print(Fore.RED + "Reciver : " + rn)
    page1 = int(request.args.get('page'))
    print(Style.RESET_ALL)
    global l1
    l1 = search(pn, rn)
    l2, p, s, e, next, pre, page = give(page1, l1)
    ######################################################
    if page1 > p or page1 <= 0:
        return render_template('404.html', v='Something Wrong')
    ##########################################################
    else:

        return render_template('table.html',
                               l=l2,
                               p=p,
                               start1=s,
                               end1=e,
                               next=next,
                               pre=pre,
                               active1=page,
                               url='search1')
Esempio n. 11
0
 def get(self, query):
     print "searching"
     data.createNewMathOut()
     book = data.readBook()
     results = data.search(query, book)
     print "here"
     self.write(json.dumps(results))
Esempio n. 12
0
def listPage():
	if request.method == 'GET':
		db=load()
		srch=True
		techniques=get_techniques(db)
		projects=search(db, sort_by='start_date',sort_order='desc',techniques=None,search=None,search_fields=None)
		field=get_fields(db)
		return render_template('list.html',srch=srch,projects=projects, field=field, techniques=techniques)
Esempio n. 13
0
def show_project(pid):
    try:
        db = data.load('data.json')
        project_var = data.search(db, search=str(pid), search_fields=['project_no'])
        print(project_var)
        return render_template("project.html", title="project <pid>", projectid = pid, project = project_var)
    except:
        abort(404) #give error 404
Esempio n. 14
0
def index():
    last_project= data.search(data_load(), sort_by='start_date', 
           sort_order='desc',
           techniques=None, search=None, search_fields=None)[-1]            # get the last projects from the projects. 

    return render_template("index.html", 
            db = data_load(), 
            config= config_load(),
            data= last_project
            )
Esempio n. 15
0
def index():
    """ Renders index.html with the latest project """
    #Call load() in the data layer to load the database and store it's contents in the variable db
    db = data.load('data.json')
    #Call search() in the data layer to get a list sorted by end_date in descending order, and pick the first project to get the latest project
    project_lst = data.search(db, sort_by='end_date')
    latest_project = project_lst[0]
    #Render index.html with:
    #latest_project --> used to display information about the latest project
    return render_template('index.html', latest_project=latest_project)
Esempio n. 16
0
    def test_search(self):
        self.assertEqual(len(data.search(self.loaded_data)), 4)

        self.assertEqual(len(data.search(self.loaded_data, techniques=['csv'])), 1)

        res = data.search(self.loaded_data, sort_order='asc',techniques=["python"])
        #Hur avgör vi ordningen i detta fall? Jo genom start_date
#        self.assertEqual(res[0]['project_no'], 2) #2
#        self.assertEqual(res[1]['project_no'], 3) #3
#        self.assertEqual(res[2]['project_no'], 1) #1
        self.assertEqual(res[0]['start_date'], '2009-09-05')
        self.assertEqual(res[1]['start_date'], '2009-09-07')
        self.assertEqual(res[2]['start_date'], '2009-09-08')


        res = data.search(self.loaded_data, 
                                     sort_by="end_date", 
                                     search='okänt', 
                                     search_fields=['project_no','project_name','course_name'])
        self.assertEqual(len(res), 3)
        self.assertEqual(res[0]['project_no'], 2)
        self.assertEqual(res[1]['project_no'], 3)
        self.assertEqual(res[2]['project_no'], 1)
        print('here')
        
        res = data.search(self.loaded_data, 
                                     search="okänt", 
                                     search_fields=["project_no","project_name","course_name"])
        self.assertEqual(len(res), 3)

        res = data.search(self.loaded_data,
                                     techniques=[],
                                     search="okänt",
                                     search_fields=["project_no","project_name","course_name"])
        self.assertEqual(len(res), 3)

        res = data.search(self.loaded_data, search="okänt", search_fields=[])
        self.assertEqual(len(res), 0)
        res = data.search(self.loaded_data, sort_by='group_size')
#        print('loaded:')
#        for d in self.loaded_data:
#            print('no:',d['project_no'], 'size:', d['group_size'])
#        print('expected:')
#        for d in self.expected_data:
#            print('no:',d['project_no'], 'size:', d['group_size'])
#        print('search result:')
#        for d in res:
#            print('no:',d['project_no'], 'size:', d['group_size'])
        #default is descending order
        self.assertEqual(res[0]['project_no'], 4) #1
        self.assertEqual(res[1]['project_no'], 2) #2
        self.assertEqual(res[2]['project_no'], 3) #3
        self.assertEqual(res[3]['project_no'], 1) #4
Esempio n. 17
0
def get_contact_options():
    params = {}

    params['size'] = request.args.get('pageSize')
    params['from'] = request.args.get('page')
    params['query'] = request.args.get('query')

    res_obj = elasticsearch.search(name=None, args=params)

    return jsonify(res_obj)
Esempio n. 18
0
def projects():
    projects = data.load("data.json")
    if request.method == "GET":
        return render_template('list.html',
                               projectlist=projects,
                               listlength=len(projects))
    elif request.method == "POST":
        searchedlist = data.search(projects, search=request.form["searchstr"])
        return render_template('list.html',
                               projectlist=searchedlist,
                               listlength=len(searchedlist))
Esempio n. 19
0
def search():
    projects = data.load("data.json")
    retrived_techniques = data.get_technique_stats(projects)
    if request.method == "GET":
        return render_template('search.html', keys=retrived_techniques.keys())

    elif request.method == "POST":
        searchfields = request.form.getlist("searchfields")
        if len(searchfields) == 0:
            searchfields = None
        foundprojects = data.search(projects, sort_by=request.form.getlist("sortby")[0], sort_order=request.form.getlist("sortorder")[0], techniques=request.form.getlist("techniques"), search=request.form.getlist("searchstr")[0], search_fields=searchfields)
        return render_template('search.html', keys=retrived_techniques.keys(), projectlist=foundprojects, matches=len(foundprojects))
Esempio n. 20
0
def list():
    '''
    Function that uses the search-function from the API and lists all project that match the search the user input.
    Can also sort by different fields and can present the list in ascending or descending order.

    Parameters:

       None

    Returns:

       Render the list-page.

    '''
    # global db
    db = load_json()
    # get the search from the user using GET method
    search_project = request.args.get("search", "")
    # sort by has default value of None it crashes
    sort_byf = request.args.get("sort_by", "start_date")
    sort_order = request.args.get("sort_order", "desc")
    # get a list of all selected search fields that the user selected
    search_fields = request.args.getlist("search_fields")
    # if no search fields are selected from the user then search through all search fields
    if bool(search_fields) is False:
        search_fields = None
    # if no sort by is selected then use default as start date
    if bool(sort_byf) is False:
        sort_byf = "start_date"
    # uses the search funtion from the API and searches thorugh each project depending on the user input
    found_projects = data.search(db,
                                 sort_by=sort_byf,
                                 sort_order=sort_order,
                                 techniques=None,
                                 search=search_project,
                                 search_fields=search_fields)

    # if no project are found with the given search then render list.html with a message to the user that no project could be found with that search
    if len(found_projects) == 0:
        return render_template("list.html",
                               search=search_project,
                               projects=found_projects,
                               sort_by=sort_byf,
                               empty_list=True)

# found_projects = data.search(db, sort_by=sort_byf, sort_order=sort_order,
#                             techniques=None, search=search_project, search_fields=search_fields)

    return render_template("list.html",
                           search=search_project,
                           projects=found_projects,
                           sort_by=sort_byf)
Esempio n. 21
0
def list():
    """List view

    Returns a view of the list page. Utilises the HTML POST
    method to request data from user for use in database search.

    If the method is POST the function will request projects from the
    data.search function and pass them on to the render_template
    method. If the method is GET it will simply return all projects
    from data.search to render_template.

    Returns
    --------
    render_template

    """
    db = data.load("data.json")
    technique_data = data.get_techniques(db)
    search_fields = data.get_searchfields(db)

    if request.method == "POST":
        search = request.form["search"]
        techniques = request.form.getlist("techniques")
        searched_fields = request.form.getlist("searched_fields")
        if request.form["sort"]:
            sort = request.form["sort"]
        else:
            sort = "start_date"
        order = request.form["order"]
        requested_projects = data.search(db,
                                         search=search,
                                         search_fields=searched_fields,
                                         techniques=techniques,
                                         sort_by=sort,
                                         sort_order=order)
        return render_template("list.html", **locals())
    else:
        requested_projects = data.search(db)
        return render_template("list.html", **locals())
Esempio n. 22
0
def search():
	db = data.load("data.json")  
	if request.form["search_word"] == "":
		search_word = None
	else:
		search_word = request.form["search_word"]

	fields = request.form.getlist("field_checkbox") #List of all checked search_fields
	techniques = request.form.getlist("technique_checkbox") #List of all checked techniques
	sort_order = request.form.get("sort_order")
	sort_by = request.form.get("sort_by")

	data_search = data.search(db, search=search_word, search_fields=fields, techniques=techniques, sort_order=sort_order, sort_by=sort_by)
	return render_template("list.html", data=[data_search, data.get_techniques(db)])
Esempio n. 23
0
def main_page():
    """
    Using the data layer, Jinja2, and the start.html template this function
    returns the main page of the portfolio to whoever sent the request.

    This function is called when the URL '/' is requested.

    :return: The main page HTML of our portfolio.
    """
    db = data.load("data.json")
    example_project = choice(data.search(db))
    return render_template(
        "start.html", page_name="Homepage", project_data=example_project, stylesheets=["full-project.css", "start.css"]
    )
Esempio n. 24
0
def home_page():
    """Home Page"""
    #Initiate DataFile
    db = data.init()
    #Code for Last Updated projects
    sorted_list = data.search(db, sort_by="end_date")
    x = 0
    udb = []
    for proj in sorted_list:
        udb.append(proj)
        x += 1
        #Only add three last updated then break
        if x == 3:
            break
    return render_template("home.html", dataB = db, updatedPro = udb)
Esempio n. 25
0
def search_results():
    """ Visa sökresultat """
    db = data_load()
    # Fånga input från användaren
    search_string = request.form["key"]
    search_fields = request.form.getlist("search_fields")
    if search_fields == []:
        search_fields = None  # konvertera så att datalagret förstår
    sort_order = request.form["sort_order"]
    sort_by = request.form["sort_by"]
    techs = request.form.getlist("techniques")
    # Sammanfatta och sök m.h.a. data.py
    search_res = data.search(
        db, search=search_string, sort_order=sort_order, sort_by=sort_by, techniques=techs, search_fields=search_fields
    )
    return render_template("search_results.html", search_res=search_res, db=db, search=search_string)
Esempio n. 26
0
def add_film_with_session(pathname, session):
    """Adds a film to the database, using the given session.

    This function looks at the pathname to determine the title
    and (optionally) the year of the film. Retrieves data via the
    data module, and adds the data along with the pathname
    to the database.
    """
    title = splitext(pathname)[0]
    d = data.search(title)

    if isinstance(d, data.MovieData):
        entry = Movie(pathname=pathname, **d.basic_info())
    else:
        entry = TV(pathname=pathname, **d.basic_info())

    for genre_name in d.genres():
        genre = session.query(Genre).filter_by(name=genre_name).first()
        if not genre:
            genre = Genre(name=genre_name)
        entry.genres.append(genre)

    # TODO: Remove duplicates from d.cast()
    # Test with add_film("Seven Samurai")
    for order, actor_name, role in d.cast():
        with session.no_autoflush:
            actor = session.query(Actor).filter_by(name=actor_name).first()
            if not actor:
                actor = Actor(name=actor_name)

            performance = Performance(role=role)
            performance.actor = actor
            entry.performances.append(performance)
        session.flush()

    session.add(entry)

    # FIXME: poster_url() might be None
    url = d.poster_url()
    r = requests.get(url)
    r.raise_for_status()

    session.commit()
    # FIXME: We need to commit session in order to access entry.id,
    # but that means we can't rollback() if the below lines throws an error
    with open(app.config['IMAGE_DIR'] + '/%s.jpg' % entry.id, 'wb') as f:
        f.write(r.content)
Esempio n. 27
0
    def test_search(self):
        self.assertEqual(len(data.search(self.loaded_data)), 4)

        self.assertEqual(
            len(data.search(self.loaded_data, techniques=['csv'])), 1)

        res = data.search(self.loaded_data,
                          sort_order='asc',
                          techniques=["python"])
        self.assertEqual(res[0]['start_date'], '2009-09-05')
        self.assertEqual(res[1]['start_date'], '2009-09-07')
        self.assertEqual(res[2]['start_date'], '2009-09-08')

        res = data.search(
            self.loaded_data,
            sort_by="end_date",
            search='okänt',
            search_fields=['project_id', 'project_name', 'course_name'])
        self.assertEqual(len(res), 3)
        self.assertEqual(res[0]['project_id'], 2)
        self.assertEqual(res[1]['project_id'], 3)
        self.assertEqual(res[2]['project_id'], 1)

        res = data.search(
            self.loaded_data,
            search="okänt",
            search_fields=["project_id", "project_name", "course_name"])
        self.assertEqual(len(res), 3)

        res = data.search(
            self.loaded_data,
            techniques=[],
            search="okänt",
            search_fields=["project_id", "project_name", "course_name"])
        self.assertEqual(len(res), 3)

        res = data.search(self.loaded_data, search="okänt", search_fields=[])
        self.assertEqual(len(res), 0)
        res = data.search(self.loaded_data, sort_by='group_size')
        #default is descending order
        self.assertEqual(res[0]['project_id'], 4)  #1
        self.assertEqual(res[1]['project_id'], 2)  #2
        self.assertEqual(res[2]['project_id'], 3)  #3
        self.assertEqual(res[3]['project_id'], 1)  #4
Esempio n. 28
0
def techniques():
    ''' 
    Function that lists project based of the selected techniques.
    Can also sort the list by different fields.

    Parameter:

       None
    
    Return:

       Render the techniques-page

    '''
    # global db
    db = load_json()
    # get a list of all unique techniques that are being used by every project and capitalize the first character
    all_tech = data.get_techniques(db)
    for index, tech in enumerate(all_tech):
        all_tech[index] = tech.capitalize()
    # get the techniques that the user has selected using POST method, if the user selects no techniques then list all projects
    if request.method == "POST":
        requested_tech = request.form.getlist("technique")
    else:
        requested_tech = None

    sort_byf = request.args.get("sort_byf", "start_date")

    # find the projects with the selected techniques using the search method from the API
    found_projects = data.search(db,
                                 sort_by=sort_byf,
                                 sort_order='desc',
                                 techniques=requested_tech,
                                 search="",
                                 search_fields=None)

    # if no projects matches the selected techniques render the HTML page techniques.html with an error message notifying it
    if len(found_projects) == 0:
        return render_template("techniques.html",
                               all_tech=all_tech,
                               projects=found_projects,
                               empty_list=True)

    return render_template("techniques.html",
                           all_tech=all_tech,
                           projects=found_projects)
Esempio n. 29
0
def index():
    """ Index view

    Returns a view for the index page. Fetches
    all the projects in the database and passes them
    on to render_template function together with the index.html
    template page.

    Returns
    -------
    render_template

    """
    db = data.load("data.json")
    latest_projects = data.search(db, sort_by='end_date')
    return render_template("index.html",
                           database=db,
                           latest_projects=latest_projects)
Esempio n. 30
0
	def talk(self):
		if self.talk_count == 0:
			return self.talk_first()
		last_response = ''
		# natural language understanding.
		if self.last_msg == None: return None
		color.beginComment()
		keywords = list(jieba.cut(self.last_msg))
		# self.display(keywords)
		color.end()
		self.buildKeywordDict(keywords)

		if self.classifyYesNo() and len(self.yesno_list) > 0:
			keywords = keywords+self.yesno_list
			self.buildKeywordDict(keywords)
			self.yesno_list = []
		# print self.yesno_list

		if self.active_class != None: 
			# downward search.
			values = [self.current_db[ind] for ind in self.active_piece]
			self.state_vspecific = None

			# upward search.

		else:	# rebuild.
			# knoledge acquisition.
			(keys, values) = data.search(data.db_keys, data.db_values, keywords)
			self.active_piece = range(len(values))
			self.state_key = keys
			self.current_db = values
			self.dim = len(self.state_key)-1
			values = self.current_db

		# produce output.
		# print values
		piece = self.answer(values)
		if piece != None:
			last_response = last_response+piece
		question = self.ask()
		if question != None:
			last_response = last_response+'\n'+question

		return last_response
Esempio n. 31
0
def list_page():
    """List Page"""
    db = data.init()
    fields = data.get_fields(db)
    #If user is searhing (POST)
    if request.method == 'POST':
        search_list = []
        for x in data.get_fields(db):
            #only add to list if x exists otherwise pass
            try:
                search_list.append(request.form[x])
            except:
                pass
        if search_list == []:
            search_list = None
        #Selects how it should sort the list
        sort_order = request.form["sort_order"]
        db = data.search(db, search=request.form["search"],sort_order=sort_order, search_fields=search_list)
    return render_template("list.html",dataB = db, _fields = fields)
Esempio n. 32
0
    def test_search(self):
        self.assertEqual(len(data.search(self.loaded_data)), 4)

        self.assertEqual(len(data.search(self.loaded_data, techniques=['csv'])), 1)

        res = data.search(self.loaded_data, sort_order='asc',techniques=["python"])
        self.assertEqual(res[0]['project_no'], 1)
        self.assertEqual(res[1]['project_no'], 3)
        self.assertEqual(res[2]['project_no'], 2)


        res = data.search(self.loaded_data, 
                                     sort_by="end_date", 
                                     search='okänt', 
                                     search_fields=['project_no','project_name','course_name'])
        self.assertEqual(len(res), 3)
        self.assertEqual(res[0]['project_no'], 2)
        self.assertEqual(res[1]['project_no'], 3)
        self.assertEqual(res[2]['project_no'], 1)
        
        res = data.search(self.loaded_data, 
                                     search="okänt", 
                                     search_fields=["project_no","project_name","course_name"])
        self.assertEqual(len(res), 3)

        res = data.search(self.loaded_data,
                                     techniques=[],
                                     search="okänt",
                                     search_fields=["project_no","project_name","course_name"])
        self.assertEqual(len(res), 3)

        res = data.search(self.loaded_data, search="okänt", search_fields=[])
        self.assertEqual(len(res), 0)

        res = data.search(self.loaded_data, sort_by='group_size')
        self.assertEqual(res[0]['project_no'], 4)
        self.assertEqual(res[1]['project_no'], 2)
        self.assertEqual(res[2]['project_no'], 3)
        self.assertEqual(res[3]['project_no'], 1)
Esempio n. 33
0
def show():
	s = flask.request.args.get('q')				
	if not s:
		return flask.render_template('search_result.html',
					result = None,
					page_title = u'Поиск',
					search_str = '',
					message = s
					)
	res = data.search(s)
	if not res:
		msg = u'Ничего не найдено, попробуйте изменить запрос'
	else:
		msg = u'Найдено подходящих товаров: ' + str(len(res))
		
	return flask.render_template('search_result.html',
					results = res,
					page_title = u'Поиск ' + s,
					search_str = s,
					message = msg
					)
Esempio n. 34
0
def search():
    projects = data.load("data.json")
    retrived_techniques = data.get_technique_stats(projects)
    if request.method == "GET":
        return render_template('search.html', keys=retrived_techniques.keys())

    elif request.method == "POST":
        searchfields = request.form.getlist("searchfields")
        if len(searchfields) == 0:
            searchfields = None
        foundprojects = data.search(
            projects,
            sort_by=request.form.getlist("sortby")[0],
            sort_order=request.form.getlist("sortorder")[0],
            techniques=request.form.getlist("techniques"),
            search=request.form.getlist("searchstr")[0],
            search_fields=searchfields)
        return render_template('search.html',
                               keys=retrived_techniques.keys(),
                               projectlist=foundprojects,
                               matches=len(foundprojects))
Esempio n. 35
0
def list_tech():
    """ Techniques page """
    db = data.init()
    techs = data.get_techniques(db)
    all_techniques = techs
    #If user is searching (post)
    if request.method == 'POST':
        tech_list = []
        for x in all_techniques:
            #only add to list if x exist otherwise pas
            try:
                if not request.form[x] in tech_list:
                    tech_list.append(request.form[x])
            except:
                pass
        if not tech_list == []:
            #To display all the techniques in a good way
            db = data.search(db, techniques = tech_list)
            techs = data.get_techniques(db)
            return render_template("list_techniques.html", dataB = db, techniques = techs, all_tech = all_techniques, selected_tech = tech_list)
    return render_template("list_techniques.html", dataB = db, techniques = techs, all_tech = all_techniques, selected_tech = techs)
Esempio n. 36
0
def set_text(name_edit, fruit_label1, fruit_label2):
    # get "Fruit Name" from screen by "get" function
    # รับ "ชื่อผลไม้" จากหน้าต่าง โดยฟังก์ชั่น "get"
    fruit_name = name_edit.get()

    # search the fruit information by using "Fruit Name"
    # ค้นหาข้อมูลผลไม้โดยใช้ "ชื่อผลไม้"
    fruit = data.search(fruit_name)
    if fruit is None:
        # if couldn't find fruit information (when "data.search" return None),
        # show empty in screen
        # หากไม่พบข้อมูลผลไม้ (เมื่อ "data.search" ส่งคืน None),
        # แสดงที่ว่างในหน้าต่าง
        fruit_label1['text'] = ''
        fruit_label2['text'] = ''
    else:
        # if found fruit information,
        # show "Color(=fruit[1])" & "Price(=fruit[2])"
        # หากพบข้อมูลผลไม้
        # แสดง "สี (=fruit[1])" & "ราคา (=fruit[2])"
        fruit_label1['text'] = fruit[1]
        fruit_label2['text'] = fruit[2]
Esempio n. 37
0
def index():
    ''' 
    Function that displays the homepage.

    Parameters:
    
       None
    
    Returns:
    
       Render the homepage
        
    '''
    db = data.load("data.json")
    all_projects = data.search(db,
                               sort_by='end_date',
                               sort_order='descending',
                               techniques=None,
                               search="",
                               search_fields=None)
    latest_project = all_projects[0]

    return render_template("index.html", l_project=latest_project)
Esempio n. 38
0
    def search_results():
        """ Counts objects in search results and returns search results page  """
        appdata = data_json()
        query = request.form['key']
        techs = request.form.getlist('techfield')
        technologies = techs if techs else ""
        fields = request.form.getlist('search_field')
        search_fields = fields if fields else None
        sortby = request.form.get('sort_field', 'start_date')
        sort_order = request.form.get('sort', 'desc')
            
        search_function = data.search(appdata, sort_order=sort_order, 
                                        sort_by=sortby, techniques=technologies, 
                                        search=query,
                                        search_fields=search_fields)
        results_count = len(search_function)
        print("Search details: sort_order=%s, sort_by=%s, techniques=%s, \
search=%s, search_fields=%s" % (sort_order, sortby, str(technologies),
                                    query, str(search_fields)))
        return render_template("search.html", data=search_function, 
                                count=results_count, term=query, 
                                fields=fields, techs=techs, sort=sort_order, 
                                sortby=sortby, info=main_json())
Esempio n. 39
0
def search():
    """Redirects to search.html and sends a list with projects that's given from the search form"""
    key = request.form['key'].encode('UTF-8').upper()
    if key == '':
        key = None

    search_fields = request.form.getlist('search_fields')
    if search_fields == []:
        search_fields = None

    techniques = request.form.getlist('techniques')
    if techniques == []:
        techniques = None

    sort_by = request.form['sort_by']

    sort_order = request.form['sort_order'].encode('UTF-8')

    logtext = [key, search_fields, techniques, sort_by, sort_order]
    log('search.html', ('parameters: ' + str(logtext)))

    lst = data.search(db, search=key, search_fields=search_fields, techniques=techniques, sort_by=sort_by, sort_order=sort_order)
    return render_template('search.html', data=data, db=db, lst=lst)
Esempio n. 40
0
def techniques():
    """ Technique view

    Returns a view of the technique page with each technique on its own
    row, together with its relevant projects.

    Returns
    -------
    render_template

    """

    db = data.load("data.json")
    master_list = []
    technique_list = data.get_techniques(db)
    for e in technique_list:
        temp_list = [e]
        temp_list.append(data.search(db, techniques=[e]))
        master_list.append(temp_list)
    for i in master_list:
        if len(i[1]) > len(master_list[0][1]):
            new_pos = master_list.pop(master_list.index(i))
            master_list.insert(0, new_pos)
    return render_template("techniques.html", master_list=master_list)
Esempio n. 41
0
def index():
    db = data.load('data.json')
    project_list = data.search(db, sort_by='start_date')
    return render_template("index.html", title = 'Hem', project = project_list[0])
Esempio n. 42
0
print "更新硬件资源信息:\n",lib.updateInterfInfos()
num=lib.getInterfNumFromIp(IP)
print '根据ip获取板卡类型个数:\n',num
interName="s"*128
info="s"*128
print "*"*20
for i in range(num):
    lib.getInterfInfo(IP,i,interName,len(interName),info,len(info))
    print '板卡名称:',interName.strip(a)
    print '板卡信息:',info.strip(a)
    print "*"*20

print "获取当前平台的工程数量:\n",lib.getProjectCount()
p_Num=lib.getProjectCount()
cmd='SELECT Name FROM mydb.tbl_project order by Name; '
_list=data.search(cmd)
# print json.dumps(_list[142][0],encoding='utf-8',ensure_ascii=False)
print (len(_list))
if int(p_Num) == int(len(_list)):
    print('获取当前平台的总工程数量测试结果:Pass')
else:
    print('获取当前平台的总工程数量测试结果:Fail')
pN="s"*128
p=[]
# lib.getProjectName(1,pN,len(pN))

for i in range(p_Num):      #查询所有工程名称
    lib.getProjectName(i,pN,len(pN))
    print pN
    p.append(pN.split(a)[0])    #过去输出字符串中的a(空格)
#     print(json.dumps(_list[i][0],encoding='utf-8',ensure_ascii=False).strip('"').encode('GB18030'))
Esempio n. 43
0
def modify(project_id):
    """Modify view

    Returns a view of the modify page. The modify page supports both
    HTML GET and POST methods. The GET method is used to request
    the desired project, and is passed into the modify function through
    Flask's routing method. This data is then used to populate the
    fields on the page. The POST method is used to populate the WTForm
    instance, which is then used to edit the actual database.


    Parameters
    ----------
    project_id : int
        The integer representing the desired project_id key in
        the database.

    Returns
    ----------
    render_template

    """
    def allowed_file(filename):
        """ Decide if the file extension is acceptable
        
        Determines whether or not a filename is valid, 
        based upon the ALLOWED_EXTENSIONS field in app.config.

        Parameters
        ----------
        filename : str
           The name of the file to check.

        Return
        ---------
        bool

        """
        if filename.rsplit(".", 1)[1] in app.config["ALLOWED_EXTENSIONS"]:
            return True

    def file_upload():
        """ Save the file and make directories

        Function handles all of the os file path and os file saving
        implementations. It will return the name of all of the files
        so they can be put in a list within the project.

        Returns
        ---------
        list : list
           A list of all the filenames of the uploaded files.
                """
        if request.files:
            files = request.files.getlist("images")
            for f in files:
                if allowed_file(f.filename):
                    sec_filename = secure_filename(f.filename)

                    # Check if the project path exists, create it if it doesn't
                    if not os.path.isdir(app.config["PROJECT_IMAGE_DIR"] +
                                         str(form.project_id.data) + "/"):
                        os.mkdir(app.config["PROJECT_IMAGE_DIR"] +
                                 str(form.project_id.data) + "/")

                    # Save the file
                    f.save((os.path.join(
                        app.config["PROJECT_IMAGE_DIR"] +
                        str(form.project_id.data) + "/", sec_filename)))
                    flash("File " + sec_filename + " uploaded successfully.",
                          "success")
                else:
                    flash(
                        "Invalid file format. Valid formats are: " +
                        app.config["ALLOWED_EXTENSIONS"], "danger")
            return [f.filename for f in files]

    db = data.load("data.json")

    if project_id == "add":
        form = forms.ModifyFormAdd(request.form, database=db)
        # Add new project.
        if request.method == "POST" and form.validate():
            filenames = file_upload()
            db.append({})
            for k, v in form.data.items():
                if k == "techniques_used":
                    v = v.split(" ")
                    v = [x for x in v if x != ""]
                    db[-1][k] = v
                elif k == "images":
                    db[-1][k] = filenames
                else:
                    db[-1][k] = v
            data.save(db, "data.json")
            flash("Project modified successfully.", "success")

    elif (project_id.isdigit()
          and int(project_id) in [x["project_id"] for x in db]):
        # Get current project and its index
        project = data.search(db,
                              search=project_id,
                              search_fields=["project_id"])
        p_index = db.index(project[0])
        form = forms.ModifyForm(request.form, data=project[0], database=db)
        file_upload()
        # Modify the project.
        if request.method == "POST" and form.validate():
            flash("Project modified successfully.", "success")
            for k, v in form.data.items():
                if project[0][k] != v:
                    if k == "techniques_used":
                        v = v.split(" ")
                        v = [x for x in v if x != ""]
                project[0][k] = v
            data.save(db, "data.json")

    else:
        abort(404)

    # Instantiated WTForm of ModifyForm type
    class_kw = forms.class_kw

    return render_template("modify.html", **locals())
Esempio n. 44
0
def listSearch():
	db=load()
	srch=True
	field=get_fields(db)
	techniques=get_techniques(db)	
	Search=request.form['Search']
	techniqs=request.form.getlist('filters')
	sorting=request.form.getlist('Sort')
	fields=request.form.getlist('search_fields')
	if Search== '':
		Search=None
	if sorting[0] == 'date':
		date=True
	else:
		date=False
	if sorting[0] == 'etad':
		etad=True
	else:
		etad=False
	if sorting[0] == 'abcd':
		abcd=True
	else:
		abcd=False
	if sorting[0] == 'project_no':
		count=True
	else:
		count=False
	Stext=' '
	projects=[]
	if fields==[]:
		if techniqs==[]:
			if Search == None:
				if count==True:
					projects=search(db, sort_by='project_no',sort_order='desc',techniques=None,search=None,search_fields=None)
				elif etad==True:
					projects=search(db, sort_by='start_date',sort_order='asc',techniques=None,search=None,search_fields=None)
				elif abcd==True:
					projects=search(db, sort_by='project_name',sort_order='desc',techniques=None,search=None,search_fields=None)
				else:
					projects=search(db, sort_by='start_date',sort_order='desc',techniques=None,search=None,search_fields=None)
			if search(db, sort_by='start_date',sort_order='desc',techniques=None,search=Search,search_fields=None) == 'error':
				Stext='Couldn\'t find what you were looking for, please try again.'
				srch=False
			else:
				if count==True:
					projects=search(db, sort_by='project_no',sort_order='desc',techniques=None,search=Search,search_fields=None)
				elif etad==True:
					projects=search(db, sort_by='start_date',sort_order='asc',techniques=None,search=Search,search_fields=None)
				elif abcd==True:
					projects=search(db, sort_by='project_name',sort_order='desc',techniques=None,search=Search,search_fields=None)
				else:
					projects=search(db, sort_by='start_date',sort_order='desc',techniques=None,search=Search,search_fields=None)
			return render_template('list.html',srch=srch, projects=projects, Stext=Stext, field=field, techniques=techniques)
		else:
			if Search == None:
				if count==True:
					projects=search(db, sort_by='project_no',sort_order='desc',techniques=techniqs,search=None,search_fields=None)	
				elif etad==True:
					projects=search(db, sort_by='start_date',sort_order='asc',techniques=techniqs,search=None,search_fields=None)
				elif abcd==True:
					projects=search(db, sort_by='project_name',sort_order='desc',techniques=techniqs,search=None,search_fields=None)
				else:
					projects=search(db, sort_by='start_date',sort_order='desc',techniques=techniqs,search=None,search_fields=None)
			if search(db, sort_by='start_date',sort_order='desc',techniques=techniqs,search=Search,search_fields=None) == 'error':
				Stext='Couldn\'t find what you were looking for, please try again.'
				srch=False
			else:
				if count==True:
					projects=search(db, sort_by='project_no',sort_order='desc',techniques=techniqs,search=Search,search_fields=None)
				elif etad==True:
					projects=search(db, sort_by='start_date',sort_order='asc',techniques=techniqs,search=Search,search_fields=None)
				elif abcd==True:
					projects=search(db, sort_by='project_name',sort_order='desc',techniques=techniqs,search=Search,search_fields=None)
				else:
					projects=search(db, sort_by='start_date',sort_order='desc',techniques=techniqs,search=Search,search_fields=None)
			return render_template('list.html',srch=srch, projects=projects, Stext=Stext, field=field, techniques=techniques)
	else:
		if techniqs==[]:
			if Search == None:
				if count==True:
					projects=search(db, sort_by='project_no',sort_order='desc',techniques=None,search=None,search_fields=fields)
				elif etad==True:
					projects=search(db, sort_by='start_date',sort_order='asc',techniques=None,search=None,search_fields=fields)
				elif abcd==True:
					projects=search(db, sort_by='project_name',sort_order='desc',techniques=None,search=None,search_fields=fields)
				else:
					projects=search(db, sort_by='start_date',sort_order='desc',techniques=None,search=None,search_fields=fields)
			if search(db, sort_by='start_date',sort_order='desc',techniques=None,search=Search,search_fields=fields) == 'error':
				Stext='Couldn\'t find what you were looking for, please try again.'
				srch=False
			else:
				if count==True:
					projects=search(db, sort_by='project_no',sort_order='desc',techniques=None,search=Search,search_fields=fields)
				elif etad==True:
					projects=search(db, sort_by='start_date',sort_order='asc',techniques=None,search=Search,search_fields=fields)
				elif abcd==True:
					projects=search(db, sort_by='project_name',sort_order='desc',techniques=None,search=Search,search_fields=fields)
				else:
					projects=search(db, sort_by='start_date',sort_order='desc',techniques=None,search=Search,search_fields=fields)
			return render_template('list.html',srch=srch, projects=projects, Stext=Stext, field=field, techniques=techniques)
		else:
			if Search == None:
				if count==True:
					projects=search(db, sort_by='project_no',sort_order='desc',techniques=techniqs,search=None,search_fields=fields)	
				elif etad==True:
					projects=search(db, sort_by='start_date',sort_order='asc',techniques=techniqs,search=None,search_fields=fields)
				elif abcd==True:
					projects=search(db, sort_by='project_name',sort_order='desc',techniques=techniqs,search=None,search_fields=fields)
				else:
					projects=search(db, sort_by='start_date',sort_order='desc',techniques=techniqs,search=None,search_fields=fields)
			if search(db, sort_by='start_date',sort_order='desc',techniques=techniqs,search=Search,search_fields=fields) == 'error':
				Stext='Couldn\'t find what you were looking for, please try again.'
				srch=False
			else:
				if count==True:
					projects=search(db, sort_by='project_no',sort_order='desc',techniques=techniqs,search=Search,search_fields=fields)
				elif etad==True:
					projects=search(db, sort_by='start_date',sort_order='asc',techniques=techniqs,search=Search,search_fields=fields)
				elif abcd==True:
					projects=search(db, sort_by='project_name',sort_order='desc',techniques=techniqs,search=Search,search_fields=fields)
				else:
					projects=search(db, sort_by='start_date',sort_order='desc',techniques=techniqs,search=Search,search_fields=fields)
			return render_template('list.html',srch=srch, projects=projects, Stext=Stext, field=field, techniques=techniques)
Esempio n. 45
0
def get_contact(name):
    contact_objs = elasticsearch.search(name=name, args=None)

    return jsonify(contact_objs)
Esempio n. 46
0
def mylist():
    """The "search" page. Displays all search option and all projects matching a search"""
    status = 0
    db = data.load("data.json")
    if db == None:
        status = 1
    else:
        tech_list = data.get_techniques(db)
        search_text = None
        field_list = []
        checked_tech_list = []

        if flask.request.method == 'POST':
            sort_o = u'desc'
            sort_by_field = 'start_date'
            key_number = 0
            tech_number = 0
        
            for key in db[0].keys():
                key_number += 1
                try:
                    field_list.append(flask.request.form['field_'+key])
                except:
                    if key_number == len(db[0]) and field_list == []:
                        field_list = None

            for tech in tech_list:
                tech_number += 1
                try:
                    checked_tech_list.append(flask.request.form['tech_'+tech])
                except:
                    if tech_number == len(tech_list) and checked_tech_list == []:
                        checked_tech_list = None

            try:
                sort_by_field = (flask.request.form['sort_by_field'])
            except:
                pass
        
            search_text = flask.request.form['free_text']
            if search_text == "":
                search_text = None

            try:
                sort_o = flask.request.form['ascending']
            except:
                pass
        
            result = data.search(db=db, sort_by=sort_by_field, sort_order=sort_o, search=search_text, techniques=checked_tech_list, search_fields=field_list)
        
        else:
            result = data.search(db=db)

        if search_text == None: search_text = ""

    template_file = "list.jinja"
    template = env.get_template( template_file )
    if status == 0:
        templateVars = { "status": status, "result" : result, "db" : db, "search_text" : search_text, "techs": tech_list, "checked_fields": field_list, "checked_techs": checked_tech_list, "style": flask.url_for('static',filename='style/style.css'), "projpic": flask.url_for('static', filename="images/") }
        logging.info('Searched for: '+search_text)
    elif status == 1:
        templateVars = { "status": status, "style" : flask.url_for('static',filename='style.css') }

    return template.render( templateVars )
Esempio n. 47
0
    def test_search(self):
        """ Test the implemented search function """

        # Call search with no other parameters than the database.
        # All projects should be returned
        self.assertEqual(len(data.search(self.loaded_data)), 4)

        # Search for projects with csv as technique.
        # 1 project should be returned
        self.assertEqual(
            len(data.search(self.loaded_data, techniques=['csv'])), 1)

        # Search for project based on technique with both lower and uppercase and part
        # of technique:
        # ada - 1 project should be returned.
        self.assertEqual(
            len(data.search(self.loaded_data, techniques=['AdA'])), 1)
        # python - 3 projects should be returned.
        self.assertEqual(
            len(data.search(self.loaded_data, techniques=['PyTH'])), 3)
        # c++ - 1 project should be returned
        self.assertEqual(
            len(data.search(self.loaded_data, techniques=['C++'])), 1)

        # Ensure that search does not crash when inserting a number in techniques.
        # Nothing should be returned.
        self.assertEqual(len(data.search(self.loaded_data, techniques=[2])), 0)

        # Search for the character: '"' in all search_fields in the database with no techniques selected
        # 1 project should be returned
        res = data.search(self.loaded_data, techniques=[], search='"')
        self.assertEqual(len(res), 1)

        # Search for projects including Python and sort them in ascending order.
        # Ensure that returned projects are sorted by ascending dates
        res = data.search(self.loaded_data,
                          sort_order='asc',
                          techniques=["python"])
        self.assertEqual(res[0]['start_date'], '2009-09-05')
        self.assertEqual(res[1]['start_date'], '2009-09-07')
        self.assertEqual(res[2]['start_date'], '2009-09-08')

        # Search for the term 'okänt' in three specified search fields. Sort
        # results by end_date.
        # Ensure that projects are returned in the correct order.
        res = data.search(
            self.loaded_data,
            sort_by="end_date",
            search='okänt',
            search_fields=['project_id', 'project_name', 'course_name'])
        self.assertEqual(len(res), 3)
        self.assertEqual(res[0]['project_id'], 2)
        self.assertEqual(res[1]['project_id'], 3)
        self.assertEqual(res[2]['project_id'], 1)

        # Search for 'okänt' in specified search fields.
        # Ensure correct number of results
        res = data.search(
            self.loaded_data,
            search="okänt",
            search_fields=["project_id", "project_name", "course_name"])
        self.assertEqual(len(res), 3)

        # Search for 'okänt' in specified search fields, provide empty technique list
        # Ensure correct number of results
        res = data.search(
            self.loaded_data,
            techniques=[],
            search="okänt",
            search_fields=["project_id", "project_name", "course_name"])
        self.assertEqual(len(res), 3)

        # Search for 'okänt', provide empty search fields list
        # Ensure 0 results
        res = data.search(self.loaded_data, search="okänt", search_fields=[])
        self.assertEqual(len(res), 0)

        # Search for 'okänt' without specifying search fields. Sort by project_id
        # Ensure 3 results in ascending order
        res = data.search(self.loaded_data,
                          sort_order="asc",
                          sort_by="project_id",
                          search="okänt")
        self.assertEqual(len(res), 3)
        self.assertEqual(res[0]['project_id'], 1)
        self.assertEqual(res[1]['project_id'], 2)
        self.assertEqual(res[2]['project_id'], 3)

        # Search for lowercase string with uppercase
        # Ensure correct handling of upper- and lowercase search
        res = data.search(self.loaded_data, search="NO NO NO")
        self.assertEqual(len(res), 4)

        # Search for '8' without specifying search fields.
        # Ensure 3 results
        res = data.search(self.loaded_data, search="8")
        self.assertEqual(len(res), 3)

        # Search with results sorted by group size.
        # Ensure results are in descending order
        res = data.search(self.loaded_data, sort_by='group_size')
        self.assertEqual(res[0]['project_id'], 4)  #1
        self.assertEqual(res[1]['project_id'], 2)  #2
        self.assertEqual(res[2]['project_id'], 3)  #3
        self.assertEqual(res[3]['project_id'], 1)  #4

        # Search for 'no n'
        # Ensure 4 results
        res = data.search(self.loaded_data, search='no n')
        self.assertEqual(len(res), 4)

        # Search for integer '09'.
        # Ensure 4 results sorted by start_date in descending order.
        res = data.search(self.loaded_data,
                          sort_by='start_date',
                          sort_order='desc',
                          search='09')
        self.assertEqual(len(res), 4)
        self.assertEqual(res[0]['start_date'], '2009-09-08')
        self.assertEqual(res[1]['start_date'], '2009-09-07')
        self.assertEqual(res[2]['start_date'], '2009-09-06')
        self.assertEqual(res[3]['start_date'], '2009-09-05')
Esempio n. 48
0
def search_all(sort_by='start_date', sort_order='desc', techniques=None, search=None, search_fields=None):
    db = data.load('data.json')
    return data.search(db, sort_by, sort_order, techniques, search, search_fields)
Esempio n. 49
0
def search(fields):
    db = data.load('data.json')
    return data.search(db, search=str(fields) ,search_fields = ['project_no'])[0]
Esempio n. 50
0
def render_techniques():
    db = data.load('data.json')
    technique_dict = data.get_technique_stats(db)
    return render_template("techniques.html", title = "Tekniker", techniques = technique_dict, projects = data.search(db))
Esempio n. 51
0
    print("remove error")

import data as d

d.sqlInit()

d.insert('p001', 'c01', 'single', 't1 t2 t3', '3')  #1
d.insert('p002', 'c01', 'single', 't1', '2')  #2
d.insert('p003', 'c01', 'single', 't2 t1 t3', '2')  #3
d.insert('p010', 'c03', 'single', 't3 t2 t1', '0')  #4
d.insert('p011', 'c02', 'single', 't1 t3', '0')  #5
d.insert('p021', 'c02', 'single', 't1 t2 t3', '1')  #6
d.insert('x000', 'c03', 'set', 't1 t2 t3', '3')  #7
d.insert('x010', 'c05', 'single', 't2', '3')  #8
d.insert('p021', 'c02', 'single', 't1 t2 t3', '4')  #9

r1 = d.search(['t1'])
pt(r1, 'r1')
r2 = d.search([], [], [2, 3])
pt(r2, 'r2')
r3 = d.search(['t1'], ['c02'], [1])
pt(r3, 'r3')
r4 = d.search(['t1', 't2'])
pt(r4, 'r4')
r5 = d.search([], [], [3])
pt(r5, 'r5')
r6 = d.search([], ['c03'])
pt(r6, 'r6')
r7 = d.search([], ['c01', 'c02'])
pt(r7, 'r7')