diff options
Diffstat (limited to 'user.py')
-rw-r--r-- | user.py | 48 |
1 files changed, 48 insertions, 0 deletions
@@ -0,0 +1,48 @@ +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}") + + + for post in redditor.saved(limit=None): + uplaod(post) + + sleep(60) + + generator = stream_generator(redditor.saved, attribute_name="name") + for post in generator: + uplaod(post) |