Use new inara.py library instead of having 2 versions of the code.

This commit is contained in:
Anna Rose 2016-01-21 11:18:51 -05:00
parent a7067cd2ee
commit f009aa0ca0
4 changed files with 8 additions and 79 deletions

3
.gitmodules vendored
View File

@ -1,3 +1,6 @@
[submodule "EDMarketConnector"] [submodule "EDMarketConnector"]
path = edmc path = edmc
url = https://github.com/Marginal/EDMarketConnector.git url = https://github.com/Marginal/EDMarketConnector.git
[submodule "inara"]
path = inara
url = https://github.com/annabunches/inara.py.git

1
inara Submodule

@ -0,0 +1 @@
Subproject commit 010ff377e5b4af772f2dbe2736608cee4f04f58a

View File

@ -1,72 +0,0 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Creates connections to inara.cz to retrieve and update player info.
import requests
import sys
URL_BASE = "http://inara.cz/"
URL_LOGIN = URL_BASE
URL_CMDR = URL_BASE + "cmdr/"
class ServerError(Exception):
pass
class CredentialsError(Exception):
pass
class Session(requests.Session):
def __init__(self):
requests.Session.__init__(self)
def inara_login(self, username, password):
if (not username or not password):
raise CredentialsError()
data = {
"loginid": username,
"loginpass": password,
"formact": "ENT_LOGIN",
"location": "intro"
}
self._inara_handled_request(self.post, URL_LOGIN, data=data)
def inara_update_credits(self, credits):
data = {
"location": "cmdr",
"formact": "USER_CREDITS_SET",
"playercredits": credits,
"playercreditsassets": None,
"oass": 48126920,
}
self._inara_handled_request(self.post, URL_CMDR, data=data)
def inara_update_location(self, location):
data = {
'formact': 'USER_LOCATION_SET',
'playercurloc': location
}
self._inara_handled_request(self.post, URL_CMDR, data=data)
def _inara_handled_request(self, func, url, data=None):
r = func(url, data=data)
r.raise_for_status()
def _inara_dump(self, r):
print "Request:"
print 'Headers\t%s' % r.request.headers
print 'Data\t%s' % r.request.body
print ""
print "Response:"
print 'Status\t%s' % r.status_code
print 'URL\t%s' % r.url
print 'Headers\t%s' % r.headers
print 'Logged in? ', "Yes" if "Logout" in r.text else "No"
print ""

View File

@ -1,12 +1,12 @@
#!/usr/bin/python #!/usr/bin/python
from edmc import companion from edmc import companion
import inara from inara.inara import InaraSession
import utils import utils
settings = utils.get_settings() settings = utils.get_settings()
companion_session = companion.Session() companion_session = companion.Session()
inara_session = inara.Session() inara_session = InaraSession(settengs.get('inara', 'username'), settings.get('inara', 'password'))
try: try:
companion_session.login(settings.get('ed_companion', 'username'), settings.get('ed_companion', 'password')) companion_session.login(settings.get('ed_companion', 'username'), settings.get('ed_companion', 'password'))
@ -14,11 +14,8 @@ except companion.VerificationRequired:
code = raw_input("Input Verification Code: ") code = raw_input("Input Verification Code: ")
companion_session.verify(code) companion_session.verify(code)
inara_session.inara_login(settings.get('inara', 'username'), settings.get('inara', 'password'))
inara_session._inara_handled_request(inara_session.post, inara.URL_BASE)
data = companion_session.query() data = companion_session.query()
inara_session.inara_update_credits(data['commander']['credits']) inara_session.update_credits(data['commander']['credits'])
inara_session.inara_update_location(data['lastSystem']['name']) inara_session.update_location(data['lastSystem']['name'])
companion_session.close() companion_session.close()