def check_for_update(package, version): try: checker = UpdateChecker() result = checker.check(package, version) return result.available_version except: # nosec return None
def version(): """ Function that returns the version number of different components: classifier and ontology """ config = Config() print_header("CLASSIFIER") print("CSO Classifier version {}".format( config.get_classifier_version())) # This section identifies the last version of the CSO Classifier on pipy. running_version = config.get_classifier_version() checker = UpdateChecker() result = checker.check( 'cso-classifier', '2.0') #checking if there are versions of the package above 2.0 latest_version = result.available_version if latest_version > running_version: print( "A more recent version ({}) of the CSO Classifier is available." .format(latest_version)) print( "You can update this package by running 'pip install cso-classifier -U' or follow the instructions on https://github.com/angelosalatino/cso-classifier" ) elif latest_version == config.get_classifier_version(): print( "The version of the CSO Classifier you are using is already up to date." ) elif latest_version < config.get_classifier_version(): print( "The latest available package is version {} and you are using version {}. There is an error in your configuration file." .format(latest_version, config.get_classifier_version())) cso = CSO(load_ontology=False) cso.version()
def test_bad_package(self): checker = UpdateChecker() self.assertFalse(checker.check('update_checker_slkdflj', '0.0.1'))
from .config import pg, username, hints from .posterino import submitRound from .hosterino import checkAnswers, checkHints from .Utils.utils import waitForApproval, approved, postDelay, randomColor from .Loader.loader import getRound from sty import fg from importlib.metadata import version from update_checker import UpdateChecker from threading import Thread import time v = version('botterino') checker = UpdateChecker() result = checker.check('botterino', v) if result: print(f'{fg.yellow}{result}') print(f'{fg.yellow}run "pip install --upgrade botterino" to update') def checkType(r): types = [] if 'tolerance' in r and 'answer' in r: types.append('coordinates') if 'tolerances' in r and 'answers' in r: types.append('multiple coordinates') if 'text' in r and 'similarity' in r: types.append('text match') if 'manual' in r: types.append('x wrong guesses with manual correct') if not types: return 'no automatic replies'
def test_checker_check__successful(self): checker = UpdateChecker() checker.bypass_cache = True result = checker.check(self.TRACKED_PACKAGE, '1.0.0') self.assertTrue(result is not None)
def test_checker_check__update_to_rc_version_from_beta_version(self): checker = UpdateChecker() checker.bypass_cache = True self.assertTrue(checker.check(self.TRACKED_PACKAGE, '4.0.0b4'))
def test_checker_check__no_update_to_beta_version(self): checker = UpdateChecker() checker.bypass_cache = True self.assertFalse(checker.check(self.TRACKED_PACKAGE, '3.6'))
def test_checker_check__bad_url(self): checker = UpdateChecker('http://sdlkjsldfkjsdlkfj.com') checker.bypass_cache = True self.assertFalse(checker.check(self.TRACKED_PACKAGE, '0.0.1'))
def test_checker_check__unsuccessful(mock_get): mock_get.side_effect = requests.exceptions.RequestException checker = UpdateChecker(bypass_cache=True) assert checker.check(PACKAGE, "1.0.0") is None
def test_checker_check__successful(mock_get): mock_response(mock_get.return_value) checker = UpdateChecker(bypass_cache=True) result = checker.check(PACKAGE, "1.0.0") assert result.available_version == "5.0.0"
def test_checker_check__update_to_rc_version_from_beta_version(mock_get): mock_response(mock_get.return_value, "4.0.0rc1") checker = UpdateChecker(bypass_cache=True) result = checker.check(PACKAGE, "4.0.0b4") assert result.available_version == "4.0.0rc1"
def test_checker_check__no_update_to_beta_version(mock_get): mock_response(mock_get.return_value, "3.7.0b1") checker = UpdateChecker(bypass_cache=True) assert checker.check(PACKAGE, "3.6") is None
def test_check_check__untracked_package(self): checker = UpdateChecker() checker.bypass_cache = True self.assertEqual("update_checker does not support 'requests'", checker.check(self.UNTRACKED_PACKAGE, '0.0.1'))
__name__ = "pysimplesql" __version__ = "develop" __keywords__ = [ "SQL", "sqlite", "sqlite3", "database", "front-end", "access", "libre office", "GUI", "PySimpleGUI" ] __author__ = "Jonathan Decker" __author_email__ = "*****@*****.**" __url__ = "https://github.com/PySimpleSQL/pysimplesql" __platforms__ = "ALL" __classifiers__ = [ "Programming Language :: Python", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Topic :: Database :: Front-Ends", "Operating System :: OS Independent", ] __requires__ = ['PySimpleGUI', 'update_checker'] __extra_requires__ = {} # ------------------------- # Check for package updates # ------------------------- checker = UpdateChecker() result = checker.check('pysimplesql', __version__) if result is not None: release_date = f'(released {result.release_date}) ' if result.release_date is not None else '' print( f'***** pysimplesql update from {__version__} to {result.available_version} {release_date} available! Be sure to run pip3 install pysimplesql --upgrade *****' )
def test_bad_url(self): checker = UpdateChecker('http://sdlkjsldfkjsdlkfj.com') self.assertFalse(checker.check('praw', '0.0.1'))
def test_check_check__bad_package(self): checker = UpdateChecker() checker.bypass_cache = True self.assertFalse(checker.check(self.UNTRACKED_PACKAGE, '0.0.1'))
def test_successful(self): checker = UpdateChecker() result = checker.check('update_checker', '0.0.1') self.assertTrue(result is not None)