How to use check_block method in hypothesis

Best Python code snippet using hypothesis

check_date_count.py

Source:check_date_count.py Github

copy

Full Screen

...9nodeaddress = "wss://api.cocosbcx.net"10AFTER_DAYS = 3011last_block_date = "1970-01-01" # random default date12result_block_data = {}13def check_block(start_date):14 global last_block_date, AFTER_DAYS, result_block_data15 start_date = start_date16 gph = Graphene(node=nodeaddress)17 info = gph.info()18 logger.info("info: {}".format(info))19 last_block_num = info['head_block_number']20 logger.info("time: {}".format(info["time"]))21 current_time = info["time"]22 current_date = info["time"].split("T")[0]23 start_block_num = 124 end_block_num = last_block_num25 seconds = compare_time(current_date, start_date)26 logger.info("current_date: {}, start_date: {}, seconds: {}".format(current_date, start_date, seconds))27 if seconds < 3600 * 24 * AFTER_DAYS:28 logger.info("before {} days".format(AFTER_DAYS))29 logger.info("last_block_num: {}, delta: {}".format(last_block_num, 1800 * 24 * AFTER_DAYS))30 end_block_num = last_block_num31 start_block_num = last_block_num - 1800 * 24 * AFTER_DAYS32 else:33 logger.info("after {} days".format(AFTER_DAYS))34 start_block_num = int(last_block_num - seconds/2)35 end_block_num = int(start_block_num + (1800 * 24 * AFTER_DAYS))36 if last_block_num < end_block_num:37 end_block_num = last_block_num38 logger.info('[block num]start: {}, end: {}, last: {}, seconds: {}'.format(start_block_num, end_block_num, last_block_num, seconds))39 for block_num in range(start_block_num, end_block_num+1):40 try:41 block = gph.rpc.get_block(block_num)42 # logger.info("block: {}".format(block))43 timestamp = block["timestamp"]44 block_date = timestamp.split("T")[0]45 46 if block_date != last_block_date:47 # logger.info("last_date: {}, block_num: {}, block: {}".format(last_block_date, block_num, block))48 logger.info("last_date: {}, block_num: {}, block_id: {}, block timestamp: {}".format(last_block_date, 49 block_num, block["block_id"], block["timestamp"]))50 if last_block_date in result_block_data.keys():51 logger.info(">>>>>>>>>>>> {}: {}".format(last_block_date, result_block_data[last_block_date]))52 last_block_date = block_date53 result_block_data[block_date] = {54 "block_total": 0,55 "trx_total": 0,56 "ops_total": 057 }58 block_data = result_block_data[block_date]59 block_data["block_total"] += 160 transactions = block["transactions"]61 if transactions:62 block_data["trx_total"] += len(transactions)63 for trx in transactions:64 block_data["ops_total"] += len(trx[1]["operations"])65 result_block_data[block_date] = block_data66 except Exception as e:67 logger.error('get_object exception. block {}, error {}'.format(block_num, repr(e)))68 logger.info("\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>> total result: \n{}".format(result_block_data))69def compare_time(time1, time2):70 s_time = time.mktime(time.strptime(time1,'%Y-%m-%d'))71 e_time = time.mktime(time.strptime(time2,'%Y-%m-%d'))72 return int(s_time) - int(e_time)73def compare_time_test():74 result = compare_time('2020-04-17', '2020-04-19')75 logger.info("result: {}".format(result))76if __name__ == '__main__':77 logger.info('args: {}'.format(sys.argv))78 if len(sys.argv) < 2:79 logger.error('Usage: python3 check.py start_date[2020-07-01]')80 sys.exit(1)81 start_date = sys.argv[1]82 check_block(start_date)83'''841. 功能85统计每天的链上区块、交易和operation的总数。86输入一个开始日期,统计该日期之后N天的数据,N由AFTER_DAYS全局变量控制,默认是7,可以根据统计需求任意修改。87如果开始日期和最新区块的间隔小于N天,统计最新区块之前的N天数据。882. 使用89依赖: python-sdk90python3 check_count.py YYYY-MM-DD 91说明: 92日期格式: YYYY-MM-DD933. 测试94AFTER_DAYS = 7 test record:95---------------------------------------------------96dev@ck-chain-slave-prod-001:~/cocos/data_analysis# nohup python3 check_count.py 2020-06-24 >> console.log 2>&1 &...

Full Screen

Full Screen

minesweeper.py

Source:minesweeper.py Github

copy

Full Screen

...25 for _ in range(0, BOARD_Y):26 GAMEBOARD[i].append(0)27def is_bomb(x, y):28 return GAMEBOARD[x][y] == 'B'29def check_block(x, y):30 if x < 0:31 return 'X'32 if x > BOARD_X-1:33 return 'X'34 if y < 0:35 return 'X'36 if y > BOARD_Y-1:37 return 'X'38 return GAMEBOARD[x][y]39def count_bombs(x, y):40 bomb_count = 041 if check_block(x-1, y) == 'B':42 bomb_count += 143 if check_block(x-1, y+1) == 'B':44 bomb_count += 145 if check_block(x, y+1) == 'B':46 bomb_count += 147 if check_block(x+1, y+1) == 'B':48 bomb_count += 149 if check_block(x+1, y) == 'B':50 bomb_count += 151 if check_block(x+1, y-1) == 'B':52 bomb_count += 153 if check_block(x, y-1) == 'B':54 bomb_count += 155 if check_block(x-1, y-1) == 'B':56 bomb_count += 157 return bomb_count58def get_number_format(num):59 if num < 10 and num >= 0:60 return CHARACTER_LOOKUP[str(num)]61 return CHARACTER_LOOKUP['X']62def random_vector(x_max, y_max):63 return random.randint(0, x_max), random.randint(0, y_max)64def generate_bombs():65 global GAMEBOARD66 mine_count = 067 while mine_count < MINECOUNT:68 x, y = random_vector(BOARD_X - 1, BOARD_Y - 1)69 if is_bomb(x, y):70 continue71 GAMEBOARD[x][y] = 'B'72 mine_count += 173def generate_numbers():74 global GAMEBOARD75 for x in range(0, BOARD_X):76 for y in range(0, BOARD_Y):77 if is_bomb(x, y):78 continue79 GAMEBOARD[x][y] = str(count_bombs(x, y))80def place_within_tag(element):81 return SPOILERS_CHAR + element + SPOILERS_CHAR82def generate_emoji_board():83 board = ''84 for x in range(0, BOARD_X):85 tmp = ''86 for y in range(0, BOARD_Y):87 if check_block(x, y) == '0':88 tmp += ':' + CHARACTER_LOOKUP[GAMEBOARD[x][y]] + ':'89 continue90 else:91 if len(tmp) > 0:92 board += place_within_tag(tmp)93 tmp = ''94 board += place_within_tag(':' + CHARACTER_LOOKUP[GAMEBOARD[x][y]] + ':')95 if len(tmp) > 0:96 board += place_within_tag(tmp)97 tmp = ''98 board += '\n'99 print(board)100def main(argc, argv):101 global BOARD_X...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run hypothesis automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful