def playgame(date, feedId, provider, state): def adjustQuality(masterUrl): _720p60fps = "720p 60fps" qualityUrlDict = { "360p": "1200K/1200_{0}.m3u8", "540p": "2500K/2500_{0}.m3u8", "720p": "3500K/3500_{0}.m3u8" } current = addon.getSetting("quality") if current is None or current == _720p60fps or current == "": return masterUrl else: m3u8Path = qualityUrlDict.get( current, "3500K/3500_{0}.m3u8").format( 'slide' if state == 'In Progress' else 'complete-trimmed') xbmc.log( "Quality adjusted to '{0}', adjusting to {1}.".format( current, m3u8Path), xbmc.LOGNOTICE) return masterUrl.rsplit('/', 1)[0] + "/" + m3u8Path def xbmcPlayer(url, mediaAuth): xbmc.log("XBMC trying to play URL [%s]" % (url), xbmc.LOGNOTICE) completeUrl = url + ("|Cookie=mediaAuth%%3D%%22%s%%22" % (mediaAuth)) xbmc.Player().play( adjustQuality(url) + ("|Cookie=mediaAuth%%3D%%22%s%%22" % (mediaAuth))) #player.LazyManPlayer().play(adjustQuality(url) + ("|Cookie=mediaAuth%%3D%%22%s%%22" % (mediaAuth))) cdn = 'akc' if addon.getSetting("cdn") == "Akamai" else 'l3c' def getContentUrl(withCdn=True): actualCdn = cdn if withCdn else "" if provider == "NHL.tv": return "http://freegamez.ga/m3u8/%s/%s%s" % (date, feedId, actualCdn) else: return "http://freegamez.ga/mlb/m3u8/%s/%s%s" % (date, feedId, actualCdn) contentUrl = getContentUrl() xbmc.log("Trying to resolve from content-url: '" + contentUrl + "'", xbmc.LOGNOTICE) if not utils.head(contentUrl): contentUrl = getContentUrl(False) if not utils.head(contentUrl): xbmc.log("Cannot resolve content-url '" + contentUrl + "'", xbmc.LOGERROR) raise ValueError("Invalid content-url '" + contentUrl + "'") response = urllib.urlopen(contentUrl) playUrl = response.read().replace('l3c', cdn) xbmc.log("Play URL resolved to : '" + playUrl + "'", xbmc.LOGNOTICE) mediaAuthSalt = utils.salt() if utils.get(playUrl, dict(mediaAuth=mediaAuthSalt)): xbmcPlayer(playUrl, mediaAuthSalt) else: otherCdn = 'akc' if cdn == 'l3c' else 'l3c' xbmc.log( "URL [%s] failed on GET, switching CDN from %s to %s" % (playUrl, cdn, otherCdn), xbmc.LOGNOTICE) xbmcPlayer(playUrl.replace(cdn, otherCdn), mediaAuthSalt)
def playgame(date, feedId): cdn = 'akc' if addon.getSetting("cdn") == "Akamai" else 'l3c' contentUrl = "http://mf.svc.nhl.com/m3u8/%s/%s" % (date, feedId) print "Content url [%s]" % (contentUrl) response = urllib.urlopen(contentUrl) playUrl = response.read().replace('l3c', cdn) print "play url [%s]" % (str(playUrl)) xbmc.Player().play(playUrl + ("|Cookie=mediaAuth%%3D%%22%s%%22" % (utils.salt())))
def playhighlight(url): xbmc.log("XBMC trying to play URL [%s]" % (url), xbmc.LOGNOTICE) mediaAuth = utils.salt() if utils.head(url, dict(mediaAuth=mediaAuth)): completeUrl = url + ("|Cookie=mediaAuth%%3D%%22%s%%22" % (mediaAuth)) xbmc.Player().play(completeUrl)
def login(filename='/home/htpass/.htpasswd'): kwargs = { 'type': type, 'dict': dict, 'error': None, 'username': '', 'password': '', 'confirmed_password': '', } if request.method == 'GET': return render_template('login.html', **kwargs) elif request.method == 'POST': # NOTE: update kwargs with POSTed credentials kwargs.update({k: v[0] for k, v in dict(request.form).items()}) # Extract credentials username = kwargs['username'] password = kwargs['password'] confirmed_password = kwargs['confirmed_password'] # TODO: provide all required checks # Check for empty fields if not username or not password or not confirmed_password: kwargs['error'] = "Something is missing" return render_template('login.html', **kwargs) # Maxlength check for item in ['username', 'password', 'confirmed_password']: if len(kwargs[item][:33]) > 32: kwargs['error'] = ("The %s is too long") % " ".join( item.split('_')) return render_template('login.html', **kwargs) # Allowed username symbols check allowed_symbols = string.ascii_letters + string.digits + '_' for letter in username: if letter not in allowed_symbols: kwargs['error'] = ("Only ascii symbols, digits and _ - ! " "symbols are allowed for username") return render_template('login.html', **kwargs) # Password match check if password != confirmed_password: kwargs['error'] = "Passwords do not match" return render_template('login.html', **kwargs) # Username length check if not 3 <= len(username) <= 12: kwargs['error'] = ("Username should be at least 3 " "and no more 12 characters long") return render_template('login.html', **kwargs) # Password length check if not 6 <= len(password) <= 30: kwargs['error'] = ("Password should be at least 6 " "and no more 30 characters long") return render_template('login.html', **kwargs) # Open file in 'a+' mode to create it, if it does not exist yet with open(filename, 'a+') as f: # Move to the beginning of the file f.seek(0, 0) # Free username check if username in f.read(): kwargs['error'] = "User already exists" return render_template('login.html', **kwargs) # Move to the end of the file f.seek(0, 2) app.logger.info(password) f.write("%s:%s\n" % (username, crypt.crypt(password, salt()))) # Remember this user to show corresponding message session['username'] = username flash("Thank you for your assistance", "success") return redirect(url_for('index'))
fps = cap.get(cv2.CAP_PROP_FPS) # 帧率 print("fps:", fps) index = 0 while cap.isOpened(): ret, frame = cap.read() #frameIndex = cap.get(cv2.CAP_PROP_POS_FRAMES) # 第i帧 #print("frame index ", frameIndex) if ret != True: break ############################################################ frame2 = cv2.flip(frame, 1, dst=None) # 镜像flip frame3 = frame[10:10 + 320, 10:10 + 240] # crop frame4 = utils.salt(frame, 500) frame5 = utils.calcAndDrawHist2(frame) #直方图 cv2.imshow("test", frame4) cv2.imshow("test5", frame5) ############################################################ inputKey = cv2.waitKey(5) & 0xFF if inputKey == ord('q'): break elif inputKey == ord('x'): cv2.imwrite( "{}.jpeg".format(time.time()), cv2.resize(frame, (224, 224), interpolation=cv2.INTER_AREA)) ############################################################ time.sleep(0.01)