def reset():
    try:
        host = sys.argv[1]
        user = sys.argv[2]
        passwd = sys.argv[3]
        additional_profiles = sys.argv[4:]
    except:
        pass
    br = Browser()
    br.mech_browser.set_handle_robots(False)
    br.open(sys.argv[1])
    base64string = base64.encodestring('%s:%s' % (user, passwd))[:-1]
    br.addHeader('Authorization', 'Basic %s' % base64string)
    br.reload()
    reloadProfiles(br, host, additional_profiles)
    resetCatalog(br, host)
def updateTranslations(ignore):
    br = Browser('http://transifex.syslab.com')
    try:
        br.getControl(name='username').value = sys.argv[1]
        if len(sys.argv) < 3:
            import getpass
            br.getControl(name='password').value = getpass.getpass()
        else:
            br.getControl(name='password').value = sys.argv[2]
    except IndexError:
        print "Usage: %s [Your Transifex username] [Your Transifex password]"
        return 1
    br.getControl('Sign in').click()
    for domain, url_tmpl in (('recensio', 'http://transifex.syslab.com/projects/p/recensio/resource/recensiopot/l/%s/download/'), ('plone', 'http://transifex.syslab.com/projects/p/recensio/resource/plonepot/l/%s/download/')):
      for lang in ('de', 'en', 'fr'):
        print "Getting %s for %s" % (domain, lang)
        br.open(url_tmpl % lang)
        file(pkg_resources.resource_filename(__name__, 'locales/%s/LC_MESSAGES/%s.po' % (lang, domain)), 'w').write(br.contents)
def followLink():
    try:
        while True:
            print 1
            url, country = link_queue.get(False, 1)
            print 2
            browser = Browser()
            print 3
            browser.open(url)
            print 4
            browser.getLink('Company Size').click()
            print 5
            browser.getLink('Sector Type').click()
            print 6, browser.url
            if not country:
                for i in range(60):
                    link_queue.put((url + '/%03i' % i, True))

    except Queue.Empty:
        pass
            browser.open(url)
            print 4
            browser.getLink('Company Size').click()
            print 5
            browser.getLink('Sector Type').click()
            print 6, browser.url
            if not country:
                for i in range(60):
                    link_queue.put((url + '/%03i' % i, True))

    except Queue.Empty:
        pass
    
if __name__ == '__main__':
    browser = Browser()
    browser.open(start_url)
    soup = BeautifulSoup(browser.contents.decode('utf-8').encode('ascii', 'replace'))
    all_links = soup.find('div', {'class' : 'surveyanswers'}).findAll('a')
    for link in all_links:
        link_queue.put((link['href'], False))

    processes = 1
    pool = Pool(processes=processes)
    for i in range(processes):
        pool.apply_async(followLink)
    performance = range(10)
    while not link_queue.empty():
        time.sleep(1)
        size = link_queue.qsize()
        performance.append(size)
        performance = performance[-10:]
 def test_form(self):
     url = 'http://osha.europa.eu/en/campaigns/hw2008/sign/index_html'
     browser = Browser()
     browser.open(url)
     self.assertTrue('Online Application Form' in browser.contents)
 def test_formSubmission(self):
     url = 'http://osha.europa.eu/scripts/signcharter?txtLanguage=en&txtOrganisation=test&txtAddress=test&txtPostalcode=test&txtCity=test&selCountry=UK&txtFirstname=test&txtLastname=test&txtFunction=&[email protected]&txtTelephone=test&txtOther=&Submit=SUBMIT'
     browser = Browser()
     browser.open(url)
     self.assertTrue('Healthy Workplaces - Good for you. Good for business.' in browser.contents)