Skip to content

Instantly share code, notes, and snippets.

@CaptSolo
Created December 10, 2013 07:17
Show Gist options
  • Save CaptSolo/7886852 to your computer and use it in GitHub Desktop.
Save CaptSolo/7886852 to your computer and use it in GitHub Desktop.
Code snippet for a discussion
# -*- coding: utf8 -*-
import psycopg2, psycopg2.extensions
import atexit
# no FAQ - lai simbolus atgriež kā python unicode tipu
psycopg2.extensions.register_type(psycopg2.extensions.UNICODE)
psycopg2.extensions.register_type(psycopg2.extensions.UNICODEARRAY)
class MyApi(object):
def __init__(self, conn_info):
self.conn = psycopg2.connect(
host = conn_info["host"],
port = conn_info["port"],
dbname = conn_info["dbname"],
user = conn_info["user"],
password = conn_info["password"],
)
atexit.register(self.finalize)
def insertSomething(self, name):
cursor = self.conn.cursor()
cursor.execute("INSERT INTO Entities(Name) VALUES (%s) RETURNING EntityID;", (name,))
entityid = cursor.fetchone()[0]
self.conn.commit() # ņem commit te ārā lai palielinātu ātrdarbību?
cursor.close()
return entityid
def finalize(self):
self.conn.commit()
self.conn.close()
@abele
Copy link

abele commented Dec 10, 2013

Konekcija tiek padota MyApi kā parametrs. Viņas mūža ilgums tiek kontrolēts ārpus MyApi, iespējams izmantojot atexit.

Jādodās iesmelt iedvesma no kāda projekta! :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment