Exemple #1
0
 def testHasData(self):
     '''
     check has data and populate functionality
     '''
     loc = Locator()
     if os.path.isfile(loc.db_file):
         os.remove(loc.db_file)
     # reinit sqlDB
     loc = Locator()
     self.assertFalse(loc.db_has_data())
     loc.populate_db()
     self.assertTrue(loc.db_has_data())
 def testHasData(self):
     '''
     check has data and populate functionality
     '''
     testDownload=False
     if self.inCI() or testDownload:
         with tempfile.TemporaryDirectory() as cacheRootDir:
             config=StorageConfig(cacheRootDir=cacheRootDir, cacheDirName='geograpy3')
             config.cacheFile = f"{config.getCachePath()}/{LocationContext.db_filename}"
             loc=Locator(storageConfig=config)
             if os.path.isfile(loc.db_file):
                 os.remove(loc.db_file)
             # reinit sqlDB
             loc=Locator(storageConfig=config)
             self.assertFalse(loc.db_has_data())
             loc.populate_db()
             self.assertTrue(loc.db_has_data())
Exemple #3
0
 def downloadAndTestDB(config: StorageConfig,
                       loc: Locator = None,
                       forceUpdate: bool = False):
     '''downloads and tests the downloaded db'''
     if loc is None:
         loc = Locator(storageConfig=config)
     loc.downloadDB(forceUpdate=forceUpdate)
     self.assertTrue(os.path.exists(config.cacheFile))
     self.assertTrue(loc.db_has_data())
     return loc
Exemple #4
0
 def testRegionMatching(self):
     '''
     test region matches
     '''
     locator = Locator()
     if not locator.db_has_data():
         locator.populate_db()
     countryList = CountryManager.fromErdem()
     config = LocationContext.getDefaultConfig()
     regionManager = RegionManager(config=config)
     regionManager.fromCache()
     for country in countryList.countries:
         locationListWithDistances = country.getNClosestLocations(
             regionManager, 3)
         if self.debug:
             print(f"{country}{country.lat:.2f},{country.lon:.2f}")
         for i, locationWithDistance in enumerate(
                 locationListWithDistances):
             location, distance = locationWithDistance
             if self.debug:
                 print(f"    {i}:{location}-{distance:.0f} km")
     pass