def __init__(self, *args, **kwargs): CoreTable.__init__(self, *args, **kwargs) self.keyName = "directory" self.hiddenTableColumnsSettingKey = "hiddenFolderTableColumns" self.refreshColumns() pbtnVerifyTableValues = MPushButton( translate("FileTable", "Verify Table")) pbtnVerifyTableValues.setMenu( SearchEngines.SearchEngines(self, "value")) self.mContextMenu.addMenu( SearchEngines.SearchEngines(self, "value", True)) self.hblBoxTools.addWidget(pbtnVerifyTableValues)
def __init__(self, *args, **kwargs): CoreTable.__init__(self, *args, **kwargs) self.keyName = "ADCArtist" self.amarokFilterKeyName = "AmarokFilterArtistTable" self.hiddenTableColumnsSettingKey = "hiddenAmarokArtistTableColumns" self.refreshColumns() self.wFilter = Filter.FilterWidget(self, self.amarokFilterKeyName) self.hblBoxOptions.addWidget(self.wFilter) pbtnVerifyTableValues = MPushButton(translate("FileTable", "Verify Table")) pbtnVerifyTableValues.setMenu(SearchEngines.SearchEngines(self, "value")) self.mContextMenu.addMenu(SearchEngines.SearchEngines(self, "value", True)) self.hblBoxTools.addWidget(pbtnVerifyTableValues)
def __init__(self, *args, **kwargs): CoreTable.__init__(self, *args, **kwargs) self.keyName = "music" self.hiddenTableColumnsSettingKey = "hiddenSubFolderMusicTableColumns" self.refreshColumns() pbtnVerifyTableValues = MPushButton( translate("MusicTable", "Verify Table")) pbtnVerifyTableValues.setMenu( SearchEngines.SearchEngines(self, "music")) self.mContextMenu.addMenu( SearchEngines.SearchEngines(self, "music", True)) lblDetails = translate( "SubFolderTable", "You can select sub directory deep.<br><font color=blue>You can select \"-1\" for all sub directories.</font>" ) lblSubDirectoryDeep = MLabel( str(translate("SubFolderTable", "Deep") + " : ")) self.SubDirectoryDeeps = [str(x) for x in range(-1, 10)] self.cbSubDirectoryDeep = MComboBox(self) self.cbSubDirectoryDeep.addItems(self.SubDirectoryDeeps) self.cbSubDirectoryDeep.setCurrentIndex( self.cbSubDirectoryDeep.findText( uni.MySettings["subDirectoryDeep"])) self.cbSubDirectoryDeep.setToolTip(lblDetails) self.hblBoxOptions.addWidget(pbtnVerifyTableValues) hblSubDirectory = MHBoxLayout() hblSubDirectory.addWidget(lblSubDirectoryDeep) hblSubDirectory.addWidget(self.cbSubDirectoryDeep) self.hblBoxOptions.addLayout(hblSubDirectory) MObject.connect(self.cbSubDirectoryDeep, SIGNAL("currentIndexChanged(int)"), self.subDirectoryDeepChanged) lblTagger = MLabel(translate("MusicTable", "Tag Module:")) taggerMachineNames, taggerNames = Taggers.getTaggerNames() self.cbTagger = MyComboBox() self.cbTagger.addDataItems(taggerMachineNames, taggerNames) self.cbTagger.setCurrentIndex( self.cbTagger.findText( Taggers.getTaggerName(uni.MySettings["preferedTaggerModule"]))) self.cbTagger.setToolTip( translate( "MusicTable", "You can select the ID3 tag module you want to use.<br><font color=blue>Mutagen is recommended.</font>" )) hblTagger = MHBoxLayout() hblTagger.addWidget(lblTagger) hblTagger.addWidget(self.cbTagger) lblTagger.setMaximumWidth(100) self.cbTagger.setMaximumWidth(100) self.hblBoxTools.addLayout(hblTagger) MObject.connect(self.cbTagger, SIGNAL("currentIndexChanged(int)"), self.cbTaggerChanged)
def __init__(self, *args, **kwargs): CoreTable.__init__(self, *args, **kwargs) self.keyName = "subfolder" self.hiddenTableColumnsSettingKey = "hiddenSubFolderTableColumns" self.refreshColumns() lblDetails = translate("SubFolderTable", "You can select sub directory deep.<br><font color=blue>You can select \"-1\" for all sub directories.</font>") lblSubDirectoryDeep = MLabel(str(translate("SubFolderTable", "Deep") + " : ")) self.SubDirectoryDeeps = [str(x) for x in range(-1, 10)] self.cbSubDirectoryDeep = MComboBox(self) self.cbSubDirectoryDeep.addItems(self.SubDirectoryDeeps) self.cbSubDirectoryDeep.setCurrentIndex(self.cbSubDirectoryDeep.findText(uni.MySettings["subDirectoryDeep"])) self.cbSubDirectoryDeep.setToolTip(lblDetails) hblSubDirectory = MHBoxLayout() hblSubDirectory.addWidget(lblSubDirectoryDeep) hblSubDirectory.addWidget(self.cbSubDirectoryDeep) self.hblBoxTools.addLayout(hblSubDirectory) MObject.connect(self.cbSubDirectoryDeep, SIGNAL("currentIndexChanged(int)"), self.subDirectoryDeepChanged) pbtnVerifyTableValues = MPushButton(translate("FileTable", "Verify Table")) pbtnVerifyTableValues.setMenu(SearchEngines.SearchEngines(self, "value")) self.mContextMenu.addMenu(SearchEngines.SearchEngines(self, "value", True)) self.hblBoxTools.addWidget(pbtnVerifyTableValues)
def __init__(self, *args, **kwargs): CoreTable.__init__(self, *args, **kwargs) self.keyName = "music" self.hiddenTableColumnsSettingKey = "hiddenMusicTableColumns" self.refreshColumns() pbtnVerifyTableValues = MPushButton(translate("MusicTable", "Verify Table")) pbtnVerifyTableValues.setMenu(SearchEngines.SearchEngines(self, "music")) self.mContextMenu.addMenu(SearchEngines.SearchEngines(self, "music", True)) self.hblBoxOptions.addWidget(pbtnVerifyTableValues) lblTagger = MLabel(translate("MusicTable", "Tag Module:")) taggerMachineNames, taggerNames = Taggers.getTaggerNames() self.cbTagger = MyComboBox() self.cbTagger.addDataItems(taggerMachineNames, taggerNames) self.cbTagger.setCurrentIndex( self.cbTagger.findText(Taggers.getTaggerName(uni.MySettings["preferedTaggerModule"]))) self.cbTagger.setToolTip(translate("MusicTable", "You can select the ID3 tag module you want to use.<br><font color=blue>Mutagen is recommended.</font>")) hblTagger = MHBoxLayout() hblTagger.addWidget(lblTagger) hblTagger.addWidget(self.cbTagger) lblTagger.setMaximumWidth(100) self.cbTagger.setMaximumWidth(100) self.hblBoxTools.addLayout(hblTagger) MObject.connect(self.cbTagger, SIGNAL("currentIndexChanged(int)"), self.cbTaggerChanged)
def main(): # Set Debug Mode debugMode = False # Setup logging setUpLogging(debugMode) # Clear lastrun.txt file. This file holds the results from the last run. It also records the current run and uses that information to email the user with a list of job listings. clearTextFile(debugMode, "lastrun.txt") # Setup Selenium Chrome Webdriver Chrome = setUpChrome(debugMode) # Setup variables emailUsername = "******" emailPassword = "******" searchDice = True searchCareerBuilder = True searchGlassDoor = True searchLinkedIn = False # Incomplete searchMonster = True searchSimplyHired = True # Create Lists object. This is the object that holds all user defined keywords and lists that they wish to include or exclude into the search. Lists = lists.Lists(debugMode, logging) # Setup search engine objects and add them to a list. if searchDice: Lists.searchEngines.append(SearchEngines.Dice(debugMode, logging)) if searchCareerBuilder: Lists.searchEngines.append( SearchEngines.CareerBuilder(debugMode, logging)) if searchGlassDoor: Lists.searchEngines.append(SearchEngines.GlassDoor(debugMode, logging)) if searchLinkedIn: Lists.searchEngines.append(SearchEngines.LinkedIn(debugMode, logging)) if searchSimplyHired: Lists.searchEngines.append( SearchEngines.SimplyHired(debugMode, logging)) if searchMonster: Lists.searchEngines.append(SearchEngines.Monster(debugMode, logging)) # If anything breaks from here on out we need to close the Chrome driver. try: # Get each search engine. Search through it. Record the results. Clear the results list in prep for another search engine. logging.info("Starting Job Search Process...") for searchEngine in Lists.searchEngines: for experienceLevel in Lists.searchExperienceLevels: for searchKeywords in Lists.searchKeywords: for searchLocation in Lists.searchLocations: Lists.results = searchEngine.jobSearch( Chrome, Lists, Lists.results, experienceLevel, searchKeywords, searchLocation) writeResultsToTextFile("lastrun.txt", Lists.results, searchEngine.engineName) Lists.results.clear() logging.info("Job Search Process complete!") except Exception as error: logging.error("Error with Job Search Process.") logging.error(error) Chrome.quit() Chrome.quit() constructAndSendEmailFromTextFile("lastrun.txt", emailUsername, emailPassword) logging.info("Done!") logging.info( "=====================================================================================================" )
def __init__(self, *args, **kwargs): CoreTable.__init__(self, *args, **kwargs) from Amarok import Filter self.keyName = "music" self.amarokFilterKeyName = "AmarokFilterAmarokMusicTable" self.hiddenTableColumnsSettingKey = "hiddenAmarokMusicTableColumns" self.refreshColumns() pbtnVerifyTableValues = MPushButton( translate("MusicTable", "Verify Table")) pbtnVerifyTableValues.setMenu( SearchEngines.SearchEngines(self, "music")) self.mContextMenu.addMenu( SearchEngines.SearchEngines(self, "music", True)) lblSourceDetails = MLabel(translate("MusicTable", "Read From:")) lblTargetDetails = MLabel(translate("MusicTable", "Write To:")) self.MusicTagSourceTypes = Amarok.getTagSourceTypes() self.cbTagSourceType = MComboBox(self) self.cbTagSourceType.addItems(self.MusicTagSourceTypes) self.MusicTagTargetTypes = Amarok.getTagTargetTypes() self.cbTagTargetType = MComboBox(self) self.cbTagTargetType.addItems(self.MusicTagTargetTypes) self.cbTagSourceType.setCurrentIndex( self.cbTagSourceType.findText( Amarok.getSelectedTagSourseType("AmarokMusicTable"))) self.cbTagTargetType.setCurrentIndex( self.cbTagTargetType.findText( Amarok.getSelectedTagTargetType("AmarokMusicTable"))) self.cbTagSourceType.setToolTip( translate( "MusicTable", "You can select the ID3 tag source you want to read.<br><font color=blue>Amarok (Smart) is recommended.</font>" )) self.cbTagTargetType.setToolTip( translate( "MusicTable", "You can select the ID3 tag target you want to write.<br><font color=blue>Amarok + ID3 V2 is recommended.</font>" )) hblTagSourceType = MHBoxLayout() hblTagSourceType.addWidget(lblSourceDetails) hblTagSourceType.addWidget(self.cbTagSourceType) hblTagTargetType = MHBoxLayout() hblTagTargetType.addWidget(lblTargetDetails) hblTagTargetType.addWidget(self.cbTagTargetType) self.vblBoxSourceAndTarget.addLayout(hblTagSourceType) self.vblBoxSourceAndTarget.addLayout(hblTagTargetType) MObject.connect(self.cbTagSourceType, SIGNAL("currentIndexChanged(int)"), self.musicTagSourceTypeChanged) MObject.connect(self.cbTagTargetType, SIGNAL("currentIndexChanged(int)"), self.musicTagTargetTypeChanged) self.hblBoxOptions.addWidget(pbtnVerifyTableValues) self.wFilter = Filter.FilterWidget(self, self.amarokFilterKeyName) self.hblBoxOptions.addWidget(self.wFilter) lblTagger = MLabel(translate("MusicTable", "Tag Module:")) taggerMachineNames, taggerNames = Taggers.getTaggerNames() self.cbTagger = MyComboBox() self.cbTagger.addDataItems(taggerMachineNames, taggerNames) self.cbTagger.setCurrentIndex( self.cbTagger.findText( Taggers.getTaggerName(uni.MySettings["preferedTaggerModule"]))) self.cbTagger.setToolTip( translate( "MusicTable", "You can select the ID3 tag module you want to use.<br><font color=blue>Mutagen is recommended.</font>" )) hblTagger = MHBoxLayout() hblTagger.addWidget(lblTagger) hblTagger.addWidget(self.cbTagger) lblTagger.setMaximumWidth(100) self.cbTagger.setMaximumWidth(100) self.hblBoxTools.addLayout(hblTagger) MObject.connect(self.cbTagger, SIGNAL("currentIndexChanged(int)"), self.cbTaggerChanged)