-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdb.py
152 lines (130 loc) · 5.26 KB
/
db.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
import sys
import pymysql
DB_NAME = "tarea2"
DB_USERNAME = "cc5002"
DB_PASSWORD = "programacionweb"
DB_HOST = "localhost"
DB_PORT = 3306
DB_CHARSET = "utf8"
def get_conn():
conn = pymysql.connect(
db=DB_NAME,
user=DB_USERNAME,
passwd=DB_PASSWORD,
host=DB_HOST,
port=DB_PORT,
charset=DB_CHARSET
)
return conn
# DONACIONES
def insert_into_donacion(comuna_id, calle_numero, tipo, cantidad, fecha_disponibilidad, descripcion, condiciones_retirar, nombre, email, celular):
conn = get_conn()
cursor = conn.cursor()
cursor.execute('INSERT INTO donacion (comuna_id, calle_numero, tipo, cantidad, fecha_disponibilidad, descripcion, condiciones_retirar, nombre, email, celular) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s);',(comuna_id, calle_numero, tipo, cantidad, fecha_disponibilidad, descripcion, condiciones_retirar, nombre, email, celular) )
conn.commit()
return cursor.lastrowid
def get_five_donacion(page):
conn = get_conn()
cursor = conn.cursor()
cursor.execute('SELECT id, comuna_id, calle_numero, tipo, cantidad, fecha_disponibilidad, descripcion, condiciones_retirar, nombre, email, celular FROM donacion ORDER BY id DESC LIMIT %s,5',(page*5,))
pedidos = cursor.fetchall()
return pedidos
def get_donacion_by_id(id):
conn = get_conn()
cursor = conn.cursor()
cursor.execute('SELECT id, comuna_id, calle_numero, tipo, cantidad, fecha_disponibilidad, descripcion, condiciones_retirar, nombre, email, celular FROM donacion WHERE id=%s', (id,))
donacion = cursor.fetchone()
return donacion
def get_amount_donaciones():
conn = get_conn()
cursor = conn.cursor()
cursor.execute('SELECT COUNT(*) FROM donacion;')
amount = cursor.fetchone()
return amount
def get_amount_donaciones_by_type():
conn = get_conn()
cursor = conn.cursor()
cursor.execute('SELECT tipo, COUNT(*) FROM donacion GROUP BY tipo;')
amount = cursor.fetchall()
return amount
# PEDIDOS
def insert_into_pedido(comuna_id, tipo, descripcion, cantidad, nombre_solicitante, email_solicitante, celular_solicitante):
conn = get_conn()
cursor = conn.cursor()
cursor.execute('INSERT INTO pedido (comuna_id, tipo, descripcion, cantidad, nombre_solicitante, email_solicitante, celular_solicitante) VALUES (%s, %s, %s, %s, %s, %s, %s);',(comuna_id, tipo, descripcion, cantidad, nombre_solicitante, email_solicitante, celular_solicitante) )
conn.commit()
return cursor.lastrowid
def get_five_pedido(page):
conn = get_conn()
cursor = conn.cursor()
cursor.execute('SELECT id, comuna_id, tipo, descripcion, cantidad, nombre_solicitante, email_solicitante, celular_solicitante FROM pedido ORDER BY id DESC LIMIT %s,5',(page*5,))
pedidos = cursor.fetchall()
return pedidos
def get_pedido_by_id(id):
conn = get_conn()
cursor = conn.cursor()
cursor.execute('SELECT id, comuna_id, tipo, descripcion, cantidad, nombre_solicitante, email_solicitante, celular_solicitante FROM pedido WHERE id=%s',(id,))
pedido = cursor.fetchone()
return pedido
def get_amount_pedidos():
conn = get_conn()
cursor = conn.cursor()
cursor.execute('SELECT COUNT(*) FROM pedido;')
amount = cursor.fetchone()
return amount
def get_amount_pedidos_by_type():
conn = get_conn()
cursor = conn.cursor()
cursor.execute('SELECT tipo, COUNT(*) FROM pedido GROUP BY tipo;')
amount = cursor.fetchall()
return amount
# Comuna
def get_comuna_and_region_by_comuna_name(name):
conn = get_conn()
cursor = conn.cursor()
cursor.execute('SELECT * FROM comuna WHERE nombre=%s',(name,))
pedido = cursor.fetchone()
id_comuna, _, region_id = pedido
return id_comuna,region_id
def get_comuna_name_and_region_name_by_comuna_id(id):
conn = get_conn()
cursor = conn.cursor()
cursor.execute('SELECT * FROM comuna WHERE id=%s',(id,))
comuna = cursor.fetchone()
_, nombre_com, region_id = comuna
cursor.execute('SELECT * FROM region WHERE id=%s',(region_id,))
region = cursor.fetchone()
_, region_name = region
return nombre_com,region_name
def get_region_name_by_region_id(id):
conn = get_conn()
cursor = conn.cursor()
cursor.execute('SELECT * FROM region WHERE id=%s',(id,))
region = cursor.fetchone()
_, region_name = region
return region_name
# FOTOS
def insert_into_foto(ruta_archivo, nombre_archivo, donacion_id):
conn = get_conn()
cursor = conn.cursor()
cursor.execute('INSERT INTO foto (ruta_archivo, nombre_archivo, donacion_id) VALUES (%s, %s, %s);', (ruta_archivo, nombre_archivo, donacion_id))
conn.commit()
return cursor.lastrowid
def get_fotos_by_donacion_id(id):
conn = get_conn()
cursor = conn.cursor()
cursor.execute('SELECT id, ruta_archivo, nombre_archivo, donacion_id FROM foto WHERE donacion_id=%s',(id,))
foto = cursor.fetchall()
return foto
def get_foto_by_donacion_id(id):
conn = get_conn()
cursor = conn.cursor()
cursor.execute('SELECT id, ruta_archivo, nombre_archivo, donacion_id FROM foto WHERE donacion_id=%s',(id,))
foto = cursor.fetchone()
return foto
def get_foto_by_id(id):
conn = get_conn()
cursor = conn.cursor()
cursor.execute('SELECT id, ruta_archivo, nombre_archivo, donacion_id FROM foto WHERE id=%s',(id,))
foto = cursor.fetchone()
return foto