当前位置: 首页>>代码示例>>Python>>正文


Python Gift.category方法代码示例

本文整理汇总了Python中apps.gift.models.Gift.category方法的典型用法代码示例。如果您正苦于以下问题:Python Gift.category方法的具体用法?Python Gift.category怎么用?Python Gift.category使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在apps.gift.models.Gift的用法示例。


在下文中一共展示了Gift.category方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: sync_new_task

# 需要导入模块: from apps.gift.models import Gift [as 别名]
# 或者: from apps.gift.models.Gift import category [as 别名]
def sync_new_task(request, uid):
    logging.info("Create new gift from 5studio.ru with uid: %s" % uid)
    url = 'http://www.5studio.ru/api/v1/get/gift.json?&uid=%s' % uid
    result = urlfetch.fetch(url)
    if result.status_code == 200:
        j = simplejson.loads(result.content)
        if len(j):
            name = j.get('name', '').replace('\\"', '"')
            name_origin = j.get('name_origin', '').replace('\\"', '"')
            barcode = j.get('barcode', '')
            description = j.get('description', '').replace('\\"', '"')
            price = j.get('price', 0.0)
            leftovers = j.get('leftovers', 0)

            gift = Gift.all().filter('uid_5studio =', uid).fetch(1)
            if gift:
                gift = gift[0]
                is_new = False
            else:
                is_new = True
                gift = Gift(
                    uid_5studio=uid,
                    name=name,
                    name_origin=name_origin,
                    barcode=barcode,
                    description=description,
                    price=price,
                    leftovers=leftovers)

            brand = j.get('brand', '').replace('\\"', '"')
            if brand:
                brand_obs = Brand.all().filter('brand =', brand)
                if not brand_obs.count():
                    brand = Brand(brand=brand)
                    brand.put()
                else:
                    brand = brand_obs.get()
                gift.brand = brand

            gift.category = get_category(j)
            gift.subcategory = get_subcategory(j, gift.category)
            gift.put()

            if is_new or not gift.thumbs:
                thumbs_url = j.get('thumbs_url', [])
                for url in thumbs_url:
                    gift_uid = gift.key().id()
                    memcache.add('sync/add_image/%s' % gift_uid,
                        'http://%s' % url, 7200)

                    def txn():
                        taskqueue.add(url=url_for(
                            'sync/sync_add_image',
                            uid=gift.key().id()),
                            transactional=True)
                    db.run_in_transaction(txn)

    return render_json_response({'api_msg': 'Ok', 'api_success': True})
开发者ID:gmist,项目名称:f-toy,代码行数:60,代码来源:views.py

示例2: sync_gift_task

# 需要导入模块: from apps.gift.models import Gift [as 别名]
# 或者: from apps.gift.models.Gift import category [as 别名]
def sync_gift_task(request, task_id):
    gift_id = memcache.get(task_id)
    memcache.delete(task_id)
    if gift_id:
        try:
            result = urlfetch.fetch(
                'http://www.3dhero.ru/api/v2/product.json?id=%s' % gift_id
            )
            if result.status_code == 200:
                result = simplejson.loads(result.content)
                if result['success']:
                    model = result['result']
                    if model['id_1c']:
                        category = Category.all().filter('name =', u'Развивающие Игры').get()
                        if category:
                            group = Group.all().filter('category =', category).filter('name =', u'Фигурки Героев').get()
                        else:
                            group = None
                        gift = Gift(
                                name = model.get('name', ''),
                                id_1c = model['id_1c'],
                                catalogue_id = model.get('catalogue_id', ''),
                                barcode = model.get('barcode', ''),
                                brand = model.get('brand', ''),
                                country = model.get('country', ''),
                                material = model.get('material', ''),
                                gift_size = model.get('size', ''),
                                weight = model.get('weight',''),
                                box_size = model.get('box_size', ''),
                                master_box = model.get('box_amount', ''),
                                real_price = model.get('price_trade', 0.0),
                                price = model.get('price_retail', 0.0),
                                leftovers = model.get('leftovers', 0),
                                remote_leftovers = model.get('leftovers_on_way', 0),
                                to_sync = True
                            )
                        if category and group:
                            gift.category = category
                            gift.group = group
                        gift.put()
                        images = model.get('images', [])
                        if images:
                            for img in images:
                                def txn():
                                    task_id = str(uuid.uuid4())
                                    data = {'gift_id': gift.key().id(), 'img_url': img}
                                    memcache.add(task_id, data, TASK_LIVE_TIMEOUT)
                                    taskqueue.add(
                                        url=url_for('sync/add_image_task', task_id=task_id),
                                        transactional=True
                                    )
                                db.run_in_transaction(txn)
        except:
            pass
    return render_to_response('empty.html')
开发者ID:gmist,项目名称:five-studio,代码行数:57,代码来源:views.py

示例3: update_gifts

# 需要导入模块: from apps.gift.models import Gift [as 别名]
# 或者: from apps.gift.models.Gift import category [as 别名]
def update_gifts(task_id, create=False, except_fields=EXCEPT_FIELDS_UPDATE):
    set_obj = memcache.get(task_id)
    flag = False
    if set_obj:
        data = simplejson.loads(set_obj)
        memcache.delete(task_id)
        id_1c = data.get('id_1c', '')
        logging.info("API update 1c: %s" % id_1c)
        name = data.get('name', '')
        logging.info("API update name: %s" % name)
        if not id_1c and not name:
            if not create:
                return render_to_response('empty.html')
        if id_1c:
            gifts_obj = Gift.all().filter('id_1c =', id_1c)
            if not gifts_obj.count():
                gifts_obj = Gift.all().filter('name =', name)
        else:
            gifts_obj = Gift.all().filter('name =', name)
        if gifts_obj.count() and create:
            return render_to_response('empty.html')
        gift = None
        if gifts_obj.count() and not create:
            gift = gifts_obj[0]
        if not gifts_obj.count() and create:
            gift = Gift(name=name)
        if gift is None:
            return render_to_response('empty.html')

        # update category and groups
        category = data.get('subcategory', '-')
        group = data.get('group', '-')
        try:
            a = gift.category.name
            b = gift.group.name
        except Exception:
            gift.category = gift.group = None

        if category != '-' and group != '-':
            if not category or not group:
                if gift.category or gift.group:
                    gift.category = None
                    gift.group = None
                    flag = True
            else:
                category_obj = Category.all().filter('name =', category)
                if category_obj.count():
                    category_obj = category_obj[0]
                else:
                    category_obj = Category(name=category)
                    category_obj.put()
                if not gift.category or gift.category != category_obj:
                    gift.category = category_obj
                    flag = True

                group_obj = Group.all().filter(
                    'category =', category_obj).filter('name =', group)
                if group_obj.count():
                    group_obj = group_obj[0]
                else:
                    group_obj = Group(name=group, category=category_obj)
                    group_obj.put()
                if not gift.group or gift.group != group_obj:
                    gift.group = group_obj
                    flag = True

        # and other fields
        for key in data.keys():
            if key in except_fields:
                continue
            value = data.get(key, None)
            if value is None:
                continue
            if key == 'receipt_date':
                try:
                    new_date = datetime.date(
                        datetime.strptime(value, '%Y-%m-%d'))
                    if new_date == gift.receipt_date:
                        continue
                    gift.receipt_date = new_date
                    flag = True
                except ValueError:
                    if gift.receipt_date is not None:
                        gift.receipt_date = None
                        flag = True
                continue
            try:
                old_val = getattr(gift, key)
                if old_val == value:
                    continue
                setattr(gift, key, value)
                flag = True
            except AttributeError:
                pass
        if flag:
            gift.put()
            gift_views.get_gift(gift.uid, True)
    return render_to_response('empty.html')
开发者ID:gmist,项目名称:five-studio,代码行数:100,代码来源:views.py


注:本文中的apps.gift.models.Gift.category方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。