这个python模块中有没有bug,或者我使用的方法不对?

2024-05-29 04:52:00 发布

您现在位置:Python中文网/ 问答频道 /正文

用“connection”作为关键字参数调用getattr的lambda?我是误用了代码还是有bug?你知道吗

代码和回溯:https://github.com/bigcommerce/bigcommerce-api-python/issues/32

#!/usr/bin/env python2
import bigcommerce
import bigcommerce.api

BIG_URL = 'store-45eg5.mybigcommerce.com'
BIG_USER = 'henry'
BIG_KEY = '10f0f4f371f7953c4d7d7809b62463281f15c829'

api = bigcommerce.api.BigcommerceApi(host=BIG_URL, basic_auth=(BIG_USER, BIG_KEY))
def get_category_id(name):
    get_request = api.Categories.get(name)
    try:
        cat_list = api.Categories.all(name=name)
            if cat_list:
                return cat_list[0]['id']
            else:
                return None
            except:
                return None
def create_category(name):
    rp = api.Categories.create(name)
    if rp.status == 201:
        return rp.json()['id']
    else:
        return get_category_id(name)
create_category('anothertestingcat')

提供此回溯:

Traceback (most recent call last):
File "./bigcommerceimporter.py", line 50, in 
create_category('anothertestingcat')
File "./bigcommerceimporter.py", line 44, in create_category
rp = api.Categories.create(name)
File "/home/henry/big_test_zone/local/lib/python2.7/site-packages/bigcommerce/api.py", line 57, in 
return lambda args, *kwargs: (getattr(self.resource_class, item))(args, connection=self.connection, *kwargs)
TypeError: create() got multiple values for keyword argument 'connection'

线路输入api.py公司回溯所指的:https://github.com/bigcommerce/bigcommerce-api-python/blob/master/bigcommerce/api.py#L57


Tags: namepycomapiidgetreturncreate
1条回答
网友
1楼 · 发布于 2024-05-29 04:52:00

根据examples,create应该这样使用:

api.Categories.create(name = 'anothertestingcat')

注意:您应该生成一个新的API密钥,因为您在这个问题中发布了当前的API密钥。

相关问题 更多 >

    热门问题