首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyGithub,不能从企业得到回报

PyGithub,不能从企业得到回报
EN

Stack Overflow用户
提问于 2017-10-17 16:05:53
回答 1查看 1.3K关注 0票数 1

我正在创建一个带有Spark的机器人(用于企业聊天),在Python中,我使用PyGitHub作为librairy。所以当我和机器人在房间里写“回复”时,他必须把我的回复列表还给我。它对我的github个人帐户很好,但对我的专业帐户不起作用。你能解释一下为什么吗?这里我的代码:

代码语言:javascript
复制
def gitTest(self, details, message):
        url = "https://enter-prise.com"
        token = "abcd"
        github = Github(token, base_url=url)
        for repo in github.get_organization("org").get_repos():
            self.answer(details.roomId, markdown=repo.name) 


Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1997, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1985, in wsgi_app
    response = self.handle_exception(e)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1540, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/mflamant/Documents/bot/CiscoSparkPython/testbotforgithub/main.py", line 44, in Main
    bot.isRunnable()
  File "/home/mflamant/Documents/bot/CiscoSparkPython/testbotforgithub/utils/Compute.py", line 47, in isRunnable
    self.spark(message[0], message[1])
  File "/home/mflamant/Documents/bot/CiscoSparkPython/testbotforgithub/testbotforgithub.py", line 33, in spark
    return self.answer(details.roomId, markdown=self.gitTest(details, message))
  File "/home/mflamant/Documents/bot/CiscoSparkPython/testbotforgithub/testbotforgithub.py", line 56, in gitTest
    for repo in github.get_organization(adt).get_repos():
  File "/usr/local/lib/python2.7/dist-packages/PyGithub-1.35-py2.7.egg/github/Organization.py", line 539, in get_repos
    self.url + "/repos",
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

你能解释一下我的代码出了什么问题吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-17 16:13:39

如果gitTest是一个实例方法,则需要将其赋值给属性self.url,而不仅仅是局部变量url。因此,您的方法应该如下所示:

代码语言:javascript
复制
def gitTest(self, details, message):
    self.url = "https://enter-prise.com"
    self.token = "abcd"
    github = Github(token, base_url=url)
    for repo in github.get_organization("org").get_repos():
        self.answer(details.roomId, markdown=repo.name) 

这就是为什么将对self的引用作为任何实例方法的第一个参数的原因。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46794521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档