module
future_import_statement
from "from"
__future__ "__future__"
import "import"
dotted_name
identifier "unicode_literals"
, ","
dotted_name
identifier "print_function"
import_from_statement
from "from"
dotted_name
identifier "inspect"
import "import"
dotted_name
identifier "getsource"
import_statement
import "import"
dotted_name
identifier "io"
import_statement
import "import"
dotted_name
identifier "os"
import_from_statement
from "from"
dotted_name
identifier "os"
. "."
identifier "path"
import "import"
aliased_import
dotted_name
identifier "dirname"
as "as"
identifier "dirn"
import_statement
import "import"
dotted_name
identifier "sys"
expression_statement
call
identifier "print"
argument_list
( "("
string
string_start "'"
string_content "WARNING: Lazy loading extractors is an experimental feature "...
string_end "'"
, ","
keyword_argument
identifier "file"
= "="
attribute
identifier "sys"
. "."
identifier "stderr"
) ")"
expression_statement (+39 nodes collapsed)
expression_statement
assignment
identifier "lazy_extractors_filename"
= "="
subscript
attribute
identifier "sys"
. "."
identifier "argv"
[ "["
integer "1"
] "]"
if_statement (+26 nodes collapsed)
comment "# Py2: may be confused by leftover lazy_extractors.pyc"
try_statement (+27 nodes collapsed)
import_from_statement
from "from"
dotted_name
identifier "youtube_dl"
. "."
identifier "extractor"
import "import"
dotted_name
identifier "_ALL_CLASSES"
import_from_statement
from "from"
dotted_name
identifier "youtube_dl"
. "."
identifier "extractor"
. "."
identifier "common"
import "import"
dotted_name
identifier "InfoExtractor"
, ","
dotted_name
identifier "SearchInfoExtractor"
with_statement (+36 nodes collapsed)
expression_statement (+48 nodes collapsed)
expression_statement
assignment
identifier "ie_template"
= "="
string
string_start "'''"
string_content "\nclass {name}({bases}):\n _VALID_URL = {valid_url!r}\n _"...
string_end "'''"
expression_statement
assignment
identifier "make_valid_template"
= "="
string
string_start "'''"
string_content "\n @classmethod\n def _make_valid_url(cls):\n retu"...
string_end "'''"
function_definition (+47 nodes collapsed)
function_definition (+167 nodes collapsed)
comment "# find the correct sorting and add the required base classes"...
comment "# can be correctly created"
expression_statement
assignment
identifier "classes"
= "="
subscript
identifier "_ALL_CLASSES"
[ "["
slice
: ":"
unary_operator
- "-"
integer "1"
] "]"
expression_statement
assignment
identifier "ordered_cls"
= "="
list
[ "["
] "]"
while_statement (+159 nodes collapsed)
expression_statement
call
attribute
identifier "ordered_cls"
. "."
identifier "append"
argument_list
( "("
subscript
identifier "_ALL_CLASSES"
[ "["
unary_operator
- "-"
integer "1"
] "]"
) ")"
expression_statement
assignment
identifier "names"
= "="
list
[ "["
] "]"
for_statement (+55 nodes collapsed)
expression_statement (+32 nodes collapsed)
expression_statement (+24 nodes collapsed)
with_statement (+42 nodes collapsed)