Mit github3.py 1.0.0a4 versuche ich, ein grundlegendes "Server" -Programm zu erstellen, das Dateien erstellt, aktualisiert, löscht und abruft. Mein Programm löst jedoch "InvalidSchema" beim Versuch, eine Datei zu erstellen. Warum? Ich habe mein Programm mit der Dokumentation ..."InvalidSchema" beim Versuch, eine Datei mit github3.py zu erstellen
Code:
from github3 import login
from github3.repos.repo import Repository
import sys, time
print sys.argv
if len(sys.argv) != 5:
print 'Usage: server.exe username=... password=... [[-create -delete -update -fetch] file] [repo=server]'
sys.exit()
try:
un, pw, mode, f = sys.argv[1].split('='), sys.argv[2].split('='), sys.argv[3], sys.argv[4]
me = login(un, pw)
except:
print 'Usage: server.exe username=... password=... [[-create -delete -update -fetch] file] [repo=server]'
sys.exit()
try:
repo = sys.argv[5]
except IndexError:
repo = 'server'
repo = Repository({'name':repo}, session=me)
if mode == '-create':
f = open(f)
name = f.name
data = f.read()
repo.create_file(name, 'Create '+time.asctime(), data.encode('utf-8'))
if mode == '-delete':
f = open(f)
repo.contents(f.name).delete('Delete '+time.asctime(), data.encode('utf-8'))
if mode == '-update':
f = open(f)
name = f.name
data = f.read()
repo.contents(name).update('Update '+time.asctime(), data.encode('utf-8'))
if mode == '-fetch':
with open(f, mode='w') as f:
f.write(repo.contents(f.name))
Ergebnis, wenn auf der Kommandozeile ausgeführt wird:
C:\Python27>python server.py username=... password=... -create pytest.py
['server.py', 'username=...', 'password=...', '-create', 'pytest.py']
Traceback (most recent call last):
File "server.py", line 30, in <module>
repo.create_file(name, 'Create '+time.asctime(), data.encode('utf-8'))
File "C:\Python27\lib\site-packages\github3\decorators.py", line 33, in auth_wrapper
return func(self, *args, **kwargs)
File "C:\Python27\lib\site-packages\github3\repos\repo.py", line 745, in create_file
json = self._json(self._put(url, data=dumps(data)), 201)
File "C:\Python27\lib\site-packages\github3\models.py", line 199, in _put
return self.session.put(url, **kwargs)
File "C:\Python27\lib\site-packages\requests\sessions.py", line 521, in put
return self.request('PUT', url, data=data, **kwargs)
File "C:\Python27\lib\site-packages\github3\session.py", line 88, in request
response = super(GitHubSession, self).request(*args, **kwargs)
File "C:\Python27\lib\site-packages\requests\sessions.py", line 468, in request
resp = self.send(prep, **send_kwargs)
File "C:\Python27\lib\site-packages\requests\sessions.py", line 570, in send
adapter = self.get_adapter(url=request.url)
File "C:\Python27\lib\site-packages\requests\sessions.py", line 644, in get_adapter
raise InvalidSchema("No connection adapters were found for '%s'" % url)
requests.exceptions.InvalidSchema: No connection adapters were found for ':///contents/pytest.py