def test_letter_add_possibilities():
    code = "osxwkvosxb"
    alphabet = "abcdefghijklmnopqrstuvwxyz"
    many_char = "enisratdhulcgmobwfkzpvjyxq"
    ha = hack(code, alphabet, many_char)
    char = letter('c', ha)
    char.add_possibilities(3)
    assert len(char.possibilities) == 3
    code = "osxwkvosxb"
    alphabet = "abcdefghijklmnopqrstuvwxyz"
    many_char = "enisratdhulcgmobwfkzpvjyxq"
    ha = hack(code, alphabet, many_char)
    char = letter('d', ha)
    char.add_possibilities(5)
    assert len(char.possibilities) == 5
Beispiel #2
0
 def __init__(self,
              radius=1,
              color='b',
              bkgcolor='k',
              numberColor='w',
              name='Marcador',
              maxPoints=25):
     self.bkgcolor = bkgcolor
     self.fig, self.ax = plt.subplots(facecolor=self.bkgcolor)
     self.fig.set_size_inches(4, 4)
     self.fig.canvas.set_window_title(name)
     self.margin = 1.2
     plt.xlim(-radius * self.margin, radius * self.margin)
     plt.ylim(-radius * self.margin, radius * self.margin)
     self.radius = radius
     self.letter = letter(0,
                          0,
                          0,
                          size=radius / 2,
                          color=color,
                          textsize=30)
     self.letter.Draw(self.ax)
     self.plots = []
     self.initAx()
     self.run = False
     self.points = 0
     self.maxPoints = maxPoints
Beispiel #3
0
 def __init__(self,
              totalTime=300,
              radius=1,
              color='b',
              bkgcolor='k',
              numberColor='w',
              name='Tiempo'):
     self.bkgcolor = bkgcolor
     self.fig, self.ax = plt.subplots(facecolor=self.bkgcolor)
     self.fig.set_size_inches(4, 4)
     self.fig.canvas.set_window_title(name)
     self.margin = 1.2
     plt.xlim(-radius * self.margin, radius * self.margin)
     plt.ylim(-radius * self.margin, radius * self.margin)
     self.radius = radius
     self.letter = letter(0,
                          0,
                          totalTime,
                          size=radius / 2,
                          color=color,
                          textsize=30)
     self.letter.Draw(self.ax)
     self.plots = []
     self.initAx()
     self.run = False
     self.lastdt = 0
     self.itime = totalTime
Beispiel #4
0
def xi_handled(outgoing=True):
    global BOXPATH, VIA
    ret = []

    if outgoing:
        midpath = "outgoing"
    else:
        midpath = "incoming"

    handledpath = os.path.join(BOXPATH, midpath, "handled")
    files = os.listdir(handledpath)

    for filename in files:
        if not filename.startswith(VIA + "."):
            continue
        fullpath = os.path.join(handledpath, filename)
        if os.path.isfile(fullpath):
            # read file
            try:
                l = letter()
                l.read(fullpath)
                if l.attributes["VIA"] != VIA:
                    continue
                ret.append((l.attributes["SENDER"], l.attributes["RECEIVER"], l.attributes["TAG"], l.body))
            except:
                continue
            os.remove(fullpath)
    return ret
Beispiel #5
0
def xi_handled(outgoing = True):
    global BOXPATH,VIA
    ret = []

    if outgoing:
        midpath = 'outgoing'
    else:
        midpath = 'incoming'

    handledpath = os.path.join(BOXPATH,midpath,'handled')
    files = os.listdir(handledpath)

    for filename in files:
        if not filename.startswith(VIA + '.'):
            continue
        fullpath = os.path.join(handledpath,filename)
        if os.path.isfile(fullpath):
            # read file
            try:
                l = letter()
                l.read(fullpath)
                if l.attributes['VIA'] != VIA:
                    continue
                ret.append((l.attributes['SENDER'],l.attributes['RECEIVER'],l.attributes['TAG'],l.body))
            except:
                continue
            os.remove(fullpath)
    return ret
def test_get_index():
    code = "osxwkvosxb"
    alphabet = "abcdefghijklmnopqrstuvwxyz"
    many_char = "enisratdhulcgmobwfkzpvjyxq"
    ha = hack(code, alphabet, many_char)
    char = letter('c', ha)
    assert char.get_index("a") == 0
    assert char.get_index("b") == 1
def test_letter_init():
    code = "osxwkvosxb"
    alphabet = "abcdefghijklmnopqrstuvwxyz"
    many_char = "enisratdhulcgmobwfkzpvjyxq"
    ha = hack(code, alphabet, many_char)
    char = letter('c', ha)
    assert char.char == 'c'
    assert type(char.hack) == hack
def test_letter_add_possibilities_stupid():
    code = "osxwkvosxb"
    alphabet = "abcdefghijklmnopqrstuvwxyz"
    many_char = "enisratdhulcgmobwfkzpvjyxq"
    ha = hack(code, alphabet, many_char)
    char = letter('c', ha)
    with pytest.raises(AssertionError):
        char.add_possibilities("a")
Beispiel #9
0
 def get(self):
     if receive_queue.empty():
         return (None, None)
     remote_message = receive_queue.get()
     receive_queue.task_done()
     package = letter.letter()
     package.materialize(remote_message)
     if package.message["close"] == True:
         self.stop_work()
     elif package.message["contentT"] == "Text":
         return (package.message["content"], "Text")
     elif package.message["contentT"] == "Image":
         return (package.message["content"], "Image")
     else:
         return (None, None)
Beispiel #10
0
 def post_image(self, image_path):
     f = open(image_path, "rb")
     postfix = os.path.splitext(image_path)[-1]
     package = letter.letter()
     package.set_user(username_local, username_remote)
     package.set_image(image_path)
     image_send_queue.put(postfix[1:])
     while True:
         data = f.read(4096)
         if not data:
             break
         image_send_queue.put(data)
     f.close()
     time.sleep(1)
     image_send_queue.put("EOF")
Beispiel #11
0
 def get(self):
     if receive_queue.empty():
         return (None, None)
     remote_message = receive_queue.get()
     receive_queue.task_done()
     package = letter.letter()
     package.materialize(remote_message)
     if package.message["close"] == True:
         self.stop_work()
     elif package.message["contentT"] == "Text":
         return (package.message["content"], "Text")
     elif package.message["contentT"] == "Image":
         return (package.message["content"], "Image")
     else:
         return (None, None)
Beispiel #12
0
 def post_image(self, image_path):
     f = open(image_path, 'rb')
     postfix = os.path.splitext(image_path)[-1]
     package = letter.letter()
     package.set_user(username_local, username_remote)
     package.set_image(image_path)
     image_send_queue.put(postfix[1:])
     while True:
         data = f.read(4096)
         if not data:
             break
         image_send_queue.put(data)
     f.close()
     time.sleep(1)
     image_send_queue.put('EOF')
Beispiel #13
0
def convolve(mat):
    X = 1
    session = tf.Session()
    t = letter.letter(font="Menlo.ttc", size=size, char="X")
    mat = t.matrix()
    # plt.matshow(filter,fignum=2)
    # mat = np.reshape(mat, [1, image.height, image.width, 1]).astype(np.float32)
    # f_ = np.reshape([[f]], [3, 3])
    filter = np.reshape(filter, [size, size, 1, 1]).astype(np.float32)
    conv = tf.nn.conv2d(mat, filter, strides=[1, 1, 1, 1],
                        padding='SAME')  # VALID
    ret = session.run(conv)
    ret = np.reshape(ret, [size, size])
    plt.matshow(ret, fignum=2)
    score = np.max(ret)
    plt.title("score: %f" % score)
def convolve(mat):
	X = 1
	t = letter.letter(font="Menlo.ttc", size=size, char="X")
	filter = t.matrix()
	filter = 255 - 2 * filter  # black->1 white->-1
	filter = filter / 255.
	mat = 255 - mat  # white->0
	mat = (mat - 128) / 128.  # 1...-1 !
	# plt.matshow(filter,fignum=2)
	mat = np.reshape(mat, [1, image.height, image.width, 1]).astype(np.float32)
	# f_ = np.reshape([[f]], [3, 3])
	filter = np.reshape(filter, [size, size, 1, 1]).astype(np.float32)
	conv = tf.nn.conv2d(mat, filter, strides=[1, 1, 1, 1], padding='SAME')  # VALID
	ret = session.run(conv)
	ret = np.reshape(ret, [size, size])
	plt.matshow(ret, fignum=2)
	score = numpy.max(ret)
	plt.title("score: %f" % score)
Beispiel #15
0
import os
import sys

# sys.path.append(os.environ['CUON_PATH'])
import uno
import letter

aLetter = letter.letter()
aLetter.createAddress(sys.argv[1])
Beispiel #16
0
 def post_message(self, text):
     package = letter.letter()
     package.set_user(username_local, username_remote)
     package.set_message(text)
     send_queue.put(package.serialize())
Beispiel #17
0
            filename = random_str() + ".%s" % postfix
            f = open(
                unicode(os.path.join(os.path.abspath('.'), "utf8"), "image",
                        filename), 'wb')
            while True:
                try:
                    data = connection.recv(1024)
                    if data == 'EOF':
                        info("receive image from remote", "info")
                        break
                    f.write(data)
                except Exception as e:
                    info(e, "error")
                    return
            f.close()
            package = letter.letter()
            package.set_user(username_local, username_remote)
            package.message["contentT"] = "Image"
            package.message["content"] = os.path.join(
                unicode(os.path.abspath('.'), "utf8"), "image", filename)
            receive_queue.put(package.serialize())


class PostMan(object):
    """docstring for PostMan"""
    clientPostOffice = ClientPostOffice()
    serverPostOffice = ServerPostOffice()
    clientImagePostOffice = ClientImagePostOffice()

    def __init__(self):
        super(PostMan, self).__init__()
Beispiel #18
0
PATH_log     = os.path.join(BASEPATH,'system.log')

BASEPATH = os.path.join(BASEPATH,'boxes','incoming')

PATH_queue   = os.path.join(BASEPATH,'queue')
PATH_error   = os.path.join(BASEPATH,'error')
PATH_handled = os.path.join(BASEPATH,'handled')

logging.basicConfig(filename=PATH_log,level=logging.INFO)
log = logging.getLogger('postoffice.inbox')

queued = os.listdir(PATH_queue)
for filename in queued:
    try:
        filepath = os.path.join(PATH_queue,filename)
        l = letter.letter()
        l.read(os.path.join(filepath))
        r = process_letter(l)
        
        ret = letter.letter()
        ret.attributes = {'TAG':l.attributes['TAG'],'VIA':l.attributes['VIA'],'SENDER':l.attributes['SENDER'],'RECEIVER':l.attributes['RECEIVER']}

        for i in r:
            ret.body += i + '\n\r'

        outputfilename = os.path.join(PATH_handled,l.attributes['VIA'] + '.' + uniqid())
        ret.write(outputfilename)

        log.info('Handled one letter: [%s] to [%s] via [%s] tagged [%s].',
            l.attributes['SENDER'],l.attributes['RECEIVER'],l.attributes['VIA'],l.attributes['TAG'])
Beispiel #19
0
# process data from file
with open("letter-recognition.data", "r") as f:
    data = f.read().split("\n")

# split data in half for training and testing
training_data = data[:10000]  # data up to, not including data[10000]
testing_data = data[10000:20000]  # data from data[10000] to the end of the list

# sort by letter (first element of list)
training_data = sorted(training_data)
testing_data = sorted(testing_data)

# create a list of letters from training data
letters_list_training = []
for (i, training_data) in enumerate(training_data):
    letters_list_training.append(letter(training_data.split(",")))
#    print letters_list_training[i].value
#    print letters_list_training[i].attributes

# print letters_list_training[0].value
# for letter in letters_list_training: print letter.value

# create a list of letters from testing data
letters_list_testing = []
for (i, testing_data) in enumerate(testing_data):
    letters_list_testing.append(letter(testing_data.split(",")))

# print letters_list_testing[0].value
# for letter in letters_list_testing: print letter.value
Beispiel #20
0
def GetLetters(labels, r=1, color='indigo'):
  x,y = GetCoordinates(r, n=len(labels))
  return [letter(x[ii], y[ii], labels[ii],color=color) for ii in range(len(x))]
Beispiel #21
0
            postfix = connection.recv(1024)
            print postfix
            filename = random_str() + ".%s" % postfix
            f = open(unicode(os.path.join(os.path.abspath("."), "utf8"), "image", filename), "wb")
            while True:
                try:
                    data = connection.recv(1024)
                    if data == "EOF":
                        info("receive image from remote", "info")
                        break
                    f.write(data)
                except Exception as e:
                    info(e, "error")
                    return
            f.close()
            package = letter.letter()
            package.set_user(username_local, username_remote)
            package.message["contentT"] = "Image"
            package.message["content"] = os.path.join(unicode(os.path.abspath("."), "utf8"), "image", filename)
            receive_queue.put(package.serialize())


class PostMan(object):
    """docstring for PostMan"""

    clientPostOffice = ClientPostOffice()
    serverPostOffice = ServerPostOffice()
    clientImagePostOffice = ClientImagePostOffice()

    def __init__(self):
        super(PostMan, self).__init__()
Beispiel #22
0
 def post_message(self, text):
     package = letter.letter()
     package.set_user(username_local, username_remote)
     package.set_message(text)
     send_queue.put(package.serialize())
Beispiel #23
0
from letter import letter

# process data from file
with open('letter-recognition.data', 'r') as f:
    data = f.read().split('\n')

# split data in half for training and testing
training_data = data[:10000] # data up to, not including data[10000]
testing_data = data[10000:20000] # data from data[10000] to the end of the list

# sort by letter (first element of list)
training_data = sorted(training_data)
testing_data = sorted(testing_data)

# create a list of letters from training data
letters_list_training = []
for (i, training_data) in enumerate(training_data):
    letters_list_training.append(letter(training_data.split(',')))
#    print letters_list_training[i].value
#    print letters_list_training[i].attributes

# print letters_list_training[0].value
# for letter in letters_list_training: print letter.value

# create a list of letters from testing data
letters_list_testing = []
for (i, testing_data) in enumerate(testing_data):
    letters_list_testing.append(letter(testing_data.split(',')))

#print letters_list_testing[0].value
#for letter in letters_list_testing: print letter.value
Beispiel #24
0
def test_letter_init_stupid():
    with pytest.raises(AssertionError):
        letter(8, hack("", "", ""))
        letter('a', 8)