reddit-image-wall-getter/reddit_imgs/runner.py

105 lines
3.3 KiB
Python
Executable File

#!/usr/bin/env python3
# -*- encoding: utf-8 -*-
import reddit_imgs.sync
import reddit_imgs.fetch
import reddit_imgs.reorganize
import os
import shutil
wdir = os.path.abspath('.')
def ensureFolderAvailability():
if not os.path.exists(os.path.join(wdir,'a')):
os.makedirs(os.path.join(wdir,'a'))
if not os.path.exists(os.path.join(wdir,'d')):
os.makedirs(os.path.join(wdir,'d'))
if not os.path.exists(os.path.join(wdir,'i')):
os.makedirs(os.path.join(wdir,'i'))
if not os.path.exists(os.path.join(wdir,'r')):
os.makedirs(os.path.join(wdir,'r'))
def managesubreddits():
i = ''
while i!='0':
print('\n'*100)
print('----------------------------------------------')
print(' Subreddit Manager ')
print('----------------------------------------------')
print('1) List monitored subreddits')
print('2) Add monitored subreddit')
print('3) Remove monitored subreddit')
print()
print('0) Back')
print('----------------------------------------------')
print()
print('Enter your choice:')
i = input()
i = i.strip()
print()
print()
subreddits_dir = os.path.join(wdir,'r')
subreddits_isfolder = lambda sr: os.path.isdir(os.path.join(subreddits_dir,sr))
subreddits = sorted(filter(subreddits_isfolder, os.listdir(subreddits_dir)))
if i=='1' or i=='3':
print('Subreddits monitored:')
for sr in subreddits:
print('/r/%s'%sr)
print()
if i=='1':
print('Press enter to continue')
input()
if i=='3':
print('Enter the subreddit you want to get rid of:')
rem = input('/r/')
try: shutil.rmtree(os.path.join(subreddits_dir,rem))
except: pass
print()
print('Done.')
print('Press enter to continue')
input()
elif i=='2':
print('Enter the subreddit you want to add:')
add = input('/r/')
try: os.makedirs(os.path.join(subreddits_dir,add))
except: pass
print()
print('Done.')
print('Press enter to continue')
input()
def mainmenu():
i = ''
while i!='0':
print('\n'*100)
print('----------------------------------------------')
print(' Reddit Image Downloader ')
print('----------------------------------------------')
print('1) Manage subreddits')
print('2) Get link list to be downloaded from reddit')
print('3) Download grabbed links')
print('4) Group and put nice names on downloaded data')
print()
print('0) Quit')
print('----------------------------------------------')
print()
print('Enter your choice:')
i = input()
i = i.strip()
if i=='1':
managesubreddits()
elif i=='2':
reddit_imgs.sync.main()
elif i=='3':
reddit_imgs.fetch.main()
elif i=='4':
reddit_imgs.reorganize.main()
def main():
ensureFolderAvailability()
mainmenu()
if __name__ == '__main__':
main()