示例#1
0
def log_ticket(ticket, logger=LOG):
    """Log a ticket."""
    if not ticket:
        return

    # Ticket may have have the app prepended, for example:
    # zcomx/108.162.141.78.2016-06-20.14-36-01.3ac605e2-5ff9-47f1-872f-ab291cdb
    if '/' in ticket:
        parts = ticket.split(os.sep)
        ticket_id = parts[-1]
    else:
        ticket_id = ticket

    if not ticket_id:
        return

    request = current.request
    ticket_storage = TicketStorage()
    app = None   # 'app' is an errors sub directory, not used
    contents = ticket_storage.load(request, app, ticket_id)
    traceback = contents.get('traceback')
    if not traceback:
        return
    for line in traceback.split("\n"):
        logger.error(line)
示例#2
0
ignore_rw = True
response.view = 'appadmin.html'
if menu:
    response.menu = [[T('design'), False, URL('admin', 'default', 'design',
                 args=[request.application])], [T('db'), False,
                 URL('index')], [T('state'), False,
                 URL('state')], [T('cache'), False,
                 URL('ccache')]]

# ##########################################################
# ## auxiliary functions
# ###########################################################

if False and request.tickets_db:
    from gluon.restricted import TicketStorage
    ts = TicketStorage()
    ts._get_table(request.tickets_db, ts.tablename, request.application)

def get_databases(request):
    dbs = {}
    for (key, value) in global_env.items():
        try:
            cond = isinstance(value, GQLDB)
        except:
            cond = isinstance(value, SQLDB)
        if cond:
            dbs[key] = value
    return dbs

databases = get_databases(None)
示例#3
0
SLEEP_MINUTES = 5

errors_path = os.path.join(request.folder, 'errors')
try:
    db_string = open(os.path.join(request.folder, 'private',
                                  'ticket_storage.txt'),
                     encoding='UTF-8').read().replace('\r',
                                                      '').replace('\n',
                                                                  '').strip()
except:
    db_string = 'sqlite://storage.db'

db_path = os.path.join(request.folder, 'databases')

tk_db = DAL(db_string, folder=db_path, auto_import=True)
ts = TicketStorage(db=tk_db)
tk_table = ts._get_table(db=tk_db,
                         tablename=ts.tablename,
                         app=request.application)

hashes = {}

while 1:
    if request.tickets_db:
        print("You're storing tickets yet in database")
        sys.exit(1)

    for file in os.listdir(errors_path):
        filename = os.path.join(errors_path, file)

        modified_time = os.stat(filename)[stat.ST_MTIME]
示例#4
0
from gluon.utils import md5_hash
from gluon.restricted import RestrictedError, TicketStorage
from gluon import DAL

SLEEP_MINUTES = 5

errors_path = os.path.join(request.folder, 'errors')
try:
    db_string = open(os.path.join(request.folder, 'private', 'ticket_storage.txt')).read().replace('\r', '').replace('\n', '').strip()
except:
    db_string = 'sqlite://storage.db'

db_path = os.path.join(request.folder, 'databases')

tk_db = DAL(db_string, folder=db_path, auto_import=True)
ts = TicketStorage(db=tk_db)
tk_table = ts._get_table(
    db=tk_db, tablename=ts.tablename, app=request.application)


hashes = {}

while 1:
    if request.tickets_db:
        print "You're storing tickets yet in database"
        sys.exit(1)

    for file in os.listdir(errors_path):
        filename = os.path.join(errors_path, file)

        modified_time = os.stat(filename)[stat.ST_MTIME]