opuntiaOS - an operating system targeting x86 and ARMv7
at master 831 B view raw
1import requests 2import lxml.html as lh 3import pandas as pd 4import argparse 5 6parser = argparse.ArgumentParser() 7parser.add_argument('arch', type=str, help='Arch [arm, x86]') 8args = parser.parse_args() 9 10url='https://chromium.googlesource.com/chromiumos/docs/+/master/constants/syscalls.md' 11page = requests.get(url) 12doc = lh.fromstring(page.content) 13tr_elements = doc.xpath('//tr') 14 15start = 0 16 17for i, tr in enumerate(tr_elements): 18 if tr[0].text_content() == "syscall name": 19 start = i + 1 20 21 22data = [] 23for tr in tr_elements[start:]: 24 table_col = 2 25 if args.arch == "x86": 26 table_col = 4 27 if tr[table_col].text_content() != "-": 28 data.append([tr[0].text_content(), int(tr[table_col].text_content())]) 29 30data.sort(key=lambda x: x[1]) 31 32for i in data: 33 print("SYS_{0} = {1},".format(i[0].upper(), i[1]))