예제 #1
0
파일: app.py 프로젝트: yb300k/5secvote
def generate_planning_poker_message(number):
    app.logger.info('[number] :' + number)
    data = redis.hgetall(number + '_member')
    tmpnum = generate_voting_target_image(number, data)

    count = len(data)
    if count < 3:
        vote_height = 260
        row_count = 1
    elif count < 7:
        vote_height = 520
        row_count = 2
    else:
        vote_height = 780
        row_count = 3

    message = ImagemapSendMessage(base_url=HEROKU_SERVER_URL + 'images/tmp/' +
                                  tmpnum,
                                  alt_text='vote board',
                                  base_size=BaseSize(height=vote_height,
                                                     width=1040))
    actions = []
    location = 0
    for i in range(0, row_count):
        for j in range(0, 4):
            if location == count + 1:  #最後
                actions.append(
                    MessageImagemapAction(
                        text=u'#' + str(number).encode('utf-8') + u' 11',
                        area=ImagemapArea(
                            x=j * POKER_IMAGEMAP_ELEMENT_WIDTH,
                            y=i * POKER_IMAGEMAP_ELEMENT_HEIGHT,
                            width=(j + 1) * POKER_IMAGEMAP_ELEMENT_WIDTH,
                            height=(i + 1) * POKER_IMAGEMAP_ELEMENT_HEIGHT)))
            else:
                actions.append(
                    MessageImagemapAction(
                        text=u'#' + str(number).encode('utf-8') + u' ' +
                        str(location).encode('utf-8'),
                        area=ImagemapArea(
                            x=j * POKER_IMAGEMAP_ELEMENT_WIDTH,
                            y=i * POKER_IMAGEMAP_ELEMENT_HEIGHT,
                            width=(j + 1) * POKER_IMAGEMAP_ELEMENT_WIDTH,
                            height=(i + 1) * POKER_IMAGEMAP_ELEMENT_HEIGHT)))
                location += 1
    message.actions = actions
    return message
예제 #2
0
파일: app.py 프로젝트: yb300k/5secvote
def generateJoinButton():
    message = ImagemapSendMessage(base_url=HEROKU_SERVER_URL + 'images/button',
                                  alt_text='join',
                                  base_size=BaseSize(height=178, width=1040))
    actions = []
    actions.append(
        MessageImagemapAction(text='join',
                              area=ImagemapArea(x=0,
                                                y=0,
                                                width=BUTTON_ELEMENT_WIDTH,
                                                height=BUTTON_ELEMENT_HEIGHT)))
    actions.append(
        MessageImagemapAction(text='add',
                              area=ImagemapArea(x=BUTTON_ELEMENT_WIDTH,
                                                y=0,
                                                width=BUTTON_ELEMENT_WIDTH * 2,
                                                height=BUTTON_ELEMENT_HEIGHT)))
    message.actions = actions
    return message
예제 #3
0
def generate_planning_poker_message(number):
    message = ImagemapSendMessage(
        base_url='https://scrummasterbot.herokuapp.com/images/planning_poker',
        alt_text='planning poker',
        base_size=BaseSize(height=790, width=1040))
    actions = []
    location = 0
    for i in range(0, 3):
        for j in range(0, 4):
            actions.append(
                MessageImagemapAction(
                    text=u'#' + number + u' ' +
                    mapping[str(location).encode('utf-8')],
                    area=ImagemapArea(
                        x=j * POKER_IMAGEMAP_ELEMENT_WIDTH,
                        y=i * POKER_IMAGEMAP_ELEMENT_HEIGHT,
                        width=(j + 1) * POKER_IMAGEMAP_ELEMENT_WIDTH,
                        height=(i + 1) * POKER_IMAGEMAP_ELEMENT_HEIGHT)))
            location += 1
    message.actions = actions
    return message