def __init__(self, bahnhof, zug, ankunft): self.cursor = connection.get_cursor() now = datetime.now() select_query = Template(SELECT).substitute(bid=bahnhof.get_id(), zid=zug.get_id()) insert_query = Template(INSERT).substitute( bid=bahnhof.get_id(), zid=zug.get_id(), ankunft=ankunft.strftime("%H:%M:%S"), erstellt=now.strftime("%Y-%m-%d %H:%M:%S"), aktualisiert=now.strftime("%Y-%m-%d %H:%M:%S"), counter=1, ) try: self.cursor.execute(select_query) if self.cursor.rowcount == 0: # noch kein Profileintrag vorhanden self.cursor.execute(insert_query) else: # Profileintrag aktualisieren result = self.cursor.fetchone() if now.date() == result[1].date(): counter = result[2] else: counter = result[2] + 1 update_query = Template(UPDATE).substitute( aktualisiert=now.strftime("%Y-%m-%d %H:%M:%S"), pid=result[0], counter=counter ) self.cursor.execute(update_query) self.cursor.execute(select_query) self.id = self.cursor.fetchone()[0] except MySQLdb.Error, e: logging.error("MySQL Error: %s", str(e))
def __init__(self, typ, nr): self._cursor = connection.get_cursor() select_query = Template(SELECT).substitute(typ=typ, nummer=nr) insert_query = Template(INSERT).substitute(typ=typ, nummer=nr) try: self._cursor.execute(select_query) if self._cursor.rowcount == 0: # kein Eintrag in der Datenbank self._cursor.execute(insert_query) self._cursor.execute(select_query) self._id, self._typ, self._nr = self._cursor.fetchone() except MySQLdb.Error, e: logging.error("MySQL Error: %s", str(e))
def get_all_for_strecke(cls, strecke): cursor = connection.get_cursor() select_query = Template(SELECT).substitute(sid=long(strecke.get_id())) try: cursor.execute(select_query) if cursor.rowcount == 0: # keine Bahnhoefe vorhanden bahnhof_list = [] else: result = cursor.fetchall() bahnhof_list = [Bahnhof(id, name, uname, strecke) for id, name, uname in result] cursor.close() return bahnhof_list except MySQLdb.Error, e: logging.error("MySQL Error: %s" % str(e))
def __init__(self, profil, minuten): self._cursor = connection.get_cursor() today = date.today() select_query = Template(SELECT).substitute( pid=profil.get_id(), datum=today.isoformat()) insert_query = Template(INSERT).substitute( pid=profil.get_id(), minuten=minuten, datum=today.isoformat()) update_query = Template(UPDATE).substitute( minuten=minuten, pid=profil.get_id(), datum=today.isoformat()) try: self._cursor.execute(select_query) if self._cursor.rowcount == 0: # keine Verspaetung vorhanden self._cursor.execute(insert_query) else: self._cursor.execute(update_query) except MySQLdb.Error, e: logging.error("MySQL Error: %s" % str(e))