コード例 #1
0
    def post(self):
        #save booking into database
        d = datetime(int(self.request.get('year')),
                     int(self.request.get('month')),
                     int(self.request.get('day')))
        st = time(int(self.request.get('start')))
        et = time(int(self.request.get('end')))
        #datetime.combine(d, st)

        job = models.Job()
        job.Email = self.user.email_address
        job.Description = self.request.get('description')
        job.StartDate = datetime.combine(d, st)
        job.EndDate = datetime.combine(d, et)
        job.Service_Type = self.request.get('servicetype')
        job.postalCode = int(self.request.get('postalcode'))
        job.put()

        schedule = {}
        date = {}
        date['day'] = d.day
        date['month'] = d.month
        date['year'] = d.year
        schedule['date'] = date
        hour = {}
        hour['start'] = st.hour
        hour['end'] = et.hour
        schedule['hour'] = hour

        for temp in booking_cache:
            if ((temp['date'] == schedule['date'])
                    and temp['hour'] == schedule['hour']):
                booking_cache.remove(temp)
                break
コード例 #2
0
ファイル: task.py プロジェクト: pombredanne/gobuild3
def newtask():
    build = models.Build[1]
    b = models.Job(build=build, status='initing')
    b.created = datetime.datetime.today()
    models.commit()
    taskqueue.que.put(b.id)
    return str(b.id)
コード例 #3
0
    def post(self):
        global booking_cache
        clear_booking = []

        for temp in booking_cache:
            if temp['type'] == 'administrator':
                d = date(temp['date']['year'], temp['date']['month'],
                         temp['date']['day'])
                st = time(temp['hour']['start'])
                et = time(temp['hour']['end'])
                if (temp['task'] == 'edit'):
                    info = models.Job.get(temp['key'])
                    info.Email = temp['email']
                    info.Description = temp['description']
                    info.StartDate = datetime.combine(d, st)
                    info.EndDate = datetime.combine(d, et)
                    info.Service_Type = temp['servicetype']
                    info.postalCode = int(temp['postalcode'])
                    info.put()
                else:
                    job = models.Job()
                    job.Email = temp['email']
                    job.Description = temp['description']
                    job.StartDate = datetime.combine(d, st)
                    job.EndDate = datetime.combine(d, et)
                    job.Service_Type = temp['servicetype']
                    job.postalCode = int(temp['postalcode'])
                    job.put()

                clear_booking.append(temp)

        for temp in clear_booking:
            booking_cache.remove(temp)
コード例 #4
0
ファイル: tests.py プロジェクト: crcollins/chemtools-webapp
 def test_update_jobs_command(self):
     job = models.Job(credential=self.credential,
                      jobid="1",
                      name="not_a_real_job")
     job.save()
     call_command("update_jobs")
     updated = models.Job.objects.get(id=job.id)
     self.assertEqual(updated.state, models.Job.UNKNOWN)
コード例 #5
0
 def get(self):
     emp_number = get_raw_jwt()['identity']
     try:
         job = models.Job(emp_number)
         return {"data": job.get(), "message": "Job succesfully retrieved"}
     except Exception as e:
         print(e)
         return {'message': 'Something went wrong'}, 500
コード例 #6
0
ファイル: tests.py プロジェクト: crcollins/chemtools-webapp
 def test_update_unknown_none(self):
     job = models.Job(credential=self.credential,
                      jobid="1",
                      name="completed",
                      state=models.Job.COMPLETED)
     job.save()
     call_command("update_unknown")
     call_command("update_unknown")
コード例 #7
0
ファイル: tests.py プロジェクト: crcollins/chemtools-webapp
 def test_update_unknown_command(self):
     job = models.Job(credential=self.credential,
                      jobid="1",
                      name="walltime",
                      state=models.Job.UNKNOWN)
     job.save()
     call_command("update_unknown")
     updated = models.Job.objects.get(id=job.id)
     self.assertEqual(updated.state, models.Job.WALLTIME)
コード例 #8
0
ファイル: tests.py プロジェクト: crcollins/chemtools-webapp
 def test_update_unknown_missing(self):
     job = models.Job(credential=self.credential,
                      jobid="1",
                      name="missing",
                      state=models.Job.UNKNOWN)
     job.save()
     call_command("update_unknown")
     updated = models.Job.objects.get(id=job.id)
     self.assertEqual(updated.state, models.Job.MISSING)
コード例 #9
0
def home():
    address = flask.request.args.get('address')
    nocheck = (flask.request.args.get('force') == 'true')
    if address:
        reponame = cleanname(address)
        if not models.Repo.get(name=reponame):
            try:
                if nocheck:
                    if flask.request.args.get('reponame') != address:
                        return flask.render_template(
                            'index.html', error='reponame not match')

                    desc = 'unknown desc - forceadd'
                else:
                    desc = checkrepo(reponame)
            except Exception as e:
                force_add = '''
                If you confirm this is a go main package. 
                <form class="pull-right">
                    <input type="hidden" name="address" value="{reponame}">
                    <input type="hidden" name="force" value="true">
                    <input type="text" name="reponame" placeholder="Type repo name again">
                    <button class="btn btn-warning btn-xs">force add</button>
                </form>'''.format(reponame=reponame)
                error = str(e) + ' <br>- ' + force_add
                return flask.render_template('index.html',
                                             error=flask.Markup(error))
            repo = models.Repo(name=reponame)
            repo.created = datetime.datetime.today()
            repo.description = desc
            repo.author = 'unknown .. unfinished'

            # add new job
            build = models.Build(repo=repo,
                                 tag='branch:master',
                                 status='initing')
            job = models.Job(build=build,
                             status='initing',
                             created=datetime.datetime.today())
            models.commit()
            taskqueue.que.put(job.id)

        return flask.redirect('/' + reponame, 302)

    new = models.select(r for r in models.Repo).\
            order_by(models.desc(models.Repo.created))[:10]
    top = models.select(r for r in models.Repo).\
            order_by(models.desc(models.Repo.down_count))[:10]

    #error = 'Beta version, only for test for the time now.'
    error = None
    return flask.render_template('index.html',
                                 top_repos=top,
                                 new_repos=new,
                                 error=error)
コード例 #10
0
def save_module_job(request):
    '''
    {
        "module_id":1,
        "name":"test1",
        "type":1,
        "scene":"",
        "desc":"xxxx",
        "job_detail":{
            "description":"just a test",
            "command":"ls -l",
            "params":[
                {
                    "name":"branch_num",
                    "description":"just a test",
                    "default_value":"trunk"
                },
                {
                    "name":"version",
                    "description":"121212",
                    "default_value":""
                }
            ]
        }
    }
    '''
    data = json.loads(request.body)
    module_id = data.get("module_id")
    if not module_id:
        return None
    id = data.get("id")
    json_data = {}
    module = models.Module.objects.get(id=module_id)
    json_data["view_name"] = module.name
    json_data["job_name"] = "%s-%s" % (module.name,
                                       time.strftime("%y%m%d%H%M%S"))
    json_data["job_detail"] = data.get("job_detail")
    j = Jenkins()
    if id:
        job = models.Job.objects.get(id=id)
        old_name = job.jenkins_name
        if old_name:
            j.delete_job(old_name)
    else:
        job = models.Job()
    j.create_view_job(json_data, "JOB_CONFIG_XML", request)
    job.module_id = module_id
    job.name = data.get("name")
    job.jenkins_name = json_data.get("job_name")
    job.type = data.get("type")
    job.scene = data.get("scene")
    job.desc = data.get("desc")
    job.user = public.get_user_mail(request)
    job.job_detail = json.dumps(data.get("job_detail"))
    job.save()
コード例 #11
0
ファイル: tests.py プロジェクト: crcollins/chemtools-webapp
 def test_job_format(self):
     job = models.Job(
         jobid='1',
         credential=self.credential,
         name="test",
         memory="59GB",
         walltime="1:00",
         state=models.Job.QUEUED,
     )
     expected = ('1', 'vagrant', 'test', '59GB', '1:00', '--', 'Q')
     self.assertEqual(job.format(), expected)
コード例 #12
0
ファイル: task.py プロジェクト: pombredanne/gobuild3
def build():
    reponame = request.args.get('reponame')
    tag = request.args.get('tag')

    repo = models.Repo.get(name=reponame)
    build = models.Build.get(repo=repo, tag=tag) or \
            models.Build(repo=repo, tag=tag)
    job = models.Job(build=build, status='initing')
    job.created = datetime.datetime.today()
    models.commit()
    taskqueue.que.put(job.id)
    return redirect('/task/%d' % job.id)
コード例 #13
0
ファイル: app.py プロジェクト: jguyton/Circus-Harmony-CWAC
def addJob():
    content = request.get_json()
    job = models.Job(content.get('name'))
    db.session.add(job)
    db.session.commit()
    response = {
        'status': 200,
        'message': "Job added to database",
    }
    return json.dumps(response,
                      sort_keys=True,
                      indent=4,
                      separators=(',', ': '))
コード例 #14
0
def create_job(db: Session, job: schemas.Job):
    try:
        db_job = models.Job(title=job.title, experience=job.experience,
                             description=job.description, no_of_vacancies=job.no_of_vacancies)
        db.add(db_job)
        db.commit()
        db.refresh(db_job)
        print(db_job)
        return db_job

    except Exception as e:
        print(e)
        raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="Unexpected Error Occurred")
コード例 #15
0
ファイル: client.py プロジェクト: murodin/uws-client
    def abort_job(self, id):
        try:
            response = self.connection.post(id, {"PHASE": "ABORT"})
        except Exception as e:
            raise UWSError(str(e))

        raw = response.read()
        try:
            result = models.Job(raw)
        except XMLSyntaxError as e:
            raise UWSError(
                "Malformatted response. Are you sure the host you specified is a IVOA UWS service?",
                raw)
        except Exception as e:
            raise e

        return result
コード例 #16
0
ファイル: client.py プロジェクト: murodin/uws-client
    def set_parameters_job(self, id, args={}):
        try:
            response = self.connection.post(id, args)
        except Exception as e:
            raise UWSError(str(e))

        raw = response.read()
        try:
            result = models.Job(raw)
        except XMLSyntaxError as e:
            raise UWSError(
                "Malformatted response. Are you sure the host you specified is a IVOA UWS service?",
                raw)
        except Exception as e:
            raise e

        return result
コード例 #17
0
def root(request):
    title = DOMAIN_NAME
    neighborhood = request.GET.get('neighborhood', 'Wicker Park').replace('+', ' ')

    if request.method == 'POST':
        #INSERT NEW JOB INTO DATABASE
        print('printing request.POST')
        #job = [posted_date, title, company, address, neighborhood, shift, description]
        job = models.Job(
            title = request.POST.get('title', ''),
            # TODO: error: this needs to get the Business() object
            business = Business.objects.get(pk=request.POST.get('company', '')),
            # TODO: probably error: this needs to get the Location() object
            location = Location.objects.get(pk=request.POST.get('location', '')),
            # QUICK FIX: error in models and db with job_function. Storing as
            # QUICK FIX: a number for now
            # job_function = models.JobFunction.objects.get(pk=request.POST.get('job_function', '')),
            job_function = request.POST.get('job_function', ''),
            employment_type = request.POST.get('employment_type', ''),
            description = request.POST.get('description', ''),
            skills = request.POST.get('skills', ''),
            qualifications = request.POST.get('qualifications', ''),
            instructions = request.POST.get('instructions', ''),
            #TODO: add to form
            poc = request.POST.get('poc', ''),
            email = request.POST.get('email', ''),
            phone = request.POST.get('phone', '')
            )
        job.save()

    # set default map
    location = MapLocation(neighborhood).get_coordinates()

    # TODO: This should come from the Jobs model
    jobs = models.Job.objects.all()

    context = {
        'title': title,
        'location': location,
        'api_key': MAPBOX_KEY,
        'jobs': jobs
    }

    return render(request, "jobs/index.html", context)
コード例 #18
0
async def create_job(
    job_name: str,
    current_account: schemas.Account = Depends(get_current_account),
    db: Session = Depends(get_db)):

    db_job = db.query(
        models.Job).filter(models.Job.job_name == job_name).first()

    if db_job:
        raise HTTPException(status_code=409,
                            detail="Job name is already in the database")

    if current_account.role_id != 0:
        raise HTTPException(status_code=403)

    db_job = models.Job(job_name=job_name)
    db.add(db_job)
    db.commit()
    db.refresh(db_job)
    return schemas.Job(job_id=db_job.job_id, job_name=db_job.job_name)
コード例 #19
0
ファイル: client.py プロジェクト: murodin/uws-client
    def get_job(self, id, wait=None, phase=None):
        params = None
        if wait:
            params = self._validate_and_parse_wait(wait, phase)

        try:
            response = self.connection.get(id, params)
        except Exception as e:
            # Do not make a second request without params, throw error
            # immediately
            raise UWSError(str(e))

        raw = response.read()
        try:
            result = models.Job(raw)
        except XMLSyntaxError as e:
            raise UWSError(
                "Malformatted response. Are you sure the host you specified is a IVOA UWS service?",
                raw)
        except Exception as e:
            raise e

        return result
コード例 #20
0
ファイル: test.py プロジェクト: anzharip/httpapihrmipnet
import models

job = models.Job("3347")

print(job.get())