def produceTable(): session = CreateSession() p = session.query(Table).delete() session.commit() managers = session.query(Managers).all() for m in managers: f = session.query(Fixtures).filter_by(managerId=m.id).all() score = sum([i.score for i in f if i.score is not None]) points = sum([i.points for i in f if i.score is not None]) tb = Table(managerId=m.id, score=score, points=points) session.add(tb) session.commit() t = session.query(Table).order_by(desc(Table.points)).order_by( desc(Table.score)).all() p = session.query(Table).delete() session.commit() x = 0 for i in t: x += 1 tb = Table(position=x, managerId=i.managerId, score=i.score, points=i.points) session.add(tb) session.commit() session.close()
def test_models(self): #Create a Table and a Waiter table = Table(table_no="table1") db.session.add(table) table2 = Table(table_no="table2") db.session.add(table2) table3 = Table(table_no="table3") db.session.add(table3) table4 = Table(table_no="table4") db.session.add(table4) table5 = Table(table_no="table4") db.session.add(table4) waiter = Waiter(name="Juan") db.session.add(waiter) db.session.commit() service = Service(tip=90.80) db.session.add(service) db.session.commit() service = Service(tip=90.80) db.session.add(service) db.session.commit() service = Service(tip=90.80) db.session.add(service) db.session.commit() service = Service(tip=90.80) db.session.add(service) db.session.commit() try: service = Service(tip=90.80) except Exception: pass
def update_mysql_data(self, engine, schema, table_name, data_dict, where, logger): # sql_comment = 'UPDATE %s SET ' % table_name + ','.join(['%s=%r' % (k, data_dict[k]) for k in data_dict]) + ' WHERE %s=%r;' % (where[0], where[1]) # cursor = session.execute(sql_comment) # session.commit() # result = cursor.lastrowid # print("cursor",cursor) # print("result",result) # print(cursor.lastrowid) try: # 绑定引擎 metadata = MetaData(engine) # 连接数据表 tb_bdm_employee = Table(table_name, metadata, autoload=True) # 连接引擎 conn = engine.connect() ins = tb_bdm_employee.update().where( schema.Column(where[0]) == where[1]).values( **data_dict ) # table.update().where(table.c.id==7).values(name='foo') # 传递参数并执行语句 result = conn.execute(ins) return result except Exception as e: print("error_update_dict:", data_dict) file_path = os.path.join( sys.path[0], "logs", "%s.log" % datetime.datetime.strftime( datetime.datetime.now(), "%Y_%m_%d")) log = logger(filename=file_path) log.removeHandler(log.handlers) log.info(e.__str__()) traceback.print_exc() return None
def insert_mysql_data(self, engine, table_name, data_dict, logger): # sql_comment = "insert into {table_name} {filed_list} values {data_tuple}".format( # table_name=table_name,filed_list=filed_list, data_tuple=data_tuple) # sql_comment = "insert into tb_bdm_employee 'EmployeeID' values 5" # # print(sql_comment) # cursor = session.execute(sql_comment) # session.commit() # result = cursor.lastrowid # print(cursor.lastrowid) try: # 绑定引擎 metadata = MetaData(engine) # 连接数据表 tb_bdm_employee = Table(table_name, metadata, autoload=True) # 连接引擎 conn = engine.connect() ins = tb_bdm_employee.insert() # 传递参数并执行语句 result = conn.execute(ins, **data_dict) return result.lastrowid except Exception as e: traceback.print_exc() file_path = os.path.join( sys.path[0], "logs", "%s.log" % datetime.datetime.strftime( datetime.datetime.now(), "%Y_%m_%d")) log = logger(filename=file_path) log.removeHandler(log.handlers) log.info(e.__str__()) traceback.print_exc() return None
def multi_insert_mysql_data(self, engine, data_dict, logger): # 连接引擎 # conn = engine.connect() # 传递参数并执行语句 try: # 绑定引擎 metadata = MetaData(engine) # 连接数据表 # print("all_insert_data_dict:",data_dict) new_dict = {} for data_list in data_dict: for table, data in data_list.items(): tb_bdm_employee = Table(table, metadata, autoload=True) ins = tb_bdm_employee.insert() new_dict[ins] = data print('new_dict', new_dict) with engine.begin() as conn: # conn = engine.begin() for ins, data in new_dict.items(): result = conn.execute(ins, **data) return result.lastrowid except Exception as e: file_path = os.path.join( sys.path[0], "logs", "%s.log" % datetime.datetime.strftime( datetime.datetime.now(), "%Y_%m_%d")) log = logger(filename=file_path) log.removeHandler(log.handlers) log.info(e.__str__()) traceback.print_exc() return False
def _getTables(self, xml): tables = [] for table in xml.getElementsByTagName("table"): tmp = Table() for attributeName, attributeValue in table.attributes.items(): if attributeName.lower() == "name": tmp.name = attributeValue elif attributeName.lower() == "description": tmp.description = attributeValue elif attributeName.lower() == "props": for prop in attributeValue.split(", "): if prop == "add": tmp.add = True elif prop == "edit": tmp.edit = True elif prop == "delete": tmp.delete = True else: raise ValueError( "Invalid format of props string: {}".format( attributeValue)) elif attributeName.lower() == "ht_table_flags": tmp.ht_table_flags = attributeValue elif attributeName.lower() == "access_level": tmp.access_level = attributeValue else: raise ValueError( "Incorrect attribute name \"{}\" in tag \"{}\" ". format(attributeName, table.nodeName)) tmp.fields = self._getFields(table) tmp.constraints = self._getConstraints(table) tmp.indices = self._getIndices(table) tables.append(tmp) return tables
def form(request): if request.method == "POST": try: num = Table.objects.get(url=request.POST["nombre"]).id return HttpResponse("La url cortada es :" + str(num)) except Table.DoesNotExist: record = Table(url=request.POST["nombre"].replace( '%3A', ':').replace('%2F', '/')) record.save() return HttpResponse( "La url cortada es :" + "<a href=" + Table.objects.get(url=request.POST["nombre"]).url + ">" + str(Table.objects.get(url=request.POST["nombre"]).id) + "</a>") form = "" form += "<body><h1>Url Shortener </h1><form method=post>Escribe la url:<input type=text name= nombre value=http:// /> <br/><input type=submit value=Enviar /></form>" contents = Table.objects.all() respues = "<ul>" for cont in contents: print cont respues += "<li> <a href=" + str(cont.id) + ">" + str( cont.url) + "</a></li>" respues += "</ul></body></html>" return HttpResponse(form + respues)
def analyze(request, recurso): salida = "" if request.method == 'GET': print str(request.user.is_authenticated()) try: record = Table.objects.get(resource=recurso) return HttpResponse(record.name) except Table.DoesNotExist: lista = Table.objects.all() for fila in lista: salida += "<ul><li> Recurso: " + str( fila.resource) + "\r" + str(fila.name) + "</li></ul>" return HttpResponseNotFound('<br>Recurso no disponible' + salida) elif request.method == 'PUT': print str(request.user.is_authenticated()) if request.user.is_authenticated(): record = Table(resource=recurso, name=request.body) record.save() return HttpResponse("<h1><p>Logged in as " + request.user.username + "</p>Actualizando.../h1>" + str(recurso) + "......" + str(request.body)) else: return HttpResponse("Not logged in" + "<a href=http://" + request.get_host() + "/admin" + "> Log in</a>")
def create_table(): deck_identifier = ''.join( random.choice(string.ascii_uppercase + string.digits) for _ in range(40)) init_deck(deck_identifier) db.session.add(Table(deck_identifier)) db.session.commit()
def insert_sqlserver_data(self, engine, table_name, data_dict): # 绑定引擎 metadata = MetaData(engine) # 连接数据表 tb_bdm_employee = Table(table_name, metadata, autoload=True) # 连接引擎 conn = engine.connect() ins = tb_bdm_employee.insert() # 传递参数并执行语句 result = conn.execute(ins, **data_dict) return result
def analyze(request, recurso): if request.method == 'GET': try: record = Table.objects.get(resource=recurso) return HttpResponse(record.name) except Table.DoesNotExist: return HttpResponseNotFound('Page not found:') elif request.method == 'PUT': record = Table(resource=recurso, name=request.body) record.save() return HttpResponse('<h1>Actualizando.../h1>' + request.body)
def update_sqlserver_data(self, engine, table_name, data_dict, where): metadata = MetaData(engine) # 连接数据表 tb_bdm_employee = Table(table_name, metadata, autoload=True) # 连接引擎 conn = engine.connect() ins = tb_bdm_employee.update().where( schema.Column(where[0]) == where[1]).values( **data_dict ) # table.update().where(table.c.id==7).values(name='foo') # 传递参数并执行语句 result = conn.execute(ins) return result
def create_snapshot(self, snapshot_name, before_copy=None): snapshot = Snapshot(snapshot_name=snapshot_name, project_name=self.config['project_name']) self.db.session.add(snapshot) self.db.session.flush() for table_name in self.config['tracked_databases']: if before_copy: before_copy(table_name) table = Table(table_name=table_name, snapshot=snapshot) self.operations.copy_database(table_name, table.get_table_name('master')) self.db.session.add(table) self.db.session.commit() self.start_background_slave_copy(snapshot)
def deploy(self, table_params=[{}], robot_names=[]): if table_params and robot_names: for t in table_params: if set(Table.attributes) <= set(t): self.tables[t['name']] = Table(t['name'], t['dx'], t['dy'], t['rule']) else: print('Table parameters "%s" not valid!' % t) for name in robot_names: self.robots[str(name)] = Robot(str(name)) return True else: print("No valid data for creating tables and robots!") return False
def test_models(self): #Create a Table and a Waiter table = Table(table_no="table1") db.session.add(table) waiter = Waiter(name="Juan") db.session.add(waiter) db.session.commit() service = Service(tip=90.80) db.session.add(service) db.session.commit() query = Service.query.all() #Check that all users exist assert len(query) == 1 assert query[0].table_id == 1 assert query[0].waiter_id == 1 assert ((query[0].exit - query[0].arrival).seconds / 60) >= 90
def post(self): status_code = 200 parser = reqparse.RequestParser() parser.add_argument("table_category_id") parser.add_argument("restaurant_id") parser.add_argument("seat_count") parser.add_argument("count") args = parser.parse_args() try: table = Table(category_id=args['table_category_id'], restaurant_id=args['restaurant_id'], seat_count=args['seat_count'], count=args['count']) db.session.add(table) db.session.commit() result = {'Table': table.id} except: status_code = 404 result = {'message': 'There is some error'} return result, status_code
def form(request): if request.method == "GET": out = "" form = '<form action="" method="POST">' form += 'URL a acortar: <input type="text" name="real_url">' form += '<input type="submit" value="Enviar">' form += '</form>' out += form list = Table.objects.all() if list: out += "The previous searches are: " out += "<html><body><ul>\n" for i in list: out += "<li><a href=" + str(i.id) + ">" out += i.real_url + "</a></li>\n" out += "</ul></body></html>" else: out += "There are no previous searches on this page" out += "</ul></body></html>" return HttpResponse(out) elif request.method == "PUT" or request.method == "POST": out = "" url = request.body url = url.split("real_url=")[1] if url == "": return HttpResponseBadRequest("Empty url") elif not url.startswith("http://") and not url.startswith("https://"): url = "http://" + url else: url = url.split("%3A%2F%2F")[0] try: new = Table.objects.get(real_url=request.body) except Table.DoesNotExist: new = Table(real_url=url) new.save() out += ("<html><body>" + "URL buscada: " + "<a href=" + url + ">" + url + "</href></br>" + "URL acortada: " + "<a href=" + str(new.id) + ">" + str(new.id) + "</href></br>" + "</body></html>") return HttpResponse(out)
def sendmail(text): # check optional params on type if type(text["optional"]) != str or not text: return "Error optional" # write data and time for identification to db and give result try: # add time in text text["time"] = time.time() # connect to db db = Table("email", "email") #db.show_db() # insert data + time data = db.insert(**text) #print(data) return "Success" except: pass return "Error email"
def post(self): user = users.get_current_user() Restaurant( name=self.request.get('name_r'), phone=self.request.get('phone_r'), street_address=self.request.get('street'), city=self.request.get('city'), state=self.request.get('state'), zip_code=self.request.get('zip'), user=user.email(), ).put() Table( description=self.request.get('table_description'), max=self.request.get('table_size_max'), min=self.request.get('table_size_min'), #restaurant_id = self.request.get(), full=False, time_filled=datetime.datetime.now(), ).put()
def newtable(request): if request.method == 'POST': # If the form has been submitted... # ContactForm was defined in the the previous section form = NewTableForm(request.POST) # A form bound to the POST data if form.is_valid(): # All validation rules pass # Process the data in form.cleaned_data # ... newTableEntry = Table(currentUsers=1, tableLimit=form.cleaned_data['tableLimit'], tableBlind=form.cleaned_data['tableBlind']) newTableEntry.save() args = RequestContext(request) args['user'] = request.user return redirect('/tables/' + str(newTableEntry.id)) else: form = NewTableForm() # An unbound form return render(request, 'createTable.html', { 'form': form, })
def urls(request, resource): if request.method == "GET": list = Table.objects.filter(blog=resource) if not list: return notfound(request, resource) out = " " for i in list: out += 'Blog \" ' + i.blog + ' \": ' out += "<a href=http://" + i.url + ">" + i.url + "</a>\n" out += login_message(request) return HttpResponse(out) elif request.method == "PUT": if request.user.is_authenticated(): new_blog = Table(blog=resource, url=request.body) new_blog.save() out = ("New blog added. ") else: out = ("You must log in.") out += login_message(request) return HttpResponse(out) else: return HttpResponseForbidden
def _getDbTables(self, cur, schema_id): tables = [] db_tables = cur.execute( """ SELECT * from dbd$tables WHERE schema_id = :id GROUP BY id""", { "id": schema_id }).fetchall() tables_metadata = self._getMetadata(cur, "dbd$tables") for table in db_tables: table_dictionary = dict(zip(tables_metadata, list(table))) tmp = Table(table_dictionary) if table_dictionary.get("id") is not None: tmp.fields = self._getDbFields(cur, table_dictionary["id"]) tmp.constraints = self._getDbConstraints( cur, table_dictionary["id"]) tmp.indices = self._getDbIndices(cur, table_dictionary["id"]) tables.append(tmp) return tables
def update_mysql_data(self, engine, schema, table_name, data_dict, where, logger): try: # 绑定引擎 metadata = MetaData(engine) # 连接数据表 tb_bdm_employee = Table(table_name, metadata, autoload=True) # address_table = Table('address', metadata, autoload=True) # 连接引擎 conn = engine.connect() # print('where', where) # print('data_dict', data_dict) ins = tb_bdm_employee.update().where(schema.Column(where[0]) == where[1]).values( **data_dict) # table.update().where(table.c.id==7).values(name='foo') # 传递参数并执行语句 result = conn.execute(ins) return result except Exception as e: file_path = os.path.join(sys.path[0], "logs", "%s.log" % datetime.datetime.strftime(datetime.datetime.now(), "%Y_%m_%d")) log = logger(filename=file_path) log.removeHandler(log.handlers) log.info(e.__str__()) traceback.print_exc() return None
def index_work_db(config, db): return from models import Table, Column, ForeignKey import psycopg2 if int(os.environ.get('RUN_MIGRATION', 0)) != 0: return # FIXME: dirty hack for migration! # clear old data db.session.query(ForeignKey).filter().delete() db.session.query(Column).filter().delete() db.session.query(Table).filter().delete() # connect to db pg_conn = psycopg2.connect( get_pg_connection_string(config['DBHOST'], config['DBNAME'], config['DBUSER'], config['DBPASS'])) cur = pg_conn.cursor() # find tables rows = get_tables(cur) tables = [] for row in rows: table = Table(schema=row[0], name=row[1]) tables.append(table) db.session.add(table) rows = None del rows db.session.commit() # save tables in db # find columns rows = get_columns(cur, [table.name for table in tables]) columns = [] for row in rows: table = next( (t for t in tables if t.schema == row[0] and t.name == row[1]), None) if table is not None: column = Column(name=row[2], data_type=row[3], table_id=table.id) columns.append(column) db.session.add(column) rows = None del rows db.session.commit() # save columns in db # find fk rows = get_foreign_keys(cur) fks = [] # name, table_schema, table_name, column_name, foreign_table_schema, foreign_table_name, foreign_column_name for row in rows: print("fk: %s" % str(row)) column = next((c for c in columns if c.table.schema == row[1] and c.table.name == row[2]), None) foreign_colum = next( (c for c in columns if c.table.schema == row[4] and c.table.name == row[5]), None) if column is not None and foreign_colum is not None: fk = ForeignKey(name=row[0], column_id=column.id, foreign_column_id=foreign_colum.id) fks.append(fk) try: db.session.add(fk) db.session.commit() # save fks in db except Exception as ex: print("Error: %s" % str(ex)) rows = None del rows
def build_database(): db.create_all() contraindications = [] for vacc in vaccines_: for cont in vacc['contraindications']: contraindications.append(Contraindication(cont)) vaccine = Vaccines(vacc['title'], 1, contraindications, vacc['by_health'], vacc['periodicity']) vac_dict[vacc['title']] = vaccine contraindications = [] db.session.add(vaccine) db.session.commit() data1 = Data(2, [ vac_dict['Гепатит В'], vac_dict['АКДП'], vac_dict['Поліомієліт'], vac_dict['Хіб-інфекція'] ]) db.session.add(data1) data2 = Data( 4, [vac_dict['АКДП'], vac_dict['Поліомієліт'], vac_dict['Хіб-інфекція']]) db.session.add(data2) data3 = Data( 6, [vac_dict['Гепатит В'], vac_dict['АКДП'], vac_dict['Поліомієліт']]) db.session.add(data3) data4 = Data(12, [vac_dict['Хіб-інфекція'], vac_dict['КПК']]) db.session.add(data4) data5 = Data(18, [vac_dict['АКДП'], vac_dict['Поліомієліт']]) db.session.add(data5) data6 = Data(72, [vac_dict['АДП'], vac_dict['Поліомієліт'], vac_dict['КПК']]) db.session.add(data6) data7 = Data(168, [vac_dict['Поліомієліт']]) db.session.add(data7) data8 = Data(192, [vac_dict['АДП']]) db.session.add(data8) data9 = Data(6, [vac_dict['Грип']]) db.session.add(data9) data10 = Data(0, [vac_dict['Пневмококова інфекція']]) db.session.add(data10) data11 = Data(0, [vac_dict['Хіб-інфекції']]) db.session.add(data11) data12 = Data(24, [vac_dict['Менінгококова інфекція']]) db.session.add(data12) data13 = Data(12, [vac_dict['Гепатит А']]) db.session.add(data13) table = Table("calendar of vaccination", [ data1, data2, data3, data4, data5, data6, data7, data8, data9, data10, data11, data12, data13 ]) db.session.add(table) table.data = [ data1, data2, data3, data4, data5, data6, data7, data8, data9, data10, data11, data12, data13 ] db.session.commit() print() print() for data_item in Data.query.all(): print(data_item.age_in_months, end=" = ") for vacine in data_item.vaccines: print(vacine.name, ":", vacine.dose, " by health: ", vacine.by_health) for contraindication in vacine.contraindications: print(" [", contraindication.title, end="] ") print() print() print()
import sys import smtplib import logging from time import sleep from daemon_email import Daemon from models import Table # initialize db_name "email" and collection "email" db = Table("email", "email") logging.basicConfig(level=logging.DEBUG, filename="test.log", format="%(message)s") def sendmail(array): """function for read data in db and send mail """ username = '******' FROM = username TO = [array["to"]] SUBJECT = array["subject"] # check on correct data in optional if type(array["optional"]) == str and array["optional"]: TEXT = array["optional"] else: return "Error: missed argument" # make template message = """From: %s\nTo: %s\nSubject: %s\n\n%s""" % (FROM, ", ".join(TO), SUBJECT, TEXT) try:
def __init__(self, grammar, input_buffer): self.grammar = grammar self.input_buffer = input_buffer self.states = [] self.table = Table()
def setUp(self): self.table1 = Table('table1', 5, 5) self.table2 = Table('table1', 10, 10) self.table3 = Table('table1', 50, 50, {'TO_SOUTH': 1, 'TO_NORTH': -1, 'TO_WEST': 1, 'TO_EAST': -1}) self.table4 = Table('table1', 100, 100, {'TO_SOUTH': 1, 'TO_NORTH': -1, 'TO_WEST': -1, 'TO_EAST': 1})
def seed_data(): #restaurants shake_key = Restaurant(name="Shake Shack", phone="3234883010", street_address="8520 Santa Monica Blvd", city="West Hollywood", state="CA", zip_code="90069", user="******").put() in_key = Restaurant(name="In n Out", phone="8007861000", street_address="13425 Washington Blvd", city="Marina Del Rey", state="CA", zip_code="90292", user="******").put() cheese_key = Restaurant(name="Cheescake Factory", phone="3102601296", street_address="395 Santa Monica Place", city="Santa Monica", state="CA", zip_code="90401", user="******").put() blaze_key = Restaurant(name="Blaze Pizza", phone="3103400638", street_address="4114 Sepulveda Blvd", city="Culver City", state="CA", zip_code="90230", user="******").put() #tables shake1_table_key = Table(max="5", table_name="table1", restaurant_id=shake_key, full=False).put() shake2_table_key = Table(max="2", table_name="table2", restaurant_id=shake_key, full=False).put() shake3_table_key = Table(max="4", table_name="table3", restaurant_id=shake_key, full=False).put() shake4_table_key = Table(max="5", table_name="table4", restaurant_id=shake_key, full=False).put() in1_table_key = Table(max="5", table_name="table1", restaurant_id=in_key, full=False).put() in2_table_key = Table(max="4", table_name="table2", restaurant_id=in_key, full=False).put() in3_table_key = Table(max="2", table_name="table3", restaurant_id=in_key, full=False).put() cheese1_table_key = Table(max="5", table_name="table1", restaurant_id=cheese_key, full=False).put() cheese2_table_key = Table(max="4", table_name="table2", restaurant_id=cheese_key, full=False).put() cheese3_table_key = Table(max="2", table_name="table3", restaurant_id=cheese_key, full=False).put() blaze1_table_key = Table(max="5", table_name="table1", restaurant_id=blaze_key, full=False).put() blaze2_table_key = Table(max="4", table_name="table2", restaurant_id=blaze_key, full=False).put() blaze3_table_key = Table(max="2", table_name="table3", restaurant_id=blaze_key, full=False).put() #wait shake_c1_key = Wait(customer="John Doe", phone="3107176463", party_size="5", restaurant_key=shake_key).put() shake_c2_key = Wait(customer="Jane Doe", phone="3107176463", party_size="2", restaurant_key=shake_key).put() shake_c3_key = Wait(customer="Bob", phone="3107176463", party_size="4", restaurant_key=shake_key).put() in_c1_key = Wait(customer="John Doe", phone="3107176463", party_size="5", restaurant_key=in_key).put() in_c2_key = Wait(customer="Jane Doe", phone="3107176463", party_size="2", restaurant_key=in_key).put() in_c3_key = Wait(customer="Bob", phone="3107176463", party_size="4", restaurant_key=in_key).put() cheese_c1_key = Wait(customer="John Doe", phone="3107176463", party_size="5", restaurant_key=blaze_key).put() cheese_c2_key = Wait(customer="Jane Doe", phone="3107176463", party_size="2", restaurant_key=blaze_key).put() cheese_c3_key = Wait(customer="Bob", phone="3107176463", party_size="4", restaurant_key=blaze_key).put() blaze_c1_key = Wait(customer="John Doe", phone="3107176463", party_size="5", restaurant_key=blaze_key).put() blaze_c2_key = Wait(customer="Jane Doe", phone="3107176463", party_size="2", restaurant_key=blaze_key).put() blaze_c3_key = Wait(customer="Bob", phone="3107176463", party_size="4", restaurant_key=blaze_key).put()
# DATABASES # * conn # * make_table # * write_to_table # * write_db # * read_db # COLUMN TESTS # LOADING DATA # * __init__ # COMPARATORS x = {'alexandradipalma2': {'first': 1, 'second': 0}, 'davidbourne': {'first': 25, 'second': 60}, 'craig': {'first': 174, 'second': 323}} y = Table(x) print(y.rows(1,3)) #_filter = [True if i < 1 else False for i in range(0, len(y))] #print(y.filter(_filter).data()) #df = Table('student_data.csv') #df1 = df.sort('Cohort', 'First Name').select('Cohort', 'First Name').desc() #print(df1.data()) #print(Table()) #x = Column([1,5,9,15]) #y = Column([1,2,3,4]) #print(x) #print(y) #df = Table([x,y])