Skip to content

Commit

Permalink
Merge pull request #42 from aliparlakci/verboseMode
Browse files Browse the repository at this point in the history
Added Verbose mode
  • Loading branch information
aliparlakci authored Jul 25, 2018
2 parents e6b648d + dad5669 commit 1623722
Show file tree
Hide file tree
Showing 5 changed files with 63 additions and 41 deletions.
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@ It should redirect to a page which shows your **imgur_client_id** and **imgur_cl
\* Select **OAuth 2 authorization without a callback URL** first then select **Anonymous usage without user authorization** if it says *Authorization callback URL: required*

## FAQ
### What do the dots resemble when getting posts?
- Each dot means that 100 posts are scanned.

### Getting posts is taking too long.
- You can press Ctrl+C to interrupt it and start downloading.

### How downloaded files' names are formatted?
- Images that are not belong to an album or self posts are formatted as **`[SUBMITTER NAME]_[POST TITLE]_[REDDIT ID]`**.
You can use *reddit id* to go to post's reddit page by going to link **reddit.com/[REDDIT ID]**
Expand Down
5 changes: 3 additions & 2 deletions docs/COMMAND_LINE_ARGUMENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ usage: script.py [-h] [--directory DIRECTORY] [--link link] [--saved]
[--subreddit SUBREDDIT [SUBREDDIT ...]]
[--multireddit MULTIREDDIT] [--user redditor]
[--search query] [--sort SORT TYPE] [--limit Limit]
[--time TIME_LIMIT] [--NoDownload]
[--time TIME_LIMIT] [--NoDownload] [--verbose]

This program downloads media from reddit posts

optional arguments:
-h, --help show this help message and exit
--directory DIRECTORY
--directory DIRECTORY, -d DIRECTORY
Specifies the directory where posts will be downloaded
to
--link link, -l link Get posts from link
Expand All @@ -40,6 +40,7 @@ optional arguments:
all
--NoDownload Just gets the posts and store them in a file for
downloading later
--verbose, -v Verbose Mode
```

# Examples
Expand Down
7 changes: 6 additions & 1 deletion script.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ def parseArguments(arguments=[]):
description="This program downloads " \
"media from reddit " \
"posts")
parser.add_argument("--directory",
parser.add_argument("--directory","-d",
help="Specifies the directory where posts will be " \
"downloaded to",
metavar="DIRECTORY")
Expand Down Expand Up @@ -144,6 +144,11 @@ def parseArguments(arguments=[]):
action="store_true",
default=False)

parser.add_argument("--verbose","-v",
help="Verbose Mode",
action="store_true",
default=False)


if arguments == []:
return parser.parse_args()
Expand Down
75 changes: 42 additions & 33 deletions src/searcher.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import os
import sys
import random
import socket
import webbrowser
Expand Down Expand Up @@ -306,6 +307,7 @@ def redditSearcher(posts,SINGLE_POST=False):

allPosts = {}

print("GETTING POSTS")
postsFile = createLogFile("POSTS")

if SINGLE_POST:
Expand All @@ -326,49 +328,56 @@ def redditSearcher(posts,SINGLE_POST=False):
if result is not None:
details = result
orderCount += 1
printSubmission(submission,subCount,orderCount)
if GLOBAL.arguments.verbose:
printSubmission(submission,subCount,orderCount)
subList.append(details)

postsFile.add({subCount:[details]})

else:
for submission in posts:
subCount += 1

try:
details = {'postId':submission.id,
'postTitle':submission.title,
'postSubmitter':str(submission.author),
'postType':None,
'postURL':submission.url,
'postSubreddit':submission.subreddit.display_name}
except AttributeError:
continue

result = checkIfMatching(submission)

if result is not None:
details = result
orderCount += 1
printSubmission(submission,subCount,orderCount)
subList.append(details)

allPosts[subCount] = [details]
try:
for submission in posts:
subCount += 1

if subCount % 100 == 0 and not GLOBAL.arguments.verbose:
sys.stdout.write("• ")
sys.stdout.flush()

if subCount % 1000 == 0:
sys.stdout.write("\n")
sys.stdout.flush()

try:
details = {'postId':submission.id,
'postTitle':submission.title,
'postSubmitter':str(submission.author),
'postType':None,
'postURL':submission.url,
'postSubreddit':submission.subreddit.display_name}
except AttributeError:
continue

result = checkIfMatching(submission)

if result is not None:
details = result
orderCount += 1
if GLOBAL.arguments.verbose:
printSubmission(submission,subCount,orderCount)
subList.append(details)

allPosts[subCount] = [details]
except KeyboardInterrupt:
print("\nKeyboardInterrupt",end="")

postsFile.add(allPosts)

if not len(subList) == 0:
print(
"\nTotal of {} submissions found!\n"\
"{} GFYCATs, {} IMGURs, {} EROMEs, {} DIRECTs and {} SELF POSTS\n"
.format(
len(subList),
gfycatCount,
imgurCount,
eromeCount,
directCount,
selfCount
)
f"\n\nTotal of {len(subList)} submissions found!\n"\
f"{gfycatCount} GFYCATs, {imgurCount} IMGURs, " \
f"{eromeCount} EROMEs, {directCount} DIRECTs " \
f"and {selfCount} SELF POSTS"
)
return subList
else:
Expand Down
11 changes: 6 additions & 5 deletions src/tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,12 @@ def printToFile(*args, **kwargs):

if not path.exists(folderDirectory):
makedirs(folderDirectory)

with io.open(
folderDirectory / "CONSOLE_LOG.txt","a",encoding="utf-8"
) as FILE:
print(*args, file=FILE, **kwargs)

if not "file" in kwargs:
with io.open(
folderDirectory / "CONSOLE_LOG.txt","a",encoding="utf-8"
) as FILE:
print(*args, file=FILE, **kwargs)

def nameCorrector(string):
"""Swap strange characters from given string
Expand Down

0 comments on commit 1623722

Please sign in to comment.