def _GetPluginListData(url=PLUGIN_REPO): """Gets the list of plugins and their related meta data as a string and returns it. @return: list of data of available plugins from website """ text = u'' try: try: if Profile_Get('USE_PROXY', default=False): proxy_set = Profile_Get('PROXY_SETTINGS', default=dict(uname='', url='', port='80', passwd='')) proxy = util.GetProxyOpener(proxy_set) h_file = proxy.open(url) else: h_file = urllib2.urlopen(url) text = h_file.read() h_file.close() except (IOError, OSError), msg: util.Log("[plugdlg][err] %s" % str(msg)) finally: return text.split("###")
def _DownloadPlugin(*args): """Downloads the plugin at the given url. @note: *args is really a string that has been exploded @return: name, completed, egg data @rtype: tuple """ url = "".join(args) egg = None try: try: if Profile_Get('USE_PROXY', default=False): proxy_set = Profile_Get('PROXY_SETTINGS', default=dict(uname='', url='', port='80', passwd='')) proxy = util.GetProxyOpener(proxy_set) h_file = proxy.open(url) else: h_file = urllib2.urlopen(url) egg = h_file.read() h_file.close() except (IOError, OSError), msg: util.Log("[plugdlg][err] %s" % str(msg)) finally: return (url.split("/")[-1], True, egg)
def __GetUrlHandle(self, url): """Gets a file handle for the given url. The caller is responsible for closing the handle. @requires: network connection @param url: url to get page from @return: all text from the given url """ h_file = None try: if Profile_Get('USE_PROXY', default=False): proxy_set = Profile_Get('PROXY_SETTINGS', default=dict(uname='', url='', port='80', passwd='')) proxy = util.GetProxyOpener(proxy_set) h_file = proxy.open(url) else: h_file = urllib2.urlopen(url) finally: return h_file