Example #1
0
 def mamage_version(self, value):
     """Version of the output"""
     
     term.pos(16, 3)
     term.write(value["system"])
     term.pos(16, 10)
     term.write(value["version"])
Example #2
0
 def banner(self):
     term.clear()
     term.pos(1, 1)
     banner = pyfiglet.figlet_format("ZYDRA", font="epic").replace(
         "\n", "\n\t\t", 7)
     cprint("\r\n\t" + "@" * 61, "blue", end="")
     cprint("\n\t\t" + banner + "\t\tAuthor : Hamed Hosseini",
            "blue",
            attrs=['bold'])
     cprint("\t" + "@" * 61 + "\n", "blue")
Example #3
0
 def end_time(self):
     self.stop = True
     end_time_show = time.asctime()
     end_time = time.monotonic()
     execution_time = (timedelta(seconds=end_time - self.start_time))
     print(self.blue("End time ==> ") + self.white(end_time_show))
     print(
         self.blue("Execution time ==> ") +
         self.white(str(execution_time)) + "\n")
     term.saveCursor()
     term.pos(7, 15)
     term.writeLine("ok", term.green, term.blink)
     term.restoreCursor()
     exit(0)
Example #4
0
    def banner(self):
        term.clear()
        term.pos(1, 1)
        # check if font "epic" exists on this system
        # sudo wget http://www.figlet.org/fonts/epic.flf -O /usr/share/figlet/epic.flf
        bannerfont = "epic" if os.path.exists(
            '/usr/share/figlet/epic.flf') else "banner"
        banner = pyfiglet.figlet_format("ZYDRA", font=bannerfont).replace(
            "\n", "\n\t\t", 7)

        cprint("\r\n\t" + "@" * 61, "blue", end="")
        cprint("\n\t\t" + banner + "\t\tAuthor : Hamed Hosseini",
               "blue",
               attrs=['bold'])
        cprint("\t" + "@" * 61 + "\n", "blue")
Example #5
0
class Cursor:
    save = trm.saveCursor
    restore = trm.restoreCursor()
    up = lambda self, n: trm.up(n)
    pos = lambda self, r, c: trm.pos(r, c)
    down = lambda self, n: trm.down(n)
    home = lambda self: trm.homePos()
Example #6
0
def volume(min_vol=1000.0, limit=20, exchange='BTC'):
    """
    Show an desc volume sorted symbol list for 1 minute time-frame (useful to detect rising markets)

    :param float min_vol: volume filter cutoff value (default 1000.0 BTC)
    :param int limit: limit markets list
    :param str exchange: exchange used (default BTC)
    """

    tickers = api.get_tickers(market=exchange).query(
        'quoteVolume > {}'.format(min_vol))
    tickers = tickers.sort_values('quoteVolume', ascending=False).T
    if len(tickers) > limit:
        tickers = tickers[:limit]
    table_data = list()

    tf = '1m'

    for num, ts in enumerate(tickers.keys()):
        if num == 0: trm.clear()

        trm.pos(1, 1), trm.clearLine()
        echo('({:d}/{:d}) Loading {} ...\n'.format(num + 1,
                                                   len(tickers.columns), ts))
        ohlc = api.get_ohlc(ts, timeframe=tf)  # type: pd.DataFrame

        ohlc['qvolume'] = ohlc['close'] * ohlc['volume']

        if (ohlc['qvolume'] > min_vol)[-3:].all():
            continue
        tickers[ts]['ohlc'] = ohlc
        last = '{:9.8f}'.format(tickers[ts]['last'])

        table_data.append([
            ts, tickers[ts]['ohlc']['qvolume'][-1],
            tickers[ts]['ohlc']['qvolume'][-2], last
        ])

    print(
        tabulate(table_data,
                 headers=VOLUME_HEADERS,
                 numalign='right',
                 floatfmt='.3f'))  # disable_numparse=[3]))
Example #7
0
    def mamage_system(self, value):
        """System output format"""
        
        day, now = time.strftime("%Y-%m-%d %H:%M:%S").split()
        course_pid = psutil.pids()
        course_count = 0
        for i in course_pid:
            course_count = course_count + 1

        term.pos(2, 4)
        term.write("USER: "******"username"]))
        term.pos(2, 16)
        term.write("T: " + str(value["terminal"]))
        term.pos(2, 28)
        term.write("-")
        term.pos(2, 33)
        term.write("Process: " + str(course_count))
        term.pos(2, 48)
        term.write("-")
        term.pos(2, 53)
        term.write("BootTime: " + str(value["BootTime"]))
        term.pos(4, 4)
        term.write("HOST: " + str(value["hostname"]))
        term.pos(4, 28)
        term.write("-")
        term.pos(4, 32)
        term.write("Sec: " + str(now))
        term.pos(4, 48)
        term.write("-")
        term.pos(4, 53)
        term.write("LogiTime: " + str(value["started"]))
        term.pos(2, 3)
Example #8
0
wLn = trm.writeLine
symbol = 'TRX/BTC'

while True:
    raw = api.get_trades(symbol, limit=100)

    trades = raw.query('amount != 1.0')
    sells = trades.loc[trades.side == "sell"]
    buys = trades.loc[trades.side == "buy"]
    num_sells = len(sells)
    num_buys = len(buys)
    if num_sells > num_buys:
        sells = sells[-num_buys:]
    else:
        buys = buys[-num_sells:]
    trm.clear(), trm.pos(1, 1)

    # print(buys.tail(3))
    sells_index = trades.side == "sell"
    datos_precios = (trades['price'] *
                     sells_index.apply(lambda x: -1.0 if x else 1.0)
                     )  # type: pd.Series
    datos_volumen = (trades['cost'] *
                     sells_index.apply(lambda x: -1.0 if x else 1.0)
                     )  # type: pd.Series

    buy_cost = pd.DataFrame(buys['cost'].values,
                            columns=['close'],
                            index=buys.index)
    buy_price = pd.DataFrame(sells['price'].values,
                             columns=['close'],
Example #9
0
cols = ['price', 'amount']

pd.options.display.precision = 8

exchange = 'BTC'
coin = 'ETN'

symbol = '{}/{}'.format(coin, exchange)

# book = api.fetch_order_book(symbol, limit=10)
#
# asks, bids = book['asks'], book['bids']
# df_asks = pd.DataFrame(asks, columns=cols)
# df_bids = pd.DataFrame(bids, columns=cols)

tm.sleep(.25), trm.clear(), trm.pos(1, 1)
api = cryptopia()
while True:
    try:
        sep = lambda: trm.writeLine(trm.center('-' * 80), trm.dim, trm.cyan)
        book = api.fetch_order_book(symbol, limit=5)

        asks, bids = book['asks'], book['bids']
        df_asks = pd.DataFrame(asks, columns=cols)
        df_bids = pd.DataFrame(bids, columns=cols)
        df_asks['amount'] = df_asks['amount'].apply(
            lambda v: '{: >16.2f}'.format(v))
        df_asks['price'] = df_asks['price'].apply(
            lambda v: '{: >16.8f}'.format(v))
        df_bids['amount'] = df_bids['amount'].apply(
            lambda v: '{: >16.2f}'.format(v))
Example #10
0
    def header(self):
        """Frame structure format output"""

        # upper part
        bold = term.format("#", term.bold)
        frame_up = bold.ljust(100, "=")
        frame_up_format = term.format(frame_up)
        term.write(frame_up_format+bold)

        # center section 1
        term.pos(3, 0)
        frame_three = term.format("+".ljust(87, "-"))
        term.write(frame_three+"+")

        # center section 2
        term.pos(5, 0)
        frame_five = term.format("+".ljust(87, "-"))
        term.write(frame_five+"+")

        # center section 3
        frame_centre1 = "+".ljust(87, "=")
        term.pos(15, 0)
        term.write(frame_centre1+"+")

        # center section 4
        frame_centre2 = "+".ljust(59, "=")
        term.pos(17, 0)
        term.write(frame_centre2)
        term.pos(17, 88)
        term.write("|", term.bold)

        # Producer information
        kevin = "Kevin.Xiang"
        term.pos(16, 47)
        term.write(kevin)

        # next part
        frame_down = bold.ljust(100, "=")
        term.pos(39, 0)
        term.write(frame_down+bold)

        # border style
        for i1 in range(7, 14):
            term.pos(i1, 26)
            term.write("|")

        for i2 in range(16, 39):
            term.pos(i2, 60)
            term.write("|", term.bold)

        # Border output style IO
        term.pos(16, 61)
        frame_back = term.format("".rjust(27, " "), term.bgwhite)
        term.write(frame_back)
        term.pos(16, 71)
        frame_network = term.format("NETWORK", term.black, term.bgwhite)
        term.write(frame_network)
        term.pos(27, 61)
        term.write(frame_back)
        term.pos(27, 73)
        frame_disk = term.format("DISK", term.black, term.bgwhite)
        term.write(frame_disk)

        # Process output style
        term.pos(18, 0)
        space = "".center(4, " ")
        frame = term.format("  USER"
                            + space
                            + "PID"
                            + space
                            + "CPU%"
                            + space
                            + "MEM%"
                            + space
                            + "THRE"
                            + space
                            + "NAME", term.bold)
        term.write(frame)

        # Border output style
        list_down = [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21,
                     22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]
        for i3 in list_down:
            term.pos(i3, 0)
            term.write("|", term.bold)
            term.pos(i3, 88)
            term.write("|", term.bold)
Example #11
0
 def mamage_diskio(self, value):
     """Disk IO output format"""
     
     term.pos(31, 68)
     term.clearLineFromPos()
     term.write("Read: " + str(round(value["read"], 2)) + " KB")
     term.pos(31, 88)
     term.write("|", term.bold)
     term.pos(32, 68)
     term.clearLineFromPos()
     term.write("Wrtn: " + str(round(value["write"], 2)) + " KB")
     term.pos(32, 88)
     term.write("|", term.bold)
     term.pos(33, 68)
     term.write("Rsec: " + str(value["read_count"]))
     term.pos(34, 68)
     term.write("Wsec: " + str(value["write_count"]))
     term.pos(35, 69)
     term.write("Tps: " + str(value["tps"]))
     term.pos(32, 68)
Example #12
0
 def mamage_process(self, value):
     """Process output format"""
     
     value = value["key"]
     count = 19
     # Loop outputs each process
     for v in value:
         term.pos(count, 3)
         term.write(v["user"])
         term.pos(count, 11)
         term.write(str(v["pid"]))
         term.pos(count, 18)
         term.write(str(v["cpu"]))
         term.pos(count, 26)
         term.write(str(round(v["memory"], 2)))
         term.pos(count, 34)
         term.write(str(v["threads"]))
         term.pos(count, 42)
         term.write(str(v["name"]))
         count = count + 1
     term.pos(18, 4)
Example #13
0
 def mamage_network(self, value):
     """Network output format"""
     
     term.pos(20, 68)
     term.clearLineFromPos()
     term.write("TX: " + str(round(value["send"], 2)) + " KB")
     term.pos(20, 88)
     term.write("|", term.bold)
     term.pos(21, 68)
     term.clearLineFromPos()
     term.write("RX: " + str(round(value["recv"], 2)) + " KB")
     term.pos(21, 88)
     term.write("|", term.bold)
     term.pos(22, 67)
     term.write("TXP: " + str(value["packets_sent"]))
     term.pos(23, 67)
     term.write("TXP: " + str(value["packets_recv"]))
     term.pos(20, 68)
Example #14
0
    def run(self):
        """Enable multithreading to complete tasks"""

        global flag
        flag = True

        thread_get = threading.Thread(
            target=Manage("get").mamage_get)
        thread_cpu = threading.Thread(
            target=Manage("frames_cpu").mamage_put)
        thread_memory = threading.Thread(
            target=Manage("frames_memory").mamage_put)
        thread_swap = threading.Thread(
            target=Manage("frames_swap").mamage_put)
        thread_disk = threading.Thread(
            target=Manage("frames_disk").mamage_put)
        thread_diskio = threading.Thread(
            target=Manage("frames_diskio").mamage_put)
        thread_system = threading.Thread(
            target=Manage("frames_system").mamage_put)
        thread_network = threading.Thread(
            target=Manage("frames_network").mamage_put)
        thread_version = threading.Thread(
            target=Manage("frames_version").mamage_put)
        thread_process = threading.Thread(
            target=Manage("frames_process").mamage_put)

        thread_process.start()
        thread_cpu.start()
        thread_memory.start()
        thread_swap.start()
        thread_disk.start()
        thread_diskio.start()
        thread_network.start()
        thread_system.start()
        thread_version.start()
        thread_get.start()

        # Short execution framewor
        frames = Frames()
        time.sleep(1)
        term.clear()
        term.pos(1, 0)
        frames.header()
        term.pos(2, 0)
        time.sleep(3)

        # Judge the input and exit
        fd = sys.stdin.fileno()
        old_settings = termios.tcgetattr(fd)
        tty.setraw(sys.stdin.fileno())
        quit = sys.stdin.read(1)
        termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
        if len(quit) == 1:
            flag = False
            time.sleep(1)
            que.queue.clear()
            # Reduction of the cursor
            os.system("echo -e \033[?25h")
            term.pos(1, 0)
            term.clear()
Example #15
0
def paint(paint_map):
    term.clear()
    for pos, value in paint_map.items():
        term.pos(pos[0] + 20, pos[1] + 20)
        term.write('#' if value == 1 else ' ')
Example #16
0
 def mamage_disk(self, value):
     """Disk output format"""
     
     term.pos(13, 3)
     term.write("Disk", term.bold)
     term.pos(13, 8)
     total = (value["used"]/value["total"]) * 100
     percent = ("%s%%" % (int(total)))
     term.write("[%-10s]%s" % ("|" * int(total/10), percent))
     term.pos(13, 30)
     term.write("-Disk-", term.bold)
     term.pos(13, 39)
     term.write("total: %s GB" % (int(value["total"])))
     term.pos(13, 55)
     term.write("used: %s GB" % (int(value["used"])))
     term.pos(13, 70)
     term.write("free: %s GB" % (int(value["free"])))
     term.pos(13, 3)
Example #17
0
 def mamage_swap(self, value):
     """Swap output format"""
     
     term.pos(11, 3)
     term.write("Swap", term.bold)
     term.pos(11, 8)
     # Determine if the value is 0 and the exception is caught
     try:
         total = (int(value["used"])/int(value["total"])) * 100
     except ZeroDivisionError:
         total = 0
     percent = ("%s%%" % (int(total)))
     term.write("[%-10s]%s" % ("|" * int(total/10), percent))
     term.pos(11, 30)
     term.write("-Swap-", term.bold)
     term.pos(11, 39)
     term.write("total: %s MB" % (int(value["total"])))
     term.pos(11, 55)
     term.write("used: %s MB" % (int(value["used"])))
     term.pos(11, 70)
     term.write("free: %s MB" % (int(value["free"])))
     term.pos(12, 41)
     term.write("sin: %s MB" % (int(value["sin"])))
     term.pos(12, 55)
     term.write("sout: %s MB" % (int(value["sout"])))
     term.pos(12, 70)
     term.write("perc: %s %%" % (str(value["percent"])))
     term.pos(11, 3)
Example #18
0
 def mamage_memory(self, value):
     """Memory output format"""
     
     term.pos(9, 4)
     term.write("Mem", term.bold)
     term.pos(9, 8)
     total = (value["used"]/value["total"]) * 100
     percent = ("%s%%" % (int(total)))
     term.write("[%-10s]%s" % ("|" * int(total/10), percent))
     term.pos(9, 30)
     term.write("-MEM-", term.bold)
     term.pos(9, 39)
     term.write("total: %s MB" % (int(value["total"])))
     term.pos(9, 55)
     term.write("used: %s MB" % (int(value["used"])))
     term.pos(9, 70)
     term.write("free: %s MB" % (int(value["free"])))
     term.pos(10, 39)
     term.write("activ: %s MB" % (int(value["active"])))
     term.pos(10, 55)
     term.write("buff: %s MB" % (int(value["buffers"])))
     term.pos(10, 70)
     term.write("cach: %s MB" % (int(value["cached"])))
     term.pos(9, 4)
Example #19
0
 def mamage_cpu(self, value):
     """CPU output format"""
     
     term.pos(7, 4)
     term.write("CPU", term.bold)
     term.pos(7, 19)
     term.write("     ")
     term.pos(7, 8)
     # Output progress bar
     percent = ("%s%%" % (int(value["total"])))
     term.write("[%-10s]%s" % ("|" * int(value["total"]/10), percent))
     term.pos(7, 30)
     term.write("-CPU-", term.bold)
     term.pos(7, 45)
     term.write("        ")
     term.pos(7, 39)
     term.write("total: %s %%" % (round(value["total"], 1)))
     term.pos(7, 60)
     term.write("        ")
     term.pos(7, 55)
     term.write("used: %s %%" % (round(value["user"], 1)))
     term.pos(7, 75)
     term.write("        ")
     term.pos(7, 70)
     term.write("syst: %s %%" % (round(value["system"], 1)))
     term.pos(8, 45)
     term.write("        ")
     term.pos(8, 39)
     term.write("iowai: %s %%" % (round(value["iowait"], 1)))
     term.pos(8, 60)
     term.write("        ")
     term.pos(8, 55)
     term.write("nice: %s %%" % (round(value["nice"], 1)))
     term.pos(8, 75)
     term.write("        ")
     term.pos(8, 70)
     term.write("nice: %s %%" % (round(value["idle"], 1)))
     term.pos(7, 4)