Module Expr Str Assign NameStore Str Import alias identifier ImportFrom alias Import alias Import alias Import alias Import alias Import alias Import alias Import alias Import alias Assign NameStore Call AttributeLoad NameLoad attr Num Assign NameStore Call AttributeLoad NameLoad attr TryExcept body Import alias Assign NameStore AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Import alias Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr FunctionDef arguments args NameParam NameParam defaults Call AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list ClassDef bases AttributeLoad NameLoad attr body Expr Str decorator_list ClassDef bases AttributeLoad NameLoad attr body Expr Str decorator_list ClassDef bases NameLoad body Expr Str decorator_list ClassDef bases AttributeLoad NameLoad attr body Expr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str If CompareEq SubscriptLoad NameLoad Index Num Str body Return Call AttributeLoad NameLoad attr keyword Call NameLoad SubscriptLoad NameLoad Slice Num orelse If CompareEq SubscriptLoad NameLoad Index Num Str body Return Call AttributeLoad NameLoad attr keyword Call NameLoad SubscriptLoad NameLoad Slice Num orelse Return Call AttributeLoad NameLoad attr keyword Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str If Call AttributeLoad SubscriptLoad NameLoad Index Num attr body Return TupleLoad Call NameLoad NameLoad Str orelse If CompareIn SubscriptLoad NameLoad Index Num ListLoad Str Str body Return TupleLoad BinOpMult Call NameLoad SubscriptLoad NameLoad Slice Num Num Str orelse If CompareEq SubscriptLoad NameLoad Index Num Str body Return TupleLoad BinOpMult BinOpMult Call NameLoad SubscriptLoad NameLoad Slice Num Num Num Str orelse If CompareEq SubscriptLoad NameLoad Index Num Str body Return TupleLoad Call NameLoad SubscriptLoad NameLoad Slice Num Str orelse Return TupleLoad BinOpMult Call NameLoad SubscriptLoad NameLoad Slice Num Num Str decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults ListLoad body Expr Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad keyword Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword NameLoad If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad For NameStore NameLoad body Expr Yield NameLoad decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults NameLoad body If CompareIs NameLoad NameLoad body Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr orelse Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore ListLoad Str Str Str Str Str Str Str Str Str Str Str Str Assign NameStore ListLoad Str Str Str Str Str Str Str Str Str Str Str Str Assign NameStore Dict Str Str Str Str Str Str BinOpAdd BinOpAdd Call AttributeLoad Str attr NameLoad Str Call AttributeLoad Str attr NameLoad AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore SubscriptLoad SubscriptLoad Call AttributeLoad NameLoad attr NameLoad Index Str Index Str Assign NameStore Call NameLoad GeneratorExp TupleLoad NameLoad Dict Str Str Str Str comprehension NameStore Call NameLoad Num Num Assign NameStore Call NameLoad For NameStore NameLoad body Assign TupleStore NameStore NameStore TupleLoad SubscriptLoad NameLoad Index Str SubscriptLoad NameLoad Index Str TryExcept body Assign NameStore BinOpAdd Call AttributeLoad NameLoad attr NameLoad Num Assign SubscriptStore SubscriptLoad NameLoad Index NameLoad Index Str NameLoad handlers ExceptHandler type NameLoad body Assign NameStore BinOpAdd Call AttributeLoad NameLoad attr NameLoad Num Assign SubscriptStore SubscriptLoad NameLoad Index NameLoad Index Str NameLoad Assign SubscriptStore NameLoad Index NameLoad NameLoad Return TupleLoad NameLoad NameLoad decorator_list NameLoad FunctionDef arguments args NameParam NameParam defaults NameLoad body If CompareIs NameLoad NameLoad body Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr orelse Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr decorator_list NameLoad decorator_list ClassDef bases AttributeLoad NameLoad attr body Expr Str FunctionDef arguments args NameParam NameParam defaults body Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return Str decorator_list FunctionDef arguments args NameParam NameParam defaults body Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return BinOpMod Str AttributeLoad AttributeLoad NameLoad attr attr decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr body Expr Str FunctionDef arguments args NameParam NameParam NameParam defaults body Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr keyword NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return BinOpMod Str TupleLoad AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd BinOpMult AttributeLoad AttributeLoad NameLoad attr attr Num AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Assign TupleStore AttributeStore NameLoad attr AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr ListLoad Str Str Str Str Str Str Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore BinOpMod Str Call AttributeLoad Str attr AttributeLoad NameLoad attr Assign NameStore Str Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults Str Str body While CompareIn NameLoad NameLoad body AugAssignAdd NameStore NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore NameLoad For NameStore Call AttributeLoad NameLoad attr NameLoad body Pass If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Return TupleLoad NameLoad Call AttributeLoad NameLoad attr orelse Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore NameLoad Assign NameStore Call NameLoad For NameStore AttributeLoad NameLoad attr body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad If Call NameLoad GeneratorExp CompareIn NameLoad NameLoad comprehension NameStore AttributeLoad NameLoad attr body Delete SubscriptDel NameLoad Index Str TryExcept body Assign SubscriptStore NameLoad Index Str SubscriptLoad AttributeLoad NameLoad attr Index SubscriptLoad NameLoad Index Str handlers ExceptHandler type NameLoad body Expr Call AttributeLoad NameLoad attr Str For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr body TryExcept body Assign SubscriptStore NameLoad Index NameLoad Call NameLoad NameLoad handlers ExceptHandler type NameLoad body Pass Assign SubscriptStore NameLoad Index Str Call NameLoad SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr Index Str SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr Index Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad orelse Assign NameStore NameLoad Return NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Str Assign AttributeStore NameLoad attr Call NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return BinOpMod Str TupleLoad AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body If BoolOpAnd UnaryOpNot AttributeLoad NameLoad attr UnaryOpNot NameLoad body Return AugAssignAdd AttributeStore NameLoad attr BinOpAdd NameLoad Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If UnaryOpNot AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr NameLoad If NameLoad body Assign AttributeStore NameLoad attr Call NameLoad AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return BinOpAdd BinOpAdd Call NameLoad AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr Num decorator_list FunctionDef arguments args NameParam defaults body Return BinOpAdd BinOpAdd BinOpAdd Str AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr Str NameLoad If NameLoad body If UnaryOpNot AttributeLoad NameLoad attr body Return Str Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Num If CompareGt BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad body Return Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Dict Str Call AttributeLoad NameLoad attr Num Return Str decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad NameLoad Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad Call AttributeLoad AttributeLoad NameLoad attr attr attr keyword Call NameLoad TryExcept body Expr Call AttributeLoad NameLoad attr handlers ExceptHandler type AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Str Call NameLoad Str If AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr BinOpMod AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign AttributeStore NameLoad attr Str Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr Dict Assign AttributeStore NameLoad attr Num Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr attr Str Assign NameStore NameLoad Assign NameStore NameLoad For NameStore NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Str NameLoad If NameLoad body Assign NameStore NameLoad If NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Num AttributeLoad NameLoad attr orelse If NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad orelse AugAssignAdd AttributeStore NameLoad attr BinOpAdd NameLoad Str If NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad Call NameLoad AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults TupleLoad BinOpMult Num Num Str body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad AugAssignAdd AttributeStore NameLoad attr Num If CompareEq SubscriptLoad NameLoad Index Num Str body If CompareGtE Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num body Assign AttributeStore NameLoad attr NameLoad orelse If CompareEq SubscriptLoad NameLoad Index Num Str body If CompareGtE Call NameLoad AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num body Assign AttributeStore NameLoad attr NameLoad Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Return BinOpAdd Call NameLoad AttributeLoad NameLoad attr Call NameLoad ListComp Call AttributeLoad NameLoad attr comprehension NameStore AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body If NameLoad body Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr keyword Lambda arguments args NameParam defaults AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Str Str AttributeLoad NameLoad attr For NameStore AttributeLoad NameLoad attr body AugAssignAdd NameStore Call AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body AugAssignAdd NameStore BinOpAdd Str Call NameLoad Str Expr Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad body Assign AttributeStore NameLoad attr Dict Str Str Str Str Str ListLoad Str NameLoad ListLoad Str NameLoad ListLoad Str NameLoad ListLoad Str NameLoad ListLoad Str NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call NameLoad Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Dict Str Call AttributeLoad AttributeLoad NameLoad attr attr Assign AttributeStore NameLoad attr Dict Assign AttributeStore NameLoad attr Num Assign TupleStore AttributeStore NameLoad attr AttributeStore NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Str body Return SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad ListLoad NameLoad Index Num decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad body If CompareEq NameLoad Str body Assign NameStore Call AttributeLoad NameLoad attr Str Str Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad ListLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return ListComp NameLoad comprehension NameStore AttributeLoad NameLoad attr BoolOpAnd SubscriptLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad Index Num CompareNotEq NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Return BinOpMod Str TupleLoad AttributeLoad NameLoad attr Call AttributeLoad Str attr ListComp BinOpMod Str TupleLoad NameLoad Call AttributeLoad NameLoad attr NameLoad comprehension NameStore Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr BinOpAdd AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr BinOpAdd Call AttributeLoad Call AttributeLoad AttributeLoad NameLoad attr attr attr Str Str Return CompareEq Call AttributeLoad NameLoad attr Str Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore NameLoad For NameStore Call AttributeLoad AttributeLoad NameLoad attr attr keyword AttributeLoad AttributeLoad NameLoad attr attr body If CompareEq SubscriptLoad NameLoad Index Num AttributeLoad NameLoad attr body For NameStore SubscriptLoad NameLoad Index Num body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Str Num Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Assign NameStore NameLoad Break If UnaryOpNot NameLoad body Raise Call NameLoad Str If UnaryOpNot Call AttributeLoad NameLoad attr Str Str body Raise Call NameLoad Str decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad body Expr Str If UnaryOpNot NameLoad body Return If BoolOpAnd UnaryOpNot AttributeLoad NameLoad attr UnaryOpNot CompareEq BinOpAdd Call AttributeLoad AttributeLoad NameLoad attr attr Str SubscriptLoad NameLoad Slice BinOpAdd Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num UnaryOpNot Call AttributeLoad NameLoad attr body Raise NameLoad If CompareNotIn NameLoad AttributeLoad NameLoad attr body Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad Call NameLoad NameLoad NameLoad NameLoad Return Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Str Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Str Str Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign AttributeStore AttributeLoad NameLoad attr attr ListLoad Assign NameStore ListLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str Call NameLoad NameLoad For NameStore NameLoad body If CompareLtE BinOpSub Call NameLoad NameLoad AttributeLoad NameLoad attr Call NameLoad Call AttributeLoad NameLoad attr Str Num body Expr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr NameLoad Continue Assign NameStore Call AttributeLoad NameLoad attr NameLoad If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore Dict Str Str Str Str Str Str NameLoad AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr SubscriptLoad SubscriptLoad AttributeLoad NameLoad attr Index AttributeLoad AttributeLoad NameLoad attr attr Index Str SubscriptLoad SubscriptLoad AttributeLoad NameLoad attr Index AttributeLoad AttributeLoad NameLoad attr attr Index Str Call NameLoad Call AttributeLoad NameLoad attr Str Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad BinOpMod NameLoad NameLoad attr If Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad body AugAssignAdd NameStore Num Expr Call AttributeLoad NameLoad attr Str Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad AugAssignAdd AttributeStore NameLoad attr Num orelse Expr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body If UnaryOpNot Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr body Return Assign NameStore Call AttributeLoad NameLoad attr If CompareLt AttributeLoad NameLoad attr Call NameLoad Call AttributeLoad NameLoad attr Str Num body Expr Call AttributeLoad NameLoad attr BinOpMod Str AttributeLoad NameLoad attr Return If NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMod Str AttributeLoad NameLoad attr For NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr body Assign SubscriptStore AttributeLoad NameLoad attr Index Str AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str AttributeLoad NameLoad attr Expr Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd Str AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr Assign AttributeStore AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr Assign SubscriptStore AttributeLoad NameLoad attr Index Str AttributeLoad NameLoad attr Assign SubscriptStore AttributeLoad NameLoad attr Index Str Call AttributeLoad Str attr ListComp BinOpAdd BinOpAdd Str Call AttributeLoad NameLoad attr Str comprehension NameStore Call AttributeLoad AttributeLoad NameLoad attr attr If UnaryOpNot SubscriptLoad AttributeLoad NameLoad attr Index Str body Assign SubscriptStore AttributeLoad NameLoad attr Index Str Str Assign SubscriptStore AttributeLoad NameLoad attr Index Str Call AttributeLoad Str attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list decorator_list FunctionDef arguments args defaults body Global identifier identifier Import alias Assign NameStore ListLoad For NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad ImportFrom alias Assign NameStore Call NameLoad keyword Str Expr Call AttributeLoad NameLoad attr Str Str keyword Str keyword Str keyword Str Expr Call AttributeLoad NameLoad attr Str Str keyword Str keyword Str keyword Str Expr Call AttributeLoad NameLoad attr Str Str keyword Str keyword Str keyword Str Expr Call AttributeLoad NameLoad attr Str Str keyword Str keyword Str Expr Call AttributeLoad NameLoad attr Str Str keyword Str keyword Str keyword Str Expr Call AttributeLoad NameLoad attr Str Str keyword Str keyword Str keyword Str Expr Call AttributeLoad NameLoad attr Str Str keyword Str keyword Str keyword Str Expr Call AttributeLoad NameLoad attr Str Str keyword Str keyword Str keyword Str Expr Call AttributeLoad NameLoad attr Str Str keyword Str keyword Str keyword Str Expr Call AttributeLoad NameLoad attr Str Str keyword Str keyword Str keyword Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr keyword NameLoad If AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Str If AttributeLoad NameLoad attr body Assign SubscriptStore AttributeLoad NameLoad attr Index Str AttributeLoad NameLoad attr If Call NameLoad NameLoad Str body Expr Call AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body If UnaryOpNot AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr Str Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr BinOpAdd AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr BinOpAdd AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr BinOpAdd Str Call AttributeLoad NameLoad attr Return If AttributeLoad NameLoad attr body Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore Str If AttributeLoad NameLoad attr body Assign NameStore NameLoad orelse Assign NameStore NameLoad If AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr NameLoad If BoolOpOr UnaryOpNot NameLoad CompareLtE Call NameLoad NameLoad Num body Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Return Expr Call AttributeLoad NameLoad attr keyword NameLoad For NameStore SubscriptLoad NameLoad Slice Num body Assign NameStore ListLoad If BoolOpAnd UnaryOpNot AttributeLoad NameLoad attr UnaryOpNot AttributeLoad NameLoad attr body If CompareIsNot AttributeLoad NameLoad attr NameLoad body Assign NameStore ListLoad Call NameLoad AttributeLoad NameLoad attr orelse Assign NameStore ListLoad For NameStore Call NameLoad NameLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad If AttributeLoad NameLoad attr body For NameStore Call AttributeLoad Call NameLoad AttributeLoad NameLoad attr Str attr body Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad NameLoad If AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr keyword Num Assign NameStore Call NameLoad NameLoad For NameStore Call NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad TryExcept body Assign NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Num handlers ExceptHandler body Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Expr Call AttributeLoad NameLoad attr decorator_list If CompareEq NameLoad Str body TryFinally body Expr Call NameLoad finalbody Expr Call AttributeLoad NameLoad attr
N/A N/A 
archivebot.py - discussion page archiving bot.

usage:

    python archivebot.py [OPTIONS] TEMPLATE_PAGE

Bot examines backlinks (Special:Whatlinkshere) to TEMPLATE_PAGE.
Then goes through all pages (unless a specific page specified using options)
and archives old discussions. This is done by breaking a page into threads,
then scanning each thread for timestamps. Threads older than a specified
treshold are then moved to another page (the archive), which can be named
either basing on the thread's name or then name can contain a counter which
will be incremented when the archive reaches a certain size.

Trancluded template may contain the following parameters:

{{TEMPLATE_PAGE
|archive             =
|algo                =
|counter             =
|maxarchivesize      =
|minthreadsleft      =
|minthreadstoarchive =
|archiveheader       =
|key                 =
}}

Meanings of parameters are:

archive              Name of the page to which archived threads will be put.
                     Must be a subpage of the current page. Variables are
                     supported.
algo                 specifies the maximum age of a thread. Must be in the form
                     old(<delay>) where <delay> specifies the age in hours or
                     days like 24h or 5d.
                     Default is old(24h)
counter              The current value of a counter which could be assigned as
                     variable. Will be actualized by bot. Initial value is 1.
maxarchivesize       The maximum archive size before incrementing the counter.
                     Value can be given with appending letter like K or M which
                     indicates KByte or MByte. Default value is 1000M.
minthreadsleft       Minimum number of threads that should be left on a page.
                     Default value is 5.
minthreadstoarchive  The minimum number of threads to archive at once. Default
                     value is 2.
archiveheader        Content that will be put on new archive pages as the
                     header. This parameter supports the use of variables.
                     Default value is {{talkarchive}}
key                  A secret key that (if valid) allows archives to not be
                     subpages of the page being archived.


Options (may be omitted):
  -h, --help            show this help message and exit
  -c PAGE, --calc=PAGE  calculate key for PAGE and exit
  -f FILE, --file=FILE  load list of pages from FILE
  -F, --force           override security options
  -l LOCALE, --locale=LOCALE
                        switch to locale LOCALE
  -L LANG, --lang=LANG  set the language code to work on
  -n NAMESPACE, --namespace=NAMESPACE
                        only archive pages from a given namespace
  -p PAGE, --page=PAGE  archive a single PAGE, default ns is a user talk page
  -s SALT, --salt=SALT  specify salt
  -S --simulate         Do not change pages, just simulate
 N/A __version__ $Id: 7c80de01fdffc6bd28584408a5f24bf073878eb1 $ N/A wikipedia pywikibot pywikibot i18n N/A pagegenerators N/A query N/A datetime N/A time N/A os N/A re N/A locale N/A traceback N/A ZERO N/A N/A datetime timedelta 0 N/A Site N/A N/A pywikibot getSite N/A N/A N/A hashlib N/A new_hash N/A hashlib md5 N/A N/A N/A ImportError N/A N/A md5 N/A new_hash N/A md5 md5 N/A language N/A N/A Site language message N/A N/A key lang N/A N/A N/A Site language N/A N/A N/A N/A i18n twtranslate lang key N/A MalformedConfigError N/A N/A pywikibot Error N/A N/A There is an error in the configuration template. N/A MissingConfigError N/A N/A pywikibot Error N/A N/A The config is missing in the header (either it's in one of the threads
    or transcluded from another page). N/A AlgorithmError N/A MalformedConfigError N/A N/A Invalid specification of archiving algorithm. N/A ArchiveSecurityError N/A N/A pywikibot Error N/A N/A Archive is not a subpage of page being archived and key not specified
    (or incorrect). N/A str2time N/A N/A str N/A N/A N/A Accepts a string defining a time period:
    7d - 7 days
    36h - 36 hours
    Returns the corresponding timedelta object. N/A N/A N/A str N/A -1 d N/A N/A N/A N/A datetime timedelta days N/A int N/A str N/A -1 N/A N/A N/A N/A str N/A -1 h N/A N/A N/A N/A datetime timedelta hours N/A int N/A str N/A -1 N/A N/A N/A N/A datetime timedelta seconds N/A int str N/A str2size N/A N/A str N/A N/A N/A Accepts a string defining a size:
    1337 - 1337 bytes
    150K - 150 kilobytes
    2M - 2 megabytes
    Returns a tuple (size,unit), where size is an integer and unit is
    'B' (bytes) or 'T' (threads). N/A N/A N/A N/A str N/A -1 isdigit N/A N/A N/A N/A int str B N/A N/A N/A N/A str N/A -1 N/A K k N/A N/A N/A N/A N/A int N/A str N/A -1 1024 B N/A N/A N/A N/A str N/A -1 M N/A N/A N/A N/A N/A N/A int N/A str N/A -1 1024 1024 B N/A N/A N/A N/A str N/A -1 T N/A N/A N/A N/A int N/A str N/A -1 T N/A N/A N/A N/A N/A int N/A str N/A -1 1024 B N/A generateTransclusions N/A N/A Site template namespaces N/A N/A N/A N/A N/A N/A pywikibot output Fetching template transclusions... N/A transclusionPage N/A N/A pywikibot Page Site template defaultNamespace 10 N/A gen N/A N/A pagegenerators ReferringPageGenerator transclusionPage onlyTemplateInclusion True N/A namespaces N/A N/A gen N/A N/A pagegenerators NamespaceFilterPageGenerator gen namespaces Site N/A page gen N/A N/A N/A page N/A Months N/A object N/A N/A 
    Generation of look-up dictionaries for months, used by Timestripper() and PageArchiver
     __init__ N/A N/A self site N/A None N/A N/A N/A site None N/A N/A N/A self site N/A N/A pywikibot getSite N/A N/A N/A self site site N/A queryMonths N/A N/A self N/A N/A N/A months_long N/A january february march april may_long june july august september october november december N/A months_short N/A jan feb mar apr may jun jul aug sep oct nov dec N/A params N/A action meta ammessages amlang query allmessages N/A N/A N/A N/A | join months_long | N/A N/A | join months_short N/A N/A self site lang N/A monthsDict N/A N/A N/A N/A query GetData params N/A query N/A allmessages N/A monthNum2origNames N/A dict N/A N/A i N/A short long N/A i N/A range 1 13 N/A origNames2monthNum N/A dict N/A el monthsDict N/A N/A N/A orig eng N/A N/A el N/A * N/A el N/A name N/A N/A N/A month_num N/A N/A N/A months_long index eng 1 N/A N/A N/A monthNum2origNames N/A month_num N/A long orig N/A N/A N/A ValueError N/A N/A month_num N/A N/A N/A months_short index eng 1 N/A N/A N/A monthNum2origNames N/A month_num N/A short orig N/A N/A origNames2monthNum N/A orig month_num N/A N/A monthNum2origNames origNames2monthNum N/A classmethod updateMonths N/A N/A self site N/A None N/A N/A N/A site None N/A N/A N/A self site N/A N/A pywikibot getSite N/A N/A N/A self site site N/A N/A self monthsDicts N/A N/A self queryMonths N/A classmethod N/A tzoneUTC N/A N/A datetime tzinfo N/A N/A 
    Class building a UTC tzinfo object
     utcoffset N/A N/A self dt N/A N/A N/A ZERO N/A tzname N/A N/A self dt N/A N/A N/A UTC N/A dst N/A N/A self dt N/A N/A N/A ZERO N/A __repr__ N/A N/A self N/A N/A N/A N/A %s() N/A N/A self __class__ __name__ N/A N/A tzoneFixedOffset N/A N/A datetime tzinfo N/A N/A 
    Class building tzinfo objects for fixed-offset time zones

    @offset: a number indicating fixed offset in minutes east from UTC
    @name: a string with name of the timezone __init__ N/A N/A self offset name N/A N/A N/A N/A self __offset N/A N/A datetime timedelta minutes offset N/A N/A self __name name N/A utcoffset N/A N/A self dt N/A N/A N/A N/A self __offset N/A tzname N/A N/A self dt N/A N/A N/A N/A self __name N/A dst N/A N/A self dt N/A N/A N/A ZERO N/A __repr__ N/A N/A self N/A N/A N/A N/A %s(%s, %s) N/A N/A N/A self __class__ __name__ N/A N/A N/A N/A self __offset days 86400 N/A N/A self __offset seconds N/A self __name N/A N/A TimeStripper N/A object N/A N/A 
    Find timetstamp in page text and returns it as timezone aware datetime object
     __init__ N/A N/A self N/A N/A N/A N/A N/A self monthNum2origNames N/A self origNames2monthNum N/A Months monthsDicts N/A N/A self site N/A Months site N/A N/A self groups N/A year month hour time day minute tzinfo N/A timeR (?P<time>(?P<hour>[0-2]\d)[:\.h](?P<minute>[0-5]\d)) N/A timeznR \((?P<tzinfo>[A-Z]+)\) N/A yearR (?P<year>(19|20)\d\d) N/A monthR N/A (?P<month>(%s)) N/A N/A | join N/A self origNames2monthNum N/A dayR (?P<day>(3[01]|[12]\d|0?[1-9])) N/A N/A self ptimeR N/A N/A re compile timeR N/A N/A self timeznR N/A N/A re compile timeznR N/A N/A self yearR N/A N/A re compile yearR N/A N/A self pmonthR N/A N/A re compile monthR N/A re U N/A N/A self pdayR N/A N/A re compile dayR N/A N/A self patterns N/A N/A self ptimeR N/A self timeznR N/A self yearR N/A self pmonthR N/A self pdayR N/A findmarker N/A N/A self text base delta N/A @@ @ N/A N/A N/A base text N/A N/A base delta N/A base N/A last_match_and_replace N/A N/A self txt pat N/A N/A N/A 
        Take the rightmost match, to prevent spurious earlier matches, and replace with marker
         N/A m None N/A m N/A N/A pat finditer txt N/A N/A N/A m N/A N/A marker N/A N/A self findmarker txt N/A txt N/A N/A pat sub marker txt N/A N/A txt N/A N/A m groupdict N/A N/A N/A txt None N/A timestripper N/A N/A self line N/A N/A N/A 
        Find timestamp in line and convert it to time zone aware datetime
         N/A _line line N/A dateDict N/A dict N/A pat N/A self patterns N/A N/A N/A line matchDict N/A N/A self last_match_and_replace line pat N/A matchDict N/A N/A N/A N/A dateDict update matchDict N/A N/A all N/A N/A g dateDict N/A g N/A self groups N/A N/A N/A dateDict N/A time N/A N/A N/A N/A dateDict N/A month N/A N/A self origNames2monthNum N/A N/A dateDict N/A month N/A N/A N/A KeyError N/A N/A N/A N/A pywikibot output incorrect month name in page N/A N/A k v N/A N/A dateDict items N/A N/A N/A N/A N/A dateDict N/A k N/A int v N/A N/A N/A ValueError N/A N/A N/A N/A dateDict N/A tzinfo N/A tzoneFixedOffset N/A N/A N/A N/A self site siteinfo N/A timeoffset N/A N/A N/A N/A self site siteinfo N/A timezone N/A timestamp N/A N/A datetime datetime dateDict N/A N/A timestamp None N/A timestamp N/A N/A DiscussionThread N/A object N/A N/A An object representing a discussion thread on a page, that is something of the form:

    == Title of thread ==

    Thread content here. ~~~~
    :Reply, etc. ~~~~
     __init__ N/A N/A self title now N/A N/A N/A N/A self title title N/A N/A self now now N/A N/A self content N/A N/A self ts N/A TimeStripper N/A N/A self timestamp None N/A __repr__ N/A N/A self N/A N/A N/A N/A %s("%s",%d bytes) N/A N/A N/A self __class__ __name__ N/A self title N/A len N/A self content N/A feedLine N/A N/A self line N/A N/A N/A N/A N/A N/A self content N/A line N/A N/A N/A N/A self content N/A line N/A timestamp N/A N/A N/A self ts timestripper line N/A N/A N/A self timestamp N/A N/A N/A self timestamp timestamp N/A timestamp N/A N/A N/A self timestamp N/A max N/A self timestamp timestamp N/A size N/A N/A self N/A N/A N/A N/A N/A N/A len N/A self title N/A len N/A self content 12 N/A toText N/A N/A self N/A N/A N/A N/A N/A N/A ==  N/A self title  ==

 N/A self content N/A shouldBeArchived N/A N/A self Archiver N/A N/A N/A algo N/A N/A Archiver get algo N/A reT N/A N/A re search ^old\((.*)\)$ algo N/A reT N/A N/A N/A N/A self timestamp N/A N/A N/A maxage N/A str2time N/A N/A reT group 1 N/A N/A N/A N/A self now N/A self timestamp maxage N/A N/A N/A N/A i18n twtranslate N/A Site language archivebot-older-than N/A duration N/A N/A reT group 1 N/A N/A N/A DiscussionPage N/A N/A pywikibot Page N/A N/A A class that represents a single discussion page as well as an archive
    page. Feed threads to it and run an update() afterwards. __init__ N/A N/A self title archiver vars N/A None N/A N/A N/A N/A N/A pywikibot Page __init__ self Site title N/A N/A self threads N/A N/A N/A self full False N/A N/A self archiver archiver N/A N/A self vars vars N/A N/A self now N/A N/A N/A N/A N/A datetime datetime utcnow replace tzinfo N/A tzoneUTC N/A N/A N/A N/A N/A self loadPage N/A N/A N/A N/A pywikibot NoPage N/A N/A N/A self header N/A N/A archiver get archiveheader N/A message archivebot-archiveheader N/A N/A self vars N/A N/A N/A self header N/A N/A self header N/A self vars N/A loadPage N/A N/A self N/A N/A N/A Loads the page to be archived and breaks it up into threads. N/A N/A self header N/A N/A self threads N/A N/A N/A self archives N/A N/A N/A self archivedThreads 0 N/A lines N/A N/A N/A N/A self get split N/A found False N/A curThread None N/A line lines N/A N/A threadHeader N/A N/A re search ^== *([^=].*?) *== *$ line N/A threadHeader N/A N/A found True N/A curThread N/A N/A N/A N/A N/A self threads append curThread N/A curThread N/A DiscussionThread N/A N/A threadHeader group 1 N/A self now N/A N/A found N/A N/A N/A N/A curThread feedLine line N/A N/A N/A self header N/A line N/A curThread N/A N/A N/A N/A N/A self threads append curThread N/A N/A N/A pywikibot output N/A %d Threads found on %s N/A N/A len N/A self threads self N/A feedThread N/A N/A self thread maxArchiveSize N/A N/A N/A 250 1024 B N/A N/A N/A N/A N/A self threads append thread N/A N/A self archivedThreads 1 N/A N/A N/A maxArchiveSize N/A 1 B N/A N/A N/A N/A N/A self size N/A maxArchiveSize N/A 0 N/A N/A N/A self full True N/A N/A N/A N/A maxArchiveSize N/A 1 T N/A N/A N/A N/A len N/A self threads N/A maxArchiveSize N/A 0 N/A N/A N/A self full True N/A N/A self full N/A size N/A N/A self N/A N/A N/A N/A N/A len N/A self header N/A sum N/A N/A N/A t size N/A t N/A self threads N/A update N/A N/A self summary sortThreads N/A False N/A N/A sortThreads N/A N/A N/A N/A pywikibot output Sorting threads... N/A N/A N/A N/A self threads sort key N/A N/A N/A t N/A N/A t timestamp N/A newtext N/A N/A re sub 
*$ N/A self header N/A t N/A self threads N/A N/A newtext N/A N/A t toText N/A N/A self full N/A N/A summary N/A N/A message archivebot-archive-full N/A N/A N/A self put newtext comment summary N/A N/A PageArchiver N/A object N/A N/A A class that encapsulates all archiving methods.
    __init__ expects a pywikibot.Page object.
    Execute by running the .run() method. N/A algo none __init__ N/A N/A self Page tpl salt force N/A False N/A N/A N/A self attributes N/A algo archive maxarchivesize counter key N/A old(24h) False N/A False N/A 1000M False N/A 1 False N/A False N/A N/A self tpl tpl N/A N/A self salt salt N/A N/A self force force N/A N/A self Page N/A DiscussionPage N/A N/A Page title self N/A N/A N/A self loadConfig N/A N/A self commentParams N/A from N/A N/A N/A self Page title N/A N/A self archives N/A N/A N/A self archivedThreads 0 N/A N/A N/A self monthNum2origNames N/A self origNames2monthNum N/A Months monthsDicts N/A get N/A N/A self attr default N/A N/A N/A N/A N/A N/A N/A self attributes get attr N/A default N/A 0 N/A set N/A N/A self attr value out N/A True N/A N/A N/A attr archive N/A N/A value N/A N/A value replace _ N/A N/A N/A self attributes N/A attr N/A value out N/A saveables N/A N/A self N/A N/A N/A N/A a N/A a N/A self attributes N/A N/A N/A N/A self attributes N/A a N/A 1 N/A a maxage N/A attr2text N/A N/A self N/A N/A N/A N/A {{%s
%s
}} N/A N/A self tpl N/A N/A join N/A N/A |%s = %s N/A a N/A N/A self get a N/A a N/A N/A self saveables N/A key_ok N/A N/A self N/A N/A N/A s N/A new_hash N/A N/A N/A s update N/A N/A self salt N/A N/A N/A s update N/A N/A N/A N/A N/A N/A self Page title encode utf8 N/A N/A N/A N/A self get key N/A N/A s hexdigest N/A loadConfig N/A N/A self N/A N/A N/A N/A N/A pywikibot output N/A Looking for: {{%s}} in %s N/A N/A self tpl N/A self Page N/A found False N/A tpl N/A N/A N/A self Page templatesWithParams thistxt N/A N/A self Page header N/A N/A N/A N/A tpl N/A 0 N/A self tpl N/A N/A param N/A tpl N/A 1 N/A N/A N/A item value N/A N/A param split = 1 N/A N/A N/A self set N/A N/A item strip N/A N/A value strip N/A found True N/A N/A N/A found N/A N/A N/A MissingConfigError Missing or malformed template N/A N/A N/A N/A self get algo N/A N/A N/A MissingConfigError Missing algo N/A feedArchive N/A N/A self archive thread maxArchiveSize vars N/A None N/A N/A Feed the thread to one of the archives.
        If it doesn't exist yet, create it.
        If archive name is an empty string (or None),
        discard the thread (/dev/null).
        Also checks for security violations. N/A N/A archive N/A N/A N/A N/A N/A N/A self force N/A N/A N/A N/A N/A N/A self Page title / N/A archive N/A N/A N/A len N/A N/A N/A self Page title 1 N/A N/A N/A self key_ok N/A N/A ArchiveSecurityError N/A N/A archive N/A self archives N/A N/A N/A N/A self archives N/A archive N/A DiscussionPage archive self vars N/A N/A N/A N/A N/A self archives N/A archive feedThread thread maxArchiveSize N/A analyzePage N/A N/A self N/A N/A N/A maxArchSize N/A str2size N/A N/A self get maxarchivesize N/A archCounter N/A int N/A N/A self get counter 1 N/A oldthreads N/A N/A self Page threads N/A N/A N/A self Page threads N/A N/A whys N/A N/A N/A N/A pywikibot output N/A Processing %d threads N/A len oldthreads N/A t oldthreads N/A N/A N/A N/A N/A len oldthreads N/A self archivedThreads N/A int N/A N/A self get minthreadsleft 5 N/A N/A N/A N/A N/A N/A self Page threads append t N/A N/A why N/A N/A t shouldBeArchived self N/A why N/A N/A archive N/A N/A self get archive N/A vars N/A counter year month monthname monthnameshort week archCounter N/A N/A t timestamp year N/A N/A t timestamp month N/A N/A N/A self monthNum2origNames N/A N/A N/A t timestamp month N/A long N/A N/A N/A self monthNum2origNames N/A N/A N/A t timestamp month N/A short N/A int N/A N/A time strftime %W N/A N/A N/A t timestamp timetuple N/A archive N/A N/A N/A N/A pywikibot Page Site N/A archive vars title N/A N/A N/A self feedArchive archive t maxArchSize vars N/A N/A archCounter 1 N/A N/A N/A self set counter N/A str archCounter N/A N/A N/A whys append why N/A N/A self archivedThreads 1 N/A N/A N/A N/A N/A N/A self Page threads append t N/A N/A set whys N/A run N/A N/A self N/A N/A N/A N/A N/A N/A N/A self Page botMayEdit N/A Site username N/A N/A N/A whys N/A N/A self analyzePage N/A N/A N/A self archivedThreads N/A int N/A N/A self get minthreadstoarchive 2 N/A N/A N/A N/A pywikibot output N/A There are only %d Threads. Skipping N/A self archivedThreads N/A N/A whys N/A N/A N/A N/A pywikibot output N/A Archiving %d thread(s). N/A self archivedThreads N/A a N/A sorted N/A N/A N/A self archives keys N/A N/A N/A N/A self commentParams N/A count N/A N/A N/A self archives N/A a archivedThreads N/A comment N/A N/A i18n twntranslate language archivebot-archive-summary N/A self commentParams N/A N/A N/A N/A N/A self archives N/A a update comment N/A rx N/A N/A re compile N/A N/A {{ N/A self tpl 
.*?
}} N/A re DOTALL N/A N/A N/A self Page header N/A N/A rx sub N/A N/A self attr2text N/A N/A self Page header N/A N/A N/A self commentParams N/A count N/A self archivedThreads N/A N/A N/A self commentParams N/A archives N/A N/A ,  join N/A N/A N/A [[ N/A N/A a title ]] N/A a N/A N/A N/A self archives values N/A N/A N/A N/A self commentParams N/A archives N/A N/A N/A N/A self commentParams N/A archives /dev/null N/A N/A N/A self commentParams N/A why N/A N/A ,  join whys N/A comment N/A N/A i18n twntranslate language archivebot-page-summary N/A self commentParams N/A N/A N/A N/A self Page update comment N/A N/A main N/A N/A N/A N/A N/A Site language N/A sys N/A my_args N/A N/A arg N/A N/A pywikibot handleArgs N/A sys argv N/A N/A N/A N/A my_args append arg optparse OptionParser N/A parser N/A OptionParser usage usage: %prog [options] [LINKPAGE(s)] N/A N/A N/A parser add_option -f --file dest filename help load list of pages from FILE metavar FILE N/A N/A N/A parser add_option -p --page dest pagename help archive a single PAGE metavar PAGE N/A N/A N/A parser add_option -n --namespace dest namespace type int help only archive pages from a given namespace N/A N/A N/A parser add_option -s --salt dest salt help specify salt N/A N/A N/A parser add_option -F --force action store_true dest force help override security options N/A N/A N/A parser add_option -c --calc dest calc help calculate key for PAGE and exit metavar PAGE N/A N/A N/A parser add_option -l --locale dest locale help switch to locale LOCALE metavar LOCALE N/A N/A N/A parser add_option -L --lang dest lang help current language code metavar lang N/A N/A N/A parser add_option -T --timezone dest timezone help switch timezone to TIMEZONE metavar TIMEZONE N/A N/A N/A parser add_option -S --simulate action store_true dest simulate help Do not change pages, just simulate N/A N/A options args N/A N/A parser parse_args args my_args N/A N/A options locale N/A N/A N/A N/A locale setlocale N/A locale LC_TIME N/A N/A N/A options locale encode utf8 N/A N/A options timezone N/A N/A N/A N/A os environ N/A TZ N/A options timezone N/A N/A hasattr time tzset N/A N/A N/A N/A time tzset N/A N/A options calc N/A N/A N/A N/A options salt N/A N/A N/A N/A parser error Note: you must specify a salt to calculate a key N/A s N/A new_hash N/A N/A N/A s update N/A N/A options salt N/A N/A N/A s update N/A N/A options calc N/A N/A N/A pywikibot output N/A key =  N/A N/A s hexdigest N/A N/A N/A options salt N/A N/A salt N/A options salt N/A N/A salt N/A N/A options force N/A N/A force True N/A N/A force False N/A N/A options lang N/A N/A N/A pywikibot default_code N/A options lang N/A Site N/A N/A pywikibot getSite N/A language N/A N/A Site language N/A N/A options simulate N/A N/A N/A pywikibot simulate True N/A N/A N/A args N/A N/A len args 1 N/A N/A N/A N/A pywikibot output NOTE: you must specify a template to run the bot N/A N/A N/A pywikibot showHelp archivebot N/A N/A N/A N/A Months updateMonths site Site N/A a N/A args N/A 1 N/A N/A pagelist N/A N/A N/A N/A N/A options filename N/A N/A options pagename N/A N/A N/A N/A options namespace None N/A N/A ns N/A N/A str N/A options namespace N/A N/A ns N/A N/A pg N/A generateTransclusions Site a ns N/A N/A N/A N/A pagelist append pg N/A N/A options filename N/A N/A pg N/A N/A N/A file N/A options filename r readlines N/A N/A N/A N/A pagelist append N/A N/A pywikibot Page Site pg N/A N/A options pagename N/A N/A N/A N/A pagelist append N/A N/A pywikibot Page Site N/A options pagename defaultNamespace 3 N/A pagelist N/A sorted pagelist N/A pg N/A iter pagelist N/A N/A N/A N/A pywikibot output N/A Processing %s pg N/A N/A N/A Archiver N/A PageArchiver pg a salt force N/A N/A N/A Archiver run N/A N/A N/A time sleep 10 N/A N/A N/A N/A N/A N/A pywikibot output N/A Error occured while processing page %s pg N/A N/A N/A traceback print_exc N/A N/A N/A __name__ __main__ N/A N/A N/A N/A N/A main N/A N/A N/A N/A pywikibot stopme