def query(): form = QueryForm() if form.validate_on_submit(): cmp = form.cmp.data.strip().upper() # Return doctor object if it already exists in database try: doctor = Doctor.get(Doctor.id == cmp) except Doctor.DoesNotExist: doctor = Doctor.create(id=cmp) high_queue.enqueue(scrap_cmp, doctor) return redirect(url_for('cmp.view_doctor', id=doctor.id)) return render_template('cmp/query.html', form=form)
def create_doctor(): """Creates a doctor :return: a success message """ details = json.loads(request.data) doctor = Doctor( first_name=details["first_name"], last_name=details["last_name"] ) doctor.save() return make_response(jsonify({"message": "Doctor added successfully"}), 201)
def process_from_csv(input_file): stream = io.StringIO(input_file.read().decode('utf-8')) csvfile = csv.reader(stream) inserted = 0 invalid = 0 duplicated = 0 records = [] for row in csvfile: try: cmp = row[0].strip().upper() if len(cmp) == 6: with db.atomic(): doctor = Doctor.create(id=cmp) # Add to process queue result = default_queue.enqueue(scrap_cmp, doctor) inserted += 1 else: invalid += 1 except peewee.IntegrityError: duplicated += 1 except Exception as e: invalid += 1 return inserted, duplicated, invalid
def view_doctor(id): try: doctor = Doctor.get(Doctor.id == id) specialties = doctor.specialties.order_by(DoctorSpecialty.name) except Doctor.DoesNotExist: return redirect(url_for('cmp.home')) form = DoctorForm(obj=doctor) if form.validate_on_submit(): if form.submit.data: form.populate_obj(doctor) doctor.status = 1 doctor.save() flash('Registro actualizado', 'success') return redirect(url_for('cmp.view_doctor', id=doctor.id)) elif form.reprocess.data: # Unset all fields doctor.name = None doctor.surname = None doctor.state = None doctor.email = None doctor.region = None doctor.notes = None doctor.status = 0 doctor.save() # Delete existing specialties for specialty in specialties: specialty.delete_instance() high_queue.enqueue(scrap_cmp, doctor) flash('Registro enviado a la cola de proceso', 'info') return redirect(url_for('cmp.view_doctor', id=doctor.id)) return render_template('cmp/view_doctor.html', doctor=doctor, specialties=specialties, form=form)
def get_doctor(): """ :return: A list of objects of all the doctors available """ doctors = Doctor.get_all() if doctors: get_results = [] for doctor in doctors: doctor_object = { "doctor_id": doctor.id, "first_name": doctor.first_name, "last_name": doctor.last_name } get_results.append(doctor_object) return make_response(jsonify({"doctors": get_results})), 200 else: return make_response(jsonify({"message": "No doctor records found"}), 404)
def get(self): if connection is None: return {'message': 'No Connection'}, HTTPStatus.SERVICE_UNAVAILABLE data = [] with connection.cursor() as cur: cur.execute('select * from doctor') records = cur.fetchall() if len(records) == 0: return {'message': "Not Found"}, HTTPStatus.NOT_FOUND for row in records: doctor = Doctor(*list(row)) data.append(doctor.data) return {'data': data}, HTTPStatus.OK
def get(self, specialization): data = [] if connection is None: return {'message': 'No Connection'}, HTTPStatus.SERVICE_UNAVAILABLE data = [] with connection.cursor() as cur: cur.callproc("doctor_pkg.read_doctor_specialization", [ specialization, ]) records = get_listformat(cur) if records is None: return {'message': "Not Found"}, HTTPStatus.NOT_FOUND for row in records: doctor = Doctor(*list(row)) data.append(doctor.data) return {'data': data}, HTTPStatus.OK
def get(self, doctor_id): doctor = None if connection is None: return {'message': 'No Connection'}, HTTPStatus.SERVICE_UNAVAILABLE data = [] with connection.cursor() as cur: # cur.execute('select * from doctor where doctor_id = :id',{'id':doctor_id}) cur.callproc("doctor_pkg.read_doctor_id", [ doctor_id, ]) record = get_listformat(cur) if record is None: return {'message': "Not Found"}, HTTPStatus.NOT_FOUND else: [record] = record doctor = Doctor(*record) return {'data': doctor.data}, HTTPStatus.OK
def get_doctor(cls, user_id): return Doctor.find_doctor(user_id)
def register_doctor(cls, specialty, phone): user_id = User._get_last_registered_status_doctor() return Doctor.create_new_doctor(user_id, specialty, phone)