def schedule_job(self): '''Schedule a job. If the time_override param is set to True, it will override the timing. This allows us to always run jobs from the tests or manually force a job to be scheduled if necessary. In order to schedule a job, one of the following conditions must be met: 1. ``start_time`` is none 2. The current time is after the ``start_time`` 3. The ``time_override`` attribute is set to True Returns: If all the conditions for scheduling a job are true, a new :py:class:`~purchasing.jobs.job_base.JobStatus` model will be created or selected and returned. ''' start_time = self.start_time if isinstance(self.start_time, datetime.time): start_time = self.build_datetime_object(self.start_time) if start_time is None or \ UTC.localize(datetime.datetime.utcnow()) > start_time.astimezone(UTC) or \ self.time_override is True: model, exists = get_or_create( db.session, self.job_status_model, name=self.name, date=datetime.date.today() ) if not exists: model.update(status='new') return model, exists
def schedule_job(self): '''Schedule a job. If the time_override param is set to True, it will override the timing. This allows us to always run jobs from the tests or manually force a job to be scheduled if necessary. In order to schedule a job, one of the following conditions must be met: 1. ``start_time`` is none 2. The current time is after the ``start_time`` 3. The ``time_override`` attribute is set to True Returns: If all the conditions for scheduling a job are true, a new :py:class:`~purchasing.jobs.job_base.JobStatus` model will be created or selected and returned. ''' start_time = self.start_time if isinstance(self.start_time, datetime.time): start_time = self.build_datetime_object(self.start_time) if start_time is None or \ UTC.localize(datetime.datetime.utcnow()) > start_time.astimezone(UTC) or \ self.time_override is True: model, exists = get_or_create(db.session, self.job_status_model, name=self.name, date=datetime.date.today()) if not exists: model.update(status='new') return model, exists
def main(file_target='./files/2015-05-27-nigp-cleaned.csv'): data = extract(file_target) for row in data: subcat, new_subcat = get_or_create( db.session, Category, nigp_codes=parse_codes(convert_empty_to_none(row.get('code'))), category=convert_empty_to_none(row.get('parent_category')), subcategory=convert_empty_to_none(row.get('category')), category_friendly_name=convert_empty_to_none(row.get('category_friendly_name')), examples=convert_empty_to_none(row.get('examples')), examples_tsv=parse_examples_tsv(convert_empty_to_none(row.get('examples'))) ) if new_subcat: db.session.add(subcat) db.session.commit()
def main(file_target='./files/2015-05-27-nigp-cleaned.csv'): data = extract(file_target) for row in data: subcat, new_subcat = get_or_create( db.session, Category, nigp_codes=parse_codes(convert_empty_to_none(row.get('code'))), category=convert_empty_to_none(row.get('parent_category')), subcategory=convert_empty_to_none(row.get('category')), category_friendly_name=convert_empty_to_none( row.get('category_friendly_name')), examples=convert_empty_to_none(row.get('examples')), examples_tsv=parse_examples_tsv( convert_empty_to_none(row.get('examples')))) if new_subcat: db.session.add(subcat) db.session.commit()
def create_domain(domain): print "Creating domain {}".format(domain) get_or_create(db.session, model=AcceptedEmailDomains, domain=domain) db.session.commit() print "Done" return