def getTerminalWidth(useExternalCode): '''Discover the current width of the terminal window''' if useExternalCode: from getTerminalSize import getTerminalSize width = getTerminalSize()[0] - 2 return width else: #use default value return 70
def niceTextDisplay(text,lineSleep=1): L = "" for w in text.split(): if len(L) + len(w) < getTerminalSize()[0]-1: L += "%s "%w else: print L time.sleep(lineSleep) L = w + " " print L
def getTerminalWidth(useExternalCode): '''Discover the current width of the terminal window''' if useExternalCode: try: from getTerminalSize import getTerminalSize except ImportError: print("\nCan't find getTerminalSize.py in current folder! \nUsing default terminal size...") return 70 try: #don't go all the way to the edge width = getTerminalSize()[0] - 2 except TypeError: print("Can't detect terminal width in this environment!\nUsing default terminal size...") return 70 #if everything worked fine, then... return width else: #use default value return 70
def pictureShower(url, cookies = None): import urllib2 try: import PIL.Image as Image from StringIO import StringIO print('Downloading image ...') opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookies)) urllib2.install_opener(opener) im = Image.open(StringIO(urllib2.urlopen(url).read())) w = getTerminalSize()[0] im = im.resize((w,w/5),Image.ANTIALIAS) #im.show() red = "" for y in range(im.size[1]): for x in range(im.size[0]): red += " " if im.getpixel((x,y))[0] > 150 else "#" if len(red.split()): print (red) red = "" except: #TODO WHAT TO DO IF PIL IS NOT INSTALLED raise
def main(): # Initialize the introduction interface click.echo("Welcome to TwitchStreamer! Please choose a category to sort from.") click.echo("0. Featured") click.echo("1. Games") click.echo("2. Favorites") selection = get_selection((0, 2)) # Load LIMIT items at a time parser = StreamParser(BASE_TWITCH_URL, limit=LIMIT) if selection == 0: # Featured streams chosen_stream = choose_stream_with_loop(parser.get_featured_twitch_streams) elif selection == 1: # Stream selection by game game = choose_game_with_loop(parser.get_popular_games) chosen_stream = choose_stream_with_loop(parser.get_game_streams, game) else: pass # TODO: figure out if there's a less shitty way to do this subprocess.call("livestreamer " + "twitch.tv/" + chosen_stream + " best", shell=True) if __name__ == "__main__": BASE_TWITCH_URL = "https://api.twitch.tv/kraken/streams" TERM_WIDTH, _ = gts.getTerminalSize() LIMIT = 10 main()
def showWord(str): w,h = getTerminalSize() os.system('clear') print "\n" * int((h-2)/2) print " " * int((w-len(str))/2), str
def execute(self, *args, **kwargs): masterTbl = MasterTbl() rows, width = getTerminalSize() projectDir = masterTbl['projectDir'] rptT = masterTbl['rptT'] humanDataA = [] tstSummaryT = masterTbl['tstSummaryT'] totalTime = time.strftime("%T", time.gmtime(masterTbl['totalTestTime'])) totalTime += ("%.2f" % (masterTbl['totalTestTime'] - int(masterTbl['totalTestTime'])))[1:] testresultT = Tst.test_result_values() tstSummaryT = masterTbl['tstSummaryT'] HDR = "*"*width TR = "*** Test Results" TS = "*** Test Summary" TRl = width - len(TR) - 3 TR = TR + " "*TRl + "***" TS = TS + " "*TRl + "***" humanDataA.append(0) humanDataA.append(HDR) humanDataA.append(TR) humanDataA.append(HDR) humanDataA.append(" ") humanDataA.append(0) humanDataA.append(2) humanDataA.append(["Date:", masterTbl['date']]) humanDataA.append(["TARGET:", masterTbl['target']]) humanDataA.append(["Themis Version:", masterTbl['ThemisVersion']]) humanDataA.append(["Total Test Time:", totalTime]) humanDataA.append(-2) humanDataA.append(0) humanDataA.append(HDR) humanDataA.append(TS) humanDataA.append(HDR) humanDataA.append(" ") humanDataA.append(0) humanDataA.append(2) humanDataA.append(["Total: ", tstSummaryT['total']]) for k in tstSummaryT: count = tstSummaryT[k] if (k != "total" and count > 0): humanDataA.append([k+":", count]) humanDataA.append(-2) humanDataA.append(0) humanDataA.append(" ") humanDataA.append(0) humanDataA.append(5) humanDataA.append(["*******","*","****","*********","***************"]) humanDataA.append(["Results","R","Time","Test Name","version/message"]) humanDataA.append(["*******","*","****","*********","***************"]) resultA = [] for ident in rptT: tst = rptT[ident] aFlag = " " if (tst.get("active")): aFlag = "R" result = tst.get('result') runtime = tst.get('strRuntime') rIdx = str(10 - testresultT.get(result,0)) + "_" + ident txt = " " if (result in testresultT): resultA.append((rIdx, result, aFlag, runtime, ident, txt)) resultA = sorted(resultA, key = lambda result: result[0]) for v in resultA: humanDataA.append(v[1:]) humanDataA.append(-5) humanDataA.append(0) humanDataA.append(" ") humanDataA.append(0) if(tstSummaryT['total'] != tstSummaryT['passed']): humanDataA.append(2) humanDataA.append(["*******", "****************"]) humanDataA.append(["Results", "Output Directory"]) humanDataA.append(["*******", "****************"]) resultA = [] for ident in rptT: tst = rptT[ident] result = tst.get('result') if (result != "passed" and result in testresultT): resultA.append((result, fullFn(projectDir, tst.get('outputDir')))) resultA = sorted(resultA, key = lambda result: result[0] + "-" + result[1]) for v in resultA: humanDataA.append(v) humanDataA.append(-2) humanData = self.format_human_data(humanDataA) if (tstSummaryT['total'] > 0): print(humanData) testreportT = build_test_reportT(humanData, masterTbl) write_table(masterTbl['tstReportFn'], testreportT)
def main(): # Initialize the introduction interface xy = getTerminalSize.getTerminalSize() # returns a tuple with (termsize_x, termsize_y) width, height = xy[0], xy[1] if sys.platform.startswith('linux') or sys.platform == 'darwin': os.system('clear') elif sys.platform.startswith('win'): os.system('cls') print print "*" * width print "Welcome to TwitchStreamer! Please choose a category to sort from." print print "*" * width print "0. Featured" print "1. Games" print "2. Favorites" selection = selection_loop(3) # We load 10 items at a time, and we'll load more using the pagination thingy to load items faster. parser = StreamParser(num=10, term_width=width) if int(selection) == 0: # load the first 10 featured streams into parser.stream_list and print it # we COULD add a "show more" feature here, but I don't think there should # be more than 10ish featured streams... parser.get_featured_streams() parser.print_streams() stream_selection = selection_loop(len(parser.stream_list)) chosen_stream = parser.stream_list[stream_selection]["channel"]["name"] elif int(selection) == 1: # load the first 10 most popular games into parser.game_list and print it parser.find_popular_games() parser.print_game_list() game_selection = selection_loop(parser.num) # Enters a "show more" loop, if user wants to see more games. i = 1 while game_selection == 10: num_shown = parser.num*i parser.find_popular_games(offset=num_shown) parser.print_game_list() game_selection = selection_loop(parser.num) i += 1 chosen_game = parser.game_list[game_selection] parser.grab_game_stream(chosen_game) parser.print_streams() # Enters a "show more" loop, if user wants to see more streams. print "10) Show more" stream_selection = selection_loop(parser.num+1) i = 1 while stream_selection == 10: num_shown = parser.num*i parser.grab_game_stream(chosen_game, offset=num_shown) parser.print_streams() print "10) Show more" stream_selection = selection_loop(parser.num+1) i += 1 chosen_stream = parser.stream_list[stream_selection]["channel"]["name"] else: pass subprocess.call("livestreamer " + "twitch.tv/" + chosen_stream + " best", shell=True)