def small_statistics(): doctor = doc_operations.doctor_by_request(request) doctors = all_doctors() if not doctor else [doctor] data = [] today = datetime.datetime.strptime(_today_date(), ("%d.%m.%Y")) monthrange = calendar.monthrange(today.year, today.month)[1] #holters count for every day for doc in doctors: holters_count = get_doctor_holters_count(doc, DOCTORS, int(_today_date().split('.')[1])) for i in range(monthrange): if not i + 1 in holters_count: holters_count[i + 1] = -1 # sum for all month (raw-sum): holters_sum = 0 for hc in holters_count: if holters_count[hc] != -1: holters_sum += holters_count[hc] holters_count['sum'] = holters_sum data.append([doc.name, holters_count]) #every day sum(column sum) if len(doctors) > 1: ed_sum = {} for day in holters_count: day_counts = [d[1][day] for d in data if d[1][day] != -1] ed_sum[day] = sum(day_counts) data.append(['Сумма за день', ed_sum]) return render_template('small_statistics.html', data=data, monthrange=monthrange)
def create_doctor(form): doctor = doctors.Doctor(name=form['name'].decode('utf-8'), engname=form['engname']) docfolder = os.path.join(DOCTORS, doctor.name) doctor.folder = os.path.join(docfolder, _today_date()) if not os.path.exists(docfolder): os.mkdir(docfolder) if not os.path.exists(doctor.folder): os.mkdir(doctor.folder) doctor.save_doctor() return doctor
def last_holters(doctor, days_count): ''' Returns doctors holters from last days, defined by days_count ''' today = datetime.datetime.strptime(_today_date(), "%d.%m.%Y") predate_folder = os.path.split(doctor.folder)[0] holters = {} for i in xrange(days_count): date = today - datetime.timedelta(i, 0) holters_folder = os.path.join(predate_folder, date.strftime("%d.%m.%Y")) if os.path.exists(holters_folder): holters[date.strftime("%d.%m.%Y")] = _holters_from_folder(holters_folder) return holters