示例#1
0
    def collect(self, industry):
        driver = browser.Browser()
        driver.yandexLogin(self.__login, self.__password)
        sn = self.getSubniches(industry)
        print('collect from', industry)
        for ID, name in sn:
            try:
                requests = driver.getRelatedRequestsFromYandex(name, count=20)
            except:
                try:
                    print('reset driver')
                    try:
                        driver.close()
                    except:
                        pass
                    driver = browser.Browser()
                    driver.yandexLogin(self.__login, self.__password)
                    requests = driver.getRelatedRequestsFromYandex(
                        name.replace(',', ''), count=200)
                except Exception as e:
                    print(e)
                    continue

            for r in requests:
                self.addRequest(r, ID)
        print(industry, 'success')
        driver.close()
示例#2
0
def main(argv=None):  # IGNORE:C0111
    '''Command line options.'''

    if argv is None:
        argv = sys.argv
    else:
        sys.argv.extend(argv)

    program_license = ''' Created by [email protected]'''

    try:
        parser = setup_argument_parser(program_license)
        args = parser.parse_args()
        urls = args.urls
        verbose = args.verbose

        if verbose > 0:
            print("Verbose mode on")

        driver = browser.Browser(args.browser,
                                 cache_enabled=(not args.nocache))

        for url in urls:
            bench = benchmarks.Benchmark(driver, url, args.num_samples)
            url_samples = bench.samples

    except KeyboardInterrupt:
        ### handle keyboard interrupt ###
        try:
            if driver:
                driver.close()
        except Exception, ex:
            pass

        return 0
示例#3
0
def main():
    browser2 = browser.Browser('C:\\Users\\CalebsComp\\Documents\\homeworkSolver\\sample\\main.html',10)
    data2 = data.DataCsv("test.csv",' ','|')
    def f():
        l = list() 
        
        prompt = browser2.find_elem('prompt')
        l.append(prompt.text)
        
        input_box = browser2.find_elem('inputBox')
        input_box.send_keys('100')
        l.append('100')
        
        input_button = browser2.find_elem('inputButton')
        input_button.click()

        answer_label = browser2.find_elem('passLabel')
        l.append(answer_label.text)

        print(l)
        data2.write_new_row(l)
        browser2.refresh_browser()
    
    browser2.process(f)
    print(data2.get_rows())
    data2.set_classifiers()
示例#4
0
def getZipCode(addr1, addr2, city, state):
    """ 
    returns (zip5, zip4)
    """

    b = browser.Browser()
    b.open(USPS_LOOKUP_ZIP_URL)
    zipform = get_form(b, lambda f: f.has(name='zip'))
    zipform.fill_address(addr1, addr2)
    zipform.fill_all(city=city, state=state)

    try:
        nextpage = b.open(zipform.click())
    except:
        print "caught an http error"
        print "Failed to submit form for url ", b.url, " error: ", traceback.print_exc(
        )
        return "Failed to submit form for url " + b.url + " error: " + traceback.format_exc(
        )

    allzips = r_zipcode.findall(b.page)
    if len(allzips) != 1:
        raise Exception('Too many zip codes found on page')
    zip5 = allzips[0][12:17]
    zip4 = allzips[0][18:]
    return (zip5, zip4)
示例#5
0
 def _createbrowser(self):
     url = os.path.join(THISPATH, "doc", "index.html")
     b = browser.Browser(self.notebook, url)
     self.browser = b
     help_icon = CreateMaskedBitmap(
         os.path.join(THISPATH, 'icons', 'help.png'), 16, 16)
     self.notebook.AddPage(b, "Help", True, help_icon)
示例#6
0
    def __init__(self, requestData):
        self._output = cStringIO.StringIO()
        self.env = requestData['environ']
        self._requestDict = requestData
        self._status = 200
        self._rawOutput = ''
        self._stdin = requestData['stdin']
        self._initURI(self.env)
        self._initArgs(requestData)
        self._initHeaders()
        self._initCookies()

        self.browser = browser.Browser(self.requestHeaders.get('User-Agent'))
        # for convenience -- possibly expand this, possibly eliminate it
        self.method = self.env['REQUEST_METHOD']

        # possibly this field, although harmless, should not be here,
        # the extraction of the port-less host should be done
        # in _processRequest -- CONSIDER ***
        fullHost = self.requestHeaders.get("Host", "")
        # get rid of port, it confuses matching by host
        colindex = fullHost.find(':')
        if colindex != -1:
            fullHost = fullHost[:colindex]
        self.host = fullHost
    def writerep(self, i):
        """Looks up the right contact page and handles any simple challenges."""
        b = browser.Browser()

        # for some forms, we just need a direct link
        # if i.dist in forms_with_frame:
        #    link = forms_with_frame[i.dist]
        # elif i.dist in other_direct_forms:
        #    link = other_direct_forms[i.dist]
        # else:

        #dist will end in XX unless we are testing
        dists = None
        if (i.dist[3:] != 'XX'):
            contact_links = [contact_congress_dict[i.dist]]
            print "contact_links list:", contact_links
        else:
            if DEBUG: print "Zip: %s" % i.zip5
            dists = self.getWyrDistricts(i.zip5)
            contact_links = [contact_congress_dict[dist] for dist in dists]
        status = ""
        for (cnt, contact_link) in enumerate(contact_links):
            if DEBUG: print "contact_link selected: ", contact_link
            q = self.writerep_general(contact_link, i)
            status = self.getStatus(q)
            if status.startswith("Thank"):
                if dists:
                    i.dist = dists[cnt]
                break
        if not status.startswith("Thank"):
            contact_link = self.getWyrContactLink(i)
            q = self.writerep_general(contact_link, i)
        return q
示例#8
0
    def __init__(self, application):
        print("1.0")
        Gtk.ApplicationWindow.__init__(self, application=application)
        self.builder = Gtk.Builder()
        self.vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)

        try:
            self.toolbox = Gtk.FlowBox()
            #self.vbox.pack_start(self.toolbox,False,True,0)
            print("1.1")
        except:
            pass

        self.navigator = navigator.NavigatorSidebar()
        self.browser = browser.Browser()

        try:
            self.hpaned = Gtk.Paned(orientation=Gtk.Orientation.HORIZONTAL)
            self.hpaned.pack1(self.navigator, False, True)
            self.hpaned.pack2(self.browser, True, False)
            self.vbox.pack_start(self.hpaned, True, True, 0)
            print("1.2")
        except:
            pass

        self.statusbar = Gtk.Statusbar()
        self.vbox.pack_start(self.statusbar, False, True, 0)
        self.set_default_size(400, 400)
        self.add(self.vbox)
        self.show_all()
示例#9
0
 def _create_browser_common(self):
     _br = browser.Browser()
     _br.set_handle_equiv(False)
     _br.addheaders = [(
         'User-agent',
         'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1'
     )]
     return _br
 def writesenator(self, senator, i):
     """Looks up the right contact page and handles any simple challenges."""
     b = browser.Browser()
     (state, link) = self.getSenatorStateAndContactLink(senator)
     if state == None:
         raise Exception("Sorry, senator " + senator + " not found")
     q = self.writerep_general(link, i)
     return q
示例#11
0
 def wrapper(*args, **kwargs):
     global s
     if not is_login():
         b = browser.Browser()
         b.loginFgis()
         s = b.copyCoockie()
         b.closeBrowser()
     res = func(*args, **kwargs)
     return res
示例#12
0
	def reload(self):
		"""
		reloads the browser window by creating a new object
		"""
		if utilities.env == 'dev':
			try:
				importlib.reload(browser)
			except:
				pass
		self.browserObj = browser.Browser(self)
示例#13
0
def auth():
    """ Opens a browser window with an authenitication invitation. """
    """ Returns a tuple of access_token and expires_in values. """
    values = {
        "client_id": "4554642",
        "scope": ",".join(permissions),
        "redirect_uri": "https://oauth.vk.com/blank.html",
        "display": "page",
        "v": "5.24",
        "response_type": "token"
    }
    brwsr = browser.Browser(oauth_url, values)
    return brwsr.data
示例#14
0
    def setup_method(self, method):
        self.current_method = method.__name__
        c = Config()
        self.config = c.prepare()
        browser_conf = self.config["browser"]
        self.browser = browser.Browser(browser_conf, self.config)
        self.driver = self.browser.driver
        self.verification_errors = []
        self.assertions = Assertions(self.driver, self.verification_errors)

        if hasattr(self.browser, "proxy"):
            self.proxy = self.browser.proxy

        self._screenshot_number = 1
 def write_reps_in_dists(self, i, dists):
     """Attempt to submit the same data to specified districts."""
     b = browser.Browser()
     contact_links = [contact_congress_dict[dist] for dist in dists]
     status = ""
     ctr = 0
     for contact_link in contact_links:
         if DEBUG: print "contact_link selected: ", contact_link
         q = self.writerep_general(contact_link, i)
         status = self.getStatus(q)
         if status.startswith("Thank"):
             break
         ctr += 1
     if ctr >= len(dists):
         ctr = 0
     return (dists[ctr], q)
示例#16
0
 def on_get(self, req, resp):
     """Handles GET requests"""
     global s
     res = "Well"
     try:
         b = browser.Browser()
         b.loginFgis()
         s = b.copyCoockie()
         b.closeBrowser()
         pass
     except Exception as o:
         print(o)
         res = o
         pass
     finally:
         resp.status = falcon.HTTP_200  # This is the default status
         resp.body = json.dumps(res, ensure_ascii=False)
         pass
示例#17
0
    def start(self):
        if self.is_WiFi():
            b = browser.Browser()
            new_sms = b.get_new_sms()

            if new_sms:
                s = sender.Sender()
                s.send(new_sms)

                b.set_read_all()

                data1 = b.get_sms()

                f = file.File()
                data2 = f.read()

                data = self.compare(data1, data2)
                f.write(data)
示例#18
0
def transfer(username, password, amount):
    with browser.Browser(implicit_wait=30) as b:
        b.get(URL)
        b.find_element_by_id('loginControl_UserName').send_keys(username)
        b.find_element_by_id('loginControl_Password').send_keys(password)

        b.find_element_by_id('loginControl_LoginButton').click()

        move_money = b.find_element_by_id('x:1096785038.11:adr:2')
        hover = ActionChains(b).move_to_element(move_money)
        hover.perform()

        b.find_element_by_id('x:1096785038.13:adr:2.1').click()

        # b.get(TRANSFER_URL)
        b.find_element_by_name('amount').send_keys(amount)
        b.find_element_by_css_selector('.btn[value="Submit"]').click()

        print(b.find_element_by_tag_name('p').get_attribute('innerHTML'))
 def getWyrContactLink(self, i):
     """
     Use the Find Your Rep web site to look up the rep contact link
     """
     b = browser.Browser()
     b.open('http://www.house.gov/htbin/findrep?ADDRLK')
     f = get_form(b, lambda f: f.find_control_by_id('state'))
     f.fill_address(i.addr1, i.addr2)
     f.fill_all(city=i.city, state=i.state.upper())
     nextpage = b.open(f.click())
     soup = BeautifulSoup(nextpage)
     imageTags = soup.findAll("img", attrs={'alt': 'Go to contact form'})
     if len(imageTags) > 0:
         fullEmailLink = imageTags[0].parent
     else:
         raise Exception(
             "Could not find contact email at find your rep page")
     print "Contact link:", fullEmailLink
     contactUrl = fullEmailLink['href']
     return contactUrl
示例#20
0
    def getStatHistory(self, industry):
        driver = browser.Browser()
        driver.yandexLogin(self.__login, self.__password)
        subniches = self.getSubniches(industry)
        for ID, sn in subniches:
            rqs = self.getRequests(ID)
            #print(rqs)
            sn_history = {}
            for i, r in enumerate(rqs):
                history = driver.getStatHistory(r)
                if i == 0:
                    sn_history = history
                else:
                    for k, v in history.items():
                        sn_history[k]['absolute'] += history[k]['absolute']

            for k, v in sn_history.items():
                today = datetime.today().strftime('%Y-%m-%d')
                self.__cursor.execute(
                    'INSERT INTO requests_history(section, period, requests_count, status, update_date) VALUES("%s", "%s", "%s", 0, "%s");'
                    % (sn, k, v['absolute'], today))
            self.__dbase.commit()
示例#21
0
def print_keys():
    for key in cf.__dict__.keys():
        print(cf.__dict__.get(key).keys())
        if 'grid' in cf.__dict__.get(key).items():
            print('grid in cf')


if 'screenshots' in cf['sframe']:
    if cf['sframe']['screenshots']:
        print("has screenshots option")

print(cf)

default_browser = cf["browser"]
print(default_browser)
browser = browser.Browser(default_browser, cf)
driver = browser.driver
verification_errors = []
assertions = Assertions(driver, verification_errors)

print('browser is dict')
print(dir(browser))

if hasattr(browser, 'config'):
    print('has attr config')

if hasattr(browser, 'proxy'):
    print('browser hasattr proxy')
    proxy = browser.proxy
    print('closing proxy')
    proxy.close()
示例#22
0
def main():
    search=search_input()
    time.sleep(1)
    browser.Browser(str(search))
示例#23
0
文件: window.py 项目: yux1991/PyRHEED
    def __init__(self, config):

        super(Window, self).__init__()
        self.currentPath = ''
        self._mode = "pan"
        self.photoList = []
        self.pathList = []
        self.tabClosed = False
        self.config = config
        self.image_worker = Image()

        #Defaults
        self.windowDefault = dict(self.config['windowDefault'].items())
        self.propertiesDefault = dict(self.config['propertiesDefault'].items())
        self.canvasDefault = dict(self.config['canvasDefault'].items())
        self.chartDefault = dict(self.config['chartDefault'].items())
        self.HS = int(self.windowDefault['hs'])
        self.VS = int(self.windowDefault['vs'])
        self.energy = int(self.windowDefault['energy'])
        self.azimuth = int(self.windowDefault['azimuth'])
        self.scaleBarLength = int(self.windowDefault['scalebarlength'])
        self.chiRange = int(self.windowDefault['chirange'])
        self.width = float(self.windowDefault['width'])
        self.widthSliderScale = int(self.windowDefault['widthsliderscale'])
        self.radius = int(self.windowDefault['radius'])
        self.radiusMaximum = int(self.windowDefault['radiusmaximum'])
        self.radiusSliderScale = int(self.windowDefault['radiussliderscale'])
        self.tiltAngle = int(self.windowDefault['tiltangle'])
        self.tiltAngleSliderScale = int(
            self.windowDefault['tiltanglesliderscale'])

        #Menu bar
        self.menu = QtWidgets.QMenuBar()
        self.menuFile = self.menu.addMenu("File")
        self.menuPreference = self.menu.addMenu("Preference")
        self.menu2DMap = self.menu.addMenu("Mapping")
        self.menuFit = self.menu.addMenu("Fit")
        self.menuSimulation = self.menu.addMenu("Simulation")
        self.menuRun = self.menu.addMenu("Run")
        self.menuHelp = self.menu.addMenu("Help")
        self.setMenuBar(self.menu)

        #File Menu
        self.openFile = self.menuFile.addAction("Open", self.manu_actions_open)
        self.export = self.menuFile.addMenu("Export")
        self.saveCanvasAsImage = self.export.addAction(
            "RHEED pattern as Image", self.menu_actions_save_as_image)
        self.saveProfileAsText = self.export.addAction(
            "Line profile as text", self.menu_actions_save_as_text)
        self.saveProfileAsImage = self.export.addAction(
            "Line profile as image", self.menu_actions_save_profile_as_image)
        self.saveProfileAsSVG = self.export.addAction(
            "Line profile as SVG", self.menu_actions_save_as_svg)

        #Preference Menu
        self.defaultSettings = self.menuPreference.addAction("Default Settings",\
                                    self.menu_actions_preferences_default_settings)

        #2D Map Menu
        self.Two_Dimensional_Mapping = self.menu2DMap.addAction("Configuration", \
                                            self.menu_actions_two_dimensional_mapping)

        self.Three_Dimensional_Graph = self.menu2DMap.addAction("3D Surface", \
                                        self.menu_actions_three_dimensional_graph)

        #Fit Menu
        self.Fit_Broadening = self.menuFit.addAction(
            "Broadening", self.menu_actions_broadening)
        self.Fit_ManualFit = self.menuFit.addAction(
            "Manual Fit", self.menu_actions_show_manual_fit)
        self.Fit_Report = self.menuFit.addAction(
            "Generate Report", self.menu_actions_generate_report)
        self.gmm = self.menuFit.addAction("Gaussian Mixture Modeling",
                                          self.menu_actions_gmm)

        #Simulation Menu
        self.Statistical_Factor = self.menuSimulation.addAction(
            "Statistical Factor", self.menu_actions_statistical_factor)
        self.Diffraction_pattern = self.menuSimulation.addAction(
            "Diffraction Pattern", self.menu_actions_diffraction_pattern)
        self.Kikuchi_pattern = self.menuSimulation.addAction(
            "Kikuchi Pattern", self.menu_actions_kikuchi_pattern)

        #Run Menu
        self.run_scenario = self.menuRun.addAction(
            "Run Scenario", self.menu_action_run_scenario)

        #Help Menu
        self.about = self.menuHelp.addAction("About", self.menu_actions_about)

        #Center Widget
        self.image_crop = [
            1200 + self.VS, 2650 + self.VS, 500 + self.HS, 3100 + self.HS
        ]

        self.mainSplitter = QtWidgets.QSplitter(QtCore.Qt.Horizontal)
        self.mainTab = QtWidgets.QTabWidget()
        self.mainTab.setContentsMargins(0, 0, 0, 0)
        self.mainTab.setTabsClosable(True)
        self.controlPanelFrame = QtWidgets.QWidget(self)
        self.controlPanelGrid = QtWidgets.QGridLayout(self.controlPanelFrame)
        self.controlPanelGrid.setContentsMargins(0, 0, 0, 0)
        self.controlPanelSplitter = QtWidgets.QSplitter(QtCore.Qt.Vertical)
        supportedFormats =    {'*.3fr','*.ari','*.arw','*.srf', '*.sr2','*.bay','*.cri','*.crw', '*.cr2',     '*.cr3', '*.cap','*.iiq','*.eip',\
                               '*.dcs','*.dcr','*.drf','*.k25', '*.kdc','*.dng','*.erf','*.fff', '*.mef',     '*.mdc', '*.mos','*.mrw','*.nef',\
                               '*.nrw','*.orf','*.pef','*.ptx', '*.pxn','*.r3d','*.raf','*.raw', '*.rw2',     '*.rwl', '*.rwz','*.srw','*.x3f',\
                               '*.3FR','*.ARI','*.ARW','*.SRF', '*.SR2','*.BAY','*.CRI','*.CRW', '*.CR2',     '*.CR3', '*.CAP','*.IIQ','*.EIP',\
                               '*.DCS','*.DCR','*.DRF','*.K25', '*.KDC','*.DNG','*.ERF','*.FFF', '*.MEF',     '*.MDC', '*.MOS','*.MRW','*.NEF',\
                               '*.NRW','*.ORF','*.PEF','*.PTX', '*.PXN','*.R3D','*.RAF','*.RAW', '*.RW2',     '*.RWL', '*.RWZ','*.SRW','*.X3F',\
                               '*.bmp','*.eps','*.gif','*.icns','*.ico','*.im', '*.jpg','*.jpeg','*.jpeg2000','*.msp', '*.pcx','*.png','*.ppm',\
                               '*.sgi','*.tiff','*.tif','*.xbm','*.BMP','*.EPS','*.GIF','*.ICNS','*.ICO',     '*.IM',  '*.JPG','*.JPEG','*.JPEG2000',\
                               '*.MSP','*.PCX','*.PNG','*.PPM','*.SGI','*.TIFF','*.TIF','*.XBM'}

        self.browser_widget = browser.Browser(self, supportedFormats)
        self.controlPanelBottomWidget = QtWidgets.QWidget()
        self.controlPanelBottomGrid = QtWidgets.QGridLayout(
            self.controlPanelBottomWidget)
        self.controlPanelBottomGrid.setContentsMargins(0, 0, 2, 0)
        self.properties_widget = properties.Properties(self, self.config)
        self.cursorInfo = cursor.Cursor(self)
        self.profile = profile_chart.ProfileChart(self.config)
        self.controlPanelBottomGrid.addWidget(self.properties_widget, 0, 0)
        self.controlPanelBottomGrid.addWidget(self.cursorInfo, 1, 0)
        self.controlPanelBottomGrid.addWidget(self.profile, 2, 0)
        self.controlPanelSplitter.addWidget(self.browser_widget)
        self.controlPanelSplitter.addWidget(self.controlPanelBottomWidget)

        self.controlPanelSplitter.setSizes([100, 500])
        self.controlPanelSplitter.setStretchFactor(0, 1)
        self.controlPanelSplitter.setStretchFactor(1, 1)
        self.controlPanelSplitter.setCollapsible(0, False)
        self.controlPanelSplitter.setCollapsible(1, False)
        self.controlPanelGrid.addWidget(self.controlPanelSplitter, 0, 0)

        self.mainSplitter.addWidget(self.mainTab)
        self.mainSplitter.addWidget(self.controlPanelFrame)
        self.mainSplitter.setSizes([800, 400])
        self.mainSplitter.setStretchFactor(0, 1)
        self.mainSplitter.setStretchFactor(1, 1)
        self.mainSplitter.setCollapsible(0, False)
        self.mainSplitter.setCollapsible(1, False)

        #Tool bar
        self.toolBar = QtWidgets.QToolBar(self)
        self.toolBar.setFloatable(False)
        self.toolBar.setMovable(False)
        self.open = QtWidgets.QAction(QtGui.QIcon("./icons/open.svg"), "open",
                                      self)
        self.saveAs = QtWidgets.QAction(QtGui.QIcon("./icons/save as.svg"),
                                        "save as", self)
        self.zoomIn = QtWidgets.QAction(QtGui.QIcon("./icons/zoom in.svg"),
                                        "zoom in (Ctrl + Plus)", self)
        self.zoomIn.setShortcut(QtGui.QKeySequence.ZoomIn)
        self.zoomOut = QtWidgets.QAction(QtGui.QIcon("./icons/zoom out.svg"),
                                         "zoom out (Ctrl + Minus)", self)
        self.zoomOut.setShortcut(QtGui.QKeySequence.ZoomOut)
        self.fitCanvas = QtWidgets.QAction(QtGui.QIcon("./icons/fit.svg"),
                                           "fit in view", self)
        self.line = QtWidgets.QAction(QtGui.QIcon("./icons/line.svg"), "line",
                                      self)
        self.line.setCheckable(True)
        self.rectangle = QtWidgets.QAction(
            QtGui.QIcon("./icons/rectangle.svg"), "rectangle", self)
        self.rectangle.setCheckable(True)
        self.arc = QtWidgets.QAction(QtGui.QIcon("./icons/arc.svg"), "arc",
                                     self)
        self.arc.setCheckable(True)
        self.pan = QtWidgets.QAction(QtGui.QIcon("./icons/move.svg"), "pan",
                                     self)
        self.pan.setCheckable(True)
        self.buttonModeGroup = QtWidgets.QActionGroup(self.toolBar)
        self.buttonModeGroup.addAction(self.line)
        self.buttonModeGroup.addAction(self.rectangle)
        self.buttonModeGroup.addAction(self.arc)
        self.buttonModeGroup.addAction(self.pan)
        self.toolBar.addAction(self.open)
        self.toolBar.addAction(self.saveAs)
        self.toolBar.addSeparator()
        self.toolBar.addAction(self.line)
        self.toolBar.addAction(self.rectangle)
        self.toolBar.addAction(self.arc)
        self.toolBar.addAction(self.pan)
        self.toolBar.addSeparator()
        self.toolBar.addAction(self.zoomIn)
        self.toolBar.addAction(self.zoomOut)
        self.toolBar.addAction(self.fitCanvas)
        self.addToolBar(self.toolBar)

        #Status bar
        self.statusBar = QtWidgets.QStatusBar(self)
        self.messageLoadingImage = QtWidgets.QLabel("Processing ... ", self)
        self.messageLoadingImage.setVisible(False)
        self.progressBar = QtWidgets.QProgressBar(self)
        self.progressBar.setMaximumHeight(12)
        self.progressBar.setVisible(False)
        self.progressBar.setOrientation(QtCore.Qt.Horizontal)
        self.progressBarSizePolicy = self.progressBar.sizePolicy()
        self.progressBarSizePolicy.setRetainSizeWhenHidden(True)
        self.progressBarSizePolicy.setHorizontalPolicy(
            QtWidgets.QSizePolicy.Expanding)
        self.progressBar.setSizePolicy(self.progressBarSizePolicy)
        self.editPixInfo = QtWidgets.QLabel(self)
        self.editPixInfo.setAlignment(QtCore.Qt.AlignRight)
        self.editPixInfo.setMinimumWidth(150)
        self.statusBar.addWidget(self.messageLoadingImage)
        self.statusBar.insertPermanentWidget(1, self.progressBar)
        self.statusBar.addPermanentWidget(self.editPixInfo)
        self.setStatusBar(self.statusBar)

        #Main Window Settings
        self.setCentralWidget(self.mainSplitter)
        self.mainSplitter.setContentsMargins(2, 2, 0, 0)
        self.setWindowTitle("PyRHEED")

        #Main Tab Connections
        self.mainTab.currentChanged.connect(self.switch_tab)
        self.mainTab.tabCloseRequested.connect(self.close_tab)

        #Toolbar Connections
        self.open.triggered.connect(
            lambda path: self.open_image(path=self.get_img_path()))
        self.line.triggered.connect(
            lambda cursormode: self.toggle_canvas_mode(cursormode="line"))
        self.rectangle.triggered.connect(
            lambda cursormode: self.toggle_canvas_mode(cursormode="rectangle"))
        self.arc.triggered.connect(
            lambda cursormode: self.toggle_canvas_mode(cursormode="arc"))
        self.pan.triggered.connect(
            lambda cursormode: self.toggle_canvas_mode(cursormode="pan"))

        #Progress Bar Connections
        self.PROGRESS_ADVANCE.connect(self.progress)
        self.PROGRESS_END.connect(self.progress_reset)

        #Browser Connections
        self.FILE_OPENED.connect(self.browser_widget.tree_update)
        self.IMG_CREATED.connect(self.profile.set_img)
        self.browser_widget.FILE_DOUBLE_CLICKED.connect(self.open_image)

        #Parameters Page Connections
        self.properties_widget.sensitivityEdit.textChanged.connect(
            self.check_sensitivity)
        self.properties_widget.energyEdit.textChanged.connect(
            self.change_energy)
        self.properties_widget.azimuthEdit.textChanged.connect(
            self.change_azimuth)
        self.properties_widget.scaleBarEdit.textChanged.connect(
            self.change_scale_bar)
        self.properties_widget.labelButton.clicked.connect(self.label_image)
        self.properties_widget.calibrateButton.clicked.connect(
            self.calibrate_image)

        #Image Adjust Page Connections
        self.properties_widget.brightnessSlider.valueChanged.connect(
            self.change_brightness)
        self.properties_widget.blackLevelSlider.valueChanged.connect(
            self.change_black_level)
        self.properties_widget.autoWBCheckBox.stateChanged.connect(
            self.change_auto_WB)
        self.properties_widget.applyButton2.clicked.connect(
            self.apply_image_adjusts)
        self.properties_widget.resetButton2.clicked.connect(
            self.reset_image_adjusts)

        #Profile Options Page Connections
        self.properties_widget.integralHalfWidthSlider.valueChanged.connect(
            self.change_width)
        self.properties_widget.chiRangeSlider.valueChanged.connect(
            self.change_chi_range)
        self.properties_widget.radiusSlider.valueChanged.connect(
            self.change_radius)
        self.properties_widget.tiltAngleSlider.valueChanged.connect(
            self.change_tilt_angle)
        self.properties_widget.applyButton3.clicked.connect(
            self.apply_profile_options)
        self.properties_widget.resetButton3.clicked.connect(
            self.reset_profile_options)

        #Appearance Page Connections
        self.profile.set_fonts(
            self.properties_widget.fontList.currentFont().family(),
            self.properties_widget.chartFontSizeSlider.value())
        self.properties_widget.CHART_FONTS_CHANGED.connect(
            self.profile.adjust_fonts)

        #Cursor Information Connections
        self.cursorInfo.choosedXYEdit.textChanged.connect(self.edit_choosed_XY)
        self.cursorInfo.startXYEdit.textChanged.connect(self.edit_start_XY)
        self.cursorInfo.endXYEdit.textChanged.connect(self.edit_end_XY)
        self.cursorInfo.widthEdit.textEdited.connect(self.edit_width)

        #Profile Canvas Connections
        self.SCALE_FACTOR_CHANGED.connect(self.profile.set_scale_factor)
        self.profile.CHART_MOUSE_MOVEMENT.connect(self.photo_mouse_movement)

        #Refresh Connections
        self.PROPERTIES_REFRESH.connect(self.properties_widget.refresh)
        self.CHART_REFRESH.connect(self.profile.refresh)

        self.get_scale_factor()
        self.WINDOW_INITIALIZED.emit()
示例#24
0
	def __init__(self, master: wx.Notebook):
		super().__init__(
			parent=master,
			size=master.GetSize()
		)
		self.browserObj = browser.Browser(self)
示例#25
0
import browser

browser.Browser('https://www.instagram.com')
示例#26
0
import browser

browser.Browser(
    "https://www.amazon.com/b?node=18637575011&pf_rd_p=76ace27d-03a4-4d19-9d26-f28f8773a65e&pf_rd_r=A3FWRTYVV7TWFFW6PMGZ"
)
    def writerep_general(self, contact_link, i):
        """ General function for filling in any form with signer data.
        Works for the house's WYR form or just directly on any contact page.
        Loops through 5 times attempting to fill in form details and clicking.
        Stops either when 5 loops is complete, or has achieved success, or known failure
        Returns the last successful page
        """
        def get_challenge():
            ''' find captchas'''
            labels = b.find_nodes('label',
                                  lambda x: x.get('for') == 'HIP_response')
            if labels: return labels[0].string

        def fill_inhofe_lgraham(f):
            """special function to fill in forms for inhofe and lgraham"""
            if DEBUG: print "Filling special inhofe or lgraham form"
            f.fill_all(A01=i.prefix,
                       B01=i.fname,
                       C01=i.lname,
                       D01=i.addr1,
                       E01=i.addr2,
                       F01=i.city,
                       G01=i.state,
                       H01=i.zip5,
                       H02=i.phone,
                       H03=i.phone,
                       I01=i.email,
                       J01="Communications",
                       K01=i.full_msg)
            f.fill(type='textarea', value=i.full_msg)
            if DEBUG: print "f filled and ready to submit: ", f

        def fill_form(f):
            ''' f is a form '''

            if DEBUG: print "in fill_form, filling name"
            f.fill_name(i.prefix, i.fname, i.lname)
            if DEBUG: print "in fill_form, filling addr"
            f.fill_address(i.addr1, i.addr2)
            if DEBUG: print "in fill_form, filling phone"
            f.fill_phone(i.phone)
            if DEBUG: print "in fill_form, filling textarea"
            textareacontrol = f.fill(type='textarea', value=i.full_msg)
            if DEBUG: print 'filled textareacontrol', textareacontrol
            if DEBUG: print "in fill_form, filling all"

            if DEBUG: print "Printing all controls"
            for c in f.controls:
                if DEBUG: print "control: ", c.name, " type: ", c.type

            f.fill_all(
                city=i.city,
                zipcode=i.zip5,
                zip4=i.zip4,
                state=i.state.upper(),
                email=i.email,
                issue=['TECH', 'GEN', 'OTH'],
                subject=i.subject,
                reply='yes',
                Re='issue',  #for billnelson
                newsletter='noAction',
                aff1='Unsubscribe',
                MessageType="Express an opinion or share your views with me")

            # fill in all empty radio controls
            empty_controls = [
                c for c in f.controls if c.type == "radio" and not c.value
            ]
            for c in empty_controls:
                if DEBUG: print "empty ", c
                try:
                    f.fill('OTH', control=c)
                except:
                    if DEBUG: print "Failed to fill control %s" % c.name

            # Solve captchas.  I included this here because it was placed here by Aaron,
            # but I haven't found a captcha that it works on. -NKF
            #challenge = get_challenge()
            #if challenge:
            #    print "Found challenge!"
            #    try:
            #        solution = captchasolver.solve(challenge)
            #    except Exception, detail:
            #        print >> sys.stderr, 'Exception in CaptchaSolve', detail
            #        print >> sys.stderr, 'Could not solve:"%s"' % challenge,

            if DEBUG: print "f filled and ready to submit to ", b.url, "\n", f

        b = browser.Browser()
        if DEBUG:
            print "In writerep_general, opening contact_link", contact_link
        b.open(contact_link)

        # max loops
        k = 6

        # needed this from some weird error that I forgot to document.
        # we only want to do the WYR form once,
        # so it's a flag so we don't choose this one again.
        completedWyrForm = False

        for cnt in range(1, k):

            if DEBUG:
                print "Loop ", cnt, ":\n", b.url, "\n"  #, b.page, "\n Done with page ", cnt, "\n\n"

            # check if this is a refresh page
            # to do: see if we can get javascript window.location refreshes
            # (would require some smart parsing or using a javascript interpreter module)
            if 'http-equiv="refresh"' in b.page:
                if DEBUG: print "Redirect to a new page:"
                r_refresh = re.compile('[Uu][Rr][Ll]=([^"]+)')
                newurl = r_refresh.findall(b.page)[0]
                newurl = newurl.replace(' ', '%20')
                newurl = newurl.replace('&', '&')
                if DEBUG: print "\nNewurl:", newurl
                try:
                    b.open(newurl)
                    continue  #next loop
                except:
                    print "Failed to open url ", newurl, " error: ", traceback.print_exc(
                    )

            # some pages have multiple forms on them.
            # For example, there may be a search tool in the sidebar.
            # or there may be forms which are hidden by not displayed by the css.
            # try to see what we can grab out the page, then we'll decide which one's the best to try

            textareaform = get_form(
                b, lambda f: f.find_control_by_type('textarea'))
            zipform = get_form(b, lambda f: f.has(name='zip'))
            verificationform = get_form(b, lambda f: 'formproc' in f.action)
            nameform = get_form(
                b, lambda f: 'wrep_const' in f.action
            )  #see AL-06 for an example,  has zip form in page too
            wyrform = get_form(
                b, lambda f: f.find_control_by_id('state') and f.
                find_control_by_name('zip') and f.find_control_by_name('zip4'))
            indexform = get_form(
                b, lambda f: f.has(name='Re'))  # see billnelson for example

            # choose which form we want to use
            form = None
            if textareaform:
                if DEBUG: print "textareaform"
                form = textareaform
            elif wyrform and not completedWyrForm:
                if DEBUG: print "wyrform"
                form = wyrform
                completedWyrForm = True
            elif nameform:
                if DEBUG: print "step2 contact form with name"
                form = nameform
            elif zipform:
                if DEBUG: print "zipform"
                form = zipform
            elif verificationform:
                if DEBUG: print "verification form"
                form = verificationform
            elif indexform:
                if DEBUG: print "index form"
                form = indexform

            # if no redirect and no form was found, just return.  can go no further
            if not form:
                if DEBUG: print "no form found"
                return b.page

            # look for captcha
            if form.find_control_by_name(
                    'captcha') or form.find_control_by_name('validation'):
                if DEBUG: print "captcha found"
                # raise Captcha
                return b.page
            else:
                if DEBUG: print "no captcha found"

            if DEBUG:
                print "going to fill_form from ", b.url, " now \n", form, "\n End form", cnt, "\n"
            if "inhofe" in contact_link or "lgraham" in contact_link:
                fill_inhofe_lgraham(form)
            else:
                fill_form(form)

            try:
                if DEBUG: print "trying the next page"
                nextpage = b.open(form.click())

            except urllib2.HTTPError, error:
                print >> sys.stderr, "caught a urllib2 http error"
                print >> sys.stderr, "Failed to submit form for url ", b.url, " error: ", traceback.print_exc(
                )
                return "Failed to submit form for url " + b.url + " error: " + traceback.format_exc(
                )
            except:
示例#28
0
import ocr 
import browser
import time

import numpy as np 

from settings import BOUNDS 

if __name__ == "__main__":
    b = browser.Browser()
    b.goToMap()

    oldPos = np.zeros(3)
    newPos = np.zeros(3)

    ads_removed = False
    cookies_msg_removed = False 

    # Check every second for a new position 
    while True:
        time.sleep(1.5)

        # # Try to remove the ads if they haven't been yet
        # if not ads_removed:
        #     ads_removed = b.tryRemoveAds()
        # # Try to remove the cookie msg if it hasn't yet 
        # if not cookies_msg_removed:
        #     cookies_msg_removed = b.tryRemoveCookiesMsg()

        img_data = ocr.get_image(BOUNDS)
示例#29
0
import browser

link = input("Lütfen ürün linkini giriniz \n\t>")
count = int(input("Kaç kere fiyat kontrol edilecek? \n\t>"))
time = int(input("Her kontrol arasında kaç saniye beklenecek? \n\t>"))
browser = browser.Browser(time=time, count=count, link=link)
示例#30
0
    def __init__(self):
        super(Window, self).__init__()
        self.image_worker = process.Image()
        self.image_crop = [800, 1800, 1650, 2650]
        self.current_status = {}
        self.canvas_config = configparser.ConfigParser()
        self.canvas_config.read('./configuration.ini')
        self.mainSplitter = QtWidgets.QSplitter(QtCore.Qt.Vertical)
        self.topSplitter = QtWidgets.QSplitter(QtCore.Qt.Horizontal)
        self.canvasFrame = QtWidgets.QWidget()
        self.canvasFrameGrid = QtWidgets.QHBoxLayout(self.canvasFrame)
        self.canvas = canvas.Canvas(self, self.canvas_config)
        self.digital_tile = digital_tile.DigTile(self)
        self.controlPanel = QtWidgets.QWidget(self)
        self.controlPanelGrid = QtWidgets.QGridLayout(self.controlPanel)
        self.supportedFormates = {'*.3fr','*.ari','*.arw','*.srf', '*.sr2','*.bay','*.cri','*.crw', '*.cr2',     '*.cr3', '*.cap','*.iiq','*.eip',\
                                     '*.dcs','*.dcr','*.drf','*.k25', '*.kdc','*.dng','*.erf','*.fff', '*.mef',     '*.mdc', '*.mos','*.mrw','*.nef',\
                                     '*.nrw','*.orf','*.pef','*.ptx', '*.pxn','*.r3d','*.raf','*.raw', '*.rw2',     '*.rwl', '*.rwz','*.srw','*.x3f',\
                                     '*.3FR','*.ARI','*.ARW','*.SRF', '*.SR2','*.BAY','*.CRI','*.CRW', '*.CR2',     '*.CR3', '*.CAP','*.IIQ','*.EIP',\
                                     '*.DCS','*.DCR','*.DRF','*.K25', '*.KDC','*.DNG','*.ERF','*.FFF', '*.MEF',     '*.MDC', '*.MOS','*.MRW','*.NEF',\
                                     '*.NRW','*.ORF','*.PEF','*.PTX', '*.PXN','*.R3D','*.RAF','*.RAW', '*.RW2',     '*.RWL', '*.RWZ','*.SRW','*.X3F',\
                                     '*.bmp','*.eps','*.gif','*.icns','*.ico','*.im', '*.jpg','*.jpeg','*.jpeg2000','*.msp', '*.pcx','*.png','*.ppm',\
                                     '*.sgi','*.tiff','*.tif','*.xbm','*.BMP','*.EPS','*.GIF','*.ICNS','*.ICO',     '*.IM',  '*.JPG','*.JPEG','*.JPEG2000',\
                                     '*.MSP','*.PCX','*.PNG','*.PPM','*.SGI','*.TIFF','*.TIF','*.XBM'}

        self.open_label = QtWidgets.QLabel('Choose image file:\n')
        self.open_label.setMaximumHeight(100)
        self.open_button = QtWidgets.QPushButton('Browse...')
        self.open_button.clicked.connect(self.browse_image)
        self.browser_widget = browser.Browser(self, self.supportedFormates)
        self.IMAGE_CHOSEN.connect(self.browser_widget.tree_update)
        self.browser_widget.FILE_DOUBLE_CLICKED.connect(self.open_image)
        self.browser_widget.setMaximumHeight(400)

        self.nbs_label = QtWidgets.QLabel('Number of scales:')
        self.nba_label = QtWidgets.QLabel('Number of angles:')
        self.ac_label = QtWidgets.QLabel('Use curvet at the coarest scale?')
        self.nbs = QtWidgets.QComboBox()
        for s in range(3, 20):
            self.nbs.addItem(str(s))
        self.nbs.setCurrentText('5')
        self.nbs.currentTextChanged.connect(self.nbs_changed)
        self.nba = QtWidgets.QComboBox()
        for a in [8, 16, 32, 64]:
            self.nba.addItem(str(a))
        self.nba.currentTextChanged.connect(self.nba_changed)
        self.ac = QtWidgets.QCheckBox()
        self.ac.setChecked(True)
        self.ac.stateChanged.connect(self.ac_changed)
        self.wedge_index_label = QtWidgets.QLabel('Current wedge index:')

        self.threshold_label = QtWidgets.QLabel('Threshold ({})'.format(30))
        self.threshold_slider = QtWidgets.QSlider(QtCore.Qt.Horizontal)
        self.threshold_slider.setMinimum(0)
        self.threshold_slider.setMaximum(255)
        self.threshold_slider.setValue(30)
        self.threshold_slider.valueChanged.connect(self.threshold_changed)

        self.cursor_selections_label = QtWidgets.QLabel(
            'Cursor selection rule:')
        self.cursor_selections = QtWidgets.QComboBox()
        self.cursor_selections.addItem('cell')
        self.cursor_selections.addItem('level')
        self.cursor_selections.currentTextChanged.connect(
            self.digital_tile.set_cursor_selection_rule)
        self.click_functions_label = QtWidgets.QLabel('Click function:')
        self.click_functions = QtWidgets.QComboBox()
        self.click_functions.addItem('select')
        self.click_functions.addItem('show')
        self.click_functions.currentTextChanged.connect(
            self.digital_tile.set_click_function_rule)
        self.previous_difference_scale_factor = 10
        self.difference_scale_factor_label = QtWidgets.QLabel(
            'Difference gain ({})'.format(
                self.previous_difference_scale_factor))
        self.difference_scale_factor_slider = QtWidgets.QSlider(
            QtCore.Qt.Horizontal)
        self.difference_scale_factor_slider.setMinimum(1)
        self.difference_scale_factor_slider.setMaximum(100)
        self.difference_scale_factor_slider.setValue(
            self.previous_difference_scale_factor)
        self.difference_scale_factor_slider.valueChanged.connect(
            self.difference_scale_factor_changed)

        self.button_group = QtWidgets.QGroupBox()
        self.button_group_grid = QtWidgets.QVBoxLayout(self.button_group)
        self.show_selected_cells_button = QtWidgets.QPushButton(
            "Show Selected Cells")
        self.show_selected_cells_button.clicked.connect(
            self.show_selected_cells)
        self.show_selected_cells_button.setEnabled(False)
        self.close_all_button = QtWidgets.QPushButton("Close All")
        self.close_all_button.setEnabled(False)
        self.close_all_button.clicked.connect(self.clear_all)
        self.load_curvelet_button = QtWidgets.QPushButton(
            "Load Curvelet Digital Tile")
        self.load_curvelet_button.clicked.connect(self.load_curvelet_transform)
        self.load_curvelet_button.setEnabled(False)
        self.show_modified_image_button = QtWidgets.QPushButton("Show Results")
        self.show_modified_image_button.clicked.connect(self.show_modified)
        self.show_modified_image_button.setEnabled(False)
        self.apply_threshold_button = QtWidgets.QPushButton(
            'Apply Threshold Denoise')
        self.apply_threshold_button.clicked.connect(self.threshold_denoise)
        self.apply_threshold_button.setEnabled(False)
        self.button_group_grid.addWidget(self.show_selected_cells_button)
        self.button_group_grid.addWidget(self.close_all_button)
        self.button_group_grid.addWidget(self.load_curvelet_button)
        self.button_group_grid.addWidget(self.show_modified_image_button)
        self.button_group_grid.addWidget(self.apply_threshold_button)
        self.button_group_grid.setAlignment(QtCore.Qt.AlignTop)

        self.controlPanelGrid.setAlignment(QtCore.Qt.AlignTop)
        self.controlPanelGrid.addWidget(self.open_label, 0, 0, 1, 6)
        self.controlPanelGrid.addWidget(self.open_button, 1, 0, 1, 6)
        self.controlPanelGrid.addWidget(self.browser_widget, 2, 0, 1, 6)
        self.controlPanelGrid.addWidget(self.nbs_label, 10, 0, 1, 2)
        self.controlPanelGrid.addWidget(self.nbs, 10, 2, 1, 4)
        self.controlPanelGrid.addWidget(self.nba_label, 11, 0, 1, 2)
        self.controlPanelGrid.addWidget(self.nba, 11, 2, 1, 4)
        self.controlPanelGrid.addWidget(self.ac_label, 12, 0, 1, 2)
        self.controlPanelGrid.addWidget(self.ac, 12, 2, 1, 4)
        self.controlPanelGrid.addWidget(self.threshold_label, 13, 0, 1, 2)
        self.controlPanelGrid.addWidget(self.threshold_slider, 13, 2, 1, 4)
        self.controlPanelGrid.addWidget(self.difference_scale_factor_label, 14,
                                        0, 1, 2)
        self.controlPanelGrid.addWidget(self.difference_scale_factor_slider,
                                        14, 2, 1, 4)
        self.controlPanelGrid.addWidget(self.cursor_selections_label, 20, 0, 1,
                                        2)
        self.controlPanelGrid.addWidget(self.cursor_selections, 20, 2, 1, 4)
        self.controlPanelGrid.addWidget(self.click_functions_label, 21, 0, 1,
                                        2)
        self.controlPanelGrid.addWidget(self.click_functions, 21, 2, 1, 4)
        self.controlPanelGrid.addWidget(self.wedge_index_label, 22, 0, 1, 6)
        self.controlPanelGrid.addWidget(self.digital_tile, 30, 0, 1, 5)
        self.controlPanelGrid.addWidget(self.button_group, 30, 5, 1, 1)

        self.statusBar = QtWidgets.QGroupBox("Log")
        self.statusBar.setStyleSheet('QGroupBox::title {color:blue;}')
        self.statusGrid = QtWidgets.QGridLayout(self.statusBar)
        self.progressBar = QtWidgets.QProgressBar()
        self.progressBar.setVisible(False)
        self.progressBar.setOrientation(QtCore.Qt.Horizontal)
        self.progressBarSizePolicy = self.progressBar.sizePolicy()
        self.progressBarSizePolicy.setRetainSizeWhenHidden(True)
        self.progressBarSizePolicy.setHorizontalPolicy(
            QtWidgets.QSizePolicy.Expanding)
        self.progressBar.setSizePolicy(self.progressBarSizePolicy)
        self.logBox = QtWidgets.QTextEdit(QtCore.QTime.currentTime().toString("hh:mm:ss")+\
                                    "\u00A0\u00A0\u00A0\u00A0Initialized!")
        self.logCursor = QtGui.QTextCursor(self.logBox.document())
        self.logCursor.movePosition(QtGui.QTextCursor.End)
        self.logBox.setTextCursor(self.logCursor)
        self.logBox.ensureCursorVisible()
        self.logBox.setAlignment(QtCore.Qt.AlignTop)
        self.logBox.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.logBoxScroll = QtWidgets.QScrollArea()
        self.logBoxScroll.setWidget(self.logBox)
        self.logBoxScroll.setWidgetResizable(True)
        self.logBoxScroll.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.statusGrid.addWidget(self.logBoxScroll, 0, 0)
        self.statusGrid.setAlignment(self.progressBar, QtCore.Qt.AlignRight)

        self.canvasFrameGrid.addWidget(self.canvas, 1)
        self.topSplitter.addWidget(self.canvasFrame)
        self.topSplitter.addWidget(self.controlPanel)
        self.topSplitter.setSizes([800, 400])
        self.topSplitter.setStretchFactor(0, 1)
        self.topSplitter.setStretchFactor(1, 1)
        self.topSplitter.setCollapsible(0, False)
        self.topSplitter.setCollapsible(1, False)
        self.mainSplitter.addWidget(self.topSplitter)
        self.mainSplitter.addWidget(self.statusBar)
        self.mainSplitter.setSizes([800, 100])
        self.mainSplitter.setStretchFactor(0, 1)
        self.mainSplitter.setStretchFactor(1, 1)
        self.mainSplitter.setCollapsible(0, False)
        self.mainSplitter.setCollapsible(1, False)
        self.setCentralWidget(self.mainSplitter)