Mercurial > racoon
view browser.py @ 0:661e6ef8f8e4 draft default tip
Initial commit
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Sat, 14 Jan 2017 13:22:10 +0100 |
| parents | |
| children |
line wrap: on
line source
import loader, view class Browser: def __init__(self, window): self.win = window self.loader = loader.Loader() self.view = view.View(self) self.current_url = '' self.base_url = '' self.history = [] def set_current_url(self, url): self.current_url = url self.loader.base_url = url self.win.set_location(url) def open_url(self, link): self.win.start_loading(link) if link: print 'opened %s' % link f = self.loader.open_uri(link) print 'fetching headers' headers = f.info() mime = headers.getheader('Content-type').split(';')[0] print mime print repr(headers.__dict__) new_url = f.geturl() self.history.append(self.current_url) self.set_current_url(new_url) self.loader.queue_clear() self.loader.load_uri(self.view.open_stream(mime), link, f) self.loader.queue_load() else: self.document.clear() self.win.finish_loading() def history_back(self): url = self.history.pop() if url: self.open_url(url) def load_url(self, uri, stream): self.loader.queue_add_uri(stream, uri) def set_title(self, title): self.title = title self.win.set_title(title) def set_base_url(self, base_url): self.base_url = self.loader.resolve_uri(base_url, self.base_url)
