Skip to content

[Bug]: Projects.download file permission error #533

Description

@faretek1

scratchattach version

bleeding edge

What happened?

the default arguments to Project.download means that it tries to make a a file in /{id}.sb3. On linux, this would literally be at the root of the file system. I think the default arg should be ./, not /

Your code.

import tomllib
import warnings
import scratchattach as sa

warnings.filterwarnings('ignore', category=sa.LoginDataWarning)
auth = tomllib.load(open('./../auth.toml', 'rb'))
sess = sa.login(auth["kay426"]["username"], auth["kay426"]["password"])
usr = sess.connect_linked_user()

def main():
    page = 1
    while True:
        projects = sess.mystuff_projects(page=page)
        if not projects:
            break

        for project in projects:
            project.download(dir=".")
            project.update()
            yield f"{project}\n" + \
                f"{project.__dict__}"


if __name__ == "__main__":
    for msg in main():
        with open("log.txt", "a") as f:
            f.write(msg)
        print(msg)

Traceback

scratchattach.utils.exceptions.FetchError: Method only works for projects created with Scratch 3 [Errno 13] Permission denied: '/1216629100.sb3'
(added info by f string i did manually)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Needs triageNeed to apply low priority/high priority etcbugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions