コード例 #1
0
 def get_videolist(self):
     beta("G_VL: Getting list of enabled video locations")
     self.videolist = list()
     if len(c.get_enabled()) < 1:
         c.ok(
             "Please enable a location to view, all are disabled! \nSettings > Enable Locations"
         )
         beta("G_VL: User has disabled all locations!")
         sys.exit()
     else:
         for location in c.get_enabled():
             videos = c.get_video_data(location)
             self.videolist.append((location, videos))
     beta("G_VL: Videolist has been created.")
コード例 #2
0
    def post(self, request):
        ticket = request.args['ticket']
        # TODO: process ticket into central key
        central_key = ticket

        created = False
        try:
            angel = Angel.objects.get(central_key=central_key)
        except Angel.DoesNotExists:
            created = True
            angel = Angel(
                nickname='SuperAwesomeName',
                central_key=central_key,
                distribution=0.0,
            )
            angel.save()

        item = LoginItem(angel=angel)
        item.expired_time = timezone.now() + datetime.timedelta(days=30)
        item.save()

        return ok({
            'created': created,
            'token': item.token,
            'angel': angel.to_dict(),
        })
コード例 #3
0
    def post(self, request):
        ticket = request.args['ticket']
        # TODO: process ticket into central key
        central_key = ticket

        angel, item, created = Angel.login_and_optional_create(central_key)

        return ok({
            'created': created,
            'token': item.token,
            'angel': angel.to_dict(),
        })
コード例 #4
0
 def launch(self):
     self.playlist = xbmc.PlayList(1)
     self.playlist.clear()
     self.videolist = self.getPlaylist()
     global list_len
     list_len = len(self.videolist)
     if len(self.videolist) == 0:
         c.ok("Your \"Time of Day\" selection is {}. The locations you have downloaded do not have any {} Time videos. Please download more locations or change your \"Time of Day\" settings.".format(c.time_of_day.title(), gV().get_current_time().title()))
         return
     random.shuffle(self.videolist)
     for video in self.videolist:
         listitem = xbmcgui.ListItem("%s" % video.get("id"))
         listitem.setInfo( 'video', {
                     'plot': "{}".format(video.get("poi")),
                     'tagline' : "{}".format(video.get("timeOfDay")),
                     'title' : "{}".format(video.get('location'))
                     })
         self.playlist.add(video.get("url"), listitem=listitem)
     self.player.play(self.playlist, windowed=True)
     self.overlay = OverlayWindow('evolve_dialog.xml', c.path, 'default', '1080i')
     self.overlay.doModal()
     if not self.npv:
         if self.overlay.running == False:
             self.close()
コード例 #5
0
def debug_login(request):
    ticket = request.args['ticket']
    if ticket == 'debug-ticket-create-angel':
        now = timezone.now()
        central_key = 'debug-central-key-' + str(time.mktime(now.timetuple()))

        angel, item, created = Angel.login_and_optional_create(central_key)
        assert created

        return ok({
            'created': True,
            'token': item.token,
            'angel': angel.to_dict(),
        })
    else:
        return error('unknown debug ticket')
コード例 #6
0
def debug_login(request):
    ticket = request.args['ticket']
    if ticket == 'debug-ticket-create-angel':
        now = timezone.now()
        angel = Angel(
            nickname='SuperAwesomeName',
            central_key='debug-central-key-' +
            str(time.mktime(now.timetuple())),
            distribution=0.0,
        )
        angel.save()

        item = LoginItem(angel=angel)
        item.expired_time = now + datetime.timedelta(days=30)
        item.save()

        return ok({
            'created': True,
            'token': item.token,
            'angel': angel.to_dict(),
        })
    else:
        return error('unknown debug ticket')
コード例 #7
0
                                  stdout=subprocess.PIPE,
                                  stderr=subprocess.STDOUT,
                                  env=env) as p, open(logpath, "bw") as stream:
                while True:
                    byte = p.stdout.read(1)
                    if byte:
                        sys.stdout.buffer.write(byte)
                        sys.stdout.flush()
                        stream.write(byte)
                        # logfile.flush()
                    else:
                        break

            if p.returncode == 0:
                ok_str = "# %s passed. #" % image
                ok("%s\n%s\n%s\n\n" %
                   ("#" * len(ok_str), ok_str, "#" * len(ok_str)))
                docker_runs.append({
                    "image": image,
                    "success": True,
                    "error": "",
                })
            else:
                failed_str = "# %s failed: return code %s. #" % (image,
                                                                 p.returncode)
                error(
                    "%s\n%s\n%s\n\n" %
                    ("#" * len(failed_str), failed_str, "#" * len(failed_str)))
                docker_runs.append({
                    "image": image,
                    "success": False,
                    "error": "return code: %s" % p.returncode,
コード例 #8
0
        try:
            with subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, env=env) as p, \
                    open(logpath, 'bw') as stream:
                while True:
                    byte = p.stdout.read(1)
                    if byte:
                        sys.stdout.buffer.write(byte)
                        sys.stdout.flush()
                        stream.write(byte)
                        # logfile.flush()
                    else:
                        break

            if p.returncode == 0:
                ok_str = '# %s passed. #' % image
                ok("%s\n%s\n%s\n\n" %
                   ('#' * len(ok_str), ok_str, '#' * len(ok_str)))
                docker_runs.append({
                    'image': image,
                    'success': True,
                    'error': '',
                })
            else:
                failed_str = '# %s failed: return code %s. #' % (image,
                                                                 p.returncode)
                error(
                    "%s\n%s\n%s\n\n" %
                    ('#' * len(failed_str), failed_str, '#' * len(failed_str)))
                docker_runs.append({
                    'image': image,
                    'success': False,
                    'error': 'return code: %s' % p.returncode,
コード例 #9
0
def logout(request):
    item = LoginItem.objects.get(token=request.args['token'])
    item.delete()
    return ok()
コード例 #10
0
 def get(self, request):
     back = request.args['back']
     # TODO: decide redirect URL base on request.args['region']
     return ok({'url': 'https://google.com'})
コード例 #11
0
            else:
                self.changing = True
                self.player.playprevious()
        elif action == 2:
            if int(playlist.size()) == (int(playlist.getposition())+1):
                self.player.pause()
                self.changing = True
                self.file = "REPEATING"
                self.player.play(playlist, windowed=True)
            else:
                self.changing = True
                self.player.playnext()

if __name__ == '__main__':
    c.cleanup()
    if len(sys.argv) == 1:
        c.beta("Starting Screensaver from Executable")
        Start()
    elif 'auto' in sys.argv[1]:
        c.beta("Starting Screensaver from Preview or Automatically")
        Start()
    elif 'download' in sys.argv[1]:
        c.beta("DOWNLOAD_DEBUG: User clicked on Manual Download")
        if c.download_folder != "":
            c.beta("DOWNLOAD_DEBUG: User has a download folder set")
            local.download()
        else:
            c.beta("DOWNLOAD_DEBUG: User has not set download folder.")
            c.ok("Please set a Download Location in the General Tab of Settings.")
            c.beta("DOWNLOAD_DEBUG: User has accepted the notification")