コード例 #1
0
ファイル: server.py プロジェクト: Sadzka/Idle-Game
    def __listen(self):
        print("Listening...")
        cursor = Connection().getInstance()
        while True:
            data, clientInfo = self.incoming.receive()
            clientIP, clientPort = clientInfo

            print("DEBUG: Received from " + clientIP + ":" + str(clientPort))
            print("DEBUG: ", data)

            packet = Packet(raw_data=data)
            type = packet.get_type()

            print("DEBUG: Type ->", type)

            if type == PacketType.MESSAGE:
                print("message: ", packet.get())

            if type == PacketType.PING:
                outgoing_packet = Packet(PacketType.PING)
                outgoing_packet.add("pong")
                self.outgoing.send(outgoing_packet, clientIP, clientPort)

            if type == PacketType.LOGIN:
                outgoing_packet = Packet(PacketType.LOGIN)

                login = packet.get()
                password = packet.get()
                print("DEBUG: Login ->", login)
                print("DEBUG: Password ->", password)

                querry = "SELECT * FROM `users` WHERE `username`=? AND `password`=?"
                cursor.execute(querry, (login, password))

                users = cursor.fetchall()
                if len(users) == 1:
                    user = users[0]
                    print("DEBUG: Login success")
                    outgoing_packet.add(1)
                    self.users.append([user[0], user[1], clientIP, clientPort])
                else:
                    print("DEBUG: Login failed")
                    outgoing_packet.add(0)

                self.outgoing.send(outgoing_packet, clientIP, clientPort)
コード例 #2
0
ファイル: compress_thumbnails.py プロジェクト: ejrh/filesys
def main():
    print "Connecting"
    db = Connection()
    db.connect()

    print "Compressing thumbnails"
    db.execute("""SELECT id FROM thumbnail""")
    for (id,) in db.cursor.fetchall():
        db.execute("""SELECT thumbnail FROM thumbnail WHERE id = %d""" % id)
        thumbnail, = db.cursor.fetchone()
        new_thumbnail = compress(id, thumbnail)
        if new_thumbnail:
            db.execute(
                """UPDATE thumbnail SET thumbnail = %(tn)s WHERE id = %(id)s""",
                {"tn": db.make_binary(new_thumbnail), "id": id},
            )
            db.commit()
            print "Compressed thumbnail %d from %d bytes to %d bytes" % (id, len(thumbnail), len(new_thumbnail))
コード例 #3
0
ファイル: pipelines.py プロジェクト: ejamesc/sgbeat-scraper
    def process_item(self, item, spider):
    	"""For each item, check if uname exists.
    	Write tweet to database
    	"""
    	db = Connection(host = HOST_NAME,
    					database = MYSQL_DB_NAME,
    					user = MYSQL_USER_NAME,
    					password = MYSQL_PASSWORD)
    	tweet = item["tweet"]
    	user = db.get("SELECT id FROM users WHERE username=%s", item["username"])
    	twt = db.get("SELECT * FROM tweets WHERE tweet=%s", tweet)
    	if not twt:
    		if user:
    			db.execute("INSERT into tweets (user, tweet) VALUES (%s, %s)", user["id"], tweet)
    		else:
    			db.execute("INSERT into users (username) VALUES (%s)", item["username"])
    			user = db.get("SELECT id FROM users WHERE username=%s", item["username"])
    			db.execute("INSERT into tweets (user, tweet) VALUES (%s, %s)", user["id"], tweet)

    	db.close()
        return item
コード例 #4
0
ファイル: __init__.py プロジェクト: ejrh/filesys
class Filesys(object):

    def __init__(self):
        self.db = None


    def connect(self, connstr = None):
        self.db = Connection(connstr)
        self.db.connect()
        self.prepare_queries()


    def prepare_queries(self):
        self.db.prepare("""PREPARE get_latest_rev AS SELECT MAX(rev_id) AS rev_id FROM revision""")
        
        self.db.prepare("""PREPARE get_root(INTEGER) AS SELECT rev_id, time, id, name, size, modified FROM revision JOIN file ON root_id = id WHERE rev_id = $1""")
        
        self.db.prepare("""PREPARE get_all_roots AS SELECT rev_id,time, id, name, size, modified FROM revision JOIN file ON root_id = id""")
        
        self.db.prepare("""PREPARE get_subdirs(INTEGER) AS SELECT id, name, size, modified, md5, children, descendants, free_space, total_space FROM file_in_dir JOIN file ON file_id = id NATURAL JOIN directory NATURAL LEFT JOIN drive WHERE dir_id = $1 ORDER BY LOWER(name)""")
        
        self.db.prepare("""PREPARE get_children(INTEGER) AS SELECT id, name, size, modified, md5, children, descendants, free_space, total_space FROM file_in_dir JOIN file ON file_id = id NATURAL LEFT JOIN directory NATURAL LEFT JOIN drive WHERE dir_id = $1 ORDER BY LOWER(name)""")


    def get_latest_rev(self):
        self.db.execute("""EXECUTE get_latest_rev""")
        return self.db.fetchone()['rev_id']


    def get_root(self, rev_id):
        params = {'rev_id': rev_id}
        self.db.execute("""EXECUTE get_root(%(rev_id)s)""", params)
        row = self.db.fetchone()
        
        return Item(row)


    def get_all_roots(self):
        params = {}
        self.db.execute("""EXECUTE get_all_roots""", params)
        
        rv = []
        for row in self.db.fetchall():
            rv.append(Item(row))
        
        return rv


    def get_subdirs(self, id):
        params = {'id': id}
        self.db.execute("""EXECUTE get_subdirs(%(id)s)""", params)
        
        rv = []
        for row in self.db.fetchall():
            rv.append(Item(row))
        
        return rv


    def get_children(self, id):
        params = {'id': id}
        self.db.execute("""EXECUTE get_children(%(id)s)""", params)
        
        rv = []
        for row in self.db.fetchall():
            rv.append(Item(row))
        
        return rv