• Gormadt@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    16
    ·
    1 day ago

    YouTube broke my RSS feed for YouTube subscriptions by breaking how embedded videos works.

    Now when I try to click on videos in my RSS feed it just gets me “Error 153” every time.

    It’s so frustrating!

    I’m currently using Feedbro on Firefox (the add-on hasn’t been updated in 2 years) but if anyone has any recommendations that don’t get that error I’m all ears!

    • ishartdoritos@lemmy.zip
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      6
      ·
      21 hours ago

      These days you can probably vibe-code yourself the perfect RSS extension or even standalone app.

      Might give it a shot actually.

      • JTskulk@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 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