import praw from time import sleep from nextcloud import NextCloud from praw.models.util import stream_generator from download import Downloader from util import jsonfy, try_post, parser if __name__ == "__main__": args = parser.parse_args() reddit = praw.Reddit(client_id=args.client_id, client_secret=args.client_secret, password=args.reddit_password, user_agent="hcrawler", username=args.reddit_username) nxc = NextCloud( args.nextcloud_host, user=args.nextcloud_username, password=args.nextcloud_password, session_kwargs={'verify': False} ) nxc.create_folder(f"im", True) redditor = reddit.redditor(args.reddit_username) def uplaod(post): url = post.url nxc.create_folder(f"im/{post.subreddit}/", True) with Downloader(url=url, reddit=reddit) as d: d.download() for path in d.paths: if "-mobile" in path: # Remove mobile version continue nxc.upload_file(path, f"im/{post.subreddit}/{path}") sleep(60) generator = stream_generator(redditor.saved, attribute_name="name") for post in generator: uplaod(post)