import urllib2 import re import ssl import webbrowser class __doc(object): "command-line Plone help" def __init__( self ): version = "%d.%d.%d" % tuple(cu.version( )[:3]) casavariant = "" if (cu.version_variant().strip() != ""): casavariant = cu.version_variant().strip().lower() + "-" self.__task_url = "https://casa.nrao.edu/PloneResource/casa-" + casavariant + version + "/taskXml/" self.__tool_url = "https://casa.nrao.edu/PloneResource/casa-" + casavariant + version + "/toolXml/" self.__toc_url = "https://casa.nrao.edu/casadocs/casa-" + casavariant + version + "/global-task-list" self.__start_url = "https://casa.nrao.edu/casadocs/casa-" + casavariant + version self.__task_prefix = "https://casa.nrao.edu/casadocs/casa-" + casavariant + version + "/global-task-list/task_" self.__tool_prefix = "https://casa.nrao.edu/casadocs/casa-" + casavariant + version + "/global-tool-list/tool_" self.__task_list = [ ] self.__tool_list = [ ] def __unverified_ctx( self ): ctx = ssl.create_default_context( ) ctx.check_hostname = False ctx.verify_mode = ssl.CERT_NONE return ctx def __call__( self, topic=None ): "open browser with documentation, try \"doc('toc')\"" if len(self.__task_list) == 0: try: ### osx rejects NRAO's CERT self.__task_list = re.findall("\w+.xml", urllib2.urlopen(self.__task_url,context=self.__unverified_ctx( )).read().decode()) except: self.__task_list = [ ] if len(self.__tool_list) == 0: try: ### osx rejects NRAO's CERT self.__tool_list = re.findall("\w+.xml", urllib2.urlopen(self.__tool_url,context=self.__unverified_ctx( )).read().decode()) except: self.__tool_list = [ ] if type(topic) != str or topic == "toc": webbrowser.open_new_tab(self.__toc_url) elif topic == "start": webbrowser.open_new_tab(self.__start_url) elif topic+'.xml' in self.__task_list: webbrowser.open_new_tab(self.__task_prefix+topic+"/parameters") elif topic+'.xml' in self.__tool_list: webbrowser.open_new_tab(self.__tool_prefix+topic+"/methods") else: webbrowser.open_new_tab(self.__toc_url) doc = __doc( )