Exemplo n.º 1
0
def show_search_results(searchTerm):
    results = Worksheet.findall(searchTerm)
    matched_circles = []
    added_row = []
    for result in results:
        row_number = result.row
        if row_number in added_row:
            continue
        added_row.append(row_number)
        name = Worksheet.cell(row_number,2).value
        genre = Worksheet.cell(row_number,3).value
        space = Worksheet.cell(row_number,4).value
        univ = Worksheet.cell(row_number,5).value
        intro = Worksheet.cell(row_number,6).value
        key = Worksheet.cell(row_number,8).value
        url = request.url_root +"register?circle=" +  Worksheet.cell(row_number,9).value
        matched_circles.append(
            {
                "name": name,
                "genre": genre,
                "space": space,
                "univ": univ,
                "intro": intro,
                "key": key,
                "url":url
            }
        )
    return render_template('searchResult.html', circles=matched_circles,searchTerm=searchTerm)
Exemplo n.º 2
0
    def cast(cls, obj: Worksheet):
        """Worksheet オブジェクトを WorksheetEx に拡張する

        :param obj: 変換元のオブジェクト
        :type obj: Worksheet
        :return: 拡張されたオブジェクト
        :rtype: WorksheetEx
        """
        obj.__class__ = cls
        return obj
Exemplo n.º 3
0
def get_rows(sheet: Worksheet):
    """
    Get a list of the rows' content from the Google Sheets database.

    :param sheet: GSheets worksheet to get data from
    :type sheet: Worksheet

    :return: List of lists, where each sub-list contains a row's contents.
    :rtype: list
    """
    rows: list = sheet.get_all_values()
    return rows
Exemplo n.º 4
0
def find_by_username(username: str, sheet: Worksheet, col: int = 1):
    """
    Return the GSheet index of the row matching the username.

    :param username: The username to match
    :type username: str
    :param sheet: The GSheet worksheet to get data from
    :type sheet: Worksheet
    :param col: Column to look up for matching, defaults to 1
    :type col: int, optional
    :return: List of indexes of the rows that match the username
    :rtype: list
    """
    if not sheet:
        spreadsheet = auth()
        sheet = spreadsheet.get_worksheet(0)
    column = sheet.col_values(col)
    rows = []
    for num, cell in enumerate(column):
        if str(cell) == str(username):
            rows.append(num + 1)
    if rows == []:
        rows.append(None)
    return rows
Exemplo n.º 5
0
def find_by_username(user_id:int, sheet:Worksheet, col:int=1) -> None or int:
    """
    Finds the Row Index within the GSheet Database, matching the ``user_id`` argument.
    Returns None if no record is found.

    Args:
        user_id (int): Telegram ID of the user.
        sheet (Worksheet): Worksheet to check.
        col (int, optional): Column to check. Defaults to 1.

    Returns:
        None or list: None if no record is found, int if the record is found.
    """
    if not sheet:
        spreadsheet = auth()
        sheet = spreadsheet.get_worksheet(0)
    column = sheet.col_values(col)
    rows = list()
    for num, cell in enumerate(column):
        if str(cell) == str(user_id):
            rows.append(num + 1)
    if rows == []:
        return None
    return rows[0]
Exemplo n.º 6
0
def watch():
    page = request.args.get('circle')
    key_list = Worksheet.col_values(9) #query parameter
    row_number = -1
    for i, key in enumerate(key_list):
        if key == page:
            row_number = i+1
            break
    name = Worksheet.cell(row_number,2).value
    genre = Worksheet.cell(row_number,3).value
    space = Worksheet.cell(row_number,4).value
    univ = Worksheet.cell(row_number,5).value
    intro = Worksheet.cell(row_number,6).value
    key = Worksheet.cell(row_number,8).value #keywords to search
    lineId = Worksheet.cell(row_number,10).value
    webSite = Worksheet.cell(row_number,11).value
    twitterId = Worksheet.cell(row_number,12).value
    instagramId = Worksheet.cell(row_number,13).value
    mailAddress = Worksheet.cell(row_number,15).value
    otherWays = Worksheet.cell(row_number,14).value

    return render_template('index.html',
    name=name,
    genre=genre,
    space=space,
    univ=univ,
    intro=intro,
    key=key,
    lineId=lineId,
    webSite=webSite,
    twitterId=twitterId,
    instagramId=instagramId,
    mailAddress=mailAddress,
    otherWays=otherWays,)