Example #1
0
def formQuizStart(relation, fds, mvds):
    inputString = "<div class=\"well\">Du hast folgendes eingegeben:</div>"
    if DBnormalizer.longAttributeNamesUsed():
        inputString = inputString = inputString + views.inputToString(
            relation, fds, mvds)
        inputString = inputString + "<div class=\"well\">Dass du gleich nicht so viel tippen musst, machen wir daraus mal das hier:</div>"
    DBnormalizer.resetDictionaries()
    inputString = inputString + views.inputToString(relation, fds, mvds)
    relationString = views.setOfAttributesToString(relation)
    fdsString = views.fdsToString(fds) + views.mvdsToString(mvds)
    html = """<form class="form" action="quiz.py" method="POST">"""
    html = html + "<p>Willkommen beim Quiz.</p>"
    html = html + """<input type="hidden" value="
""" + relationString + """" name="relation"></input>
		<input type="hidden" value="
""" + fdsString + """" name="fds"></input>
		<div class="row">
		<div class="col-xs-2 pull-right">
		<br/>
		<button id="step" name="step" type="submit" class="btn btn-primary" value="1">Start</button>
		</div>
		</div>
		</form>
	"""
    return views.getJumbotron("Hallo.", html) + inputString
Example #2
0
def setOfAttributesToString(attributes, key=None):
    setOfAttributesString = ""
    delimiter = ""
    for i, attr in enumerate(sortSet(attributes)):
        if attr != DBnormalizer.EMPTY_SET:
            if key is not None and attr in key:
                underlineAttribute = True
            else:
                underlineAttribute = False

            if DBnormalizer.longAttributeNamesUsed():
                attr = DBnormalizer.dictionaryReplToName[attr]
                if i < len(attributes) - 1:
                    delimiter = ", "
                else:
                    delimiter = ""
            elif len(attr) > 1:
                #fun mode
                if DBnormalizer.EMPTY_SET in attributes:
                    offset = 2
                else:
                    offset = 1
                if i < len(attributes) - offset:
                    delimiter = ", "
                else:
                    delimiter = ""

            setOfAttributesString = setOfAttributesString + underlineString(
                attr, underlineAttribute) + delimiter
    return setOfAttributesString
Example #3
0
def synthesealgorithmToString(algorithmResult, satisfiedNormalForms):
    if DBnormalizer.longAttributeNamesUsed():
        numberOfColumns = 2
    else:
        numberOfColumns = 4

    if satisfiedNormalForms[2]:
        #original schema was already in 3NF. Let the user know this
        info = infoNFwasAlreadySatisfied("3NF")
    else:
        info = ""

    resultString = getPanelHeading("synthese", False,
                                   info) + """<div class="row">"""
    resultString = resultString + wrapInPanel(
        "<span class='badge'>1</span> Kanonische Überdeckung",
        fdsToHtmlString(algorithmResult[0]), numberOfColumns)
    resultString = resultString + wrapInPanel(
        "<span class='badge'>2</span> Relationsschemata formen",
        schemaToString(algorithmResult[1][0], algorithmResult[1][1]),
        numberOfColumns)
    resultString = resultString + wrapInPanel(
        "<span class='badge'>3</span> Schlüssel hinzufügen",
        schemaToString(algorithmResult[2][0], algorithmResult[2][1]),
        numberOfColumns)
    resultString = resultString + wrapInPanel(
        "<span class='badge'>4</span> Redundante Schemata eliminieren",
        "<strong>" +
        schemaToString(algorithmResult[3][0], algorithmResult[3][1]) +
        "</strong>", numberOfColumns)
    resultString = resultString + """</div>"""
    return resultString
Example #4
0
def setOfAttributesToString(attributes, key=None):
	setOfAttributesString=""
	delimiter=""
	for i,attr in enumerate(sortSet(attributes)):
		if attr != DBnormalizer.EMPTY_SET:
			if key is not None and attr in key:
				underlineAttribute=True
			else:
				underlineAttribute=False

			if DBnormalizer.longAttributeNamesUsed():
				attr = DBnormalizer.dictionaryReplToName[attr]
				if i < len(attributes)-1:
					delimiter=", "
				else:
					delimiter=""
			elif len(attr)>1:
				#fun mode
				if DBnormalizer.EMPTY_SET in attributes:
					offset = 2
				else:
					offset=1
				if i < len(attributes)-offset :
					delimiter=", "
				else:
					delimiter=""

			setOfAttributesString = setOfAttributesString + underlineString(attr, underlineAttribute) + delimiter
	return setOfAttributesString
Example #5
0
def canonicalCoverToString(algorithmResult):
	if DBnormalizer.longAttributeNamesUsed():
		numberOfColumns = 2
	else:
		numberOfColumns = 4
	resultString = getPanelHeading("canonicalCover",False)+"""<div class="row">"""
	resultString =  resultString+wrapInPanel("<span class='badge'>1</span> Linksreduktion", fdsToHtmlString(algorithmResult[0]),numberOfColumns)
	resultString =  resultString+wrapInPanel("<span class='badge'>2</span> Rechtsreduktion", fdsToHtmlString(algorithmResult[1]),numberOfColumns)
	resultString =  resultString+wrapInPanel("<span class='badge'>3</span> &#x3b1;&rarr;&empty; entfernen", fdsToHtmlString(algorithmResult[2]),numberOfColumns)
	resultString =  resultString+wrapInPanel("<span class='badge'>4</span> FDs zusammenfassen", "<strong>"+fdsToHtmlString(algorithmResult[3])+"</strong>",numberOfColumns)
	resultString =  resultString + """</div>"""
	return resultString
Example #6
0
def synthesealgorithmToString(algorithmResult, satisfiedNormalForms):
	if DBnormalizer.longAttributeNamesUsed():
		numberOfColumns = 2
	else:
		numberOfColumns = 4

	if satisfiedNormalForms[2]:
		#original schema was already in 3NF. Let the user know this
		info = infoNFwasAlreadySatisfied("3NF")
	else:
		info = ""

	resultString = getPanelHeading("synthese",False,info)+"""<div class="row">"""
	resultString =  resultString+wrapInPanel("<span class='badge'>1</span> Kanonische Überdeckung", fdsToHtmlString(algorithmResult[0]),numberOfColumns)
	resultString =  resultString+wrapInPanel("<span class='badge'>2</span> Relationsschemata formen", schemaToString(algorithmResult[1][0], algorithmResult[1][1]),numberOfColumns)
	resultString =  resultString+wrapInPanel("<span class='badge'>3</span> Schlüssel hinzufügen", schemaToString(algorithmResult[2][0], algorithmResult[2][1]),numberOfColumns)
	resultString =  resultString+wrapInPanel("<span class='badge'>4</span> Redundante Schemata eliminieren",  "<strong>"+schemaToString(algorithmResult[3][0], algorithmResult[3][1])+"</strong>",numberOfColumns)
	resultString =  resultString + """</div>"""
	return resultString
Example #7
0
def canonicalCoverToString(algorithmResult):
    if DBnormalizer.longAttributeNamesUsed():
        numberOfColumns = 2
    else:
        numberOfColumns = 4
    resultString = getPanelHeading("canonicalCover",
                                   False) + """<div class="row">"""
    resultString = resultString + wrapInPanel(
        "<span class='badge'>1</span> Linksreduktion",
        fdsToHtmlString(algorithmResult[0]), numberOfColumns)
    resultString = resultString + wrapInPanel(
        "<span class='badge'>2</span> Rechtsreduktion",
        fdsToHtmlString(algorithmResult[1]), numberOfColumns)
    resultString = resultString + wrapInPanel(
        "<span class='badge'>3</span> &#x3b1;&rarr;&empty; entfernen",
        fdsToHtmlString(algorithmResult[2]), numberOfColumns)
    resultString = resultString + wrapInPanel(
        "<span class='badge'>4</span> FDs zusammenfassen", "<strong>" +
        fdsToHtmlString(algorithmResult[3]) + "</strong>", numberOfColumns)
    resultString = resultString + """</div>"""
    return resultString
Example #8
0
def formQuizStart(relation, fds, mvds):
	inputString ="<div class=\"well\">Du hast folgendes eingegeben:</div>"
	if DBnormalizer.longAttributeNamesUsed():
		inputString = inputString = inputString + views.inputToString(relation, fds,mvds)
		inputString = inputString + "<div class=\"well\">Dass du gleich nicht so viel tippen musst, machen wir daraus mal das hier:</div>"
	DBnormalizer.resetDictionaries()
	inputString = inputString +  views.inputToString(relation, fds,mvds)
	relationString = views.setOfAttributesToString(relation)
	fdsString = views.fdsToString(fds)+views.mvdsToString(mvds)
	html = """<form class="form" action="quiz.py" method="POST">"""
	html = html + "<p>Willkommen beim Quiz.</p>" 
	html = html + """<input type="hidden" value="
"""+relationString+"""" name="relation"></input>
		<input type="hidden" value="
"""+fdsString+"""" name="fds"></input>
		<div class="row">
		<div class="col-xs-2 pull-right">
		<br/>
		<button id="step" name="step" type="submit" class="btn btn-primary" value="1">Start</button>
		</div>
		</div>
		</form>
	"""
	return  views.getJumbotron("Hallo.", html ) + inputString