fixed create missing folders, thanks Paolo

This commit is contained in:
mdipierro
2019-05-05 23:15:09 -07:00
parent fc256343a7
commit ee3b63b792
2 changed files with 16 additions and 13 deletions

View File

@@ -254,12 +254,23 @@ def w2p_pack(filename, path, compiled=False, filenames=None):
os.unlink(tarname)
def create_missing_folders(path):
for subfolder in ('models', 'views', 'controllers', 'databases',
'modules', 'cron', 'errors', 'sessions',
'languages', 'static', 'private', 'uploads'):
subpath = os.path.join(path, subfolder)
if not os.path.exists(subpath):
os.mkdir(subpath)
def create_welcome_w2p():
is_newinstall = os.path.exists('NEWINSTALL')
if not os.path.exists('welcome.w2p') or is_newinstall:
logger = logging.getLogger("web2py")
try:
w2p_pack('welcome.w2p', 'applications/welcome')
app_path = 'applications/welcome'
create_missing_folders(app_path)
w2p_pack('welcome.w2p', app_path)
logger.info("New installation: created welcome.w2p file")
except:
logger.exception("New installation error: unable to create welcome.w2p file")
@@ -291,17 +302,10 @@ def w2p_unpack(filename, path, delete_tar=True):
if delete_tar:
os.unlink(tarname)
def create_missing_folders(path):
for subfolder in ('models', 'views', 'controllers', 'databases',
'modules', 'cron', 'errors', 'sessions',
'languages', 'static', 'private', 'uploads'):
subpath = os.path.join(path, subfolder)
if not os.path.exists(subpath):
os.mkdir(subpath)
def create_app(path):
w2p_unpack('welcome.w2p', path)
create_missing_folders(path)
def w2p_pack_plugin(filename, path, plugin_name):
"""Packs the given plugin into a w2p file.
@@ -424,6 +428,7 @@ def fix_newlines(path):
write_file(filename, wdata, 'w')
# FIXME: do we really need this ?
def copystream(
src,
dest,
@@ -460,9 +465,8 @@ def abspath(*relpath, **base):
applications_parent
"""
path = os.path.join(*relpath)
gluon = base.get('gluon', False)
if os.path.isabs(path):
return path
if gluon:
if base.get('gluon', False):
return os.path.join(global_settings.gluon_parent, path)
return os.path.join(global_settings.applications_parent, path)

View File

@@ -23,7 +23,7 @@ import logging
import getpass
from gluon import main, newcron
from gluon.fileutils import read_file, create_welcome_w2p, create_missing_folders
from gluon.fileutils import read_file, create_welcome_w2p
from gluon.console import console
from gluon.settings import global_settings
from gluon.shell import die, run, test
@@ -368,7 +368,6 @@ class web2pyDialog(object):
def try_start_scheduler(self, app):
if app not in self.scheduler_processes:
create_missing_folders(os.path.join(self.options.folder, 'applications', app))
t = threading.Thread(target=self.start_schedulers, args=(app,))
t.start()