• JTskulk@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    9 hours ago

    I’ve coded this and I’m a retard. Relative portion from a method:

    from urllib.request import urlopen
                foundrss = False
                for line in urlopen(self.channelurl):
                    for word in line.split():
                        if foundrss:
                            if not self.feedurl:
                                self.feedurl = word.split(b'"')[1].decode("utf-8")
                                if 'xml' not in self.feedurl:
                                    raise Exception("'xml' not found in feedurl")
                            elif not self.channelname: # feed url is set, extract the channel name that comes soon after
                                if word.startswith(b'content='): # start collecting words
                                    self.channelname = [word.split(b'"')[1].decode("utf-8")]
                                    if word.count(b'"') == 2: # channel name is a single word
                                        self.channelname = self.channelname[0]
                                        return
                            else: # we have channelname started, just collect the rest of the words now
                                if b'"' in word: # get text to the left of "
                                    self.channelname.append(word.split(b'"')[0].decode("utf-8"))
                                    self.channelname = ' '.join(self.channelname)
                                    return
                                else:
                                    self.channelname.append(word.decode("utf-8"))
                        elif word == b'title="RSS"':
                            foundrss = True