Esempio n. 1
0
def createImageModelList(images=[]):
    image_model_List = []

    euca_metadata = EucalyptusMetadataDB()
    image_snapshot_list = euca_metadata.getImageSnapshotList()

    for image in images:
        if not Image.objects.filter(image_id=image.id):
            new_image = Image()
            new_image.image_id = image.id
            new_image.name = "新しいOSイメージ"
            new_image.description = ""
            new_image.save()
            logger.debug('新しいOSイメージを登録しました: %s' % image.id.encode('utf8'))

    for image in images:
        if image.type == "machine":
            #(account_id, owner) = getUserFromImage(image)
            #logger.debug("account_id:%s owner:%s" % (account_id, owner))
            image_model = euca_common.createImageModel(images, image.id)
            if image_model != None:
                if image_model.root_device_type == "ebs":
                    for snap in image_snapshot_list:
                        if snap.image_id == image_model.id:
                            image_model.image_snapshot = snap.snapshot_id
                            break
                image_model_List.append(image_model)

    return image_model_List
Esempio n. 2
0
def receive():
    data = request.data
    data = xmltodict.parse(data)['xml']
    if data['MsgType'] == 'text':
        return send_text(data['FromUserName'], 'hi')
    if data['MsgType'] == 'image':
        token = current_access_token()
        file_url = 'https://api.weixin.qq.com/cgi-bin/media/get?access_token=%s&media_id=%s' % (token, data['MediaId'])
        file = requests.get(file_url, stream=True).raw
        i = Image()
        i.image = file
        uuid = shortuuid.ShortUUID().random(length=6)
        while Image.objects(iid=uuid):
            uuid = shortuuid.ShortUUID().random(length=6)
        i.iid = uuid
        i.title = data['MediaId']
        i.user = system_user
        i.description = ''
        i.tags = []
        i.save()
        return send_text(
            data['FromUserName'], '업로드 성공, 사진주소:%s%s' % (
                request.url_root[:-1], url_for('light-cms.image', iid=i.iid)
            )
        )
Esempio n. 3
0
    def test_create(self):
        """
        Simple test (without image file) to see if image can be created
        """

        i = Image()
        i.title = "Test"
        i.description = "Long image image description"
        i.description_short = "Short image description"
        i.save()

        db_i = Image.objects.get(pk=1)

        self.assertEqual(i.title, db_i.title)
        self.assertEqual(i.description, db_i.description)
        self.assertEqual(i.description_short, db_i.description_short)
Esempio n. 4
0
def drop():
    file = request.files['file']
    i = Image()
    i.title = file.filename
    i.image = file
    uuid = shortuuid.ShortUUID().random(length=6)
    while Image.objects(iid=uuid):
        uuid = shortuuid.ShortUUID().random(length=6)
    i.iid = uuid
    if login.current_user.is_active():
        i.user = login.current_user._get_current_object()
    else:
        i.user = system_user
    i.description = ''
    i.tags = []
    i.save()
    return jsonify(id=uuid)
Esempio n. 5
0
def drop():
    file = request.files['file']
    i = Image()
    i.title = file.filename
    i.image = file
    uuid = shortuuid.ShortUUID().random(length=6)
    while Image.objects(iid=uuid):
        uuid = shortuuid.ShortUUID().random(length=6)
    i.iid = uuid
    if login.current_user.is_active():
        i.user = login.current_user._get_current_object()
    else:
        i.user = system_user
    i.description = ''
    i.tags = []
    i.save()
    return jsonify(id=uuid)
Esempio n. 6
0
def gallery_drop(gid):
    if not login.current_user.is_active():
        flash('앨범기능엔 로그인이 필요합니다')
        return redirect(url_for('light-cms.user_login'))
    g = Gallery.objects.get_or_404(gid=gid)
    file = request.files['file']
    i = Image()
    i.gallery.append(g)
    i.title = file.filename
    i.image = file
    uuid = shortuuid.ShortUUID().random(length=6)
    while Image.objects(iid=uuid):
        uuid = shortuuid.ShortUUID().random(length=6)
    i.iid = uuid
    i.user = login.current_user._get_current_object()
    i.description = ''
    i.tags = []
    i.save()
    return jsonify(id=uuid)
Esempio n. 7
0
def gallery_drop(gid):
    if not login.current_user.is_active():
        flash('请登录后再搞相册哦~')
        return redirect(url_for('light-cms.user_login'))
    g = Gallery.objects.get_or_404(gid=gid)
    file = request.files['file']
    i = Image()
    i.gallery.append(g)
    i.title = file.filename
    i.image = file
    uuid = shortuuid.ShortUUID().random(length=6)
    while Image.objects(iid=uuid):
        uuid = shortuuid.ShortUUID().random(length=6)
    i.iid = uuid
    i.user = login.current_user._get_current_object()
    i.description = ''
    i.tags = []
    i.save()
    return jsonify(id=uuid)
Esempio n. 8
0
def receive():
    data = request.data
    data = xmltodict.parse(data)['xml']
    if data['MsgType'] == 'text':
        return send_text(data['FromUserName'], 'hi')
    if data['MsgType'] == 'image':
        token = current_access_token()
        file_url = 'https://api.weixin.qq.com/cgi-bin/media/get?access_token=%s&media_id=%s' % (
            token, data['MediaId'])
        file = requests.get(file_url, stream=True).raw
        i = Image()
        i.image = file
        uuid = shortuuid.ShortUUID().random(length=6)
        while Image.objects(iid=uuid):
            uuid = shortuuid.ShortUUID().random(length=6)
        i.iid = uuid
        i.title = data['MediaId']
        i.user = system_user
        i.description = ''
        i.tags = []
        i.save()
        return send_text(
            data['FromUserName'], '上传成功!图片地址:%s%s' %
            (request.url_root[:-1], url_for('light-cms.image', iid=i.iid)))
Esempio n. 9
0
def createstep3(request):

    logger.info('OSイメージ作成 Step3のOSイメージの登録処理')

    register = RegisterOSImage(request)
    image_id = ""

    if request.session['ss_img_selectimagetype'] == 'machine':
        image_id = register.registerOSImage()
    elif request.session['ss_img_selectimagetype'] == 'kernel':
        image_id = register.registerKernel()
    elif request.session['ss_img_selectimagetype'] == 'ramdisk':
        image_id = register.registerRamdisk()
    else:
        logger.error('selectImageType error .')
        raise Exception('selectImageType error .')

    new_db_image = Image()
    new_db_image.image_id = image_id
    new_db_image.name = request.session['ss_img_name']
    new_db_image.description = request.session['ss_img_description']

    new_db_image.save()

    #セッションからログインユーザ情報を取得する
    login_user = request.session['ss_usr_user']
    #Eucalyptus基盤へのアクセサを生成する
    get_euca_info = GetEucalyptusInfo(login_user)

    #ログインユーザのイメージの一覧を取得
    images = get_euca_info.get_image()

    #イメージモデルのリストを取得
    image_model_List = createImageModelList(images)

    selectImageNumber = 0

    count = 0
    for i in image_model_List:

        if image_id == i.id:
            selectImageNumber = count
            break

        count = count + 1

    #セッションに選択中のイメージナンバーの情報を保持する
    request.session['ss_img_selectNumber'] = selectImageNumber

    #セッションに選択中のイメージのIDの情報を保持する
    request.session['ss_img_selectID'] = image_id

    message = ""

    form = ImageModForm({
        'image_name':
        image_model_List[selectImageNumber].name,
        'image_description':
        image_model_List[selectImageNumber].description
    })

    logger.info('OSイメージ作成 完了 image_id=%s' % image_id)

    return render_to_response('image_list.html', {
        'image_model_List': image_model_List,
        'form': form,
        'message': message
    },
                              context_instance=RequestContext(request))