Пример #1
0
 def __setattr__(self, name, value):
     if name == "subreddit":
         value = Subreddit(self.reddit_session, value, fetch=False)
     elif name == "redditor" or name == "author":
         # Special case for deleted users
         if value != '[deleted]':
             value = Redditor(self.reddit_session, value, fetch=False)
     object.__setattr__(self, name, value)
Пример #2
0
def main():
	subreddit = Subreddit(sys.argv[1])
	graph = Graph(subreddit)
	runTextRankOnGraph(graph, 1, 0.85)

	top5Vertices = graph.getTopNVertices(5)

	print " ".join([subreddit.idToItem[v.id].body for v in top5Vertices])
Пример #3
0
    def define_subreddit(self, subreddit_model, moderators, recent_submissions,
                         recent_comments):
        subreddit = Subreddit(self.data_object.get_length(),
                              subreddit_model.display_name_prefixed,
                              subreddit_model.community_icon,
                              subreddit_model.public_description,
                              subreddit_model.subscribers,
                              subreddit_model.created, subreddit_model.over18,
                              moderators, recent_submissions, recent_comments)

        self.data_object.add_subreddit(subreddit)
Пример #4
0
def main():
    config = importConfig()
    creds = []
    sub_data = []

    print("Extracting credentials...", end="")
    try:
        creds = config["credentials"]
    except:
        error(
            "\ncredentials not found, use keyword 'credentials' in config.yaml"
        )
    print("DONE.")

    print("Extracting subreddits...", end="")
    try:
        sub_data = config["subreddits"]
    except:
        error(
            "\nsubreddits not found, use keyword 'subreddits' in config.yaml")
    print("DONE.")

    print("Validating Subreddits...", end="")
    subreddits = []
    for sub in sub_data.items():
        subreddits.append(Subreddit(sub))
    print("DONE.")

    reddit = []
    try:
        reddit = praw.Reddit(client_id=creds['client_id'],
                             client_secret=creds['client_secret'],
                             user_agent=creds['user_agent'])
    except:
        error("Bad Credentials")

    mail = []
    try:
        mail = Mail(config['mail'])
    except:
        print("WARN: no mail found in conf.yaml")

    notify.start(subreddits, reddit, mail)
Пример #5
0
def main(argv):
    sub = Subreddit()
    #sub.getHotTenSubreddit("personalfinance")
    print(sub.getTopTenSubreddit("personalfinance"))
Пример #6
0
 def get_subreddit(self, subreddit_name, *args, **kwargs):
     """Returns a Subreddit class for the subreddit_name specified."""
     return Subreddit(self, subreddit_name, *args, **kwargs)
Пример #7
0
def main(
    config_file,
    client_id,
    client_secret,
    username,
    password,
    redirect_uri,
):
    config = Config(config_file)
    config.setup_logging()

    logger = verboselogs.VerboseLogger("update")

    try:
        logger.info("Initializing the update.")
        updater = StylesheetAssetsUpdater(config)

        logger.info("Loading the Subreddit Data file:")
        updater.load()
        data = updater.stylesheet_data
        logger.verbose(f"Loaded data for /r/{data.subreddit_name}")
        logger.verbose(f"Revision comment: {data.revision_comment}")
        logger.verbose(f"CSS size: {len(updater.css_content)} bytes")

        logger.info("Authenticating to Reddit:")
        subreddit = Subreddit(
            subreddit_name=data.subreddit_name,
            client_id=client_id,
            client_secret=client_secret,
            username=username,
            password=password,
            redirect_uri=redirect_uri,
        )
        logger.verbose(f"Logged in as: {username}")

        if updater.unused_images:
            logger.info("Removing unused images:")
            for unused_image in updater.unused_images.by_reddit_name:
                logger.verbose(f"Removing image '{unused_image.reddit_name}'")
                updater.remove_image(subreddit, unused_image)

        if updater.new_images:
            logger.info("Uploading new images:")
            for new_image in updater.new_images.by_reddit_name:
                logger.verbose("Uploading image '{}' as '{}'".format(
                    new_image.filename,
                    new_image.reddit_name,
                ))
                updater.upload_image(subreddit, new_image)

        logger.info("Updating the Stylesheet:")
        updater.update_stylesheet(subreddit)
        logger.verbose("Stylesheet updated successfully.")

        logger.info("Saving the Data Page (/r/{}/wiki/{}):".format(
            data.subreddit_name,
            data.data_page_name,
        ))
        updater.save_data_page(subreddit, client_secret)
        logger.verbose("The Data Page saved successfully.")

        logger.info("The Reddit Stylesheet update has been completed. Please "
                    "perform a manual validation.")
        logger.verbose("Make sure there are enough cute anime girls featured "
                       "in the Stylesheet!")

    except StylesheetException as error:
        show_traceback = logger.getEffectiveLevel() == logging.DEBUG
        logger.error(f"Update procedure failed: {error}",
                     exc_info=show_traceback)
        exit(1)
    except Exception as error:
        logger.error(f"An unexpected error has occurred.", exc_info=True)
        exit(1)
Пример #8
0
import sys

from flask import Flask
from subreddit import Subreddit

app = Flask(__name__)
sub = Subreddit()


@app.route("/subreddits")
def flask_get_subreddits():
    return sub.get_subreddits()