organic: Add extended API
This commit is contained in:
+27
-21
@@ -33,29 +33,35 @@ def main() -> None:
|
||||
query = {'PartnerCertSearchForm:pcs_' + q.split('=', 1)[0]: urllib.parse.unquote(q.split('=', 1)[-1]) for q in args.query.split('&')}
|
||||
|
||||
s = requests.Session()
|
||||
while True:
|
||||
try:
|
||||
r = s.get(f'{URL}?menu_sid=5002')
|
||||
uri = ACTION_RE.findall(r.text)[0]
|
||||
break
|
||||
except IndexError:
|
||||
pass
|
||||
hidden = {m[1]: m[2] for m in HIDDEN_RE.finditer(r.text)}
|
||||
s.verify = False
|
||||
try:
|
||||
while True:
|
||||
try:
|
||||
r = s.get(f'{URL}?menu_sid=5002')
|
||||
uri = ACTION_RE.findall(r.text)[0]
|
||||
break
|
||||
except IndexError:
|
||||
pass
|
||||
hidden = {m[1]: m[2] for m in HIDDEN_RE.finditer(r.text)}
|
||||
|
||||
r = s.post(f'{BASE_URL}{uri}', data={
|
||||
**query,
|
||||
'PartnerCertSearchForm:button_search': 'Suche starten...',
|
||||
'PartnerCertSearchForm_SUBMIT': '1',
|
||||
'javax.faces.ViewState': hidden['javax.faces.ViewState'],
|
||||
})
|
||||
r = s.post(f'{BASE_URL}{uri}', data={
|
||||
**query,
|
||||
'PartnerCertSearchForm:button_search': 'Suche starten...',
|
||||
'PartnerCertSearchForm_SUBMIT': '1',
|
||||
'javax.faces.ViewState': hidden['javax.faces.ViewState'],
|
||||
})
|
||||
|
||||
result_table = r.text[r.text.find('<table'):r.text.rfind('</table>') + 8]
|
||||
uncollapsed_rows = [tuple(remove_tags(m[1])
|
||||
for m in TD_RE.finditer(row[0]))
|
||||
for row in UNCOLLAPSED_ROW_RE.finditer(result_table)]
|
||||
collapsed_rows = [[tuple(remove_tags((ATTACHMENT_RE.search(m[1]) or m)[1]) for m in TD_RE.finditer(row[1]))
|
||||
for row in ROW_RE.finditer(tbl[0])]
|
||||
for tbl in COLLAPSED_ROW_RE.finditer(result_table)]
|
||||
except:
|
||||
print('[]')
|
||||
return
|
||||
|
||||
result_table = r.text[r.text.find('<table'):r.text.rfind('</table>') + 8]
|
||||
uncollapsed_rows = [tuple(remove_tags(m[1])
|
||||
for m in TD_RE.finditer(row[0]))
|
||||
for row in UNCOLLAPSED_ROW_RE.finditer(result_table)]
|
||||
collapsed_rows = [[tuple(remove_tags((ATTACHMENT_RE.search(m[1]) or m)[1]) for m in TD_RE.finditer(row[1]))
|
||||
for row in ROW_RE.finditer(tbl[0])]
|
||||
for tbl in COLLAPSED_ROW_RE.finditer(result_table)]
|
||||
print('[')
|
||||
first = True
|
||||
for row, tbl in zip(uncollapsed_rows, collapsed_rows):
|
||||
|
||||
Reference in New Issue
Block a user