コード例 #1
0
ファイル: report_0.py プロジェクト: jzlink/library
    def buildAddDate(self):
        ''' old method. to be incorporated into buildEditDate when ready
        to activate the features'''
        datepicker =  self.forms.getJQueryUI('when_read','', 'datepicker')
        addDateTable = HtmlTable(border=1, cellpadding=3)
        
        addDateTable.addRow(['Date', datepicker])

        return addDateTable.getTable()
コード例 #2
0
 def getBody(self):
     table = HtmlTable(cellspacing=2, cellpadding=2, border=1)
     table.addHeader(['Painter', 'Style', 'Born', 'Until'])
     table.setRowBGColor(table.rownum, 'lightgreen')
     for row in self.getData():
         table.addRow(row)
     return center(table.getTable())
コード例 #3
0
ファイル: report_0.py プロジェクト: jzlink/library
    def buildEditAuthor(self, book_id):
        '''build a table that will be a stub table of the main edit table.
        it will have all author information and will (eventually) be the place
        to remove and add authors from/to book records
        accepts a book id, finds all authors asscoiated with
        returns a table for those authors'''

        author = Author()
        bookAuthor = author.getBookAuthor(book_id)
        editAuthorTable = HtmlTable(border=1, cellpadding=3)
        add ='<button type = "button" id="authorToggle"> Add Author </button>'

        addAuthor = '<div id = "addAuthor" style = "display: none">'
        addAuthor += self.buildAddAuthor()
        addAuthor += '</div>'

        editAuthorTable.addHeader(['Author', add])

        for author in bookAuthor:
            catAuthor = '<nobr>%s %s</nobr>'\
                %(author['first_name'], author['last_name'])
            remove = 'Remove author %s*' %author['author_id']

            editAuthorTable.addRow([catAuthor, remove])
        editAuthorTable.addRow(['',\
                               '*remove author feature not avalible yet'])

        return editAuthorTable.getTable(), addAuthor
コード例 #4
0
    def GET(self, session):
        print("LoadConfig Session:%s" % (session))
        webInsMgr.AddIns(int(session))
        webInsMgr.InstanceList[int(session)].ConfigMgr = configmgr.ConfigMgr(
        )  # Intializeds ConfigMgr within Instance
        #print ("Load Config: %s" %(webInsMgr.InstanceList[int(session)].ConfigMgr.GetConfigFileList()))
        #FileListDict =
        print()

        FileChoiceFormTable = HtmlTable(['Available Config Files'])
        FileChoiceFormTableSub = HtmlTable(['', 'Config File'])
        fpstring = 'LoadConfig/%s' % (session)
        print("Fpstring %s" % (fpstring))
        GetConfigFileDict = webInsMgr.InstanceList[int(
            session)].ConfigMgr.GetConfigFileList()
        for fileIndex in GetConfigFileDict:
            temp_Form = form.Form(
                form.Button('Load',
                            type="submit",
                            value=fileIndex,
                            target=fpstring,
                            id="submit"))
            FileChoiceFormTableSub.AddRow(
                [temp_Form.render(),
                 '%s' % (GetConfigFileDict[fileIndex])])

        FileChoiceFormTable.AddRow([FileChoiceFormTableSub])

        webInsMgr.InstanceList[int(session)].UpdateAccessTime()

        return render2.LoadExisting(0, FileChoiceFormTable.GetFormattedHtml(),
                                    session)
コード例 #5
0
ファイル: formsmanager.py プロジェクト: codemation/py-k8s
 def GetHtmlTable(self, NewHtmlTable, divId=None, action=None, method=None, ajax = True):
     """
         GetHtmlTable(self, NewHtmlTable, divId=None, action=None, method=None, ajax = True):
     """
     if divId is not None:
         divId = self.divStrip(divId)
     table = HtmlTable(NewHtmlTable, divId, action, method, ajax)
     self.divGetHtml[divId] = table.GetFormattedHtml
     return table
コード例 #6
0
 def GetHtmlTable(self,
                  NewHtmlTable,
                  divId=None,
                  action=None,
                  method=None,
                  ajax=True):
     table = HtmlTable(NewHtmlTable, divId, action, method, ajax)
     if divId is not None:
         if ' ' in divId:
             divId = ''.join(divId.split(' '))
             self.divGetHtml[divId] = table.GetFormattedHtml
         else:
             self.divGetHtml[divId] = table.GetFormattedHtml
     return table
コード例 #7
0
ファイル: report.py プロジェクト: jzlink/library
    def buildRecordForm (self, book_id = None):
        '''responisble for building the composite form for book records by
        gathering all data, calling necessary helper methods, and adding all
        sub-forms together. Form has 3 sub-parts:
        (1) the book form which holds all data fields with a 1:1 relationship
        to a book_id 
        (2) the edit author from which itself has 2 sub-parts:
        (2a) the remove author feature (currently inactive) 
        (2b) add author section which defaults to hidden
        (3) the dates read add/remove (currently inactive)
        form is used for adding records and editing records. If a book_id is
        recieved current values for that book_id are pulled from the DB and
        used to pre-populate form fields (used for edit). Otherwise the form
        is built blank, with no default values (used for add).
        Returns composite form as an HTML table
        '''

        #create holder variables
        bookData = None
        authorData = None
        dateData = None

        #bring in data if book_id is present
        if book_id:
            where = 'book.book_id =' + str(book_id)
            bookData = self.query.getData('edit', where)
            authorData = self.author.getBookAuthor(book_id)
            dateData = self.when.getWhenRead(book_id) 
        
        #call helper methods to build all sub-parts
        bookForm = self.buildBookForm(bookData)
        removeAuthor = self.buildEditAuthor(authorData)
        dateForm = self.buildEditDate(dateData)

        #put tables with many:many relationships together in a sub-table table
        subTs = HtmlTable(border=0, cellpadding = 20)
        subTs.addRow([removeAuthor])
        subTs.addRow([dateForm])  
        subTables = subTs.getTable()

        #put all form tables together 
        recordForm  = HtmlTable(border=0, cellpadding=30)
        recordForm. addRow([bookForm, subTables])

        return recordForm.getTable()
コード例 #8
0
ファイル: report.py プロジェクト: jzlink/library
    def buildEditDate(self, dateData):
        '''build table that will be a sub-table of the main edit table to
        hold dates and date addtion/subtraction features. Accepts a book id,
        find associated dates. Returns table'''

        #initilize date table
        editDateTable = HtmlTable(border=1, cellpadding=3)
        editDateTable.addHeader(['Date(s) Read'])

        if dateData:
            for d  in dateData:
                editDateTable.addRow([str(d[0])])

        addNew = 'Add Date:'
        addNew +=  self.forms.getJQueryUI('when_read', '', 'datepicker')
        editDateTable.addRow([addNew])

        return editDateTable.getTable()        
コード例 #9
0
ファイル: OLDlibraryHTML.py プロジェクト: jzlink/library
    def build_report(self):
        metadata = Metadata()
        display_data = metadata.interrogateMetadata(self.page, 'display')
        display_names = display_data['col_attributes']
        table = HtmlTable(border=1, cellpadding=3)
        table.addHeader(['Field', 'Entry'])

        for column, display in display_names:
            if self.activity == 'view':
            # make a simple table, not a form
                for rec in self.recordData:
                    if rec[column]:
                        data = rec[column]
                    else:
                        data = self.show_blank
                table.addRow([display, data])                 

            else:
            #use methods to build form
                form = self.columns[column][0]['form_type']
#                type_method = {'text'        :' self.getTextField(column)',
#                               'drop_down'   : 'self.getDropDown(column)',
#                               'radio_static': 'self.getStaticRadio(column)',
#                               'autocomplete': 'self.getAutocomplete(column)'
#                              }

                if form == 'text':
                    form_field =self.getTextField(column)
                if form == 'drop_down':
                    form_field =self.getDropDown(column)
                if form == 'radio_static':
                    form_field =self.getStaticRadio(column)
                if form == 'autocomplete':
                    form_field =self.getAutocomplete(column)

                table.addRow([display, form_field])

        #push final product
        report = table.getTable()
        return report
コード例 #10
0
ファイル: report.py プロジェクト: jzlink/library
    def buildEditAuthor(self, authorData):
        '''Accept authorData which may be None
        Build author sub-table. if authorData !None include the list of authors
        and set the add author section to hidden. Else set add author section
        to be visable. Return 2 seperate sections: remove author and add author
        '''

        #initialize Author form
        editAuthorTable = HtmlTable(border=1, cellpadding=3)
        #create button that will toggle open the add author section
        add ='<button type = "button" id="authorToggle"> Add Author </button>'

        #add the header row of the table with the add button
        editAuthorTable.addHeader(['Author'])

        #section shows list of authors currenlty paired with the book
        if authorData:
            for author in authorData:
                catAuthor = '<nobr>%s %s</nobr>'\
                    %(author['first_name'], author['last_name'])

                editAuthorTable.addRow([catAuthor])

             #initialize hidden add author section
#            addAuthor = '<div id = "addAuthor" style = "display: none">'

#        else:
            #initialize visable add author section
#            addAuthor = '<div id = "addAuthor" style = "display: default">'


        #complete the addAuthor section
        addAuthor = '<div id = "addAuthor" style = "display: default">'
        addAuthor += self.buildAddAuthor()
        addAuthor += '</div>'

        editAuthorTable.addRow([addAuthor])

        return editAuthorTable.getTable()
コード例 #11
0
ファイル: report.py プロジェクト: jzlink/library
    def buildMain(self, where= None, order_by = None):
        '''build table seen on main page using all books. Accepts optional
        arguements to filter (search) or sort. Returns table'''

        bookData = self.query.getData('main', where, order_by)

        # start html table
        mainTable = HtmlTable(border=1, cellpadding=3)

        # table header, uses display name and enables sorting
        table_header = ['#']

        for field, name in self.display_names:
            sortflag =''
            if field == order_by:
                sortflag = ' ^'
            js =  "document.form1.order_by.value='%s';" % field
            js += "document.form1.submit();"
            h = '<a onclick="javascript:%s">%s%s</a>' % (js, name, sortflag)
            table_header.append(h)
        mainTable.addHeader(table_header)

        # table body- build a numbered row for each record
        i = 0
        activity = 'view'

        for rec in bookData: 
            i += 1
            href = '<a href="detail.py?book_id=%d&activity=%s">%s'\
                % (rec['book_id'], activity, rec['title'])

            # format date
            if rec['date']:
                dates = '<br>'.join(['<nobr>%s</nobr>' % d.strip()
                                     for d in rec['date'].split('&')])
            else:
                dates = '-'

            mainTable.addRow(\
                [i,
                 href,
                 rec['author'] or '' ,
                 rec['notes' ]       ,
                 dates])

        return mainTable.getTable()
コード例 #12
0
ファイル: report_0.py プロジェクト: jzlink/library
    def buildEditDate(self, book_id):
        '''build table that will be a sub-table of the main edit table to
        hold dates and date addtion/subtraction features. Accepts a book id,
        find associated dates. Returns table'''

        when = WhenRead()
        bookDate = when.getWhenRead(book_id)

        editDateTable = HtmlTable(border=1, cellpadding=3)
        editDateTable.addHeader(['Date', 'Add Addtional Date'])

        for bD in bookDate:
            remove = 'Forget this date'

            editDateTable.addRow([str(bD[0]), remove])

        return editDateTable.getTable()        
コード例 #13
0
def htmlify(data, type='table'):
    if isinstance(data, list):
        table = HtmlTable(cellpadding=2)
        for row in data:
            if isinstance(row, list):
                for i, col in enumerate(row):
                    if isinstance(col, list):
                        row[i] = ', '.join(str(c) for c in col)
                table.addRow(row)
            else:
                table.addRow([str(row)])
        return table.getTable()
    if isinstance(data, dict):
        if type == 'table':
            return dict2table(data)
        return dict2dl(data)
    if isinstance(data, (str, unicode)) and '\033[' in data:
        from utils import system_call
        return system_call("echo '%s' | aha" % data, 1)

    return p(data)
コード例 #14
0
ファイル: report.py プロジェクト: jzlink/library
    def buildDetail(self, book_id):
        '''Static table to view book details'''

        where = 'book.book_id =' + str(book_id)
        bookData = self.query.getData('record', where)

        detailTable = HtmlTable(border=1, cellpadding=3)
        detailTable.addHeader(['Field', 'Entry'])

        for column, display in self.display_names:
            for rec in bookData:
                if rec[column]:
                    data = rec[column]
                else:
                    data = '-'
            detailTable.addRow([display, data])                 

        return detailTable.getTable()
コード例 #15
0
ファイル: htmlify.py プロジェクト: dlink/vweb
def htmlify(data, type='table'):
    if isinstance(data, list):
        table = HtmlTable(cellpadding=2)
        for row in data:
            if isinstance(row, list):
                for i, col in enumerate(row):
                    if isinstance(col, list):
                        row[i] = ', '.join(str(c) for c in col)
                table.addRow(row)
            else:
                table.addRow([str(row)])
        return table.getTable()
    if isinstance(data, dict):
        if type == 'table':
            return dict2table(data)
        return dict2dl(data)
    if isinstance(data, (str, unicode)) and '\033[' in data:
        from utils import system_call
        return system_call("echo '%s' | aha" % data, 1)

    return p(data)
コード例 #16
0
ファイル: report_0.py プロジェクト: jzlink/library
    def buildBookForm(self, book_id= None):
        '''dynamic composite table. made of three parts:
        the book form which has all form elements for all elements related to
        the book except the date, and author which a book has a many:many 
        relationship with. 
        Date is a sperate form (INACTIVE currently)
        Author has two parts: the edit author table holds all author
        information, eventually removing authors will be enabled. It has a 
        sub table of add author.
        Accepts a book id, finds relevant data, calls helper methods.
        Returns composite table of all above sub-parts.
        '''

        if self.report == 'edit' and book_id != None:
            where = 'book.book_id =' + str(book_id)
            bookData = self.query.getData('edit', where)

        bookTable = HtmlTable(border=1, cellpadding=3)
        bookTable.addHeader(['Field', 'Entry'])

        for column, display in self.display_names:
            form_type = self.columns[column][0]['form_type']

            if self.report == 'edit':
                default = bookData[0][column]
            else:
                default = None

            if column == 'author' or column == 'when_read':
                pass
            
            else:
                #use general methods to build forms
                if form_type == 'text':
                    if default == None:
                        default = ''
                        
                    form_field = self.forms.getTextField(column, default)

                elif form_type == 'drop_down':
                    #pull in the values from the home table to make a 
                    #list of options

                    options = self.query.getColumnValues(column)

                    form_field = \
                        self.forms.getDropDown(column, default, options)

                elif form_type == 'radio_static':
                    if default == None and column == 'published':
                        default = 1

                    options = self.columns[column][0]['radio_options']

                    form_field =\
                        self.forms.getStaticRadio(column, default, options)
 
                elif form_type == 'datepicker':
                    if default == None:
                        default = ''

                    form_field =\
                        self.forms.getJQueryUI(column, default, form_type)

                elif form_type == 'autocomplete':
                    if default == None:
                        default = ''

                    form_field =\
                        self.forms.getAutoComplete(column, default)

                else:
                    form_field = form_type

                bookTable.addRow([display, form_field])
                
        bookT = bookTable.getTable()

        if self.report == 'edit': 
            authorT, authorF= self.buildEditAuthor(book_id)
            dateT = self.buildEditDate(book_id)
        else:
            authorT = self.buildAddAuthor()
            dateT = self.buildAddDate()

        subTables = HtmlTable(border=0, cellpadding = 20)
        subTables.addRow([authorT])
        subTables.addRow([authorF])
        subTables.addRow([dateT])
        subT = subTables.getTable()

        editModules = HtmlTable(border=0, cellpadding=30)
        editModules.addRow([bookT, subT])

        return editModules.getTable()
コード例 #17
0
def dict2table(data):
    table = HtmlTable()
    for k, v in sorted(data.items()):
        table.addRow([k or "&nbsp;", str(v)])
    return table.getTable()
コード例 #18
0
ファイル: detail5.py プロジェクト: jzlink/library
else:
    header = 'Book Record' 

html_header= '''
   <html>
   <h3>%s</h3>
   '''%header

#build form_header
form_header = '''
    <form method = "POST" action = "detail.py" name = "form">
'''

#bulid report using metadata. Vary on activity
table = HtmlTable(border=1, cellpadding=3)
table.addHeader(['Field', 'Entry'])

loadyaml = LoadYaml()
columns = loadyaml.loadYaml('columns')
pages = loadyaml.loadYaml('pages')

query = Query()
where = 'book.book_id =' + book_id

if activity == 'view':
    page = 'record'
if activity == 'edit':
    page = 'edit'

results = query.getData(page, where)
コード例 #19
0
ファイル: main3.py プロジェクト: jzlink/library
       onclick="javascript:document.form1.term.value=''; 
                document.form1.submit();"/>
<input type='hidden' name='order_by' value='%s'/>
</form>""" % (term, order_by)

if term:
    print 'Search term is %s' %term
    

### TABLE OF BOOKS

books = Books()
results = books.retrieveCoreData(term, order_by)

# build html table
table = HtmlTable(border=1, cellpadding=3)

# table header
header = ['#']
for field, name in [['title'    , 'Title'],
                    ['author'   , 'Author'],
                    ['notes'    , 'Notes'],
                    ['when_read', 'Date']]:
    sortflag =''
    if field == order_by:
        sortflag = ' ^'
    js =  "document.form1.order_by.value='%s';" % field
    js += "document.form1.submit();"
    h = '<a onclick="javascript:%s">%s%s</a>' % (js, name, sortflag)
    header.append(h)
table.addHeader(header)
コード例 #20
0
    def POST(self):
        TableBase = HtmlTable(['Admin'])
        TableFreeSessionView = HtmlTable(
            ['# Active Sessions', '# Available Sessions for New Connections'])
        SessCount = webInsMgr.GetCurrentCount()
        TableFreeSessionView.AddRow(
            [SessCount, webInsMgr.MaxInstances - SessCount])
        TableManageSessions = HtmlTable(
            ['Session Number', 'Last Active Time', 'Action'])
        TableManageServer = HtmlTable(['Restart Manager', 'Restart Server'])
        ManagerActionForm = form.Form(
            form.Button('RestartMan',
                        type="submit",
                        value='restart_man',
                        id="submit"))
        ServerActionForm = form.Form(
            form.Button('RestartSer',
                        type="submit",
                        value='restart_ser',
                        id="submit"))
        TableManageServer.AddRow([
            render2.Admin(ManagerActionForm),
            render2.Admin(ServerActionForm)
        ])
        SessionTrack = {}

        to_clean = []

        for session in webInsMgr.InstanceList:
            ActionForm = form.Form(
                form.Button('kill: %d' % (session), value=session,
                            id="submit"))
            SessionIns = ActionForm()
            SessionTrack[session] = SessionIns
            if SessionTrack[session].validates():
                for item in SessionTrack[session].d:
                    if not SessionTrack[session].d[item] == None:
                        to_clean.append(int(SessionTrack[session].d[item]))
                pass
            else:
                pass
        for clean_up_item in to_clean:
            webInsMgr.CleanUpSession(clean_up_item)
        for session in webInsMgr.InstanceList:
            TableManageSessions.AddRow([
                session, webInsMgr.InstanceList[session].LastAccessTime,
                render2.Admin(SessionTrack[session])
            ])

        for Table in [
                TableFreeSessionView, TableManageSessions, TableManageServer
        ]:
            TableBase.AddRow([Table])

        Manager = ManagerActionForm()
        Server = ServerActionForm()
        if not Manager.validates() or not Server.validates():
            return render2.AdminBase(TableBase.GetFormattedHtml())
        else:
            print(Manager.d)
            print(Server.d)

            for item in Manager.d:
                if not Manager.d[item] == None:
                    print("Restart Manager called")
                    webInsMgr.RestartManager()
                    webInsMgr.CleanCache()
            for item in Server.d:
                if not Server.d[item] == None:
                    import os
                    os.system(
                        'echo place-holder for restart of ignition service')

            TableBase = HtmlTable(['Admin'])
            TableFreeSessionView = HtmlTable([
                '# Active Sessions', '# Available Sessions for New Connections'
            ])
            SessCount = webInsMgr.GetCurrentCount()
            TableFreeSessionView.AddRow(
                [SessCount, webInsMgr.MaxInstances - SessCount])
            TableManageSessions = HtmlTable(
                ['Session Number', 'Last Active Time', 'Action'])
            TableManageServer = HtmlTable(
                ['Restart Manager', 'Restart Server'])
            ManagerActionForm = form.Form(
                form.Button('RestartMan',
                            type="submit",
                            value='restart_man',
                            id="submit"))
            ServerActionForm = form.Form(
                form.Button('RestartSer',
                            type="submit",
                            value='restart_ser',
                            id="submit"))
            TableManageServer.AddRow([
                render2.Admin(ManagerActionForm),
                render2.Admin(ServerActionForm)
            ])
            SessionTrack = {}
            for session in webInsMgr.InstanceList:
                ActionForm = form.Form(
                    form.Button('kill: %d' % (session),
                                value=session,
                                id="submit"))
                SessionIns = ActionForm()
                SessionTrack[session] = SessionIns
                TableManageSessions.AddRow([
                    session, webInsMgr.InstanceList[session].LastAccessTime,
                    render2.Admin(SessionTrack[session])
                ])
            for Table in [
                    TableFreeSessionView, TableManageSessions,
                    TableManageServer
            ]:
                TableBase.AddRow([Table])

            return render2.AdminBase(TableBase.GetFormattedHtml())
コード例 #21
0
ファイル: htmlify.py プロジェクト: dlink/vweb
def dict2table(data):
    table = HtmlTable()
    for k, v in sorted(data.items()):
        table.addRow([k or "&nbsp;", str(v)])
    return table.getTable()
コード例 #22
0
ファイル: report.py プロジェクト: jzlink/library
    def buildBookForm(self, bookData):
        '''Accepts bookData, which may be blank. 
        Builds book form. If bookData !None pre-populates form with default
        values from bookData.
        returns book form HTML table
        '''
        #initialze book from table
        bookForm = HtmlTable(border=1, cellpadding=3)
        bookForm.addHeader(['Field', 'Entry'])

        #loop through display names (the ordered list of column names)
        #for each: determine the default value and form type
        for column, display in self.display_names:
            form_type = self.columns[column][0]['form_type']

            if self.report == 'edit' and bookData !=None:
                default = bookData[0][column]
            else:
                default = None

            #buld a form field of the correct type
            if form_type == 'text':
                if default == None:
                    default = ''
                form_field = self.forms.getTextField(column, default)

            elif form_type == 'drop_down':
                #pull in the values from the home table to make a 
                #list of options
                options = self.query.getColumnValues(column)
                form_field = self.forms.getDropDown(column, default, options)

            elif form_type == 'radio_static':
                if default == None and column == 'published':
                    default = 1

                #pull in status radio options from metadata
                options = self.columns[column][0]['radio_options']
                form_field =self.forms.getStaticRadio(column, default, options)
 
            elif form_type == 'datepicker':
                if default == None:
                    default = ''

                form_field = self.forms.getJQueryUI(column, default, form_type)

            elif form_type == 'autocomplete':
                if default == None:
                    default = ''

                form_field =self.forms.getAutoComplete(column, default)

            else:
                #debug feature that will make a cell in the table declare
                #what form type it thinks it should be if the form type is not
                #found above
                form_field = form_type

            #add the display name and form field as a new row in the book form
            bookForm.addRow([display, form_field])
                
        return bookForm.getTable()
コード例 #23
0
ファイル: main2.py プロジェクト: jzlink/library
from books import Books
from htmltable import HtmlTable
from utils import date2str

# process form inputs
form = cgi.FieldStorage()
term = form.getvalue('term', '')
clear= form.getvalue('clear')
order_by= form.getvalue('order_by', '')

# build report body:
books = Books()
results = books.retrieveCoreData(term, order_by)

# build html table
table = HtmlTable(border=1, cellpadding=3)

# table header
header = ['#',
          '<a href= "main2.py?order_by=title">Title</a>',
          '<a href= "main2.py?order_by=author">Author</a>',
          '<a href= "main2.py?order_by=notes">Notes</a>',
          '<a href= "main2.py?order_by=when_read">Date</a>']
table.addHeader(header)

# table body
i = 0
for (book_id, title, author, notes, when_read) in results:
    i += 1
    href = '<a href="detail.py?book_id=%d">%s' % (book_id, title)
    date = '<nobr>%s</nobr>' % date2str(when_read)
コード例 #24
0
ファイル: detail3.py プロジェクト: jzlink/library
   <h3>%s</h3>
   '''%header

#build debug_section
debug_section =  'Book ID = %s' % (book_id)
if title:
    debug_section  = debug_section + ' Title = %s' %title


#build form_header
form_header = '''
    <form method = "POST" action = "detail.py" name = "form">
'''

#bulid report
table = HtmlTable(border=1, cellpadding=3)
table.addHeader(['Field', 'Value'])

if activity == 'edit':
    for key, value in results.data.items():   
        form_field='''
        <input type = 'text' name = '%s' value = '%s' size = '100'> 
        ''' % (key, value)
        table.addRow([key, form_field])

else:
    print results


#report = table.getTable()
        
コード例 #25
0
ファイル: detail4.py プロジェクト: jzlink/library
    % header
)

# build debug_section
debug_section = "Activity = %s Book ID = %s" % (activity, book_id)
if title:
    debug_section = debug_section + " Title = %s" % title


# build form_header
form_header = """
    <form method = "POST" action = "detail.py" name = "form">
"""

# bulid report
table = HtmlTable(border=1, cellpadding=3)
table.addHeader(["Field", "Value"])

if activity == "edit":
    for key, value in book.data.items():
        form_field = """
        <input type = 'text' name = '%s' value = '%s' size = '100'> 
        """ % (
            key,
            value,
        )
        table.addRow([key, form_field])

else:
    for key, value in book.data.items():
        string_value = "%s" % value
コード例 #26
0
ファイル: websession.py プロジェクト: codemation/py-k8s
    def GetAdminTableOutput(self):
        #self.Logger.addLog("AddInstance called")
        TableBase = HtmlTable(['Admin'])
        TableFreeSessionView = HtmlTable(
            ['# Active Sessions', '# Available Sessions for New Connections'])
        SessCount = self.GetCurrentCount()
        TableFreeSessionView.AddRow([SessCount, self.MaxInstances - SessCount])
        TableManageSessions = HtmlTable(
            ['Session Number', 'Last Active Time', 'Action'])
        TableManageServer = HtmlTable(['Restart Manager', 'Restart Server'])
        ManagerActionForm = form.Form(
            form.Button('RestartMan',
                        type="submit",
                        value='restart_man',
                        id="submit"))
        ServerActionForm = form.Form(
            form.Button('RestartSer',
                        type="submit",
                        value='restart_ser',
                        id="submit"))
        TableManageServer.AddRow([
            render2.Admin(ManagerActionForm),
            render2.Admin(ServerActionForm)
        ])
        SessionTrack = {}
        for session in self.InstanceList:
            ActionForm = form.Form(
                form.Button('kill: %d' % (session), value=session,
                            id="submit"))
            SessionIns = ActionForm()
            SessionTrack[session] = SessionIns
            TableManageSessions.AddRow([
                session, self.InstanceList[session].LastAccessTime,
                render2.Admin(SessionTrack[session])
            ])
        for Table in [
                TableFreeSessionView, TableManageSessions, TableManageServer
        ]:
            TableBase.AddRow([Table])

        return TableBase.GetFormattedHtml()
コード例 #27
0
    def my_database(self,
                    c_code="",
                    c_title="",
                    c_level="",
                    c_unit="",
                    c_score="",
                    edit="",
                    delete="",
                    option=""):
        dbase = Model()
        grades = GradeGenerator()

        users = dbase.view_user()
        my_link = dbase.view_user()[0]
        if my_link[3] == "UG":
            user_cat = "Undergraduate"
        else:
            user_cat = "Postgraduate"

        dbase_content = dbase.view_user_database()

        if dbase_content == []:
            if c_code == "" and c_level == "" and c_unit == "" and c_score == "":
                all_contents = "<section class=\"mt-3\"><p class=\"text-center text-info\">Your Courses are not available yet for calculating your CGPA</p></section>"
            else:
                c_grade = grades.generate_4_points(c_score)
                dbase.insert_user_database(c_code, c_title, c_level, c_unit,
                                           c_score, c_grade)
                all_contents = "<section class=\"mt-3\"><p class=\"text-center text-success\">Your Database has been initialized. Click \"View Updated Courses\" to continue.</p></section>"
        elif dbase_content != []:

            dbase_general_summary = dbase.general_summary()[0]
            tcourses = dbase_general_summary[0]
            tunits = dbase_general_summary[1]
            tcgpa = round(dbase_general_summary[2] / tunits, 2)

            #BREAKDOWN
            dbase_breakdown_summary = dbase.breakdown_summary()
            if dbase_breakdown_summary == []:
                display_breakdown_summary = ""
            else:
                display_all_summary = []
                for eachsummary in dbase_breakdown_summary:
                    tgpa = round(eachsummary[3] / eachsummary[2], 2)
                    eachline = "<label><strong>" + str(
                        eachsummary[0]
                    ) + " Level</strong><br/> Courses <span><em>" + str(
                        eachsummary[1]
                    ) + "</em></span>, Total Units: <span><em>" + str(
                        eachsummary[2]
                    ) + "</em></span>, GPA: <span><em><strong>" + str(
                        tgpa) + "</strong></em></span></label><br/>"
                    display_all_summary.append(eachline)

                display_breakdown_summary_inner = "".join(display_all_summary)
                display_breakdown_summary = """
    <label><strong><u>CATEGORY</u></strong></label>: %s<br/>
    <label><strong><u>BREAKDOWN</u></strong></label><br/>
    %s
                """ % (user_cat, display_breakdown_summary_inner)

                if my_link[3] == "UG":
                    designate = grades.grade_scale_4_points(tcgpa)
                else:
                    designate = grades.grade_scale_msc_points(tcgpa)

            go = HtmlTable()
            go.add_headers([
                "Course Code", "Course Title", "Course Level", "Course Unit",
                "Course Score", "Course Grade"
            ])
            go.add_rows(dbase_content)
            all_table = go.show_table()

            if c_code == "" and c_level == "" and c_unit == "" and c_score == "" and edit == "" and delete == "" and option == "":
                all_contents = self.display.database_summary(
                    display_breakdown_summary, tcourses, tunits, tcgpa,
                    designate, all_table)
            elif c_code != "" and c_level != "" and c_unit != "" and c_score != "" and edit == "" and delete == "" and option == "":
                try:
                    c_grade = grades.generate_4_points(c_score)
                    dbase.insert_user_database(c_code, c_title, c_level,
                                               c_unit, c_score, c_grade)
                except Exception as e:
                    double_entry_error = """
                    <section class="text-center col-sm-8 mt-2 mx-auto">
                        <label class="text-danger">Double Entry Error: Your Database already has a course with the code %s</label><br/>
                        <labe><a href=\"my_database\" class=\"btn btn-info w-50\">Bact to my Database</a></label>
                    </section>
                    """ % (c_code)
                    all_contents = double_entry_error
                else:
                    all_contents = self.display.database_summary(
                        display_breakdown_summary, tcourses, tunits, tcgpa,
                        designate, all_table)
            elif c_code == "" and c_level == "" and c_unit == "" and c_score == "" and edit != "" and delete == "" and option == "off":
                one_course = dbase.select_user_course(edit)[0]
                edit_content = """<h3 class=\"display-5 d-inline-block w-75\"><i class="fas fa-edit"></i>Editing a Course</h3><a href=\"my_database\" class=\"btn btn-info w-25\"><i class="fas fa-backward"></i>Back</a>
                <section class="col-sm-6 mt-2 mx-auto">
                    <form action="my_database?edit=%s&option=on" method="post">
                      <section>
                        <section class="form-group">
                          <label for="c_code">Course Code: <sup class="text-danger">*</sup></label>
                          <input type="text" name="c_code" class="form-control form-control-lg" value="%s" required>
                        </section>
                        <section class="form-group">
                          <label for="c_title">Course Title: </label>
                          <input type="text" name="c_title" class="form-control form-control-lg" value="%s">
                        </section>
                        <section class="form-group">
                          <label for="c_level">Course Level: </label>
                          <input type="number" name="c_level" class="form-control form-control-lg" value="%s" maxlength="3" required>
                        </section>
                        <section class="form-group">
                          <label for="c_unit">Course Unit: <sup class="text-danger">*</sup></label>
                          <input type="number" name="c_unit" class="form-control form-control-lg" value="%s" maxlength="1" required>
                          <span class="invalid-feedback"></span>
                        </section>
                        <section class="form-group">
                          <label for="c_score">My Score: <sup class="text-danger">*</sup></label>
                          <input type="number" name="c_score" class="form-control form-control-lg" value="%s" maxlength="3" required>
                          <span class="invalid-feedback"></span>
                        </section>
                      </section>

                          <input type="submit" value="Update Course in My Database" class="btn btn-warning btn-block">
                      </section>
                    </form>
                </section>
                """ % (one_course[1], one_course[1], one_course[2],
                       one_course[3], one_course[4], one_course[5])
                all_contents = self.display.database_summary(
                    display_breakdown_summary, tcourses, tunits, tcgpa,
                    designate, edit_content)
            elif c_code != "" and c_level != "" and c_unit != "" and c_score != "" and edit != "" and delete == "" and option == "on":
                #EDITING A COURSE
                course_id = dbase.select_user_course(edit)[0][0]
                upc_grade = grades.generate_4_points(c_score)
                dbase.update_user_database(course_id, c_code, c_title, c_level,
                                           c_unit, c_score, upc_grade)
                edit_content = """<h3 class=\"display-5 d-inline-block w-75\">Editing a Course</h3><a href=\"my_database\" class=\"btn btn-info w-25\">My Database</a>
                <section class="col-sm-6 mt-2 mx-auto">
                    <label class="text-success">Course Updated Successfully!!!</label>
                </section>
                """
                all_contents = self.display.database_summary(
                    display_breakdown_summary, tcourses, tunits, tcgpa,
                    designate, edit_content)
            elif c_code == "" and c_level == "" and c_unit == "" and c_score == "" and edit == "" and delete != "" and option == "off":
                #DISPLAY COURSE TO DELETE
                one_course = dbase.select_user_course(delete)[0]
                delete_content = """
                <h3 class=\"display-5 d-inline-block w-75\"><i class="fas fa-trash-alt"></i>Deleting a Course</h3><a href=\"my_database\" class=\"btn btn-info w-25\"><i class="fas fa-backward"></i>Back</a>
                <section class="col-sm-6 mt-2 mx-auto">
                    <label>Course Title: %s</label><br/>
                    <label>Course Code: %s</label><br/>
                    <label>Course Level: %s</label><br/>
                    <label>Course Units: %s</label><br/>
                    <label>Course Score: %s</label><br/>
                    <a href=\"?delete=%s&option=on\" class="btn btn-warning">Delete This Course</a>
                </section>
                """ % (one_course[2], one_course[1], one_course[3],
                       one_course[4], one_course[5], one_course[1])
                all_contents = self.display.database_summary(
                    display_breakdown_summary, tcourses, tunits, tcgpa,
                    designate, delete_content)
            elif c_code == "" and c_level == "" and c_unit == "" and c_score == "" and edit == "" and delete != "" and option == "on":
                #DELETING COURSE
                dbase.delete_user_database(delete)
                delete_content = """<h3 class=\"display-5 d-inline-block w-75\">Deleting a Course</h3><a href=\"my_database\" class=\"btn btn-info w-25\">My Database</a>
                <section class="col-sm-6 mt-2 mx-auto">
                    <label class="text-success">Course Deleted Successfully!!!</label>
                </section>
                """
                all_contents = self.display.database_summary(
                    display_breakdown_summary, tcourses, tunits, tcgpa,
                    designate, delete_content)

        return self.display.page_open(), self.display.page_nav(
            my_link[2]), self.display.database_form(
            ), all_contents, self.display.page_close()
コード例 #28
0
def GetHtmlOut(session, formMgr, tableName, table):
    BaseTb = HtmlTable([tableName], tableName + '_base')
    xyTable = HtmlTable(['X', 'Y'], tableName + '_data')
    for xOrY in table:
        xyTable.AddRow([xOrY[0], xOrY[1]])
    xyAddToTable = HtmlTable(['Add To Table'], '%s_addTb' % (tableName))
    testTextBox = GlobalFormMgr.GetTextBox('noSession', 'xAddTb', '')
    testTextBox2 = GlobalFormMgr.GetTextBox('noSession', 'yAddTb', '')
    testButton1 = GlobalFormMgr.GetButton('noSession', 'submit', tableName,
                                          tableName + '_base', tableName)
    testButton2 = GlobalFormMgr.GetButton('noSession', 'delete', tableName,
                                          tableName + '_base', tableName)
    #RenderedForm = GlobalFormMgr.GetRenderedForm('noSession', [testTextBox,testTextBox2, testButton1, testButton2], tableName,'/getposttest/', 'POST', True)
    InputTable = HtmlTable(
        [testTextBox, testTextBox2,
         HtmlTable([testButton1, testButton2])], tableName, '/getposttest/',
        'POST')
    xyAddToTable.AddRow([InputTable])
    BaseTb.AddRow([xyTable])
    BaseTb.AddRow([xyAddToTable])
    return BaseTb.GetFormattedHtml()