annotate visualclient/visclient.py @ 5:1adf97ba90c8

added visual client
author gyorgyf
date Thu, 21 Jun 2012 17:14:09 +0100
parents
children 9d9169751aba
rev   line source
gyorgyf@5 1 #!/usr/bin/env python
gyorgyf@5 2 # encoding: utf-8
gyorgyf@5 3 """
gyorgyf@5 4 visclient.py
gyorgyf@5 5
gyorgyf@5 6 Created by George Fazekas on 2012-06-17.
gyorgyf@5 7 Copyright (c) 2012 . All rights reserved.
gyorgyf@5 8 """
gyorgyf@5 9
gyorgyf@5 10 import sys,os
gyorgyf@5 11 import pygame as pg
gyorgyf@5 12 from pygame.locals import *
gyorgyf@5 13 import httplib as ht
gyorgyf@5 14
gyorgyf@5 15 import gradients
gyorgyf@5 16 from gradients import genericFxyGradient
gyorgyf@5 17
gyorgyf@5 18 # from pytagcloud import create_tag_image, make_tags
gyorgyf@5 19 # from pytagcloud.lang.counter import get_tag_counts
gyorgyf@5 20
gyorgyf@5 21 # YOUR_TEXT = "A tag cloud is a visual representation for text data, typically\
gyorgyf@5 22 # used to depict keyword metadata on websites, or to visualize free form text."
gyorgyf@5 23 #
gyorgyf@5 24 # tags = make_tags(get_tag_counts(YOUR_TEXT), maxsize=120)
gyorgyf@5 25 #
gyorgyf@5 26 # create_tag_image(tags, 'cloud_large.png', size=(900, 600), fontname='Lobster')
gyorgyf@5 27
gyorgyf@5 28
gyorgyf@5 29
gyorgyf@5 30 def main():
gyorgyf@5 31
gyorgyf@5 32 conn = ht.HTTPConnection("192.168.2.184:8030")
gyorgyf@5 33
gyorgyf@5 34 pg.init()
gyorgyf@5 35 fontObj = pg.font.Font("freesansbold.ttf",18)
gyorgyf@5 36
gyorgyf@5 37 white = ( 255, 255, 255)
gyorgyf@5 38 black = ( 0,0,0)
gyorgyf@5 39 fpsClock = pg.time.Clock()
gyorgyf@5 40 screen = pg.display.set_mode((1024, 768))
gyorgyf@5 41 rect_x,rect_y=50,50
gyorgyf@5 42 rect_xp,rect_yp=50,50
gyorgyf@5 43 rect_change_x,rect_change_y=5,5
gyorgyf@5 44 counter = 0
gyorgyf@5 45 scol = (0,255,0,255)
gyorgyf@5 46 # ecol = (100,0,50,255)
gyorgyf@5 47 ecol = (0,0,0,255)
gyorgyf@5 48 coordstxt = "test"
gyorgyf@5 49
gyorgyf@5 50 while True :
gyorgyf@5 51 pg.draw.circle(screen, pg.Color(255,0,0), (300,50),20,0)
gyorgyf@5 52 # screen.blit(gradients.radial(99, scol, ecol), (401, 1))
gyorgyf@5 53
gyorgyf@5 54 for event in pg.event.get() :
gyorgyf@5 55 if event.type == QUIT:
gyorgyf@5 56 conn.close()
gyorgyf@5 57 pg.quit()
gyorgyf@5 58 sys.exit()
gyorgyf@5 59 elif event.type == KEYDOWN :
gyorgyf@5 60 if event.key == K_ESCAPE :
gyorgyf@5 61 pg.event.post(pg.event.Event(QUIT))
gyorgyf@5 62
gyorgyf@5 63 # put text
gyorgyf@5 64 txtObj = fontObj.render(coordstxt,True,pg.Color(254,254,254))
gyorgyf@5 65 rectObj = txtObj.get_rect()
gyorgyf@5 66 rectObj.topleft = (10,20)
gyorgyf@5 67 # rectObj.fill(pg.Color(254,254,254))
gyorgyf@5 68 screen.blit(txtObj,rectObj)
gyorgyf@5 69
gyorgyf@5 70
gyorgyf@5 71 # Draw the rectangle
gyorgyf@5 72 # pg.draw.rect(screen,black,[rect_xp,rect_yp,50,50])
gyorgyf@5 73 screen.blit(gradients.radial(99, ecol, ecol), (rect_xp,rect_yp))
gyorgyf@5 74
gyorgyf@5 75 rect_xp,rect_yp = rect_x,rect_y
gyorgyf@5 76 # pg.draw.rect(screen,white,[rect_x,rect_y,50,50])
gyorgyf@5 77 screen.blit(gradients.radial(99, scol, ecol), (rect_x,rect_y))
gyorgyf@5 78
gyorgyf@5 79
gyorgyf@5 80 # Move the rectangle starting point
gyorgyf@5 81 # rect_x += rect_change_x
gyorgyf@5 82 # rect_y += rect_change_y
gyorgyf@5 83 counter += 1
gyorgyf@5 84 if counter % 12 :
gyorgyf@5 85 counter = 0
gyorgyf@5 86 try :
gyorgyf@5 87 conn.request("GET","/moodconductor/result")
gyorgyf@5 88 res = conn.getresponse()
gyorgyf@5 89 data = eval(res.read())
gyorgyf@5 90 coordstxt = "x:%s y:%s" %data
gyorgyf@5 91 rect_x = data[0] * 300
gyorgyf@5 92 rect_y = data[1] * 1000
gyorgyf@5 93 conn.close()
gyorgyf@5 94 except :
gyorgyf@5 95 pass
gyorgyf@5 96
gyorgyf@5 97
gyorgyf@5 98
gyorgyf@5 99 # Bounce the ball if needed
gyorgyf@5 100 if rect_y > 450 or rect_y < 0:
gyorgyf@5 101 rect_change_y = rect_change_y * -1
gyorgyf@5 102 if rect_x > 650 or rect_x < 0:
gyorgyf@5 103 rect_change_x = rect_change_x * -1
gyorgyf@5 104
gyorgyf@5 105 # pg.display.update()
gyorgyf@5 106 pg.display.flip()
gyorgyf@5 107 fpsClock.tick(50)
gyorgyf@5 108
gyorgyf@5 109
gyorgyf@5 110 # if raw_input("quit?") in ['y'] :
gyorgyf@5 111 # pg.quit()
gyorgyf@5 112
gyorgyf@5 113 pass
gyorgyf@5 114
gyorgyf@5 115
gyorgyf@5 116 if __name__ == '__main__':
gyorgyf@5 117 pass
gyorgyf@5 118 main()
gyorgyf@5 119