37 lines
No EOL
1.2 KiB
Python
Executable file
37 lines
No EOL
1.2 KiB
Python
Executable file
|
|
def parse(arrg:str):
|
|
"""
|
|
i: Any raw string from scanner
|
|
o: (cat, bat) A tuple containing the catalog and batch info,
|
|
filling None as needed.
|
|
"""
|
|
if "" == arrg:
|
|
pass
|
|
elif "[)>" in arrg[0:3]: #These may need to be shifted up or down 1 based on how the application handles [rs][eot]and [gs]
|
|
cat = arrg[arrg.index("+H")+5:arrg.index("Q1")-2]
|
|
bat = arrg[arrg.index("$")+1:arrg.index("14D2")-1]
|
|
return (cat, bat) #This should instead return an implant.
|
|
elif "+H" in arrg[0:2]:
|
|
cat = arrg[5:-2]
|
|
return (cat, None)
|
|
elif "+$" in arrg[0:2]:
|
|
maxleggy = len(arrg)
|
|
backstrip = maxleggy - 2
|
|
bat = arrg[2:backstrip]
|
|
return (None, bat)
|
|
elif "01" in arrg[0:2]:
|
|
#print("triggered modbar")
|
|
lenth = len(arrg)
|
|
bat = arrg[26:lenth]
|
|
return (None, bat)
|
|
elif "|" in arrg:
|
|
dance = arrg.rsplit("|")
|
|
cat = dance[0]
|
|
bat = dance[1]
|
|
return (cat, bat)
|
|
elif "+H12" in arrg:
|
|
cat = arrg[5:16]
|
|
bat = arrg[23:31]
|
|
return (cat, bat)
|
|
else:
|
|
return (arrg, None) |