def first_child_not_matching_class(self, childclass, start=0,
end=sys.maxint):
"""
Return the index of the first child whose class does *not* match.
Parameters:
- `childclass`: A `Node` subclass to skip, or a tuple of `Node`
classes. If a tuple, none of the classes may match.
- `start`: Initial index to check.
- `end`: Initial index to *not* check.
"""
if not isinstance(childclass, tuple):
childclass = (childclass,)
for index in range(start, min(len(self), end)):
for c in childclass:
if isinstance(self.children[index], c):
break
else:
return index
return None
python类maxint()的实例源码
def rename(src, dst):
# Try atomic or pseudo-atomic rename
if _rename(src, dst):
return
# Fall back to "move away and replace"
try:
os.rename(src, dst)
except OSError as e:
if e.errno != errno.EEXIST:
raise
old = "%s-%08x" % (dst, random.randint(0, sys.maxint))
os.rename(dst, old)
os.rename(src, dst)
try:
os.unlink(old)
except Exception:
pass
def rename(src, dst):
# Try atomic or pseudo-atomic rename
if _rename(src, dst):
return
# Fall back to "move away and replace"
try:
os.rename(src, dst)
except OSError as e:
if e.errno != errno.EEXIST:
raise
old = "%s-%08x" % (dst, random.randint(0, sys.maxint))
os.rename(dst, old)
os.rename(src, dst)
try:
os.unlink(old)
except Exception:
pass
def first_child_matching_class(self, childclass, start=0, end=sys.maxint):
"""
Return the index of the first child whose class exactly matches.
Parameters:
- `childclass`: A `Node` subclass to search for, or a tuple of `Node`
classes. If a tuple, any of the classes may match.
- `start`: Initial index to check.
- `end`: Initial index to *not* check.
"""
if not isinstance(childclass, tuple):
childclass = (childclass,)
for index in range(start, min(len(self), end)):
for c in childclass:
if isinstance(self[index], c):
return index
return None
def first_child_not_matching_class(self, childclass, start=0,
end=sys.maxint):
"""
Return the index of the first child whose class does *not* match.
Parameters:
- `childclass`: A `Node` subclass to skip, or a tuple of `Node`
classes. If a tuple, none of the classes may match.
- `start`: Initial index to check.
- `end`: Initial index to *not* check.
"""
if not isinstance(childclass, tuple):
childclass = (childclass,)
for index in range(start, min(len(self), end)):
for c in childclass:
if isinstance(self.children[index], c):
break
else:
return index
return None
def _make_boundary(text=None):
# Craft a random boundary. If text is given, ensure that the chosen
# boundary doesn't appear in the text.
token = random.randrange(sys.maxint)
boundary = ('=' * 15) + (_fmt % token) + '=='
if text is None:
return boundary
b = boundary
counter = 0
while True:
cre = re.compile('^--' + re.escape(b) + '(--)?$', re.MULTILINE)
if not cre.search(text):
break
b = boundary + '.' + str(counter)
counter += 1
return b
def version_str_to_tuple(version_str):
import re
import sys
if version_str == 'HEAD':
return (sys.maxint, sys.maxint, sys.maxint, sys.maxint)
m = re.match(r'(\d+)\.(\d+)(\.(\d+))?(b(\d+))?', version_str)
if m is None:
raise ValueError("Bad version string %r" % version_str)
major = int(m.group(1))
minor = int(m.group(2))
patch = int(m.group(4) or 0)
beta = int(m.group(6) or sys.maxint)
return (major, minor, patch, beta)
def read(self, size=None):
"""Read data from RAW file.
Args:
size: Number of bytes to read as integer. Actual number of bytes
read is always equal to size unless end if file was reached.
Returns:
A string with data read.
"""
if size is None:
size = sys.maxint
data_list = []
while True:
result = self.__readBuffer(size)
data_list.append(result)
size -= len(result)
if size == 0 or self._eof:
return ''.join(data_list)
self.__refillBuffer()
def __init__(self, output_directory, base_name, maximum_size=sys.maxint):
self.base_name = base_name
self.output_directory = os.path.normpath(output_directory)
self.maximum_size = maximum_size
if not os.path.exists(self.output_directory):
os.makedirs(self.output_directory)
elif not os.path.isdir(self.output_directory):
raise JarWriteError('Not a directory: %s' % self.output_directory)
self.current_jar = None
self.current_jar_size = 0
self.jar_suffix = 0
def version_str_to_tuple(version_str):
import re
import sys
if version_str == 'HEAD':
return (sys.maxint, sys.maxint, sys.maxint, sys.maxint)
m = re.match(r'(\d+)\.(\d+)(\.(\d+))?(b(\d+))?', version_str)
if m is None:
raise ValueError("Bad version string %r" % version_str)
major = int(m.group(1))
minor = int(m.group(2))
patch = int(m.group(4) or 0)
beta = int(m.group(6) or sys.maxint)
return (major, minor, patch, beta)
def rename(src, dst):
# Try atomic or pseudo-atomic rename
if _rename(src, dst):
return
# Fall back to "move away and replace"
try:
os.rename(src, dst)
except OSError as e:
if e.errno != errno.EEXIST:
raise
old = "%s-%08x" % (dst, random.randint(0, sys.maxint))
os.rename(dst, old)
os.rename(src, dst)
try:
os.unlink(old)
except Exception:
pass
def _make_boundary(text=None):
#some code taken from python stdlib
# Craft a random boundary. If text is given, ensure that the chosen
# boundary doesn't appear in the text.
token = random.randrange(sys.maxint)
boundary = ('=' * 10) + (_fmt % token) + '=='
if text is None:
return boundary
b = boundary
counter = 0
while True:
cre = re.compile('^--' + re.escape(b) + '(--)?$', re.MULTILINE)
if not cre.search(text):
break
b = boundary + '.' + str(counter)
counter += 1
return b
def _make_boundary(text=None):
# Craft a random boundary. If text is given, ensure that the chosen
# boundary doesn't appear in the text.
token = random.randrange(sys.maxint)
boundary = ('=' * 15) + (_fmt % token) + '=='
if text is None:
return boundary
b = boundary
counter = 0
while True:
cre = re.compile('^--' + re.escape(b) + '(--)?$', re.MULTILINE)
if not cre.search(text):
break
b = boundary + '.' + str(counter)
counter += 1
return b
def version_str_to_tuple(version_str):
import re
import sys
if version_str == 'HEAD':
return (sys.maxint, sys.maxint, sys.maxint, sys.maxint)
m = re.match(r'(\d+)\.(\d+)(\.(\d+))?(b(\d+))?', version_str)
if m is None:
raise ValueError("Bad version string %r" % version_str)
major = int(m.group(1))
minor = int(m.group(2))
patch = int(m.group(4) or 0)
beta = int(m.group(6) or sys.maxint)
return (major, minor, patch, beta)
def read(self, size=None):
"""Read data from RAW file.
Args:
size: Number of bytes to read as integer. Actual number of bytes
read is always equal to size unless end if file was reached.
Returns:
A string with data read.
"""
if size is None:
size = sys.maxint
data_list = []
while True:
result = self.__readBuffer(size)
data_list.append(result)
size -= len(result)
if size == 0 or self._eof:
return ''.join(data_list)
self.__refillBuffer()
def __init__(self, output_directory, base_name, maximum_size=sys.maxint):
self.base_name = base_name
self.output_directory = os.path.normpath(output_directory)
self.maximum_size = maximum_size
if not os.path.exists(self.output_directory):
os.makedirs(self.output_directory)
elif not os.path.isdir(self.output_directory):
raise JarWriteError('Not a directory: %s' % self.output_directory)
self.current_jar = None
self.current_jar_size = 0
self.jar_suffix = 0
def version_str_to_tuple(version_str):
import re
import sys
if version_str == 'HEAD':
return (sys.maxint, sys.maxint, sys.maxint, sys.maxint)
m = re.match(r'(\d+)\.(\d+)(\.(\d+))?(b(\d+))?', version_str)
if m is None:
raise ValueError("Bad version string %r" % version_str)
major = int(m.group(1))
minor = int(m.group(2))
patch = int(m.group(4) or 0)
beta = int(m.group(6) or sys.maxint)
return (major, minor, patch, beta)
exchange_offer_update.py 文件源码
项目:sawtooth-mktplace
作者: hyperledger-archives
项目源码
文件源码
阅读 37
收藏 0
点赞 0
评论 0
def __init__(self, objectid=None, minfo=None):
if minfo is None:
minfo = {}
super(ExchangeOfferObject, self).__init__(objectid, minfo)
self.CreatorID = minfo.get('creator', '**UNKNOWN**')
self.InputID = minfo.get('input', '**UNKNOWN**')
self.OutputID = minfo.get('output', '**UNKNOWN**')
self.Ratio = float(minfo.get('ratio', 0))
self.Description = minfo.get('description', '')
self.Name = minfo.get('name', '')
self.Minimum = int(minfo.get('minimum', 1))
self.Maximum = int(minfo.get('maximum', sys.maxint))
self.Execution = minfo.get('execution', 'Any')
self.ExecutionState = {'ParticipantList': []}
# the minimum must be high enough so that at least 1 asset
# is transferred out of the holding as a result of executing the offer
if self.Ratio < 0:
self.Minimum = max(self.Minimum, int(1.0 / self.Ratio))
if self.Minimum * self.Ratio < 1.0:
self.Minimum += 1
def _test(self, filepath):
def vcf_row_to_test(vcf_row):
return (
vcf_row['info']['TRANSCRIPT'][0],
(
vcf_row['chromosome'],
vcf_row['start'],
vcf_row['reference_allele'],
vcf_row['alternate_alleles'][0]
),
[x for x in vcf_row['info'].get('REQUIRED', []) if x],
[x for x in vcf_row['info'].get('DISALLOWED', []) if x]
)
with VcfReader(self.get_absolute_filepath(filepath)) as reader:
for row in islice(reader, sys.maxint):
self.assertTest(vcf_row_to_test(row))
def createDataRowsFromCSV(csvFilePath, csvParseFunc, DATA_PATH, limit = sys.maxint):
''' Returns a list of DataRow from CSV files parsed by csvParseFunc,
DATA_PATH is the prefix to add to the csv file names,
limit can be used to parse only partial file rows.
'''
data = [] # the array we build
validObjectsCounter = 0
with open(csvFilePath, 'r') as csvfile:
reader = csv.reader(csvfile, delimiter=' ')
for row in reader:
d = csvParseFunc(row, DATA_PATH)
if d is not None:
data.append(d)
validObjectsCounter += 1
if (validObjectsCounter > limit ): # Stop if reached to limit
return data
return data