blob: c7bdf21b76dd4934c575949003f81f3eb3aa1fad [file] [log] [blame]
Tony Mack743ddf22013-04-02 07:36:25 -04001from plstackapi.core.models import Site
Tony Mackf593dba2013-03-24 13:17:43 -04002
3class SiteImporter:
4
Tony Mack743ddf22013-04-02 07:36:25 -04005 def __init__(self, api):
6 self.api = api
7 self.remote_sites = {}
8 self.local_sites = {}
Tony Mackf593dba2013-03-24 13:17:43 -04009
10 def run(self):
Tony Mackf593dba2013-03-24 13:17:43 -040011 db_sites = Site.objects.all()
Tony Mack743ddf22013-04-02 07:36:25 -040012 for db_site in db_sites:
13 self.local_sites[db_site.login_base] = db_site
14
15 sites = self.api.GetSites()
Tony Mackf593dba2013-03-24 13:17:43 -040016 for site in sites:
Tony Mack743ddf22013-04-02 07:36:25 -040017 self.remote_sites[site['site_id']] = site
18 if site['login_base'] not in self.local_sites:
Tony Mackf593dba2013-03-24 13:17:43 -040019 new_site = Site(name=site['name'],
20 site_url=site['url'],
21 enabled=site['enabled'],
22 longitude=site['longitude'],
23 latitude=site['latitude'],
24 is_public=site['is_public'],
25 abbreviated_name=site['abbreviated_name'])
26 new_site.save()
Tony Mack743ddf22013-04-02 07:36:25 -040027 self.local_sites[new_site.login_base] = new_site