Beispiel #1
0
def get_group_data(group_id):
    logging.debug("Fetching group data from DB")
    if group_id:
        query = """SELECT index, groupme_group_id, message_num, message_limit, 
		num_past_transactions, league_data, status, messaging_status, bot_id, members
		FROM groupme_yahoo WHERE groupme_group_id = %s"""
        values = (group_id, )
        results = db.fetch_one(query, values)
        if results:
            group_data = {
                'index': results[0],
                'message_num': results[2],
                'message_limit': results[3],
                'transaction_num': results[4],
                'status': int(results[6]),
                'messaging_status': int(results[7]),
                'bot_id': results[8],
                'groupme_group_id': results[1],
                'members': results[9] if results[9] else {}
            }
            group_data['triggers'] = load_triggers(group_data['index'])
            delete_messages(group_data['groupme_group_id'])
            return group_data
    logging.error("No Group Found in fetch_group_data")
    return {}
Beispiel #2
0
def blog_main(request):
    """
   This is the main blog entry point. It;
   - gets config data
   - sets up nav and other options based on the config data
   - returns the templated page
   """
    context = wegblob_settings.config
    entry_id = request.GET.get("entry_id")
    if entry_id is not None:
        entry_id = int(entry_id)

    context['entry'] = db.fetch_one(blog_id=entry_id)
    context['entry']['base_path'] = "/static/content/"
    context['entry']['template'] = context['entry']['rel_path'] + "/index.html"
    """
   A bit of code to set up the nav panels to the right of the content area
   """

    for nav in wegblob_settings.config['nav_panels']:

        # Recent posts if entry_id = None, else show related posts >>>
        # ============================================================
        if nav['title'] == wegblob_settings.NAV_PANEL_LAST_POSTS and nav[
                'display']:
            num_posts = 5 if 'num_posts' not in nav else nav['num_posts']
            if entry_id is None:
                context['recent_related_title'] = "LAST POSTS"
                context['last_entries'] = db.fetch_last_entries(num_posts,
                                                                exclude=0)
            else:
                context['recent_related_title'] = "RELATED POSTS"
                context['last_entries'] = db.fetch_related_entries(
                    entry_id, num_posts)

        # Tag cloud >>>
        # =============
        elif nav['title'] == wegblob_settings.NAV_PANEL_TAGS and nav['display']:
            context['tags'] = _format_post_tags(
                context['entry']['tags'])  #db.get_tags()

    return render_to_response('wegblob-main.html',
                              context,
                              context_instance=RequestContext(request))
Beispiel #3
0
def blog_main(request):
    """
   This is the main blog entry point. It;
   - gets config data
   - sets up nav and other options based on the config data
   - returns the templated page
   """
    context = wegblob_settings.config
    entry_id = request.GET.get("entry_id")
    if entry_id is not None:
        entry_id = int(entry_id)

    context["entry"] = db.fetch_one(blog_id=entry_id)
    context["entry"]["base_path"] = "/static/content/"
    context["entry"]["template"] = context["entry"]["rel_path"] + "/index.html"

    """
   A bit of code to set up the nav panels to the right of the content area
   """

    for nav in wegblob_settings.config["nav_panels"]:

        # Recent posts if entry_id = None, else show related posts >>>
        # ============================================================
        if nav["title"] == wegblob_settings.NAV_PANEL_LAST_POSTS and nav["display"]:
            num_posts = 5 if "num_posts" not in nav else nav["num_posts"]
            if entry_id is None:
                context["recent_related_title"] = "LAST POSTS"
                context["last_entries"] = db.fetch_last_entries(num_posts, exclude=0)
            else:
                context["recent_related_title"] = "RELATED POSTS"
                context["last_entries"] = db.fetch_related_entries(entry_id, num_posts)

        # Tag cloud >>>
        # =============
        elif nav["title"] == wegblob_settings.NAV_PANEL_TAGS and nav["display"]:
            context["tags"] = _format_post_tags(context["entry"]["tags"])  # db.get_tags()

    return render_to_response("wegblob-main.html", context, context_instance=RequestContext(request))
Beispiel #4
0
def set_personal_information_mobile(user_fbid, input_data):
    '''把使用者資料上傳到資料庫
    Args:
        user_fbid: 使用者唯一的fbid
        input_data:包含使用者資料的list
    '''
    fbuser_pk = db.fetch_one('select id from fbuser where fbid = %s',
                             [user_fbid])
    if not fbuser_pk:
        print('{0} Fb user pk not find'.format(fbuser_pk))
        return

    if input_data['education_data']:
        for data in input_data['education_data']:
            if data['type'] and data['type'] != '':
                fbpage_pk = db.fetch_one('call add_fbpage_with_type(%s,%s)',
                                         [data['name'], data['type']])
            else:
                fbpage_pk = db.fetch_one('call add_fbpage(%s)', [data['name']])

            if data['fbid']:
                db.exec(
                    'update fbpage set fbid = %s ,url = %s where id = %s ;',
                    [data['fbid'], data['url'], fbpage_pk])

            # 建立user 於何時就讀的關聯
            fbuser_has_education_exist = db.exec(
                'select 1 from fbuser_has_fbpage '
                'where fbuser_id = %s and fbpage_id = %s',
                [fbuser_pk, fbpage_pk])

            # TODO year_graduation
            if not fbuser_has_education_exist:
                db.exec(
                    'insert into fbuser_has_fbpage(fbuser_id,fbpage_id,type,ctype,begin,end)'
                    ' values (%s,%s,%s,%s,%s,%s)', [
                        fbuser_pk, fbpage_pk, 'edu', '學歷', data['begin'],
                        data['end']
                    ])

    if input_data['work_data']:
        for data in input_data['work_data']:
            fbpage_pk = db.fetch_one('call add_fbpage(%s)', [data['name']])
            if data['fbid']:
                db.exec(
                    'update fbpage set fbid = %s ,url = %s where id = %s ;',
                    [data['fbid'], data['url'], fbpage_pk])

            try:
                # 建立user 於何時就讀的關聯
                fbuser_has_work_exist = db.exec(
                    'select 1 from fbuser_has_fbpage '
                    'where fbuser_id = %s and fbpage_id = %s',
                    [fbuser_pk, fbpage_pk])
                # TODO year_graduation
                if not fbuser_has_work_exist:
                    db.exec(
                        'insert into fbuser_has_fbpage(fbuser_id,fbpage_id,type,ctype,begin,end,postion)'
                        ' values (%s,%s,%s,%s,%s,%s,%s)', [
                            fbuser_pk, fbpage_pk, 'work', '工作經歷',
                            data['begin'], data['end'], data['position']
                        ])

            except:
                print(sys.exc_info()[0])
                print(sys.exc_info()[1])

                print('++++++++++++++++++++++++++++++++++++++++')
                print(input_data['work_data'])
                print('++++++++++++++++++++++++++++++++++++++++')

    try:
        db.exec(
            "update fbuser set  gender = %s"
            ", hometown = %s, relationship = %s, birthday = %s, ename = %s, cname = %s,"
            " bloodtype = %s, last_update = %s, current_city =%s where id = %s",
            [
                input_data['gender'], input_data['hometown'],
                input_data['relationship'], input_data['birthday'],
                input_data['ename'], input_data['cname'],
                input_data['bloodtype'],
                datetime.now(), input_data['current_city'], fbuser_pk
            ])

        db.exec(
            'update fbuser_ext set  religious = %s, political_view = %s, other = %s, quotes = %s '
            'where fbuser_id = %s', [
                input_data['religious'], input_data['political_view'],
                input_data['other'], input_data['quotes'], fbuser_pk
            ])
    except:
        print(sys.exc_info()[0])
        print(sys.exc_info()[1])

        print(input_data)

    db.commit()
Beispiel #5
0
 def get_user(user_id):
     return fetch_one("SELECT * FROM users WHERE id = %s" % user_id)
Beispiel #6
0
def get_application_status():
    query = """SELECT * FROM application_data"""
    monitoring_status, messaging_status = db.fetch_one(query)
    return monitoring_status, messaging_status
Beispiel #7
0
def get_league_data(group_data):
    query = "SELECT league_data FROM groupme_yahoo WHERE index = %s;"
    values = (str(group_data['groupme_group_id']), )
    results = db.fetch_one(query, values)
    logging.warn("league data found: %s" % (results))
    return results