1
from selenium import webdriver
2
from selenium.webdriver.common.keys import Keys
6
def raise_problem(function):
7
def wrapper(*args,**kw):
9
return function(*args,**kw)
11
print traceback.print_exc()
15
def __init__(self,*args):
16
Cmd.__init__(self,*args)
17
self.browser = webdriver.Firefox()
18
self.new_window = webdriver.ActionChains(self.browser).send_keys(Keys.CONTROL + "n").perform
19
self.close_window = webdriver.ActionChains(self.browser).send_keys(Keys.CONTROL + "w").perform
20
self.visited_links = []
23
def setup(self,*args):
24
#self.browser.get("http://www.grooveshark.com")
25
#grooveshark_window = self.browser.window_handles[0]
27
self.browser.get("about:cache?device=disk")
28
about_window = self.browser.window_handles[0]
30
def filter_links(self,links):
31
links = [link for link in links if link.get_attribute("href") not in self.visited_links]
32
self.visited_links += [link.get_attribute("href") for link in links]
41
def do_sync(self,*args):
42
links = self.browser.find_elements_by_tag_name("a")
43
links = self.filter_links(links)
44
for index,link in enumerate(links):
45
href = link.get_attribute("href")
48
self.browser.get(href)
49
in_file = "/tmp/yassine%s.html" % index
50
out_file = "/home/chaouche/MUSIQUE/cachemusic%s.mp3" % index
51
html = open(in_file,"w")
52
html.write(self.browser.page_source)
54
print commands.getoutput("groovy %s %s" % (in_file,out_file))