Changeset 760:733c148959e9 for src/mlx/web.py
- Timestamp:
- 02/14/16 09:17:27 (8 years ago)
- Branch:
- default
- hg-Phase:
- (<MercurialRepository 1 'hg:/home/ivaradi/mlx/hg' '/'>, 'public')
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/mlx/web.py
r756 r760 659 659 iso88592decoder = codecs.getdecoder("iso-8859-2") 660 660 661 def __init__(self, callback, pilotID, password , entranceExam):661 def __init__(self, callback, pilotID, password): 662 662 """Construct the login request with the given pilot ID and 663 663 password.""" … … 666 666 self._pilotID = pilotID 667 667 self._password = password 668 self._entranceExam = entranceExam669 668 670 669 def run(self): … … 678 677 password = md5.hexdigest() 679 678 680 if self._entranceExam: 681 url = MAVA_BASE_URL + "/ellenorzo/getflightplan.php?pid=%s" % \ 682 (pilotID,) 683 else: 684 url = MAVA_BASE_URL + "/leker2.php?pid=%s&psw=%s" % \ 685 (pilotID, password) 679 url = MAVA_BASE_URL + "/leker2.php?pid=%s&psw=%s" % (pilotID, password) 686 680 687 681 result = Result() 688 result.entranceExam = self._entranceExam689 682 690 683 f = urllib2.urlopen(url, timeout = 10.0) 691 684 692 685 status = readline(f) 693 if self._entranceExam: 694 result.loggedIn = status != "#NOEXAM" 695 else: 696 result.loggedIn = status == ".OK." 686 result.loggedIn = status == ".OK." 697 687 698 688 if result.loggedIn: 699 689 result.pilotID = self._pilotID 700 690 result.password = self._password 691 result.rank = "FO" 701 692 result.flights = [] 702 # FIXME: this may not be the correct behaviour 703 # for an entrance exam, but the website returns 704 # an error 705 if self._entranceExam: 706 result.pilotName = result.pilotID 707 result.exams = "" 708 else: 709 result.pilotName = self.iso88592decoder(readline(f))[0] 710 result.exams = readline(f) 711 712 while True: 713 line = readline(f) 714 if not line or line == "#ENDPIREP": break 715 716 flight = BookedFlight(line) 717 flight.readFromWeb(f) 718 result.flights.append(flight) 693 694 result.pilotName = self.iso88592decoder(readline(f))[0] 695 result.exams = readline(f) 696 697 while True: 698 line = readline(f) 699 if not line or line == "#ENDPIREP": break 700 701 flight = BookedFlight(line) 702 flight.readFromWeb(f) 703 result.flights.append(flight) 719 704 720 705 result.flights.sort(cmp = lambda flight1, flight2: … … 730 715 class LoginRPC(RPCRequest): 731 716 """An RPC-based login request.""" 732 def __init__(self, client, callback, pilotID, password , entranceExam):717 def __init__(self, client, callback, pilotID, password): 733 718 """Construct the login request with the given pilot ID and 734 719 password.""" … … 737 722 self._pilotID = pilotID 738 723 self._password = password 739 self._entranceExam = entranceExam740 724 741 725 def run(self): 742 726 """Perform the login request.""" 743 727 result = Result() 744 # FIXME: handle the entrance exam case745 result.entranceExam = self._entranceExam746 728 747 729 self._client.setCredentials(self._pilotID, self._password) 748 pilotName= self._client.login()749 result.loggedIn = pilotNameis not None730 loginResult = self._client.login() 731 result.loggedIn = loginResult is not None 750 732 if result.loggedIn: 751 733 result.pilotID = self._pilotID 752 result.pilotName = pilotName 734 result.pilotName = loginResult[0] 735 result.rank = loginResult[1] 753 736 result.password = self._password 754 737 result.flights = self._client.getFlights() … … 1170 1153 self._addRequest(Register(self._rpcClient, callback, registrationData)) 1171 1154 1172 def login(self, callback, pilotID, password , entranceExam = False):1155 def login(self, callback, pilotID, password): 1173 1156 """Enqueue a login request.""" 1174 1157 request = \ 1175 LoginRPC(self._rpcClient, callback, pilotID, password, entranceExam) \ 1176 if self._config.useRPC and not entranceExam \ 1177 else Login(callback, pilotID, password, entranceExam) 1158 LoginRPC(self._rpcClient, callback, pilotID, password) \ 1159 if self._config.useRPC else Login(callback, pilotID, password) 1178 1160 1179 1161 self._addRequest(request)
Note:
See TracChangeset
for help on using the changeset viewer.