1
0
Fork 0
mirror of synced 2024-05-18 19:22:38 +12:00

Add some logging output

This commit is contained in:
Serene-Arc 2021-03-09 19:45:26 +10:00 committed by Ali Parlakci
parent 1f62a7ccd6
commit cfd92a8d14
2 changed files with 26 additions and 7 deletions

View file

@ -53,23 +53,32 @@ class RedditDownloader:
self.reddit_lists = self._retrieve_reddit_lists()
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._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()
logger.debug(f'Configuration loaded from {self.config_location}')
self.master_hash_list = []
self.authenticator = self._create_authenticator()
logger.debug('Created site authenticator')
self._create_reddit_instance()
def _create_reddit_instance(self):
if self.args.authenticate:
logger.debug('Using authenticated Reddit instance')
if not self.cfg_parser.has_option('DEFAULT', 'user_token'):
logger.debug('Commencing OAuth2 authentication')
scopes = self.cfg_parser.get('DEFAULT', 'scopes')
scopes = OAuth2Authenticator.split_scopes(scopes)
oauth2_authenticator = OAuth2Authenticator(
@ -86,6 +95,7 @@ class RedditDownloader:
user_agent=socket.gethostname(),
token_manager=token_manager)
else:
logger.debug('Using unauthenticated Reddit instance')
self.authenticated = False
self.reddit_instance = praw.Reddit(client_id=self.cfg_parser.get('DEFAULT', 'client_id'),
client_secret=self.cfg_parser.get('DEFAULT', 'client_secret'),
@ -94,9 +104,13 @@ class RedditDownloader:
def _retrieve_reddit_lists(self) -> list[praw.models.ListingGenerator]:
master_list = []
master_list.extend(self._get_subreddits())
logger.debug('Retrieved subreddits')
master_list.extend(self._get_multireddits())
logger.debug('Retrieved multireddits')
master_list.extend(self._get_user_data())
logger.debug('Retrieved user data')
master_list.extend(self._get_submissions_from_link())
logger.debug('Retrieved submissions for given links')
return master_list
def _determine_directories(self):
@ -113,10 +127,13 @@ class RedditDownloader:
Path(self.config_directory, 'config.cfg'),
Path('./default_config.cfg'),
]
self.config_location = None
for path in possible_paths:
if path.resolve().expanduser().exists():
self.config_location = path
break
if not self.config_location:
raise errors.BulkDownloaderException('Could not find a configuration file to load')
self.cfg_parser.read(self.config_location)
def _create_file_logger(self):

View file

@ -70,7 +70,7 @@ class OAuth2Authenticator:
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server.bind(('localhost', 7634))
logger.debug('Server listening on localhost:8080')
logger.debug('Server listening on localhost:7634')
server.listen(1)
client = server.accept()[0]
@ -95,6 +95,7 @@ class OAuth2TokenManager(praw.reddit.BaseTokenManager):
if authorizer.refresh_token is None:
if self.config.has_option('DEFAULT', 'user_token'):
authorizer.refresh_token = self.config.get('DEFAULT', 'user_token')
logger.debug('Loaded OAuth2 token for authoriser')
else:
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)
with open(self.config_location, 'w') as file:
self.config.write(file, True)
logger.debug(f'Written OAuth2 token from authoriser to {self.config_location}')