def jobsfs_to_mongo(guid, buid, name): """Composed method for resopnding to a guid update.""" assert re.match(r'^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$', guid.upper()), \ "%s is not a valid guid" % guid assert re.match(r'^\d+$', str(buid)), "%s is not a valid buid" % buid logger.info("Updating Job Source %s", guid) # Make the BusinessUnit and Company create_businessunit(buid) bu = BusinessUnit.objects.get(id=buid) bu.title = name bu.save() add_company(bu) # Lookup the jobs, filter then, transform them, and then load the jobs zf = get_jobsfs_zipfile(guid) jobs = get_jobs_from_zipfile(zf, guid) jobs = filter_current_jobs(jobs, bu) jobs = (hr_xml_to_json(job, bu) for job in jobs) jobs = list(jobs) for job in jobs: job['guid'] = job['guid'].lower() if len(jobs) > 0: collection = connect_db().db.jobs bulk = collection.initialize_unordered_bulk_op() for job in jobs: bulk.find({'guid': job['guid']}).upsert().replace_one(job) bulk.execute()
def setUp(self): self.zipfile = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'data', 'ActiveDirectory_ce2ca701-eeca-4c13-96ba-e6bde9cb7060.zip') with open(self.zipfile) as zf: self.jobs = list(get_jobs_from_zipfile(zf, "ce2ca701-eeca-4c13-96ba-e6bde9cb7060")) self.businessunit = BusinessUnitFactory(id=0)
def setUp(self): super(LoadETLTestCase, self).setUp() self.zipfile = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'data', '0812fe95-e7cb-4eb5-813c-55c9180f6bd7.zip') with open(self.zipfile) as zf: self.jobs = list(get_jobs_from_zipfile(zf, "0812fe95-e7cb-4eb5-813c-55c9180f6bd7")) self.businessunit = BusinessUnitFactory(id=0) self.buid = self.businessunit.id self.guid = '0812fe95-e7cb-4eb5-813c-55c9180f6bd7' self.name = "Test"
def setUp(self): super(LoadETLTestCase, self).setUp() self.zipfile = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'data', 'ActiveDirectory_ce2ca701-eeca-4c13-96ba-e6bde9cb7060.zip') with open(self.zipfile) as zf: self.jobs = list(get_jobs_from_zipfile(zf, "ce2ca701-eeca-4c13-96ba-e6bde9cb7060")) self.businessunit = BusinessUnitFactory(id=0) self.buid = self.businessunit.id self.guid = 'ce2ca701-eeca-4c13-96ba-e6bde9cb7060' self.name = "Test"
def setUp(self): self.solr_settings = { 'default': {'URL': 'http://127.0.0.1:8983/solr/seo'} } self.solr = Solr(settings.HAYSTACK_CONNECTIONS['default']['URL']) self.solr.delete(q="*:*") self.zipfile = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'data', 'ActiveDirectory_ce2ca701-eeca-4c13-96ba-e6bde9cb7060.zip') with open(self.zipfile) as zf: self.jobs = list(get_jobs_from_zipfile(zf, "ce2ca701-eeca-4c13-96ba-e6bde9cb7060")) self.businessunit = BusinessUnitFactory(id=0) self.buid = self.businessunit.id self.guid = 'ce2ca701-eeca-4c13-96ba-e6bde9cb7060' self.name = "Test"