From c20fab25947176c9a456cfac9ba09ad90f5b7cfe Mon Sep 17 00:00:00 2001 From: Serene-Arc Date: Thu, 11 Feb 2021 09:09:49 +1000 Subject: [PATCH] Add resource class --- bulkredditdownloader/resource.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 bulkredditdownloader/resource.py diff --git a/bulkredditdownloader/resource.py b/bulkredditdownloader/resource.py new file mode 100644 index 0000000..cf0ed90 --- /dev/null +++ b/bulkredditdownloader/resource.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 +# coding=utf-8 + +import hashlib +import re + +from praw.models import Submission + + +class Resource: + def __init__(self, source_submission: Submission, url: str, content: bytes): + self.source_submission = source_submission + self.content = content + self.url = url + self.hash = hashlib.md5(content) + self.extension = self._get_extension(url) + + @staticmethod + def _get_extension(url: str) -> str: + pattern = re.compile(r'(\.(jpg|jpeg|png|mp4|webm|gif))') + if results := re.search(pattern, url): + if len(results.groups()) > 1: + return results[0] + if "v.redd.it" not in url: + return '.jpg' + else: + return '.mp4'