Module Expr Str Import alias Import alias Import alias Import alias Import alias Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore Str Assign NameStore Str Assign NameStore ListLoad Str Str Assign NameStore Call AttributeLoad NameLoad attr Str ListLoad Str Str Str Str ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call AttributeLoad Str attr Assign AttributeStore NameLoad attr Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body If UnaryOpNot AttributeLoad NameLoad attr body TryExcept body Expr Call AttributeLoad NameLoad attr ListLoad Str Str AttributeLoad NameLoad attr handlers ExceptHandler type AttributeLoad NameLoad attr body Print BinOpMod Str AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Num decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body If UnaryOpNot AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr ListLoad Str Str AttributeLoad NameLoad attr decorator_list decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call AttributeLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str attr decorator_list FunctionDef arguments args NameParam NameParam defaults Str body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad Call NameLoad NameLoad attr Str If BoolOpAnd CompareEq Call NameLoad NameLoad Num CompareEq SubscriptLoad NameLoad Index Num Str body Return ListLoad orelse Return ListComp Call NameLoad Call AttributeLoad Call AttributeLoad NameLoad attr attr NameLoad comprehension NameStore NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad Str attr ListComp AttributeLoad NameLoad attr comprehension NameStore NameLoad Assign NameStore SetComp BinOpMod NameLoad NameLoad comprehension NameStore NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Dict Assign NameStore BinOpMod NameLoad NameLoad Assign NameStore Call NameLoad NameLoad With Call NameLoad Str Str NameStore body Assign NameStore Call AttributeLoad NameLoad attr For NameStore NameLoad body Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr BinOpMod NameLoad NameLoad NameLoad Index Num Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr BinOpMod NameLoad NameLoad NameLoad Index Num Assign SubscriptStore NameLoad Index NameLoad CompareNotEq NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults Str body Expr Str Assign NameStore BinOpMod NameLoad TupleLoad NameLoad NameLoad Return Call AttributeLoad Call NameLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore ListComp BinOpMod Str NameLoad comprehension NameStore ListLoad Str Str Str Str Assign NameStore Call NameLoad NameLoad Assign NameStore DictComp NameLoad CompareIn NameLoad NameLoad comprehension NameStore NameLoad If NameLoad body Return DictComp NameLoad NameLoad comprehension TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad Return ListComp NameLoad comprehension NameStore NameLoad Call AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args defaults body Expr Str With Call NameLoad Str body Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str With Call NameLoad NameLoad Str NameStore body Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad NameLoad NameLoad If NameLoad body Expr Call AttributeLoad NameLoad attr Str For NameStore Call AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad If NameLoad body Expr Call AttributeLoad NameLoad attr Str For NameStore NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Expr Call AttributeLoad NameLoad attr Str For TupleStore NameStore NameStore Call NameLoad SetComp TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr comprehension NameStore NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Str For TupleStore NameStore NameStore ListComp TupleLoad AttributeLoad NameLoad attr SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr Str Index Num comprehension NameStore NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad NameLoad NameLoad If NameLoad body Expr Call AttributeLoad NameLoad attr Str For NameStore NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad NameLoad NameLoad Print Str decorator_list If CompareEq NameLoad Str body Expr Call NameLoad
N/A N/A 
Script that simplifies releases by collecting various information.
Should be run from the oppia root dir.
 N/A collections N/A os N/A re N/A subprocess N/A sys N/A GIT_CMD_GET_CURRENT_VERSION git describe --abbrev=0 N/A GIT_CMD_GET_LOGS_FORMAT_STRING git log -z --no-color --pretty=format:%H{0}%aN{0}%aE{0}%B {1}..{2} N/A GIT_CMD_DIFF_NAMES_ONLY_FORMAT_STRING git diff --name-only %s %s N/A GIT_CMD_SHOW_FORMAT_STRING git show %s:feconf.py N/A ISSUE_URL_FORMAT_STRING https://github.com/oppia/oppia/issues/%s N/A ISSUE_REGEX N/A N/A re compile #(\d+) N/A GROUP_SEP N/A VERSION_RE_FORMAT_STRING %s\s*=\s*(\d+|\.)+ N/A FECONF_VAR_NAMES N/A CURRENT_EXPLORATION_STATES_SCHEMA_VERSION CURRENT_COLLECTION_SCHEMA_VERSION N/A Log N/A N/A collections namedtuple Log N/A sha1 author email message ChangedBranch N/A object N/A __init__ N/A N/A self new_branch N/A N/A N/A get_branch_cmd N/A N/A git symbolic-ref -q --short HEAD split N/A N/A self old_branch N/A N/A N/A N/A subprocess check_output get_branch_cmd strip N/A N/A self new_branch new_branch N/A N/A self is_same_branch N/A N/A self old_branch N/A self new_branch N/A __enter__ N/A N/A self N/A N/A N/A N/A N/A self is_same_branch N/A N/A N/A N/A N/A N/A subprocess check_output N/A git checkout N/A self new_branch N/A N/A N/A N/A subprocess CalledProcessError N/A N/A N/A 
Could not change to %s. This is most probably because you are in a dirty state N/A self new_branch N/A N/A N/A sys exit 1 N/A __exit__ N/A N/A self exc_type exc_val exc_tb N/A N/A N/A N/A N/A self is_same_branch N/A N/A N/A N/A subprocess check_output N/A git checkout N/A self old_branch N/A N/A _run_cmd N/A N/A cmd_str N/A N/A N/A Runs the command and returns the output.
    Raises subprocess.CalledProcessError upon failure.

    Args:
        cmd_str (str): The command string to execute

    Returns:
        (str): The output of the command.

     N/A N/A N/A N/A N/A subprocess check_output N/A N/A cmd_str split strip N/A _gather_logs N/A N/A start stop N/A HEAD N/A N/A Gathers the logs between the start and endpoint.

    Args:
        start (str): Tag, Branch or SHA1 of start point
        stop (str):  Tag, Branch or SHA1 of end point, defaults to HEAD

    Returns:
        list[Log]: List of Logs

     N/A get_logs_cmd N/A N/A GIT_CMD_GET_LOGS_FORMAT_STRING format GROUP_SEP start stop N/A out N/A N/A N/A _run_cmd get_logs_cmd split N/A N/A N/A N/A len out 1 N/A N/A out N/A 0 N/A N/A N/A N/A N/A N/A N/A Log N/A N/A N/A N/A line strip split GROUP_SEP N/A line out N/A _extract_issues N/A N/A logs N/A N/A N/A Extract references to issues out of a list of Logs

    Args:
        logs (list[Log]): List of Logs to parse

    Returns:
        set[str]: Set of found issues as links to Github

     N/A issues N/A N/A ISSUE_REGEX findall N/A N/A join N/A N/A log message N/A log logs N/A links N/A N/A ISSUE_URL_FORMAT_STRING issue N/A issue issues N/A links N/A _check_versions N/A N/A current_release N/A N/A N/A Checks if the versions for the exploration or collection schemas have
    changed.

    Args:
        current_release (str): The current release tag to diff against.

    Returns:
        Dictionary consisting of name --> boolean that indicates whether or not
            it has changed.
     N/A feconf_changed_version N/A N/A git_show_cmd N/A GIT_CMD_SHOW_FORMAT_STRING current_release N/A old_feconf N/A _run_cmd git_show_cmd N/A N/A open feconf.py r feconf N/A N/A new_feconf N/A N/A feconf read N/A variable FECONF_VAR_NAMES N/A N/A old_version N/A N/A N/A re findall N/A VERSION_RE_FORMAT_STRING variable old_feconf N/A 0 N/A new_version N/A N/A N/A re findall N/A VERSION_RE_FORMAT_STRING variable new_feconf N/A 0 N/A N/A feconf_changed_version N/A variable N/A old_version new_version N/A feconf_changed_version N/A _git_diff_names_only N/A N/A left right N/A HEAD N/A N/A  Get names of changed files from git.

    Args:
        left (str): Lefthand timepoint
        right (str): rightand timepoint

    Returns:
        (list): List of files that are different between the two points.

     N/A diff_cmd N/A GIT_CMD_DIFF_NAMES_ONLY_FORMAT_STRING N/A left right N/A N/A N/A N/A _run_cmd diff_cmd splitlines N/A _check_setup_scripts N/A N/A base_release_tag changed_only N/A True N/A N/A Check if setup scripts have changed.

    Args:
        base_release_tag (str): The current release tag to diff against.
        changed_only (bool): If set to False will return all tested files
            instead of just the changed ones.

    Returns:
        dict consisting of script --> boolean indicating whether or not it has
            changed (filtered by default to those that are modified).
     N/A setup_scripts N/A N/A scripts/%s item N/A item N/A setup.sh setup_gae.sh install_third_party.sh install_third_party.py N/A changed_files N/A _git_diff_names_only base_release_tag N/A changes_dict N/A script N/A script changed_files N/A script setup_scripts N/A changed_only N/A N/A N/A name status N/A N/A name status N/A N/A changes_dict items status N/A N/A changes_dict N/A _check_storage_models N/A N/A current_release N/A N/A N/A Check if files in core/storage have changed and returns them.

    Args:
        current_release: The current release version

    Returns:
        (list): The changed files (if any)

     N/A diff_list N/A _git_diff_names_only current_release N/A N/A item N/A item diff_list N/A N/A item startswith core/storage N/A main N/A N/A N/A N/A N/A Collects necessary info and dumps it to disk. N/A N/A ChangedBranch develop N/A N/A current_release N/A _run_cmd GIT_CMD_GET_CURRENT_VERSION N/A logs N/A _gather_logs current_release N/A issue_links N/A _extract_issues logs N/A version_changes N/A _check_versions current_release N/A setup_changes N/A _check_setup_scripts current_release N/A storage_changes N/A _check_storage_models current_release N/A summary_file N/A N/A N/A os path join N/A N/A os getcwd N/A os pardir release_summary.md N/A N/A open summary_file w out N/A N/A N/A N/A out write ## Collected release information
 N/A N/A N/A out write 
### Feconf version changes:
 N/A N/A var status N/A N/A version_changes items N/A N/A N/A N/A out write N/A * %s: %s
 N/A var status N/A setup_changes N/A N/A N/A N/A out write 
### Changed setup scripts:
 N/A var N/A N/A setup_changes keys N/A N/A N/A N/A out write N/A * %s
 var N/A storage_changes N/A N/A N/A N/A out write 
### Changed storage models:
 N/A item storage_changes N/A N/A N/A N/A out write N/A * %s
 item N/A N/A N/A out write 
### Authors:
 N/A N/A name email N/A sorted N/A N/A N/A log author N/A log email N/A log logs N/A N/A N/A N/A out write N/A %s <%s>
 N/A name email N/A N/A N/A out write 
### Commit History:
 N/A N/A name title N/A N/A N/A log author N/A N/A N/A N/A log message split N/A 0 N/A log logs N/A N/A N/A N/A out write N/A %s: %s
 N/A name title N/A issue_links N/A N/A N/A N/A out write 
### Issues mentioned in commits:
 N/A link issue_links N/A N/A N/A N/A out write N/A * [%s](%s)
 N/A link link N/A Done. Summary file generated in ../release_summary.md N/A N/A N/A __name__ __main__ N/A N/A N/A main