def init(): new_form_fac=FormsFactory(form_parser_class=XHTMLCompatibleFormParser) new_def_fac=DefaultFactory() new_def_fac._forms_factory=new_form_fac br=Browser(factory=new_def_fac) #br.set_handle_referer(True) br.set_handle_refresh(True) #br.set_handle_equiv(True) ## HTTP Error 403: request disallowed by robots.txt br.set_handle_robots(False) br.open(login_page) ## 'Search' form is form 0 ## login form is form 1 br.select_form(nr=1) #br.form.set_all_readonly(False) #reading from my_secret.txt f = open(os.environ['PASSWD_FILE'], 'r') passwd=f.readline() f.close() br['form_loginname']='sitedbrobot' br['form_pw']=passwd.replace('\n','') br.submit() return br
## CMS Web login needs XHTMLFormParser to work. ## make a new DefaultFactory from mechanize import XHTMLCompatibleFormParser from mechanize._html import DefaultFactory,FormsFactory from mechanize import Browser import pprint import sys, re, os from SiteDB import getSiteDBSiteNames login_page='https://savannah.cern.ch/account/login.php?uri=%2F' create_site='https://savannah.cern.ch/support/admin/field_values.php?group=cmscompinfrasup&list_value=1&field=custom_sb1' #site_list='https://cmsweb.cern.ch/sitedb/reports/showReport?reportid=naming_convention.ini' new_form_fac=FormsFactory(form_parser_class=XHTMLCompatibleFormParser) new_def_fac=DefaultFactory() new_def_fac._forms_factory=new_form_fac br=Browser(factory=new_def_fac) #br.set_handle_referer(True) br.set_handle_refresh(True) #br.set_handle_equiv(True) ## HTTP Error 403: request disallowed by robots.txt br.set_handle_robots(False) #lets get a list of CMS names from SiteDB label="Getting site names from SiteDB".ljust(50,'.') sys.stdout.write(label[0:40]) sys.stdout.flush() siteNamesFromSiteDB = getSiteDBSiteNames()