示例#1
0
    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
示例#2
0
    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
示例#3
0
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()
示例#4
0
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()
示例#5
0
文件: manage.py 项目: dobtco/beacon
def create_domain(domain):
    print "Creating domain {}".format(domain)
    get_or_create(db.session, model=AcceptedEmailDomains, domain=domain)
    db.session.commit()
    print "Done"
    return