many improvements from Vladyslav

This commit is contained in:
mdipierro
2012-07-14 22:45:32 -05:00
parent 709038cc0a
commit 1b34f47ec9
14 changed files with 63 additions and 47 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.00.0 (2012-07-14 20:15:46) dev
Version 2.00.0 (2012-07-14 22:45:25) dev
+1 -1
View File
@@ -197,7 +197,7 @@ def select():
_name='update_fields', _value=request.vars.update_fields
or '')), TR(T('Delete:'), INPUT(_name='delete_check',
_class='delete', _type='checkbox', value=False), ''),
TR('', '', INPUT(_type='submit', _value='submit'))),
TR('', '', INPUT(_type='submit', _value=T('submit')))),
_action=URL(r=request,args=request.args))
if request.vars.csvfile != None:
try:
+2 -2
View File
@@ -42,7 +42,7 @@ def commit():
path = apath(app, r=request)
repo = hg_repo(path)
form = FORM('Comment:',INPUT(_name='comment',requires=IS_NOT_EMPTY()),
INPUT(_type='submit',_value='Commit'))
INPUT(_type='submit',_value=T('Commit')))
if form.accepts(request.vars,session):
oldid = repo[repo.lookup('.')]
addremove(repo)
@@ -69,7 +69,7 @@ def revision():
repo = hg_repo(path)
revision = request.args(1)
ctx=repo.changectx(revision)
form=FORM(INPUT(_type='submit',_value='revert'))
form=FORM(INPUT(_type='submit',_value=T('Revert')))
if form.accepts(request.vars):
hg.update(repo, revision)
session.flash = "reverted to revision %s" % ctx.rev()
+3 -3
View File
@@ -3,15 +3,15 @@ from distutils import dir_util
try:
from git import *
except ImportError:
session.flash = 'requires python-git, but not installed'
session.flash = T('requires python-git, but not installed')
redirect(URL('default','site'))
def deploy():
apps = sorted(file for file in os.listdir(apath(r=request)))
form = SQLFORM.factory(
Field('osrepo',default='/tmp',label='Path to local openshift repo root.',
Field('osrepo',default='/tmp',label=T('Path to local openshift repo root.'),
requires=EXISTS(error_message=T('directory not found'))),
Field('osname',default='web2py',label='WSGI reference name'),
Field('osname',default='web2py',label=T('WSGI reference name')),
Field('applications','list:string',
requires=IS_IN_SET(apps,multiple=True),
label=T('web2py apps to deploy')))
+1 -1
View File
@@ -63,7 +63,7 @@
<br/><br/><h3>{{=T("Import/Export")}}</h3><br/>
[ <a href="{{=URL('csv',args=request.args[0],vars=dict(query=query))}}">{{=T("export as csv file")}}</a> ]
{{if table:}}
{{=FORM(str(T('or import from csv file'))+" ",INPUT(_type='file',_name='csvfile'),INPUT(_type='hidden',_value=table,_name='table'),INPUT(_type='submit',_value='import'))}}
{{=FORM(str(T('or import from csv file'))+" ",INPUT(_type='file',_name='csvfile'),INPUT(_type='hidden',_value=table,_name='table'),INPUT(_type='submit',_value=T('import')))}}
{{pass}}
@@ -12,20 +12,20 @@ $(document).ready(function() {
});
</script>
<h2>OpenShift Deployment Interface</h2>
<h2>{{=T("OpenShift Deployment Interface")}}</h2>
<p class="help">{{=T("This page can commit your changes to an openshift app repo and push them to your cloud instance. This assumes that you've already created the application instance using the web2py skeleton and have that repo somewhere on a filesystem that this web2py instance can access. This functionality requires GitPython installed and on the python path of the runtime that web2py is operating in.")}}</p>
<p class="help">{{=T("Note: If you receive an error with github status code of 128, ensure the system and account you are deploying from has a cooresponding ssh key configured in the openshift account.")}}</p>
{{if command:}}
<h3>Command</h3>
<button onclick="$.get('{{=URL(r=request,f='kill')}}');">kill process</button>
<h3>{{=T("Command")}}</h3>
<button onclick="$.get('{{=URL(r=request,f='kill')}}');">{{=T("kill process")}}</button>
{{=CODE(command)}}
<h3>OpenShift Output</h3>
<h3>{{=T("OpenShift Output")}}</h3>
<pre id="target"></pre>
{{else:}}
<h3>Deployment form</h3>
<h3>{{=T("Deployment form")}}</h3>
<div class="deploy_form form">
{{=form}}
</div>
@@ -197,7 +197,7 @@ def select():
_name='update_fields', _value=request.vars.update_fields
or '')), TR(T('Delete:'), INPUT(_name='delete_check',
_class='delete', _type='checkbox', value=False), ''),
TR('', '', INPUT(_type='submit', _value='submit'))),
TR('', '', INPUT(_type='submit', _value=T('submit')))),
_action=URL(r=request,args=request.args))
if request.vars.csvfile != None:
try:
+1 -1
View File
@@ -63,7 +63,7 @@
<br/><br/><h3>{{=T("Import/Export")}}</h3><br/>
[ <a href="{{=URL('csv',args=request.args[0],vars=dict(query=query))}}">{{=T("export as csv file")}}</a> ]
{{if table:}}
{{=FORM(str(T('or import from csv file'))+" ",INPUT(_type='file',_name='csvfile'),INPUT(_type='hidden',_value=table,_name='table'),INPUT(_type='submit',_value='import'))}}
{{=FORM(str(T('or import from csv file'))+" ",INPUT(_type='file',_name='csvfile'),INPUT(_type='hidden',_value=table,_name='table'),INPUT(_type='submit',_value=T('import')))}}
{{pass}}
+1 -1
View File
@@ -197,7 +197,7 @@ def select():
_name='update_fields', _value=request.vars.update_fields
or '')), TR(T('Delete:'), INPUT(_name='delete_check',
_class='delete', _type='checkbox', value=False), ''),
TR('', '', INPUT(_type='submit', _value='submit'))),
TR('', '', INPUT(_type='submit', _value=T('submit')))),
_action=URL(r=request,args=request.args))
if request.vars.csvfile != None:
try:
+1 -1
View File
@@ -63,7 +63,7 @@
<br/><br/><h3>{{=T("Import/Export")}}</h3><br/>
[ <a href="{{=URL('csv',args=request.args[0],vars=dict(query=query))}}">{{=T("export as csv file")}}</a> ]
{{if table:}}
{{=FORM(str(T('or import from csv file'))+" ",INPUT(_type='file',_name='csvfile'),INPUT(_type='hidden',_value=table,_name='table'),INPUT(_type='submit',_value='import'))}}
{{=FORM(str(T('or import from csv file'))+" ",INPUT(_type='file',_name='csvfile'),INPUT(_type='hidden',_value=table,_name='table'),INPUT(_type='submit',_value=T('import')))}}
{{pass}}
+11 -13
View File
@@ -16,7 +16,6 @@ import time
import datetime
from http import HTTP
from gzip import open as gzopen
from settings import global_settings
__all__ = [
@@ -71,16 +70,6 @@ def readlines_file(filename, mode='r'):
"applies .split('\n') to the output of read_file()"
return read_file(filename, mode).split('\n')
def abspath(*relpath, **base):
"convert relative path to absolute path based (by default) on applications_parent"
path = os.path.join(*relpath)
gluon = base.get('gluon', False)
if os.path.isabs(path):
return path
if gluon:
return os.path.join(global_settings.gluon_parent, path)
return os.path.join(global_settings.applications_parent, path)
def mktree(path):
head,tail =os.path.split(path)
@@ -396,6 +385,15 @@ def make_fake_file_like_object():
return LogFile()
from settings import global_settings # we need to import settings here because
# settings imports fileutils too
def abspath(*relpath, **base):
"convert relative path to absolute path based (by default) on applications_parent"
path = os.path.join(*relpath)
gluon = base.get('gluon', False)
if os.path.isabs(path):
return path
if gluon:
return os.path.join(global_settings.gluon_parent, path)
return os.path.join(global_settings.applications_parent, path)
+1 -13
View File
@@ -52,15 +52,7 @@ from custom_import import custom_import_install
# The two are identical unless web2py_path is changed via the web2py.py -f folder option
# main.web2py_path is the same as applications_parent (for backward compatibility)
if not hasattr(os, 'mkdir'):
global_settings.db_sessions = True
if global_settings.db_sessions is not True:
global_settings.db_sessions = set()
global_settings.gluon_parent = os.environ.get('web2py_path', os.getcwd())
global_settings.applications_parent = global_settings.gluon_parent
web2py_path = global_settings.applications_parent # backward compatibility
global_settings.app_folders = set()
global_settings.debugging = False
custom_import_install(web2py_path)
@@ -107,11 +99,7 @@ requests = 0 # gc timer
# pattern used to validate client address
regex_client = re.compile('[\w\-:]+(\.[\w\-]+)*\.?') # ## to account for IPV6
version_info = open(abspath('VERSION', gluon=True), 'r')
web2py_version = parse_version(version_info.read().strip())
version_info.close()
global_settings.web2py_version = web2py_version
web2py_version = global_settings.web2py_version
try:
import rocket
+31 -3
View File
@@ -4,13 +4,41 @@ Copyrighted by Massimo Di Pierro <mdipierro@cs.depaul.edu>
License: LGPLv3 (http://www.gnu.org/licenses/lgpl.html)
"""
import os
import sys
import platform
from storage import Storage
global_settings = Storage()
settings = global_settings # legacy compatibility
if not hasattr(os, 'mkdir'):
global_settings.db_sessions = True
if global_settings.db_sessions is not True:
global_settings.db_sessions = set()
global_settings.gluon_parent = os.environ.get('web2py_path', os.getcwd())
global_settings.applications_parent = global_settings.gluon_parent
global_settings.app_folders = set()
global_settings.debugging = False
global_settings.is_pypy = hasattr(platform,'python_implementation') and \
platform.python_implementation() == 'PyPy'
global_settings.is_jython = 'java' in sys.platform.lower() or \
hasattr(sys, 'JYTHON_JAR') or \
str(sys.copyright).find('Jython') > 0
version_info = open(os.path.join(global_settings.gluon_parent, 'VERSION'), 'r')
raw_version_string = version_info.read().strip()
version_info.close()
from fileutils import parse_version # we need fileutils import here, because
# fileutils also imports settings
global_settings.web2py_version = parse_version(raw_version_string)
+3 -1
View File
@@ -758,6 +758,8 @@ class SQLFORM(FORM):
labels={'name': 'Your name'},
linkto=URL(f='table/db/')
"""
from gluon import current
T = current.T
self.ignore_rw = ignore_rw
self.formstyle = formstyle
@@ -980,7 +982,7 @@ class SQLFORM(FORM):
if not readonly:
if 'submit' in buttons:
widget = self.custom.submit = INPUT(_type='submit',
_value=submit_button)
_value=T(submit_button))
elif buttons:
widget = self.custom.submit = DIV(*buttons)
if self.custom.submit: