Add some logging output
This commit is contained in:
parent
1f62a7ccd6
commit
cfd92a8d14
|
@ -53,23 +53,32 @@ class RedditDownloader:
|
||||||
self.reddit_lists = self._retrieve_reddit_lists()
|
self.reddit_lists = self._retrieve_reddit_lists()
|
||||||
|
|
||||||
def _setup_internal_objects(self):
|
def _setup_internal_objects(self):
|
||||||
self.download_filter = self._create_download_filter()
|
|
||||||
self.time_filter = self._create_time_filter()
|
|
||||||
self.sort_filter = self._create_sort_filter()
|
|
||||||
self.file_name_formatter = self._create_file_name_formatter()
|
|
||||||
|
|
||||||
self._resolve_user_name()
|
|
||||||
self._determine_directories()
|
self._determine_directories()
|
||||||
self._create_file_logger()
|
self._create_file_logger()
|
||||||
|
|
||||||
|
self.download_filter = self._create_download_filter()
|
||||||
|
logger.debug('Created download filter')
|
||||||
|
self.time_filter = self._create_time_filter()
|
||||||
|
logger.debug('Created time filter')
|
||||||
|
self.sort_filter = self._create_sort_filter()
|
||||||
|
logger.debug('Created sort filter')
|
||||||
|
self.file_name_formatter = self._create_file_name_formatter()
|
||||||
|
logger.debug('Create file name formatter')
|
||||||
|
|
||||||
|
self._resolve_user_name()
|
||||||
self._load_config()
|
self._load_config()
|
||||||
|
logger.debug(f'Configuration loaded from {self.config_location}')
|
||||||
|
|
||||||
self.master_hash_list = []
|
self.master_hash_list = []
|
||||||
self.authenticator = self._create_authenticator()
|
self.authenticator = self._create_authenticator()
|
||||||
|
logger.debug('Created site authenticator')
|
||||||
self._create_reddit_instance()
|
self._create_reddit_instance()
|
||||||
|
|
||||||
def _create_reddit_instance(self):
|
def _create_reddit_instance(self):
|
||||||
if self.args.authenticate:
|
if self.args.authenticate:
|
||||||
|
logger.debug('Using authenticated Reddit instance')
|
||||||
if not self.cfg_parser.has_option('DEFAULT', 'user_token'):
|
if not self.cfg_parser.has_option('DEFAULT', 'user_token'):
|
||||||
|
logger.debug('Commencing OAuth2 authentication')
|
||||||
scopes = self.cfg_parser.get('DEFAULT', 'scopes')
|
scopes = self.cfg_parser.get('DEFAULT', 'scopes')
|
||||||
scopes = OAuth2Authenticator.split_scopes(scopes)
|
scopes = OAuth2Authenticator.split_scopes(scopes)
|
||||||
oauth2_authenticator = OAuth2Authenticator(
|
oauth2_authenticator = OAuth2Authenticator(
|
||||||
|
@ -86,6 +95,7 @@ class RedditDownloader:
|
||||||
user_agent=socket.gethostname(),
|
user_agent=socket.gethostname(),
|
||||||
token_manager=token_manager)
|
token_manager=token_manager)
|
||||||
else:
|
else:
|
||||||
|
logger.debug('Using unauthenticated Reddit instance')
|
||||||
self.authenticated = False
|
self.authenticated = False
|
||||||
self.reddit_instance = praw.Reddit(client_id=self.cfg_parser.get('DEFAULT', 'client_id'),
|
self.reddit_instance = praw.Reddit(client_id=self.cfg_parser.get('DEFAULT', 'client_id'),
|
||||||
client_secret=self.cfg_parser.get('DEFAULT', 'client_secret'),
|
client_secret=self.cfg_parser.get('DEFAULT', 'client_secret'),
|
||||||
|
@ -94,9 +104,13 @@ class RedditDownloader:
|
||||||
def _retrieve_reddit_lists(self) -> list[praw.models.ListingGenerator]:
|
def _retrieve_reddit_lists(self) -> list[praw.models.ListingGenerator]:
|
||||||
master_list = []
|
master_list = []
|
||||||
master_list.extend(self._get_subreddits())
|
master_list.extend(self._get_subreddits())
|
||||||
|
logger.debug('Retrieved subreddits')
|
||||||
master_list.extend(self._get_multireddits())
|
master_list.extend(self._get_multireddits())
|
||||||
|
logger.debug('Retrieved multireddits')
|
||||||
master_list.extend(self._get_user_data())
|
master_list.extend(self._get_user_data())
|
||||||
|
logger.debug('Retrieved user data')
|
||||||
master_list.extend(self._get_submissions_from_link())
|
master_list.extend(self._get_submissions_from_link())
|
||||||
|
logger.debug('Retrieved submissions for given links')
|
||||||
return master_list
|
return master_list
|
||||||
|
|
||||||
def _determine_directories(self):
|
def _determine_directories(self):
|
||||||
|
@ -113,10 +127,13 @@ class RedditDownloader:
|
||||||
Path(self.config_directory, 'config.cfg'),
|
Path(self.config_directory, 'config.cfg'),
|
||||||
Path('./default_config.cfg'),
|
Path('./default_config.cfg'),
|
||||||
]
|
]
|
||||||
|
self.config_location = None
|
||||||
for path in possible_paths:
|
for path in possible_paths:
|
||||||
if path.resolve().expanduser().exists():
|
if path.resolve().expanduser().exists():
|
||||||
self.config_location = path
|
self.config_location = path
|
||||||
break
|
break
|
||||||
|
if not self.config_location:
|
||||||
|
raise errors.BulkDownloaderException('Could not find a configuration file to load')
|
||||||
self.cfg_parser.read(self.config_location)
|
self.cfg_parser.read(self.config_location)
|
||||||
|
|
||||||
def _create_file_logger(self):
|
def _create_file_logger(self):
|
||||||
|
|
|
@ -70,7 +70,7 @@ class OAuth2Authenticator:
|
||||||
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||||
server.bind(('localhost', 7634))
|
server.bind(('localhost', 7634))
|
||||||
logger.debug('Server listening on localhost:8080')
|
logger.debug('Server listening on localhost:7634')
|
||||||
|
|
||||||
server.listen(1)
|
server.listen(1)
|
||||||
client = server.accept()[0]
|
client = server.accept()[0]
|
||||||
|
@ -95,6 +95,7 @@ class OAuth2TokenManager(praw.reddit.BaseTokenManager):
|
||||||
if authorizer.refresh_token is None:
|
if authorizer.refresh_token is None:
|
||||||
if self.config.has_option('DEFAULT', 'user_token'):
|
if self.config.has_option('DEFAULT', 'user_token'):
|
||||||
authorizer.refresh_token = self.config.get('DEFAULT', 'user_token')
|
authorizer.refresh_token = self.config.get('DEFAULT', 'user_token')
|
||||||
|
logger.debug('Loaded OAuth2 token for authoriser')
|
||||||
else:
|
else:
|
||||||
raise RedditAuthenticationError('No auth token loaded in configuration')
|
raise RedditAuthenticationError('No auth token loaded in configuration')
|
||||||
|
|
||||||
|
@ -102,3 +103,4 @@ class OAuth2TokenManager(praw.reddit.BaseTokenManager):
|
||||||
self.config.set('DEFAULT', 'user_token', authorizer.refresh_token)
|
self.config.set('DEFAULT', 'user_token', authorizer.refresh_token)
|
||||||
with open(self.config_location, 'w') as file:
|
with open(self.config_location, 'w') as file:
|
||||||
self.config.write(file, True)
|
self.config.write(file, True)
|
||||||
|
logger.debug(f'Written OAuth2 token from authoriser to {self.config_location}')
|
||||||
|
|
Loading…
Reference in a new issue