After seeing the work someone else did with migrating your subscriptions across accounts. I took their code and expanded upon it to fully synchronize your Lemmy instance accounts.

Feel free to give it a try. It’s been useful for me to have accounts in multiple instances with the instability problems right now from the big influx of users.

Let me know what you think. Hopefully it can help a few people.

  • nanders@mander.xyz
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    undefined> TypeError: unsupported operand type(s) for |

    the | syntax to indicate multiple types was introduced in Python 3.10. It looks like you are using a an older Python version.

    • Gamera8ID
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      1 year ago

      That was it exactly. Thank you.

      This was a journey, so I’m documenting it here for anyone who might run into a similar situation.

      I’m using a Chromebook with Linux enabled.

      To confirm my version of Python I ran python --version:

      Python 3.9.2

      OK! Getting somewhere. So I have to check what distribution of Linux is installed with grep '^PRETTY_NAME' /etc/os-release

      PRETTY_NAME=“Debian GNU/Linux 11 (bullseye)”

      Alright. Google says if I want to upgrade Python on Debian 11 I have to compile it from source. Yikes! But, wait, there’s a PPA - Yay! But the PPA is for Ubuntu - Boo.

      There isn’t an active community for ChromeOS on Lemmy yet, but that other website has directions for replacing Debian with Ubuntu.

      I’m lazy so I’m not doing that. I’m just going to spin up a temporary Ubuntu container that I can delete later, so my directions are much simpler:

      Ctr-Alt-T to enter crosh, the ChromeOS developer shell.

      vmc start termina
      lxc launch ubuntu:22.04 ubuntu
      lxc exec ubuntu -- bash
      apt update && apt -y upgrade
      add-apt-repository ppa:deadsnakes/ppa
      apt update
      apt install -y python3.11 python3.11-venv
      python3.11 -m ensurepip
      git clone https://github.com/Ac5000/lemmy_account_sync.git
      cd lemmy_account_sync/
      pip3.11 install -r requirements.txt
      cp exampleconfig.ini src/myconfig.ini
      nano src/myconfig.ini
      python3.11 src/lemmy_sync.py
      

      Success! I had to escape some special characters in my passwords, but that’s easily Google-able.

      I’ll be keeping the container around for a little while to do some periodic syncs. Then I’ll remove it using crosh.

      vmc start termina
      lxc delete ubuntu --force