1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#!/usr/bin/env python
##Takes an html file taken from the ndiswrapper drivers wiki as input and outputs the driver and url data in a useful format
import re, sys
class Data:
card_id = ' '
rev = ' '
url = ' '
driver = ' '
def __init__(self, card_id, rev, url):
self.card_id = card_id
self.rev = rev
self.url = url
def __str__(self):
return ",'" + self.card_id + self.rev + "':" + "\n\t{'url':'" + str(self.url) + "'," + "\n\t'driver':'empty'}"
commandlineoption = sys.argv[1]
rawdriverdata = open(commandlineoption).read()
separated_data = rawdriverdata.split('<li class="level1"><div class="li">')
Datalist = [ ]
for item in separated_data:
card_id = re.findall("[a-z]{3}id:\ .{4}:.{4}", item)
rev_num = re.findall("rev\ [0-9]{2}", item)
url = re.findall('<a\ href=".*"\ class=.*</a>', item)
if card_id:
card_id = card_id[0]
card_id = card_id[7:len(card_id)]
if url:
url = url[0]
url = re.findall('<a\ href=".*"\ c', url)
url = url[0]
url = url[9:-8]
if card_id and rev_num and url:
record = Data(card_id, ' (%s)' % rev_num[0], url)
Datalist.append(record)
if card_id and url:
record = Data(card_id,'', url)
Datalist.append(record)
for item in Datalist:
print item
|