Example #1
0
def test_show(mocker):
    """Test show function calls Tk.mainloop()"""
    stub = mocker.stub()
    mocker.patch("tkinter.Tk")
    slideshow = SlideShow("", stub)
    slideshow.show()
    slideshow.root.mainloop.assert_called_once_with()
Example #2
0
def test_toggle_start_callback(mocker):
    """Test toggle_start calls the callback function"""
    stub = mocker.stub()
    mocker.patch("tkinter.Tk")
    slideshow = SlideShow("", stub)
    slideshow.toggle_start()
    stub.assert_called_once_with()
Example #3
0
def test_update_progress(mocker):
    """Test update_progress sets expected value"""
    stub = mocker.stub()
    mocker.patch("tkinter.Tk")
    mocker.patch("tkinter.Label")
    slideshow = SlideShow("", stub)
    slideshow.update_progress(500, 600, "gx8oN6ZDHc3lv3xy")
    slideshow.progress_label.config.assert_called_once_with(
        text="500 (83.33%): gx8oN6ZDHc3lv3xy")
 def upload_pdf(self, server, path, run):
     """Upload the rendered pdf to SlideShare"""
     slideshow = SlideShow()
     title = "%s %s" % (run['title'], run['id'])
     tags = ",".join(run['tags'].split(" "))
     result = slideshow.upload(run['slideshare'], path, title, tags)
     try:
         os.remove(path)
     except OSError, e :
         print "can't delete file %s"%e
Example #5
0
def make_slides(photo_list):
    print('Starting slideshow')
    photo_list = list(photo_list)
    photo_list.sort(key=lambda x: int(x.num_tags), reverse=True)
    slideshow = SlideShow()

    first_photo = photo_list.pop()
    slideshow.add_photo(first_photo)
    add_next(first_photo, slideshow, photo_list, len(photo_list) - 1)
    return slideshow
Example #6
0
def test_toggle_start_active(mocker):
    """Test toggle_start sets active value"""
    stub = mocker.stub()
    mocker.patch("tkinter.Tk")
    slideshow = SlideShow("", stub)
    assert slideshow.is_active() is False
    slideshow.toggle_start()
    assert slideshow.is_active() is True
Example #7
0
def test_toggle_start_buttontext(mocker):
    """Test toggle_start changes the button text"""
    stub = mocker.stub()
    mocker.patch("tkinter.Tk")
    mocker.patch("tkinter.Button")
    slideshow = SlideShow("", stub)

    slideshow.toggle_start()
    slideshow.startstop_button.config.assert_called_once_with(text="Stop")

    slideshow.toggle_start()
    slideshow.startstop_button.config.assert_called_with(text="Start")
Example #8
0
def test_init_title(mocker):
    """Test init function sets title value"""
    stub = mocker.stub()
    mocker.patch("tkinter.Tk")
    slideshow = SlideShow("ZlNLpWJUv52wgu2Y", stub)
    slideshow.root.title.assert_called_once_with("ZlNLpWJUv52wgu2Y")
Example #9
0
def test_init_geometry(mocker):
    """Test init function sets geometry values"""
    stub = mocker.stub()
    mocker.patch("tkinter.Tk")
    slideshow = SlideShow("", stub, 500, 600)
    slideshow.root.geometry.assert_called_once_with("500x600+0+0")
Example #10
0
def test_init_callback(mocker):
    """Test init function sets callback"""
    stub = mocker.stub()
    slideshow = SlideShow("", stub)
    assert slideshow.start_callback == stub
Example #11
0
            'tools.staticdir.on': True,
            'tools.staticdir.dir': os.path.abspath('./public')
        },
        '/slides': {
            'tools.staticdir.on': True,
            'tools.staticdir.dir': os.path.abspath('./slides')
        },
        '/': {
            'tools.sessions.on': True
        }
    }    

    if args.daemonize:
        d = Daemonizer(cherrypy.engine, stderr='/var/log/missionary_server.log')
        d.subscribe()
        PIDFile(cherrypy.engine, '/var/run/missionary_server.pid').subscribe()
        DropPrivileges(cherrypy.engine, uid=1000, gid=1000).subscribe()

    # cherrypy.config.update({'log.screen': False,
    #                         'log.access_file': '',
    #                         'log.error_file': ''})

    settings = Settings('settings.json')
    cherrypy.tree.mount(Root(settings), '/', conf)
    cherrypy.tree.mount(SlideShow('./slides'), '/slideshow', conf)
    cherrypy.tree.mount(Local(), '/local')
    cherrypy.tree.mount(Missionary(settings), '/missionary')
    cherrypy.tree.mount(PhotoUploader(os.path.abspath('./slides')), '/photos', conf)
    cherrypy.tree.mount(settings, '/settings', conf)
    cherrypy.quickstart(Mission(settings), '/mission', conf)