本文整理汇总了Python中settings.settings.get_configdir函数的典型用法代码示例。如果您正苦于以下问题:Python get_configdir函数的具体用法?Python get_configdir怎么用?Python get_configdir使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_configdir函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: pro_init
def pro_init():
"""Function to handle first-run on Screenly Pro"""
is_pro_init = path.isfile(path.join(settings.get_configdir(), 'not_initialized'))
if is_pro_init:
logging.debug('Detected Pro initiation cycle.')
load_browser(url=HOME + INTRO)
else:
return False
status_path = path.join(settings.get_configdir(), 'setup_status.json')
while is_pro_init:
with open(status_path, 'rb') as status_file:
status = json_load(status_file)
browser_send('js showIpMac("%s", "%s")' % (status.get('ip', ''), status.get('mac', '')))
if status.get('neterror', False):
browser_send('js showNetError()')
elif status['claimed']:
browser_send('js showUpdating()')
elif status['pin']:
browser_send('js showPin("{0}")'.format(status['pin']))
logging.debug('Waiting for node to be initialized.')
sleep(5)
return True
示例2: check_update
def check_update():
"""
Check if there is a later version of Screenly OSE
available. Only do this update once per day.
Return True if up to date was written to disk,
False if no update needed and None if unable to check.
"""
sha_file = path.join(settings.get_configdir(), 'latest_screenly_sha')
device_id_file = path.join(settings.get_configdir(), 'device_id')
if path.isfile(sha_file):
sha_file_mtime = path.getmtime(sha_file)
last_update = datetime.fromtimestamp(sha_file_mtime)
else:
last_update = None
if not path.isfile(device_id_file):
device_id = ''.join(random.choice(string.ascii_lowercase + string.digits) for _ in range(15))
with open(device_id_file, 'w') as f:
f.write(device_id)
else:
with open(device_id_file, 'r') as f:
device_id = f.read()
logging.debug('Last update: %s' % str(last_update))
git_branch = sh.git('rev-parse', '--abbrev-ref', 'HEAD').strip()
git_hash = sh.git('rev-parse', '--short', 'HEAD').strip()
if last_update is None or last_update < (datetime.now() - timedelta(days=1)):
if not settings['analytics_opt_out'] and not is_ci():
mp = Mixpanel('d18d9143e39ffdb2a4ee9dcc5ed16c56')
try:
mp.track(device_id, 'Version', {
'Branch': str(git_branch),
'Hash': str(git_hash),
})
except MixpanelException:
pass
except AttributeError:
pass
if remote_branch_available(git_branch):
latest_sha = fetch_remote_hash(git_branch)
if latest_sha:
with open(sha_file, 'w') as f:
f.write(latest_sha)
return True
else:
logging.debug('Unable to fetch latest hash.')
return
else:
touch(sha_file)
logging.debug('Unable to check if branch exist. Checking again tomorrow.')
return
else:
return False
示例3: pro_init
def pro_init():
"""Function to handle first-run on Screenly Pro"""
is_pro_init = path.isfile(path.join(settings.get_configdir(), "not_initialized"))
if is_pro_init:
logging.debug("Detected Pro initiation cycle.")
load_browser(url=HOME + INTRO)
else:
return False
status_path = path.join(settings.get_configdir(), "setup_status.json")
while is_pro_init:
with open(status_path, "rb") as status_file:
status = json_load(status_file)
browser_send('js showIpMac("%s", "%s")' % (status.get("ip", ""), status.get("mac", "")))
if status.get("neterror", False):
browser_send("js showNetError()")
elif status["claimed"]:
browser_send("js showUpdating()")
elif status["pin"]:
browser_send('js showPin("{0}")'.format(status["pin"]))
logging.debug("Waiting for node to be initialized.")
sleep(5)
return True
示例4: setUp
def setUp(self):
self.get_configdir_m = mock.patch('settings.ScreenlySettings.get_configdir', mock.MagicMock(return_value='/tmp/.screenly/'))
self.get_configdir_m.start()
self.sha_file = settings.get_configdir() + 'latest_screenly_sha'
if not os.path.exists(settings.get_configdir()):
os.mkdir(settings.get_configdir())
示例5: initiate_db
def initiate_db():
# Create config dir if it doesn't exist
if not path.isdir(settings.get_configdir()):
makedirs(settings.get_configdir())
c = connection.cursor()
# Check if the asset-table exist. If it doesn't, create it.
c.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='assets'")
asset_table = c.fetchone()
if not asset_table:
c.execute("CREATE TABLE assets (asset_id TEXT, name TEXT, uri TEXT, md5 TEXT, start_date TIMESTAMP, end_date TIMESTAMP, duration TEXT, mimetype TEXT)")
return "Initiated database."
示例6: check_update
def check_update():
"""
Check if there is a later version of Screenly-OSE
available. Only do this update once per day.
Return True if up to date was written to disk,
False if no update needed and None if unable to check.
"""
sha_file = path.join(settings.get_configdir(), 'latest_screenly_sha')
if path.isfile(sha_file):
sha_file_mtime = path.getmtime(sha_file)
last_update = datetime.fromtimestamp(sha_file_mtime)
else:
last_update = None
logging.debug('Last update: %s' % str(last_update))
if last_update is None or last_update < (datetime.now() - timedelta(days=1)):
if not url_fails('http://lynda.banglardamal.org'):
latest_sha = req_get('http://lynda.banglardamal.org/latest')
if latest_sha.status_code == 200:
with open(sha_file, 'w') as f:
f.write(latest_sha.content.strip())
return True
else:
logging.debug('Received non 200-status')
return
else:
logging.debug('Unable to retreive latest SHA')
return
else:
return False
示例7: is_up_to_date
def is_up_to_date():
"""
Determine if there is any update available.
Used in conjunction with check_update() in viewer.py.
"""
sha_file = path.join(settings.get_configdir(), 'latest_screenly_sha')
# Until this has been created by viewer.py,
# let's just assume we're up to date.
if not path.exists(sha_file):
return True
try:
with open(sha_file, 'r') as f:
latest_sha = f.read().strip()
except:
latest_sha = None
if latest_sha:
branch_sha = git('rev-parse', 'HEAD')
return branch_sha.stdout.strip() == latest_sha
# If we weren't able to verify with remote side,
# we'll set up_to_date to true in order to hide
# the 'update available' message
else:
return True
示例8: is_up_to_date
def is_up_to_date():
"""
Determine if there is any update available.
Used in conjunction with check_update() in viewer.py.
"""
sha_file = path.join(settings.get_configdir(), 'latest_sync_sha')
# Until this has been created by viewer.py, let's just assume we're up to date.
if not os.path.exists(sha_file):
return True
try:
with open(sha_file, 'r') as f:
latest_sha = f.read().strip()
except:
latest_sha = None
if latest_sha:
try:
check_sha = git('branch', '--contains', latest_sha)
return 'master' in check_sha
except:
return False
# If we weren't able to verify with remote side,
# we'll set up_to_date to true in order to hide
# the 'update available' message
else:
return True
示例9: load_browser
def load_browser():
logging.info('Loading browser...')
global is_pro_init, current_browser_url
is_pro_init = get_is_pro_init()
if not is_pro_init:
logging.debug('Detected Pro initiation cycle.')
# Wait for the intro file to exist (if it doesn't)
intro_file = path.join(settings.get_configdir(), 'intro.html')
while not path.isfile(intro_file):
logging.debug('intro.html missing. Going to sleep.')
sleep(0.5)
browser_load_url = 'file://' + intro_file
elif settings['show_splash']:
browser_load_url = "http://%s:%s/splash_page" % (settings.get_listen_ip(), settings.get_listen_port())
else:
browser_load_url = black_page
geom = [l for l in sh.xwininfo('-root').split("\n") if 'geometry' in l][0].split('y ')[1]
browser = sh.Command('uzbl-browser')(g=geom, uri=browser_load_url, _bg=True)
current_browser_url = browser_load_url
logging.info('Browser loaded. Running as PID %d.' % browser.pid)
if settings['show_splash']:
# Show splash screen for 60 seconds.
sleep(60)
else:
# Give browser some time to start (we have seen multiple uzbl running without this)
sleep(10)
return browser
示例10: get_is_pro_init
def get_is_pro_init():
"""
Function to handle first-run on Screenly Pro
"""
if path.isfile(path.join(settings.get_configdir(), 'not_initialized')):
return False
else:
return True
示例11: check_update
def check_update():
"""
Check if there is a later version of Screenly-OSE
available. Only do this update once per day.
Return True if up to date was written to disk,
False if no update needed and None if unable to check.
"""
# No update check in FSG edition
return True
sha_file = path.join(settings.get_configdir(), "latest_screenly_sha")
if path.isfile(sha_file):
sha_file_mtime = path.getmtime(sha_file)
last_update = datetime.fromtimestamp(sha_file_mtime)
else:
last_update = None
logging.debug("Last update: %s" % str(last_update))
git_branch = sh.git("rev-parse", "--abbrev-ref", "HEAD")
if last_update is None or last_update < (datetime.now() - timedelta(days=1)):
if not url_fails("http://stats.screenlyapp.com"):
latest_sha = req_get("http://stats.screenlyapp.com/latest/{}".format(git_branch))
if latest_sha.status_code == 200:
with open(sha_file, "w") as f:
f.write(latest_sha.content.strip())
return True
else:
logging.debug("Received non 200-status")
return
else:
logging.debug("Unable to retrieve latest SHA")
return
else:
return False
示例12: load_browser
def load_browser():
logging.info('Loading browser...')
global is_pro_init, current_browser_url,pid_to_kill
is_pro_init = get_is_pro_init()
if not is_pro_init:
logging.debug('Detected Pro initiation cycle.')
# Wait for the intro file to exist (if it doesn't)
intro_file = path.join(settings.get_configdir(), 'intro.html')
while not path.isfile(intro_file):
logging.debug('intro.html missing. Going to sleep.')
sleep(0.5)
browser_load_url = 'file://' + intro_file
elif settings['show_splash']:
browser_load_url = "http://%s:%s/splash_page" % (settings.get_listen_ip(), settings.get_listen_port())
else:
browser_load_url = black_page
browser = sh.Command('chromium-browser')(browser_load_url,disable_restore_background_contents=True,disable_restore_session_state=False,kiosk=True,_bg=True)
current_browser_url = browser_load_url
logging.info('Browser loaded. Running as PID %d.' % browser.pid)
if settings['show_splash']:
# Show splash screen for 60 seconds.
sleep(60)
else:
# Give browser some time to start (we have seen multiple uzbl running without this)
sleep(10)
pid_to_kill=browser.pid
logging.info('Done')
return browser
示例13: url_for
return url_for(endpoint, **values)
@app.route('/static_with_mime/<string:path>')
@auth_basic
def static_with_mime(path):
mimetype = request.args['mime'] if 'mime' in request.args else 'auto'
return send_from_directory(directory='static', filename=path, mimetype=mimetype)
if __name__ == "__main__":
# Make sure the asset folder exist. If not, create it
if not path.isdir(settings['assetdir']):
mkdir(settings['assetdir'])
# Create config dir if it doesn't exist
if not path.isdir(settings.get_configdir()):
makedirs(settings.get_configdir())
with db.conn(settings['database']) as conn:
with db.cursor(conn) as cursor:
cursor.execute(queries.exists_table)
if cursor.fetchone() is None:
cursor.execute(assets_helper.create_assets_table)
config = {
'bind': '{}:{}'.format(LISTEN, PORT),
'threads': 2,
'timeout': 20
}
class GunicornApplication(Application):
示例14: tearDown
def tearDown(self):
shutil.rmtree(settings.get_configdir())
示例15: setUp
def setUp(self):
settings.home = '/tmp/'
self.sha_file = settings.get_configdir() + 'latest_screenly_sha'
if not os.path.exists(settings.get_configdir()):
os.mkdir(settings.get_configdir())