Exemplo n.º 1
0
def doLogin(login, password, opener=None):
    '''Logs in, returns page content.'''
    result = download('{}belepes'.format(home), opener=opener, data={'email': login, 'password': password, 'remember': 1, 'loginSubmit': 'Bejelentkezés'})
    if login in accounts:
        params = accounts[login]
        params['lastAccess'] = datetime.now(timezone(TIME_ZONE))
        if 'nextAccess' in params:
            del params['nextAccess']
    return result
Exemplo n.º 2
0
def getContacts(login, opener, queue):
    '''Collects contacts while progressing.'''
    contacts = []
    doLogin(login, accounts[login]['password'], opener)
    page = download('{}sms+kuldes'.format(home), opener=opener)
    parsed = BeautifulSoup(page, 'html5lib')
    contactList = parsed.body.find('table', attrs={'class': 'list'})
    for tr in contactList.find_all('tr'):
        tds = tr.find_all('td')
        if len(tds) == 0:
            continue
        contacts.append({'name': tds[0].a.text, 'number': tds[1].text[3:]})
    queue.put(contacts)
Exemplo n.º 3
0
def checkSent(login, opener):
    '''After communicating with the server about sending the SMS, polling, if it has been sent.'''
    page = download('{}elkuldott+smsek'.format(home), opener=opener)
    parsed = BeautifulSoup(page, 'html5lib')
    result = parsed.body.find('table', attrs={'class': 'sentSms'}).tbody.find_all('tr')[1].td.b.next_sibling.string.strip()
    if result in ('SMS küldés alatt. Az állapot frissítéséhez frissítsd az oldalt.', 'Az üzenetet sikeresen elküldtük!'):
        if login not in a['wait4send']:
            a['wait4send'][login] = [19, result]
            return (None, result)
        a['wait4send'][login][0] -= 1
        if a['wait4send'][login][0] == 0:
            del a['wait4send'][login]
            return (False, None)
        if result == a['wait4send'][login][1]:
            return (None, None)
        a['wait4send'][login][1] = result
        return (None, result)
    reqMessage = 'Az sms-t a címzett megkapta a mobilkészülékre!'
    if result == reqMessage:
        return (True, result)
    return (False, result)
Exemplo n.º 4
0
 def doSend(self, q):
     download('{}sms+kuldes'.format(home), opener=self.opener, data={'text': self.fldMessage.toPlainText().translate(CHAR_REPLACE), 'next': ''})
     download('{}sms+kuldes'.format(home), opener=self.opener, data={'next': ''})
     a['main'].addPeriodic({'function': checkSent, 'args': (self.login, self.opener)})
     self.hide()
     q.put(True)
Exemplo n.º 5
0
 def sendToOldName(self, currentIndex, q):
     download('{}sms+kuldes/telefonszam/36{}'.format(home, self.contacts[currentIndex - 1]['number']), opener=self.opener)
     self.doSend(q)
Exemplo n.º 6
0
 def sendToNewName(self, name, number, q):
     url = '{}nevjegyzek+szerkesztese/sms'.format(home)
     download(url, opener=self.opener)
     download(url, opener=self.opener, data={'name': name, 'phone_number': '36{}'.format(number), 'submitPhoneBook': 'Névjegy+mentése'})
     self.doSend(q)