Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Newbie Help Loggin In #55

Description

@EnGlamdring

When I execute the following script...

def extractsms(htmlsms) :
    """
    extractsms  --  extract SMS messages from BeautifulSoup tree of Google Voice SMS HTML.

    Output is a list of dictionaries, one per message.
    """
    msgitems = []										# accum message items here
    #	Extract all conversations by searching for a DIV with an ID at top level.
    tree = bs4.BeautifulSoup(htmlsms)			# parse HTML into tree
    conversations = tree.findAll("div",attrs={"id" : True},recursive=False)
    for conversation in conversations :
        #	For each conversation, extract each row, which is one SMS message.
        rows = conversation.findAll(attrs={"class" : "gc-message-sms-row"})
        for row in rows :								# for all rows
            #	For each row, which is one message, extract all the fields.
            msgitem = {"id" : conversation["id"]}		# tag this message with conversation ID
            spans = row.findAll("span",attrs={"class" : True}, recursive=False)
            for span in spans :							# for all spans in row
                cl = span["class"].replace('gc-message-sms-', '')
                msgitem[cl] = (" ".join(span.findAll(text=True))).strip()	# put text in dict
            msgitems.append(msgitem)					# add msg dictionary to list
    return msgitems
    
voice = Voice()
voice.login()

voice.sms()
for msg in extractsms(voice.sms.html):
    print(str(msg))

I get this error....

Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\ProgramData\Anaconda3\lib\site-packages\googlevoice\voice.py", line 60, in login email = config.email File "C:\ProgramData\Anaconda3\lib\site-packages\googlevoice\conf.py", line 55, in <lambda> email = property(lambda self: self.get('email', 'auth')) File "C:\ProgramData\Anaconda3\lib\site-packages\googlevoice\conf.py", line 35, in get return ConfigParser.get(self, section, option).strip() or None File "C:\ProgramData\Anaconda3\lib\configparser.py", line 800, in get d) File "C:\ProgramData\Anaconda3\lib\configparser.py", line 394, in before_get self._interpolate_some(parser, option, L, value, section, defaults, 1) File "C:\ProgramData\Anaconda3\lib\configparser.py", line 407, in _interpolate_some rawval = parser.get(section, option, raw=True, fallback=rest) TypeError: get() got an unexpected keyword argument 'raw'
I found the config file and put the username and password in but am stuck.

Any ideas?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions