def create_release_id(short, version, type, bp_short=None, bp_version=None, bp_type=None):
if not is_valid_release_short(short):<EOL><INDENT>raise ValueError("<STR_LIT>" % short)<EOL><DEDENT>if not is_valid_release_version(version):<EOL><INDENT>raise ValueError("<STR_LIT>" % version)<EOL><DEDENT>if not is_valid_release_type(type):<EOL><INDENT>raise ValueError("<STR_LIT>" % type)<EOL><DEDENT>if type == "<STR_LIT>":<EOL><INDENT>result = "<STR_LIT>" % (short, version)<EOL><DEDENT>else:<EOL><INDENT>result = "<STR_LIT>" % (short, version, type)<EOL><DEDENT>if bp_short:<EOL><INDENT>result += "<STR_LIT>" % create_release_id(bp_short, bp_version, bp_type)<EOL><DEDENT>return result<EOL>
Create release_id from given parts.

:param short: Release short name
:type short: str
:param version: Release version
:type version: str
:param version: Release type
:type version: str
:param bp_short: Base Product short name
:type bp_short: str
:param bp_version: Base Product version
:type bp_version: str
:param bp_type: Base Product type
:rtype: str