SubredditRules
**************

class praw.models.reddit.rules.SubredditRules(subreddit: Subreddit)

   Provide a set of functions to access a Subreddit’s rules.

   For example, to list all the rules for a subreddit:

      for rule in reddit.subreddit("AskReddit").rules:
          print(rule)

   Moderators can also add rules to the subreddit. For example, to
   make a rule called ""No spam"" in the subreddit ""NAME"":

      reddit.subreddit("NAME").rules.mod.add(
          short_name="No spam", kind="all", description="Do not spam. Spam bad"
      )

   __call__() -> List[praw.models.reddit.rules.Rule]

      Return a list of "Rule"s (Deprecated).

      Returns:
         A list of instances of "Rule".

      Deprecated since version 7.1: Use the iterator by removing the
      call to "SubredditRules". For example, in order to use the
      iterator:

         for rule in reddit.subreddit("test").rules:
             print(rule)

   __getitem__(short_name: Union[str, int, slice]) -> praw.models.reddit.rules.Rule

      Return the Rule for the subreddit with short_name "short_name".

      Parameters:
         **short_name** – The short_name of the rule, or the rule
         number.

      Note:

        Rules fetched using a specific rule name are lazily loaded, so
        you might have to access an attribute to get all of the
        expected attributes.

      This method is to be used to fetch a specific rule, like so:

         rule_name = "No spam"
         rule = reddit.subreddit("NAME").rules[rule_name]
         print(rule)

      You can also fetch a numbered rule of a subreddit.

      Rule numbers start at "0", so the first rule is at index "0",
      and the second rule is at index "1", and so on.

      Raises:
         "IndexError" if a rule of a specific number does not exist.

      Note:

        You can use negative indexes, such as "-1", to get the last
        rule. You can also use slices, to get a subset of rules, such
        as the last three rules with "rules[-3:]".

      For example, to fetch the second rule of "AskReddit":

         rule = reddit.subreddit("AskReddit").rules[1]

   __init__(subreddit: Subreddit)

      Create a SubredditRules instance.

      Parameters:
         **subreddit** – The subreddit whose rules to work with.

   __iter__() -> Iterator[praw.models.reddit.rules.Rule]

      Iterate through the rules of the subreddit.

      Returns:
         An iterator containing all of the rules of a subreddit.

      This method is used to discover all rules for a subreddit.

      For example, to get the rules for the subreddit ""NAME"":

         for rule in reddit.subreddit("NAME").rules:
             print(rule)

   mod()

      Contain methods to moderate subreddit rules as a whole.

      To add rule ""No spam"" to the subreddit ""NAME"" try:

         reddit.subreddit("NAME").rules.mod.add(
             short_name="No spam", kind="all", description="Do not spam. Spam bad"
         )

      To move the fourth rule to the first position, and then to move
      the prior first rule to where the third rule originally was in
      the subreddit ""NAME"":

         subreddit = reddit.subreddit("NAME")
         rules = list(subreddit.rules)
         new_rules = rules[3:4] + rules[1:3] + rules[0:1] + rules[4:]
         # Alternate: [rules[3]] + rules[1:3] + [rules[0]] + rules[4:]
         new_rule_list = subreddit.rules.mod.reorder(new_rules)
