Exemple #1
0
 def test_getdatetime(self):
     """ 測試 轉換 _id 為時間值 """
     print "{0:-^30}".format("do_getdatetime")
     data = {"name": "eromoot", "age": 28, "info": u"中文…"}
     result = DictDB().insert(data)  # 新增一筆資料
     print result
     print DictDB.getdatetime(result.get("_id"))
Exemple #2
0
 def test_del(self):
     """ 測試 刪除資料 """
     print "{0:-^30}".format("do_del")
     data = {"name": "toomore_del", "age": 18}
     getinsert = DictDB().insert(data)  # 將新增資料
     print DictDB().find_one({"_id": getinsert.get("_id")})  # 印出資料
     DictDB().remove({"_id": getinsert.get("_id")})  # 刪除資料
     result = DictDB().find_one({"_id": getinsert.get("_id")})  # 印出剛刪除的資料 None
     assert result is None
Exemple #3
0
 def test_update(self):
     """ 測試 修改資料  """
     print "{0:-^30}".format("do_update")
     data = {"name": "toomore2", "age": 18}  # 原資料
     getinsert = DictDB().insert(data)  # 新增資料
     print getinsert  # 印出新增資料
     data = {"name": "toomore_update", "age": 28, "loc": "kaohsiung"}  # 欲修改資料內容
     DictDB().update(getinsert, data)  # 修改資料
     result = DictDB().find_one({"_id": getinsert.get("_id")})  # 印出修改後的資料
     assert result["age"] == data["age"]
Exemple #4
0
 def test_clean(self):
     """ 測試 清空資料 """
     data = DictDB()
     data.insert({"name": "toomore"})
     data.clean()
     assert len(list(data.find())) == 1
     data.clean(confirm=True)
     assert len(list(data.find())) == 0
Exemple #5
0
import sys, os, atexit, pickle, pdb
import socket, socketserver
from concurrent.futures import ThreadPoolExecutor, wait

from dictdb import DictDB

PROMT = "%s> "

peers_db = DictDB("peers.txt")

stop = False
peers = {}
threads = []


class Event:
    def __init__(self, **kw):
        self.__dict__.update(kw)

    event_type = None
    username = None
    server_port = None
    message = None


class ChatPeer:
    def __init__(self, **kw):
        self.__dict__.update(kw)

    username = None
    port = None