def compressTweets(data_dir):
    assert(os.path.exists(data_dir))

    tick = Tick()

    for fname in os.listdir(data_dir):
        isFirst = True
        lines = []
        new_contents = ""

        for line in open(os.path.join(data_dir, fname)):
            try:
                jobj = json.loads(line)
                if not isFirst:
                    del jobj['user']

                lines.append(json.dumps(jobj))

            except (KeyError, ValueError):
                continue

            isFirst = False

        new_contents = '\n'.join(lines)

        fout = open(os.path.join(data_dir, fname), 'w')
        fout.write(new_contents)
        fout.close()

        tick.tick()
Example #2
0
def start_tick_retriever(instruments):
    i = 0
    t = Tick(instruments)
    while True:
        try:
                t.retrieve()
                time.sleep(1)
                i += 1
                print '------', i
        except Exception as e:
            print 'error: ', e
            time.sleep(1)
def start_tick_retriever(instruments):
    i = 0
    t = Tick(instruments)
    while True:
        try:
            t.retrieve()
            time.sleep(1)
            i += 1
            print '------', i
        except Exception as e:
            print 'error: ', e
            time.sleep(1)
Example #4
0
    def __init__(self, sys_clk_freq, cs_period=0.001):
        # module's interface
        self.values = Array(Signal(5) for i in range(8))  # input

        self.cs = Signal(8)  # output
        self.abcdefg = Signal(7)  # output

        # # #

        # create our seven segment controller
        seven_segment = _SevenSegment()
        self.submodules += seven_segment
        self.comb += self.abcdefg.eq(seven_segment.abcdefg)

        # create a tick every cs_period
        self.submodules.tick = Tick(sys_clk_freq, cs_period)

        # rotate cs 6 bits signals to alternate seven segments
        # cycle 0 : 0b000001
        # cycle 1 : 0b000010
        # cycle 2 : 0b000100
        # cycle 3 : 0b001000
        # cycle 4 : 0b010000
        # cycle 5 : 0b100000s
        # cycle 6 : 0b000001
        cs = Signal(8, reset=0b00000001)
        # synchronous assigment
        self.sync += [
            If(
                self.tick.ce,  # at the next tick:
                cs[1].eq(cs[0]),  # bit1 takes bit0 value 
                cs[2].eq(cs[1]),  # bit2 takes bit1 value 
                cs[3].eq(cs[2]),  # bit3 takes bit2 value 
                cs[4].eq(cs[3]),  # bit4 takes bit3 value 
                cs[5].eq(cs[4]),  # bit5 takes bit4 value 
                cs[6].eq(cs[5]),  # bit5 takes bit4 value 
                cs[7].eq(cs[6]),  # bit5 takes bit4 value 
                cs[0].eq(cs[7])  # bit0 takes bit5 value 
            )
        ]
        # cominatorial assigment
        self.comb += self.cs.eq(cs)

        # cs to value selection.
        # Here we create a table to translate each of the 6 cs possible values
        # to input value selection.
        cases = {
            0b00000001: seven_segment.value.eq(self.values[0]),
            0b00000010: seven_segment.value.eq(self.values[1]),
            0b00000100: seven_segment.value.eq(self.values[2]),
            0b00001000: seven_segment.value.eq(self.values[3]),
            0b00010000: seven_segment.value.eq(self.values[4]),
            0b00100000: seven_segment.value.eq(self.values[5]),
            0b01000000: seven_segment.value.eq(self.values[6]),
            0b10000000: seven_segment.value.eq(self.values[7])
        }
        # cominatorial assigment
        self.comb += Case(self.cs, cases)
Example #5
0
    def __init__(self):
        # Cria uma matriz 6x4x4 preenchida com 0s (ver manipulação na biblioteca numpy)
        self.__board = [[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],
                         [0, 0, 0, 0]],
                        [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],
                         [0, 0, 0, 0]],
                        [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],
                         [0, 0, 0, 0]],
                        [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],
                         [0, 0, 0, 0]],
                        [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],
                         [0, 0, 0, 0]],
                        [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],
                         [0, 0, 0, 0]]]

        self.__gpio_manager = GPIO_Manager()
        self.__snake = Snake()
        self.__fruit = Fruit()
        self.__mouse = Mouse(self.on_click)
        self.__tick = Tick(self.on_tick)
Example #6
0
 def load(self, symbol):
     """ Loads the stock quote for symbol from Yahoo or cache """
     raw = Stock.get_from_cache(symbol)
     if raw is None:
         today = datetime.date.today().strftime('%Y%m%d')
         raw = self.yahoo(symbol, '20010103', today)
         Stock.save_to_cache(symbol, raw)
     # Tick aware of the time series it belongs to
     self.data.extend([
         Tick(self.data, index, *Stock.cast(tick))
         for index, tick in enumerate(reversed(raw[1:]))
     ])
Example #7
0
    def __init__(self, sys_clk_freq, cs_period=0.001):
        # module's interface
        self.values = Array(Signal(5) for i in range(6))  # input

        self.cs = Signal(6)  # output
        self.abcdefg = Signal(7)  # output

        # # #

        # create our seven segment controller
        seven_segment = SevenSegment()
        self.submodules += seven_segment
        self.comb += self.abcdefg.eq(seven_segment.abcdefg)

        # create a tick every cs_period
        self.submodules.tick = Tick(sys_clk_freq, cs_period)

        # rotate cs 6 bits signals to alternate seven segments
        # cycle 0 : 0b000001
        # cycle 1 : 0b000010
        # cycle 2 : 0b000100
        # cycle 3 : 0b001000
        # cycle 4 : 0b010000
        # cycle 5 : 0b010000
        # cycle 6 : 0b100000
        # cycle 7 : 0b000001
        cs = Signal(6, reset=0b000001)
        # synchronous assigment
        self.sync += [
            If(self.tick.ce,
               # -- TO BE COMPLETED --
               # [...] rotate cs
               # -- TO BE COMPLETED --
               )
        ]
        # cominatorial assigment
        self.comb += self.cs.eq(cs)

        # cs to value selection.
        # Here we create a table to translate each of the 8 cs possible values
        # to input value selection.
        # -- TO BE COMPLETED --
        cases = {
            0b000001: seven_segment.value.eq(self.values[0]),
            # [...]
        }
        # -- TO BE COMPLETED --
        # cominatorial assigment
        self.comb += Case(self.cs, cases)
def tweets2Texts(input_dir, output_dir):
    ticker = Tick()

    for fname in os.listdir(input_dir):
        user_id = fname

        # collect texts
        texts = []
        for line in open(os.path.join(input_dir, fname)):
            try:
                jobj = json.loads(line)
                t = jobj["text"]
                t = re.sub(r"\s+", " ", t)
                texts.append(t)
            except (KeyError, ValueError):
                continue
        text = "\n".join(texts)

        # write to a file
        fout = open(os.path.join(output_dir, fname), "w")
        fout.write(text.encode("ascii", "ignore"))
        fout.close()

        ticker.tick()
Example #9
0
 def get(self):
     if self.request.get('ticknum'):
         ticknum = int(self.request.get('ticknum'))
     else:
         ticknum = datetime.datetime.utcnow().minute
     tick = Tick.gql("WHERE pos = :1", ticknum).get()
     if not tick:
         return
     for acct in account.Account.get(tick.accts):
         if not acct or not acct.owner.email(): # nothing we can do
             continue
         (training, qEnd) = acct.check_queue()
         if not qEnd: # too late
             continue
         qlen = qEnd - datetime.datetime.utcnow()
         hours = qlen.seconds // (60*60)
         if qlen.days == 0 and MESSAGES[hours]:
             mail.send_mail(sender=SENDER,
                         to=acct.owner.email(),
                         subject="Skill Queue for %s" % training.name,
                         body=MESSAGES[hours] % timeDiffToStr(qlen.seconds))
         else:
             logging.info("Hourly check for acct %d (%s is training at least %d days)" % (
                     acct.ID, training.name, qlen.days))
Example #10
0
 def stop_price_short(self, position, index):
     return Tick.up(position.entry_price, 5)
Example #11
0
 def stop_price_long(self,position,index):
     return Tick.down(position.entry_price, 5)
 def stop_price_short(self, position, index):
     """仕掛値からn日ATR(前日)のx倍上に行ったところにストップ"""
     _range = self._range(index)
     if _range!=_range: return _range
     return Tick.ceil(position.entry_price + _range)
 def stop_price_long(self, position, index):
     """仕掛値からn日ATR(前日)のx倍下に行ったところにストップ"""
     _range = self._range(index)
     if _range!=_range: return _range
     return Tick.truncate(position.entry_price - _range)
Example #14
0
class Game:
    """
    Classe que representa o jogo e seu tabuleiro.
    O tabuleiro corresponde a uma matriz 6x4x4.
    """

    # Game's key components
    __board = None
    __snake = None
    __fruit = None
    __tick = None

    # Animation control components
    __blink_fruit = True

    # Game dinamics components
    __add_tail = False

    def __init__(self):
        # Cria uma matriz 6x4x4 preenchida com 0s (ver manipulação na biblioteca numpy)
        self.__board = [[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],
                         [0, 0, 0, 0]],
                        [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],
                         [0, 0, 0, 0]],
                        [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],
                         [0, 0, 0, 0]],
                        [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],
                         [0, 0, 0, 0]],
                        [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],
                         [0, 0, 0, 0]],
                        [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],
                         [0, 0, 0, 0]]]

        self.__gpio_manager = GPIO_Manager()
        self.__snake = Snake()
        self.__fruit = Fruit()
        self.__mouse = Mouse(self.on_click)
        self.__tick = Tick(self.on_tick)

    def on_click(self, isLeft):
        self.__snake.update_direction(isLeft)

    def on_tick(self, tick_count):

        # Executes block every tick
        self.__blink_fruit = not self.__blink_fruit

        # Executes block every 4 ticks
        if tick_count == 0:
            # Updates snake position (and maybe, adds tail)
            self.__snake.update_position(self.__add_tail)
            if self.__add_tail == True:
                self.__add_tail = False
            # Updates fruit position and snake velocity
            self.update_fruit()
        elif tick_count == 1:
            snake_head = self.__snake.get_head_position()
            print(snake_head)
            self.__board[snake_head[0]][snake_head[1]][snake_head[2]] = 1
            self.__gpio_manager.setFaces(self.__board)
        elif tick_count == 4:
            1
            self.__gpio_manager.clear()

    def update_fruit(self):
        snake_head = self.__snake.get_head_position()
        if self.__fruit.has_been_eaten(snake_head[0], snake_head[1],
                                       snake_head[2]):
            # nao sei porque, mas tick nao aparece preenchido aqui
            self.__tick.increase_velocity()
            self.__add_tail = True
            self.__fruit = Fruit()
Example #15
0
 def stop_price_short(self, position, index):
     """仕掛値からn日ATR(前日)のx倍上に行ったところにストップ"""
     _range = self._range(index)
     if _range != _range: return _range
     return Tick.ceil(position.entry_price + _range)
Example #16
0
 def stop_price_long(self, position, index):
     """仕掛値からn日ATR(前日)のx倍下に行ったところにストップ"""
     _range = self._range(index)
     if _range != _range: return _range
     return Tick.truncate(position.entry_price - _range)