Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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
Exemple #5
0
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()
Exemple #6
0
def showWord(str):
    w,h = getTerminalSize()
    os.system('clear')
    print "\n" * int((h-2)/2)
    print " " * int((w-len(str))/2), str
Exemple #7
0
  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)
Exemple #8
0
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)