Rollup merge of #68947 - chrissimpkins:python-fmt, r=alexcrichton
Python script PEP8 style guide space formatting and minor Python source cleanup This PR includes the following changes in the Python sources based on a flake8 3.7.9 (mccabe: 0.6.1, pycodestyle: 2.5.0, pyflakes: 2.1.1) CPython 3.7.6 on Darwin lint: - PEP8 style guide spacing updates *without* line length changes - removal of unused local variable assignments in context managers and exception handling - removal of unused Python import statements - removal of unnecessary semicolons
This commit is contained in:
commit
931005d549
12 changed files with 114 additions and 85 deletions
|
@ -332,7 +332,6 @@ class RustBuild(object):
|
||||||
self.use_vendored_sources = ''
|
self.use_vendored_sources = ''
|
||||||
self.verbose = False
|
self.verbose = False
|
||||||
|
|
||||||
|
|
||||||
def download_stage0(self):
|
def download_stage0(self):
|
||||||
"""Fetch the build system for Rust, written in Rust
|
"""Fetch the build system for Rust, written in Rust
|
||||||
|
|
||||||
|
@ -351,7 +350,7 @@ class RustBuild(object):
|
||||||
try:
|
try:
|
||||||
with tempfile.NamedTemporaryFile(delete=False) as temp_file:
|
with tempfile.NamedTemporaryFile(delete=False) as temp_file:
|
||||||
temp_path = temp_file.name
|
temp_path = temp_file.name
|
||||||
with tarfile.open(temp_path, "w:xz") as tar:
|
with tarfile.open(temp_path, "w:xz"):
|
||||||
pass
|
pass
|
||||||
return True
|
return True
|
||||||
except tarfile.CompressionError:
|
except tarfile.CompressionError:
|
||||||
|
|
|
@ -399,6 +399,7 @@ def is_number(value):
|
||||||
except ValueError:
|
except ValueError:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
# Here we walk through the constructed configuration we have from the parsed
|
# Here we walk through the constructed configuration we have from the parsed
|
||||||
# command line arguments. We then apply each piece of configuration by
|
# command line arguments. We then apply each piece of configuration by
|
||||||
# basically just doing a `sed` to change the various configuration line to what
|
# basically just doing a `sed` to change the various configuration line to what
|
||||||
|
|
|
@ -148,11 +148,11 @@ else:
|
||||||
print('unknown platform', sys.platform)
|
print('unknown platform', sys.platform)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
cur_state = State();
|
cur_state = State()
|
||||||
print("Time,Idle")
|
print("Time,Idle")
|
||||||
while True:
|
while True:
|
||||||
time.sleep(1);
|
time.sleep(1)
|
||||||
next_state = State();
|
next_state = State()
|
||||||
now = datetime.datetime.utcnow().isoformat()
|
now = datetime.datetime.utcnow().isoformat()
|
||||||
idle = next_state.idle_since(cur_state)
|
idle = next_state.idle_since(cur_state)
|
||||||
print("%s,%s" % (now, idle))
|
print("%s,%s" % (now, idle))
|
||||||
|
|
|
@ -212,7 +212,6 @@ class Type(object):
|
||||||
# REGULAR STRUCT
|
# REGULAR STRUCT
|
||||||
return TYPE_KIND_REGULAR_STRUCT
|
return TYPE_KIND_REGULAR_STRUCT
|
||||||
|
|
||||||
|
|
||||||
def __classify_union(self):
|
def __classify_union(self):
|
||||||
assert self.get_dwarf_type_kind() == DWARF_TYPE_CODE_UNION
|
assert self.get_dwarf_type_kind() == DWARF_TYPE_CODE_UNION
|
||||||
|
|
||||||
|
@ -233,7 +232,6 @@ class Type(object):
|
||||||
else:
|
else:
|
||||||
return TYPE_KIND_REGULAR_UNION
|
return TYPE_KIND_REGULAR_UNION
|
||||||
|
|
||||||
|
|
||||||
def __conforms_to_field_layout(self, expected_fields):
|
def __conforms_to_field_layout(self, expected_fields):
|
||||||
actual_fields = self.get_fields()
|
actual_fields = self.get_fields()
|
||||||
actual_field_count = len(actual_fields)
|
actual_field_count = len(actual_fields)
|
||||||
|
@ -363,6 +361,7 @@ def extract_tail_head_ptr_and_cap_from_std_vecdeque(vec_val):
|
||||||
assert data_ptr.type.get_dwarf_type_kind() == DWARF_TYPE_CODE_PTR
|
assert data_ptr.type.get_dwarf_type_kind() == DWARF_TYPE_CODE_PTR
|
||||||
return (tail, head, data_ptr, capacity)
|
return (tail, head, data_ptr, capacity)
|
||||||
|
|
||||||
|
|
||||||
def extract_length_and_ptr_from_slice(slice_val):
|
def extract_length_and_ptr_from_slice(slice_val):
|
||||||
assert (slice_val.type.get_type_kind() == TYPE_KIND_SLICE or
|
assert (slice_val.type.get_type_kind() == TYPE_KIND_SLICE or
|
||||||
slice_val.type.get_type_kind() == TYPE_KIND_STR_SLICE)
|
slice_val.type.get_type_kind() == TYPE_KIND_STR_SLICE)
|
||||||
|
@ -376,8 +375,10 @@ def extract_length_and_ptr_from_slice(slice_val):
|
||||||
assert data_ptr.type.get_dwarf_type_kind() == DWARF_TYPE_CODE_PTR
|
assert data_ptr.type.get_dwarf_type_kind() == DWARF_TYPE_CODE_PTR
|
||||||
return (length, data_ptr)
|
return (length, data_ptr)
|
||||||
|
|
||||||
|
|
||||||
UNQUALIFIED_TYPE_MARKERS = frozenset(["(", "[", "&", "*"])
|
UNQUALIFIED_TYPE_MARKERS = frozenset(["(", "[", "&", "*"])
|
||||||
|
|
||||||
|
|
||||||
def extract_type_name(qualified_type_name):
|
def extract_type_name(qualified_type_name):
|
||||||
"""Extracts the type name from a fully qualified path"""
|
"""Extracts the type name from a fully qualified path"""
|
||||||
if qualified_type_name[0] in UNQUALIFIED_TYPE_MARKERS:
|
if qualified_type_name[0] in UNQUALIFIED_TYPE_MARKERS:
|
||||||
|
@ -393,6 +394,7 @@ def extract_type_name(qualified_type_name):
|
||||||
else:
|
else:
|
||||||
return qualified_type_name[index + 2:]
|
return qualified_type_name[index + 2:]
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
compat_str = unicode # Python 2
|
compat_str = unicode # Python 2
|
||||||
except NameError:
|
except NameError:
|
||||||
|
|
|
@ -14,7 +14,6 @@ is used because (u64, i16) has a ton of padding which would make the table
|
||||||
even larger, and it's already uncomfortably large (6 KiB).
|
even larger, and it's already uncomfortably large (6 KiB).
|
||||||
"""
|
"""
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
import sys
|
|
||||||
from math import ceil, log
|
from math import ceil, log
|
||||||
from fractions import Fraction
|
from fractions import Fraction
|
||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
|
@ -82,6 +81,7 @@ def error(f, e, z):
|
||||||
ulp_err = abs_err / Fraction(2) ** z.exp
|
ulp_err = abs_err / Fraction(2) ** z.exp
|
||||||
return float(ulp_err)
|
return float(ulp_err)
|
||||||
|
|
||||||
|
|
||||||
HEADER = """
|
HEADER = """
|
||||||
//! Tables of approximations of powers of ten.
|
//! Tables of approximations of powers of ten.
|
||||||
//! DO NOT MODIFY: Generated by `src/etc/dec2flt_table.py`
|
//! DO NOT MODIFY: Generated by `src/etc/dec2flt_table.py`
|
||||||
|
|
|
@ -25,6 +25,7 @@ if _match:
|
||||||
# GDB Pretty Printing Module for Rust
|
# GDB Pretty Printing Module for Rust
|
||||||
# ===============================================================================
|
# ===============================================================================
|
||||||
|
|
||||||
|
|
||||||
class GdbType(rustpp.Type):
|
class GdbType(rustpp.Type):
|
||||||
|
|
||||||
def __init__(self, ty):
|
def __init__(self, ty):
|
||||||
|
@ -355,6 +356,7 @@ def children_of_node(boxed_node, height, want_values):
|
||||||
else:
|
else:
|
||||||
yield keys[i]['value']['value']
|
yield keys[i]['value']['value']
|
||||||
|
|
||||||
|
|
||||||
class RustStdBTreeSetPrinter(object):
|
class RustStdBTreeSetPrinter(object):
|
||||||
def __init__(self, val):
|
def __init__(self, val):
|
||||||
self.__val = val
|
self.__val = val
|
||||||
|
@ -429,6 +431,7 @@ class RustOsStringPrinter(object):
|
||||||
def display_hint(self):
|
def display_hint(self):
|
||||||
return "string"
|
return "string"
|
||||||
|
|
||||||
|
|
||||||
class RustCStyleVariantPrinter(object):
|
class RustCStyleVariantPrinter(object):
|
||||||
def __init__(self, val):
|
def __init__(self, val):
|
||||||
assert val.type.get_dwarf_type_kind() == rustpp.DWARF_TYPE_CODE_ENUM
|
assert val.type.get_dwarf_type_kind() == rustpp.DWARF_TYPE_CODE_ENUM
|
||||||
|
|
|
@ -8,7 +8,8 @@ derives have spans that point to the fields, rather than the
|
||||||
sample usage: src/etc/generate-deriving-span-tests.py
|
sample usage: src/etc/generate-deriving-span-tests.py
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os, stat
|
import os
|
||||||
|
import stat
|
||||||
|
|
||||||
TEST_DIR = os.path.abspath(
|
TEST_DIR = os.path.abspath(
|
||||||
os.path.join(os.path.dirname(__file__), '../test/ui/derives/'))
|
os.path.join(os.path.dirname(__file__), '../test/ui/derives/'))
|
||||||
|
@ -56,6 +57,7 @@ struct Struct(
|
||||||
|
|
||||||
ENUM_TUPLE, ENUM_STRUCT, STRUCT_FIELDS, STRUCT_TUPLE = range(4)
|
ENUM_TUPLE, ENUM_STRUCT, STRUCT_FIELDS, STRUCT_TUPLE = range(4)
|
||||||
|
|
||||||
|
|
||||||
def create_test_case(type, trait, super_traits, error_count):
|
def create_test_case(type, trait, super_traits, error_count):
|
||||||
string = [ENUM_STRING, ENUM_STRUCT_VARIANT_STRING, STRUCT_STRING, STRUCT_TUPLE_STRING][type]
|
string = [ENUM_STRING, ENUM_STRUCT_VARIANT_STRING, STRUCT_STRING, STRUCT_TUPLE_STRING][type]
|
||||||
all_traits = ','.join([trait] + super_traits)
|
all_traits = ','.join([trait] + super_traits)
|
||||||
|
@ -66,6 +68,7 @@ def create_test_case(type, trait, super_traits, error_count):
|
||||||
code = string.format(traits=all_traits, errors=errors)
|
code = string.format(traits=all_traits, errors=errors)
|
||||||
return TEMPLATE.format(error_deriving=error_deriving, code=code)
|
return TEMPLATE.format(error_deriving=error_deriving, code=code)
|
||||||
|
|
||||||
|
|
||||||
def write_file(name, string):
|
def write_file(name, string):
|
||||||
test_file = os.path.join(TEST_DIR, 'derives-span-%s.rs' % name)
|
test_file = os.path.join(TEST_DIR, 'derives-span-%s.rs' % name)
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,6 @@ sample usage: src/etc/generate-keyword-tests.py as break
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
import datetime
|
|
||||||
import stat
|
import stat
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -131,6 +131,7 @@ try:
|
||||||
except NameError:
|
except NameError:
|
||||||
unichr = chr
|
unichr = chr
|
||||||
|
|
||||||
|
|
||||||
class CustomHTMLParser(HTMLParser):
|
class CustomHTMLParser(HTMLParser):
|
||||||
"""simplified HTML parser.
|
"""simplified HTML parser.
|
||||||
|
|
||||||
|
@ -169,14 +170,18 @@ class CustomHTMLParser(HTMLParser):
|
||||||
HTMLParser.close(self)
|
HTMLParser.close(self)
|
||||||
return self.__builder.close()
|
return self.__builder.close()
|
||||||
|
|
||||||
|
|
||||||
Command = namedtuple('Command', 'negated cmd args lineno context')
|
Command = namedtuple('Command', 'negated cmd args lineno context')
|
||||||
|
|
||||||
|
|
||||||
class FailedCheck(Exception):
|
class FailedCheck(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class InvalidCheck(Exception):
|
class InvalidCheck(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
def concat_multi_lines(f):
|
def concat_multi_lines(f):
|
||||||
"""returns a generator out of the file object, which
|
"""returns a generator out of the file object, which
|
||||||
- removes `\\` then `\n` then a shared prefix with the previous line then
|
- removes `\\` then `\n` then a shared prefix with the previous line then
|
||||||
|
@ -208,6 +213,7 @@ def concat_multi_lines(f):
|
||||||
if lastline is not None:
|
if lastline is not None:
|
||||||
print_err(lineno, line, 'Trailing backslash at the end of the file')
|
print_err(lineno, line, 'Trailing backslash at the end of the file')
|
||||||
|
|
||||||
|
|
||||||
LINE_PATTERN = re.compile(r'''
|
LINE_PATTERN = re.compile(r'''
|
||||||
(?<=(?<!\S)@)(?P<negated>!?)
|
(?<=(?<!\S)@)(?P<negated>!?)
|
||||||
(?P<cmd>[A-Za-z]+(?:-[A-Za-z]+)*)
|
(?P<cmd>[A-Za-z]+(?:-[A-Za-z]+)*)
|
||||||
|
@ -353,7 +359,7 @@ def check_tree_text(tree, path, pat, regexp):
|
||||||
ret = check_string(value, pat, regexp)
|
ret = check_string(value, pat, regexp)
|
||||||
if ret:
|
if ret:
|
||||||
break
|
break
|
||||||
except Exception as e:
|
except Exception:
|
||||||
print('Failed to get path "{}"'.format(path))
|
print('Failed to get path "{}"'.format(path))
|
||||||
raise
|
raise
|
||||||
return ret
|
return ret
|
||||||
|
@ -363,6 +369,7 @@ def get_tree_count(tree, path):
|
||||||
path = normalize_xpath(path)
|
path = normalize_xpath(path)
|
||||||
return len(tree.findall(path))
|
return len(tree.findall(path))
|
||||||
|
|
||||||
|
|
||||||
def stderr(*args):
|
def stderr(*args):
|
||||||
if sys.version_info.major < 3:
|
if sys.version_info.major < 3:
|
||||||
file = codecs.getwriter('utf-8')(sys.stderr)
|
file = codecs.getwriter('utf-8')(sys.stderr)
|
||||||
|
@ -371,6 +378,7 @@ def stderr(*args):
|
||||||
|
|
||||||
print(*args, file=file)
|
print(*args, file=file)
|
||||||
|
|
||||||
|
|
||||||
def print_err(lineno, context, err, message=None):
|
def print_err(lineno, context, err, message=None):
|
||||||
global ERR_COUNT
|
global ERR_COUNT
|
||||||
ERR_COUNT += 1
|
ERR_COUNT += 1
|
||||||
|
@ -381,8 +389,10 @@ def print_err(lineno, context, err, message=None):
|
||||||
if context:
|
if context:
|
||||||
stderr("\t{}".format(context))
|
stderr("\t{}".format(context))
|
||||||
|
|
||||||
|
|
||||||
ERR_COUNT = 0
|
ERR_COUNT = 0
|
||||||
|
|
||||||
|
|
||||||
def check_command(c, cache):
|
def check_command(c, cache):
|
||||||
try:
|
try:
|
||||||
cerr = ""
|
cerr = ""
|
||||||
|
@ -448,11 +458,13 @@ def check_command(c, cache):
|
||||||
except InvalidCheck as err:
|
except InvalidCheck as err:
|
||||||
print_err(c.lineno, c.context, str(err))
|
print_err(c.lineno, c.context, str(err))
|
||||||
|
|
||||||
|
|
||||||
def check(target, commands):
|
def check(target, commands):
|
||||||
cache = CachedFiles(target)
|
cache = CachedFiles(target)
|
||||||
for c in commands:
|
for c in commands:
|
||||||
check_command(c, cache)
|
check_command(c, cache)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
if len(sys.argv) != 3:
|
if len(sys.argv) != 3:
|
||||||
stderr('Usage: {} <doc dir> <template>'.format(sys.argv[0]))
|
stderr('Usage: {} <doc dir> <template>'.format(sys.argv[0]))
|
||||||
|
|
|
@ -157,6 +157,7 @@ def start_watchdog():
|
||||||
# ~main
|
# ~main
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
|
|
||||||
|
|
||||||
if len(sys.argv) != 3:
|
if len(sys.argv) != 3:
|
||||||
print("usage: python lldb_batchmode.py target-path script-path")
|
print("usage: python lldb_batchmode.py target-path script-path")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import lldb
|
import lldb
|
||||||
import re
|
|
||||||
import debugger_pretty_printers_common as rustpp
|
import debugger_pretty_printers_common as rustpp
|
||||||
|
|
||||||
# ===============================================================================
|
# ===============================================================================
|
||||||
# LLDB Pretty Printing Module for Rust
|
# LLDB Pretty Printing Module for Rust
|
||||||
# ===============================================================================
|
# ===============================================================================
|
||||||
|
|
||||||
|
|
||||||
class LldbType(rustpp.Type):
|
class LldbType(rustpp.Type):
|
||||||
|
|
||||||
def __init__(self, ty):
|
def __init__(self, ty):
|
||||||
|
@ -157,9 +157,9 @@ def print_val(lldb_val, internal_dict):
|
||||||
return lldb_val.GetValue()
|
return lldb_val.GetValue()
|
||||||
|
|
||||||
|
|
||||||
#=--------------------------------------------------------------------------------------------------
|
# =---------------------------------------------------------------------------------------
|
||||||
# Type-Specialized Printing Functions
|
# Type-Specialized Printing Functions
|
||||||
#=--------------------------------------------------------------------------------------------------
|
# =---------------------------------------------------------------------------------------
|
||||||
|
|
||||||
def print_struct_val(val, internal_dict, omit_first_field, omit_type_name, is_tuple_like):
|
def print_struct_val(val, internal_dict, omit_first_field, omit_type_name, is_tuple_like):
|
||||||
"""
|
"""
|
||||||
|
@ -212,6 +212,7 @@ def print_struct_val(val, internal_dict, omit_first_field, omit_type_name, is_tu
|
||||||
return template % {"type_name": type_name,
|
return template % {"type_name": type_name,
|
||||||
"body": body}
|
"body": body}
|
||||||
|
|
||||||
|
|
||||||
def print_pointer_val(val, internal_dict):
|
def print_pointer_val(val, internal_dict):
|
||||||
"""Prints a pointer value with Rust syntax"""
|
"""Prints a pointer value with Rust syntax"""
|
||||||
assert val.type.get_dwarf_type_kind() == rustpp.DWARF_TYPE_CODE_PTR
|
assert val.type.get_dwarf_type_kind() == rustpp.DWARF_TYPE_CODE_PTR
|
||||||
|
@ -253,18 +254,21 @@ def print_std_vec_val(val, internal_dict):
|
||||||
length,
|
length,
|
||||||
internal_dict)
|
internal_dict)
|
||||||
|
|
||||||
|
|
||||||
def print_str_slice_val(val, internal_dict):
|
def print_str_slice_val(val, internal_dict):
|
||||||
(length, data_ptr) = rustpp.extract_length_and_ptr_from_slice(val)
|
(length, data_ptr) = rustpp.extract_length_and_ptr_from_slice(val)
|
||||||
return read_utf8_string(data_ptr, length)
|
return read_utf8_string(data_ptr, length)
|
||||||
|
|
||||||
|
|
||||||
def print_std_string_val(val, internal_dict):
|
def print_std_string_val(val, internal_dict):
|
||||||
vec = val.get_child_at_index(0)
|
vec = val.get_child_at_index(0)
|
||||||
(length, data_ptr, cap) = rustpp.extract_length_ptr_and_cap_from_std_vec(vec)
|
(length, data_ptr, cap) = rustpp.extract_length_ptr_and_cap_from_std_vec(vec)
|
||||||
return read_utf8_string(data_ptr, length)
|
return read_utf8_string(data_ptr, length)
|
||||||
|
|
||||||
#=--------------------------------------------------------------------------------------------------
|
# =-----------------------------------------------------------------------
|
||||||
# Helper Functions
|
# Helper Functions
|
||||||
#=--------------------------------------------------------------------------------------------------
|
# =-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
def print_array_of_values(array_name, data_ptr_val, length, internal_dict):
|
def print_array_of_values(array_name, data_ptr_val, length, internal_dict):
|
||||||
"""Prints a contiguous memory range, interpreting it as values of the
|
"""Prints a contiguous memory range, interpreting it as values of the
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
## This script publishes the new "current" toolstate in the toolstate repo (not to be
|
# This script publishes the new "current" toolstate in the toolstate repo (not to be
|
||||||
## confused with publishing the test results, which happens in
|
# confused with publishing the test results, which happens in
|
||||||
## `src/ci/docker/x86_64-gnu-tools/checktools.sh`).
|
# `src/ci/docker/x86_64-gnu-tools/checktools.sh`).
|
||||||
## It is set as callback for `src/ci/docker/x86_64-gnu-tools/repo.sh` by the CI scripts
|
# It is set as callback for `src/ci/docker/x86_64-gnu-tools/repo.sh` by the CI scripts
|
||||||
## when a new commit lands on `master` (i.e., after it passed all checks on `auto`).
|
# when a new commit lands on `master` (i.e., after it passed all checks on `auto`).
|
||||||
|
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
|
|
||||||
|
@ -103,6 +103,7 @@ def validate_maintainers(repo, github_token):
|
||||||
print("The build will fail due to this.")
|
print("The build will fail due to this.")
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
|
|
||||||
def read_current_status(current_commit, path):
|
def read_current_status(current_commit, path):
|
||||||
'''Reads build status of `current_commit` from content of `history/*.tsv`
|
'''Reads build status of `current_commit` from content of `history/*.tsv`
|
||||||
'''
|
'''
|
||||||
|
@ -113,14 +114,17 @@ def read_current_status(current_commit, path):
|
||||||
return json.loads(status)
|
return json.loads(status)
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
|
|
||||||
def gh_url():
|
def gh_url():
|
||||||
return os.environ['TOOLSTATE_ISSUES_API_URL']
|
return os.environ['TOOLSTATE_ISSUES_API_URL']
|
||||||
|
|
||||||
|
|
||||||
def maybe_delink(message):
|
def maybe_delink(message):
|
||||||
if os.environ.get('TOOLSTATE_SKIP_MENTIONS') is not None:
|
if os.environ.get('TOOLSTATE_SKIP_MENTIONS') is not None:
|
||||||
return message.replace("@", "")
|
return message.replace("@", "")
|
||||||
return message
|
return message
|
||||||
|
|
||||||
|
|
||||||
def issue(
|
def issue(
|
||||||
tool,
|
tool,
|
||||||
status,
|
status,
|
||||||
|
@ -164,6 +168,7 @@ def issue(
|
||||||
))
|
))
|
||||||
response.read()
|
response.read()
|
||||||
|
|
||||||
|
|
||||||
def update_latest(
|
def update_latest(
|
||||||
current_commit,
|
current_commit,
|
||||||
relevant_pr_number,
|
relevant_pr_number,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue