~nilsschlupp/auto-ndiswrapper/rewrite

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